mirror of
https://gitlab.com/KevinRoebert/ClearUrls
synced 2025-12-16 06:05:37 +07:00
Compare commits
685 Commits
v1.3.3.17
...
3417caaa08
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3417caaa08 | ||
|
|
bef2dd5fe6 | ||
|
|
1baab2488c | ||
|
|
79770d2aab | ||
|
|
d8da43ac29 | ||
|
|
308a2f1579 | ||
|
|
d33a86ce3c | ||
|
|
0011b78509 | ||
|
|
36d8d89639 | ||
|
|
31559d2cdc | ||
|
|
c7c8eca037 | ||
|
|
085f037c98 | ||
|
|
31d295da8d | ||
|
|
4ead0482f2 | ||
|
|
7ea94a9799 | ||
|
|
1e74217a61 | ||
|
|
8b91d422ab | ||
|
|
08de228cc5 | ||
|
|
fcbe2abfdd | ||
|
|
81eb931e02 | ||
|
|
da90e259bb | ||
|
|
6a63859635 | ||
|
|
e86654ed29 | ||
|
|
deec80b763 | ||
|
|
7370e09fd7 | ||
|
|
99b96bcfce | ||
|
|
897c7dc67b | ||
|
|
dce06a7f47 | ||
|
|
92e43b7f61 | ||
|
|
14a0832973 | ||
|
|
7358f0c2a4 | ||
|
|
9f52c1e3c8 | ||
|
|
635be47e4c | ||
|
|
cf59acb9a8 | ||
|
|
04ff2e876b | ||
|
|
e672e8cc74 | ||
|
|
193b3c1299 | ||
|
|
29c8a84e4a | ||
|
|
a32708dcd1 | ||
|
|
f1056cd778 | ||
|
|
acfce04fcc | ||
|
|
dbdefbf434 | ||
|
|
848b000ab7 | ||
|
|
7cd0505a46 | ||
|
|
0d7381f02a | ||
|
|
0f08b0f7e3 | ||
|
|
2096fa8382 | ||
|
|
742a344a26 | ||
|
|
a930a94224 | ||
|
|
52fdc1db1c | ||
|
|
628faf0e85 | ||
|
|
89b2ba0a87 | ||
|
|
be3b1bd557 | ||
|
|
716566c20d | ||
|
|
441790c48f | ||
|
|
82d987a08e | ||
|
|
b67a656918 | ||
|
|
63b557cf8c | ||
|
|
6f5a182c77 | ||
|
|
173592e348 | ||
|
|
b41a3c963a | ||
|
|
93434d3bce | ||
|
|
42268bf215 | ||
|
|
d5cf6a5751 | ||
|
|
80b49fc699 | ||
|
|
53f1d41f18 | ||
|
|
4894c966dc | ||
|
|
2ee6508f86 | ||
|
|
d5dce95ba9 | ||
|
|
b2a9333611 | ||
|
|
f8d2852e71 | ||
|
|
a5e6f8cb9a | ||
|
|
34e3817f99 | ||
|
|
b43ae88342 | ||
|
|
c01d8625da | ||
|
|
737e09fba7 | ||
|
|
64990a6ca8 | ||
|
|
78e3e1b101 | ||
|
|
b7c721cff9 | ||
|
|
57779c1d52 | ||
|
|
47819fc6d7 | ||
|
|
8c21938620 | ||
|
|
24450e4eaa | ||
|
|
c136abc728 | ||
|
|
9561d2f356 | ||
|
|
4b3ffc6cb4 | ||
|
|
5cd40ad0b1 | ||
|
|
031695057a | ||
|
|
9de15e9bb0 | ||
|
|
9e7ce01866 | ||
|
|
6a8e81ee2a | ||
|
|
86a5513378 | ||
|
|
a677797b1c | ||
|
|
958f1e3515 | ||
|
|
7fdcd828f5 | ||
|
|
4d285e1848 | ||
|
|
e566f4c57a | ||
|
|
2d0452b8ae | ||
|
|
9c61d9d77a | ||
|
|
3b468fbdb7 | ||
|
|
623067733a | ||
|
|
d4c634b97d | ||
|
|
1b9abbc962 | ||
|
|
4eb5ba1fd3 | ||
|
|
2e927cf361 | ||
|
|
eb14197f3a | ||
|
|
483b50f803 | ||
|
|
643c5402a5 | ||
|
|
bd2bb726b5 | ||
|
|
c89e199ebe | ||
|
|
8be87c8598 | ||
|
|
1efc8b8975 | ||
|
|
77c07eea20 | ||
|
|
af61ff5953 | ||
|
|
2887a96309 | ||
|
|
2650f66d43 | ||
|
|
2483499af2 | ||
|
|
6c7d34c457 | ||
|
|
6617f4dda2 | ||
|
|
c42067080f | ||
|
|
7eefb66c41 | ||
|
|
141ca93989 | ||
|
|
98c895308c | ||
|
|
8a01af22c2 | ||
|
|
4daa5223e5 | ||
|
|
6c8f5d9fdd | ||
|
|
f471cc4875 | ||
|
|
2e7c4385ad | ||
|
|
db8b363b4a | ||
|
|
2a9728684f | ||
|
|
e80a919f29 | ||
|
|
f95cad8c63 | ||
|
|
3b33eb3c85 | ||
|
|
111e51a85f | ||
|
|
7ed8b97a14 | ||
|
|
92b3fd1ef1 | ||
|
|
1c426d2909 | ||
|
|
a8a0311c8b | ||
|
|
46385fd3bc | ||
|
|
0cf0f98653 | ||
|
|
5427212d86 | ||
|
|
41fbfaacc2 | ||
|
|
af773a78e1 | ||
|
|
1018e41556 | ||
|
|
353daa863d | ||
|
|
d2962376a9 | ||
|
|
2f36943a38 | ||
|
|
86b962a0b4 | ||
|
|
5f0ed3e9a6 | ||
|
|
4b7a64bd5a | ||
|
|
713c76af9c | ||
|
|
38c0d99f03 | ||
|
|
4c648b4555 | ||
|
|
d87ae26c75 | ||
|
|
91a1cdfcba | ||
|
|
17cc1d2689 | ||
|
|
4f6241842f | ||
|
|
700ca2f461 | ||
|
|
ebad8e4018 | ||
|
|
9ba19a9eb3 | ||
|
|
b8b197fdaa | ||
|
|
145022f5c4 | ||
|
|
300bfff542 | ||
|
|
3ec1e59066 | ||
|
|
5fff4f726e | ||
|
|
a0d2b681c1 | ||
|
|
b59b74f689 | ||
|
|
30499a1d3d | ||
|
|
0e983d021d | ||
|
|
646c0952a2 | ||
|
|
cde3271386 | ||
|
|
426631f739 | ||
|
|
204d8ac9b2 | ||
|
|
e8c4c346f8 | ||
|
|
6faa0040d4 | ||
|
|
7a2f4d0010 | ||
|
|
d502aa041f | ||
|
|
a433eb914d | ||
|
|
18cf9370a2 | ||
|
|
4d4d76d9b7 | ||
|
|
88eec7587e | ||
|
|
264482f617 | ||
|
|
d6ab6674e6 | ||
|
|
7c599e32b3 | ||
|
|
d8e14f21f1 | ||
|
|
e65179debc | ||
|
|
42c03899a2 | ||
|
|
a2ce6a59fc | ||
|
|
3bab4a288c | ||
|
|
717830f1d9 | ||
|
|
8a9a8f622e | ||
|
|
8ce85c04fe | ||
|
|
7633b6b3b4 | ||
|
|
5a8c8b22ee | ||
|
|
d2e90509a8 | ||
|
|
9392586e0d | ||
|
|
040bcdf589 | ||
|
|
c914e16dd4 | ||
|
|
0d3dfd72f6 | ||
|
|
32d1436a2f | ||
|
|
192cfadd9e | ||
|
|
48a2b965f5 | ||
|
|
294ead4841 | ||
|
|
2baadd06b3 | ||
|
|
9536d44cdf | ||
|
|
e0d990e818 | ||
|
|
1a3c866d7a | ||
|
|
649534dd14 | ||
|
|
c366866333 | ||
|
|
79467e1214 | ||
|
|
c92fe3409e | ||
|
|
89dcbc8a30 | ||
|
|
5e7e14c199 | ||
|
|
e9b18492ce | ||
|
|
5f45b4c99c | ||
|
|
4ac48dcd33 | ||
|
|
4336b5b68e | ||
|
|
5426c2b334 | ||
|
|
8fca221189 | ||
|
|
c226461bd7 | ||
|
|
4962658017 | ||
|
|
df75c5d363 | ||
|
|
5549fd3431 | ||
|
|
5644785ecc | ||
|
|
ee61cccd52 | ||
|
|
37e91f7eed | ||
|
|
841fd43fc4 | ||
|
|
32fb50a0c6 | ||
|
|
ef046b6478 | ||
|
|
005d2c33c8 | ||
|
|
6e3ff2247e | ||
|
|
606c51733f | ||
|
|
6430bcc124 | ||
|
|
e8264eefe8 | ||
|
|
79e54f8b5f | ||
|
|
b0c20ac780 | ||
|
|
ad64f98a28 | ||
|
|
2ffdf4d77b | ||
|
|
951d1c9f7b | ||
|
|
3a20e97354 | ||
|
|
b7e209bf15 | ||
|
|
0469156237 | ||
|
|
7ac9fe7d4d | ||
|
|
de876c0ff2 | ||
|
|
3ea3f347ba | ||
|
|
329c78ff88 | ||
|
|
a4d15ece2f | ||
|
|
c6ed12808b | ||
|
|
33452cff5d | ||
|
|
db5bd659f0 | ||
|
|
6c775b9bba | ||
|
|
47dfe256eb | ||
|
|
3bac289758 | ||
|
|
53035f6bb2 | ||
|
|
86fb5c469a | ||
|
|
f1086f8889 | ||
|
|
bf27040864 | ||
|
|
ca7df33fa3 | ||
|
|
e017a8838e | ||
|
|
1987634095 | ||
|
|
6e2d082eea | ||
|
|
fa3a33962b | ||
|
|
abaa5fe2c6 | ||
|
|
992cd351af | ||
|
|
6992302e23 | ||
|
|
bc2e2510e8 | ||
|
|
1ec5838a98 | ||
|
|
c7b1f85672 | ||
|
|
ac2d5da41c | ||
|
|
27af2c8c49 | ||
|
|
01a911557b | ||
|
|
54210b71c5 | ||
|
|
da5fb0b3c0 | ||
|
|
08b62c0d94 | ||
|
|
879fcdae03 | ||
|
|
762d83e46c | ||
|
|
ae30c0eb53 | ||
|
|
0acd24d716 | ||
|
|
22e58ba0e6 | ||
|
|
3ade08f344 | ||
|
|
ea256a8081 | ||
|
|
90ab42a510 | ||
|
|
c60e33d327 | ||
|
|
9f47a35318 | ||
|
|
e931674dfe | ||
|
|
ed87f72c75 | ||
|
|
ee2e544223 | ||
|
|
9aaf4718f3 | ||
|
|
bdca5d8659 | ||
|
|
caca49b712 | ||
|
|
4a1fad9a90 | ||
|
|
9fbf5a839a | ||
|
|
8b815c5f50 | ||
|
|
4370912baa | ||
|
|
201f3a9edb | ||
|
|
349c0a79ce | ||
|
|
d74d53c40d | ||
|
|
4030d9325b | ||
|
|
fbac0bd1a9 | ||
|
|
85ca03fdc0 | ||
|
|
0fc822a302 | ||
|
|
6cc57eae1a | ||
|
|
694cc4613a | ||
|
|
c81dbee1c7 | ||
|
|
3f707bfd3a | ||
|
|
9d62ddf1b0 | ||
|
|
1344fd8636 | ||
|
|
54915cf0de | ||
|
|
ab325759cd | ||
|
|
12f63e7f71 | ||
|
|
7bc3891072 | ||
|
|
9ff50c965d | ||
|
|
4014195da8 | ||
|
|
50aa5e5a73 | ||
|
|
4a571794dc | ||
|
|
23d13b0710 | ||
|
|
d060acae08 | ||
|
|
28dfe00ff7 | ||
|
|
5ee667eb92 | ||
|
|
fda7da7f13 | ||
|
|
578d4bc48d | ||
|
|
c7a1c40f9d | ||
|
|
57e6ed704f | ||
|
|
9ee55e6536 | ||
|
|
755db29738 | ||
|
|
66671aec68 | ||
|
|
c2f500e060 | ||
|
|
cfad3d2b23 | ||
|
|
6d27c8a906 | ||
|
|
ab19cfd714 | ||
|
|
c64cfbfe86 | ||
|
|
b70e0d4912 | ||
|
|
badc78a954 | ||
|
|
c0b7ad9b06 | ||
|
|
d984b512c0 | ||
|
|
d4ca4b0362 | ||
|
|
2878af17b6 | ||
|
|
86ef50ce91 | ||
|
|
9afb4fa167 | ||
|
|
6ee6591019 | ||
|
|
eb45b51bcb | ||
|
|
0298792aa1 | ||
|
|
b1a5b5fcb0 | ||
|
|
6ae8dd7d22 | ||
|
|
afdf172716 | ||
|
|
31d63fa777 | ||
|
|
59707d7918 | ||
|
|
f0bfe4c8dd | ||
|
|
975ce2fea5 | ||
|
|
0d5fd4b452 | ||
|
|
02a26d3231 | ||
|
|
88890b853a | ||
|
|
53fb25f43d | ||
|
|
3370985ee2 | ||
|
|
95fe7eb17d | ||
|
|
f7949e89f6 | ||
|
|
a44e13645c | ||
|
|
21cf8ec613 | ||
|
|
a8d50a102c | ||
|
|
e79039d210 | ||
|
|
019c2e64a3 | ||
|
|
aaa46b5e6a | ||
|
|
dd116ece8f | ||
|
|
b66b22f3e4 | ||
|
|
24bf821b59 | ||
|
|
6012329278 | ||
|
|
be3909f5c0 | ||
|
|
f1c6599638 | ||
|
|
9aaf7eeb2e | ||
|
|
4b2b528248 | ||
|
|
d28b81e97b | ||
|
|
6c7c5b18ac | ||
|
|
3f325201df | ||
|
|
5789640b75 | ||
|
|
f8b7a1740a | ||
|
|
2f45e18a89 | ||
|
|
081890759d | ||
|
|
7d655baab4 | ||
|
|
7972e24f4c | ||
|
|
b3ed752f02 | ||
|
|
93f81983f0 | ||
|
|
9cce46590a | ||
|
|
a554391183 | ||
|
|
e8ca631829 | ||
|
|
0447f9aa25 | ||
|
|
b605e3aa62 | ||
|
|
2fb7ddab10 | ||
|
|
523b52d34a | ||
|
|
6954ad2eef | ||
|
|
8d51e54237 | ||
|
|
f94f1a2064 | ||
|
|
e6370cc5fa | ||
|
|
193caa3ae0 | ||
|
|
e797c232f1 | ||
|
|
7043119985 | ||
|
|
27ad8953c6 | ||
|
|
51f7cf9464 | ||
|
|
ac9fc780f7 | ||
|
|
c37cae510f | ||
|
|
58b692ed39 | ||
|
|
ab948eab11 | ||
|
|
9b29d5e907 | ||
|
|
755af24b3e | ||
|
|
cb9b2dbdea | ||
|
|
04a3f745b2 | ||
|
|
5930376eb5 | ||
|
|
f06609d3e1 | ||
|
|
38ea5ed802 | ||
|
|
55cb9e8b39 | ||
|
|
73954b2d82 | ||
|
|
861cf554f5 | ||
|
|
c3ddf2a8d4 | ||
|
|
cf6fe59fbd | ||
|
|
cbdc108358 | ||
|
|
e4fdb6bca1 | ||
|
|
44a4334843 | ||
|
|
b472913c67 | ||
|
|
62fbf626ed | ||
|
|
ccdca3b595 | ||
|
|
0417469a26 | ||
|
|
50542fa6a3 | ||
|
|
08fe25dc0d | ||
|
|
ae32bcf21e | ||
|
|
b2ffb3293f | ||
|
|
d41ab7ff9d | ||
|
|
969385bc21 | ||
|
|
b8a1b4dadd | ||
|
|
5cfe99b753 | ||
|
|
392f3bc70a | ||
|
|
d10e041125 | ||
|
|
6eb8636149 | ||
|
|
fcb9f16b7a | ||
|
|
22426dfc24 | ||
|
|
f8fb9bf5ef | ||
|
|
c5e00dc5ef | ||
|
|
e5d226e374 | ||
|
|
3395a17c60 | ||
|
|
f7ed9fa1d8 | ||
|
|
66d6672178 | ||
|
|
80c29e7004 | ||
|
|
74aad21218 | ||
|
|
8115655a30 | ||
|
|
073b55ad74 | ||
|
|
51fe1bcac3 | ||
|
|
7c5f4c31d5 | ||
|
|
84c069331f | ||
|
|
deb7648d61 | ||
|
|
46cd3f21d0 | ||
|
|
26a5b0648f | ||
|
|
120239aa0d | ||
|
|
a96684b93a | ||
|
|
ecd5f82b77 | ||
|
|
a645b52db0 | ||
|
|
b016226750 | ||
|
|
80ebc5bffa | ||
|
|
468c2ac4ea | ||
|
|
82ce2d4d4f | ||
|
|
f752e8aaff | ||
|
|
bb4d543fc2 | ||
|
|
6eaf8726ee | ||
|
|
0668562306 | ||
|
|
722df04af0 | ||
|
|
aa728302a8 | ||
|
|
4a77447992 | ||
|
|
61712e77a2 | ||
|
|
61b911921e | ||
|
|
13c1bd774c | ||
|
|
0384a1a6cc | ||
|
|
cd6d7f2d09 | ||
|
|
b241428752 | ||
|
|
7b457e7e5e | ||
|
|
927f2d8d69 | ||
|
|
0c1fc0646e | ||
|
|
ef1b7fbd0e | ||
|
|
8342851d4e | ||
|
|
d52d8d75e2 | ||
|
|
dee6c21ad2 | ||
|
|
92d582b8d2 | ||
|
|
902605f8ee | ||
|
|
4d9b86178e | ||
|
|
d064537c07 | ||
|
|
9df322a49a | ||
|
|
99b86e7735 | ||
|
|
145e11deac | ||
|
|
4b5ad86c50 | ||
|
|
d7b0094052 | ||
|
|
ba7541c22e | ||
|
|
d689a7ce35 | ||
|
|
fd561a1490 | ||
|
|
8cffd42108 | ||
|
|
94bb289bfa | ||
|
|
a1b8f8eaaf | ||
|
|
600a4767d9 | ||
|
|
191fcfce23 | ||
|
|
1367284767 | ||
|
|
89f6e7ea2d | ||
|
|
ad3ab8df07 | ||
|
|
7ccd78ad39 | ||
|
|
1d061c4353 | ||
|
|
0b79d469ed | ||
|
|
abd61783d2 | ||
|
|
2b14d4f321 | ||
|
|
8f1bdbfc7a | ||
|
|
bfa5cb1f2f | ||
|
|
f6b5627eaf | ||
|
|
62d53b6f85 | ||
|
|
c4612b099b | ||
|
|
d5d6f58482 | ||
|
|
b26b6f9aec | ||
|
|
fe82c9ee1b | ||
|
|
7db112687e | ||
|
|
5341f27a16 | ||
|
|
589153f210 | ||
|
|
e159041600 | ||
|
|
7e78bed8cb | ||
|
|
a4a62b0d1e | ||
|
|
c2577c834f | ||
|
|
e0122600c3 | ||
|
|
b951cf1172 | ||
|
|
b0f1c85cd8 | ||
|
|
891723b7b9 | ||
|
|
6cdcfd099f | ||
|
|
afc7aa8740 | ||
|
|
e6cc434757 | ||
|
|
d7b2878428 | ||
|
|
fad7010f10 | ||
|
|
6ed708b94d | ||
|
|
d2ec7ce49e | ||
|
|
9029781974 | ||
|
|
5af81a7d49 | ||
|
|
5ae149509e | ||
|
|
9543d0f56f | ||
|
|
deaceaed24 | ||
|
|
246a916fb7 | ||
|
|
5622861cf3 | ||
|
|
cb7ccae737 | ||
|
|
2e9e6ac21f | ||
|
|
c2a092367a | ||
|
|
05f1442d96 | ||
|
|
4c43cf8149 | ||
|
|
962d484712 | ||
|
|
9289e6a276 | ||
|
|
8f64e8310c | ||
|
|
35ed991651 | ||
|
|
5d08bbbbad | ||
|
|
bea5543997 | ||
|
|
9537b181b8 | ||
|
|
291118d185 | ||
|
|
b75235f306 | ||
|
|
f4ad457047 | ||
|
|
0f1ade94a2 | ||
|
|
cd988ed24e | ||
|
|
5da65aed98 | ||
|
|
15daf50c71 | ||
|
|
dbe7c603f9 | ||
|
|
53de1eae53 | ||
|
|
a3d3818766 | ||
|
|
6c113d4ebd | ||
|
|
830cc055db | ||
|
|
ccd40c7df3 | ||
|
|
1a057e8494 | ||
|
|
2506dc6ebc | ||
|
|
44b0c043f8 | ||
|
|
f9289d9216 | ||
|
|
4d9e066781 | ||
|
|
fe8de86c73 | ||
|
|
89963b0d6d | ||
|
|
e3191eecb1 | ||
|
|
5c3b1f4880 | ||
|
|
a78256e52d | ||
|
|
bb516b81d8 | ||
|
|
a35ef95d66 | ||
|
|
836cfc74da | ||
|
|
4eddd4e594 | ||
|
|
4670cacc7d | ||
|
|
484b52319c | ||
|
|
ad404ae6f7 | ||
|
|
531ade1b05 | ||
|
|
f53ea156c0 | ||
|
|
3e2e75d38b | ||
|
|
c9f2deab11 | ||
|
|
8ca852476d | ||
|
|
1d6d36eb8c | ||
|
|
a8a5f7e311 | ||
|
|
929aa53aa1 | ||
|
|
aa2344b4cc | ||
|
|
7999077671 | ||
|
|
75275bad7e | ||
|
|
54d72e7865 | ||
|
|
61d285be99 | ||
|
|
217393ded8 | ||
|
|
91d46a7b70 | ||
|
|
ae139af5ea | ||
|
|
a41deb20d8 | ||
|
|
a76ecb17b3 | ||
|
|
dfebef07ac | ||
|
|
1b6cc37bdd | ||
|
|
cfd3bf5f43 | ||
|
|
a91b79aa18 | ||
|
|
4fc4018859 | ||
|
|
e87aa9d027 | ||
|
|
9b7dd7f9cb | ||
|
|
8b8ac33ed2 | ||
|
|
a67abc6bc6 | ||
|
|
c53a36999c | ||
|
|
1caeeb29ab | ||
|
|
0a948968b3 | ||
|
|
304cbe2e6b | ||
|
|
ed61dbdbaf | ||
|
|
2d1d81810e | ||
|
|
c9f3b3610d | ||
|
|
932511fbf8 | ||
|
|
28af5a8630 | ||
|
|
36300bf1c9 | ||
|
|
4f86852312 | ||
|
|
03e0580b20 | ||
|
|
869cd63e64 | ||
|
|
f69ae79adb | ||
|
|
cd6bb5d6f5 | ||
|
|
f02d36c6a7 | ||
|
|
f46daa7205 | ||
|
|
cc358744f2 | ||
|
|
df4e461102 | ||
|
|
9a6adad225 | ||
|
|
1e15c8a265 | ||
|
|
d87d88250d | ||
|
|
1175d0ff9d | ||
|
|
bfabe4ca98 | ||
|
|
80af6f6fea | ||
|
|
43a510efe7 | ||
|
|
2a158f6dd7 | ||
|
|
8f70a49bb2 | ||
|
|
6b2e79669c | ||
|
|
8231ade8a3 | ||
|
|
239ee17697 | ||
|
|
805ef75f7f | ||
|
|
4367f13f03 | ||
|
|
b9931f0d63 | ||
|
|
b87eaa4eea | ||
|
|
9c638c52f9 | ||
|
|
3480dd71c5 | ||
|
|
110fd19a07 | ||
|
|
3cc2d6d1a8 | ||
|
|
18cc61de0b | ||
|
|
6395335428 | ||
|
|
f2034a9b7e | ||
|
|
15ad222706 | ||
|
|
688026c408 | ||
|
|
8884674e36 | ||
|
|
81bc71de5e | ||
|
|
03cdcbb38a | ||
|
|
078b51de98 | ||
|
|
c39ead0a6d | ||
|
|
a57591cd0b | ||
|
|
8bee5b99f1 | ||
|
|
4321771762 | ||
|
|
32b525363a | ||
|
|
c6f66ec646 | ||
|
|
f139e628ab | ||
|
|
23e7fa4064 | ||
|
|
99ba98f909 | ||
|
|
126dc02e07 | ||
|
|
a8334e60fa | ||
|
|
0b3b1f7498 | ||
|
|
3fae440364 | ||
|
|
6b9f9a5ca1 | ||
|
|
2266cbb434 | ||
|
|
11abcf9783 | ||
|
|
d2d4b25f0b | ||
|
|
57de51eb53 | ||
|
|
ca6d0e037d | ||
|
|
f3c86db0b9 | ||
|
|
c7d0c63f79 | ||
|
|
06b84d7490 | ||
|
|
8c84fa865c | ||
|
|
30a8ac5c47 | ||
|
|
1754370ee5 | ||
|
|
bf6ef0049a | ||
|
|
bba11abc92 | ||
|
|
0dd713cbab | ||
|
|
e9cd5af088 | ||
|
|
2bf4a1e806 | ||
|
|
228015e640 | ||
|
|
7087935918 | ||
|
|
a4312f005c |
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
custom: ['https://www.paypal.me/KevinRoebert', 'https://www.buymeacoffee.com/KevinRoebert']# Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
39
.github/lockdown.yml
vendored
Normal file
39
.github/lockdown.yml
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# Configuration for Repo Lockdown - https://github.com/dessant/repo-lockdown
|
||||
|
||||
# Skip issues and pull requests created before a given timestamp. Timestamp must
|
||||
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
|
||||
#skipCreatedBefore: false
|
||||
|
||||
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
|
||||
#exemptLabels: []
|
||||
|
||||
# Comment to post before closing or locking. Set to `false` to disable
|
||||
#comment: true
|
||||
|
||||
# Label to add before closing or locking. Set to `false` to disable
|
||||
#label: true
|
||||
|
||||
# Close issues and pull requests
|
||||
#close: true
|
||||
|
||||
# Lock issues and pull requests
|
||||
#lock: true
|
||||
|
||||
# Limit to only `issues` or `pulls`
|
||||
#only: pulls
|
||||
|
||||
# Optionally, specify configuration settings just for `issues` or `pulls`
|
||||
issues:
|
||||
comment: >
|
||||
This repository is only a mirror of https://gitlab.com/KevinRoebert/ClearUrls. Issues are read here, but it can take longer until they are addressed. If possible, please use the GitLab repo or this support mail address: support (at) clearurls.xyz.
|
||||
lock: false
|
||||
close: false
|
||||
|
||||
pulls:
|
||||
comment: >
|
||||
This repository is just a mirror of https://gitlab.com/KevinRoebert/ClearUrls. Only there pull requests accepted.
|
||||
lock: false
|
||||
close: true
|
||||
|
||||
# Repository to extend settings from
|
||||
# _extends: repo
|
||||
20
.gitignore
vendored
Normal file
20
.gitignore
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
# See https://help.github.com/ignore-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
.env
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# WebStorm
|
||||
.idea/
|
||||
60
.gitlab-ci.yml
Normal file
60
.gitlab-ci.yml
Normal file
@@ -0,0 +1,60 @@
|
||||
image: debian:latest
|
||||
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: recursive
|
||||
|
||||
before_script:
|
||||
- export DEBIAN_FRONTEND= noninteractive
|
||||
- apt-get update -y
|
||||
- apt-get install -y zip unzip nodejs jsonlint jq
|
||||
|
||||
stages:
|
||||
- build
|
||||
- deploy
|
||||
|
||||
hash rules:
|
||||
stage: build
|
||||
script:
|
||||
- sha256sum data/data.min.json | awk '{print $1}' > rules.min.hash
|
||||
- node build_tools/minifyDataJSON.js "data/data.min.json" "data.minify.json"
|
||||
- sha256sum data.minify.json | awk '{print $1}' > rules.minify.hash
|
||||
artifacts:
|
||||
paths:
|
||||
- rules.min.hash
|
||||
- data.minify.json
|
||||
- rules.minify.hash
|
||||
|
||||
bundle addon:
|
||||
stage: build
|
||||
script:
|
||||
- zip ClearURLs -r -FS clearurls.js browser-polyfill.js manifest.json img/* external_js/* html/* core_js/* css/* fonts/* _locales/*
|
||||
artifacts:
|
||||
paths:
|
||||
- ClearURLs.zip
|
||||
|
||||
#bundle addon chrome:
|
||||
#stage: build
|
||||
#script:
|
||||
#- jq 'del(.applications)' manifest.json > manifest.json.tmp && mv manifest.json.tmp manifest.json
|
||||
#- zip ClearURLs-chrome -r -FS clearurls.js browser-polyfill.js manifest.json img/* external_js/* html/* core_js/* css/* fonts/* _locales/*
|
||||
#only:
|
||||
# - master
|
||||
#artifacts:
|
||||
# paths:
|
||||
# - ClearURLs-chrome.zip
|
||||
|
||||
pages:
|
||||
stage: deploy
|
||||
script:
|
||||
- mkdir public
|
||||
- mkdir public/data
|
||||
- cp img/clearurls.svg public/clearurls.svg
|
||||
- cp data/data.min.json public/data/data.min.json
|
||||
- sha256sum public/data/data.min.json | awk '{print $1}' > public/data/rules.min.hash
|
||||
- node build_tools/minifyDataJSON.js "public/data/data.min.json" "public/data/data.minify.json"
|
||||
- sha256sum public/data/data.minify.json | awk '{print $1}' > public/data/rules.minify.hash
|
||||
only:
|
||||
- master
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
||||
@@ -14,9 +14,9 @@ possible. Thank you!
|
||||
<!--
|
||||
You do not have to reinstall Firefox or disable all addons. You can just create a new profile that only has ClearURLs installed and where no settings are changed. Instructions can be found here: https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles
|
||||
-->
|
||||
* [ ] Can you reproduce the problem in a **fresh** firefox profile with **only** ClearURLs?
|
||||
* [ ] Can you reproduce the problem in a **fresh** Firefox profile with **only** ClearURLs?
|
||||
* [ ] Are you running the latest version of ClearURLs?
|
||||
* [ ] Are you have changed settings under `about:config`?
|
||||
* [ ] Have you changed settings under `about:config`?
|
||||
|
||||
### Description
|
||||
|
||||
@@ -33,24 +33,11 @@ You do not have to reinstall Firefox or disable all addons. You can just create
|
||||
**Actual behavior:** [What actually happened]
|
||||
|
||||
### System
|
||||
* **Version**: [compulsory. you must provide your version]
|
||||
* **Version**: [compulsory. You must provide your version]
|
||||
* **Platform**: [either `uname -a` output, or if Windows, version and 32-bit or
|
||||
64-bit]
|
||||
* **Country**: [The country from which you called the page. You can found your country here: http://ip-api.com/json/?fields=country]
|
||||
* **Country**: [The country from which you called the page. You can find your country here: https://ipapi.co//country_capital]
|
||||
|
||||
### Log
|
||||
<!-- Please enable the log functionality of ClearURLs and copy your log into this table. -->
|
||||
<!-- Or if the log is to long, save the html file (press ctrl+s) and attach to this issue the `Log from ClearURLs.html` file -->
|
||||
|
||||
| Before processing | After processing | Rule | Time |
|
||||
|-------------------|------------------|------|------|
|
||||
| | | | |
|
||||
|
||||
<!-- If you attach the html file, please copy into the ``` area -->
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
<!-- Please enable the log functionality of ClearURLs and attach the exported log to this bug report. -->
|
||||
<!-- Here you can find a step by step tutorial "How to enable logging in ClearURLs": https://www.youtube-nocookie.com/embed/Rm1YkwXQDSM -->
|
||||
|
||||
4
.gitmodules
vendored
Normal file
4
.gitmodules
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
[submodule "rules"]
|
||||
path = data
|
||||
url = https://gitlab.com/ClearURLs/rules.git
|
||||
branch = master
|
||||
810
CHANGELOG.md
Normal file
810
CHANGELOG.md
Normal file
@@ -0,0 +1,810 @@
|
||||
# Changelog
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## Ongoing
|
||||
- Rewrite ClearURLs completely form scratch in typescript
|
||||
- Add features from the milestone [%1](https://gitlab.com/KevinRoebert/ClearUrls/-/milestones/1)
|
||||
- Dedicated documentation page like [docs.drasyl.org](https://docs.drasyl.org)
|
||||
|
||||
## [1.XX.0] - 2022-XX-XX
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
|
||||
## [1.27.3] - 2025-02-05
|
||||
|
||||
### Changed
|
||||
- Google Search `window.rwt` detection
|
||||
|
||||
### Fixed
|
||||
- Google Docs
|
||||
- [#134](https://github.com/ClearURLs/Addon/issues/134)
|
||||
- [#187](https://gitlab.com/ClearURLs/rules/-/issues/187)
|
||||
- [#387](https://github.com/ClearURLs/Addon/issues/387)
|
||||
- [#393](https://github.com/ClearURLs/Addon/issues/393)
|
||||
- [#978](https://gitlab.com/ClearURLs/ClearUrls/-/issues/978)
|
||||
- [#980](https://gitlab.com/ClearURLs/ClearUrls/-/issues/980)
|
||||
- [#1301](https://gitlab.com/ClearURLs/ClearUrls/-/issues/1301)
|
||||
- [#1302](https://gitlab.com/ClearURLs/ClearUrls/-/issues/1302)
|
||||
- [#1305](https://gitlab.com/ClearURLs/ClearUrls/-/issues/1305)
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
## [1.27.2] - 2025-01-27
|
||||
|
||||
### Fixed
|
||||
Special thanks to [SunsetTechuila](https://github.com/SunsetTechuila) for providing [PR 415](https://github.com/ClearURLs/Addon/pull/415)
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1943562
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1942909
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1942705
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1943842
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1943807
|
||||
- [#407](https://github.com/ClearURLs/Addon/issues/407)
|
||||
- [#408](https://github.com/ClearURLs/Addon/issues/408)
|
||||
- [#409](https://github.com/ClearURLs/Addon/issues/409)
|
||||
- [#410](https://github.com/ClearURLs/Addon/issues/410)
|
||||
- [#411](https://github.com/ClearURLs/Addon/issues/411)
|
||||
- [#412](https://github.com/ClearURLs/Addon/issues/412)
|
||||
- [#413](https://github.com/ClearURLs/Addon/issues/413)
|
||||
|
||||
## [1.27.1] - 2025-01-05
|
||||
|
||||
### Changed
|
||||
- Updated dependencies
|
||||
|
||||
### Fixed
|
||||
- [#276](https://github.com/ClearURLs/Addon/issues/276)
|
||||
- [#196](https://github.com/ClearURLs/Addon/issues/196)
|
||||
- [!108](https://gitlab.com/ClearURLs/ClearUrls/-/merge_requests/108)
|
||||
- [Fixed undefined `s` error](https://github.com/ClearURLs/Addon/commit/897c7dc67beab5e1e5f6f4b70b781f5bd3897060)
|
||||
|
||||
# Removed
|
||||
- ETag filtering for Firefox. Since Firefox 85, ETags can no longer be used for tracking users over multiple sites.
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
## [1.26.0] - 2022-11-18
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Changed
|
||||
- The popup window is now responsive
|
||||
|
||||
## [1.25.0] - 2022-07-27
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Changed
|
||||
- ETag filtering now generates random values and does no longer delete the header. As a result, filtering also works under Chrome-based browsers
|
||||
- ETag filtering no longer increases the counter
|
||||
- ETag filtering is now disabled by default
|
||||
- Updated rules URL href
|
||||
- Updated translations. Big update by [IHatePineapples](https://github.com/IHatePineapples)
|
||||
|
||||
### Fixed
|
||||
- [524](https://gitlab.com/KevinRoebert/ClearUrls/-/issues/524)
|
||||
- [67](https://github.com/ClearURLs/Addon/issues/67)
|
||||
- [138](https://github.com/ClearURLs/Addon/issues/138)
|
||||
- [1177](https://gitlab.com/KevinRoebert/ClearUrls/-/issues/1177)
|
||||
- [234](https://github.com/ClearURLs/Addon/issues/234)
|
||||
- [191](https://github.com/ClearURLs/Addon/issues/191)
|
||||
|
||||
## [1.24.1] - 2022-03-25
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Changed
|
||||
- Replaced self-written URL parser through `URL` and `URLSearchParams` from the Web API
|
||||
|
||||
### Fixed
|
||||
- Fixed [185](https://github.com/ClearURLs/Addon/issues/185)
|
||||
- Fixed [186](https://github.com/ClearURLs/Addon/issues/186)
|
||||
|
||||
## [1.23.1] - 2022-03-23
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Removed
|
||||
- Removed unnecessary `unsafe-eval` content security policy
|
||||
|
||||
## [1.23.0] - 2022-03-22
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Added
|
||||
- Added Arabic translation by Essam and kugani
|
||||
- Added Indonesian translation by Iputucaganesha
|
||||
- Added `content_security_policy` to `manifest.json`
|
||||
- Re-Added `applications`to `manifest.json`
|
||||
- Added recursive cleaning
|
||||
- Added dark mode support in [!101](https://gitlab.com/KevinRoebert/ClearUrls/-/merge_requests/101). Thanks to [@dannycolin](https://gitlab.com/dannycolin)
|
||||
|
||||
### Changed
|
||||
- Updated `homepage_url` and `author` field in `manifest.json`
|
||||
- Replaced deprecated `String.prototype.substr()` in [!175](https://github.com/ClearURLs/Addon/pull/175). Thanks to [@CommanderRoot](https://github.com/CommanderRoot)
|
||||
|
||||
## [1.22.0] - 2021-12-27
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Added
|
||||
- Added Korean translation by [@hellojaccc](https://gitlab.com/hellojaccc)
|
||||
- Added Thai translation by [@ammaneena](https://gitlab.com/ammaneena)
|
||||
- Added Slovenian translation by [@betterwebleon](https://github.com/betterwebleon)
|
||||
- [Added](https://gitlab.com/KevinRoebert/ClearUrls/-/merge_requests/93) `method` filtering to rule catalogs. Thanks to [@lifegpc](https://gitlab.com/lifegpc). Closes [#948](https://gitlab.com/KevinRoebert/ClearUrls/-/issues/948).
|
||||
|
||||
### Changed
|
||||
- Updated jQuery to 3.6.0
|
||||
- Updated Spanish translation by Sergio
|
||||
- Updated Hungarian translation by krolli
|
||||
- Updated Italian translation by Gioxx
|
||||
- Updated Dutch translation by Harm and Heimen
|
||||
- Updated Polish translation by Mble
|
||||
- Updated Portuguese translation by Lalocas and Geraldo
|
||||
- Updated Turkish translation by Ümit
|
||||
- Updated Chinese (traditional) translation by 1304274443
|
||||
- Updated Chinese (simplified) translation by Eric
|
||||
- Replaced deprecated `extension.getURL` by `runtime.getURL`
|
||||
|
||||
## [1.21.0] - 2021-03-24
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Changed
|
||||
- Updated Polish translation by Kityn
|
||||
|
||||
### Removed
|
||||
- Removed `clipboardWrite` permission
|
||||
- Removed noisy background of popup
|
||||
|
||||
### Fixed
|
||||
- Fixed [#771](https://gitlab.com/KevinRoebert/ClearUrls/-/issues/771)
|
||||
- Fixed [#466](https://gitlab.com/KevinRoebert/ClearUrls/-/issues/466) by [@aethanyc](https://gitlab.com/aethanyc) in MR [!85](https://gitlab.com/KevinRoebert/ClearUrls/-/merge_requests/85)
|
||||
|
||||
## [1.20.0] - 2020-11-21
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Added
|
||||
- Added Dutch translation by Harm M.
|
||||
|
||||
### Changed
|
||||
- Changed url decoding to prevent endless loop
|
||||
- Performance optimizations for rules by [@thexeos](https://gitlab.com/thexeos)
|
||||
- Changed default rules and hash host to Github Pages
|
||||
- Changed rules changelog button `href` to the new rules submodule repo
|
||||
- Updated various translations - thanks to all contributors
|
||||
|
||||
### Fixed
|
||||
- Fixed [#664](https://gitlab.com/KevinRoebert/ClearUrls/issues/664) (also [#739](https://gitlab.com/KevinRoebert/ClearUrls/issues/739), [#740](https://gitlab.com/KevinRoebert/ClearUrls/issues/740))
|
||||
|
||||
## [1.19.0] - 2020-07-22
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Changed
|
||||
- Changed url decoding to prevent endless loop
|
||||
|
||||
## [1.18.1] - 2020-06-07
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Changed
|
||||
- Hotfix for the endless loop on new log limit ([#545](https://gitlab.com/KevinRoebert/ClearUrls/issues/545), [#541](https://gitlab.com/KevinRoebert/ClearUrls/issues/541), [#539](https://gitlab.com/KevinRoebert/ClearUrls/issues/539))
|
||||
|
||||
## [1.18.0] - 2020-06-06
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Removed
|
||||
- sha256.jquery.plugin
|
||||
- Popper.js v1.16.0
|
||||
- Bootstrap Colorpicker v3.2.0
|
||||
- Removed `xbl` type from request types, because it throws since 78.0b3 exceptions (no longer supported)
|
||||
|
||||
### Added
|
||||
- Pickr v1.7.0
|
||||
|
||||
### Changed
|
||||
- Replaced sha256.jquery.plugin with native hashing
|
||||
- Replaced jQuery dependencies with native JavaScript in all core files (jQuery is only required for the log page)
|
||||
- Hopefully this fixes the performance problems that some users experience when using this addon in conjunction with other addons
|
||||
- [#256](https://gitlab.com/KevinRoebert/ClearUrls/issues/256)
|
||||
- [#535](https://gitlab.com/KevinRoebert/ClearUrls/issues/535)
|
||||
- Restricted the log limit to max. 5000 entries
|
||||
- Default value is now 100
|
||||
- Too many log entries have resulted in performance losses for users who have forgotten that they have turned on the log. This step should prevent this.
|
||||
|
||||
|
||||
## [1.17.0] - 2020-04-14
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated some strings of Spanish translation
|
||||
- Updated some strings of French translation
|
||||
- Updated some strings of Italian translation
|
||||
- Updated some strings of Russian translation
|
||||
- Updated some strings of Swedish translation
|
||||
- Updated some strings of Turkish translation
|
||||
- Updated some strings of Ukrainian translation
|
||||
- Updated some strings of Chinese Simple translation
|
||||
|
||||
### Fixed
|
||||
- Fixed a typo in the path to the Datatables JavaScript file
|
||||
- Fixed [#445](https://gitlab.com/KevinRoebert/ClearUrls/issues/445)
|
||||
- Fixed [#462](https://gitlab.com/KevinRoebert/ClearUrls/issues/462)
|
||||
|
||||
### Added
|
||||
- Added check for setBadgeTextColor function (only supported in Firefox)
|
||||
|
||||
### Removed
|
||||
- Removed browser-polyfill content script import (seems no longer needed)
|
||||
- Removed old `applications` value
|
||||
|
||||
## [1.16.0] - 2020-03-20
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added ETag header filtering [#362](https://gitlab.com/KevinRoebert/ClearUrls/issues/362), [#440](https://gitlab.com/KevinRoebert/ClearUrls/issues/440). Hint: Cache must be cleared before first use, to delete the already existing ETags.
|
||||
|
||||
### Fixed
|
||||
- Fixed spontaneous disappearance of the badged
|
||||
- Fixed wrong counting of blocked elements (too little was ;D)
|
||||
|
||||
### Changed
|
||||
- Updated all translation
|
||||
- Changed badged font color to #FFFFFF
|
||||
- Changed watchdog behavior as follows [#428](https://gitlab.com/KevinRoebert/ClearUrls/issues/428), [#431](https://gitlab.com/KevinRoebert/ClearUrls/issues/431), [#429](https://gitlab.com/KevinRoebert/ClearUrls/issues/429):
|
||||
- Increased watchdog interval to 60 seconds
|
||||
- Executed watchdog only if ClearURLs is also active
|
||||
- Watchdog restarts ClearURLs at most 3 times and only if ClearURLs has rules
|
||||
- Changed behavior of downloading rules [#428](https://gitlab.com/KevinRoebert/ClearUrls/issues/428), [#431](https://gitlab.com/KevinRoebert/ClearUrls/issues/431), [#429](https://gitlab.com/KevinRoebert/ClearUrls/issues/429):
|
||||
- If download of hash file fails and no local rules are available, then ClearURLs displays `hash_status_code_5` and deactivates itself
|
||||
- If download of rules file fails and no local rules are available, then ClearURLs displays `hash_status_code_5` and deactivates itself
|
||||
|
||||
## [1.15.0] - 2020-02-16
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated Italian translation by [@gioxx](https://gitlab.com/gioxx)
|
||||
|
||||
## [1.14.0] - 2020-02-01
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Changed icon
|
||||
|
||||
## [1.13.0] - 2020-02-01
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated some strings of French translation by lucifer
|
||||
|
||||
## [1.12.0] - 2020-01-29
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated Russian translation by elfriob
|
||||
- Updated Spanish translation by [@socram](https://gitlab.com/socram)
|
||||
|
||||
## [1.11.0] - 2020-01-06
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added hyperlink auditing blocking [#184](https://gitlab.com/KevinRoebert/ClearUrls/issues/184)
|
||||
- Added yandex link fix script, to avoid URL tracking [#305](https://gitlab.com/KevinRoebert/ClearUrls/issues/305)
|
||||
|
||||
## [1.10.0] - 2020-01-03
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated to Bootstrap 4.3.1
|
||||
- Updated to jQuery 3.4.1
|
||||
- Updated to DataTables 1.10.20
|
||||
- Deleted unnecessary Bootstrap Dialog lib
|
||||
- Replaced [pick-a-color](https://github.com/lauren/pick-a-color) with [bootstrap-colorpicker 3.2.0](https://github.com/itsjavi/bootstrap-colorpicker)
|
||||
- Minor corrections on english translation by [@Sopor](https://gitlab.com/Sopor)
|
||||
- Replaced glyphicons with [fontawesome 5.12.0](https://github.com/FortAwesome/Font-Awesome/tree/5.12.0)
|
||||
|
||||
### Added
|
||||
- Added [popper.js 1.16.0](https://github.com/popperjs/popper.js/tree/v1.16.0)
|
||||
- Added Swedish translation by [@Sopor](https://gitlab.com/Sopor)
|
||||
|
||||
### Fixed
|
||||
- Fixed [#338](https://gitlab.com/KevinRoebert/ClearUrls/issues/338)
|
||||
- Fixed [#333](https://gitlab.com/KevinRoebert/ClearUrls/issues/333)
|
||||
- Fixed [#332](https://gitlab.com/KevinRoebert/ClearUrls/issues/332)
|
||||
- Fixed [#307](https://gitlab.com/KevinRoebert/ClearUrls/issues/307)
|
||||
- Maybe [#315](https://gitlab.com/KevinRoebert/ClearUrls/issues/315) fixed
|
||||
|
||||
## [1.9.5] - 2019-12-17
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added Turkish translation by Ulaş Çakmak
|
||||
|
||||
### Changed
|
||||
- Updated some strings of French translation by lucifer
|
||||
|
||||
### Fixed
|
||||
- Fixed problem with default RegExp
|
||||
|
||||
## [1.9.4] - 2019-11-24
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed toolbar icon on startup [#102](https://gitlab.com/KevinRoebert/ClearUrls/issues/102)
|
||||
|
||||
### Added
|
||||
- Added option to disable/allow domain blocking [#294](https://gitlab.com/KevinRoebert/ClearUrls/issues/294)
|
||||
|
||||
### Changed
|
||||
- Some refactoring
|
||||
|
||||
## [1.9.3.1] - 2019-11-15
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Changed data and hash URL to GitLab Pages, to prevent hitting the GitLab infrastructure directly [#295](https://gitlab.com/KevinRoebert/ClearUrls/issues/295#note_245456134).
|
||||
|
||||
## [1.9.3] - 2019-11-15
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed wrong initial rules URL
|
||||
|
||||
## [1.9.2] - 2019-11-09
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed [#290](https://gitlab.com/KevinRoebert/ClearUrls/issues/290)
|
||||
|
||||
### Changed
|
||||
- Updated some strings of Italian translation by [@gioxx](https://gitlab.com/gioxx)
|
||||
|
||||
### Added
|
||||
- Added a minimal version of the data.min.json file where all line breaks and spaces, as well as default values and empty lists are removed.
|
||||
|
||||
## [1.9.1] - 2019-10-24
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed badged in quiet mode
|
||||
|
||||
### Added
|
||||
- Added Italian translation by [@gioxx](https://gitlab.com/gioxx)
|
||||
|
||||
## [1.9.0] - 2019-10-22
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed bug in "history tracking injection protection". This option was not disabled, when the global filter switch are on off
|
||||
- Fixed [#241](https://gitlab.com/KevinRoebert/ClearUrls/issues/241)
|
||||
- Possible fix for [#203](https://gitlab.com/KevinRoebert/ClearUrls/issues/203)
|
||||
|
||||
### Changed
|
||||
- Refactoring
|
||||
- Changed background script loading sequence to prevent that required functions are not yet loaded.
|
||||
|
||||
### Added
|
||||
- Added an option to im-/export the log (requires the `downloads` permission)
|
||||
- Added an option to im-/export the settings (requires the `downloads` permission)
|
||||
- Added information page for blocked sites, when they are called in the `main_frame`
|
||||
- Added option to allow referral marketing ([#284](https://gitlab.com/KevinRoebert/ClearUrls/issues/284))
|
||||
- Added "multiple times URL encodes" recognition
|
||||
- Added an option to limit the log entries ([#56](https://gitlab.com/KevinRoebert/ClearUrls/issues/56))
|
||||
|
||||
## [1.8.5] - 2019-09-29
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed [#264](https://gitlab.com/KevinRoebert/ClearUrls/issues/264)
|
||||
- Fixed [#262](https://gitlab.com/KevinRoebert/ClearUrls/issues/262)
|
||||
- Fixed [#267](https://gitlab.com/KevinRoebert/ClearUrls/issues/267)
|
||||
|
||||
## [1.8.4] - 2019-09-26
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Force redirects only on main frames
|
||||
- Added google link fix script, to avoid the sub frame permission for force redirection on google
|
||||
|
||||
## [1.8.3] - 2019-09-23
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed OR case
|
||||
|
||||
## [1.8.2] - 2019-09-23
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Only redirects, if request is of type main or sub frame to prevent security issues on automatically loaded ressource like images
|
||||
|
||||
### Fixed
|
||||
- Fixed [#253](https://gitlab.com/KevinRoebert/ClearUrls/issues/253)
|
||||
- Fixed [#254](https://gitlab.com/KevinRoebert/ClearUrls/issues/254)
|
||||
|
||||
## [1.8.1] - 2019-09-12
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Improvements on check for android systems ([#206](https://gitlab.com/KevinRoebert/ClearUrls/issues/206))
|
||||
- Improvements on storage. Away with periodic save of in-memory data to storage. Instead save when there are actual changes by [@tartpvule](https://gitlab.com/tartpvule) in ([!47](https://gitlab.com/KevinRoebert/ClearUrls/merge_requests/47))
|
||||
|
||||
## [1.8.0] - 2019-09-11
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added default option to skip URLs with a host in a local range
|
||||
|
||||
### Fixed
|
||||
- Fixed [#238](https://gitlab.com/KevinRoebert/ClearUrls/issues/238)
|
||||
- Fixed wrong count on cleaning tool (forgot to count also the total amount of elements at cleaning tool)
|
||||
|
||||
### Changed
|
||||
- Improvements on check for android systems ([#206](https://gitlab.com/KevinRoebert/ClearUrls/issues/206))
|
||||
|
||||
## [1.7.4] - 2019-09-06
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added Hungarian translations by [@ztoldy2](https://gitlab.com/ztoldy2)
|
||||
|
||||
## [1.7.3] - 2019-08-07
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated Brazilian Portuguese translation by Ramon S.
|
||||
|
||||
## [1.7.2] - 2019-08-07
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated japanese translation by [@Shitennouji](https://gitlab.com/Shitennouji)
|
||||
|
||||
## [1.7.1] - 2019-08-04
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added new setting to data.min.json to set if redirects should be enforced via a "tabs.update" ([#221](https://gitlab.com/KevinRoebert/ClearUrls/issues/221))
|
||||
- Added [#220](https://gitlab.com/KevinRoebert/ClearUrls/issues/220)
|
||||
- Added [#218](https://gitlab.com/KevinRoebert/ClearUrls/issues/218)
|
||||
|
||||
### Fixed
|
||||
- Fixed YouTube ad redirection bug ([#221](https://gitlab.com/KevinRoebert/ClearUrls/issues/221))
|
||||
- Fixed [#217](https://gitlab.com/KevinRoebert/ClearUrls/issues/217)
|
||||
|
||||
## [1.7.0] - 2019-07-30
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added support for raw rules to cleaning also parts from URL-path
|
||||
|
||||
### Fixed
|
||||
- Fixed misspelling in german translation
|
||||
|
||||
## [1.6.9] - 2019-07-29
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed error in fields RegExp
|
||||
|
||||
## [1.6.8] - 2019-07-28
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Improvements on check for android systems ([#206](https://gitlab.com/KevinRoebert/ClearUrls/issues/206))
|
||||
|
||||
### Fixed
|
||||
- [#205](https://gitlab.com/KevinRoebert/ClearUrls/issues/205)
|
||||
|
||||
## [1.6.7] - 2019-07-25
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- [#175](https://gitlab.com/KevinRoebert/ClearUrls/issues/175) by [@yukulele](https://gitlab.com/yukulele)
|
||||
- [#196](https://gitlab.com/KevinRoebert/ClearUrls/issues/196)
|
||||
- [#204](https://gitlab.com/KevinRoebert/ClearUrls/issues/204)
|
||||
|
||||
## [1.6.6] - 2019-06-14
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- [#171](https://gitlab.com/KevinRoebert/ClearUrls/issues/171)
|
||||
- [#195](https://gitlab.com/KevinRoebert/ClearUrls/issues/195)
|
||||
|
||||
## [1.6.5] - 2019-06-12
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added support for fragment cleaning
|
||||
|
||||
### Fixed
|
||||
- [#171](https://gitlab.com/KevinRoebert/ClearUrls/issues/171)
|
||||
- [#191](https://gitlab.com/KevinRoebert/ClearUrls/issues/191)
|
||||
- [#192](https://gitlab.com/KevinRoebert/ClearUrls/issues/192)
|
||||
- [#193](https://gitlab.com/KevinRoebert/ClearUrls/issues/193)
|
||||
- [#194](https://gitlab.com/KevinRoebert/ClearUrls/issues/194)
|
||||
|
||||
## [1.6.4] - 2019-05-07
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added Polish translation by [@alekksander](https://gitlab.com/alekksander)
|
||||
|
||||
## [1.6.3] - 2019-05-06
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added redirection from [#181](https://gitlab.com/KevinRoebert/ClearUrls/issues/181)
|
||||
|
||||
### Changed
|
||||
- Update french translation by [@hydrargyrum](https://gitlab.com/hydrargyrum)
|
||||
- Update chinese translation
|
||||
|
||||
## [1.6.2] - 2019-04-26
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added rules from [#172](https://gitlab.com/KevinRoebert/ClearUrls/issues/172)
|
||||
- Added rules from [#176](https://gitlab.com/KevinRoebert/ClearUrls/issues/176)
|
||||
- Added rules from [#178](https://gitlab.com/KevinRoebert/ClearUrls/issues/178)
|
||||
|
||||
### Fixed
|
||||
- [#170](https://gitlab.com/KevinRoebert/ClearUrls/issues/170)
|
||||
- [#162](https://gitlab.com/KevinRoebert/ClearUrls/issues/162)
|
||||
- [#163](https://gitlab.com/KevinRoebert/ClearUrls/issues/163)
|
||||
|
||||
## [[1.6.1] - 2019-04-14](https://gitlab.com/KevinRoebert/ClearUrls/commit/a8a5f7e311300ae7f186d4b581e805bdf3f9f5d9)
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Chinese translations by [@yipinghuang](https://gitlab.com/yipinghuang)
|
||||
- French translations
|
||||
|
||||
## [1.6] - 2019-04-11
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 28
|
||||
|
||||
### Added
|
||||
- Added listener to the browser history to prevent tracking with the [history.pushState method](https://developer.mozilla.org/en-US/docs/Web/API/History_API)
|
||||
- Added webNavigation and tabs permissions, for the new feature
|
||||
- Added switches in settings to enable and disable the context menu entry and the history listener
|
||||
- Added tool to clean URLs, that was pasted into a textbox
|
||||
- Added icon for new tool to clean URLs
|
||||
|
||||
### Fixed
|
||||
- [#40](https://gitlab.com/KevinRoebert/ClearUrls/issues/40), see also https://curl.kevinroebert.de
|
||||
- [#103](https://gitlab.com/KevinRoebert/ClearUrls/issues/103), see also https://curl.kevinroebert.de
|
||||
|
||||
### Changed
|
||||
- Changed clipboard-helper.js path to be absolute to prevent problems
|
||||
- Changed rewrite of old GitHub links to the new data.min.json and rules.min.hash
|
||||
- Config icon is now bigger and above the config label
|
||||
- Update Traditional Chinese Translation by [@yipinghuang](https://gitlab.com/yipinghuang)
|
||||
|
||||
## [[1.5.8] - 2019-04-10](https://gitlab.com/KevinRoebert/ClearUrls/commit/1b6cc37bdd23011d006bf7ef6824463e7c96067a)
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 28
|
||||
|
||||
### Added
|
||||
- Added context menu entry, to clean and copy links into clipboard
|
||||
|
||||
## [[1.5.4] - 2019-04-08](https://gitlab.com/KevinRoebert/ClearUrls/commit/0a948968b309f418ec4175dd23fedb0b88c97086)
|
||||
|
||||
### Fixed
|
||||
- Changed icon format from svg into png to support Chrome
|
||||
|
||||
## [[1.5.3] - 2019-04-03](https://gitlab.com/KevinRoebert/ClearUrls/commit/304cbe2e6bf3756f4bcb675ec4b8b7403158ea5c)
|
||||
|
||||
### Removed
|
||||
- Removed the *tab permission*, because it is not required for all used methods on the tabs api
|
||||
|
||||
## [[1.5.2] - 2019-04-01](https://gitlab.com/KevinRoebert/ClearUrls/commit/03e0580b202fc0a77f442f284dd5470cddbbd5c0)
|
||||
|
||||
### Added
|
||||
- Added new screenshots of the ClearURLs popup
|
||||
|
||||
### Changed
|
||||
- Replaced *webextension-polyfill* v.0.3.1 with the new version v0.4.0
|
||||
- Updated the Chrome version of ClearURLs to the newest version
|
||||
- Changed ClearURLs to support both Firefox and Chrome, without generating every time to different source codes
|
||||
- Changed the GitLab-CI to build the Chrome version automatically from the Firefox version
|
||||
- Replaced the old screenshots in the README with new ones
|
||||
|
||||
### Removed
|
||||
- Removed the old ClearURLs Chrome version
|
||||
|
||||
## [[1.5.1.6a] - 2019-03-27](https://gitlab.com/KevinRoebert/ClearUrls/commit/869cd63e645e2cacaf26017366fa4eaa3fb97411)
|
||||
|
||||
### Fixed
|
||||
- Added own flat function and a function that removes empty fields from arrays to support Waterfox
|
||||
|
||||
## [[1.5.1.5a] - 2019-03-18](https://gitlab.com/KevinRoebert/ClearUrls/commit/d87d88250dccd07570c10b37f41054ed44a0ee97)
|
||||
|
||||
### Fixed
|
||||
- Bugfix to support Android devices again
|
||||
|
||||
## [[1.5.1a] - 2019-03-14](https://gitlab.com/KevinRoebert/ClearUrls/commit/80af6f6feac086490f841adad5fe769d71be86f8)
|
||||
|
||||
### Added
|
||||
- Added *unlimitedStorage* permissions to prevent storage restrictions (which will come in future versions of firefox) and to have enough space for user generated rules
|
||||
|
||||
### Changed
|
||||
- Changed the regex interpretation for better performance
|
||||
|
||||
## [[1.5a] - 2019-03-14](https://gitlab.com/KevinRoebert/ClearUrls/commit/80af6f6feac086490f841adad5fe769d71be86f8)
|
||||
|
||||
### Added
|
||||
- New rules file *data.min.json* that is a minimized version of the old one
|
||||
- New technique to get data from the local storage
|
||||
- The command pattern has been implemented so that ClearURLs also works in private mode
|
||||
- Automatically generating hash for *data.min.json* file with GitLab-CI
|
||||
- Add start and end delimiters to rules
|
||||
- Preparations for costume rules
|
||||
|
||||
### Changed
|
||||
- Storage improvements, better performance
|
||||
- Splitted core file into multiple pieces for better overview
|
||||
- Minimize rules length
|
||||
|
||||
### Fixed
|
||||
- [#124](https://gitlab.com/KevinRoebert/ClearUrls/issues/124)
|
||||
|
||||
### Removed
|
||||
- Warning in private mode (no longer necessary)
|
||||
- Removed *Report URL* function
|
||||
|
||||
## [[1.3.4.2] - 2019-02-01](https://gitlab.com/KevinRoebert/ClearUrls/commit/23e7fa406436c40c561c1e0108c5e9c8c7e9e0d8)
|
||||
|
||||
### Changed
|
||||
- Updated Ukrainian translation from [@a-polivanchuk](https://gitlab.com/a-polivanchuk)
|
||||
|
||||
## [[1.3.4.0] - 2018-10-08](https://gitlab.com/KevinRoebert/ClearUrls/commit/06b84d749084997e3d759ebd916772b446adfe9c)
|
||||
|
||||
## Added
|
||||
- Added more request types, as proposed in [#106](https://gitlab.com/KevinRoebert/ClearUrls/issues/106)
|
||||
|
||||
## Updated
|
||||
- Updated french translation
|
||||
@@ -1,892 +0,0 @@
|
||||
/*
|
||||
* ##################################################################
|
||||
* # Fetch Rules & Exception from URL #
|
||||
* ##################################################################
|
||||
*/
|
||||
var providers = [];
|
||||
var prvKeys = [];
|
||||
var badges = [];
|
||||
var tabid = 0;
|
||||
var siteBlockedAlert = 'javascript:void(0)';
|
||||
var dataHash;
|
||||
var localDataHash;
|
||||
var os;
|
||||
var currentURL;
|
||||
|
||||
var storage = [];
|
||||
|
||||
getDataFromDisk();
|
||||
|
||||
function start(items)
|
||||
{
|
||||
initStorage(items);
|
||||
|
||||
/**
|
||||
* Save OS Version
|
||||
*/
|
||||
chrome.runtime.getPlatformInfo(function(info) {
|
||||
|
||||
os = info.os;
|
||||
|
||||
|
||||
/**
|
||||
* Initialize the JSON provider object keys.
|
||||
*
|
||||
* @param {JSON Object} obj
|
||||
*/
|
||||
function getKeys(obj){
|
||||
for(var key in obj){
|
||||
prvKeys.push(key);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the providers form the JSON object.
|
||||
*
|
||||
*/
|
||||
function createProviders()
|
||||
{
|
||||
data = storage.ClearURLsData;
|
||||
|
||||
for(var p = 0; p < prvKeys.length; p++)
|
||||
{
|
||||
//Create new provider
|
||||
providers.push(new Provider(prvKeys[p],data.providers[prvKeys[p]].completeProvider));
|
||||
|
||||
//Add URL Pattern
|
||||
providers[p].setURLPattern(data.providers[prvKeys[p]].urlPattern);
|
||||
|
||||
//Add rules to provider
|
||||
for(var r = 0; r < data.providers[prvKeys[p]].rules.length; r++)
|
||||
{
|
||||
providers[p].addRule(data.providers[prvKeys[p]].rules[r]);
|
||||
}
|
||||
|
||||
//Add exceptions to provider
|
||||
for(var e = 0; e < data.providers[prvKeys[p]].exceptions.length; e++)
|
||||
{
|
||||
providers[p].addException(data.providers[prvKeys[p]].exceptions[e]);
|
||||
}
|
||||
|
||||
//Add redirections to provider
|
||||
for(var re = 0; re < data.providers[prvKeys[p]].redirections.length; re++)
|
||||
{
|
||||
providers[p].addRedirection(data.providers[prvKeys[p]].redirections[re]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert the external data to Objects and
|
||||
* call the create provider function.
|
||||
*
|
||||
* @param {String} retrievedText - pure data form github
|
||||
*/
|
||||
function toObject(retrievedText) {
|
||||
getKeys(storage.ClearURLsData.providers);
|
||||
createProviders();
|
||||
}
|
||||
|
||||
/**
|
||||
* Load local saved data, if the browser is offline or
|
||||
* some other network trouble.
|
||||
*/
|
||||
function loadOldDataFromStore()
|
||||
{
|
||||
localDataHash = storage.dataHash;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the hash status to the local storage.
|
||||
* The status can have the following values:
|
||||
* 1 "up to date"
|
||||
* 2 "updated"
|
||||
* 3 "update available"
|
||||
* @param status_code the number for the status
|
||||
*/
|
||||
function storeHashStatus(status_code)
|
||||
{
|
||||
switch(status_code)
|
||||
{
|
||||
case 1: status_code = "hash_status_code_1";
|
||||
break;
|
||||
case 2: status_code = "hash_status_code_2";
|
||||
break;
|
||||
case 3: status_code = "hash_status_code_3";
|
||||
break;
|
||||
default: status_code = "hash_status_code_4";
|
||||
}
|
||||
|
||||
storage.hashStatus = status_code;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the hash for the rule file on github.
|
||||
* Check the hash with the hash form the local file.
|
||||
* If the hash has changed, then download the new rule file.
|
||||
* Else do nothing.
|
||||
*/
|
||||
function getHash()
|
||||
{
|
||||
//Get the target hash from github
|
||||
fetch(storage.hashURL)
|
||||
.then(function(response){
|
||||
var responseTextHash = response.clone().text().then(function(responseTextHash){
|
||||
if(response.ok)
|
||||
{
|
||||
dataHash = responseTextHash;
|
||||
|
||||
if($.trim(dataHash) !== $.trim(localDataHash))
|
||||
{
|
||||
fetchFromURL();
|
||||
}
|
||||
else {
|
||||
toObject(storage.ClearURLsData);
|
||||
storeHashStatus(1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
dataHash = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch the Rules & Exception from github.
|
||||
*/
|
||||
function fetchFromURL()
|
||||
{
|
||||
fetch(storage.ruleURL)
|
||||
.then(checkResponse);
|
||||
|
||||
function checkResponse(response)
|
||||
{
|
||||
var responseText = response.clone().text().then(function(responseText){
|
||||
if(response.ok)
|
||||
{
|
||||
var downloadedFileHash = $.sha256(responseText);
|
||||
|
||||
if($.trim(downloadedFileHash) === $.trim(dataHash))
|
||||
{
|
||||
storage.ClearURLsData = responseText;
|
||||
storage.dataHash = downloadedFileHash;
|
||||
storeHashStatus(2);
|
||||
}
|
||||
else {
|
||||
storeHashStatus(3);
|
||||
}
|
||||
storage.ClearURLsData = JSON.parse(storage.ClearURLsData);
|
||||
toObject(storage.ClearURLsData);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// ##################################################################
|
||||
|
||||
/*
|
||||
* ##################################################################
|
||||
* # Supertyp Provider #
|
||||
* ##################################################################
|
||||
*/
|
||||
/**
|
||||
* Declare constructor
|
||||
*
|
||||
* @param {String} _name Provider name
|
||||
* @param {boolean} completeProvider Set URL Pattern as rule
|
||||
*/
|
||||
function Provider(_name,_completeProvider = false){
|
||||
var name = _name;
|
||||
var urlPattern;
|
||||
var rules = [];
|
||||
var exceptions = [];
|
||||
var canceling = _completeProvider;
|
||||
var redirections = [];
|
||||
|
||||
if(_completeProvider){
|
||||
rules.push(".*");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the provider name.
|
||||
* @return {String}
|
||||
*/
|
||||
this.getName = function() {
|
||||
return name;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add URL pattern.
|
||||
*
|
||||
* @require urlPatterns as RegExp
|
||||
*/
|
||||
this.setURLPattern = function(urlPatterns) {
|
||||
urlPattern = new RegExp(urlPatterns, "i");
|
||||
};
|
||||
|
||||
/**
|
||||
* Return if the Provider Request is canceled
|
||||
* @return {Boolean} isCanceled
|
||||
*/
|
||||
this.isCaneling = function() {
|
||||
return canceling;
|
||||
};
|
||||
|
||||
/**
|
||||
* Check the url is matching the ProviderURL.
|
||||
*
|
||||
* @return {boolean} ProviderURL as RegExp
|
||||
*/
|
||||
this.matchURL = function(url) {
|
||||
return !(this.matchException(url)) && urlPattern.test(url);
|
||||
};
|
||||
|
||||
/**
|
||||
* Add a rule to the rule array.
|
||||
*
|
||||
* @param String rule RegExp as string
|
||||
*/
|
||||
this.addRule = function(rule) {
|
||||
rules.push(rule);
|
||||
};
|
||||
|
||||
/**
|
||||
* Return all rules as an array.
|
||||
*
|
||||
* @return Array RegExp strings
|
||||
*/
|
||||
this.getRules = function() {
|
||||
return rules;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add a exception to the exceptions array.
|
||||
*
|
||||
* @param String exception RegExp as string
|
||||
*/
|
||||
this.addException = function(exception) {
|
||||
exceptions.push(exception);
|
||||
};
|
||||
|
||||
/**
|
||||
* Private helper method to check if the url
|
||||
* an exception.
|
||||
*
|
||||
* @param {String} url RegExp as string
|
||||
* @return {boolean} if matching? true: false
|
||||
*/
|
||||
this.matchException = function(url) {
|
||||
var result = false;
|
||||
|
||||
//Add the site blocked alert to every exception
|
||||
if(url == siteBlockedAlert) return true;
|
||||
|
||||
for (var i = 0; i < exceptions.length; i++) {
|
||||
if(result) { break; }
|
||||
|
||||
exception_regex = new RegExp(exceptions[i], "i");
|
||||
result = exception_regex.test(url);
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add a redirection to the redirections array.
|
||||
*
|
||||
* @param String redirection RegExp as string
|
||||
*/
|
||||
this.addRedirection = function(redirection) {
|
||||
redirections.push(redirection);
|
||||
};
|
||||
|
||||
/**
|
||||
* Return all redirection.
|
||||
*
|
||||
* @return url
|
||||
*/
|
||||
this.getRedirection = function(url) {
|
||||
var re = null;
|
||||
|
||||
for(var i = 0; i < redirections.length; i++)
|
||||
{
|
||||
result = (url.match(new RegExp(redirections[i], "i")));
|
||||
|
||||
if (result && result.length > 0)
|
||||
{
|
||||
re = (new RegExp(redirections[i], "i")).exec(url)[1];
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return re;
|
||||
};
|
||||
}
|
||||
// ##################################################################
|
||||
|
||||
/**
|
||||
* Helper function which remove the tracking fields
|
||||
* for each provider given as parameter.
|
||||
*
|
||||
* @param {Provider} provider Provider-Object
|
||||
* @param {webRequest} request webRequest-Object
|
||||
* @return {Array} Array with changes and url fields
|
||||
*/
|
||||
function removeFieldsFormURL(provider, request)
|
||||
{
|
||||
var url = request.url;
|
||||
var domain = url.replace(new RegExp("\\?.*", "i"), "");
|
||||
var fields = "";
|
||||
var rules = provider.getRules();
|
||||
var changes = false;
|
||||
var cancel = false;
|
||||
|
||||
/*
|
||||
* Expand the url by provider redirections. So no tracking on
|
||||
* url redirections form sites to sites.
|
||||
*/
|
||||
var re = provider.getRedirection(url);
|
||||
if(re !== null)
|
||||
{
|
||||
url = decodeURIComponent(re);
|
||||
//Log the action
|
||||
pushToLog(request.url, re, translate('log_redirect'));
|
||||
|
||||
return {
|
||||
"redirect": true,
|
||||
"url": url
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Only test for matches, if there are fields that can be cleaned.
|
||||
*/
|
||||
if(existsFields(url))
|
||||
{
|
||||
/**
|
||||
* It must be non-greedy, because by default .* will match
|
||||
* all ? chars. So the replace function delete everything
|
||||
* before the last ?. With adding a ? on the quantifier *,
|
||||
* we fixed this problem.
|
||||
*/
|
||||
fields = url.replace(new RegExp(".*?\\?", "i"), "");
|
||||
|
||||
for (var i = 0; i < rules.length; i++) {
|
||||
var beforReplace = fields;
|
||||
|
||||
fields = fields.replace(new RegExp(rules[i], "i"), "");
|
||||
|
||||
if(beforReplace != fields)
|
||||
{
|
||||
//Log the action
|
||||
pushToLog(domain+"?"+beforReplace, domain+"?"+fields, rules[i]);
|
||||
|
||||
if(badges[tabid] == null)
|
||||
{
|
||||
badges[tabid] = 0;
|
||||
}
|
||||
|
||||
increaseURLCounter();
|
||||
|
||||
if(!checkOSAndroid())
|
||||
{
|
||||
if(storage.badgedStatus) {
|
||||
browser.browserAction.setBadgeText({text: (++badges[tabid]).toString(), tabId: tabid});
|
||||
}
|
||||
else
|
||||
{
|
||||
browser.browserAction.setBadgeText({text: "", tabId: tabid});
|
||||
}
|
||||
}
|
||||
|
||||
changes = true;
|
||||
}
|
||||
}
|
||||
url = domain+"?"+fields;
|
||||
}
|
||||
else {
|
||||
if(domain != url)
|
||||
{
|
||||
url = domain;
|
||||
changes = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(provider.isCaneling()){
|
||||
pushToLog(request.url, request.url, translate('log_domain_blocked'));
|
||||
if(badges[tabid] == null)
|
||||
{
|
||||
badges[tabid] = 0;
|
||||
}
|
||||
|
||||
increaseURLCounter();
|
||||
|
||||
if(!checkOSAndroid())
|
||||
{
|
||||
if(storage.badgedStatus) {
|
||||
browser.browserAction.setBadgeText({text: (++badges[tabid]).toString(), tabId: tabid});
|
||||
}
|
||||
else
|
||||
{
|
||||
browser.browserAction.setBadgeText({text: "", tabId: tabid});
|
||||
}
|
||||
}
|
||||
|
||||
cancel = true;
|
||||
}
|
||||
|
||||
return {
|
||||
"changes": changes,
|
||||
"url": url,
|
||||
"cancel": cancel
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of parameters query strings.
|
||||
* @param {String} url URL as String
|
||||
* @return {int} Number of Parameters
|
||||
*/
|
||||
function countFields(url)
|
||||
{
|
||||
var matches = (url.match(/[^\/|\?|&]+=[^\/|\?|&]+/gi) || []);
|
||||
var count = matches.length;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if fields exists.
|
||||
* @param {String} url URL as String
|
||||
* @return {boolean}
|
||||
*/
|
||||
function existsFields(url)
|
||||
{
|
||||
var matches = (url.match(/\?.+/i) || []);
|
||||
var count = matches.length;
|
||||
|
||||
return (count > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Function which called from the webRequest to
|
||||
* remove the tracking fields from the url.
|
||||
*
|
||||
* @param {webRequest} request webRequest-Object
|
||||
* @return {Array} redirectUrl or none
|
||||
*/
|
||||
function clearUrl(request)
|
||||
{
|
||||
var URLbeforeReplaceCount = countFields(request.url);
|
||||
|
||||
//Add Fields form Request to global url counter
|
||||
increaseGlobalURLCounter(URLbeforeReplaceCount);
|
||||
|
||||
if(storage.globalStatus){
|
||||
|
||||
var result = {
|
||||
"changes": false,
|
||||
"url": "",
|
||||
"redirect": false,
|
||||
"cancel": false
|
||||
};
|
||||
|
||||
/*
|
||||
* Call for every provider the removeFieldsFormURL method.
|
||||
*/
|
||||
for (var i = 0; i < providers.length; i++) {
|
||||
|
||||
if(providers[i].matchURL(request.url))
|
||||
{
|
||||
result = removeFieldsFormURL(providers[i], request);
|
||||
}
|
||||
|
||||
/*
|
||||
* Expand urls and bypass tracking.
|
||||
* Cancel the active request.
|
||||
*/
|
||||
if(result.redirect)
|
||||
{
|
||||
browser.tabs.update(request.tabId, {url: result.url});
|
||||
return {cancel: true};
|
||||
}
|
||||
|
||||
/*
|
||||
* Cancel the Request and redirect to the site blocked alert page,
|
||||
* to inform the user about the full url blocking.
|
||||
*/
|
||||
if(result.cancel){
|
||||
return {
|
||||
redirectUrl: siteBlockedAlert
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
* Ensure that the function go not into
|
||||
* a loop.
|
||||
*/
|
||||
if(result.changes){
|
||||
return {
|
||||
redirectUrl: result.url
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Default case
|
||||
return {};
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to log all activities from ClearUrls.
|
||||
* Only logging when activated.
|
||||
* The log is only temporary saved in the cache and will
|
||||
* permanently saved with the saveLogOnClose function.
|
||||
*
|
||||
* @param beforeProcessing the url before the clear process
|
||||
* @param afterProcessing the url after the clear process
|
||||
* @param rule the rule that triggered the process
|
||||
*/
|
||||
function pushToLog(beforeProcessing, afterProcessing, rule)
|
||||
{
|
||||
if(storage.loggingStatus)
|
||||
{
|
||||
storage.log.log.push(
|
||||
{
|
||||
"before": beforeProcessing,
|
||||
"after": afterProcessing,
|
||||
"rule": rule,
|
||||
"timestamp": Date.now()
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Call loadOldDataFromStore, getHash, counter, status and log functions
|
||||
*/
|
||||
|
||||
loadOldDataFromStore();
|
||||
getHash();
|
||||
setBadgedStatus();
|
||||
|
||||
/**
|
||||
* Call by each tab is updated.
|
||||
* And if url has changed.
|
||||
*/
|
||||
function handleUpdated(tabId, changeInfo, tabInfo) {
|
||||
if(changeInfo.url)
|
||||
{
|
||||
delete badges[tabId];
|
||||
}
|
||||
currentURL = tabInfo.url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call by each tab is updated.
|
||||
*/
|
||||
browser.tabs.onUpdated.addListener(handleUpdated);
|
||||
|
||||
/**
|
||||
* Call by each tab change to set the actual tab id
|
||||
*/
|
||||
function handleActivated(activeInfo) {
|
||||
tabid = activeInfo.tabId;
|
||||
browser.tabs.get(tabid).then(function (tab) {
|
||||
currentURL = tab.url;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Call by each tab change.
|
||||
*/
|
||||
browser.tabs.onActivated.addListener(handleActivated);
|
||||
|
||||
/**
|
||||
* Check the request.
|
||||
*/
|
||||
function promise(requestDetails)
|
||||
{
|
||||
if(isDataURL(requestDetails))
|
||||
{
|
||||
return {};
|
||||
}
|
||||
else {
|
||||
var ret = clearUrl(requestDetails);
|
||||
return ret;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* To prevent long loading on data urls
|
||||
* we will check here for data urls.
|
||||
*
|
||||
* @type {requestDetails}
|
||||
* @return {boolean}
|
||||
*/
|
||||
function isDataURL(requestDetails) {
|
||||
var s = requestDetails.url;
|
||||
|
||||
return s.substring(0,4) == "data";
|
||||
}
|
||||
|
||||
/**
|
||||
* Call by each Request and checking the url.
|
||||
*
|
||||
* @type {Array}
|
||||
*/
|
||||
browser.webRequest.onBeforeRequest.addListener(
|
||||
promise,
|
||||
{urls: ["<all_urls>"], types: getData("types")},
|
||||
["blocking"]
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Save every minute the temporary data to the disk.
|
||||
*/
|
||||
setInterval(saveOnExit, 60000);
|
||||
|
||||
/**
|
||||
* Get the badged status from the browser storage and put the value
|
||||
* into a local variable.
|
||||
*
|
||||
*/
|
||||
function setBadgedStatus()
|
||||
{
|
||||
if(!checkOSAndroid() && storage.badgedStatus){
|
||||
browser.browserAction.setBadgeBackgroundColor({
|
||||
'color': '#'+storage.badged_color
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the icon.
|
||||
*/
|
||||
function changeIcon()
|
||||
{
|
||||
if(storage.globalStatus){
|
||||
browser.browserAction.setIcon({path: "img/clearurls.svg"});
|
||||
} else{
|
||||
browser.browserAction.setIcon({path: "img/clearurls_gray.svg"});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if it is an android device.
|
||||
* @return bool
|
||||
*/
|
||||
function checkOSAndroid()
|
||||
{
|
||||
if(os == "android")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase by {number} the GlobalURLCounter
|
||||
* @param {int} number
|
||||
*/
|
||||
function increaseGlobalURLCounter(number)
|
||||
{
|
||||
if(storage.statisticsStatus)
|
||||
{
|
||||
storage.globalurlcounter += number;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase by one the URLCounter
|
||||
*/
|
||||
function increaseURLCounter()
|
||||
{
|
||||
if(storage.statisticsStatus)
|
||||
{
|
||||
storage.globalCounter++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Writes the storage variable to the disk.
|
||||
*/
|
||||
function saveOnExit()
|
||||
{
|
||||
var json = {};
|
||||
|
||||
Object.entries(storage).forEach(([key, value]) => {
|
||||
switch (key) {
|
||||
case "ClearURLsData":
|
||||
case "log":
|
||||
json[key] = JSON.stringify(value);
|
||||
break;
|
||||
case "types":
|
||||
json[key] = value.toString();
|
||||
break;
|
||||
default:
|
||||
json[key] = value;
|
||||
}
|
||||
});
|
||||
console.log(translate('core_save_on_disk'));
|
||||
browser.storage.local.set(json);
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the value under the key on the disk.
|
||||
* @param {String} key
|
||||
* @param {Object} value
|
||||
*/
|
||||
function saveOnDisk(key, value)
|
||||
{
|
||||
browser.storage.local.set({key: value});
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve everything and save on the RAM.
|
||||
*/
|
||||
function getDataFromDisk()
|
||||
{
|
||||
browser.storage.local.get().then(start, error);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value under the key.
|
||||
* @param {String} key
|
||||
* @return {Object}
|
||||
*/
|
||||
function getData(key)
|
||||
{
|
||||
return storage[key];
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the value under the key on the RAM.
|
||||
* @param {String} key
|
||||
* @param {Object} value
|
||||
*/
|
||||
function setData(key, value)
|
||||
{
|
||||
switch (key) {
|
||||
case "ClearURLsData":
|
||||
case "log":
|
||||
storage[key] = JSON.parse(value);
|
||||
break;
|
||||
case "hashURL":
|
||||
case "ruleURL":
|
||||
storage[key] = replaceOldGithubURLs(value);
|
||||
break;
|
||||
case "types":
|
||||
storage[key] = value.split(',');
|
||||
break;
|
||||
default:
|
||||
storage[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Write error on console.
|
||||
*/
|
||||
function error()
|
||||
{
|
||||
console.log(translate('core_error'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Set default values, if the storage is empty.
|
||||
* @param {Object} items
|
||||
*/
|
||||
function initStorage(items)
|
||||
{
|
||||
initSettings();
|
||||
|
||||
if(!isEmpty(items)) {
|
||||
Object.entries(items).forEach(([key, value]) => {
|
||||
setData(key, value);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set default values for the settings.
|
||||
*/
|
||||
function initSettings()
|
||||
{
|
||||
storage.ClearURLsData = [];
|
||||
storage.dataHash = "";
|
||||
storage.badgedStatus = true;
|
||||
storage.globalStatus = true;
|
||||
storage.globalurlcounter = 0;
|
||||
storage.globalCounter = 0;
|
||||
storage.hashStatus = "error";
|
||||
storage.loggingStatus = false;
|
||||
storage.log = {"log": []};
|
||||
storage.statisticsStatus = true;
|
||||
storage.badged_color = "ffa500";
|
||||
storage.hashURL = "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/rules.hash";
|
||||
storage.ruleURL = "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.json";
|
||||
storage.types = ["main_frame", "sub_frame", "xmlhttprequest"];
|
||||
storage.reportServer = "https://clearurls.xn--rb-fka.it";
|
||||
}
|
||||
|
||||
/**
|
||||
* Reloads the extension.
|
||||
*/
|
||||
function reload()
|
||||
{
|
||||
browser.runtime.reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace the old GitHub URLs with the
|
||||
* new GitLab URLs.
|
||||
*/
|
||||
function replaceOldGithubURLs(url)
|
||||
{
|
||||
switch (url) {
|
||||
case "https://raw.githubusercontent.com/KevinRoebert/ClearUrls/master/data/rules.hash?flush_cache=true":
|
||||
return "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/rules.hash";
|
||||
case "https://raw.githubusercontent.com/KevinRoebert/ClearUrls/master/data/data.json?flush_cache=true":
|
||||
return "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.json";
|
||||
default:
|
||||
return url;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if an object is empty.
|
||||
* @param {Object} obj
|
||||
* @return {Boolean}
|
||||
*/
|
||||
function isEmpty(obj)
|
||||
{
|
||||
return (Object.getOwnPropertyNames(obj).length === 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current URL.
|
||||
* @return {String} [description]
|
||||
*/
|
||||
function getCurrentURL()
|
||||
{
|
||||
return currentURL;
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
body {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.small-version {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.navbar-header {
|
||||
margin-top: 0;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.col-sm-1 {
|
||||
margin-top: -10px;
|
||||
}
|
||||
|
||||
#body-popup {
|
||||
width: 200px;
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
{
|
||||
"manifest_version": 2,
|
||||
"name": "ClearURLs",
|
||||
"version": "1.3.3.14",
|
||||
"author": "Kevin R.",
|
||||
"description": "Remove tracking elements form URLs.",
|
||||
"homepage_url": "https://gitlab.com/KevinRoebert/ClearUrls",
|
||||
"default_locale": "en",
|
||||
"icons": {
|
||||
"16": "img/clearurls.png",
|
||||
"19": "img/clearurls.png",
|
||||
"20": "img/clearurls.png",
|
||||
"24": "img/clearurls.png",
|
||||
"30": "img/clearurls.png",
|
||||
"32": "img/clearurls.png",
|
||||
"38": "img/clearurls.png",
|
||||
"48": "img/clearurls.png",
|
||||
"64": "img/clearurls.png",
|
||||
"96": "img/clearurls.png",
|
||||
"128": "img/clearurls.png"
|
||||
|
||||
},
|
||||
"browser_action": {
|
||||
"browser_style": true,
|
||||
"default_icon": {
|
||||
"16": "img/clearurls.png",
|
||||
"19": "img/clearurls.png",
|
||||
"20": "img/clearurls.png",
|
||||
"24": "img/clearurls.png",
|
||||
"30": "img/clearurls.png",
|
||||
"32": "img/clearurls.png",
|
||||
"38": "img/clearurls.png",
|
||||
"48": "img/clearurls.png",
|
||||
"64": "img/clearurls.png",
|
||||
"96": "img/clearurls.png",
|
||||
"128": "img/clearurls.png"
|
||||
|
||||
},
|
||||
"default_title": "ClearURLs Add-on",
|
||||
"default_popup": "html/popup.html"
|
||||
},
|
||||
"permissions": [
|
||||
"*://*/*",
|
||||
"<all_urls>",
|
||||
"webRequest",
|
||||
"webRequestBlocking",
|
||||
"storage",
|
||||
"tabs"
|
||||
],
|
||||
"background": {
|
||||
"scripts": [
|
||||
"browser-polyfill.js",
|
||||
"external_js/jquery-3.2.1.min.js",
|
||||
"external_js/sha256.jquery.js",
|
||||
"clearurls.js"
|
||||
]
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": ["<all_urls>"],
|
||||
"js": [
|
||||
"browser-polyfill.js"
|
||||
]
|
||||
}
|
||||
],
|
||||
"options_ui": {
|
||||
"page": "html/settings.html"
|
||||
}
|
||||
}
|
||||
165
LICENSE
Normal file
165
LICENSE
Normal file
@@ -0,0 +1,165 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
||||
118
LICENSE.md
118
LICENSE.md
@@ -1,118 +0,0 @@
|
||||
Qabel Public License Version 0.2 (QaPL v0.2) (c) Qabel GmbH, Hannover
|
||||
=====================================================================
|
||||
|
||||
|
||||
You may copy and distribute verbatim copies of this license agreement. You may also use content from it for your own license agreement. Unless not expressly stated, you may not use the name Qabel Public License ("QaPL") in connection with any license agreement that is not a verbatim copy of This License.
|
||||
|
||||
|
||||
PREAMBLE
|
||||
--------
|
||||
|
||||
Today Software is the undisputed centerpiece of the information society and access to software and information society services became a public commodity. Yet traditional software is made available in object code only, where the software user is not entitled to study or even modify the source code. We believe that this is a salient shortcoming in particular when it comes to software which is designed to help the user protect his privacy in a virtual world. A proprietary software developer who refuses to unveil the source code of its security software, requires users to place a great deal of faith into the computer program and its ability to protect personal data. Not only because trust in conventional software security was all too often disappointed, we have decided to replace "trust" with "transparency" and everybody is welcome to study, modify and improve the source code of this software. Furthermore, and although we believe in the idea of free software, we have decided to make two important exceptions, to wit, QaPL-licensed software should neither be used commercially without our consent, nor for military, intelligence or related purposes. By that we hope to make it a powerful, self sustaining and constantly evolving tool that helps to reinforce data security and the protection of personal data. However, it shall be up to the user to decide whether he finds this software fit for the purpose.
|
||||
|
||||
|
||||
[0] Definitions
|
||||
---------------
|
||||
|
||||
[a] "Application" means any software that may be, directly or indirectly, linked to the Library by using its interface.
|
||||
|
||||
[b] "Commercial use" means utilizing the Library or other software licensed under the QaPL or parts thereof to, directly or indirectly, establish a source of income, including but not limited to, embedding the Library or other software licensed under the QaPL or parts thereof into Proprietary Software, executable software, or consulting services utilizing the Library or other software licensed under the QaPL or parts thereof. It is not considered Commercial Use if the Licensee, including a commercial enterprise, uses the Library or other software licensed under the QaPL or parts thereof for academic, study and/or research purposes, or if a software project is solely based on donations.
|
||||
|
||||
[c] "Original Copyright Holder" means Kevin Röbert.
|
||||
|
||||
[d] "Contributor" means any person or entity that creates or contributes to the creation of modifications to the Library or other software licensed under the QaPL.
|
||||
|
||||
[e] "Library" means a collection of software functions, subroutines and/or data prepared so as to be conveniently linked with Applications (which use some of those functions and data) to form executables including associated documentation.
|
||||
|
||||
[f] "Licensee" means any individual or legal entity exercising rights under the QaPL.
|
||||
|
||||
[g] "Make Publicly Available" refers to the public distribution of the Library or other software licensed under the QaPL in an immaterial form, including but not limited to, making it available for download in data networks and Software as a Service (SaaS).
|
||||
|
||||
[h] "Modification" means any change to the Library or other software licensed under the QaPL in a way that would, under the applicable law, require the copyright holder's permission, including but not limited to the extension, deletion, alteration, translation into other programming languages or combination with other software.
|
||||
|
||||
[i] "Modification of the Library" means the Library or its derivatives containing the Library as a whole or in parts and Applications or any other software that are linked to the Library.
|
||||
|
||||
[j] "Object Code" means any machine-readable form of the Library or other software licensed under the QaPL, excluding the Source Code.
|
||||
|
||||
[k] "Proprietary Software" means software that is not licensed under an open source license as defined by the open source definition (Version 1.9).
|
||||
|
||||
[l] "Source Code" means the preferred form of the Library or other software licensed under the QaPL for making Modifications to it.
|
||||
|
||||
[m] "This License" means the Qabel Public License regardless of its version.
|
||||
|
||||
|
||||
[1] Scope of Application
|
||||
-------------------------------
|
||||
|
||||
The QaPL applies to any software library or other software that contains a notice placed by the copyright holder or another authorised party stating that the Library or other software is governed by the
|
||||
terms of the QaPL. This license shall also apply to remote network interaction.
|
||||
|
||||
|
||||
[2] License Grant and Conditions
|
||||
------------------------------------------
|
||||
|
||||
[a] As far as This License is not restricted according to sec. [3], Licensee may free of charge and in any medium modify, reproduce, distribute, and Make Publicly Available the Library or other software licensed under the QaPL.
|
||||
|
||||
[b] Licensee may distribute, and Make Publicly Available unmodified versions, of the Library or other software licensed under the QaPL provided that the following condition is met: A conspicuous reference to the text of This License
|
||||
that allows any recipient to easily access the text of This License must be provided.
|
||||
|
||||
[c] Licensee may distribute, and Make Publicly Available modified versions, of the Library or other software licensed under the QaPL provided that, in addition to the conditions stated in sec. [2][b], the following conditions are met: The files modified must bear notices which state that the files were changed, the date of change and the author of the Modification. The Library or other software licensed under the QaPL must in its entirety be licensed free of charge to all third parties under the terms of This License.
|
||||
|
||||
[d] If you wish to distribute or Make the Library or other software licensed under the QaPL, modified or unmodified, Publicly Available in Object Code form only, you must in addition to the forgoing make the complete Source Code publicly available or ensure that the Original Copyright Holder does so and make a conspicuous reference to the internet address from which the Source Code may be downloaded.
|
||||
|
||||
|
||||
[3] Restrictions
|
||||
--------------------
|
||||
|
||||
[a] No license is granted by the Original Copyright Holder for the Commercial Use of the Library or other software licensed under the QaPL. In particular, no license is granted for linking Applications to the Library which shall be used commercially. If you would like to use the Library or other software licensed under the QaPL for commercial purposes or link to an Application that shall be used commercially, including selling an Application that shall be linked to the Library or other software licensed under the QaPL, please inquire with the Original Copyright Holder.
|
||||
|
||||
[b] No license is granted by the Original Copyright Holder for military, intelligence or related purposes, including but not limited to intelligence and military research.
|
||||
|
||||
|
||||
[4] Contributor's License Grant
|
||||
----------------------------------------
|
||||
|
||||
[a] A Contributor, who distributes or makes publicly available a Modification, hereby grants the Original Copyright Holder a perpetual, irrevocable, worldwide, free of charge, royalty-free, non-exclusive, unrestricted license that may be subject to third party property claims, to use, reproduce, modify, display, perform, sublicense, distribute, Make Publicly Available, commercially exploit and exercise all ownership rights in the Contributors contribution. Contributor hereby agrees that he will not assert any moral rights in his contribution against the Original Copyright Holder.
|
||||
|
||||
[b] A contributor, who distributes or makes publicly available a Modification, hereby grants to the Original Copyright Holder a perpetual, worldwide, non-exclusive, free-of-charge, royalty-free patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Library or other software licensed under the QaPL. Where such license applies it shall only apply to those patent claims licensable by the Contributor that are necessarily infringed by their contributions alone or by combination of their contributions with the Library or other software licensed under the QaPL with which such contribution was combined.
|
||||
|
||||
[c] Contributor represents and warrants that his contribution is his own original creation and to the best of his knowledge he can legally grant the rights in his contribution set out in This License and, where applicable, is authorised by his employer and that the Original Copyright Holder exercising the rights granted under this license does, to the best of the Contributors knowledge, not infringe any third party rights. Contributor further represents that he is not aware of any claims, suits or court actions in relation to his contribution. Contributor agrees that he will immediately notify the Original Copyright Holder if he becomes aware of any third party claims and, if the Contributor after having submitted or otherwise distributed his contribution, becomes aware of a third party claim in relation to his contribution, shall promptly take all reasonable measures to mitigate damages resulting from the infringement of third party claims, including but not limited to informing those who may have received software containing the contribution.
|
||||
|
||||
|
||||
[5] Conclusion of Contract
|
||||
----------------------------------
|
||||
|
||||
[a] This License constitutes the offer to conclude a contract to use the Library or other software licensed under the QaPL in compliance with the conditions of This License. Acceptance may be declared by exercising the right granted under sec. [2] of This License.
|
||||
|
||||
[b] All Licensees obtain the rights granted by This License directly from the Original Copyright Holder. Without having to accept This License the Library or other software may still be used in accordance with the applicable statutory provisions.
|
||||
|
||||
|
||||
[6] Termination
|
||||
--------------------
|
||||
|
||||
The rights granted under This License will terminate
|
||||
automatically if the Licensee fails to comply with its terms.
|
||||
|
||||
|
||||
[7] Warranty and Liability
|
||||
---------------------------------
|
||||
|
||||
[a] The copyright holders are not liable for contradictory third-party rights, unless they were aware of such rights without informing the Licensee.
|
||||
|
||||
[b] Liability for damages arising out of the use or inability to use the Library or other software licensed under the QaPL, including but not limited to software failure, data loss, data being rendered inaccurate, a failure of the software to operate with any other program and any other defects in the Library or other software licensed under the QaPL, shall be governed by separate agreements, or, if no such agreement exists, by the applicable statutory provisions.
|
||||
|
||||
|
||||
[8] License Updates
|
||||
-------------------------
|
||||
|
||||
Qabel GmbH or its legal successors may, from time to time, revise and update the QaPL in order to address new developments and concerns. These revisions and updates will reflect the spirit of the current license version and will not impose on any Licensee or copyright holder additional obligations. QaPL license updates shall replace all older license versions in existing agreements. This does not apply to original copyright holders other than Qabel GmbH, who have chosen to submit their program to the QaPL, unless they have designated their program as licensed under "QaPL 0.2 or any later version".
|
||||
|
||||
|
||||
[9] Miscellaneous
|
||||
----------------------
|
||||
|
||||
[a] This License shall be governed by German Law. The application of the UN Convention on the International Sale of Goods (CISG) and the principles of conflict of laws shall be excluded.
|
||||
|
||||
[b] If you wish to incorporate parts of the Library or other software licensed under the QaPL into other software whose license terms contradict with the provisions of this license, you may inquire with either the Original Copyright Holder or the copyright holder of the other software on possible exceptions.
|
||||
|
||||
[c] If, under the applicable law, any provision of This License is or becomes invalid or unenforceable, it shall not affect the validity or enforceability of the remainder of the terms of This License, and without further action by the parties to This License, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
|
||||
6
PRIVACY.md
Normal file
6
PRIVACY.md
Normal file
@@ -0,0 +1,6 @@
|
||||
ClearURLs protects and respects your privacy.
|
||||
We do not collect any of your usage data. Furthermore, ClearURLs has no home server nor embed any kind of analytic hooks in its code.
|
||||
|
||||
The only time ClearURLs connects to a remote server (gitlab.io or github.io) is to update the rules file and the associated hash file. You can replace the default update address (_rules1.clearurls.xyz_/_rules2.clearurls.xyz_) with your address at any time in the settings.
|
||||
|
||||
The project and the rule file are currently hosted on gitlab.com and github.com, which is owned by GitLab Inc. and GitHub Inc. Thus they are unrelated to ClearURLs. The _rules1.clearurls.xyz_ and _rules2.clearurls.xyz_ addresses are just CNAME records and thus we got no information about the request.
|
||||
114
README.md
114
README.md
@@ -1,48 +1,106 @@
|
||||
# ClearURLs [](https://addons.mozilla.org/en-US/firefox/addon/clearurls/versions/)
|
||||
[](https://www.paypal.me/KevinRoebert)
|
||||
<a href="https://www.paypal.me/KevinRoebert" target="_blank"><img src="https://raw.githubusercontent.com/KevinRoebert/DonateButtons/master/Paypal.png" alt="Buy Me A Coffee" height="55"></a>
|
||||
<a href="https://www.buymeacoffee.com/KevinRoebert" target="_blank"><img src="https://raw.githubusercontent.com/KevinRoebert/DonateButtons/master/BuyMeACoffee.png" alt="Buy Me A Coffee" height="55"></a>
|
||||
|
||||
[](https://addons.mozilla.org/en-US/firefox/addon/clearurls/reviews/)
|
||||
[<img src="https://blog.mozilla.org/addons/files/2020/04/get-the-addon-fx-apr-2020.svg" alt="for Firefox" height="60px">](https://addons.mozilla.org/firefox/addon/clearurls/) [<img src="https://docs.clearurls.xyz/1.22.0/assets/img/MEA-button.png" alt="for Edge" height="60px">](https://microsoftedge.microsoft.com/addons/detail/mdkdmaickkfdekbjdoojfalpbkgaddei)
|
||||
|
||||
[](https://addons.mozilla.org/en-US/firefox/addon/clearurls/statistics/?last=30)
|
||||
# <sub><img src="https://gitlab.com/ClearURLs/ClearUrls/raw/master/img/clearurls.svg" width="64px" height="64px"></sub> ClearURLs
|
||||
|
||||
**ClearURLs** is an add-on based on the new WebExtensions technology and is optimized for *Firefox* and now also available for *Chrome* based browsers.
|
||||
**ClearURLs** is an add-on based on the new WebExtensions technology and is optimized for *Firefox* and some *Chrome* based browsers.
|
||||
|
||||
This add-on will remove the tracking fields from all URLs which are visited by the browser and use a rule file, namely `data.json`.
|
||||
|
||||
This add-on protects your privacy and block the request from advertising services like *doubleclick.net*.
|
||||
This extension will automatically remove tracking elements from URLs to help protect your privacy when browsing the Internet,
|
||||
which is regularly updated by us and can be found [here](https://gitlab.com/anti-tracking/ClearURLs/rules/-/raw/master/data.min.json).
|
||||
|
||||
## Application
|
||||
Large (and small) webpages use elements in the URL, e.g.: https://example.com?source=thisIstheSiteIvisitedBefore to track your online activities. In this example, the source field tells the provider which page you visited before. The add-on will remove these tracking fields from the URL.
|
||||
Many websites use tracking elements in the URL (e.g. `https://example.com?utm_source=newsletter1&utm_medium=email&utm_campaign=sale`) to mark your online activity.
|
||||
All that tracking code is not necessary for a website to be displayed or work correctly and can therefore be removed—that is exactly what ClearURLs does.
|
||||
|
||||
## Installation
|
||||
Mozilla Add-on: [](https://addons.mozilla.org/en-US/firefox/addon/clearurls/)
|
||||
Another common example are Amazon URLs. If you search for a product on Amazon you will see a very long URL, such as:
|
||||
```
|
||||
https://www.amazon.com/dp/exampleProduct/ref=sxin_0_pb?__mk_de_DE=ÅMÅŽÕÑ&keywords=tea&pd_rd_i=exampleProduct&pd_rd_r=8d39e4cd-1e4f-43db-b6e7-72e969a84aa5&pd_rd_w=1pcKM&pd_rd_wg=hYrNl&pf_rd_p=50bbfd25-5ef7-41a2-68d6-74d854b30e30&pf_rd_r=0GMWD0YYKA7XFGX55ADP&qid=1517757263&rnid=2914120011
|
||||
```
|
||||
|
||||
[Chrome Add-on](https://gitlab.com/KevinRoebert/ClearUrls/tags?utf8=%E2%9C%93&search=_cv)
|
||||
Indeed most of the above URL is tracking code. Once ClearURLs has cleaned the address, it will look like this:
|
||||
`https://www.amazon.com/dp/exampleProduct`
|
||||
|
||||
## Contribute
|
||||
If you have any suggestions or complaints, please [create an issue.](https://gitlab.com/KevinRoebert/ClearUrls/issues/new)
|
||||
## Features
|
||||
|
||||
* Removes tracking from URLs automatically in the background
|
||||
* Blocks some common ad domains (optional)
|
||||
* Has a built-in tool to clean up multiple URLs at once
|
||||
* Supports redirection to the destination, without tracking services as middleman
|
||||
* Adds an entry to the context menu so that links can be copied quickly and cleanly
|
||||
* Blocks hyperlink auditing, also known as *ping tracking* (see also [this article](https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing))
|
||||
* Prevents ETag tracking
|
||||
* Prevents tracking injection over history API (see also: [The replaceState() method](https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method))
|
||||
* Prevents Google from rewriting the search results (to include tracking elements)
|
||||
* Prevents Yandex from rewriting the search results (to include tracking elements)
|
||||
|
||||
## Permissons
|
||||
Reasoning for needed permissions can be found under [here](https://gitlab.com/ClearURLs/ClearUrls/issues/159).
|
||||
|
||||
## Screenshot
|
||||

|
||||

|
||||
|
||||
## CI/CD Artifacts Download (for Firefox- and Chrome-Dev only)
|
||||
Here you can download the packed files for the Firefox- and Chrome-Dev:
|
||||
|
||||
- [ClearURLs.zip](https://gitlab.com/ClearURLs/ClearUrls/-/jobs/artifacts/master/raw/ClearURLs.zip?job=bundle%20addon)
|
||||
|
||||
## Test
|
||||
If you want to test whether ClearURLs works correctly on your system, you can go to this test page: [https://test.clearurls.xyz/](https://test.clearurls.xyz/)
|
||||
|
||||
## Contribute
|
||||
If you have any suggestions or complaints, please [create an issue.](https://gitlab.com/ClearURLs/ClearUrls/issues/new)
|
||||
|
||||
**Note: If you have any suggestions or complaints regarding the rules, please [create an issue in this repo](https://gitlab.com/anti-tracking/ClearURLs/rules/-/issues/new) or email us rules.support (at) clearurls.xyz (this mail will automatically create a new issue in this repo).**
|
||||
|
||||
### Translate ClearURLs
|
||||
You want to help translating ClearURLs into many languages? – Nice
|
||||
|
||||
You can choose between two options to contribute. You can create a merge request, or you can use the POEditor to translate ClearURLs.
|
||||
|
||||
*Hint: The description field in the translation files are only an information for what the translation is used.
|
||||
It is not necessary to translate the description field; in the most cases it is empty.*
|
||||
|
||||
#### Merge request
|
||||
If you want to create a merge request, you must open the path [`_locales/en/messages.json`](https://gitlab.com/ClearURLs/ClearUrls/-/blob/master/_locales/en/messages.json) in the ClearURLs repo
|
||||
and translate the english terms into terms of your language. Once you have translated all the terms, you make a pull request of your translation.
|
||||
Please push your translation into the folder `_locales/{language code}/messages.json`.
|
||||
|
||||
#### POEditor
|
||||
[<img src="https://poeditor.com/public/images/logo/logo.svg" alt="https://poeditor.com/join/project/vKTpQWWvk2" width="150">](https://poeditor.com/join/project/vKTpQWWvk2)
|
||||
|
||||
## Projects that use parts of ClearURLs
|
||||
|
||||
* [Uroute](https://github.com/walterl/uroute) used ClearURLs to filter/clean URL before launching browser
|
||||
* [Scrub](https://gitlab.com/CrunchBangDev/cbd-cogs/-/tree/master/Scrub) used ClearURLs to filter/clean URLs as cog for the Red Discord bot
|
||||
* [Unalix](https://github.com/AmanoTeam/Unalix) small, dependency-free, fast Python package for removing tracking fields from URLs
|
||||
* [Unalix-nim](https://github.com/AmanoTeam/Unalix-nim) small, dependency-free, fast Nim package and CLI tool for removing tracking fields from URLs
|
||||
* [UnalixAndroid](https://github.com/AmanoTeam/UnalixAndroid) simple Android app that removes link masking/tracking and optionally resolves shortened links
|
||||
|
||||
## Recommended by...
|
||||
* [ghacks-user.js](https://github.com/ghacksuserjs/ghacks-user.js/wiki/4.1-Extensions)
|
||||
* [Awesome Humane Tech List](https://github.com/humanetech-community/awesome-humane-tech#tracking)
|
||||
* [PrivacyTools](https://www.privacytools.io/browsers/#addons)
|
||||
* [New York Times Wirecutter](https://www.nytimes.com/wirecutter/reviews/our-favorite-ad-blockers-and-browser-extensions-to-protect-privacy/#cleaner-links-clearurls)
|
||||
* ClearURLs is part of Mozilla's recommended extensions program
|
||||
|
||||
## Permissions
|
||||
Reasoning for needed permissions you can find under [this wiki page](https://docs.clearurls.xyz/latest/permissions/).
|
||||
|
||||
## Copyright
|
||||
We use some third-party scripts in our add-on. The authors and licenses are listed below.
|
||||
- [WebExtension browser API Polyfill](https://github.com/mozilla/webextension-polyfill) |
|
||||
Copyright by Mozilla |
|
||||
[MPL-2.0](https://github.com/mozilla/webextension-polyfill/blob/master/LICENSE)
|
||||
- [Bootstrap v3.3.7 ](http://getbootstrap.com) |
|
||||
- [Bootstrap](https://github.com/twbs/bootstrap) |
|
||||
Copyright 2011-2016 Twitter, Inc. |
|
||||
[MIT](https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
- [jQuery v3.2.1](https://jquery.com/) |
|
||||
Copyright 2017 The jQuery Foundation |
|
||||
- [jQuery](https://github.com/jquery/jquery/) |
|
||||
Copyright JS Foundation and other contributors |
|
||||
[MIT](https://jquery.org/license/)
|
||||
- [sha256.jquery.plugin](https://github.com/orsozed/sha256.jquery.plugin) |
|
||||
Copyright 2003, Christoph Bichlmeier |
|
||||
[MIT](https://raw.github.com/orsozed/JQuery-Plugins/master/license/MIT-LICENSE.txt) |
|
||||
[GPLv2](https://raw.github.com/orsozed/JQuery-Plugins/master/license/GPL-LICENSE.txt)
|
||||
- [DataTables](https://datatables.net/) | Copyright 2011-2015 SpryMedia Ltd | [MIT](https://datatables.net/license/)
|
||||
- [Pick-a-Color v1.2.3](https://github.com/lauren/pick-a-color) | Copyright (c) 2013 Lauren Sperber and Broadstreet Ads |
|
||||
[MIT](https://github.com/lauren/pick-a-color/blob/master/LICENSE)
|
||||
|
||||
## Licence
|
||||
[](https://gitlab.com/KevinRoebert/ClearUrls/blob/master/LICENSE.md)
|
||||
- [DataTables](https://github.com/DataTables/DataTables/tree/master) | Copyright (c) 2008-2015 SpryMedia Limited | [MIT](https://datatables.net/license/)
|
||||
- [Pickr](https://github.com/Simonwep/pickr/) | Copyright (c) 2018 - 2020 Simon Reinisch |
|
||||
[MIT](https://github.com/Simonwep/pickr/blob/master/LICENSE)
|
||||
- [Font Awesome](https://github.com/FortAwesome/Font-Awesome/) | Copyright (c) @fontawesome |
|
||||
[Font Awesome Free License](https://github.com/FortAwesome/Font-Awesome/blob/master/LICENSE.txt)
|
||||
|
||||
378
_locales/ar/messages.json
Normal file
378
_locales/ar/messages.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "حتى تاريخ ",
|
||||
"description": "يشير كود الحالة هذا ، الى أنه لا يوجد تعديل متاح لقواعد ClearURLs وأن كل شيء قد تم حتى تاريخه. "
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "تم التعديل ",
|
||||
"description": "يشير كود الحالة هذا الى أنه تم تعديل قواعد ClearURLs بنجاح. "
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "التعديل متاح ",
|
||||
"description": "يشير كود الحالة هذا ، الى أنه يتم اتاحة تعديل لقواعد ClearURLs. "
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "خطأ ",
|
||||
"description": "يشير كود الحالة هذا الى أنه لا يمكن بدء ClearURLs بطريقة صحيحة. "
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "أوبس شيء حدث خطأ ! ",
|
||||
"description": "يشير كود الحالة هذا الى أنه قد حدث خطأ أثناء تعديل قواعد ClearURLs. "
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "تم اعادة توجيه عنوان url ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه في اعادة الاتجاه في سجل ClearURLs. "
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "تم اقفال هذا النطاق ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه في النطاقات التي تم اعاقتها في سجل ClearURLs. "
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ ClearURLs ] : تم اضافة وحدة انصات السجل. ",
|
||||
"description": "يتم استخدام هذه السلسلة في بدء سجل ClearURLs. "
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Log من ClearURLs ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كنص رأس في صفحة السجل. "
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "قبل التشغيل ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان جدول في صفحة السجل. "
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "بعد التشغيل ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان جدول في صفحة السجل. "
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "القاعدة ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان جدول في صفحة السجل. "
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "الوقت ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان جدول في صفحة السجل. "
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "ارجاع ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه لاختيار اعادة الضبط في صفحة السجل. "
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "يقوم باعادة ضبط السجل الشامل ",
|
||||
"description": "يتم استخدام هذه العبارة كعنوان لاختيار اعادة الضبط في صفحة السجل. "
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Configs ",
|
||||
"description": "يتم استخدام هذه السلسلة كعنوان للتوصيف في الصفحة المظهرة. "
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "مرشح البيانات ",
|
||||
"description": "يتم استخدام هذه العبارة كاسم لاختيار مرشح البيانات في الصفحة popup. "
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "مفتاح ترشيح البيانات يقوم بتشغيل وظيفة التنظيف الخاصة ب ـClearURLs. اذا قمت بالغاء اتاحة هذا الاختيار ، سيتم الغاء اتاحة كل addon ",
|
||||
"description": "يتم استخدام هذه العبارة كعنوان لاختيار مرشح البيانات في الصفحة popup. "
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "تسجيل ",
|
||||
"description": "يتم استخدام هذا النص كاسم لمفتاح تشغيل التسجيل في الصفحة popup. "
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "يتم حفظ السجل محليا فقط. ننصح بعدم هذه الميزة إذا لم تكن في حاجة إليها ",
|
||||
"description": "يتم استخدام هذه السلسلة كعنوان لمفتاح تشغيل التسجيل في الصفحة المظهرة. "
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "الشارات ",
|
||||
"description": "يتم استخدام هذا النص كاسم لمفتاح تبديل الشارات في الصفحة popup. "
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "عرض أرقام urls التي تم تنظيفها ",
|
||||
"description": "يتم استخدام هذا النص كعنوان لمفتاح تبديل الشارات في الصفحة popup. "
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "الإحصاءات ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان للاحصائيات في الصفحة المظهرة. "
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "العناصر ",
|
||||
"description": "يتم استخدام هذه السلسلة كاسم للعناصر التي توجد في الصفحة المظهرة. "
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "مقفل ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كاسم للعناصر التي تم اقفالها في الصفحة المظهرة. "
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "النسبة المئوية ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كاسم للنسبة المئوية للعناصر التي تم اعاقتها في الصفحة المظهرة. "
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "ارجاع ",
|
||||
"description": "يتم استخدام هذه العبارة كاسم لاختيار ارجاع الاحصائيات في الصفحة popup. "
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "ارجاع الاحصائيات الشاملة ",
|
||||
"description": "يتم استخدام هذه السلسلة كعنوان لاختيار ارجاع الاحصائيات في الصفحة popup. "
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "القواعد-الحالة ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان لقسم حالة-القواعد في الصفحة المظهرة. "
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "السجل ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كاسم لاختيار السجل في الصفحة المظهرة. "
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "قم بفتح السجل ",
|
||||
"description": "يتم استخدام هذه السلسلة كعنوان لاختيار السجل في الصفحة المظهرة. "
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "تسجيل عنوان URL الحالي ",
|
||||
"description": "ملحوظة : لا يتم استخدامها حاليا. "
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "قم بتسجيل عنوان URL الحالي من علامة التبويب هذه. ",
|
||||
"description": "لا يتم استخدامه حاليا. "
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ ClearURLs ] : حفظ على القرص. ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه لتخبر المستخدم ، بأن ClearURLs يقوم بحفظ المحددات على القرص. "
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ ClearURLs ] : لا يمكن بدء addon. ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه لتخبر المستخدم بأنه لا يمكن بدء ClearURLs. "
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "الإحصاءات ",
|
||||
"description": "يتم استخدام هذه العبارة كاسم لاختيار مفتاح الاحصائيات في الصفحة المظهرة. "
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "تشغيل أو ايقاف تشغيل وظيفة الاحصائيات ",
|
||||
"description": "يتم استخدام هذه السلسلة كعنوان لمفتاح تبديل الاحصائيات في الصفحة المظهرة. "
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "محددات ClearURL ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان في صفحة المحددات. "
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "لون الشارة ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كاسم لعلامة اللون التي تم تعليمها. "
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "ارجاع ",
|
||||
"description": "يتم استخدام هذه العبارة كاسم لاختيار اعادة الضبط في صفحة المحددات. "
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "يقوم بارجاع كل شيء ",
|
||||
"description": "يتم استخدام هذه العبارة كعنوان لاختيار اعادة الضبط في صفحة المحددات. "
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "عنوان url لملف data.json (القواعد) ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كاسم للعلامة المميزة لعنوان url للقاعدة. "
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "حفظ & اعادة تحميل اضافة ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كاسم لملف sae&reload في صفحة المحددات. "
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "يتم حفظ المحددات ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان لملف sae&reload في صفحة المحددات. "
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "عنوان URL الى ملف Rules.hash file (hash) ",
|
||||
"description": "يتم استخدام هذه العبارة كاسم للعلامة المميزة لعنوان URL الى rule.hash. "
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>أنواع الطلب</a> (مستوى الخبراء) ",
|
||||
"description": "يتم استخدام هذه السلسلة كاسم للعلامة المميزة للأنواع. "
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "وحدة خدمة التقرير لعناوين URL ",
|
||||
"description": "ملحوظة : لا يتم استخدامها حاليا. "
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "تم تسجيل عنوان URL بنجاح. سنقوم بالتحقق من عنوان URL هذا قريبا. ",
|
||||
"description": "ملحوظة : لا يتم استخدامها حاليا. "
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "يبدو أن عنوان URL هذا تم تسجيله بالفعل. ",
|
||||
"description": "ملحوظة : لا يتم استخدامها حاليا. "
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "تبرع لمبتكر ClearURLs. ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه للاشارة الى صفحة تبرع. "
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "نسخ مكان وصلة نظيفة ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه في القائمة السياقية لنسخ وصلات نظيفة. "
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "عرض ادخال القائمة السياقية ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه لتبديل ادخال القائمة السياقية لنسخ وصلات نظيفة. "
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "تجنب تتبع مسار عملية الحقن على السجل التاريخي API (أنظر أيضا : <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>طريقة replaceState ()</a>) ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كاسم للعلامة المميزة لوحدة انصات السجل التاريخي API. "
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "أداة تنظيف ClearURLs ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان في صفحة أداة التنظيف. "
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "باستخدام هذه الأداة يمكنك اللصق في URLs وسيقوم ClearURLs بتنظيف عناوين URL بعد الضغط على الاختيار الأخضر. يمكنك لصق عناوين URL متعددة في وقت واحد ، ولكن يجب أن يكون كل عنوان URL في سطر منفصل. ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كوصف لأداة التنظيف. "
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "اعادة تنظيم عناوين URL ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كاسم لاختيار عنوان url غير صحيح. "
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "وهنا يمكنك اللصق في عناوين URL المتسخة : ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان في صفحة أداة التنظيف لعناوين URL المتسخة. "
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "هنا يمكنك ايجاد عناوين URL التي تم تنظيفها : ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان في صفحة أداة التنظيف لعناوين URL النظيفة. "
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "تخطي URLs على الأنظمة الرئيسية المحلية (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost) ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعلامة مميزة لمفتاح تخطي النظام الرئيسي المحلي "
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "يقوم بتخطي عناوين URL على الأنظمة الرئيسية المحلية ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان لمفتاح تخطي النظام الرئيسي المحلي "
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "ارسال ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه لاختيار الارسال في صفحة السجل. "
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "ارسال السجل الشامل ",
|
||||
"description": "يتم استخدام هذه السلسلة كعنوان لاختيار التصدير في صفحة السجل. "
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "استقبال ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه لاختيار الاستقبال في صفحة السجل. "
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "استقبال السجل الشامل ",
|
||||
"description": "يتم استخدام هذه السلسلة كعنوان لاختيار الاستقبال في صفحة السجل. "
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "ارسال ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كاسم لاختيار التصدير في صفحة المحددات. "
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "صادرات كل شيء ",
|
||||
"description": "يتم استخدام هذه السلسلة كعنوان لاختيار التصدير في صفحة المحددات. "
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "استقبال ",
|
||||
"description": "يتم استخدام هذه العبارة كاسم لاختيار اعادة الضبط في صفحة المحددات. "
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "لاستقبال كل شيء ",
|
||||
"description": "يتم استخدام هذه السلسلة كعنوان لاختيار الاستقبال في صفحة المحددات. "
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "قم بتحديد السجل الى $LIMIT$ ادخالات. ",
|
||||
"description": "يتم استخدام هذه العبارة كاسم للعلامة المميزة لحدود السجل. ",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "1 دولار ",
|
||||
"example": "100 "
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "تم تجميع هذا الموقع بواسطة <b>ClearURLs</b> ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان في صفحة الموقع التي تم اعاقتها. "
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "تم تجميع هذا الموقع بواسطة <b>ClearURLs</b> Add-on ، لأننا نتعرف على هذا الموقع على أنه خدمة اعلانية و / أو تتبع. لزيارة هذا الموقع ، يجب أن تقوم مؤقتا بايقاف تشغيل البرنامج المساعد أو عدم اتاحة حجب النطاق في محددات ClearURLs. بعد ذلك ، يمكنك الضغط على المفتاح الموجود بأسفل لتحميل الصفحة. ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كنص في صفحة الموقع التي تم اقفالها. "
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "صفحة الزيارة ",
|
||||
"description": "يتم استخدام هذا التسلسل كمفتاح في صفحة الموقع التي تم اعاقتها. "
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "السماح بتسويق الاحالة ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعلامة مميزة لمفتاح تسويق الاحالة "
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "يسمح بتسويق الاحالة ",
|
||||
"description": "يتم استخدام هذه السلسلة كعنوان لمحول تسويق الاحالة "
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ ClearURLs ] : قام جهاز المراقبة باكتشاف مشكلة وقد فشل بالفعل بأوقات $TIMES$. ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كنص لجهة المراقبة. ",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "1 دولار ",
|
||||
"example": "3 "
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "السماح بحجب النطاق (يمكن أن يؤدي ذلك الى حدوث مشاكل في الصفحات التي لا تسمح باستخدام AdBlockers) ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعلامة مميزة لمفتاح حجب النطاق "
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "السماح بحجب النطاق (يمكن أن يؤدي ذلك الى حدوث مشاكل في الصفحات التي لا تسمح باستخدام AdBlockers) ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان لمفتاح حجب النطاق "
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "تم منع عملية مراجعة الوصلة المرجعية هذه ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه في مراجعة الوصلات المرجعية في سجل ClearURLs. "
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "اعاقة مراجعة الوصلات المرجعية (أنظر أيضا <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>هذه المقالة</a>) ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعلامة مميزة لمفتاح منع مراجعة الوصلة المرجعية "
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "حظر مراجعة الوصلات المرجعية ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان لمفتاح منع مراجعة الوصلة المرجعية "
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "ازالة عناصر التتبع من عناوين URL. ",
|
||||
"description": "وصف اللاحقة (بحد أقصى 132 حرفا) "
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "تم ازالة عنوان ETag من هذا الطلب ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه في ترشيح بيانات عنوان ETag في سجل ClearURLs. "
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "ترشيح بيانات عناوين ETag من الطلبات (أنظر أيضا <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>هذه المقالة</a>) ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعلامة مميزة لمفتاح ترشيح بيانات عنوان ETag "
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "ترشيح بيانات عناوين ETag. ملحوظة : يجب اخلاء الذاكرة الوسيطة قبل الاستخدام الأول. ",
|
||||
"description": "يتم استخدام مجموعة الحروف هذه كعنوان لمفتاح ترشيح بيانات عنوان ETag "
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "غير مطلوب ، لمنع الاستثناءات فقط "
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "غير مطلوب ، لمنع الاستثناءات فقط "
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "غير مطلوب ، لمنع الاستثناءات فقط "
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "غير مطلوب ، لمنع الاستثناءات فقط "
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "غير مطلوب ، لمنع الاستثناءات فقط "
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "غير مطلوب ، لمنع الاستثناءات فقط "
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "غير مطلوب ، لمنع الاستثناءات فقط"
|
||||
}
|
||||
}
|
||||
@@ -1,246 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "Aktuell",
|
||||
"description": ""
|
||||
"description": "Dieser Statuscode besagt, dass kein Update für die ClearURLs-Regeln verfügbar ist und alles auf dem neuesten Stand ist."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "Aktuallisiert",
|
||||
"description": ""
|
||||
"message": "Aktualisiert",
|
||||
"description": "Dieser Statuscode besagt, dass die ClearURLs-Regeln erfolgreich aktualisiert wurden."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "Aktuallisierung verfügbar",
|
||||
"description": ""
|
||||
"message": "Aktualisierung verfügbar",
|
||||
"description": "Dieser Statuscode besagt, dass ein Update für die ClearURLs-Regeln verfügbar ist."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "Fehler",
|
||||
"description": ""
|
||||
"description": "Dieser Statuscode besagt, dass ClearURLs nicht korrekt gestartet werden konnten."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Da ist etwas schiefgelaufen!",
|
||||
"description": ""
|
||||
"description": "Dieser Statuscode besagt, dass beim Aktualisieren der ClearURLs-Regeln ein Fehler aufgetreten ist."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Diese Url wurde weiter geleitet",
|
||||
"description": ""
|
||||
"message": "Diese URL wurde weitergeleitet",
|
||||
"description": "Diese Zeichenfolge wird für Umleitungen im ClearURL-Protokoll verwendet."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Diese Domain wurde blockiert",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird für blockierte Domäns im ClearURL-Protokoll verwendet."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Protokoll-Listener wurde hinzugefügt.",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird beim Start des ClearURL-Protokolls verwendet."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Protokoll von ClearURLs",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Überschrift auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Vor der Verarbeitung",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Tabellentitel auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "Nach der Verarbeitung",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Tabellentitel auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regel",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Tabellentitel auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Zeit",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Tabellentitel auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Zurücksetzen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird für die Schaltfläche zum Zurücksetzen auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Setzt das globale Protokoll zurück",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Zurücksetzen auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Einstellungen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Konfigurationen auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filter",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Filterschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Der Filter-Schalter aktiviert die Reinigungsfunktion von ClearURLs, wenn sie die Funktion ausschalten, dann deaktivieren sie das gesamte Addon",
|
||||
"description": ""
|
||||
"message": "Der Filter-Schalter aktiviert die Reinigungsfunktion von ClearURLs, wenn Sie die Funktion ausschalten, dann deaktivieren Sie das gesamte Add-on",
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Filterschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Protokoll",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Umschalten der Protokollierung auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Das Protokoll wird nur lokal gespeichert. Wir empfehlen diese Funktion deaktiviert zulassen, wenn Sie sie nicht benötigen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Umschalten der Protokollierung auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Zähler",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Wechseln der Abzeichen auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Zeigt die Anzahl der gereinigten URLs an",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Wechseln der Abzeichen auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistik",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Statistiken auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elemente",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Elemente auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Blockiert",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die blockierten Elemente auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Anteil",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für den Prozentsatz der blockierten Elemente auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Zurücksetzen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Zurücksetzen der Statistik auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Setzt die globale Statistik zurück",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Zurücksetzen der Statistik auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Regel Status",
|
||||
"description": ""
|
||||
"message": "Regel-Status",
|
||||
"description": "Diese Zeichenfolge wird als Titel für den Abschnitt \"Regelstatus\" auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Protokoll",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Protokollschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Öffnet das Protokoll",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Protokollschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_report_button": {
|
||||
"message": "Aktuelle URL melden",
|
||||
"description": ""
|
||||
"description": "Hinweis: Wird derzeit nicht verwendet."
|
||||
},
|
||||
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Meldet die aktuelle URL aus diesem Tab.",
|
||||
"description": ""
|
||||
"description": "Wird derzeit nicht verwendet."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Auf Festplatte gespeichert.",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge teilt dem Benutzer mit, dass ClearURLs die Einstellungen auf der Festplatte gespeichert hat."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Das Addon konnte nicht gestartet werden.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: Das Add-on konnte nicht gestartet werden.",
|
||||
"description": "Diese Zeichenfolge teilt dem Benutzer mit, dass ClearURLs nicht gestartet werden konnten."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistiken",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Statistikschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Aktiviert oder deaktiviert die Statistikfunktion",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Statistikschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Einstellungen von ClearURLs",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel auf der Einstellungsseite verwendet."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Zählerfarbe",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für das Etikett mit den abgebildeten Farben verwendet."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Zurücksetzen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Zurücksetzen auf der Einstellungsseite verwendet."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Setzt alle Einstellungen zurück",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Zurücksetzen auf der Einstellungsseite verwendet."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Die Url zu der data.json Datei (Regeln)",
|
||||
"description": ""
|
||||
"message": "Die URL zu der data.json Datei (Regeln)",
|
||||
"description": "Diese Zeichenfolge wird als Name für die Regel-URL-Bezeichnung verwendet."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Speichern & Addon neustarten",
|
||||
"description": ""
|
||||
"message": "Speichern & Add-on neustarten",
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Speichern und erneuten Laden auf der Einstellungsseite verwendet."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Speichert die Einstellungen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Speichern und erneuten Laden auf der Einstellungsseite verwendet."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Die Url zu der rules.hash Datei (Hash)",
|
||||
"description": ""
|
||||
"message": "Die URL zu der rules.hash-Datei (Hash)",
|
||||
"description": "Diese Zeichenfolge wird als Name für die rule.hash-URL verwendet."
|
||||
},
|
||||
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (Expertenniveau)",
|
||||
"description": ""
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Anfragetypen</a> (Expertenniveau)",
|
||||
"description": "Diese Zeichenfolge wird als Name für die Typenbezeichnung verwendet."
|
||||
},
|
||||
|
||||
"setting_report_server_label": {
|
||||
"message": "Meldungsserver für URLs",
|
||||
"description": ""
|
||||
"description": "Hinweis: Wird derzeit nicht verwendet."
|
||||
},
|
||||
|
||||
"success_report_url": {
|
||||
"message": "Die URL wurde erfolgreich gemeldet. Wir werden sie in Kürze prüfen.",
|
||||
"description": ""
|
||||
"description": "Hinweis: Wird derzeit nicht verwendet."
|
||||
},
|
||||
|
||||
"error_report_url": {
|
||||
"message": "Es schaut so aus, als ob diese URL schon gemeldet wurde.",
|
||||
"description": ""
|
||||
"message": "Es sieht so aus, als sei diese URL schon gemeldet worden.",
|
||||
"description": "Hinweis: Wird derzeit nicht verwendet."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Eine Schenkung (Spende) für den ClearURLs-Urheber",
|
||||
"description": "Diese Zeichenfolge wird verwendet, um auf eine Spendenseite zu verweisen."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Gesäuberte Link-Adresse kopieren",
|
||||
"description": "Diese Zeichenfolge wird im Kontextmenü zum Kopieren sauberer Links verwendet."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Kontextmenü-Eintrag anzeigen",
|
||||
"description": "Mit dieser Zeichenfolge wird der Kontextmenüeintrag ein- und ausgeschaltet, um saubere Links zu kopieren."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Verhindere Tracking über die History-API (Siehe auch: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "Diese Zeichenfolge wird als Name für das History-API-Listener-Label verwendet."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Säuberungswerkzeug von ClearURLs",
|
||||
"description": "Diese Zeichenfolge wird als Titel auf der Reinigungswerkzeugseite verwendet."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Mit diesem Werkzeug können Sie URLs in die Textbox einfügen. Nach einem klick auf den grünen Button reinigt ClearURLs die Links. Sie können mehrer URLs auf einmal einfügen, jede URL muss aber in einer eigenen Zeile stehen.",
|
||||
"description": "Diese Zeichenfolge wird als Beschreibung des Reinigungswerkzeugs verwendet."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "URLs säubern",
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche \"URLs säubern\" verwendet."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Hier können Sie die ungesäuberten URLs einfügen:",
|
||||
"description": "Diese Zeichenfolge wird als Titel auf der Seite des Bereinigungstools für die fehlerhaften URLs verwendet."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Hier finden Sie die gesäuberten URLs:",
|
||||
"description": "Diese Zeichenfolge wird als Titel auf der Bereinigungswerkzeugseite für die bereinigten URLs verwendet."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Auslassen von lokalen URLs (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "Diese Zeichenkette wird als Beschreibung für das Auslassen von lokalen URLs verwendet."
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Auslassen von lokalen URLs",
|
||||
"description": "Diese Zeichenkette wird als Titel für das Auslassen von lokalen URLs verwendet."
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exportieren",
|
||||
"description": "Diese Zeichenfolge wird für die Schaltfläche zum Exportieren auf der Protokollseite verwendet."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exportieren des globalen Protokolls",
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Exportieren auf der Protokollseite verwendet."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importieren",
|
||||
"description": "Diese Zeichenfolge wird für die Schaltfläche zum Importieren auf der Protokollseite verwendet."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importieren des globalen Protokolls",
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Importieren auf der Protokollseite verwendet."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exportieren",
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Exportieren auf der Einstellungsseite verwendet."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exportiert alle Einstellungen",
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Exportieren auf der Einstellungsseite verwendet."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importieren",
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Importieren auf der Einstellungsseite verwendet."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importiert alle Einstellungen inkl. Regeln und Protokoll",
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Importieren auf der Einstellungsseite verwendet."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limitiert das Protokoll auf $LIMIT$ Einträge.",
|
||||
"description": "Diese Zeichenfolge wird als Name für das Protokolllimit verwendet.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Diese Seite wurde von <b>ClearURLs</b> blockiert.",
|
||||
"description": "Diese Zeichenfolge wird als Titel auf der Hinweisseite für blockierte Seiten verwendet."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Diese Seite wurde vom <b>ClearURLs</b>-Add-on blockiert, weil wir sie als Werbe- bzw. Trackingservice identifiziert haben. Um diese Seite zu besuchen, müssen Sie das Add-on temporär deaktivieren oder in den Einstellungen von ClearURLs das Domain-Blocking deaktivieren. Dann können Sie auf den untenstehenden Button klicken, um die Seite aufzurufen.",
|
||||
"description": "Diese Zeichenfolge wird als Mengentext auf der Hinweisseite für blockierte Seiten verwendet."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Seite besuchen",
|
||||
"description": "Diese Zeichenfolge wird als Buttontext auf der Hinweisseite für blockierte Seiten verwendet."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Erlaube Referral-Marketing",
|
||||
"description": "Diese Zeichenkette wird als Beschreibung für das Referral-Marketing verwendet."
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Erlaubt Referral-Marketing",
|
||||
"description": "Diese Zeichenkette wird als Titel für das Referral-Marketing verwendet."
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Der Watchdog hat ein Problem festgestellt und ist bereits das $TIMES$-te mal gescheitert.",
|
||||
"description": "Diese Zeichenkette wird als Text für den Watchdog verwendet.",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Erlaube Domain-Blocking (kann zu Problemen auf Seiten führen, die AdBlocker nicht erlauben)",
|
||||
"description": "Diese Zeichenkette wird als Beschreibung für das Domain-Blocking verwendet."
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Erlaube Domain-Blocking (kann zu Problemen auf Seiten führen, die AdBlocker nicht erlauben)",
|
||||
"description": "Diese Zeichenkette wird als Titel für das Domain-Blocking verwendet."
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Diese Hyperlink-Auditing-Anfrage wurde blockiert",
|
||||
"description": "Diese Zeichenfolge wird für blockierte Hyperlink-Auditing-Anfragen im ClearURL-Protokoll verwendet."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Blockiere Hyperlink-Auditing-Anfragen (siehe auch <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>diese Spezifikation</a>)",
|
||||
"description": "Diese Zeichenkette wird als Beschreibung für das Hyperlink Auditing-Blocking verwendet."
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Blockiere Hyperlink-Auditing-Anfragen",
|
||||
"description": "Diese Zeichenkette wird als Titel für das Hyperlink-Auditing-Blocking verwendet."
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Entfernt Tracking-Elemente von URLs.",
|
||||
"description": "Erweiterungsbeschreibung (max. 132 Zeichen)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag-Header wurde aus dieser Anfrage entfernt",
|
||||
"description": "Diese Zeichenkette wird für das Filtern von ETag-Headern im ClearURL-Protokoll verwendet."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtert die ETag-Header aus den Anfragen (Siehe auch <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>diesen Artikel</a>)",
|
||||
"description": "Diese Zeichenkette wird als Beschreibung für das Filtern von ETag-Headern verwendet."
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtert ETag-Header. Info: Cache muss vor der ersten Benutzung geleert werden.",
|
||||
"description": "Diese Zeichenkette wird als Titel für das Filtern von ETag-Headern verwendet."
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,246 +1,390 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "up to date",
|
||||
"description": ""
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "updated",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "update available",
|
||||
"description": ""
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "error",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Oops something went wrong!",
|
||||
"description": ""
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "This url is redirected",
|
||||
"description": ""
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "This domain is blocked",
|
||||
"description": ""
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Log listener is added.",
|
||||
"description": ""
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Log from ClearURLs",
|
||||
"description": ""
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Before processing",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "After processing",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Rule",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Time",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Reset",
|
||||
"description": ""
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Reset the global log",
|
||||
"description": ""
|
||||
"message": "Resets the global log",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Configs",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filter",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "The filters switch activates the cleaning functionality of ClearURLs. If you disable this option, the whole addon is disabled",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Logging",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "The log is saved only locally. We advise against this feature if you do not need it",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Badges",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Show number of cleaned urls",
|
||||
"description": ""
|
||||
"message": "Show numbers of cleaned urls",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_whitelist_button_add": {
|
||||
"message": "Whitelist Site",
|
||||
"description": "This string is used as name for the whitelist button on the popup page."
|
||||
},
|
||||
"popup_html_configs_whitelist_button_remove": {
|
||||
"message": "Remove from Whitelist",
|
||||
"description": "This string is used as name for the whitelist button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistics",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elements",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Blocked",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Percentage",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Reset",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Reset the global statistics",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Rules-Status",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Log",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Open the log",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_report_button": {
|
||||
"message": "Report current URL",
|
||||
"description": ""
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Report the current URL from this tab.",
|
||||
"description": ""
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Save on disk.",
|
||||
"description": ""
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: The addon could not started.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: The addon could not start.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistics",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Activate or deactivate the statistics function",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Settings from ClearURLs",
|
||||
"description": ""
|
||||
"message": "ClearURLs settings",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Badged color",
|
||||
"description": ""
|
||||
"message": "Badge color",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Reset",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Reset everything",
|
||||
"description": ""
|
||||
"message": "Resets everything",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "The url to the data.json file (rules)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Save & reload addon",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Saves the settings",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "The url to the rules.hash file (hash)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_whitelist_list_label": {
|
||||
"message": "Whitelisted sites",
|
||||
"description": "This string is used as name for the whitelisted sites list label."
|
||||
},
|
||||
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (expert level)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
|
||||
"setting_report_server_label": {
|
||||
"message": "Report server for URLs",
|
||||
"description": ""
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
|
||||
"success_report_url": {
|
||||
"message": "The URL was successfully reported. We will check this URL soon.",
|
||||
"description": ""
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
|
||||
"error_report_url": {
|
||||
"message": "It seems like this URL has already been reported.",
|
||||
"description": ""
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "A donation for the ClearURLs creator.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copy Clean Link Location",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Display context menu entry",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Prevent tracking injection over history API (See also: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs cleaning tool",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "With this tool you can paste in URLs and ClearURLs will clean the URLs after a click on the green button. You can paste in multiple URLs at once, but every URL must be on a separate line.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Clean URLs",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Here you can paste in the dirty URLs:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Here you can find the cleaned URLs:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Skip URLs on local hosts (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Skips URLs on local hosts",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Export",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exports the global log",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Import",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Import the global log",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Export",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exports everything",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Import",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Imports everything",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limit the log to $LIMIT$ entries.",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "This site was blocked by <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "This site was blocked by the <b>ClearURLs</b> Add-on, because we identify this site as an advertising and/or tracking service. To visit this site, you must temporarily deactivate the Add-on or disable domain blocking in the ClearURLs settings. After this you can click on the button below to load the page.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Visit page",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Allow referral marketing",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Allows referral marketing",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: The watchdog has detected a problem and has already failed $TIMES$ times.",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Allow domain blocking (Can lead to problems on pages that do not allow AdBlockers)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Allow domain blocking (Can lead to problems on pages that do not allow AdBlockers)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "This hyperlink auditing was blocked",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Block hyperlink auditing (See also <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>this article</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Block hyperlink auditing",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Remove tracking elements from URLs.",
|
||||
"description": "Extension description (max. 132 characters)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag header was removed from this request",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filters ETag headers from requests (See also <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>this article</a>)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filters ETag headers. Hint: Cache must be cleared before first use.",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,216 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "atualizado",
|
||||
"description": ""
|
||||
"message": "Actualizado",
|
||||
"description": "Este código de estado dice que no hay actualizaciones disponibles para las reglas de ClearURLs y que todo está actualizado."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "atualizado",
|
||||
"description": ""
|
||||
"message": "Actualizado",
|
||||
"description": "Este código de estado dice que las reglas de ClearURL se actualizaron correctamente."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "atualização disponivel",
|
||||
"description": ""
|
||||
"message": "Actualización disponible",
|
||||
"description": "Este código de estado dice que hay una actualización disponible para las reglas de ClearURL."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "erro",
|
||||
"description": ""
|
||||
"message": "error",
|
||||
"description": "Este código de estado dice que ClearURL no se pudo iniciar correctamente."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Oops, algo deu errado!",
|
||||
"description": ""
|
||||
"message": "¡Vaya, algo ha ido mal!",
|
||||
"description": "Este código de estado dice que se produjo un error al actualizar las reglas de ClearURL."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Esta url foi redirecionada",
|
||||
"description": ""
|
||||
"message": "Esta dirección ha sido redirigida",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Este domínio foi bloqueado",
|
||||
"description": ""
|
||||
"message": "Este dominio está bloqueado",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Examinador de registro foi adicionado",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: Registro activado.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Registro do ClearURLs",
|
||||
"description": ""
|
||||
"message": "Registro de ClearURLs",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Antes de processar",
|
||||
"description": ""
|
||||
"message": "Antes de procesar",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "Depois de processar",
|
||||
"description": ""
|
||||
"message": "Tras procesar",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regra",
|
||||
"description": ""
|
||||
"message": "Regla",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Tempo",
|
||||
"description": ""
|
||||
"message": "Hora",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"message": "Reiniciar",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Resetar o registro global",
|
||||
"description": ""
|
||||
"message": "Reiniciar el registro general",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Configurações",
|
||||
"description": ""
|
||||
"message": "Configuraciones",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtrar",
|
||||
"description": ""
|
||||
"message": "Filtrado",
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "O botão filtrar ativa a funcionalidade de limpeza do ClearURLs. Se você desativar essa opção toda a extensão é desativada",
|
||||
"description": ""
|
||||
"message": "Este interruptor activa la funcionalidad de filtrado de ClearURLs. Si se deshabilita, el complemento entero dejará de operar.",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Registro",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "O registro é salvo localmente apenas. Aconselhamos contra este recurso se você não precisa dele",
|
||||
"description": ""
|
||||
"message": "El registro sólo se guarda localmente. No recomendamos activarlo a menos que la necesites.",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Contador",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Mostrar número de urls limpas",
|
||||
"description": ""
|
||||
"message": "Muestra el número de direcciones modificadas.",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Estatísticas",
|
||||
"description": ""
|
||||
"message": "Estadísticas",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementos",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Bloqueado",
|
||||
"description": ""
|
||||
"message": "Bloqueados",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Porcentagem",
|
||||
"description": ""
|
||||
"message": "Porcentaje",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"message": "Reiniciar",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Resetar as estatísticas globais",
|
||||
"description": ""
|
||||
"message": "Reinicia las estadísticas generales",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Estado das regras",
|
||||
"description": ""
|
||||
"message": "Reglas",
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Registro",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Abrir o registro",
|
||||
"description": ""
|
||||
"message": "Abre el registro.",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Notificar dirección actual",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Notifica sobre la dirección de la pestaña actual.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Salvar no disco.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: Guardar a disco.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: A extensão não pode ser inicializada.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: El complemento no ha podido arrancar.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Estatísticas",
|
||||
"description": ""
|
||||
"message": "Estadísticas",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Ativar ou desativar função de estatísticas",
|
||||
"description": ""
|
||||
"message": "Habilita o deshabilita las estadísticas",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Configurações do ClearURLs",
|
||||
"description": ""
|
||||
"message": "Ajustes de ClearURLs",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Cor do contador",
|
||||
"description": ""
|
||||
"message": "Color del contador",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"message": "Reiniciar",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Resetar tudo",
|
||||
"description": ""
|
||||
"message": "Reinicia el complemento entero.",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Url do arquivo data.json (regras)",
|
||||
"description": ""
|
||||
"message": "Dirección al fichero data.json de reglas",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Salvar e recarregar extensão",
|
||||
"description": ""
|
||||
"message": "Guardar y aplicar",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Salvar configurações",
|
||||
"description": ""
|
||||
"message": "Guarda los ajustes.",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Url do arquivo rules.hash (hash)",
|
||||
"description": ""
|
||||
"message": "Dirección al fichero rules.hash (hash)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Solicitar tipos</a> (nivel experto)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Servidor de notificado de direcciones",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "La dirección ha sido enviada satisfactoriamente. La comprobaremos en breves.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Parece que esta dirección ya había sido notificada.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Donar al creador de ClearURLs.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copiar ubicación actual limpia",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Mostrar en el menú contextual",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Evitar inyección mediante la API del historial (información técnica en <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>el método replaceState()</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Herramienta de filtrado de ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Con esta herramienta puedes filtrar múltiples direcciones de un plumazo. Simplemente pégalas en la caja de abajo, con una dirección por línea, y pulsa sobre el botón verde.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Filtrar direcciones",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Aquí puedes pegar las direcciones con metadatos:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Aquí aparecerán las direcciones filtradas:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Omitir filtrado en redes locales (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Omitir filtrado en local",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exportar",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exporta el registro general",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importar",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importar el registro general",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exportar",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exporta todo.",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importar",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importar todo.",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limitar el tamaño del registro a $LIMIT$ eventos.",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Este sitio ha sido bloqueado por <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Este sitio ha sido bloqueado por el complemento <b>ClearURLs</b> porque hemos detectado que se trata de un sitio empleado para publicidad o seguimiento. Si deseas aun así visitarlo, tendrás que deshabilitar temporalmente el complemento o desabilitar el bloqueo de dominios en los ajustes, y después pulsar el botón de abajo.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Visitar página",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Permitir márketing de referidos",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Permitir márketing de referidos",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: El watchdog detectado un problema. ClearURLs será reiniciado.",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Permitir bloqueo de dominios (Puede provocar problemas con sitios que no permitan bloqueadores de anuncios)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Permitir bloqueo de dominios (Puede provocar problemas con sitios que no permitan bloqueadores de anuncios)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "La auditoría de este hipervínculo ha sido bloqueada",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Bloquear auditoría de hipervínculos (más información en inglés en <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>este artículo</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Bloquear auditoría de hipervínculos",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Eliminar los elementos de seguimiento de las URL.\n",
|
||||
"description": "Descripción de la extensión (máx. 132 caracteres)\n"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "Se ha eliminado la cabecera ETag de esta solicitud\n",
|
||||
"description": "Esta cadena se utiliza en el filtrado del encabezado ETag en el registro de ClearURLs.\n"
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtra las cabeceras ETag de las peticiones (Véase también <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>este artículo</a>)\n",
|
||||
"description": "Esta cadena se utiliza como etiqueta para el interruptor de filtrado de la cabecera ETag\n"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtra las cabeceras ETag. Sugerencia: La caché debe borrarse antes del primer uso.\n",
|
||||
"description": "Esta cadena se utiliza como título para el interruptor de filtrado de la cabecera ETag\n"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "no es necesario, sólo para evitar excepciones"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "no es necesario, sólo para evitar excepciones"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "no es necesario, sólo para evitar excepciones"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "no es necesario, sólo para evitar excepciones"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "no es necesario, sólo para evitar excepciones"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "no es necesario, sólo para evitar excepciones"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "no es necesario, sólo para evitar excepciones"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,221 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "Mise à jour",
|
||||
"description": ""
|
||||
"message": "à jour",
|
||||
"description": "Les règles ClearURLs sont à jour."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "Mis à jour",
|
||||
"description": ""
|
||||
"message": "mis à jour",
|
||||
"description": "Cela indique la réussite des mises à jour des règles de ClearURLs."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "Mise à jour disponible",
|
||||
"description": ""
|
||||
"message": "mise à jour disponible",
|
||||
"description": "Une mise à jour des règles de ClearURLs est disponible."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "erreur",
|
||||
"description": ""
|
||||
"description": "ClearURLs n’a pas pu démarrer correctement."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Quelque chose a dysfonctionné, mais quoi ...",
|
||||
"description": ""
|
||||
"message": "Oh non! Un problème est survenu!",
|
||||
"description": "Un problème est survenu pendant la mis à jour des règles ClearURLs"
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Ce lien Internet a été redirigé",
|
||||
"description": ""
|
||||
"message": "Cette URL a été redirigée",
|
||||
"description": "Cette ligne est pour les redirections par le protocole ClearURL."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Ce domaine est bloqué",
|
||||
"description": ""
|
||||
"description": "Cette ligne est pour les domaines bloqués dans le journal de ClearURLs."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Une base de données pour les URL a été ajoutée",
|
||||
"description": ""
|
||||
"description": "Cette ligne est utilisée au démarrage du journal de ClearURL."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Connexion à partir de ClearURLS",
|
||||
"description": ""
|
||||
"message": "Journal d'événements de ClearURLs",
|
||||
"description": "Cette ligne est utilisée comme en-tête sur la page de journal."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Avant le processus de traitement",
|
||||
"description": ""
|
||||
"message": "Avant traitement",
|
||||
"description": "Cette ligne est utilisée comme titre de tableau sur la page du journal."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "Après le processus de traitement. ",
|
||||
"description": ""
|
||||
"message": "Après traitement",
|
||||
"description": "Cette ligne est utilisée comme titre de tableau sur la page du journal."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Règle",
|
||||
"description": ""
|
||||
"description": "Cette ligne est utilisée comme titre de tableau sur la page du journal."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Temps",
|
||||
"description": ""
|
||||
"message": "Date",
|
||||
"description": "Cette ligne est utilisée comme titre de tableau sur la page du journal."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Remise à l’état initial",
|
||||
"description": ""
|
||||
"message": "Remise à zéro",
|
||||
"description": "Cette ligne est utilisée comme titre de tableau sur la page du journal."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Réinitialiser la base de données",
|
||||
"description": ""
|
||||
"message": "Réinitialiser entièrement le journal",
|
||||
"description": "Cette ligne est utilisée comme titre pour le bouton de réinitialisation sur la page de journal."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Paramétrages",
|
||||
"description": ""
|
||||
"message": "Paramétres",
|
||||
"description": "Cette ligne est utilisée comme titre pour les paramétres de la page des options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtre",
|
||||
"description": ""
|
||||
"description": "Cette ligne est utilisée comme nom pour le bouton de changement de filtre de la page des options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Le commutateur de l'extension active ou désactive la fonction de nettoyage de ClearURLs",
|
||||
"description": ""
|
||||
"message": "L'interrupteur de l'extension active ou désactive la fonction de nettoyage de ClearURLs",
|
||||
"description": "Cette ligne est utilisée comme titre pour le bouton de changement de filtre sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Historique",
|
||||
"description": ""
|
||||
"message": "Journalisation",
|
||||
"description": "Cette ligne est utilisée comme nom pour le bouton du interrupteur de journalisation d'evenements sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "L'historique est enregistré localement. Si vous n’avez pas besoin de le consulter, nous déconseillons de l’activer",
|
||||
"description": ""
|
||||
"message": "Le journal est sauvé localement. Si vous n’avez pas besoin de le consulter, nous vous déconseillons de l'activer.",
|
||||
"description": "Cette ligne est utilisée comme titre pour le bouton du interrupteur de journalisation sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Compteur",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Nombre de liens Internet nettoyés",
|
||||
"description": ""
|
||||
"message": "Afficher le nombre d'URL nettoyées",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistiques",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Liens Internet",
|
||||
"description": ""
|
||||
"message": "Éléments",
|
||||
"description": "Sert à afficher la de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Nb. de bloqués",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Pourcentage",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Remettre à zéro",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Remettre à zéro le décompte, les statistiques",
|
||||
"description": ""
|
||||
"message": "Remettre à zéro les statistiques globales",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Règles de la base de données",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Compte-rendu",
|
||||
"description": ""
|
||||
"message": "Journal",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Ouvrir le compte-rendu",
|
||||
"description": ""
|
||||
"message": "Consulter le journal",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Signaler cette URL",
|
||||
"description": "Annotation : actuellement non utilisé."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Signaler un problème sur cette URL",
|
||||
"description": "actuellement non utilisé."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Sauvegarder sur le disque",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: Sauvegarder sur le disque.",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: L’extension n’a pu être démarrée",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: L’extension n’a pas pu démarrer.",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistiques",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Activer ou désactiver les statistiques",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la descriptio de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Paramétrages de ClearURLs",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Couleur du compteur",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Remettre à l’état initial",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Réinitialisation de tous les paramètres",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Lien Internet du fichier Data (basse de données)",
|
||||
"description": ""
|
||||
"message": "L'URL du fichier data.json (règles)",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Sauvegarder et redémarrer l’extension",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Sauvegarder les paramétrages",
|
||||
"description": ""
|
||||
"message": "Sauvegarde les paramétres",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Lien Internet du fichier Hash (signature de contrôle)",
|
||||
"description": ""
|
||||
"message": "L'URL du fichier rules.hash (signature de contrôle)",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Demande de données (webRequest)</a> (Uniquement si vous maitrisez la programmation)",
|
||||
"description": ""
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Types de requête (webRequest)</a> (niveau expert)",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Serveur pour signaler des URL",
|
||||
"description": "Note : actuellement non utilisé."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "Nous avons reçu votre signalement. Nous allons vérifier cette URL.",
|
||||
"description": "Note : actuellement non utilisé."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Il semble que cette URL a déjà été signalé.",
|
||||
"description": "Note : actuellement non utilisé."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Soutenir le créateur de ClearURLs.",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copier l’URL sans les traqueurs",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Activer ClearUrls dans le menu contextuel (le clic droit sur une page)",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Empêcher les sites d’aller fouiner dans l'historique. (<a href='https://developer.mozilla.org/fr/docs/Web/Guide/DOM/Manipuler_historique_du_navigateur' target='_blank'>La méthode utilisée est replaceState()</a>)",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Outil de nettoyage pour ClearURLs",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Ici, vous pouvez déposer des URL et ClearURLs les nettoiera par un clic sur le bouton vert. Vous pouvez mettre plusieurs URL mais chaque URL devra être mise sur une ligne séparée.",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Nettoyer les URL",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Coller ici les URL à nettoyer :",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Vous trouverez ici les URL nettoyées :",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Ignorer les IP des hôtes locaux, Box, routeurs, serveurs, etc. (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Ignorer les IP ou URL sur les hôtes locaux, Box, routeur, serveur ...",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exporter",
|
||||
"description": "Cette ligne est utilisée pour le bouton d'exportation sur la page du journal."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exporter le journal",
|
||||
"description": "Cette ligne est utilisée comme titre pour le bouton d'exportation de la page du journal."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importer",
|
||||
"description": "Cette ligne est utilisée pour le bouton d'importation sur la page de journal."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importer le journal",
|
||||
"description": "Cette ligne est utilisée comme titre pour le bouton d'importation sur la page de journal."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exporter",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Tout exporter",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importer",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Tout importer",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Nombre d’éléments à enregistrer dans le journal, $LIMIT$ de -1 à l’infini",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Site Internet bloqué par <b>ClearURLs</b>",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Ce site Internet a été bloqué par l’extension <b>ClearURLs</b> ; il est identifié comme étant problématique, soit publicitaire, soit d’espionnage ; vous pouvez désactiver temporairement le blocage du site soit dans les paramétres, soit dans l’extension afin de vous y connecter. Il vous faudra raffraichir la page, soit par le navigateur, soit avec le bouton ci-dessous.",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Se connecter",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Permettre certaines actions commerciales",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Permettre certaines actions commerciales",
|
||||
"description": "Sert à afficher la description de la fonction sur la switch."
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Watchdog, très petit programme qui surveille les attaques de la mémoire vive, a détecté $TIMES$ problème(s)",
|
||||
"description": "Utilisé pour la description du Watchdog.",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Bloquer les atteintes à la vie privée. Cependant, des sites peuvent detecter cette technique et refuser de marcher délibérément voire même afficher des avertissements",
|
||||
"description": "Sert à afficher la description de la fonction sur la page des options."
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Autoriser le blocage par domaine (ex : example.com) ; peut poser des problèmes d'affichage sur des sites refusant les bloqueurs de contenu",
|
||||
"description": "Cette ligne est utilisée comme titre pour le bouton de blocage de domaine."
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Bloquer l'audit des clics souris sur les liens hypertextes",
|
||||
"description": "Cette ligne est utilisée pour de l'audit (espionnage) des liens hypertextes dans le journal ClearURLs."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Bloquer l'audit des clics souris sur les liens hypertextes (voyez <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>cet article en anglais</a>)",
|
||||
"description": "Utilisé pour le bouton activer/désactiver l'audit (espionnages) des liens hypertextes."
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Bloquer l’espionnage par audit",
|
||||
"description": "Utilisé comme titre pour le bouton de l’audit des liens hypertextes."
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Retirer les traqueurs dans les adresses Internet.",
|
||||
"description": "Description des fonctions ; utilisez maximum 132 caractères."
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "L’identification ETag a été supprimée",
|
||||
"description": "Utilisé par le journal de ClearUrls et indiquer ce qui a été nettoyé"
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtrer ETag ; les sites mettent dans le cache du Navigateur, ou Système d’Exploitation, un identifiant pour vous espionner",
|
||||
"description": "Titre par le bouton de filtrage ETag"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtre les identifications ETag, vous devez vider le cache lors de la premiere utilisation",
|
||||
"description": "Titre par le bouton de filtrage ETag"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "pas nécessaire, seulement pour éviter les exceptions"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "pas nécessaire, seulement pour éviter les exceptions"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "pas nécessaire, seulement pour éviter les exceptions"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "pas nécessaire, seulement pour éviter les exceptions"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "pas nécessaire, seulement pour éviter les exceptions"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "pas nécessaire, seulement pour éviter les exceptions"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "pas nécessaire, seulement pour éviter les exceptions"
|
||||
}
|
||||
}
|
||||
|
||||
378
_locales/hu/messages.json
Normal file
378
_locales/hu/messages.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "naprakész",
|
||||
"description": "Ez az állapotkód jelzi, hogy nem elérhető frissítés ClearURLs szabályokra és minden naprakész"
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "frissítve",
|
||||
"description": "Ez az állapotkód jelzi, hogy a ClearURLs szabályok sikeresen frissítve."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "frissítés érhető el",
|
||||
"description": "Ez az állapotkód jelzi, hogy frissítés érhető el a ClearURLs szabályokra."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "hiba",
|
||||
"description": "Ez az állapotkód jelzi, hogy a ClearURLs-t nem lehetett elindítani rendesen."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Hoppá, valami nincs rendben!",
|
||||
"description": "Ez az állapotkód jelzi, hogy a hiba történt a ClearURLs szabályok frissítése közben."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Ez az url átirányítva",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "A domain blokkolva",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: naplózás elindult.",
|
||||
"description": "Naplózás elindult"
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs napló",
|
||||
"description": "Naplózás oldal fejléce"
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Feldolgozás előtt",
|
||||
"description": "Tábla címe a naplózás oldalon"
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Feldolgozást követően",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Szabály",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Idő",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Nullázás",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Teljes napló törlése",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Beállítások",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Szűrők",
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "A Szűrők kapcsoló aktiválja a ClearURLs tisztítás funkcióját. Ha kikapcsolod, akkor az egész bővítmény működése leáll.",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Naplózás",
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "A napló helyileg lesz elmentve. Ha nincs rá szükséged inkább ne kapcsold be.",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Jelvények",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Mutassa a tisztított URL-ek számát",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statisztika",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Összes elem",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Blokkolva",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Százalék",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Nullázás",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Teljes statisztika törlése",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Szabályok állapota",
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Napló",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Napló megnyitása",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Aktív URL jelentése",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Jelenlegi fül URL címének jelentése.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: elmentve a lemezre.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: a bővítmény nem tudott elindulni.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statisztika",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Statisztika funkció aktiválása, letiltása",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURLs beállításai",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Jelvény színe",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Visszaállítás",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Minden visszaállítása alapértékre",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "URL a data.json fájlhoz (szabályok)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Mentés és bővítmény újraindítása",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Beállítások elmentése",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "URL a rules.hash fájlhoz (hash)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (haladó szint)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Report szerver az URL-knek",
|
||||
"description": "Megjegyzés: Jelenleg nincs használva."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "A webcím sikeresen jelentve. Hamarosan ellenőrizzük azt.",
|
||||
"description": "Megjegyzés: Jelenleg nincs használva."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Úgy tűnik hogy ez a webcím már jelentve van.",
|
||||
"description": "Megjegyzés: Jelenleg nincs használva."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Adomány a ClearURLs készítőjének.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Tisztított link másolása",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Környezeti menü elemei",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "History API követés injekció megakadályozása (Több infó: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "History API"
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Tisztító eszköz a ClearURLs-től",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Az ide beillesztett URL-eket megtisztíthatod a ClearURLs segítségével, ha a zöld gombra nyomsz. Egyszerre több URL-t is megadhatsz, de a címeket soronként kell beírnod.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "URL tisztítás",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Itt adhatod meg az URL-eket:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Itt láthatod a tisztított URL-eket:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Magánhálózati URL-k mellőzése (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "Localhost címek átugrása"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Magánhálózati címeket mellőzi",
|
||||
"description": "Localhost címek átugrása tooltip"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Export",
|
||||
"description": "Ez a string a napló exportálás gomb címe a naplózási oldalon."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Globális napló exportálása",
|
||||
"description": "Ez a string a globális napló exportálása gomb címe a naplózási oldalon."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Import",
|
||||
"description": "Import gomb a naplózási oldalon"
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Globális napló importálása",
|
||||
"description": "Import gomb a naplózási oldalon tooltip"
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Export",
|
||||
"description": "Export gomb a naplózási oldalon"
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Minden exportálása",
|
||||
"description": "Export gomb a naplózási oldalon tooltip"
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Import",
|
||||
"description": "Reset gomb beállítások oldalon"
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Minden importálása",
|
||||
"description": "Import gomb a beállitásokban tooltip"
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Napló korlátozása $LIMIT$ bevitelre.",
|
||||
"description": "Napló limit",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Ezt az oldalt blokkolta a <b>ClearURLs</b>",
|
||||
"description": "Blokkolt oldalak címe"
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Ezt az oldalt a <b>ClearURLs</b> bővítmény blokkolta mert úgy véltük hogy ez az oldal egy hirdető és/vagy követő szolgáltatás. Ha látni szeretnéd az oldalt akkor ideiglenesen kapcsold ki a bővítményt vagy kapcsold ki a domain blokkolást a beállításokban, azután pedig klikkelj lejjebb lévő gombra.",
|
||||
"description": "Blokkolt oldal szövege"
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Oldal meglátogatása",
|
||||
"description": "Blokkolt oldal gomb"
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Refferal marketing engedélyezése",
|
||||
"description": "Refferal marketing kapcsoló"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Engedélyezi a refferal marketinget",
|
||||
"description": "Refferal marketing kapcsoló tooltip"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: A watchdog problémába ütközött és már $TIMES$ sikertelen volt.",
|
||||
"description": "Watchdog szöveg",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Domain blokkolás bekapcsolása (AdBlockert tiltó oldalakon problémákhoz vezethet)",
|
||||
"description": "Domain blokkolás kapcsoló"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Domain blokkolás bekapcsolása (AdBlockert tiltó oldalakon problémákhoz vezethet)",
|
||||
"description": "Domain blokkolás kapcsoló tooltip"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Ez a hyperlink vizsgálat blokkolva",
|
||||
"description": "Hyperlink vizsgálat naplózási oldalon"
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Hyperlink vizsgálat blokkolása (Több infó: <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>this article</a>)",
|
||||
"description": "Hyperlink vizsgálat kapcsoló"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Hyperlink vizsgálat blokkolása",
|
||||
"description": "Hyperlink vizsgálat kapcsoló tooltip"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Követő elemek eltávolítása a webcímekből.",
|
||||
"description": "Bővítmény leírása (max. 132 karakter)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag fejléc eltávolítva a kérésből",
|
||||
"description": "ETag fejléc szűrése naplózásban"
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "ETag fejlécek szűrése a kérésekben (Több infó: <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>this article</a>)",
|
||||
"description": "ETag fejléc szűrő kapcsoló"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "ETag fejlécek kiszűréséhez. Tipp: Ürítsd ki a cache-t első használat előtt.",
|
||||
"description": "ETag fejléc szűrő kapcsoló tooltip"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": "␣",
|
||||
"description": "nem szükséges"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": "␣",
|
||||
"description": "nem szükséges"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": "␣",
|
||||
"description": "nem szükséges"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": "␣",
|
||||
"description": "nem szükséges"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": "␣",
|
||||
"description": "nem szükséges"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": "␣",
|
||||
"description": "nem szükséges"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": "␣",
|
||||
"description": "nem szükséges"
|
||||
}
|
||||
}
|
||||
378
_locales/id/messages.json
Normal file
378
_locales/id/messages.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "up to date",
|
||||
"description": "Kode status ini mengatakan, bahwa tidak ada pembaruan yang tersedia untuk aturan ClearURLs dan semuanya mutakhir."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "diperbarui",
|
||||
"description": "Kode status ini mengatakan, rule ClearURLs berhasil diperbarui."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "update tersedia",
|
||||
"description": "Kode status ini mengatakan, bahwa update tersedia untuk rule ClearURLs."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "error",
|
||||
"description": "Kode status ini mengatakan, bahwa ClearURLs tidak dapat dimulai dengan benar."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Oops ada sesuatu yang salah!",
|
||||
"description": "Kode status ini mengatakan, sebuah error terjadi ketika mengupdate rule ClearURLs."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Url ini dialihkan",
|
||||
"description": "String ini digunakan pada pengalihan di log ClearURLs."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Domain ini di blokir",
|
||||
"description": "String ini digunakan pada domain yang diblokir di log ClearURLs."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Log listener ditambahkan.",
|
||||
"description": "String ini digunakan pada log startup ClearURLs."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Log dari ClearURLs",
|
||||
"description": "String ini digunakan sebagai header dalam laman log."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Sebelum diproses",
|
||||
"description": "String ini digunakan sebagai judul tabel pada laman log."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Setelah diproses",
|
||||
"description": "String ini digunakan sebagai judul tabel pada laman log."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Aturan",
|
||||
"description": "String ini digunakan sebagai judul tabel pada laman log."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Waktu",
|
||||
"description": "String ini digunakan sebagai judul tabel pada laman log."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Reset",
|
||||
"description": "String ini digunakan untuk tombol reset pada laman log."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Reset log global",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol reset pada laman log."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Konfigurasi",
|
||||
"description": "String ini digunakan sebagai judul untuk konfigurasi pada laman popup."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filter",
|
||||
"description": "String ini digunakan sebagai nama untuk tombol filter switch pada laman popup."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Filters switch mengaktifkan fungsi membersihkan dari ClearURLs. Jika kamu menonaktifkan opsi ini, seluruh addon akan nonaktif",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol filter switch pada laman popup."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Mencatat",
|
||||
"description": "String ini digunakan sebagai nama untuk tombol logging switch pada laman popup."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Log hanya disimpan secara lokal. Kami tidak menyarankan fitur ini jika Anda tidak membutuhkannya",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol logging switch pada laman popup."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Lencana",
|
||||
"description": "String ini digunakan sebagai nama untuk tombol lencana pada laman popup."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Menunjukkan jumlah url yang dibersihkan",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol switch lencana pada laman popup."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistik",
|
||||
"description": "String ini digunakan sebagai judul untuk statistik pada laman popup."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elemen",
|
||||
"description": "String ini digunakan sebagai nama untuk elemen pada laman popup."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Diblokir",
|
||||
"description": "String ini digunakan sebagai nama untuk elemen yang diblokir pada laman popup."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Persentase",
|
||||
"description": "String ini digunakan sebagai nama untuk persentase elemen yang diblokir pada laman popup."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Reset",
|
||||
"description": "String ini digunakan sebagai nama untuk tombol reset statistik pada laman popup."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Reset statistik global",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol reset statistik pada laman popup."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Status aturan",
|
||||
"description": "String ini digunakan sebagai judul untuk bagian status aturan pada laman popup."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Log",
|
||||
"description": "String ini digunakan sebagai nama untuk tombol log pada laman popup."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Membuka log",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol log dalam laman popup."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Laporkan URL ini",
|
||||
"description": "Note: Tidak digunakan saat ini."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Laporkan URL saat ini dari tab ini.",
|
||||
"description": "Tidak digunakan saat ini."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Simpan dalam disk.",
|
||||
"description": "String ini digunakan untuk memberitahu user, ClearURLs menyimpan aturan pada disk."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Addon tidak dapat mulai.",
|
||||
"description": "String ini digunakan untuk memberitahu user, bahwa ClearURLs tidak dapat dimulai."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistik",
|
||||
"description": "String ini digunaakan sebagai nama untuk tombol switch statistik pada laman popup."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Aktivasi atau deaktivasi fungsi statistik",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol switch statistik pada laman popup."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "Pengaturan ClearURLs",
|
||||
"description": "String ini digunakan sebagai judul dalam laman pengaturan."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Warna lencana",
|
||||
"description": "String ini digunakan sebagai nama untuk label warna lencana."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Reset",
|
||||
"description": "String ini digunakan sebagai nama untuk tombol reset dalam laman pengaturan."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Reset semua",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol reset dalam laman pengaturan."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "Url ke file data.json (aturan)",
|
||||
"description": "String ini digunakan sebagai nama untuk label aturan url."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Simpan & muat-ulang addon",
|
||||
"description": "String ini digunakan sebagai nama untuk tombol simpan&muat-ulang pada laman pengaturan."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Simpan pengaturan",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol simpan&muat-ulang pada laman pengaturan."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "Url ke file rules.hash (hash)",
|
||||
"description": "String ini digunakan sebagai nama untuk label url rule.hash."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Tipe request</a> (expert level)",
|
||||
"description": "String ini digunakan sebagai nama untuk label tipe."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Laporkan server untuk URL",
|
||||
"description": "Note: Tidak digunakan saat ini."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "URL berhasil dilaporkan. Kami akan mengecek URL ini segera.",
|
||||
"description": "Note: Tidak digunakan saat ini."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Sepertinya URL ini telah dilaporkan.",
|
||||
"description": "Note: Tidak digunakan saat ini."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Donasi untuk pencipta ClearURLs.",
|
||||
"description": "String ini digunakan untuk merujuk ke laman donasi."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Salin lokasi link bersih",
|
||||
"description": "String ini digunakan dalam konteks menu untuk menyalin link bersih."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Tampilkan entri menu konteks",
|
||||
"description": "String ini digunakan untuk mengaktifkan entri menu konteks untuk menyalin link bersih."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Mencegah tracking injection atas API history (See also: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "String ini digunakan sebagai nama untuk label listener API history."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "tool pembersih CleanURLs",
|
||||
"description": "String ini digunakan sebagai judul pada laman tool pembersih."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Dengan alat ini Anda dapat menempelkan URL dan ClearURLs akan membersihkan URL setelah mengklik tombol hijau. Anda dapat menempelkan beberapa URL sekaligus, tetapi setiap URL harus berada di baris yang terpisah.",
|
||||
"description": "String ini digunakan sebagai deskripsi alat pembersih."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Bersihkan URL",
|
||||
"description": "String ini digunakan sebagai nama untuk tombol bersihkan url."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Disini anda dapat menempelkan URL kotor:",
|
||||
"description": "String ini digunakan sebagai judul pada laman alat pembersih untuk URL kotor."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Disini anda dapat menemukan URL yang telah dibersihkan:",
|
||||
"description": "String ini digunakan sebagai judul pada laman alat pembersih untuk URL bersih."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Melewati URLs pada host lokal (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "String ini digunakan sebagai label untuk switch local host skipping"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Lewati URL pada host lokal",
|
||||
"description": "String ini digunakan sebagai judul untuk switch host skipping lokal"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Eksport",
|
||||
"description": "String ini digunakan untuk tombol eksport pada laman log."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Mengeksport log global",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol eksport pada laman log."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Import",
|
||||
"description": "String ini digunakan untuk tombol import pada laman log."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Mengimport log global",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol import pada laman log."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Eksport",
|
||||
"description": "String ini digunakan sebagai nama untuk tombol eksport pada laman pengaturan."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Eksport semua",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol eksport pada laman pengaturan."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Import",
|
||||
"description": "String ini digunakan sebagai nama untuk tombol reset pada laman pengaturan."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Import semua",
|
||||
"description": "String ini digunakan sebagai judul untuk tombol import pada laman pengaturan."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Membatasi log ke entri $LIMIT$.",
|
||||
"description": "String ini digunakan sebagai nama untuk label batas label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Situs ini diblokir oleh <b>ClearURLs</b>",
|
||||
"description": "String ini digunakan sebagai judul pada laman situs yang diblokir."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Situs ini diblokir oleh Add-on <b>ClearURLs</b>, karena kami mengidentifikasi situs ini sebagai layanan periklanan dan/atau pelacakan. Untuk mengunjungi situs ini, Anda harus menonaktifkan sementara Add-on atau menonaktifkan pemblokiran domain di pengaturan ClearURLs. Setelah ini Anda dapat mengklik tombol di bawah ini untuk memuat halaman.",
|
||||
"description": "String ini digunakan sebagai body pada laman situs yang diblokir."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Kunjungi laman",
|
||||
"description": "String ini digunakan sebagai tombol pada laman situs yang diblokir."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Izinkan marketing referral",
|
||||
"description": "String ini digunakan sebagai label pada switch marketing referral"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Izinkan marketing referral",
|
||||
"description": "String ini digunakan sebagai judul pada switch marketing referral"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Watchdog telah mendeteksi masalah dan gagal sebanyak $TIMES$ kali.",
|
||||
"description": "String ini digunakan sebagai text untuk wacthdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Izinkan pemblokiran domain (Dapat menyebabkan masalah pada halaman yang tidak mengizinkan AdBlocker)",
|
||||
"description": "String ini digunakan sebagai label pada switch pemblokiran domain"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Izinkan pemblokiran domain (Dapat menyebabkan masalah pada halaman yang tidak mengizinkan AdBlocker)",
|
||||
"description": "String ini digunakan sebagai judul untuk switch pemblokiran domain"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Pengauditan hyperlink ini diblokir",
|
||||
"description": "String ini digunakan pada pengauditan hyperlink di log ClearURLs."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Memblokir audit hyperlink (Lihat juga <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>artikel ini</a>)",
|
||||
"description": "String ini digunakan sebagai label untuk switch pengauditan hyperlink"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Blokir pengauditan hyperlink",
|
||||
"description": "String ini digunakan sebagai judul pada switch pengauditan hyperlink"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Hapus elemen pelacak dari URL.",
|
||||
"description": "Deskripsi ekstensi (max. 132 karakter)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "Header ETag telah dihapus dari request ini",
|
||||
"description": "String ini digunakan pada pemfilteran header ETag pada log ClearURLs."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Memfilter header ETag dari permintaan (Lihat juga <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>artikel ini</a>)",
|
||||
"description": "String ini digunakan sebagai label untuk switch pemfilteran ETag header"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filter header ETag. Petunjuk: Cache harus dibersihkan sebelum digunakan pertama kali.",
|
||||
"description": "String ini digunakan sebagai judul untuk switch pemfilteran ETag header"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "tidak diperlukan, hanya untuk mencegah pengecualian"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "tidak diperlukan, hanya untuk mencegah pengecualian"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "tidak diperlukan, hanya untuk mencegah pengecualian"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "tidak diperlukan, hanya untuk mencegah pengecualian"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "tidak diperlukan, hanya untuk mencegah pengecualian"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "tidak diperlukan, hanya untuk mencegah pengecualian"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "tidak diperlukan, hanya untuk mencegah pengecualian"
|
||||
}
|
||||
}
|
||||
378
_locales/it/messages.json
Normal file
378
_locales/it/messages.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "tutto aggiornato",
|
||||
"description": "Questo codice di stato indica che non sono disponibili aggiornamenti per le regole di ClearURLs e che tutto è aggiornato."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "aggiornate",
|
||||
"description": "Questo codice di stato indica che le regole di ClearURLs sono state aggiornate correttamente."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "aggiornamento disponibile",
|
||||
"description": "Questo codice di stato indica che è disponibile un aggiornamento delle regole di ClearURLs."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "errore",
|
||||
"description": "Questo codice di stato indica che ClearURLs non può essere avviato correttamente."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Oops qualcosa è andato storto!",
|
||||
"description": "Questo codice di stato indica che si è verificato un errore durante l'aggiornamento delle regole di ClearURLs."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Questo URL viene reindirizzato",
|
||||
"description": "Questa stringa è usata per i reindirizzamenti nel log di ClearURLs."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Questo dominio è bloccato",
|
||||
"description": "Questa stringa è usata per i domini bloccati nel log di ClearURLs."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Log listener è stato aggiunto.",
|
||||
"description": "Questa stringa è usata all'avvio del log di ClearURLs."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Log di ClearURLs",
|
||||
"description": "Questa stringa viene utilizzata come header nella pagina di log."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Prima dell'elaborazione",
|
||||
"description": "Questa stringa è usata come titolo della tabella nella pagina di log."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Dopo l'elaborazione",
|
||||
"description": "Questa stringa è usata come titolo della tabella nella pagina di log."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regola",
|
||||
"description": "Questa stringa è usata come titolo della tabella nella pagina di log."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Data e ora",
|
||||
"description": "Questa stringa è usata come titolo della tabella nella pagina di log."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Ripristina",
|
||||
"description": "Questa stringa è usata per il pulsante di reset nella pagina di log."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Azzera il log globale",
|
||||
"description": "Questa stringa è usata come titolo per il pulsante di reset nella pagina di log."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Configurazioni",
|
||||
"description": "Questa stringa è usata come titolo per le configurazioni nella pagina popup."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtra",
|
||||
"description": "Questa stringa è usata come nome per il pulsante di attivazione del filtro nella pagina popup."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "L'interruttore dei filtri attiva la funzione di pulizia di ClearURLs. Se si disabilita questa opzione, l'intero componente aggiuntivo è disabilitato.",
|
||||
"description": "Questa stringa è usata come titolo per il pulsante di attivazione del filtro nella pagina popup."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Log",
|
||||
"description": "Questa stringa è usata come nome per il pulsante di attivazione della registrazione nella pagina popup."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Il registro viene salvato solo in locale. Si sconsiglia di utilizzare questa funzione se non ne hai bisogno.",
|
||||
"description": "Questa stringa è usata come titolo per il pulsante di attivazione della registrazione nella pagina popup."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Contatore",
|
||||
"description": "Questa stringa è usata come nome per il pulsante di attivazione dei badge nella pagina popup."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Mostra il numero di url puliti",
|
||||
"description": "Questa stringa è usata come titolo per il pulsante di attivazione dei badge nella pagina popup."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistiche",
|
||||
"description": "Questa stringa è usata come titolo per le statistiche nella pagina popup."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementi",
|
||||
"description": "Questa stringa è usata come nome per gli elementi della pagina popup."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Bloccati",
|
||||
"description": "Questa stringa è usata come nome per gli elementi bloccati nella pagina popup."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Percentuale",
|
||||
"description": "Questa stringa è usata come nome per la percentuale di elementi bloccati nella pagina popup."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Ripristina",
|
||||
"description": "Questa stringa è usata come nome per il pulsante di reset delle statistiche nella pagina popup."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Ripristina le statistiche globali",
|
||||
"description": "Questa stringa è usata come titolo per il pulsante di reset delle statistiche nella pagina popup."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Regole-Stato",
|
||||
"description": "Questa stringa è usata come titolo per la sezione rules-status nella pagina popup."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Log",
|
||||
"description": "Questa stringa è usata come nome per il pulsante di log nella pagina popup."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Apri il file di log",
|
||||
"description": "Questa stringa è usata come titolo per il pulsante di log nella pagina popup."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Segnala l'url corrente",
|
||||
"description": "Nota: attualmente non utilizzato."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Segnala l'URL corrente da questa scheda.",
|
||||
"description": "Attualmente non utilizzato."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Salva sul disco.",
|
||||
"description": "Questa stringa è usata per dire all'utente che ClearURLs ha salvato le impostazioni su disco."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Il componente aggiuntivo non può essere avviato.",
|
||||
"description": "Questa stringa è usata per dire all'utente che ClearURLs non può essere avviato."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistiche",
|
||||
"description": "Questa stringa è usata come nome per il pulsante di attivazione delle statistiche nella pagina popup."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Attiva o disattiva le statistiche",
|
||||
"description": "Questa stringa è usata come titolo per il pulsante di attivazione delle statistiche nella pagina popup."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "Impostazioni da ClearURLs",
|
||||
"description": "Questa stringa è usata come titolo nella pagina delle impostazioni."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Colore del badge",
|
||||
"description": "Questa stringa è usata come nome per l'etichetta del colore del badge."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Ripristina",
|
||||
"description": "Questa stringa è usata come nome per il pulsante di reset nella pagina delle impostazioni."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Ripristina tutto",
|
||||
"description": "Questa stringa è usata come titolo per il pulsante di reset nella pagina delle impostazioni."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "Indirizzo del file data.json (regole)",
|
||||
"description": "Questa stringa è usata come nome per l'etichetta url della regola."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Salva e ricarica il componente aggiuntivo",
|
||||
"description": "Questa stringa è usata come nome per il pulsante salva&ricarica nella pagina delle impostazioni."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Salva le impostazioni",
|
||||
"description": "Questa stringa è usata come titolo per il pulsante salva&ricarica nella pagina delle impostazioni."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "Indirizzo del file rules.hash (hash)",
|
||||
"description": "Questa stringa è usata come nome per l'etichetta dell'url rule.hash."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (livello esperto)\n",
|
||||
"description": "Questa stringa è usata come nome per l'etichetta dei tipi."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Server di report per gli URL",
|
||||
"description": "Nota: attualmente non utilizzato."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "L'URL è stato segnalato correttamente. Verificheremo l'URL quanto prima.",
|
||||
"description": "Nota: attualmente non utilizzato."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Sembra che questo URL sia già stato segnalato.",
|
||||
"description": "Nota: attualmente non utilizzato."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Una donazione per l'autore di ClearURLs.",
|
||||
"description": "Questa stringa è usata per riferirsi a una pagina di donazione."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copia i collegamenti puliti",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Visualizza la voce del menu contestuale",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Impedisci il tracciamento via cronologia API (vedi: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>Il metodo replaceState()</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Strumento di pulizia di ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Con questo strumento è possibile incollare URL che ClearURLs pulirà facendo clic sul pulsante verde. È possibile incollare più URL contemporaneamente, indica un singolo URL per riga.",
|
||||
"description": "Questa stringa viene utilizzata come descrizione dello strumento di pulizia."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Pulisci gli URL",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Qui puoi incollare gli URL sporchi:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Qui di seguito puoi trovare gli URL puliti:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Escludi gli URL locali (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "Questa stringa viene utilizzata come etichetta per l'opzione di salto del localhost"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Escludi gli URL locali",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Esporta",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Esporta il log globale",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importa",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importa il log globale",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Esporta",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Esporta tutto",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importa",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importa tutto",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limita le voci di log a $LIMIT$.",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Questo sito è stato bloccato da <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Questo sito è stato bloccato da <b>ClearURLs</b> perché è stato identificato come sito web di advertising e/o servizio di tracciamento. Per visitare questo sito web devi temporaneamente disattivare il componente aggiuntivo. Dopo aver disattivato ClearURLs potrai fare clic sul pulsante qui sotto per ricaricare la pagina.",
|
||||
"description": "Questa stringa viene utilizzata come corpo della pagina del sito bloccato."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Visita la pagina",
|
||||
"description": "Questa stringa viene utilizzata come pulsante della pagina del sito bloccato."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Permetti l'utilizzo di referral marketing",
|
||||
"description": "Questa stringa viene utilizzata come etichetta per l'interruttore del referral marketing"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Permette l'utilizzo del referral marketing (esempio: Amazon)",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Il sistema di controllo ha identificato un problema. ClearURLs verrà riavviato.",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Permetti il blocco dei domini (può portare a problemi su pagine che non consentono AdBlocker)",
|
||||
"description": "Questa stringa viene utilizzata come etichetta per l'interruttore di blocco del dominio"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Permetti il blocco dei domini (può portare a problemi su pagine che non consentono AdBlocker)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Questa verifica del collegamento è stata bloccata",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Blocca la verifica dei collegamenti (vedi anche <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>questo articolo</a>)",
|
||||
"description": "Questa stringa viene utilizzata come etichetta per l'interruttore di blocco dell'hyperlink auditing"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Blocca la verifica dei collegamenti",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Rimuove gli elementi di tracciamento dagli URL.",
|
||||
"description": "Descrizione dell'estensione (max.132 caratteri)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "L'header ETag è stato rimosso da questa richiesta",
|
||||
"description": "Questa stringa è usata sul filtraggio dell'header ETag nel log di ClearURLs."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtra gli header ETag dalle richieste (Guarda anche <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>this article</a>)",
|
||||
"description": "Questa stringa viene utilizzata come etichetta per l'opzione di filtraggio dell'header ETag"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtra gli heaader ETag. Suggerimento: la cache deve essere svuotata prima del primo utilizzo.",
|
||||
"description": "Questa stringa viene utilizzata come titolo per l'opzione di filtraggio dell'header ETag"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "non necessario, solo per evitare eccezioni"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "non necessario, solo per evitare eccezioni"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "non necessario, solo per evitare eccezioni"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "non necessario, solo per evitare eccezioni"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "non necessario, solo per evitare eccezioni"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "non necessario, solo per evitare eccezioni"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "non necessario, solo per evitare eccezioni"
|
||||
}
|
||||
}
|
||||
@@ -1,246 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"description": "up to date",
|
||||
"message": "最新の"
|
||||
"message": "最新",
|
||||
"description": "このステータスコードは、ClearURLs ルールの更新が無く、すべてが最新であることを示しています。"
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"description": "updated",
|
||||
"message": "更新する"
|
||||
"message": "更新しました",
|
||||
"description": "このステータスコードは、ClearURLs ルールが正常に更新されたことを示しています。"
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"description": "update available",
|
||||
"message": "利用可能な更新"
|
||||
"message": "更新が利用可能",
|
||||
"description": "このステータスコードは、ClearURLs ルールの更新が利用可能であることを示しています。"
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"description": "error",
|
||||
"message": "エラー"
|
||||
"message": "エラー",
|
||||
"description": "このステータスコードは、ClearURLs が正しく開始できなかったことを示しています。"
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"description": "Oops something went wrong!",
|
||||
"message": "おっと!何かが間違っていた!"
|
||||
"message": "おっと!何かが間違っていた!",
|
||||
"description": "このステータスコードは、ClearURLs ルールの更新中にエラーが発生したことを示しています。"
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"description": "This url is redirected",
|
||||
"message": "この URL はリダイレクトされます"
|
||||
"message": "この URL はリダイレクトされます",
|
||||
"description": "この文字列は、ClearURLs ログをリダイレクトして使用されます。"
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"description": "This domain is blocked",
|
||||
"message": "このドメインはブロックされています"
|
||||
"message": "このドメインはブロックされています",
|
||||
"description": "この文字列は、ClearURLs ログでブロックされたドメインで使用されます。"
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"description": "[ClearURLs]: Log listener is added.",
|
||||
"message": "[ClearURLs]:ログリスナーが追加されました。"
|
||||
"message": "[ClearURLs]:ログリスナーを追加しました。",
|
||||
"description": "この文字列は、ClearURLs ログの起動時に使用されます。"
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"description": "Log from ClearURLs",
|
||||
"message": "ClearURLs からのログ"
|
||||
"message": "ClearURLs のログ",
|
||||
"description": "この文字列は、ログページのヘッダーとして使用されます。"
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"description": "Before processing",
|
||||
"message": "処理する前に"
|
||||
"message": "処理前",
|
||||
"description": "この文字列は、ログページのテーブルタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"description": "After processing",
|
||||
"message": "処理後"
|
||||
"message": "処理後",
|
||||
"description": "この文字列は、ログページのテーブルタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"description": "Rule",
|
||||
"message": "規則"
|
||||
"message": "ルール",
|
||||
"description": "この文字列は、ログページのテーブルタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"description": "Time",
|
||||
"message": "時間"
|
||||
"message": "時間",
|
||||
"description": "この文字列は、ログページのテーブルタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"description": "Reset",
|
||||
"message": "リセットする"
|
||||
"message": "リセットする",
|
||||
"description": "この文字列は、ログページのリセットボタンに使用されます。"
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"description": "Reset the global log",
|
||||
"message": "グローバルログをリセットする"
|
||||
"message": "グローバルログをリセットする",
|
||||
"description": "この文字列は、ログページのリセットボタンのタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"description": "Configs",
|
||||
"message": "設定"
|
||||
"message": "設定",
|
||||
"description": "この文字列は、ポップアップページの設定のタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"description": "Filter",
|
||||
"message": "フィルター"
|
||||
"message": "フィルター",
|
||||
"description": "この文字列は、ポップアップページのフィルタースイッチボタンの名前として使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"description": "The filters switch activates the cleaning functionality of ClearURLs. If you disable this option, the whole addon is disabled",
|
||||
"message": "フィルタースイッチは、ClearURL のクリーニング機能を有効にします。 このオプションを無効にすると、アドオン全体が無効になります。"
|
||||
"message": "フィルタースイッチは、ClearURLs のクリーニング機能を有効にします。 このオプションを無効にすると、アドオン全体が無効になります。",
|
||||
"description": "この文字列は、ポップアップページのフィルタースイッチボタンのタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"description": "Logging",
|
||||
"message": "追跡記録"
|
||||
"message": "追跡記録",
|
||||
"description": "この文字列は、ポップアップページのロギングスイッチボタンの名前として使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"description": "The log is saved only locally. We advise against this feature if you do not need it",
|
||||
"message": "ログはローカルにのみ保存されます。この機能が必要ない場合は、この機能を無効にすることをおすすめします。"
|
||||
"message": "ログはローカルにのみ保存されます。この機能が必要ない場合は、この機能を無効にすることをおすすめします。",
|
||||
"description": "この文字列は、ポップアップページのロギングスイッチボタンのタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"description": "Badges",
|
||||
"message": "バッジ"
|
||||
"message": "バッジ",
|
||||
"description": "この文字列は、ポップアップページのバッジスイッチボタンの名前として使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"description": "Show number of cleaned urls",
|
||||
"message": "消去された URL の数を表示する"
|
||||
"message": "消去された URL の数を表示する",
|
||||
"description": "この文字列は、ポップアップページのバッジ切り替えボタンのタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"description": "Statistics",
|
||||
"message": "統計"
|
||||
"message": "統計",
|
||||
"description": "この文字列は、ポップアップページの統計のタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"description": "Elements",
|
||||
"message": "要素"
|
||||
"message": "要素",
|
||||
"description": "この文字列は、ポップアップページの要素の名前として使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"description": "Blocked",
|
||||
"message": "ブロックされた"
|
||||
"message": "ブロックされた要素",
|
||||
"description": "この文字列は、ポップアップページでブロックされた要素の名前として使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"description": "Percentage",
|
||||
"message": "パーセンテージ"
|
||||
"message": "ブロックされた要素の割合",
|
||||
"description": "この文字列は、ポップアップページでブロックされた要素の割合の名前として使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"description": "Reset",
|
||||
"message": "リセットする"
|
||||
"message": "リセットする",
|
||||
"description": "この文字列は、ポップアップページの統計リセットボタンの名前として使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"description": "Reset the global statistics",
|
||||
"message": "グローバル統計をリセットする"
|
||||
"message": "グローバル統計をリセットする",
|
||||
"description": "この文字列は、ポップアップページの統計リセットボタンのタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"description": "Rules-Status",
|
||||
"message": "ルール・ステータス"
|
||||
"message": "ルール・ステータス",
|
||||
"description": "この文字列は、ポップアップページのルール・ステータスセクションのタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"description": "Log",
|
||||
"message": "記録を取る"
|
||||
"message": "記録を取る",
|
||||
"description": "この文字列は、ポップアップページのログボタンの名前として使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"description": "Open the log",
|
||||
"message": "記録を開く"
|
||||
"message": "ログを開く",
|
||||
"description": "この文字列は、ポップアップページのログボタンのタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"popup_html_report_button": {
|
||||
"description": "Report current URL",
|
||||
"message": "現在の URL を報告する"
|
||||
"message": "現在の URL を報告する",
|
||||
"description": "注:現在使用されていません。"
|
||||
},
|
||||
|
||||
"popup_html_report_button_title": {
|
||||
"description": "Report the current URL from this tab.",
|
||||
"message": "このタブから現在の URL を報告してください。"
|
||||
"message": "このタブから現在の URL を報告してください。",
|
||||
"description": "現在使用されていません。"
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"description": "[ClearURLs]: Save on disk.",
|
||||
"message": "[ClearURLs]:ディスクに保存します。"
|
||||
"message": "[ClearURLs]:ディスクに保存します。",
|
||||
"description": "この文字列は、ClearURLs が設定をディスクに保存したことをユーザーに伝えるために使用されます。"
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"description": "[ClearURLs]: The addon could not started.",
|
||||
"message": "[ClearURLs]:アドオンを開始できませんでした。"
|
||||
"message": "[ClearURLs]:アドオンを開始できませんでした。",
|
||||
"description": "この文字列は、ClearURLs を開始できなかったことをユーザーに伝えるために使用されます。"
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"description": "Statistics",
|
||||
"message": "統計"
|
||||
"message": "統計情報",
|
||||
"description": "この文字列は、ポップアップページの統計情報切り替えボタンの名前として使用されます。"
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"description": "Activate or deactivate the statistics function",
|
||||
"message": "統計機能を有効または無効にする"
|
||||
"message": "統計情報機能を有効または無効にする",
|
||||
"description": "この文字列は、ポップアップページの統計情報切り替えボタンのタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"description": "Settings from ClearURLs",
|
||||
"message": "ClearURL からの設定"
|
||||
"message": "ClearURLs の設定",
|
||||
"description": "この文字列は、設定ページのタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"description": "Badged color",
|
||||
"message": "バッジの色"
|
||||
"message": "バッジの色",
|
||||
"description": "この文字列は、バッジ付きカラーラベルの名前として使用されます。"
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"description": "Reset",
|
||||
"message": "リセットする"
|
||||
"message": "リセットする",
|
||||
"description": "この文字列は、設定ページのリセットボタンの名前として使用されます。"
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"description": "Reset everything",
|
||||
"message": "すべてをリセットする"
|
||||
"message": "すべてをリセットする",
|
||||
"description": "この文字列は、設定ページのリセットボタンのタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"description": "The url to the data.json file (rules)",
|
||||
"message": "data.json ファイルへの URL(ルール)"
|
||||
"message": "data.json ファイルへの URL(ルール)",
|
||||
"description": "この文字列は、ルールの URL ラベルの名前として使用されます。"
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"description": "Save & reload addon",
|
||||
"message": "アドオンの保存と再読み込み"
|
||||
"message": "アドオンの保存と再読み込み",
|
||||
"description": "この文字列は、設定ページの保存と再読み込みボタンの名前として使用されます。"
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"description": "Saves the settings",
|
||||
"message": "設定を保存します。"
|
||||
"message": "設定を保存します。",
|
||||
"description": "この文字列は、設定ページの保存と再読み込みボタンのタイトルとして使用されます。"
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"description": "The url to the rules.hash file (hash)",
|
||||
"message": "rules.hash ファイル(ハッシュ)への URL"
|
||||
"message": "rules.hash ファイル(ハッシュ)への URL",
|
||||
"description": "この文字列は、rule.hash URL ラベルの名前として使用されます。"
|
||||
},
|
||||
|
||||
"setting_types_label": {
|
||||
"description": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (expert level)",
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'> リクエストタイプ</a> (エキスパートレベル)"
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'> リクエストタイプ</a> (エキスパートレベル)",
|
||||
"description": "この文字列は、タイプラベルの名前として使用されます。"
|
||||
},
|
||||
|
||||
"setting_report_server_label": {
|
||||
"description": "Report server for URLs",
|
||||
"message": "URL のサーバーを報告する"
|
||||
"message": "URL のサーバーを報告する",
|
||||
"description": "注:現在使用されていません。"
|
||||
},
|
||||
|
||||
"success_report_url": {
|
||||
"description": "The URL was successfully reported. We will check this URL soon.",
|
||||
"message": "URL は正常に報告されました。 我々はすぐに、この URL をチェックします。"
|
||||
"message": "URL は正常に報告されました。 我々はすぐに、この URL をチェックします。",
|
||||
"description": "注:現在使用されていません。"
|
||||
},
|
||||
|
||||
"error_report_url": {
|
||||
"description": "It seems like this URL has already been reported.",
|
||||
"message": "この URL は既に報告されているようです。"
|
||||
"message": "この URL は既に報告されているようです。",
|
||||
"description": "注:現在使用されていません。"
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "ClearURLs 作成者への寄付。",
|
||||
"description": "この文字列は、寄付ページを参照するために使用されます。"
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "クリーンリンクをコピー",
|
||||
"description": "この文字列は、コンテキストメニューでクリーンリンクをコピーするために使用されます。"
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "コンテキストメニューエントリを表示する",
|
||||
"description": "この文字列は、コンテキストメニューのエントリを切り替えて、クリーンなリンクをコピーするために使用されます。"
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "history(履歴)API でのインジェクションの追跡を防止する (参照: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "この文字列は、history(履歴)API リスナーラベルの名前として使用されます。"
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs のクリーニングツール",
|
||||
"description": "この文字列は、クリーニングツールページのタイトルとして使用されます。"
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "このツールを使用すると、URL を貼り付けることができます。ClearURLs は、緑色のボタンをクリックすると URL を消去します。 一度に複数の URL を貼り付けることができますが、すべての URL を別々の行に含める必要があります。",
|
||||
"description": "この文字列は、クリーニングツールの説明として使用されます。"
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Clean URLs",
|
||||
"description": "この文字列は、クリーン URL ボタンの名前として使用されます。"
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "ここで、難読化された URL を貼り付けることができます。",
|
||||
"description": "この文字列は、難読化された URL のクリーニングツールページのタイトルとして使用されます。"
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "ここで、クリーンアップされた URL を見つけることができます。",
|
||||
"description": "この文字列は、クリーン URL のクリーニングツールページのタイトルとして使用されます。"
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "ローカルホストの URL をスキップする (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "この文字列は、ローカルホストのスキップスイッチのラベルとして使用されます。"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "ローカルホストの URL をスキップ",
|
||||
"description": "この文字列は、ローカルホストのスキップスイッチのタイトルとして使用されます。"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "エクスポート",
|
||||
"description": "この文字列は、ログページのエクスポートボタンに使用されます。"
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "グローバルログをエクスポートする",
|
||||
"description": "この文字列は、ログページのエクスポートボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "インポート",
|
||||
"description": "この文字列は、ログページのインポートボタンに使用されます。\n"
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "グローバルログのインポート",
|
||||
"description": "この文字列は、ログページのインポートボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "エクスポート",
|
||||
"description": "この文字列は、設定ページのエクスポートボタンの名前として使用されます。\n"
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "すべてをエクスポートする",
|
||||
"description": "この文字列は、設定ページのエクスポートボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "インポート",
|
||||
"description": "この文字列は、設定画面のリセットボタンの名前として使用されます。"
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "すべてをインポートする",
|
||||
"description": "この文字列は、設定ページのインポートボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "ログのエントリを $LIMIT$ に制限します。",
|
||||
"description": "この文字列は、ログリミットラベルの名前として使用されます。",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "このサイトは <b>ClearURLs</b> よってブロックされました。",
|
||||
"description": "この文字列は、ブロックされたサイトのページのタイトルとして使用されます。"
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "このサイトは <b>ClearURLs</b> アドオンによってブロックされました。このサイトを訪問するには、アドオンを一時的に無効にするか、ClearURLs の設定でドメインブロックを無効にする必要があります。その対処後、下のボタンをクリックしてページを読み込むことができます。",
|
||||
"description": "この文字列は、ブロックされたサイトページの本文として使用されます。"
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "ページを見る",
|
||||
"description": "この文字列は、ブロックされたサイトのページのボタンとして使用されます。"
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Referral marketing(口コミなどの紹介商法)を許可する",
|
||||
"description": "この文字列は、Referral marketing(口コミなどの紹介商法)スイッチのラベルとして使用されます。"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Referral marketing(口コミなどの紹介商法)を許可する",
|
||||
"description": "この文字列は、Referral marketing(口コミなどの紹介商法)スイッチのタイトルとして使用されます。"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: システム監視ツールのウォッチドッグが問題を検出し、すでに $TIMES$ 回失敗しています。",
|
||||
"description": "この文字列は、システム監視ツール・ウォッチドッグのテキストとして使用されます。",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "ドメインブロックを許可する(AdBlocker を許可していないページで問題が発生する可能性があります。)",
|
||||
"description": "この文字列はドメインブロッキングスイッチのラベルとして使用されます。"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "ドメインブロックを許可する(AdBlocker を許可していないページで問題が発生する可能性があります。)",
|
||||
"description": "この文字列は、ドメインブロッキングスイッチのタイトルとして使用されます。"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "このハイパーリンク監査はブロックされました",
|
||||
"description": "この文字列は、ClearURLs ログのハイパーリンク監査で使用されます。"
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "ハイパーリンク監査をブロックする (<a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>この記事</a>も参照してください)",
|
||||
"description": "この文字列は、ハイパーリンク監査ブロッキングスイッチのラベルとして使用されます。"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "ハイパーリンク監査をブロックする",
|
||||
"description": "この文字列は、ハイパーリンク監査ブロッキングスイッチのタイトルとして使用されます。"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "URL からトラッキング要素を削除します。",
|
||||
"description": "拡張機能の説明(最大 132 文字)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "このリクエストから ETag ヘッダが削除されました。",
|
||||
"description": "この文字列は、ClearURLs ログの ETag ヘッダフィルタリングで使用されます。"
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "リクエストから ETag ヘッダをフィルタリングします (<a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'> この記事 </a> も参照してください)",
|
||||
"description": "この文字列は、ETag ヘッダフィルタリングスイッチのラベルとして使用されます。"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "ETag ヘッダをフィルタリングします。ヒント: 最初に使用する前にキャッシュをクリアしなければなりません。",
|
||||
"description": "この文字列は、ETag ヘッダフィルタリングスイッチのタイトルとして使用されます。"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
}
|
||||
}
|
||||
}
|
||||
378
_locales/ko/messages.json
Normal file
378
_locales/ko/messages.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "최신 버전",
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "업데이트됨",
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "업데이트 가능",
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "오류",
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "앗 무언가가 잘못되었어요!",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "이 url이 리다이렉트됨",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "이 도메인이 차단됨",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: 로그 리스너가 추가되었습니다.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs의 로그",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "처리하기 전에",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "처리한 이후",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "규칙",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "시간",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "초기화",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "글로벌 로그 초기화",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "설정",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "필터",
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "이 필터 스위치는 ClearURLs의 청소 기능을 스위치합니다. 이 옵션을 비활성화하면 전체 확장 프로그램이 비활성화됩니다",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "로깅",
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "이 로그는 오직 기기에만 저장됩니다. 필요하지 않으면 사용하지 않는 것을 추천합니다",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "배지",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "청소된 url의 수 표시",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "통계",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "요소",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "차단됨",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "퍼센트",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "초기화",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "글로벌 통계 초기화",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Rules-Status",
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "로그",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "로그 열기",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "현재 URL 제보",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "이 탭에서 URL을 제보합니다.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: 디스크에 저장했습니다.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: 확장 프로그램이 시작할 수 없습니다.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "통계",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "통계 기능을 활성화하거나 비활성화합니다.",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURLs 설정",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "배지 색",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "초기화",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "모든 것을 초기화함",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "data.json(규칙) 파일의 url",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "저장하고 확장 프로그램 다시 시작",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "설정 저장",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "rules.hash (hash) 파일의 url",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (expert level)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Report server for URLs",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "The URL was successfully reported. We will check this URL soon.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "It seems like this URL has already been reported.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "ClearURLs 제작자에게 후원",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "깨끗한 링크 주소 복사",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Display context menu entry",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Prevent tracking injection over history API (See also: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs cleaning tool",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "With this tool you can paste in URLs and ClearURLs will clean the URLs after a click on the green button. You can paste in multiple URLs at once, but every URL must be on a separate line.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "URL들 청소",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "여기에 더러운 URL들을 붙여넣으세요:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "여기서 깨끗한 URL들을 찾을 수 있습니다:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "로컬 호스트에서 URL 스킵 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "로컬 호스트에서 URL 스킵함",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "내보내기",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "글로벌 로그 내보냄",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "불러오기",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "글로벌 로그 불러옴",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "내보내기",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "모든 것을 내보냄",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "불러오기",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "모든 것을 불러옴",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limit the log to $LIMIT$ entries.",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "이 사이트가 <b>ClearURLs</b>에 의해 차단됨",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "이 사이트는 광고/추적 서비스로 발견되었기 때문에 <b>ClearURLs</b>에 의해 차단되었습니다. 이 사이트를 방문하려면 임시로 확장 프로그램을 비활성화하거나 ClearURLs 설정에서 도메인 차단을 비활성화해야 합니다. 이후에 아래의 버튼을 눌러 페이지를 불러올 수 있습니다.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "페이지 방문",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "레퍼럴 마케팅 허용",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "레퍼럴 마케팅 허용",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: watchdog은 문제를 발견했고 이미 $TIMES$ 번 실패했습니다.",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "도메인 차단 허용 (광고 차단기를 허용하지 않는 사이트에서 문제가 생길 수 있음)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "도메인 차단 허용 (광고 차단기를 허용하지 않는 사이트에서 문제가 생길 수 있음)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "이 하이퍼링크 수정이 차단됨",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "하이퍼링크 수정 차단 (<a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>이 기사</a>를 참고해주세요.)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "하이퍼링크 수정 차단",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "URL에서 추적 요소를 삭제",
|
||||
"description": "Extension description (max. 132 characters)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag 헤더가 이 요청에서 삭제됨",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "요청에서 ETag 헤더를 필터함 (<a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>이 기사</a>를 참고하세요)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "ETag 헤더를 필터함. 힌트: 첫 사용 이전에 캐시가 삭제되어야 합니다.",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
}
|
||||
}
|
||||
378
_locales/nl/messages.json
Normal file
378
_locales/nl/messages.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "up-to-date",
|
||||
"description": "Deze statuscode betekent dat er geen update voor de ClearURLs-regels beschikbaar is. Alles is up-to-date."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "geüpdatet",
|
||||
"description": "Deze statuscode betekent dat de ClearURLs-regels volledig geüpdatet zijn."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "update beschikbaar",
|
||||
"description": "Deze statuscode betekent dat er een update beschikbaar is voor de ClearURLs-regels."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "foutmelding",
|
||||
"description": "Deze statuscode betekent dat ClearURLs niet correct gestart kan worden."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Oeps, er is iets misgegaan!",
|
||||
"description": "Deze statuscode betekent dat er iets mis is gegaan tijdens het updaten van de ClearURLs-regels."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Deze url werd doorgestuurd",
|
||||
"description": "Deze tekenreeks wordt gebruikt in het ClearURLs-logboek om doorverwijzingen aan te geven."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Dit domein wordt geblokkeerd",
|
||||
"description": "Deze tekenreeks wordt gebruikt in het ClearURLs-logboek voor geblokkeerde domeinen."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Logboek is toegevoegd",
|
||||
"description": "Deze tekenreeks wordt gebruikt zodra het aanleggen van het ClearURLs-logboek begonnen is."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs-logboek",
|
||||
"description": "Deze tekenreeks wordt gebruikt als titel van het logboek."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Vóór verwerking",
|
||||
"description": "Deze tekenreeks wordt gebruikt als tabeltitel in het logboek."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Ná verwerking",
|
||||
"description": "Deze tekenreeks wordt gebruikt als tabeltitel in het logboek."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regel",
|
||||
"description": "Deze tekenreeks wordt gebruikt als tabeltitel in het logboek."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Tijd",
|
||||
"description": "Deze tekenreeks wordt gebruikt als tabeltitel in het logboek."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Standaardwaarden",
|
||||
"description": "Deze tekenreeks wordt gebruikt bij de standaardwaardenknop in het logboek."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Zet het logboek terug op de standaardwaarde",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de standaardwaardenknop in het logboek."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Instellingen",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de instellingen op de pop-uppagina."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filter",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de filterknop op de pop-uppagina."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "De filterknop activeert de opschoonfunctionaliteit van ClearURLs. Als je deze uitschakelt, dan schakel je de hele add-on uit.",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de filterknop op de pop-uppagina."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Loggen",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de logknop op de pop-uppagina."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Het logboek wordt alleen lokaal bewaard. We raden aan dit uit te laten staan als je het niet nodig hebt.",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de logknop op de pop-uppagina."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Emblemen",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de embleemknop op de pop-uppagina."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Aantal opgeschoonde url's tonen",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de embleemknop op de pop-uppagina."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistieken",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de statistieken op de pop-uppagina."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementen",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de elementen op de pop-uppagina."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Geblokkeerd",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van het aantal geblokkeerde elementen op de pop-uppagina."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Percentage",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van het percentage geblokkeerde elementen op de pop-uppagina."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Standaardwaarden",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de standaardwaardenknop op de pop-uppagina."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Herstel de globale statistieken",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de standaardwaardenknop op de pop-uppagina."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Regelstatus",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de regelstatussectie op de pop-uppagina."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Logboek",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de logboekknop op de pop-uppagina."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Logboek openen",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de logboekknop op de pop-uppagina."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Huidige url melden",
|
||||
"description": "Opm.: wordt momenteel niet gebruikt."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Meld de url van het huidige tabblad.",
|
||||
"description": "Wordt momenteel niet gebruikt."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Opgeslagen op schijf.",
|
||||
"description": "Deze tekenreeks wordt gebruikt om te melden dat de instellingen zijn opgeslagen op de schijf."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: De add-on kan niet worden gestart.",
|
||||
"description": "Deze tekenreeks wordt gebruikt om te melden dat ClearURLs niet kan worden gestart."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistieken",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de statistiekenknop op de pop-uppagina."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Statistieken bijhouden in-/uitschakelen",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de statistiekenknop op de pop-uppagina."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURLs-instellingen",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de instellingenpagina."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Embleemkleur",
|
||||
"description": "Deze tekenreeks wordt gebruikt als label van de embleemkleur."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Standaardwaarden",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de stardaardwaardetknop op de instellingenpagina."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Zet alles terug",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de standaardwaardenknop op de instellingenpagina."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "De url naar het data.json-bestand (regels)",
|
||||
"description": "Deze tekenreeks wordt gebruikt als label van de regel-url."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Add-on opslaan en herladen",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de knop 'Opslaan en herladen' op de instellingenpagina."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Slaat de instellingen op",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de knop 'Opslaan en herladen' op de instellingenpagina."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "De url naar het rules.hash-bestand (hash)",
|
||||
"description": "Deze tekenreeks wordt gebruikt als label van de rule.hash-url."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Soorten verzoeken</a> (voor ervaren gebruikers)",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de soorten verzoeken."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Meldingsserver voor url's",
|
||||
"description": "Opm.: wordt momenteel niet gebruikt."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "De url is gemeld - we controleren deze z.s.m.",
|
||||
"description": "Opm.: wordt momenteel niet gebruikt."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Het lijkt er op dat deze url al gemeld is.",
|
||||
"description": "Opm.: wordt momenteel niet gebruikt."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Een donatie aan de ClearURLs-ontwikkelaar.",
|
||||
"description": "Deze tekenreeks wordt gebruikt om te verwijzen naar de donatiepagina."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Opgeschoonde link kopiëren",
|
||||
"description": "Deze tekenreeks wordt gebruikt in het rechtermuisknopmenu om opgeschoonde links te kopiëren."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Rechtermuisknopmenu-item tonen",
|
||||
"description": "Deze tekenreeks wordt gebruikt in het rechtermuisknopmenu om opgeschoonde links te kopiëren."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Voorkom trackinginjectie middels de geschiedenis-api (zie: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>replaceState()-methode</a>)",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van het geschiedenis-api-label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs-opschoongereedschap",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de opschoongereedschapspagina."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Met dit hulpmiddel kun je url's plakken die ClearURLs met één klik op de groene knop voor je opschoont. Je kunt meerdere url's plakken (één per regel).",
|
||||
"description": "Deze tekenreeks wordt gebruikt als omschrijving van het opschoongereedschap."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "URL's opschonen",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de opschoonknop."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Plak hier de tracking-url's:",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam op de opschoonpagina voor het plakken van tracking-url's."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Hier vind je de opgeschoonde url's:",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam op de opschoonpagina kopiëren van opgeschoonde url's."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "URL's op lokale hosts (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost) overslaan",
|
||||
"description": "Deze tekenreeks wordt gebruikt als label van de lokalehostknop"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Sla url's op lokale hosts over",
|
||||
"description": "Deze tekenreeks wordt gebruikt als label van de lokalehostknop"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exporteren",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de exportknop op de logboekpagina."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exporteer het globale logboek",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de exportknop op de logboekpagina."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importeren",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de importknop op de logboekpagina."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importeer het globale logboek",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de importknop op de logboekpagina."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exporteren",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de exportknop op de instellingenpagina."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exporteer alles",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de exportknop op de instellingenpagina."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importeren",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de importknop op de instellingenpagina."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importeer alles",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de importknop op de instellingenpagina."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Beperk het logboek tot $LIMIT$ regels.",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van het logboek-beperkingslabel.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Deze site is geblokkeerd door <b>ClearURLs</b>",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de geblokkeerde pagina."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Deze site is geblokkeerd door de <b>ClearURLs</b>-add-on omdat deze herkend is als een advertentie- en/of trackingdienst. Om deze site tóch te bezoeken, moet je de add-on tijdelijk uitschakelen of het blokkeren van domeinen uitschakelen in de instellingen. Klik daarna op onderstaande knop om de pagina te herladen.",
|
||||
"description": "Deze tekenreeks wordt gebruikt als inhoud van de geblokkeerde pagina."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Pagina bezoeken",
|
||||
"description": "Deze tekenreeks wordt gebruikt als knop op de geblokkeerde pagina."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Doorverwijzingsmarketing toestaan",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de doorverwijzingsmarketingknop"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Doorverwijzingsmarketing toestaan",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de doorverwijzingsmarketingknop"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: De 'watchdog' is tegen een probleem aangelopen en is al $TIMES$ keer mislukt.",
|
||||
"description": "Deze tekenreeks wordt gebruikt als tekst bij de 'watchdog'",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Blokkeren van domeinen toestaan (dit kan problemen veroorzaken op pagina's die geen advertentieblokkering niet toestaan)",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de domeinblokkerknop"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Blokkeren van domeinen toestaan (dit kan problemen veroorzaken op pagina's die geen advertentieblokkering niet toestaan)",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de domeinblokkerknop"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Deze 'hyperlink auditing' is geblokkeerd",
|
||||
"description": "Deze tekenreeks wordt gebruikt bij 'hyperlink auditing' in het logboek."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "'Hyperlink auditing\" blokkeren (zie <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>dit artikel</a>)",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de hyperlink-auditingknop"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "'Hyperlink auditing\" blokkeren",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de hyperlink-auditing-klokkerknop"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Verwijder trackingelementen uit url's.",
|
||||
"description": "Add-onomschrijving (max. 132 tekens)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "De 'ETag-kop' is verwijderd uit dit verzoek",
|
||||
"description": "Deze tekenreeks wordt gebruikt bij ETag-kopfiltering in het logboek."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filter 'ETag-koppen' uit verzoeken (zie <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>dit artikel</a>)",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de ETag-kopfilteringknop"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filter 'ETag-koppen'. Tip: leeg de cache alvorens het eerste gebruik.",
|
||||
"description": "Deze tekenreeks wordt gebruikt als naam van de ETag-kopfilteringknop"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "onnodig - alleen om uitzonderingen te voorkomen"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "onnodig - alleen om uitzonderingen te voorkomen"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "onnodig - alleen om uitzonderingen te voorkomen"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "onnodig - alleen om uitzonderingen te voorkomen"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "onnodig - alleen om uitzonderingen te voorkomen"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "onnodig - alleen om uitzonderingen te voorkomen"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "onnodig - alleen om uitzonderingen te voorkomen"
|
||||
}
|
||||
}
|
||||
378
_locales/pl/messages.json
Normal file
378
_locales/pl/messages.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "aktualne",
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "zaktualizowano",
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "dostępna aktualizacja",
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "błąd",
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Ups, coś poszło nie tak!",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Ten adres URL jest przekierowany",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Ta domena jest zablokowana",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Dodano nasłuchiwanie dziennika.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Dziennik ClearURLs",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Przed przetworzeniem",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Po przetworzeniu",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Reguła",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Czas",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Wyczyść",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Wyczyść wszystkie wpisy dziennika",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Konfiguracja",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtr",
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Przełącznik filtra aktywuje funkcję oczyszczania ClearURLs. Jeśli wyłączysz tę funkcję, dodatek przestanie działać.",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Dziennik",
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Dziennik zapisywany jest wyłącznie lokalnie. Nie zalecamy używania tej funkcji, jeśli nie jest potrzebna.",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Znaczniki",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Pokazuje liczbę oczyszczonych adresów URL",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statystyki",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementy",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Zablokowane",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Procent",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Wyczyść",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Wyczyść wszystkie statystyki",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Stan reguł",
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Dziennik",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Otwórz dziennik",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Raportuj bieżący adres URL",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Raportuj bieżący adres URL z tej karty.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Zapisz na dysku.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Dodatek nie mógł się uruchomić.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statystyki",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Aktywuj lub dezaktywuj funkcję statystyk",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "Ustawienia ClearURLs",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Kolor znacznika",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Wyczyść",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Wyczyszcza wszystko",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "Adres URL do pliku data.json (reguły)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Zapisz i załaduj ponownie dodatek",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Zapisuje ustawienia",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "Adres URL do pliku rules.hash (hash)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/pl/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Typy żądań</a> (poziom ekspercki)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Serwer raportów dla adresów URL",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "Adres URL został zaraportowany z powodzeniem. Wkrótce sprawdzimy ten raport.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Ten adres URL już był raportowany.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Dotacja dla twórcy ClearURLs.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Kopiuj oczyszczony odnośnik",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Wyświetl wpis w menu kontekstowym",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Zapobiegaj wstrzykiwaniu śledzenia przez interfejs API historii (Zobacz także: <a href='https://developer.mozilla.org/pl/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>metoda replaceState()</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Narzędzie do czyszczenia ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "ClearURLs pozwala na wklejenie adresu URL i oczyszczenie go po wciśnięciu zielonego przycisku. Można wkleić wiele adresów URL jednocześnie, ale każdy z nich powinien być w osobnej linii.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Oczyść adresy URL",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Tu możesz wkleić zabrudzone adresy URL:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Tu możesz znaleźć oczyszczone adresy URL:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Pomijaj adresy URL lokalnych hostów (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Pomija adresy URL lokalnych hostów",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Eksportuj",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Eksportuj cały dziennik",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importuj",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importuj cały dziennik",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Eksportuj",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Eksportuje wszystko",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importuj",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importuje wszystko",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Ogranicz dziennik do $LIMIT$ wpisów",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Ta strona została zablokowana przez <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Ta strona została zablokowana przez dodatek <b>ClearURLs</b>, ponieważ identyfikujemy tę witrynę jako usługę reklamową i/lub śledzenia. Aby odwiedzić tę witrynę, musisz tymczasowo dezaktywować dodatek lub wyłączyć blokowanie domeny w ustawieniach ClearURLs. Następnie możesz kliknąć przycisk poniżej, aby załadować stronę.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Odwiedź stronę",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Zezwalaj na marketing referencyjny",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Zezwala na marketing referencyjny",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Strażnik wykrył problem i już zawiódł $TIMES$ razy.",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Zezwalaj na blokowanie domen (może prowadzić do problemów na stronach, które nie zezwalają na blokery reklam)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Zezwala na blokowanie domen (może prowadzić do problemów na stronach, które nie zezwalają na blokery reklam)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Ta inspekcja hiperłączy została zablokowana",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Blokuj inspekcję hiperłączy (Zobacz także <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>ten artykuł</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Blokuj inspekcję hiperłączy",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Usuwaj elementy śledzące z adresów URL.",
|
||||
"description": "Extension description (max. 132 characters)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "Nagłówek ETag został usunięty z tego żądania",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtruj nagłówki ETag z żądań (Zobacz także <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>ten artykuł</a>)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtruje nagłówki ETag. Wskazówka: pamięć podręczną należy wyczyścić przed pierwszym użyciem.",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "niewymagane, jedynie po to, aby zapobiegać wyjątkom"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "niewymagane, jedynie po to, aby zapobiegać wyjątkom"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "niewymagane, jedynie po to, aby zapobiegać wyjątkom"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "niewymagane, jedynie po to, aby zapobiegać wyjątkom"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "niewymagane, jedynie po to, aby zapobiegać wyjątkom"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "niewymagane, jedynie po to, aby zapobiegać wyjątkom"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "niewymagane, jedynie po to, aby zapobiegać wyjątkom"
|
||||
}
|
||||
}
|
||||
@@ -1,206 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "atualizado",
|
||||
"description": ""
|
||||
"message": "Atualizadas",
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "atualizado",
|
||||
"description": ""
|
||||
"message": "Atualizadas",
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "atualização disponivel",
|
||||
"description": ""
|
||||
"message": "Atualização disponível",
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "erro",
|
||||
"description": ""
|
||||
"message": "Erro",
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Oops, algo deu errado!",
|
||||
"description": ""
|
||||
"message": "Ops! Algo deu errado.",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Esta url foi redirecionada",
|
||||
"description": ""
|
||||
"message": "URL redirecionado",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Este domínio foi bloqueado",
|
||||
"description": ""
|
||||
"message": "Domínio bloqueado",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Examinador de registro foi adicionado",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: auditor de registros implementado.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Registro do ClearURLs",
|
||||
"description": ""
|
||||
"message": "Registros do ClearURLs",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Antes de processar",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "Depois de processar",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regra",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Tempo",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"message": "Redefinir",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Resetar o registro global",
|
||||
"description": ""
|
||||
"message": "Redefinir o registro global",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Configurações",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtrar",
|
||||
"description": ""
|
||||
"message": "Filtro",
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "O interruptor de filtros ativa a funcionalidade de limpeza do ClearURLs. Se essa opção for desativada, a extensão não funcionará.",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Registro",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "O registro é salvo localmente apenas. Aconselhamos contra este recurso se você não precisa dele",
|
||||
"description": ""
|
||||
"message": "O registro é salvo apenas localmente. Recomendamos desativá-lo caso não precise dele.",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Contador",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Exibir a quantidade de URLs que foram limpos.",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Estatísticas",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementos",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Bloqueado",
|
||||
"description": ""
|
||||
"message": "Bloqueados",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Porcentagem",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"message": "Redefinir",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Resetar as estatísticas globais",
|
||||
"description": ""
|
||||
"message": "Redefinir as estatísticas globais",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Estado das regras",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Registro",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Abrir o registro",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Denunciar URL atual",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Denunciar o URL atual desta aba.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Salvar no disco.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: salvar no disco.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: A extensão não pode ser inicializada.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: a extensão não pôde ser inicializada.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Estatísticas",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Ativar ou desativar função de estatísticas",
|
||||
"description": ""
|
||||
"message": "Ativar ou desativar a função de estatísticas.",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Configurações do ClearURLs",
|
||||
"description": ""
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Cor do contador",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"message": "Redefinir",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Resetar tudo",
|
||||
"description": ""
|
||||
"message": "Redefinir tudo",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Url do arquivo data.json (regras)",
|
||||
"description": ""
|
||||
"message": "URL do arquivo data.json (regras)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Salvar e recarregar extensão",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Salvar configurações",
|
||||
"description": ""
|
||||
"message": "Salvar as configurações",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Url do arquivo rules.hash (hash)",
|
||||
"description": ""
|
||||
"message": "URL do arquivo rules.hash (hash)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Tipos de solicitações</a> (nível expert) — em inglês",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Denunciar URLs deste servidor",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "O URL foi denunciado com sucesso. Verificaremos em breve.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Parece que este URL já foi denunciado.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Uma doação para o criador do ClearURLs.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copiar endereço limpo do link",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Exibir entrada no menu contextual",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Impedir a injeção de rastreamento sobre a API de histórico (veja também: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>O método replaceState()</a> — em inglês)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Ferramenta de limpeza do ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Com esta ferramenta, você pode colar URLs e o ClearURLs limpá-los-á após clicar no botão verde. É possível colar múltiplos URLs de uma só vez, mas cada URL deve estar em uma linha separada.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Limpar URLs",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Cole aqui os URLs para limpeza:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "URLs limpos:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Ignorar URLs em hosts locais (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Ignorar URLs em hosts locais",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exportar",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exportar o registro global",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importar",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importar o registro global",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exportar",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exportar tudo",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importar",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importar tudo",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limitar o registro a $LIMIT$ item(ns).",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Este site foi bloqueado pelo <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Este site foi bloqueado pela extensão <b>ClearURLs</b>, pois é considerado como um serviço de anúncios e/ou rastreamento. Para acessá-lo, será necessário desativar temporariamente a extensão ou desativar o bloqueio de domínios nas configurações do ClearURLs. Após isso, clique no botão abaixo para carregar a página.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Acessar página",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Permitir marketing de referência (\"referral\")",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Permitir marketing de referência (\"referral\")",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: a vigilância encontrou um problema e já falhou $TIMES$ vez(es).",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Permitir bloqueio de domínios (pode causar problemas em páginas que não permitem bloqueadores de anúncios)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Permitir bloqueio de domínios (pode causar problemas em páginas que não permitem bloqueadores de anúncios)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Auditoria de hyperlink bloqueada",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Bloquear auditoria de hyperlink (mais informações <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>aqui</a> — em inglês)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Bloquear auditoria de hiperlink",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Remova elementos de rastreamento de URLs.",
|
||||
"description": "Extension description (max. 132 characters)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "Cabeçalho ETag removido",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtrar cabeçalhos ETag de solicitações (mais informações <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>aqui</a> — em inglês)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtrar cabeçalhos ETag. Dica: o cache deve ser limpo antes do primeiro uso.",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
}
|
||||
}
|
||||
}
|
||||
298
_locales/pt_PT/messages.json
Normal file
298
_locales/pt_PT/messages.json
Normal file
@@ -0,0 +1,298 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "atualizadas",
|
||||
"description": "Este código de estado quer dizer que não existe nenhuma atualização para as regras do CleanURLs e tudo o resto."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "atualizadas",
|
||||
"description": "Este código de estado quer dizer que as regras do CleanURLs foram atualizadas com sucesso."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "atualização disponível",
|
||||
"description": "Esta código de estado quer dizer que existe uma atualização para as regras do CleanURLs."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "erro",
|
||||
"description": "Esta código de estado quer dizer que não foi possível iniciar o CleanURLs corretamente."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Ups! Algo correu mal.",
|
||||
"description": "Esta código de estado quer dizer que ocorreu um erro ao atualizar as regras do CleanURLs."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Este URL é redirecionado",
|
||||
"description": "Esta expressão é usada em redirecionamentos no relatório do CleanURLs."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Este domínio está bloqueado",
|
||||
"description": "Esta expressão é usada em domínios bloqueados no relatório do CleanURLs."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: foi adicionado o registo no relatório.",
|
||||
"description": "Esta expressão é usada ao iniciar o relatório do CleanURLs."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Relatório do ClearURLs",
|
||||
"description": "Esta expressão é usada como cabeçalho na página do relatório."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Antes do processamento",
|
||||
"description": "Esta expressão é usada como título da tabela na página do relatório."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Depois do processamento"
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regra"
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Data"
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Limpar"
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Limpa o relatório global."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Configurações"
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtrar"
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "O interruptor do filtro controla a função de limpeza de hiperligações do ClearURLs. Se desativar esta opção, a extensão será desativada."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Relatório"
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "O relatório é guardado apenas no seu dispositivo. Recomendamos não usar esta funcionalidade se não precisar dela."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "URLs limpos"
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Mostrar o número de URLs limpos."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Estatísticas"
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Total"
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Bloqueados"
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Percentagem"
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Limpar"
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Limpa as estatísticas globais"
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Estado das regras"
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Relatório"
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Abre o relatório de operação"
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Reportar URL atual"
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Reporta o URL atual deste separador."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: guardar definições no disco."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: não foi possível iniciar a extensão."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Estatísticas"
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Ativar ou desativar a função de estatística"
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "Definições do ClearURLs"
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Cor dos URLs limpos"
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Repor"
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Repõe as definições de fábrica"
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "URL do ficheiro data.json (regras)"
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Guardar e reiniciar a extensão"
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Guarda as definições"
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "URL do ficheiro rules.hash (soma de verificação das regras)"
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Tipos de pedidos</a> (nível avançado)"
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Reportar URLs do servidor"
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "O URL foi reportado com sucesso. Iremos verificá-lo brevemente."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Parece que este URL já foi reportado."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Um donativo para o criador do ClearURLs."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copiar hiperligação limpa."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Mostrar entrada no menu de contexto"
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Prevenir injeção de rastreadores com a API do histórico (ver mais: <a href='https://developer.mozilla.org/pt-BR/docs/Web/API/History_API#O_m%C3%A9todo_replaceState()' target='_blank'>O método replaceState()</a>)"
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Ferramenta de limpeza ClearURLs"
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Com esta ferramenta pode colar URLs e o CleanURLs irá limpar os URLs após clicar no botão verde. Pode colar vários URLs de uma vez, mas cada um deles em de estar numa linha separada."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Limpar URLs"
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Cole aqui os URLs sujos:"
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Aqui estão os URLs limpos:"
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Ignorar URLs de anfitriões locais (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Ignora os URLs em páginas de anfitriões locais"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exportar"
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exporta o relatório de atividade global"
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importar"
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importa o relatório de atividade global"
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exportar"
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exporta tudo"
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importar"
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importa tudo"
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limitar o relatório a $LIMIT$ entradas.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Este site foi bloqueado pelo <b>ClearURLs</b>"
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Este site foi bloqueado pela extensão <b>ClearURLs</b>, porque identificámos este site como um serviço de publicidade e/ou rastreamento. Para visitar este site, deve desativar a extensão temporariamente ou desativar o bloqueio de domínio nas definições da extensão. Depois, clique no botão abaixo para carregar a página."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Visitar página"
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Permitir marketing com referências"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Permite marketing com referências"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: o \"cão de vigia\" detetou um problema e já falhou $TIMES$ vezes.",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Permitir o bloqueio de domínios (pode causar problemas em páginas que não permitem bloqueadores de anúncios)"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Permitir o bloqueio de domínios (pode causar problemas em páginas que não permitem bloqueadores de anúncios)"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "A inspeção a esta hiperligação foi bloqueada"
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Bloquear inspeção de hiperligações (ver também <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>este artigo</a>)"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Bloquear inspeção de hiperligações"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Remover elementos de rastreamento dos URLs."
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "O cabeçalho ETag foi removido deste pedido"
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtra cabeçalhos ETag dos pedidos (ver também <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>este artigo</a>)"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtrar cabeçalhos ETag. Dica: deve limpar a cache antes de começar a utlizar esta função."
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "não necessário, apenas para evitar exceções"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " "
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " "
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " "
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " "
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " "
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " "
|
||||
}
|
||||
}
|
||||
@@ -1,216 +1,350 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "не требует обновления",
|
||||
"description": ""
|
||||
"message": "актуальны",
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "обновлено",
|
||||
"description": ""
|
||||
"message": "обновлены",
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "есть обновление",
|
||||
"description": ""
|
||||
"message": "доступно обновление",
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "ошибка",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Ой, что-то не так!",
|
||||
"description": ""
|
||||
"message": "Ой! Что-то пошло не так!",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Этот URL перенаправляется",
|
||||
"description": ""
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Этот домен заблокирован",
|
||||
"description": ""
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Лог listener добавлен.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: логирование активировано.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Лог ClearURLs",
|
||||
"description": ""
|
||||
"message": "Журнал ClearURLs",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "До обработки",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "После обработки",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Правило",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Время",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Сброс",
|
||||
"description": ""
|
||||
"message": "Очистить",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Сброс глобального лога",
|
||||
"description": ""
|
||||
"message": "Очистить журнал",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Настройки",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Фильтр",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Активирует функцию очистки URL. Если выключить - аддон не будет работать",
|
||||
"description": ""
|
||||
"message": "Функция очистки URL. Если выключить - расширение работать не будет!",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Логирование",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Лог сохраняется только локально. Не используйте эту функцию, если она вам не нужна.",
|
||||
"description": ""
|
||||
"message": "Журнал сохраняется только локально. Не используйте эту функцию, если она Вам не нужна",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Значки",
|
||||
"description": ""
|
||||
"message": "Счётчик",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Показать количество очищенных URL",
|
||||
"description": ""
|
||||
"message": "Показывать количество очищенных URL",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Статистика",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Элементы",
|
||||
"description": ""
|
||||
"message": "Элементов",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Заблокировано",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Процент",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Сброс",
|
||||
"description": ""
|
||||
"message": "Очистить",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Сброс глобальной статистики",
|
||||
"description": ""
|
||||
"message": "Очистить статистику",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Актуальность правил",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Лог",
|
||||
"description": ""
|
||||
"message": "Журнал",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Открыть лог",
|
||||
"description": ""
|
||||
"message": "Открыть журнал",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Сообщить о текущей ссылке",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Сообщить о текущей вкладке",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Сохранить на диск.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: сохранено на диск.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Не удалось запустить аддон.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: не удалось запустить расширение.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Статистика",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Вкл. или выкл. статистику",
|
||||
"description": ""
|
||||
"message": "Вкл./выкл. статистики",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Настройки ClearURLs",
|
||||
"description": ""
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Цвет значка",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Сброс",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Сбросить всё",
|
||||
"description": ""
|
||||
"message": "Сброс всех настроек",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Ссылка на файл data.json (правила)",
|
||||
"description": ""
|
||||
"message": "Ссылка к файлу data.json (правила)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Сохранить и перезагрузить аддон",
|
||||
"description": ""
|
||||
"message": "Сохранить и перезапустить расширение",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Сохранение настроек",
|
||||
"description": ""
|
||||
"message": "Сохранить настройки",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Ссылка на файл rules.hash (хэш)",
|
||||
"description": ""
|
||||
"message": "Ссылка к файлу rules.hash (хэш)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Тип запроса</a> (уровень эксперта)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Сервер отчётов для URL-адресов",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "Отчёт об URL успешно отправлен. Мы проверим его в ближайшее время.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Похоже, об этом URL уже сообщили.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Пожертвование для разработчика ClearURLs",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Копировать чистую ссылку",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Отображение пункта в контекстном меню",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Предотвращение отслеживания по истории API (см.: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>replaceState() метод</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Инструмент очистки ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Вставьте ссылки в текстовое поле, ClearURLs очистит ссылки после нажатия на зелёную кнопку. Вы можете вставить несколько URL-адресов, но каждый URL-адрес должен быть в отдельной строке.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Почистить ссылки",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Сюда Вы можете вставить грязные ссылки:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Здесь Вы найдёте очищенные ссылки:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Пропускать локальные адреса (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Пропускать локальные адреса",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Экспорт",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Экспорт журнала",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Импорт",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Импорт журнала",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Экспорт",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Экспортировать всё",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Импорт",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Импортировать всё",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Ограничивать журнал до $LIMIT$ записей",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Этот сайт был заблокирован <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Этот сайт был заблокирован расширением <b>ClearURLs</b>, потому что он определён как рекламный и/или отслеживающий сервис. Чтобы посетить этот сайт, необходимо временно отключить расширение или отключить блокировку домена в настройках ClearURLs. Затем нажмите кнопку ниже, чтобы загрузить страницу",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Посетить страницу",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Разрешить рефералы маркетинга",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Разрешить рефералы маркетинга",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: сторожевой таймер обнаружил проблему. ClearURLs будет перезапущен.",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Разрешить блокировку домена (может вызвать проблемы на сайтах, которые запрещают AdBlocker)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Разрешить блокировку домена (может вызвать проблемы на сайтах, которые запрещают AdBlocker)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Аудит гиперссылки был заблокирован",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Блокировка аудита гиперссылок (см. <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>эту статью</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Блокировка аудита гиперссылок",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Удаление элементов слежения из URL-адресов.",
|
||||
"description": "Описание расширения"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "Заголовок ETag был удален из этого запроса",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Фильтровать заголовки ETag из запросов (см. <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>эту статью</a>)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Фильтрация заголовков ETag. Примечание: очистите кэш перед первым использованием.",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
}
|
||||
}
|
||||
}
|
||||
378
_locales/sl/messages.json
Normal file
378
_locales/sl/messages.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "posodobljen",
|
||||
"description": "Ta status pomeni, da za ClearURLs pravila ni na voljo nobene posodobitve."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "posodobljeno",
|
||||
"description": "Ta status pomeni, da so ClearURLs pravila uspešno posodobljena."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "na voljo je posodobitev",
|
||||
"description": "Ta status pomeni, da je za ClearURLs na voljo posodobitev."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "napaka",
|
||||
"description": "Ta status pomeni, da se ClearURLs ni mogel uspešno zagnati."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Ups, nekaj je šlo narobe!",
|
||||
"description": "Ta status pomeni, da je pri posodabljanju ClearURLs pravil prišlo do napake."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Ta URL je preusmerjen",
|
||||
"description": "Ta niz je uporabljen za preusmeritve v ClearURLs dnevniku."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Ta domena je blokirana",
|
||||
"description": "Ta niz je uporabljen za blokirane domene v ClearURLs dnevniku."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Dodan je poslušalec dnevnika",
|
||||
"description": "Ta niz je uporabljen pri zagonu ClearURLs dnevnika."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Dnevnik ClearURLs",
|
||||
"description": "Ta niz je uporabljen kot glava na strani dnevnika."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Pred obdelavo",
|
||||
"description": "Ta niz je uporabljen kot naslov tabele na strani dnevnika."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Po obdelavi",
|
||||
"description": "Ta niz je uporabljen kot naslov tabele na strani dnevnika."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Pravilo",
|
||||
"description": "Ta niz je uporabljen kot naslov tabele na strani dnevnika."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Čas",
|
||||
"description": "Ta niz je uporabljen kot naslov tabele na strani dnevnika."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Ponastavitev",
|
||||
"description": "Ta niz je uporabljen kot oznaka gumba za ponastavitev na strani dnevnika."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Ponastavi globalni dnevnik",
|
||||
"description": "Ta niz je uporabljen kot naziv gumba za ponastavitev na strani dnevnika."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Konfiguracije",
|
||||
"description": "Ta niz je uporabljen kot naziv za konfiguracije na pojavni strani."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filter",
|
||||
"description": "Ta niz je uporabljen kot oznaka stikala za filter na pojavni strani."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Stikalo filtra vklopi funkcijo čiščenja v dodatku ClearURLs. Če to funkcijo izklopite, bo celoten dodatek onemogočen.",
|
||||
"description": "Ta niz je uporabljen kot naziv stikala za filter na pojavni strani."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Beleženje",
|
||||
"description": "Ta niz je uporabljen kot oznaka stikala za beleženje na pojavni strani."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Zapis je shranjen samo lokalno. Te funkcije vam ne svetujemo, če je ne potrebujete",
|
||||
"description": "Ta niz je uporabljen kot naziv stikala za beleženje na pojavni strani."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Značke",
|
||||
"description": "Ta niz je uporabljen kot oznaka stikala za značke na pojavni strani."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Pokaži številke očiščenih URL-jev",
|
||||
"description": "Ta niz je uporabljen kot naziv stikala za značke na pojavni strani."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistika",
|
||||
"description": "Ta niz je uporabljen kot naziv za statistiko na pojavni strani."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementi",
|
||||
"description": "Ta niz je uporabljen kot naziv za elemente na pojavni strani."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Blokirano",
|
||||
"description": "Ta niz je uporabljen kot naziv za blokirane elemente na pojavni strani."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Delež",
|
||||
"description": "Ta niz je uporabljen kot naziv za delež blokiranih elementov na pojavni strani."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Ponastavitev",
|
||||
"description": "Ta niz je uporabljen kot oznaka gumba za ponastavitev statistike na pojavni strani."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Ponastavi globalno statistiko",
|
||||
"description": "Ta niz je uporabljen kot naziv gumba za ponastavitev statistike na pojavni strani."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Status pravil",
|
||||
"description": "Ta niz je uporabljen kot naziv odseka za status pravil na pojavni strani."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Dnevnik",
|
||||
"description": "Ta niz je uporabljen kot oznaka gumba za dnevnik na pojavni strani."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Odpri dnevnik",
|
||||
"description": "Ta niz je uporabljen kot naziv gumba za dnevnik na pojavni strani."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Prijavi trenutni URL",
|
||||
"description": "Opomba: trenutno ni v uporabi."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Prijavi trenutni URL iz tega zavihka.",
|
||||
"description": "Trenutno ni v uporabi."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Shrani na disk.",
|
||||
"description": "Ta niz je uporabljen kot sporočilo uporabniku, da je ClearURLs shranil nastavitve na disk."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Razširitev se ni mogla zagnati.",
|
||||
"description": "Ta niz je uporabljen kot sporočilo uporabniku, da se ClearURLs ni mogel zagnati."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistika",
|
||||
"description": "Ta niz je uporabljen kot oznaka stikala za statistiko na pojavni strani."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Aktiviraj ali deaktiviraj funkcijo statistike",
|
||||
"description": "Ta niz je uporabljen kot naziv stikala za statistiko na pojavni strani."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURLs nastavitve",
|
||||
"description": "Ta niz je uporabljen kot naslov strani za nastavitve."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Barva značke",
|
||||
"description": "Ta niz je uporabljen kot naziv za barvno oznako značke."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Ponastavitev",
|
||||
"description": "Ta niz je uporabljen kot oznaka gumba za ponastavitev na strani z nastavitvami."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Ponastavi vse",
|
||||
"description": "Ta niz je uporabljen kot naziv gumba za ponastavitev na strani z nastavitvami."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "URL do datoteke data.json (pravila)",
|
||||
"description": "Ta niz je uporabljen kot naziv za oznako URL pravila."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Shrani in osveži razširitev",
|
||||
"description": "Ta niz je uporabljen kot oznaka gumba za shrambo in osvežitev na strani nastavitev."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Shrani nastavitve",
|
||||
"description": "Ta niz je uporabljen kot naziv gumba za shrambo in osvežitev na strani nastavitev."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "URL do datoteke rules.hash (hash)",
|
||||
"description": "Ta niz je uporabljen kot naziv za oznako URL pravila rule.hash."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Vrste zahtev</a> (za strokovnjake)",
|
||||
"description": "Ta niz je uporabljen kot naziv za znako tipov."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Prijavi strežnik za URL-je",
|
||||
"description": "Opomba: trenutno ni v uporabi."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "URL je bil uspešno prijavljen. Ta URL bomo kmalu preverili.",
|
||||
"description": "Opomba: trenutno ni v uporabi."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Kaže da je bil ta URL že prijavljen.",
|
||||
"description": "Opomba: trenutno ni v uporabi."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Donacija za ustvarjalca ClearURLs.",
|
||||
"description": "Ta niz je uporabljen kot povezava na stran za donacije."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Kopiraj Počisti Povezava Lokacija",
|
||||
"description": "Ta niz je uporabljen v kontekstnen meniju v obliki povezav za kopiranje in čiščenje."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Prikaži vnos kontekstnega menija",
|
||||
"description": "Ta niz je uporabljen za preklop vnosa kontekstnega menija za kopiranje in čiščenje povezav."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Prepreči vrivanje sledenje preko API-ja zgodovine (glej tudi: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>Metoda replaceState()</a>)",
|
||||
"description": "Ta niz se uporablja kot naziv oznake za API poslušalca zgodovine."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs orodje za čiščenje",
|
||||
"description": "Ta niz se uporablja kot naslov strani orodja za čiščenje."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "S tem orodjem je možno prilepiti URL-je. ClearURLs jih bo počistil po kliku na zelen gumb. Prilepi se lahko več URL-jev naenkrat, ampak mora biti vsak URL v posamezni vrstici.",
|
||||
"description": "Ta niz se uporablja kot opis orodja za čiščenje."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Počisti URL-je",
|
||||
"description": "Ta niz se uporablja kot oznaka gumba za čiščenje URL-jev."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Sem lahko prilepite URL s sledilnimi elementi:",
|
||||
"description": "Ta niz je uporabljen kot naslov strani orodja za čiščenje za URL-je s sledilnimi elementi."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Tukaj lahko najdete očiščene URL-je:",
|
||||
"description": "Ta niz se uporablja kot naslov strani orodja za čiščenje za očiščene URL-je."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Preskoči URL-je na lokalnih gostiteljih (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "Ta niz se uporablja kot oznaka stikala za preskakovanje lokalnega gostitelja."
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Preskoči URL-je na lokalnih gostiteljih",
|
||||
"description": "Ta niz se uporablja kot naziv stikala za preskakovanje lokalnega gostitelja."
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Izvozi",
|
||||
"description": "Ta niz se uporablja kot oznaka gumba za izvoz na strani dnevnika."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Izvozi globalni dnevnik",
|
||||
"description": "Ta niz je uporabljen kot naziv gumba za izvoz na strani dnevnika."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Uvozi",
|
||||
"description": "Ta niz je uporabljen kot oznaka gumba za uvoz na strani dnevnika."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Uvozi globalni dnevnik",
|
||||
"description": "Ta niz je uporabljen kot naziv gumba za uvoz na strani dnevnika."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Izvozi",
|
||||
"description": "Ta niz je uporabljen kot oznaka gumba za izvoz na strani nastavitev."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Izvozi vse",
|
||||
"description": "Ta niz je uporabljen kot naziv gumba za izvoz na strani nastavitev."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Uvozi",
|
||||
"description": "Ta niz je uporabljen kot oznaka gumba za uvoz na strani nastavitev."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Uvozi vse",
|
||||
"description": "Ta niz je uporabljen kot naziv gumba za uvoz na strani nastavitev."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Omejite dnevnik na $LIMIT$ vnosov.",
|
||||
"description": "Ta niz je uporabljen kot naziv za oznako omejitve dnevnika.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "To stran je blokiral <b>ClearURLs</b>",
|
||||
"description": "Ta niz je uporabljen kot naslov na strani blokiranega spletnega mesta."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "To stran je blokirala razširitev <b>ClearURLs</b>, ker je bila stran identificirana kot oglaševalska in/ali sledilna storitev. Če želite obiskati to stran, morate začasno onemogočiti razširitev ali izklopiti blokiranje domen v nastavitvah ClearURLs. Za tem lahko pritisnete spodnji gumb, da naložite stran.",
|
||||
"description": "Ta niz se uporablja kot telo na strani blokiranega spletnega mesta."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Obišči stran",
|
||||
"description": "Ta niz se uporablja kot oznaka gumba na strani blokiranega spletnega mesta."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Dovoli napotitveno trženje",
|
||||
"description": "Ta niz se uporablja kot oznaka stikala za napotitveno trženje."
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Dovoli napotitveno trženje",
|
||||
"description": "Ta niz se uporablja kot naziv stikala za napotitveno trženje."
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Čuvaj je zaznal težavo in je spodletel že $TIMES$-krat.",
|
||||
"description": "Ta niz se uporablja kot besedilo za čuvaja.",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Dovoli blokiranje domen (lahko vodi do težav na straneh, ki ne dovolijo programov za blokiranje oglasov)",
|
||||
"description": "Ta niz je uporabljen kot oznaka stikala za blokiranje domen."
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Dovoli blokiranje domen (lahko vodi do težav na straneh, ki ne dovolijo programov za blokiranje oglasov)",
|
||||
"description": "Ta niz je uporabljen kot naziv stikala za blokiranje domen."
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Revizija te hiperpovezave je bila blokirana",
|
||||
"description": "Ta niz je uporabljen pri reviziji hiperpovezav v dnevniku ClearURLs."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Blokiraj revizijo hiperpovezav (glej tudi <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>ta članek</a>)",
|
||||
"description": "Ta niz je uporabljen kot oznaka stikala za blokiranje revizije hiperpovezav."
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Blokiraj revizijo hiperpovezav",
|
||||
"description": "Ta niz je uporabljen kot naziv stikala za blokiranje revizije hiperpovezav."
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Odstrani sledilne elemente iz URL-jev.",
|
||||
"description": "Opis razširitve (največ 132 znakov)."
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag glava je bila odstranjena iz te zahteve",
|
||||
"description": "Ta niz je uporabljen pri filtriranju ETag glav v ClearURLs dnevniku."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtrira ETag glave iz zahtev (glej tudi <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>ta članek</a>)",
|
||||
"description": "Ta niz se uporablja kot oznaka stikala za filtriranje ETag glav."
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtrira ETag glave. Namig: pred prvo uporabo je treba počistiti predpomnilnik.",
|
||||
"description": "Ta niz se uporablja kot naziv stikala za filtriranje ETag glav."
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": "Obvestilo",
|
||||
"description": "potrebno samo za odpravljanje težav"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": "Obvestilo",
|
||||
"description": "potrebno samo za odpravljanje težav"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": "Obvestilo",
|
||||
"description": "potrebno samo za odpravljanje težav"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": "Obvestilo",
|
||||
"description": "potrebno samo za odpravljanje težav"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": "Obvestilo",
|
||||
"description": "potrebno samo za odpravljanje težav"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": "Obvestilo",
|
||||
"description": "potrebno samo za odpravljanje težav"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": "Obvestilo",
|
||||
"description": "potrebno samo za odpravljanje težav"
|
||||
}
|
||||
}
|
||||
378
_locales/sv_SE/messages.json
Normal file
378
_locales/sv_SE/messages.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "senaste version",
|
||||
"description": "Den här statuskoden säger att ingen uppdatering är tillgänglig för ClearURLs-reglerna och allt är uppdaterat."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "uppdaterad",
|
||||
"description": "Den här statuskoden säger att ClearURLs-reglerna har uppdaterats."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "uppdatering tillgänglig",
|
||||
"description": "Den här statuskoden säger att en uppdatering är tillgänglig för ClearURLs-reglerna."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "fel",
|
||||
"description": "Den här statuskoden säger att ClearURLs inte kunde startas korrekt."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Ojdå, något gick fel!",
|
||||
"description": "Den här statuskoden säger att ett fel inträffade vid uppdatering av ClearURLs-reglerna."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Den här webbadressen omdirigeras",
|
||||
"description": "Den här strängen används vid omdirigeringar i ClearURLs-loggen."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Den här domänen är blockerad",
|
||||
"description": "Den här strängen används på blockerade domäner i ClearURLs-loggen."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Logglistare är tilllagd.",
|
||||
"description": "Den här strängen används vid ClearURLs loggstart."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Logg från ClearURLs",
|
||||
"description": "Den här strängen används som rubrik på loggsidan."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Före bearbetning",
|
||||
"description": "Den här strängen används som tabellnamn på loggsidan."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Efter bearbetning",
|
||||
"description": "Den här strängen används som tabellnamn på loggsidan."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regel",
|
||||
"description": "Den här strängen används som tabellnamn på loggsidan."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Tid",
|
||||
"description": "Den här strängen används som tabellnamn på loggsidan."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Återställ",
|
||||
"description": "Den här strängen används för återställningsknappen på loggsidan."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Återställ den globala loggen",
|
||||
"description": "Den här strängen används som titel för återställningsknappen på loggsidan."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Konfiguration",
|
||||
"description": "Den här strängen används som titel för konfigurationerna på popup-sidan."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filter",
|
||||
"description": "Den här strängen används som namn för filteromkopplarna på popup-sidan."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Filteromkopplaren aktiverar rensningsfunktionen i ClearURLs. Om du inaktiverar detta alternativ, är hela tillägget inaktiverat",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Logga",
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Loggen sparas endast lokalt. Vi avråder dig från att använda den här funktionen om du inte behöver den",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Märken",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Visa antalet rensade webbadresser",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistik",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Element",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Blockerade",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Procentsats",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Återställ",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Återställ den globala statistiken",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Regler-Status",
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Logg",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Öppna loggen",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Rapportera aktuell webbadress",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Rapportera den aktuella webbadressen från den här fliken.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Spara till disk.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Tillägget kunde inte starta.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistik",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Aktivera eller inaktivera statistiken",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "Inställningar för ClearURLs",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Märkesfärg",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Återställ",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Återställer allt",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "Webbadressen till filen data.json (regler)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Spara och ladda om tillägget",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Sparar inställningarna",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "Webbadressen till filen rules.hash (hash)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (expertnivå)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Rapporteringsserver för webbadresser",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "Webbadressen har rapporterats. Vi kommer att kontrollera webbadressen snart.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Det verkar som att den här webbadressen redan har rapporterats.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Donera till skaparen av ClearURLs.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Kopiera rensad webbadress",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Visa post i innehållsmenyn",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Förhindra spårning av injektion över historik-API (Se även: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Rensningsverktyg för ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Med detta verktyg kan du klistra in webbadresser och ClearURLs kommer att rensa webbadresserna efter ett klick på den gröna knappen. Du kan klistra en mer än en webbadress samtidigt, men varje webbadress måste vara på var sin rad.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Rensa webbadresser",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Här kan du klistra in orensade webbadresser:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Här hittar du de rensade webbadresserna:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Hoppa över webbadresser på lokala värdar (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Hoppa över webbadresser på lokala värdar",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exportera",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exportera den globala loggen",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importera",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importera den globala loggen",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exportera",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exportera allt",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importera",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importera allt",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Begränsa loggfilen till $LIMIT$ poster.",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Den här webbplatsen blockerades av <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Den här sidan har blivit blockerats av <b>ClearURLs</b>, eftersom vi har identifierat webbplatsen som en reklam- och/eller spårningstjänst. För att besöka webbplatsen måste du tillfälligt inaktivera tillägget eller inaktivera domänblockering i inställningarna på ClearURLs. Efter detta kan du klicka på knappen nedan för att ladda sidan.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Gå till sidan",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Tillåt referral marketing",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Tillåt referral marketing",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Ett problem har upptäckts. ClearURLs startar om.",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Tillåt domänblockering (Kan leda till problem på sidor som inte tillåter AdBlockers)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Tillåt domänblockering (Kan leda till problem på sidor som inte tillåter AdBlockers)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Den här hyperlänksrevisionen blockerades",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Blockera hyperlänkrevision (Se även <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>den här artikeln</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Blockera hyperlänkrevision",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Ta bort spårningselement från webbadresser.",
|
||||
"description": "Extension description (max. 132 characters)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag-rubriken togs bort från denna begäran",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtrera ETAG-rubriker från förfrågningar (Se även <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>den här artikeln</a>)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtrera ETag-rubriker. Tips: Cachen måste rensas innan den används första gången.",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
}
|
||||
}
|
||||
378
_locales/th/messages.json
Normal file
378
_locales/th/messages.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "คุณมีรุ่นล่าสุด",
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "อัปเดทสำเร็จ",
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "มีรายการที่ต้องอัปเดต",
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "พบข้อผิดพลาด",
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "ดูเหมือนว่าจะมีบางอย่างผิดปกติ!",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "ทำการ redirected URL",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "โดเมนนี้ถูกบล็อก",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: ได้เพิ่ม Log listener แล้ว",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Log จาก ClearURLs",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "ก่อนเริ่มดำเนินการ",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "หลังดำเนินการ",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "กฏข้อห้าม",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "เวลา",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "คืนค่าเดิม",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "คืนค่าเดิมของlog ทั่วโลก",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "ตั้งค่าอื่น ๆ ",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "ตัวกรอง",
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "สวิตช์ตัวกรองเปิดใช้งานฟังก์ชันการทำความสะอาดของ ClearURLs ถ้าคุณปิดการทำงานตัวเลือกนี้ addon ทั้งหมดจะถูกปิด",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Logging",
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "log นี้ถูกบันทึกแบบเฉพาะที่ เราแนะนำให้ต้านฟีเจอร์ถ้าคุณไม่จำเป็นต้องใช้",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "เครื่องหมาย",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "แสดงจำนวนของ urls ที่ถูกล้าง",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "สถิติ",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "ส่วนประกอบ",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "บล็อกแล้ว",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "ร้อยละ",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "คืนค่าสถิติเดิม",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "คืนค่าสถิติเดิมทั่วโลก",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "สถานะข้อห้าม",
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Log",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "เปิด log",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "รายงาน URL ปัจจุบัน",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "รายงาน URL จากแท็ปนี้",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: บันทึกลงบนดิสก์",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: addon ไม่สามารถทำงานได้",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "สถิติ",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "เปิดการใช้งานหรือปิดการใช้งานฟังก์ชันสถิติ",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "การตั้งค่า ClearURLs",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "สีเครื่องหมาย",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "คืนค่าเดิม",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "ล้างทั้งหมด",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "The url to the data.json file (rules)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "บันทึก & รีโหลด addon",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "บันทึกการตั้งค่า",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "The url to the rules.hash file (hash)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (expert level)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "รายงาน server ของ URLs",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "รายงาน URL สำเร็จเราจะทำการตรวจสอบโดยเร็ว",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "เหมือนกับว่าคุณจะได้รายงาน URL นี้ไปแล้ว",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "ร่วมบริจาคให้กับทีมผู้สร้าง ClearURLs",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "คัดลอกตำแหน่งลิงก์ Clean",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "แสดงเนื้อหาการบันทึกเมนู",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "ป้องกันการติดตามผ่านประวัติ API (ดูเพิ่มเติม: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "เครื่องมือ ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "ด้วยเครื่องมือนี้คุณจะวางใน URLs และ ClearURLs ได้ด้วยการคลิกปุ่มสีเขียว คุณสามารถวางได้หลาย URLs ในคราวเดียวกัน แต่ว่าแต่ละ URL ต้องอยูแยกบรรทัดกัน",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Clean URLs",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "วาง URL ที่ต้องการคลีนที่นี่:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "ดู URLs ที่คลีนแล้วที่นี่:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "ข้ามการล้าง URLs จากแม่ข่ายท้องถิ่น(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "ข้าม URLs ของแม่ข่ายท้องถิ่น",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "ส่งข้อมูลออก",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "ส่งข้อมูลออก log ทั่วโลก",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "นำข้อมูลเข้า",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "นำข้อมูลเข้า log ทั่วโลก",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "ส่งข้อมูลออก",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "ส่งออกทุกอย่าง",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "นำเข้า",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "นำเข้าทุกอย่าง",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "จำกัด log ให้ $LIMIT$ ลงข้อมูล",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "ไซต์นี้ถูกจำกัดการเข้าถึงโดย <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "ไซต์นี้ถูกจำกัดการเข้าถึงโดย <b>ClearURLs</b> Add-on, เนื่องจากเราตรวจจับว่าไซต์นี้เป็นการโฆษณาหรือมีการติดตาม หากต้องการเข้าชมไซต์คุณต้องปิด Add-on ชั่วคราวที่การตั้งค่า ClearURLs หลังจากนั้นคลิกปุ่มด้านล่างเพื่อโหลดหน้านี้อีกครั้ง",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "เข้าชมเว็บเพจ",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "อนุญาตการตลาดแบบอ้างถึง",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "อนุญาตการตลาดแบบอ้างถึง",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: ระบบเฝ้าระวังตรวจพบปัญหาที่ล่มไปแล้ว $TIMES$ ครั้ง",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "อนุญาตให้บล็อกโดเมน (อาจทำให้เกิดปัญหาในหน้าที่ไม่อนุญาต AdBlockers)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "อนุญาตให้บล็อกโดเมน (อาจทำให้เกิดปัญหาในหน้าที่ไม่อนุญาต AdBlockers)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "การตรวจสอบไฮเปอร์ลิงก์นี้ถูกบล็อก",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "บล็อกการตรวจสอบไฮเปอร์ลิงก์ (ดูเพิ่มเติม <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>บทความนี้</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "บล็อกการตรวจสอบไฮเปอร์ลิงก์",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "เอาตัวติดตามทั้งหมดออกจาก URLs.",
|
||||
"description": "Extension description (max. 132 characters)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "หัว ETag ได้ถูกนำออกจากคำขอ",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "กรองหัว ETag จากคำขอทั้งหมด (ดูเพิ่มเติม <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>บทความนี้</a>)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "ตัวกรองหัว ETag คำใบ้: ต้องล้างค่าแคชก่อนใช้งาน",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
}
|
||||
}
|
||||
378
_locales/tr/messages.json
Normal file
378
_locales/tr/messages.json
Normal file
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "güncel",
|
||||
"description": "Bu durum kodu, ClearURL kuralları için güncelleme olmadığını ve her şeyin güncel olduğunu söylüyor."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "güncelleştirildi",
|
||||
"description": "Bu durum kodu, ClearURL kurallarının başarıyla güncellendiğini söylüyor."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "Güncelleme mevcut",
|
||||
"description": "Bu durum kodu, ClearURL kuralları için bir güncellemenin mevcut olduğunu söylüyor."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "hata",
|
||||
"description": "Bu durum kodu, ClearURL'lerin doğru şekilde başlatılamadığını söylüyor."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Hoop! Bir şeyler yanlış gitti!",
|
||||
"description": "Bu durum kodu, ClearURL kurallarını güncellerken bir hata oluştuğunu söylüyor."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Bu URL yönlendirildi",
|
||||
"description": "Bu dize ClearURL'ler günlüğündeki yönlendirmelerde kullanılır."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Bu alan adı engellendi",
|
||||
"description": "Bu dize ClearURL'ler günlüğündeki engellenen alan adlarında kullanılır."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Günlük dinleyicisi eklendi.",
|
||||
"description": "Bu dize ClearURLs log başlangıcında kullanılır."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs'dan Günlük",
|
||||
"description": "Bu dize, günlük sayfasında üstbilgi olarak kullanılır."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "İşlemeden önce",
|
||||
"description": "Bu dize, günlük sayfasında tablo başlığı olarak kullanılır."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "İşlemeden sonra",
|
||||
"description": "Bu dize, günlük sayfasında tablo başlığı olarak kullanılır."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Kural",
|
||||
"description": "Bu dize, günlük sayfasında tablo başlığı olarak kullanılır."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Zaman",
|
||||
"description": "Bu dize, günlük sayfasında tablo başlığı olarak kullanılır."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Sıfırla",
|
||||
"description": "Bu dize, günlük sayfasındaki sıfırlama düğmesi için kullanılır."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Genel günlüğü sıfırla",
|
||||
"description": "Bu dize, günlük sayfasındaki sıfırlama düğmesi için başlık olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Yapılandırmalar",
|
||||
"description": "Bu dize, açılır sayfadaki yapılandırmalar için başlık olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtre",
|
||||
"description": "Bu dize, açılır sayfadaki filtre değiştirme düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Filtreler butonu ClearURL'lerin temizleme işlevini etkinleştirir. Bu seçeneği devre dışı bırakırsanız, tüm eklenti devre dışı bırakılır",
|
||||
"description": "Bu dize, açılır sayfadaki filtre değiştirme düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Günlükleme",
|
||||
"description": "Bu dize, açılır sayfadaki günlük anahtar düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Günlük yalnızca yerel olarak kaydedilir. İhtiyacınız yoksa bu özelliğe karşı tavsiyede bulunuruz",
|
||||
"description": "Bu dize, açılır sayfadaki kayıt anahtarı düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Rozetler",
|
||||
"description": "Bu dize, açılır sayfadaki rozetler anahtar düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Temizlenmiş URL'lerin sayısını göster",
|
||||
"description": "Bu dize, açılır sayfadaki rozetler anahtar düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "İstatistikler",
|
||||
"description": "Bu dize, açılır sayfadaki istatistikler için başlık olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Öğeler",
|
||||
"description": "Bu dize, açılır sayfadaki öğelerin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Engellendi",
|
||||
"description": "Bu dize, açılır penceredeki engellenen öğelerin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Yüzde",
|
||||
"description": "Bu dize, açılır sayfadaki engellenen öğelerin yüzdesi için ad olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Sıfırla",
|
||||
"description": "Bu dize, açılır sayfadaki istatistik sıfırlama düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Genel istatistikleri sıfırla",
|
||||
"description": "Bu dize, açılır sayfadaki istatistik sıfırlama düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Kurallar-Durum",
|
||||
"description": "Bu dize, açılır sayfadaki kurallar-durum bölümü için başlık olarak kullanılır."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Günlük",
|
||||
"description": "Bu dize, açılır sayfadaki günlük düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Günlüğü aç",
|
||||
"description": "Bu dize, açılır penceredeki günlük düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Geçerli URL'yi bildir",
|
||||
"description": "Not: Şu anda kullanılmamaktadır."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Geçerli URL’yi bu sekmeden bildirin.",
|
||||
"description": "Şu anda kullanılmamış."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Diske kaydedin.",
|
||||
"description": "Bu dize, kullanıcıya ClearURL'lerin ayarları diske kaydettiğini söylemek için kullanılır."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Eklenti başlatılamadı.",
|
||||
"description": "Bu dize, kullanıcıya ClearURL'lerin başlatılamadığını söylemek için kullanılır."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "İstatistikler",
|
||||
"description": "Bu dize, açılır sayfadaki istatistik anahtar düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "İstatistik işlevini etkinleştirin veya devre dışı bırakın",
|
||||
"description": "Bu dize, açılır sayfadaki istatistik değiştirme düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURL'lerdeki Ayarlar",
|
||||
"description": "Bu dize, ayarlar sayfasında başlık olarak kullanılır."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Rozet rengi",
|
||||
"description": "Bu dize, rozet renk etiketinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Sıfırlama",
|
||||
"description": "Bu dize, ayarlar sayfasındaki sıfırlama düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Her şeyi sıfırla",
|
||||
"description": "Bu dize, ayarlar sayfasındaki sıfırlama düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "Data.json dosyasının URL'si (kurallar)",
|
||||
"description": "Bu dize kural url etiketinin adı olarak kullanılır."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Eklentiyi kaydet ve yeniden yükle",
|
||||
"description": "Bu dize, ayarlar sayfasındaki kaydet ve yeniden yükle düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Ayarları kaydeder",
|
||||
"description": "Bu dize, ayarlar sayfasındaki kaydet ve yeniden yükle düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "Rules.hash dosyasının URL'si (karma)",
|
||||
"description": "Bu dize rule.hash url etiketinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/tr-TR/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (uzman seviyesi)",
|
||||
"description": "Bu dize, tür etiketi için ad olarak kullanılır."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "URL'ler için rapor sunucusu",
|
||||
"description": "Not: Şu anda kullanılmamaktadır."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "URL başarıyla rapor edildi. Bu URL’yi yakında kontrol edeceğiz.",
|
||||
"description": "Not: Şu anda kullanılmamaktadır."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Bu URL zaten bildirilmiş gibi görünüyor.",
|
||||
"description": "Not: Şu anda kullanılmamaktadır."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "ClearURL'nin yaratıcısı için bir bağış.",
|
||||
"description": "Bu dize bir bağış sayfasına başvurmak için kullanılır."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Temiz Bağlantı Konumunu Kopyala",
|
||||
"description": "Bu dize bağlam menüsünde temiz bağlantıları kopyalamak için kullanılır."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "İçerik menüsü girişini görüntüle",
|
||||
"description": "Bu dize, temiz linkleri kopyalamak için bağlam menüsü girişini değiştirmek için kullanılır."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Geçmiş API'si üzerinden izleme enjeksiyonunu engelle(Ayrıca bakınız: <a href='https://developer.mozilla.org/tr-TR/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "Bu dize geçmiş API dinleyici etiketinin adı olarak kullanılır."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURL'lerden temizleme aracı",
|
||||
"description": "Bu dize temizleme aracı sayfasında başlık olarak kullanılır."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Bu araçla URL'lere yapıştırabilirsiniz ve ClearURL'ler yeşil düğmeye tıkladıktan sonra URL'leri temizler. Aynı anda birden fazla URL'ye yapıştırabilirsiniz, ancak her URL ayrı bir satırda olmalıdır.",
|
||||
"description": "Bu dize temizleme aracının açıklaması olarak kullanılır."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "URL’leri temizle",
|
||||
"description": "Bu dize temiz url düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Burada kirli URL'leri yapıştırabilirsiniz:",
|
||||
"description": "Bu dize, kirli URL’lerin temizleme aracı sayfasında başlık olarak kullanılır."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Temizlenmiş URL’leri burada bulabilirsiniz:",
|
||||
"description": "Bu dize, temiz URL’lerin temizleme aracı sayfasında başlık olarak kullanılır."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Yerel ana makinelerde URL’lerin atlanması (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, yerel ana bilgisayar)",
|
||||
"description": "Bu dize, yerel ana bilgisayar atlama anahtarı için etiket olarak kullanılır."
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Yerel ana makinelerde URL atlama",
|
||||
"description": "Bu dize, yerel ana bilgisayar atlama anahtarı için başlık olarak kullanılır"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Dışa Aktar",
|
||||
"description": "Bu dize, günlük sayfasındaki verme düğmesi için kullanılır."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Genel günlüğü dışa aktar",
|
||||
"description": "Bu dize, günlük sayfasındaki verme düğmesine başlık olarak kullanılır."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "İçe Aktar",
|
||||
"description": "Bu dize, günlük sayfasındaki içe aktar düğmesi için kullanılır."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Genel günlüğü içe aktar",
|
||||
"description": "Bu dize, günlük sayfasındaki içe aktarma düğmesi için başlık olarak kullanılır."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Dışa Aktar",
|
||||
"description": "Bu dize, ayarlar sayfasındaki verme düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Her şeyi dışa aktar",
|
||||
"description": "Bu dize, ayarlar sayfasındaki dışa aktar düğmesi için başlık olarak kullanılır."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "İçe Aktar",
|
||||
"description": "Bu dize, ayarlar sayfasındaki sıfırlama düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Her şeyi içe aktar",
|
||||
"description": "Bu dize, ayarlar sayfasındaki alma düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Günlüğü $LIMIT$ girişle sınırlar.",
|
||||
"description": "Bu dize, günlük sınırı etiketinin adı olarak kullanılır.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Bu site tarafından engellendi <b>ClearURLs</b>",
|
||||
"description": "Bu dize engellenen site sayfasında başlık olarak kullanılır."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Bu site tarafından engellendi <b>ClearURLs</b> Eklentisi, çünkü bu siteyi bir reklamcılık ve / veya izleme hizmeti olarak tanımlıyoruz. Bu siteyi ziyaret etmek için Eklentiyi geçici olarak devre dışı bırakmanız gerekir. ClearURL'leri devre dışı bıraktıktan sonra sayfayı yüklemek için aşağıdaki düğmeye tıklayabilirsiniz.",
|
||||
"description": "Bu dize engellenen site sayfasında gövde olarak kullanılır."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Sayfayı ziyaret et",
|
||||
"description": "Bu dize engellenen site sayfasındaki düğme olarak kullanılır."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Tavsiye pazarlamasına izin ver",
|
||||
"description": "Bu dize tavsiye pazarlama anahtarı için etiket olarak kullanılır"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Tavsiye pazarlamasına izin verir",
|
||||
"description": "Bu dize tavsiye pazarlama anahtarı için başlık olarak kullanılır"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURL'ler]: Güvenlik Zamanlayıcısı bir sorun tespit etti. ClearURL'ler yeniden başlatıldı.",
|
||||
"description": "Bu dize güvenlik zamanlayıcısı için metin olarak kullanılır.",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Alan adı engellemeye izin ver (Reklam Engelleyicilere izin vermeyen sayfalarda sorunlara neden olabilir)",
|
||||
"description": "Bu dize, alan adı engelleme anahtarı için etiket olarak kullanılır"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Alan adı engellemeye izin ver (Reklam Engelleyicilere izin vermeyen sayfalarda sorunlara neden olabilir)",
|
||||
"description": "Bu dize, alan adı engelleme anahtarının başlığı olarak kullanılır"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Bu köprü denetimi engellendi",
|
||||
"description": "Bu dize, ClearURLs günlüğündeki köprü denetimi için kullanılır."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Köprü denetimini engelle (Ayrıca bkz.<a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>this article</a>)",
|
||||
"description": "Bu dize köprü denetim engelleme anahtarı için etiket olarak kullanılır"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Köprü denetimini engelle",
|
||||
"description": "Bu dize köprü denetim engelleme anahtarının başlığı olarak kullanılır"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "İzleme öğelerini URL'lerden kaldırın.",
|
||||
"description": "Uzantı açıklaması."
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag başlığı bu istekten kaldırıldı",
|
||||
"description": "Bu dize, ClearURLs günlüğünde ETag üstbilgisi filtrelemesinde kullanılır."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "ETag başlıklarını isteklerden filtreler (Ayrıca bkz. <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>Bu makaleye</a>)",
|
||||
"description": "Bu dize, ETag başlık filtreleme anahtarı için etiket olarak kullanılır"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "ETag başlıklarını filtreler. İpucu: İlk kullanımdan önce önbellek temizlenmelidir.",
|
||||
"description": "Bu dize, ETag başlık filtreleme anahtarının başlığı olarak kullanılır"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
}
|
||||
}
|
||||
@@ -1,216 +1,371 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "не потребує оновлення",
|
||||
"description": ""
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "оновлено",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "наявне оновлення",
|
||||
"description": ""
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "помилка",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Ой, щось не так!",
|
||||
"description": ""
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Цей URL перенаправляється",
|
||||
"description": ""
|
||||
"message": "Ця URL-адреса перенаправляється",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Цей домен заблоковано",
|
||||
"description": ""
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Лог listener додано.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: listener журналу додано.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Лог ClearURLs",
|
||||
"description": ""
|
||||
"message": "Журнал ClearURLs",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Перед обробкою",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "Після обробки",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Правило",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Час",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Скидання",
|
||||
"description": ""
|
||||
"message": "Скинути",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Скидання глобального логу",
|
||||
"description": ""
|
||||
"message": "Скидання глобального журналу",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Налаштування",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Фільтр",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Активує функцію очищення URL. Якщо вимкнути - аддон не працюватиме",
|
||||
"description": ""
|
||||
"message": "Активує функцію очищення ClearURLs. Якщо вимкнути - додаток не працюватиме",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Логування",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Лог зберігається лише локально. Не активуйте цю функцію, якщо вона вам не потрібна.",
|
||||
"description": ""
|
||||
"message": "Журнал зберігається лише локально. Не активуйте цю функцію, якщо вона вам не потрібна",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Значки",
|
||||
"description": ""
|
||||
"message": "Позначки",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Показати кількість очищених URL",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Статистика",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Елементи",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Заблоковано",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Відсоток",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Скинути",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Скидання глобальної статистики",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Актуальність правил",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Лог",
|
||||
"description": ""
|
||||
"message": "Журнал",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Відкрити лог",
|
||||
"description": ""
|
||||
"message": "Відкрити журнал",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Повідомити про URL",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Повідомити про URL з цієї вкладки.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Зберегти на диск.",
|
||||
"description": ""
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Не вдалося запустити аддон.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: Не вдалося запустити додаток.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Статистика",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Увімк. чи вимк. статистику",
|
||||
"description": ""
|
||||
"message": "Увімкнення чи вимкнення статистики",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Налаштування ClearURLs",
|
||||
"description": ""
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Колір значка",
|
||||
"description": ""
|
||||
"message": "Колір піктограми",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Скинути",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Скинути все",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Посилання на файл data.json (правила)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Зберегти і перезавантажити аддон",
|
||||
"description": ""
|
||||
"message": "Зберегти і перезавантажити додаток",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Збереження налаштувань",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Посилання на файл rules.hash (хеш)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Типи запитів</a> (експертний рівень)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Звіт про сервер URL",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "Успішно повідомлено про URL-адресу. Ми невдовзі це перевіримо.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Схоже, про цю URL-адресу вже повідомлено.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Внесок для розробників ClearURLs.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Скопіювати \"чисте\" посилання",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Відобразити контекстне меню",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Запобігти трекінг через API історії браузеру (див. також: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>Метод replaceState()</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs є утилітою очищення посилань",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "За допомогою цієї утиліти ви можете вставити URL-адреси для ії \"очищення\" після натискання на зелену кнопку. Ви можете вставити відразу кілька URL-адрес, але кожна URL-адреса повинна бути на окремому рядку.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "\"Чисті\" посилання",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Тут ви можете вставити \"брудні\" посилання:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Тут ви можете знайти \"чисті\" посилання:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Не фільтрувати посилання на локальних адресах (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Не фільтрує посилання на локальних адресах",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Експорт",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Експортувати глобальний лог",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Імпорт",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Імпортувати глобальний лог",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Експрот",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Експортує все",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Імпорт",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Імпортує все",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Обмежити логування $LIMIT$ записів.",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Цей сайт було заблоковано додатком <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Цей сайт було заблоковано додатком <b>ClearURLs</b>, оскільки ми ідентифікували його як рекламний і/або трекінговий сервіс.\nДля того, щоб відвідати цей сайт, ви повинні тимчасово відключати додаток або виключати блокування доменів в налаштуваннях ClearURLs.\nПісля цього ви зможете натитснути кнопку нижче, щоб завантажити сторінку.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Відвідати сторінку",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Дозволити реферальний маркетинг",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Дозволяє реферальний маркетинг",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: \"Сторожовий пес\" помітив проблему та вилетів $TIMES$ разів.\n",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Дозволити блокування домену (Може привести до проблем на сайтах, які блокують AdBlocker'и)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Дозволити блокування домену (Може привести до проблем на сайтах, які блокують AdBlocker'и)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Цей аудит гіперпосилань було заблоковано",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Відключити аудит гіперпосилань (див. також <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>цю статтю</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Блокувати аудит гіперпосилань",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Видалити елементи трекінгу з посилань",
|
||||
"description": "Опис додатку (максимум 132 символи)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag був видалений з цього запиту",
|
||||
"description": "Ця стрічка використовується для фільтрації заголовків ETag у журналі ClearURL."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Фільтрує ETag заголовки в запитах (див. також <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>цю статтю</a>)",
|
||||
"description": "Цей рядок використовується, як мітка для перемикача фільтра заголовка ETag"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Фільтри заголовків ETag. \nПідказка: Кеш повинен бути скинутим перед першим використанням.",
|
||||
"description": "Цей рядок використовується, як заголовок для перемикача фільтра заголовка ETag"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " "
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " "
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " "
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " "
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " "
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " "
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " "
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,216 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "已是最新的",
|
||||
"description": ""
|
||||
"description": "这个状态码表示,ClearURLs规则已经是最新的,无需继续更新"
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "已更新",
|
||||
"description": ""
|
||||
"description": "这个状态码表示,ClearURLs规则更新成功"
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "有可用的更新",
|
||||
"description": ""
|
||||
"description": "这个状态码表示,ClearURLs规则可以进行更新"
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "错误",
|
||||
"description": ""
|
||||
"description": "这个状态码表示,ClearURLs无法正确启动"
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "糟糕! 有东西不对劲",
|
||||
"description": ""
|
||||
"message": "发生错误",
|
||||
"description": "这个状态码表示,ClearURLs在更新中遇到了错误"
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "此网址已被转址",
|
||||
"description": ""
|
||||
"message": "此网址已被重定向",
|
||||
"description": "在ClearURLs的日志中,这个字符串表示重定向的网址"
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "此网址已被封锁",
|
||||
"description": ""
|
||||
"description": "在ClearURLs的日志中,这个字符串表示已被封锁的网址"
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: 已新增日志聆听者",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 已新增日志监听器",
|
||||
"description": "在ClearURLs 的日志中,这个字符串表示日志开始"
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs日志",
|
||||
"description": ""
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "处理前",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "处理后",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "规则",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "时间",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "重设",
|
||||
"description": ""
|
||||
"message": "重置",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "重设全域日志",
|
||||
"description": ""
|
||||
"message": "重置全局日志",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "配置",
|
||||
"description": ""
|
||||
"message": "设定",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "过滤器",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "此过滤器开关为ClearURLs的主开关, 若此项不勾选, 则本插件失效.",
|
||||
"description": ""
|
||||
"message": "此为ClearURLs的主开关. 若关闭则此插件失效.",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "日志",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "日志会被储存于本地. 若不需要此功能, 建议不要使用.",
|
||||
"description": ""
|
||||
"message": "日志会被储存于本地. 若不需要此功能建议关闭.",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "徽章",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "显示已清理数量",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "统计",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "元件",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "已阻挡",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "比例",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "重设",
|
||||
"description": ""
|
||||
"message": "重置",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "重设全域统计",
|
||||
"description": ""
|
||||
"message": "重置全局统计",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "规则状态",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "日志",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "开启日志",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "回报目前网址",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "回报该分页目前网址",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: 储存于硬盘",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 储存于本地",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: 此插件无法启动",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 插件无法启动",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "统计",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "开启或关闭统计功能",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURLs设置",
|
||||
"description": ""
|
||||
"message": "ClearURLs设定",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "徽章颜色",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "重设",
|
||||
"description": ""
|
||||
"message": "重置",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "重设所有设置",
|
||||
"description": ""
|
||||
"message": "重置所有设定",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "data.json的网址 (规则)",
|
||||
"description": ""
|
||||
"message": "data.json 档的网址 (规则)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "储存并重启插件",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "储存设置",
|
||||
"description": ""
|
||||
"message": "储存设定",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "rules.hash的网址 (校验)",
|
||||
"description": ""
|
||||
"message": "rules.hash 档的网址 (校验)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>请求类型</a> (进阶设定)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "回报网址",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "该网址已成功回报",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "该网址已被回报过",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "给ClearURLs的作者一点贊助",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "复制清理过的网址",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "显示右键选单条目",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "阻止历史 API 跟踪注入(参见:<a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs的网址清理工具",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "手动清理网址工具\n在下方粘贴原网址并按下绿色按钮,ClearURLs将进行清理后输出。若要同时清理多个网址,请分行。",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "网址清理工具",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "清理前的网址:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "清理后的网址:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "跳过本地主机链接(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "跳过本地主机 URL",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "导出",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "导出全局日志",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "导入",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "导入全局日志",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "导出",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "导出全部设置",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "导入",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "导入全部设置",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "限制为 $LIMIT$ 条日志。",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "此站点被 <b>ClearURLs</b> 屏蔽",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "此站点被 <b>ClearURLs</b> 插件屏蔽,因为我们识别出此站点为广告和/或跟踪服务。为访问此站点,您必须暂时禁用此插件或在 ClearURLs 设置中禁用域名屏蔽禁用。之后您可以点击下方按钮载入此页面。",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "访问页面",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "允许跳转营销",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "允许跳转营销",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: 看门狗检测到一个问题并已失败 $TIMES$ 次。",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "允许域名屏蔽(在不允许广告拦截器的页面上会导致问题)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "允许域名屏蔽(在不允许广告拦截器的页面上会导致问题)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "此超链接审计已屏蔽",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "屏蔽超链接审计(参见<a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>此文章</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "屏蔽超链接审计",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "从 URL 中移除跟踪元素。",
|
||||
"description": "Extension description (max. 132 characters)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag 头已从此请求移除",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "从请求中过滤 ETag 头(参见<a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>此文章</a>)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "过滤 ETag 头。提示:第一次使用前必须清除缓存。",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,216 +1,378 @@
|
||||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "已是最新的",
|
||||
"description": ""
|
||||
"message": "已是最新版本",
|
||||
"description": "此状态码表示此时并没有任何的 ClearURLs 规则需要更新,并且所有的都已是最新版本。"
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "已更新",
|
||||
"description": ""
|
||||
"description": "此状态码表示 ClearURLs 规则已成功更新。"
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "有可用的更新",
|
||||
"description": ""
|
||||
"description": "此状态码表示有可用的 ClearURLs 规则更新。"
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "錯誤",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "糟糕! 有東西不對勁",
|
||||
"description": ""
|
||||
"message": "發生錯誤",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "此網址已被轉址",
|
||||
"description": ""
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "此網址已被封鎖",
|
||||
"description": ""
|
||||
"message": "已封鎖此網域",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: 已新增記錄聆聽者",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 已新增記錄監聽器",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs記錄檔",
|
||||
"description": ""
|
||||
"message": "ClearURLs 記錄檔",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "處理前",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "處理後",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "規則",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "時間",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "重設",
|
||||
"description": ""
|
||||
"message": "清除",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "重設全域記錄檔",
|
||||
"description": ""
|
||||
"message": "清除全域記錄檔",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "配置",
|
||||
"description": ""
|
||||
"message": "設定",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "過濾器",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "此過濾器開關為ClearURLs的主開關, 若此項不打勾, 則本附加元件失效.",
|
||||
"description": ""
|
||||
"message": "「過濾器」即 ClearURLs 的網址清理功能。若你關閉此選項,則本套件的主要功能將無法作用。",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "記錄",
|
||||
"description": ""
|
||||
"message": "錄製記錄",
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "記錄檔會被儲存於本機. 若不需要此功能, 建議不要使用.",
|
||||
"description": ""
|
||||
"message": "記錄檔將儲存於本機。若不需要此功能,建議關閉。",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "徽章",
|
||||
"description": ""
|
||||
"message": "計數徽章",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "顯示已清理數量",
|
||||
"description": ""
|
||||
"message": "顯示已清理的數量",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "統計",
|
||||
"description": ""
|
||||
"message": "統計資料",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "元件",
|
||||
"description": ""
|
||||
"message": "元素",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "已阻擋",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "比例",
|
||||
"description": ""
|
||||
"message": "阻擋比率",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "重設",
|
||||
"description": ""
|
||||
"message": "歸零",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "重設全域統計",
|
||||
"description": ""
|
||||
"message": "重置全域統計資料",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "規則狀態",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "記錄檔",
|
||||
"description": ""
|
||||
"message": "記錄",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "開啟記錄檔",
|
||||
"description": ""
|
||||
"message": "檢視記錄檔",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "回報目前網址",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "回報目前分頁的網址",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: 儲存於磁碟",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 儲存於本機",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: 此附加元件無法啟動",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 無法啟動擴充功能",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "統計",
|
||||
"description": ""
|
||||
"message": "統計資料",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "開啟或關閉統計功能",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURLs設定",
|
||||
"description": ""
|
||||
"message": "ClearURLs 偏好設定",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "徽章顏色",
|
||||
"description": ""
|
||||
"message": "計數徽章背景顏色",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "重設",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "重設所有設定",
|
||||
"description": ""
|
||||
"message": "將所有設定還原為預設值",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "data.json的網址 (規則)",
|
||||
"description": ""
|
||||
"message": "data.json 檔的網址 (規則)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "儲存並重啟附加元件",
|
||||
"description": ""
|
||||
"message": "儲存並重新啟動擴充功能",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "儲存設定",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "rules.hash的網址 (校驗)",
|
||||
"description": ""
|
||||
"message": "rules.hash 檔的網址 (校驗)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>請求類型</a> (進階設定)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "回報網址",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "已成功回報網址,我們將儘速對其檢查。",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "該網址已被回報過",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "給 ClearURLs 的作者一點贊助!",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "複製經過清理的網址",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "在快顯功能表中顯示",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "防止藉由 History API 注入追蹤 (參見:<a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "此字符串是history API 监听器的 名字。"
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs 網址清理工具",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "這個工具可讓你手動清理冗長的網址。請貼上欲清理的網址,並點擊「清理網址」按鈕,ClearURLs 便會還你乾淨的網址。你可以批次處理多個網址,每條網址須以換行分隔。",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "清理網址",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "原始網址:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "清理結果:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "略過本機網址 (10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、100.64.0.0/10、169.254.0.0/16、127.0.0.1、localhost)",
|
||||
"description": "此字符串是跳过 localhost 的开关的 label"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "略過本機網址",
|
||||
"description": "此字符串被用于跳过 localhost 的开关的标题"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "匯出",
|
||||
"description": "此字符串被用于日志页面的导出按钮"
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "匯出全域記錄檔",
|
||||
"description": "此字符串被用于日志页面的导出按钮的标题"
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "匯入",
|
||||
"description": "此字符串被用于日志页面的导入按钮"
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "匯入全域記錄檔",
|
||||
"description": "此字符串被用于日志页面的导入按钮的标题"
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "匯出",
|
||||
"description": "此字符串被用于设置页面的导出按钮"
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "將各項設定匯出",
|
||||
"description": "此字符串被用于设置页面的导出按钮的标题"
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "匯入",
|
||||
"description": "此字符串被用于设置页面的重置按钮"
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "匯入各項設定",
|
||||
"description": "此字符串被用于设置页面的导入按钮的标题"
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "最多保存 $LIMIT$ 筆記錄檔",
|
||||
"description": "此字符串是日志限制的标签名",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "這個網站已由 <b>ClearURLs</b> 封鎖",
|
||||
"description": "此字符串被用于阻挡页面的标题"
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "由於我們判定這個網站是廣告商或追蹤器的伺服器,因此 <b>ClearURLs</b> 已封鎖此網站。若你仍需造訪此網站,請先暫時停用本擴充功能;或者,至 ClearURLs 的偏好設定中關閉「允許封鎖網域」。完成上述操作後,點擊下方的「繼續前往」即可瀏覽該網站。",
|
||||
"description": "此字符串被用于阻挡页面的 body"
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "繼續前往",
|
||||
"description": "此字符串被用于阻挡设置页面的按钮"
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "允許聯盟行銷",
|
||||
"description": "此字符串被用于跳转营销页面的开关的 label"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "允許聯盟行銷",
|
||||
"description": "此字符串被用于跳转营销页面的开关的标题"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: 插件监控发现了一个已失败了 $TIMES$ 次的问题。",
|
||||
"description": "此字符串被用于插件监控的文字",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "允許封鎖網域 (部分阻撓「廣告阻擋器」的網頁可能無法正常顯示)",
|
||||
"description": "此字符串被用于域名阻拦开关的 label"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "允許封鎖網域 (部分阻撓「廣告阻擋器」的網頁可能無法正常顯示)",
|
||||
"description": "此字符串被用于域名阻拦开关的标题"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "已阻擋超連結稽核",
|
||||
"description": "此字符串被用于 ClearURLs 日志中的超链接审计。"
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "阻擋超連結稽核 (<a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>瞭解詳情</a>)",
|
||||
"description": "此字符串被用于 ClearURLs 日志中的超链接审计的开关的 label"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "阻擋超連結稽核",
|
||||
"description": "此字符串被用于 ClearURLs 日志中的超链接审计的开关的标题"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "將網址中的追蹤元素一掃而空",
|
||||
"description": "异常描述 (最多 132个字符)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "已在這次請求裡移除 ETag 標頭",
|
||||
"description": "此字符串被用于 ClearURLs 日志中 ETag 头过滤。"
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "濾除請求裡的 ETag 標頭 (<a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>瞭解詳情</a>)",
|
||||
"description": "此字符串被用于 ClearURLs 日志中 ETag 头过滤开关的 label"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "濾除 ETag 標頭 (注意:初次啟用前須先清除快取)",
|
||||
"description": "此字符串被用于 ClearURLs 日志中 ETag 头过滤开关的标题"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "非必须,仅为了防止异常发生"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "非必须,仅为了防止异常发生"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "非必须,仅为了防止异常发生"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "非必须,仅为了防止异常发生"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "非必须,仅为了防止异常发生"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "非必须,仅为了防止异常发生"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "非必须,仅为了防止异常发生"
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -10,8 +10,8 @@
|
||||
factory(mod);
|
||||
global.browser = mod.exports;
|
||||
}
|
||||
})(this, function (module) {
|
||||
/* webextension-polyfill - v0.3.1 - Tue Aug 21 2018 10:09:34 */
|
||||
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (module) {
|
||||
/* webextension-polyfill - v0.12.0 - Tue May 14 2024 18:01:29 */
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
@@ -19,16 +19,18 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
"use strict";
|
||||
|
||||
if (typeof browser === "undefined" || Object.getPrototypeOf(browser) !== Object.prototype) {
|
||||
if (!(globalThis.chrome && globalThis.chrome.runtime && globalThis.chrome.runtime.id)) {
|
||||
throw new Error("This script should only be loaded in a browser extension.");
|
||||
}
|
||||
if (!(globalThis.browser && globalThis.browser.runtime && globalThis.browser.runtime.id)) {
|
||||
const CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE = "The message port closed before a response was received.";
|
||||
const SEND_RESPONSE_DEPRECATION_WARNING = "Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)";
|
||||
|
||||
// Wrapping the bulk of this polyfill in a one-time-use function is a minor
|
||||
// optimization for Firefox. Since Spidermonkey does not fully parse the
|
||||
// contents of a function until the first time it's called, and since it will
|
||||
// never actually need to be called, this allows the polyfill to be included
|
||||
// in Firefox nearly for free.
|
||||
const wrapAPIs = () => {
|
||||
const wrapAPIs = extensionAPIs => {
|
||||
// NOTE: apiMetadata is associated to the content of the api-metadata.json file
|
||||
// at build time by replacing the following "include" with the content of the
|
||||
// JSON file.
|
||||
@@ -241,7 +243,8 @@
|
||||
"inspectedWindow": {
|
||||
"eval": {
|
||||
"minArgs": 1,
|
||||
"maxArgs": 2
|
||||
"maxArgs": 2,
|
||||
"singleCallbackArg": false
|
||||
}
|
||||
},
|
||||
"panels": {
|
||||
@@ -249,6 +252,12 @@
|
||||
"minArgs": 3,
|
||||
"maxArgs": 3,
|
||||
"singleCallbackArg": true
|
||||
},
|
||||
"elements": {
|
||||
"createSidebarPane": {
|
||||
"minArgs": 1,
|
||||
"maxArgs": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -455,10 +464,6 @@
|
||||
"minArgs": 0,
|
||||
"maxArgs": 0
|
||||
},
|
||||
"getBrowserInfo": {
|
||||
"minArgs": 0,
|
||||
"maxArgs": 0
|
||||
},
|
||||
"getPlatformInfo": {
|
||||
"minArgs": 0,
|
||||
"maxArgs": 0
|
||||
@@ -595,6 +600,14 @@
|
||||
"minArgs": 0,
|
||||
"maxArgs": 1
|
||||
},
|
||||
"goBack": {
|
||||
"minArgs": 0,
|
||||
"maxArgs": 1
|
||||
},
|
||||
"goForward": {
|
||||
"minArgs": 0,
|
||||
"maxArgs": 1
|
||||
},
|
||||
"highlight": {
|
||||
"minArgs": 1,
|
||||
"maxArgs": 1
|
||||
@@ -693,7 +706,6 @@
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (Object.keys(apiMetadata).length === 0) {
|
||||
throw new Error("api-metadata.json has not been included in browser-polyfill");
|
||||
}
|
||||
@@ -713,12 +725,10 @@
|
||||
super(items);
|
||||
this.createItem = createItem;
|
||||
}
|
||||
|
||||
get(key) {
|
||||
if (!this.has(key)) {
|
||||
this.set(key, this.createItem(key));
|
||||
}
|
||||
|
||||
return super.get(key);
|
||||
}
|
||||
}
|
||||
@@ -750,29 +760,32 @@
|
||||
* promise.
|
||||
* @param {function} promise.resolve
|
||||
* The promise's resolution function.
|
||||
* @param {function} promise.rejection
|
||||
* @param {function} promise.reject
|
||||
* The promise's rejection function.
|
||||
* @param {object} metadata
|
||||
* Metadata about the wrapped method which has created the callback.
|
||||
* @param {integer} metadata.maxResolvedArgs
|
||||
* The maximum number of arguments which may be passed to the
|
||||
* callback created by the wrapped async function.
|
||||
* @param {boolean} metadata.singleCallbackArg
|
||||
* Whether or not the promise is resolved with only the first
|
||||
* argument of the callback, alternatively an array of all the
|
||||
* callback arguments is resolved. By default, if the callback
|
||||
* function is invoked with only a single argument, that will be
|
||||
* resolved to the promise, while all arguments will be resolved as
|
||||
* an array if multiple are given.
|
||||
*
|
||||
* @returns {function}
|
||||
* The generated callback function.
|
||||
*/
|
||||
const makeCallback = (promise, metadata) => {
|
||||
return (...callbackArgs) => {
|
||||
if (chrome.runtime.lastError) {
|
||||
promise.reject(chrome.runtime.lastError);
|
||||
} else if (metadata.singleCallbackArg || callbackArgs.length <= 1) {
|
||||
if (extensionAPIs.runtime.lastError) {
|
||||
promise.reject(new Error(extensionAPIs.runtime.lastError.message));
|
||||
} else if (metadata.singleCallbackArg || callbackArgs.length <= 1 && metadata.singleCallbackArg !== false) {
|
||||
promise.resolve(callbackArgs[0]);
|
||||
} else {
|
||||
promise.resolve(callbackArgs);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
const pluralizeArguments = numArgs => numArgs == 1 ? "argument" : "arguments";
|
||||
|
||||
/**
|
||||
@@ -790,9 +803,13 @@
|
||||
* The maximum number of arguments which may be passed to the
|
||||
* function. If called with more than this number of arguments, the
|
||||
* wrapper will raise an exception.
|
||||
* @param {integer} metadata.maxResolvedArgs
|
||||
* The maximum number of arguments which may be passed to the
|
||||
* callback created by the wrapped async function.
|
||||
* @param {boolean} metadata.singleCallbackArg
|
||||
* Whether or not the promise is resolved with only the first
|
||||
* argument of the callback, alternatively an array of all the
|
||||
* callback arguments is resolved. By default, if the callback
|
||||
* function is invoked with only a single argument, that will be
|
||||
* resolved to the promise, while all arguments will be resolved as
|
||||
* an array if multiple are given.
|
||||
*
|
||||
* @returns {function(object, ...*)}
|
||||
* The generated wrapper function.
|
||||
@@ -802,35 +819,37 @@
|
||||
if (args.length < metadata.minArgs) {
|
||||
throw new Error(`Expected at least ${metadata.minArgs} ${pluralizeArguments(metadata.minArgs)} for ${name}(), got ${args.length}`);
|
||||
}
|
||||
|
||||
if (args.length > metadata.maxArgs) {
|
||||
throw new Error(`Expected at most ${metadata.maxArgs} ${pluralizeArguments(metadata.maxArgs)} for ${name}(), got ${args.length}`);
|
||||
}
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
if (metadata.fallbackToNoCallback) {
|
||||
// This API method has currently no callback on Chrome, but it return a promise on Firefox,
|
||||
// and so the polyfill will try to call it with a callback first, and it will fallback
|
||||
// to not passing the callback if the first call fails.
|
||||
try {
|
||||
target[name](...args, makeCallback({ resolve, reject }, metadata));
|
||||
target[name](...args, makeCallback({
|
||||
resolve,
|
||||
reject
|
||||
}, metadata));
|
||||
} catch (cbError) {
|
||||
console.warn(`${name} API method doesn't seem to support the callback parameter, ` + "falling back to call it without a callback: ", cbError);
|
||||
|
||||
target[name](...args);
|
||||
|
||||
// Update the API method metadata, so that the next API calls will not try to
|
||||
// use the unsupported callback anymore.
|
||||
metadata.fallbackToNoCallback = false;
|
||||
metadata.noCallback = true;
|
||||
|
||||
resolve();
|
||||
}
|
||||
} else if (metadata.noCallback) {
|
||||
target[name](...args);
|
||||
resolve();
|
||||
} else {
|
||||
target[name](...args, makeCallback({ resolve, reject }, metadata));
|
||||
target[name](...args, makeCallback({
|
||||
resolve,
|
||||
reject
|
||||
}, metadata));
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -862,7 +881,6 @@
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
let hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty);
|
||||
|
||||
/**
|
||||
@@ -894,18 +912,14 @@
|
||||
has(proxyTarget, prop) {
|
||||
return prop in target || prop in cache;
|
||||
},
|
||||
|
||||
get(proxyTarget, prop, receiver) {
|
||||
if (prop in cache) {
|
||||
return cache[prop];
|
||||
}
|
||||
|
||||
if (!(prop in target)) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
let value = target[prop];
|
||||
|
||||
if (typeof value === "function") {
|
||||
// This is a method on the underlying object. Check if we need to do
|
||||
// any wrapping.
|
||||
@@ -928,6 +942,9 @@
|
||||
// of. Create a sub-object wrapper for it with the appropriate child
|
||||
// metadata.
|
||||
value = wrapObject(value, wrappers[prop], metadata[prop]);
|
||||
} else if (hasOwnProperty(metadata, "*")) {
|
||||
// Wrap all properties in * namespace.
|
||||
value = wrapObject(value, wrappers[prop], metadata["*"]);
|
||||
} else {
|
||||
// We don't need to do any wrapping for this property,
|
||||
// so just forward all access to the underlying object.
|
||||
@@ -941,14 +958,11 @@
|
||||
target[prop] = value;
|
||||
}
|
||||
});
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
cache[prop] = value;
|
||||
return value;
|
||||
},
|
||||
|
||||
set(proxyTarget, prop, value, receiver) {
|
||||
if (prop in cache) {
|
||||
cache[prop] = value;
|
||||
@@ -957,11 +971,9 @@
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
defineProperty(proxyTarget, prop, desc) {
|
||||
return Reflect.defineProperty(cache, prop, desc);
|
||||
},
|
||||
|
||||
deleteProperty(proxyTarget, prop) {
|
||||
return Reflect.deleteProperty(cache, prop);
|
||||
}
|
||||
@@ -1001,19 +1013,36 @@
|
||||
addListener(target, listener, ...args) {
|
||||
target.addListener(wrapperMap.get(listener), ...args);
|
||||
},
|
||||
|
||||
hasListener(target, listener) {
|
||||
return target.hasListener(wrapperMap.get(listener));
|
||||
},
|
||||
|
||||
removeListener(target, listener) {
|
||||
target.removeListener(wrapperMap.get(listener));
|
||||
}
|
||||
});
|
||||
const onRequestFinishedWrappers = new DefaultWeakMap(listener => {
|
||||
if (typeof listener !== "function") {
|
||||
return listener;
|
||||
}
|
||||
|
||||
// Keep track if the deprecation warning has been logged at least once.
|
||||
let loggedSendResponseDeprecationWarning = false;
|
||||
|
||||
/**
|
||||
* Wraps an onRequestFinished listener function so that it will return a
|
||||
* `getContent()` property which returns a `Promise` rather than using a
|
||||
* callback API.
|
||||
*
|
||||
* @param {object} req
|
||||
* The HAR entry object representing the network request.
|
||||
*/
|
||||
return function onRequestFinished(req) {
|
||||
const wrappedReq = wrapObject(req, {} /* wrappers */, {
|
||||
getContent: {
|
||||
minArgs: 0,
|
||||
maxArgs: 0
|
||||
}
|
||||
});
|
||||
listener(wrappedReq);
|
||||
};
|
||||
});
|
||||
const onMessageWrappers = new DefaultWeakMap(listener => {
|
||||
if (typeof listener !== "function") {
|
||||
return listener;
|
||||
@@ -1038,26 +1067,19 @@
|
||||
*/
|
||||
return function onMessage(message, sender, sendResponse) {
|
||||
let didCallSendResponse = false;
|
||||
|
||||
let wrappedSendResponse;
|
||||
let sendResponsePromise = new Promise(resolve => {
|
||||
wrappedSendResponse = function (response) {
|
||||
if (!loggedSendResponseDeprecationWarning) {
|
||||
console.warn(SEND_RESPONSE_DEPRECATION_WARNING, new Error().stack);
|
||||
loggedSendResponseDeprecationWarning = true;
|
||||
}
|
||||
didCallSendResponse = true;
|
||||
resolve(response);
|
||||
};
|
||||
});
|
||||
|
||||
let result;
|
||||
try {
|
||||
result = listener(message, sender, wrappedSendResponse);
|
||||
} catch (err) {
|
||||
result = Promise.reject(err);
|
||||
}
|
||||
|
||||
const isResultThenable = result !== true && isThenable(result);
|
||||
|
||||
// If the listener didn't returned true or a Promise, or called
|
||||
@@ -1084,7 +1106,6 @@
|
||||
} else {
|
||||
message = "An unexpected error occurred";
|
||||
}
|
||||
|
||||
sendResponse({
|
||||
__mozWebExtensionPolyfillReject__: true,
|
||||
message
|
||||
@@ -1108,16 +1129,18 @@
|
||||
return true;
|
||||
};
|
||||
});
|
||||
|
||||
const wrappedSendMessageCallback = ({ reject, resolve }, reply) => {
|
||||
if (chrome.runtime.lastError) {
|
||||
const wrappedSendMessageCallback = ({
|
||||
reject,
|
||||
resolve
|
||||
}, reply) => {
|
||||
if (extensionAPIs.runtime.lastError) {
|
||||
// Detect when none of the listeners replied to the sendMessage call and resolve
|
||||
// the promise to undefined as in Firefox.
|
||||
// See https://github.com/mozilla/webextension-polyfill/issues/130
|
||||
if (chrome.runtime.lastError.message === CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE) {
|
||||
if (extensionAPIs.runtime.lastError.message === CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE) {
|
||||
resolve();
|
||||
} else {
|
||||
reject(chrome.runtime.lastError);
|
||||
reject(new Error(extensionAPIs.runtime.lastError.message));
|
||||
}
|
||||
} else if (reply && reply.__mozWebExtensionPolyfillReject__) {
|
||||
// Convert back the JSON representation of the error into
|
||||
@@ -1127,60 +1150,76 @@
|
||||
resolve(reply);
|
||||
}
|
||||
};
|
||||
|
||||
const wrappedSendMessage = (name, metadata, apiNamespaceObj, ...args) => {
|
||||
if (args.length < metadata.minArgs) {
|
||||
throw new Error(`Expected at least ${metadata.minArgs} ${pluralizeArguments(metadata.minArgs)} for ${name}(), got ${args.length}`);
|
||||
}
|
||||
|
||||
if (args.length > metadata.maxArgs) {
|
||||
throw new Error(`Expected at most ${metadata.maxArgs} ${pluralizeArguments(metadata.maxArgs)} for ${name}(), got ${args.length}`);
|
||||
}
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
const wrappedCb = wrappedSendMessageCallback.bind(null, { resolve, reject });
|
||||
const wrappedCb = wrappedSendMessageCallback.bind(null, {
|
||||
resolve,
|
||||
reject
|
||||
});
|
||||
args.push(wrappedCb);
|
||||
apiNamespaceObj.sendMessage(...args);
|
||||
});
|
||||
};
|
||||
|
||||
const staticWrappers = {
|
||||
devtools: {
|
||||
network: {
|
||||
onRequestFinished: wrapEvent(onRequestFinishedWrappers)
|
||||
}
|
||||
},
|
||||
runtime: {
|
||||
onMessage: wrapEvent(onMessageWrappers),
|
||||
onMessageExternal: wrapEvent(onMessageWrappers),
|
||||
sendMessage: wrappedSendMessage.bind(null, "sendMessage", { minArgs: 1, maxArgs: 3 })
|
||||
sendMessage: wrappedSendMessage.bind(null, "sendMessage", {
|
||||
minArgs: 1,
|
||||
maxArgs: 3
|
||||
})
|
||||
},
|
||||
tabs: {
|
||||
sendMessage: wrappedSendMessage.bind(null, "sendMessage", { minArgs: 2, maxArgs: 3 })
|
||||
sendMessage: wrappedSendMessage.bind(null, "sendMessage", {
|
||||
minArgs: 2,
|
||||
maxArgs: 3
|
||||
})
|
||||
}
|
||||
};
|
||||
const settingMetadata = {
|
||||
clear: { minArgs: 1, maxArgs: 1 },
|
||||
get: { minArgs: 1, maxArgs: 1 },
|
||||
set: { minArgs: 1, maxArgs: 1 }
|
||||
clear: {
|
||||
minArgs: 1,
|
||||
maxArgs: 1
|
||||
},
|
||||
get: {
|
||||
minArgs: 1,
|
||||
maxArgs: 1
|
||||
},
|
||||
set: {
|
||||
minArgs: 1,
|
||||
maxArgs: 1
|
||||
}
|
||||
};
|
||||
apiMetadata.privacy = {
|
||||
network: {
|
||||
networkPredictionEnabled: settingMetadata,
|
||||
webRTCIPHandlingPolicy: settingMetadata
|
||||
"*": settingMetadata
|
||||
},
|
||||
services: {
|
||||
passwordSavingEnabled: settingMetadata
|
||||
"*": settingMetadata
|
||||
},
|
||||
websites: {
|
||||
hyperlinkAuditingEnabled: settingMetadata,
|
||||
referrersEnabled: settingMetadata
|
||||
"*": settingMetadata
|
||||
}
|
||||
};
|
||||
|
||||
return wrapObject(chrome, staticWrappers, apiMetadata);
|
||||
return wrapObject(extensionAPIs, staticWrappers, apiMetadata);
|
||||
};
|
||||
|
||||
// The build process adds a UMD wrapper around this file, which makes the
|
||||
// `module` variable available.
|
||||
module.exports = wrapAPIs(); // eslint-disable-line no-undef
|
||||
module.exports = wrapAPIs(chrome);
|
||||
} else {
|
||||
module.exports = browser; // eslint-disable-line no-undef
|
||||
module.exports = globalThis.browser;
|
||||
}
|
||||
});
|
||||
//# sourceMappingURL=browser-polyfill.js.map
|
||||
|
||||
87
build_tools/minifyDataJSON.js
Normal file
87
build_tools/minifyDataJSON.js
Normal file
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for minification of the data.min.json file and deletes also empty entries.
|
||||
*/
|
||||
let fs = require('fs');
|
||||
const inFileLocation = process.argv.slice(2)[0];
|
||||
const outFileLocation = process.argv.slice(2)[1];
|
||||
|
||||
if(inFileLocation === undefined || outFileLocation === undefined) {
|
||||
throw "in- and output must be set!";
|
||||
}
|
||||
|
||||
const fileContent = fs.readFileSync(inFileLocation).toString();
|
||||
|
||||
/**
|
||||
* Builds a minify version of the data.min.json file.
|
||||
*/
|
||||
function build() {
|
||||
const data = JSON.parse(fileContent);
|
||||
let minifiedData = {"providers":{}};
|
||||
|
||||
for(let provider in data.providers) {
|
||||
minifiedData.providers[provider] = {};
|
||||
let self = minifiedData.providers[provider];
|
||||
|
||||
if(data.providers[provider].completeProvider === true) {
|
||||
self.completeProvider = true;
|
||||
}
|
||||
|
||||
if(data.providers[provider].forceRedirection === true) {
|
||||
self.forceRedirection = true;
|
||||
}
|
||||
|
||||
if(data.providers[provider].urlPattern !== "") {
|
||||
self.urlPattern = data.providers[provider].urlPattern;
|
||||
}
|
||||
|
||||
if(data.providers[provider].rules.length !== 0) {
|
||||
self.rules = data.providers[provider].rules;
|
||||
}
|
||||
|
||||
if(data.providers[provider].rawRules.length !== 0) {
|
||||
self.rawRules = data.providers[provider].rawRules;
|
||||
}
|
||||
|
||||
if(data.providers[provider].referralMarketing.length !== 0) {
|
||||
self.referralMarketing = data.providers[provider].referralMarketing;
|
||||
}
|
||||
|
||||
if(data.providers[provider].exceptions.length !== 0) {
|
||||
self.exceptions = data.providers[provider].exceptions;
|
||||
}
|
||||
|
||||
if(data.providers[provider].redirections.length !== 0) {
|
||||
self.redirections = data.providers[provider].redirections;
|
||||
}
|
||||
}
|
||||
|
||||
fs.writeFile(outFileLocation, JSON.stringify(minifiedData), function(err) {
|
||||
|
||||
if(err) {
|
||||
return console.log(err);
|
||||
}
|
||||
|
||||
console.log("The file was saved!");
|
||||
});
|
||||
}
|
||||
|
||||
build();
|
||||
1505
clearurls.js
1505
clearurls.js
File diff suppressed because it is too large
Load Diff
77
core_js/badgedHandler.js
Normal file
77
core_js/badgedHandler.js
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for setting the badged.
|
||||
*/
|
||||
|
||||
let badges = {};
|
||||
|
||||
/**
|
||||
* Increases the badged by one.
|
||||
*/
|
||||
function increaseBadged(quiet = false, request) {
|
||||
if (!quiet) increaseCleanedCounter();
|
||||
|
||||
if(request === null) return;
|
||||
|
||||
const tabId = request.tabId;
|
||||
const url = request.url;
|
||||
|
||||
if(tabId === -1) return;
|
||||
|
||||
if (badges[tabId] == null) {
|
||||
badges[tabId] = {
|
||||
counter: 1,
|
||||
lastURL: url
|
||||
};
|
||||
} else {
|
||||
badges[tabId].counter += 1;
|
||||
}
|
||||
|
||||
checkOSAndroid().then((res) => {
|
||||
if (!res) {
|
||||
if (storage.badgedStatus && !quiet) {
|
||||
browser.browserAction.setBadgeText({text: (badges[tabId]).counter.toString(), tabId: tabId}).catch(handleError);
|
||||
} else {
|
||||
browser.browserAction.setBadgeText({text: "", tabId: tabId}).catch(handleError);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Call by each tab is updated.
|
||||
* And if url has changed.
|
||||
*/
|
||||
function handleUpdated(tabId, changeInfo, tabInfo) {
|
||||
if(!badges[tabId] || !changeInfo.url) return;
|
||||
|
||||
if (badges[tabId].lastURL !== changeInfo.url) {
|
||||
badges[tabId] = {
|
||||
counter: 0,
|
||||
lastURL: tabInfo.url
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Call by each tab is updated.
|
||||
*/
|
||||
browser.tabs.onUpdated.addListener(handleUpdated);
|
||||
80
core_js/cleaning_tool.js
Normal file
80
core_js/cleaning_tool.js
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
var cleanedURLs = [];
|
||||
var i = 0;
|
||||
var length = 0;
|
||||
|
||||
/**
|
||||
* Load only when document is ready
|
||||
*/
|
||||
(function() {
|
||||
setText();
|
||||
document.getElementById('cleaning_tool_btn').onclick = cleanURLs;
|
||||
})();
|
||||
|
||||
/**
|
||||
* This function cleans all URLs line by line in the textarea.
|
||||
*/
|
||||
function cleanURLs() {
|
||||
const cleanTArea = document.getElementById('cleanURLs');
|
||||
const dirtyTArea = document.getElementById('dirtyURLs');
|
||||
const urls = dirtyTArea.value.split('\n');
|
||||
cleanedURLs = [];
|
||||
length = urls.length;
|
||||
|
||||
for(i=0; i < length; i++) {
|
||||
browser.runtime.sendMessage({
|
||||
function: "pureCleaning",
|
||||
params: [urls[i]]
|
||||
}).then((data) => {
|
||||
cleanedURLs.push(data.response);
|
||||
if(i >= length-1) {
|
||||
cleanTArea.value= cleanedURLs.join('\n');
|
||||
}
|
||||
}, handleError);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text for the UI.
|
||||
*/
|
||||
function setText()
|
||||
{
|
||||
document.title = translate('cleaning_tool_page_title');
|
||||
document.getElementById('page_title').textContent = translate('cleaning_tool_page_title');
|
||||
document.getElementById('cleaning_tool_description').textContent = translate('cleaning_tool_description');
|
||||
document.getElementById('cleaning_tool_btn').textContent = translate('cleaning_tool_btn');
|
||||
document.getElementById('cleaning_tool_dirty_urls_label').textContent = translate('cleaning_tool_dirty_urls_label');
|
||||
document.getElementById('cleaning_tool_clean_urls_label').textContent = translate('cleaning_tool_clean_urls_label');
|
||||
}
|
||||
|
||||
function handleError(error) {
|
||||
console.log(`Error: ${error}`);
|
||||
}
|
||||
57
core_js/context_menu.js
Normal file
57
core_js/context_menu.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for context menu cleaning functions
|
||||
* and based on: https://github.com/mdn/webextensions-examples/tree/master/context-menu-copy-link-with-types
|
||||
*/
|
||||
|
||||
function contextMenuStart() {
|
||||
if(storage.contextMenuEnabled) {
|
||||
browser.contextMenus.create({
|
||||
id: "copy-link-to-clipboard",
|
||||
title: translate("clipboard_copy_link"),
|
||||
contexts: ["link"]
|
||||
});
|
||||
|
||||
browser.contextMenus.onClicked.addListener((info, tab) => {
|
||||
if (info.menuItemId === "copy-link-to-clipboard") {
|
||||
const url = pureCleaning(info.linkUrl);
|
||||
const code = "copyToClipboard(" +
|
||||
JSON.stringify(url)+");";
|
||||
|
||||
browser.tabs.executeScript({
|
||||
code: "typeof copyToClipboard === 'function';",
|
||||
}).then((results) => {
|
||||
if (!results || results[0] !== true) {
|
||||
return browser.tabs.executeScript(tab.id, {
|
||||
file: "/external_js/clipboard-helper.js",
|
||||
}).catch(handleError);
|
||||
}
|
||||
}).then(() => {
|
||||
return browser.tabs.executeScript(tab.id, {
|
||||
code,
|
||||
});
|
||||
}).catch((error) => {
|
||||
console.error("Failed to copy text: " + error);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
78
core_js/eTagFilter.js
Normal file
78
core_js/eTagFilter.js
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
|
||||
/**
|
||||
* Filters eTag headers from web requests.
|
||||
*/
|
||||
function eTagFilter(requestDetails) {
|
||||
if(!requestDetails.responseHeaders || !storage.eTagFiltering
|
||||
|| storage.localHostsSkipping && checkLocalURL(new URL(requestDetails.url))) return {};
|
||||
for(let i=0; i < requestDetails.responseHeaders.length; i++) {
|
||||
const header = requestDetails.responseHeaders[i];
|
||||
|
||||
if(header.name.toString().toLowerCase() !== "etag") {
|
||||
continue;
|
||||
}
|
||||
|
||||
const etag = header.value.toLowerCase();
|
||||
const w = etag.startsWith('w');
|
||||
const quotes = etag.endsWith('"');
|
||||
|
||||
let len = etag.length;
|
||||
if (w) len -= 2;
|
||||
if (quotes) len -= 2;
|
||||
|
||||
// insert dummy etag
|
||||
requestDetails.responseHeaders[i].value = generateDummyEtag(len, quotes, w);
|
||||
|
||||
pushToLog(requestDetails.url, requestDetails.url, translate("eTag_filtering_log"));
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return {responseHeaders: requestDetails.responseHeaders};
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a random ETag.
|
||||
*
|
||||
* Must be ASCII characters placed between double quotes.
|
||||
* See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag
|
||||
*/
|
||||
function generateDummyEtag(len, quotes = true, w = false) {
|
||||
let rtn = randomASCII(len);
|
||||
|
||||
if (quotes) rtn = '"' + rtn + '"';
|
||||
if (w) rtn = 'W/' + rtn;
|
||||
|
||||
return rtn;
|
||||
}
|
||||
|
||||
/**
|
||||
* Since Firefox 85, eTags can no longer be
|
||||
* used for tracking users over multiple sites.
|
||||
*/
|
||||
if(getBrowser() !== "Firefox") {
|
||||
browser.webRequest.onHeadersReceived.addListener(
|
||||
eTagFilter,
|
||||
{urls: ["<all_urls>"]},
|
||||
["blocking", "responseHeaders"]
|
||||
);
|
||||
}
|
||||
87
core_js/google_link_fix.js
Normal file
87
core_js/google_link_fix.js
Normal file
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Based on:
|
||||
* Remove Google Redirection
|
||||
* https://github.com/kodango/Remove-Google-Redirection/blob/master/extension/chrome/remove-google-redirection.user.js
|
||||
* Copyright (c) 2017 kodango
|
||||
* MIT License: https://github.com/kodango/Remove-Google-Redirection/blob/master/LICENSE
|
||||
*/
|
||||
(function (window) {
|
||||
"use strict";
|
||||
|
||||
function injectFunction() {
|
||||
let ele = document.createElement('script');
|
||||
ele.type = 'text/javascript';
|
||||
ele.textContent = `
|
||||
(function() {
|
||||
"use strict";
|
||||
|
||||
${hookRwtProperty.toString()}
|
||||
|
||||
const rwtDescriptor = Object.getOwnPropertyDescriptor(window, 'rwt');
|
||||
if (!('rwt' in window) || (rwtDescriptor && rwtDescriptor.configurable)) {
|
||||
hookRwtProperty();
|
||||
}
|
||||
})();
|
||||
`;
|
||||
|
||||
let s = document.getElementsByTagName('script')[0];
|
||||
if (s !== undefined) {
|
||||
s.parentNode.insertBefore(ele, s);
|
||||
}
|
||||
}
|
||||
|
||||
function hookRwtProperty() {
|
||||
try {
|
||||
Object.defineProperty(window, 'rwt', {
|
||||
configurable: false,
|
||||
writable: false,
|
||||
value: function() { return true; }
|
||||
});
|
||||
} catch (e) {
|
||||
console.debug('ClearURLs: Failed to hook rwt property', e);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* The main entry
|
||||
*/
|
||||
function main()
|
||||
{
|
||||
injectFunction();
|
||||
|
||||
document.addEventListener('mouseover', function (event) {
|
||||
let a = event.target, depth = 1;
|
||||
|
||||
while (a && a.tagName !== 'A' && depth-- > 0) {
|
||||
a = a.parentNode;
|
||||
}
|
||||
|
||||
if (a && a.tagName === 'A') {
|
||||
try {
|
||||
a.removeAttribute('data-cthref');
|
||||
delete a.dataset.cthref;
|
||||
} catch(e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
main();
|
||||
})(window);
|
||||
55
core_js/historyListener.js
Normal file
55
core_js/historyListener.js
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for listen on history changes.
|
||||
* This technique is often used to inject tracking code into the location bar,
|
||||
* because all feature events will use the updated URL.
|
||||
*/
|
||||
|
||||
function historyListenerStart() {
|
||||
if(storage.historyListenerEnabled) {
|
||||
browser.webNavigation.onHistoryStateUpdated.addListener(historyCleaner);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function that is triggered on history changes. Injects script into page
|
||||
* to clean links that were pushed to the history stack with the
|
||||
* history.replaceState method.
|
||||
* @param {state object} details The state object is a JavaScript object
|
||||
* which is associated with the new history entry created by replaceState()
|
||||
*/
|
||||
function historyCleaner(details) {
|
||||
if(storage.globalStatus) {
|
||||
const urlBefore = details.url;
|
||||
const urlAfter = pureCleaning(details.url);
|
||||
|
||||
if(urlBefore !== urlAfter) {
|
||||
browser.tabs.executeScript(details.tabId, {
|
||||
frameId: details.frameId,
|
||||
code: 'history.replaceState(null,"",'+JSON.stringify(urlAfter)+');'
|
||||
}).then(() => {}, onError);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function onError(error) {
|
||||
console.log(`[ClearURLs] Error: ${error}`);
|
||||
}
|
||||
155
core_js/log.js
155
core_js/log.js
@@ -1,21 +1,38 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/**
|
||||
* Get the log and display the data as table.
|
||||
*/
|
||||
var log = {};
|
||||
|
||||
var core = function (func) {
|
||||
return browser.runtime.getBackgroundPage().then(func);
|
||||
};
|
||||
|
||||
/**
|
||||
* Reset the global log
|
||||
*/
|
||||
function resetGlobalLog(){
|
||||
core(function (ref){
|
||||
obj = {"log": []};
|
||||
ref.setData('log', JSON.stringify(obj));
|
||||
});
|
||||
getLog();
|
||||
let obj = {"log": []};
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: ['log', JSON.stringify(obj)]
|
||||
}).catch(handleError);
|
||||
|
||||
location.reload();
|
||||
}
|
||||
|
||||
@@ -24,35 +41,49 @@ function resetGlobalLog(){
|
||||
*/
|
||||
function getLog()
|
||||
{
|
||||
core(function (ref){
|
||||
log = ref.getData('log');
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: ['log']
|
||||
}).then((data) => {
|
||||
log = data.response;
|
||||
|
||||
// Sort the log | issue #70
|
||||
log.log.sort(function(a,b) {
|
||||
return b.timestamp - a.timestamp;
|
||||
});
|
||||
|
||||
var length = Object.keys(log.log).length;
|
||||
var row;
|
||||
if(length != 0)
|
||||
{
|
||||
for(var i=0; i<length;i++)
|
||||
{
|
||||
row = "<tr>"
|
||||
+ "<td>"+log.log[i].before+"</td>"
|
||||
+ "<td>"+log.log[i].after+"</td>"
|
||||
+ "<td>"+log.log[i].rule+"</td>"
|
||||
+ "<td>"+toDate(log.log[i].timestamp)+"</td>";
|
||||
$('#tbody').append(row);
|
||||
}
|
||||
}
|
||||
$('#logTable').DataTable({
|
||||
"data": log.log,
|
||||
"columns": [
|
||||
{
|
||||
"data": "before",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"data": "after",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"data": "rule",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"data": "timestamp",
|
||||
"type": "date"
|
||||
}
|
||||
],
|
||||
"columnDefs": [
|
||||
{
|
||||
targets: 3,
|
||||
render: toDate
|
||||
}
|
||||
],
|
||||
"pageLength": 10,
|
||||
"language": {
|
||||
"url": getDataTableTranslation()
|
||||
}
|
||||
} ).order([3, 'desc']).draw();
|
||||
});
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -60,11 +91,9 @@ function getLog()
|
||||
*/
|
||||
function getDataTableTranslation()
|
||||
{
|
||||
var lang = browser.i18n.getUILanguage();
|
||||
let lang = browser.i18n.getUILanguage();
|
||||
lang = lang.substring(0,2);
|
||||
var file = browser.extension.getURL('./external_js/dataTables/i18n/'+lang+'.lang');
|
||||
|
||||
return file;
|
||||
return browser.runtime.getURL('./external_js/dataTables/i18n/' + lang + '.json');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -75,14 +104,52 @@ function toDate(time)
|
||||
return new Date(time).toLocaleString();
|
||||
}
|
||||
|
||||
/**
|
||||
* This function export the global log as json file.
|
||||
*/
|
||||
function exportGlobalLog() {
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: ['log']
|
||||
}).then((data) => {
|
||||
let blob = new Blob([JSON.stringify(data.response)], {type: 'application/json'});
|
||||
|
||||
browser.downloads.download({
|
||||
'url': URL.createObjectURL(blob),
|
||||
'filename': 'ClearURLsLogExport.json',
|
||||
'saveAs': true
|
||||
}).catch(handleError);
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function imports an exported global log and overwrites the old one.
|
||||
*/
|
||||
function importGlobalLog(evt) {
|
||||
let file = evt.target.files[0];
|
||||
let fileReader = new FileReader();
|
||||
|
||||
fileReader.onload = function(e) {
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: ["log", e.target.result]
|
||||
}).then(() => {
|
||||
location.reload();
|
||||
}, handleError);
|
||||
};
|
||||
fileReader.readAsText(file);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load only when document is ready
|
||||
*/
|
||||
$(document).ready(function(){
|
||||
(function () {
|
||||
setText();
|
||||
getLog();
|
||||
$('#reset_log_btn').on("click", resetGlobalLog);
|
||||
});
|
||||
document.getElementById('reset_log_btn').onclick = resetGlobalLog;
|
||||
document.getElementById('export_log_btn').onclick = exportGlobalLog;
|
||||
document.getElementById('importLog').onchange = importGlobalLog;
|
||||
})();
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
@@ -100,11 +167,19 @@ function translate(string)
|
||||
function setText()
|
||||
{
|
||||
document.title = translate('log_html_page_title');
|
||||
$('#page_title').text(translate('log_html_page_title'));
|
||||
$('#reset_log_btn').text(translate('log_html_reset_button'));
|
||||
$('#log_html_reset_button').prop('title', translate('log_html_reset_button_title'));
|
||||
$('#head_1').text(translate('log_html_table_head_1'));
|
||||
$('#head_2').text(translate('log_html_table_head_2'));
|
||||
$('#head_3').text(translate('log_html_table_head_3'));
|
||||
$('#head_4').text(translate('log_html_table_head_4'));
|
||||
document.getElementById('page_title').textContent = translate('log_html_page_title');
|
||||
document.getElementById('reset_log_btn').textContent = translate('log_html_reset_button');
|
||||
document.getElementById('reset_log_btn').setAttribute('title', translate('log_html_reset_button_title'));
|
||||
document.getElementById('head_1').textContent = translate('log_html_table_head_1');
|
||||
document.getElementById('head_2').textContent = translate('log_html_table_head_2');
|
||||
document.getElementById('head_3').textContent = translate('log_html_table_head_3');
|
||||
document.getElementById('head_4').textContent = translate('log_html_table_head_4');
|
||||
document.getElementById('export_log_btn_text').textContent = translate('log_html_export_button');
|
||||
document.getElementById('export_log_btn').setAttribute('title', translate('log_html_export_button_title'));
|
||||
document.getElementById('import_log_btn_text').textContent = translate('log_html_import_button');
|
||||
document.getElementById('importLog').setAttribute('title', translate('log_html_import_button_title'));
|
||||
}
|
||||
|
||||
function handleError(error) {
|
||||
console.log(`Error: ${error}`);
|
||||
}
|
||||
|
||||
42
core_js/message_handler.js
Normal file
42
core_js/message_handler.js
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for the communication between background and content_scripts.
|
||||
*/
|
||||
|
||||
/**
|
||||
* [handleMessage description]
|
||||
* @param request The message itself. This is a JSON-ifiable object.
|
||||
* @param sender A runtime.MessageSender object representing the sender of the message.
|
||||
* @param sendResponse A function to call, at most once, to send a response to the message. The function takes a single argument, which may be any JSON-ifiable object. This argument is passed back to the message sender.
|
||||
*/
|
||||
function handleMessage(request, sender, sendResponse)
|
||||
{
|
||||
let fn = window[request.function];
|
||||
|
||||
if(typeof fn === "function")
|
||||
{
|
||||
let response = fn.apply(null, request.params);
|
||||
|
||||
return Promise.resolve({response});
|
||||
}
|
||||
}
|
||||
|
||||
browser.runtime.onMessage.addListener(handleMessage);
|
||||
340
core_js/popup.js
Normal file
340
core_js/popup.js
Normal file
@@ -0,0 +1,340 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
var element = document.getElementById('statistics_value');
|
||||
var elGlobalPercentage = document.getElementById('statistics_value_global_percentage');
|
||||
var elProgressbar_blocked = document.getElementById('progress_blocked');
|
||||
var elProgressbar_non_blocked = document.getElementById('progress_non_blocked');
|
||||
var elTotal = document.getElementById('statistics_total_elements');
|
||||
var globalPercentage = 0;
|
||||
var cleanedCounter;
|
||||
var totalCounter;
|
||||
var globalStatus;
|
||||
var badgedStatus;
|
||||
var hashStatus;
|
||||
var loggingStatus;
|
||||
var statisticsStatus;
|
||||
var currentURL;
|
||||
|
||||
/**
|
||||
* Initialize the UI.
|
||||
*
|
||||
*/
|
||||
function init()
|
||||
{
|
||||
setSwitchButton("globalStatus", "globalStatus");
|
||||
setSwitchButton("tabcounter", "badgedStatus");
|
||||
setSwitchButton("logging", "loggingStatus");
|
||||
setSwitchButton("statistics", "statisticsStatus");
|
||||
setHashStatus();
|
||||
changeStatistics();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the cleanedCounter and totalCounter value from the storage
|
||||
*/
|
||||
function changeStatistics()
|
||||
{
|
||||
globalPercentage = ((cleanedCounter/totalCounter)*100).toFixed(3);
|
||||
|
||||
if(isNaN(Number(globalPercentage))) globalPercentage = 0;
|
||||
|
||||
element.textContent = cleanedCounter.toLocaleString();
|
||||
elGlobalPercentage.textContent = globalPercentage+"%";
|
||||
elProgressbar_blocked.style.width = globalPercentage+'%';
|
||||
elProgressbar_non_blocked.style.width = (100-globalPercentage)+'%';
|
||||
elTotal.textContent = totalCounter.toLocaleString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the whitelist button text
|
||||
*/
|
||||
function setWhitelistText()
|
||||
{
|
||||
let element = document.getElementById('whitelist_btn');
|
||||
let currentSite;
|
||||
browser.tabs.query({active: true, currentWindow: true}, function(tabs) {
|
||||
currentSite = tabs[0].url;
|
||||
});
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: ['whitelist']
|
||||
}).then((data) => {
|
||||
let siteFound = data.response.some(site => currentSite.indexOf(site) !== -1);
|
||||
if (siteFound) {
|
||||
element.classList.replace('btn-primary', 'btn-danger')
|
||||
element.textContent = translate('popup_html_configs_whitelist_button_remove')
|
||||
document.getElementById('whitelist_btn').onclick = () => {changeWhitelist(true)};
|
||||
} else {
|
||||
element.classList.replace('btn-danger', 'btn-primary')
|
||||
element.textContent = translate('popup_html_configs_whitelist_button_add')
|
||||
document.getElementById('whitelist_btn').onclick = () => {changeWhitelist(false)};
|
||||
}
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value for the hashStatus on startUp.
|
||||
*/
|
||||
function setHashStatus()
|
||||
{
|
||||
let element = document.getElementById('hashStatus');
|
||||
|
||||
if(hashStatus)
|
||||
{
|
||||
element.textContent = translate(hashStatus);
|
||||
}
|
||||
else {
|
||||
element.textContent = translate('hash_status_code_5');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} storageID storage internal id
|
||||
*/
|
||||
function changeSwitchButton(id, storageID)
|
||||
{
|
||||
let element = document.getElementById(id);
|
||||
|
||||
changeVisibility(id, storageID);
|
||||
|
||||
element.onchange = function(){
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: [storageID, element.checked]
|
||||
}).then((data) => {
|
||||
if(storageID === "globalStatus"){
|
||||
browser.runtime.sendMessage({
|
||||
function: "changeIcon",
|
||||
params: []
|
||||
}).catch(handleError);
|
||||
}
|
||||
changeVisibility(id, storageID);
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "saveOnExit",
|
||||
params: []
|
||||
}).catch(handleError);
|
||||
}).catch(handleError);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the visibility of sections.
|
||||
*/
|
||||
function changeVisibility(id, storageID)
|
||||
{
|
||||
let element;
|
||||
|
||||
switch(storageID)
|
||||
{
|
||||
case "loggingStatus":
|
||||
element = document.getElementById('log_section');
|
||||
break;
|
||||
case "statisticsStatus":
|
||||
element = document.getElementById('statistic_section');
|
||||
break;
|
||||
default:
|
||||
element = "undefine";
|
||||
}
|
||||
|
||||
if(element !== "undefine")
|
||||
{
|
||||
if(document.getElementById(id).checked)
|
||||
{
|
||||
element.style.display = '';
|
||||
element.style.display = '';
|
||||
}
|
||||
else {
|
||||
element.style.display = 'none';
|
||||
element.style.display = 'none';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} varname js internal variable name
|
||||
*/
|
||||
function setSwitchButton(id, varname)
|
||||
{
|
||||
const element = document.getElementById(id);
|
||||
element.checked = this[varname];
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds (or removes) the site the user is on to the whitelist
|
||||
* Whitelisted sites do not get filtered
|
||||
* @param {boolean} removeWl If true remove current site instead of adding
|
||||
*/
|
||||
function changeWhitelist(removeWl) {
|
||||
let site;
|
||||
browser.tabs.query({active: true, currentWindow: true}, function(tabs) { // Couldn't figure out how to access currentUrl var
|
||||
site = tabs[0].url; // So this is used instead
|
||||
});
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: ['whitelist']
|
||||
}).then((data) => {
|
||||
let siteUrl = new URL(site)
|
||||
let domain = siteUrl.hostname
|
||||
if (removeWl) {
|
||||
data.response = data.response.filter(wlSite => wlSite !== domain)
|
||||
} else {
|
||||
data.response.push(domain)
|
||||
}
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: ['whitelist', data.response]
|
||||
}).then(() => {
|
||||
setWhitelistText();
|
||||
}).catch(handleError);
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset the global statistic
|
||||
*/
|
||||
function resetGlobalCounter(){
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: ['cleanedCounter', 0]
|
||||
}).catch(handleError);
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: ['totalCounter', 0]
|
||||
}).catch(handleError);
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "saveOnExit",
|
||||
params: []
|
||||
}).catch(handleError);
|
||||
|
||||
cleanedCounter = 0;
|
||||
totalCounter = 0;
|
||||
|
||||
changeStatistics();
|
||||
}
|
||||
|
||||
(function() {
|
||||
loadData("cleanedCounter")
|
||||
.then(() => loadData("totalCounter"))
|
||||
.then(() => loadData("globalStatus"))
|
||||
.then(() => loadData("badgedStatus"))
|
||||
.then(() => loadData("hashStatus"))
|
||||
.then(() => loadData("loggingStatus"))
|
||||
.then(() => loadData("statisticsStatus"))
|
||||
.then(() => loadData("getCurrentURL", "currentURL"))
|
||||
.then(() => {
|
||||
init();
|
||||
document.getElementById('reset_counter_btn').onclick = resetGlobalCounter;
|
||||
changeSwitchButton("globalStatus", "globalStatus");
|
||||
changeSwitchButton("tabcounter", "badgedStatus");
|
||||
changeSwitchButton("logging", "loggingStatus");
|
||||
changeSwitchButton("statistics", "statisticsStatus");
|
||||
document.getElementById('loggingPage').href = browser.runtime.getURL('./html/log.html');
|
||||
document.getElementById('settings').href = browser.runtime.getURL('./html/settings.html');
|
||||
document.getElementById('cleaning_tools').href = browser.runtime.getURL('./html/cleaningTool.html');
|
||||
setText();
|
||||
});
|
||||
})();
|
||||
|
||||
/**
|
||||
* Set the text for the UI.
|
||||
*/
|
||||
function setText()
|
||||
{
|
||||
injectText('loggingPage','popup_html_log_head');
|
||||
injectText('reset_counter_btn','popup_html_statistics_reset_button');
|
||||
injectText('rules_status_head','popup_html_rules_status_head');
|
||||
injectText('statistics_percentage','popup_html_statistics_percentage');
|
||||
injectText('statistics_blocked','popup_html_statistics_blocked');
|
||||
injectText('statistics_elements','popup_html_statistics_elements');
|
||||
injectText('statistics_head','popup_html_statistics_head');
|
||||
injectText('configs_switch_badges','popup_html_configs_switch_badges');
|
||||
injectText('configs_switch_log','popup_html_configs_switch_log');
|
||||
injectText('configs_switch_filter','popup_html_configs_switch_filter');
|
||||
injectText('configs_head','popup_html_configs_head');
|
||||
injectText('configs_switch_statistics','configs_switch_statistics');
|
||||
setWhitelistText();
|
||||
document.getElementById('donate').title = translate('donate_button');
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to inject the translated text and tooltip.
|
||||
*
|
||||
* @param {string} id ID of the HTML element
|
||||
* @param {string} attribute Name of the attribute used for localization
|
||||
* @param {string} tooltip
|
||||
*/
|
||||
function injectText(id, attribute, tooltip = "")
|
||||
{
|
||||
const object = document.getElementById(id);
|
||||
object.textContent = translate(attribute);
|
||||
|
||||
/*
|
||||
This function will throw an error if no translation
|
||||
is found for the tooltip. This is a planned error.
|
||||
*/
|
||||
tooltip = translate(attribute+"_title");
|
||||
|
||||
if(tooltip !== "")
|
||||
{
|
||||
object.setAttribute('title', tooltip);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads data from storage and saves into local variable.
|
||||
*
|
||||
* @param name data name
|
||||
* @param varName variable name
|
||||
* @returns {Promise<data>} requested data
|
||||
*/
|
||||
async function loadData(name, varName=name) {
|
||||
return new Promise((resolve, reject) => {
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: [name]
|
||||
}).then(data => {
|
||||
this[varName] = data.response;
|
||||
resolve(data);
|
||||
}, handleError);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
}
|
||||
|
||||
function handleError(error) {
|
||||
console.log(`Error: ${error}`);
|
||||
}
|
||||
@@ -1,265 +0,0 @@
|
||||
var element = $("#statistics_value");
|
||||
var elGlobalPercentage = $("#statistics_value_global_percentage");
|
||||
var elProgressbar_blocked = $('#progress_blocked');
|
||||
var elProgressbar_non_blocked = $('#progress_non_blocked');
|
||||
var elTotal = $('#statistics_total_elements');
|
||||
var globalPercentage = 0;
|
||||
var globalCounter;
|
||||
var globalurlcounter;
|
||||
var globalStatus;
|
||||
var badgedStatus;
|
||||
var hashStatus;
|
||||
var loggingStatus;
|
||||
var statisticsStatus;
|
||||
var currentURL;
|
||||
var reportServer;
|
||||
|
||||
var core = function (func) {
|
||||
return browser.runtime.getBackgroundPage().then(func);
|
||||
};
|
||||
|
||||
function getData()
|
||||
{
|
||||
core(function (ref){
|
||||
globalCounter = ref.getData('globalCounter');
|
||||
globalurlcounter = ref.getData('globalurlcounter');
|
||||
globalStatus = ref.getData('globalStatus');
|
||||
badgedStatus = ref.getData('badgedStatus');
|
||||
hashStatus = ref.getData('hashStatus');
|
||||
loggingStatus = ref.getData('loggingStatus');
|
||||
statisticsStatus = ref.getData('statisticsStatus');
|
||||
currentURL = ref.getCurrentURL();
|
||||
reportServer = ref.getData('reportServer');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the UI.
|
||||
*
|
||||
*/
|
||||
function init()
|
||||
{
|
||||
setSwitchButton("globalStatus", "globalStatus");
|
||||
setSwitchButton("tabcounter", "badgedStatus");
|
||||
setSwitchButton("logging", "loggingStatus");
|
||||
setSwitchButton("statistics", "statisticsStatus");
|
||||
setHashStatus();
|
||||
changeStatistics();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the globalCounter value from the browser storage
|
||||
* @param {(data){} Return value form browser.storage.local.get
|
||||
*/
|
||||
function changeStatistics()
|
||||
{
|
||||
globalPercentage = ((globalCounter/globalurlcounter)*100).toFixed(3);
|
||||
|
||||
if(isNaN(Number(globalPercentage))) globalPercentage = 0;
|
||||
|
||||
element.text(globalCounter.toLocaleString());
|
||||
elGlobalPercentage.text(globalPercentage+"%");
|
||||
elProgressbar_blocked.css('width', globalPercentage+'%');
|
||||
elProgressbar_non_blocked.css('width', (100-globalPercentage)+'%');
|
||||
elTotal.text(globalurlcounter.toLocaleString());
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value for the hashStatus on startUp.
|
||||
*/
|
||||
function setHashStatus()
|
||||
{
|
||||
var element = $('#hashStatus');
|
||||
|
||||
if(hashStatus)
|
||||
{
|
||||
element.text(translate(hashStatus));
|
||||
}
|
||||
else {
|
||||
element.text(translate('hash_status_code_5'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} storageID storage internal id
|
||||
*/
|
||||
function changeSwitchButton(id, storageID)
|
||||
{
|
||||
var element = $('#'+id);
|
||||
|
||||
changeVisibility(id, storageID);
|
||||
|
||||
element.on('change', function(){
|
||||
core(function (ref){
|
||||
ref.setData(storageID, element.is(':checked'));
|
||||
if(storageID == "globalStatus") ref.changeIcon();
|
||||
changeVisibility(id, storageID);
|
||||
|
||||
ref.saveOnExit();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the visibility of sections.
|
||||
*/
|
||||
function changeVisibility(id, storageID)
|
||||
{
|
||||
var element;
|
||||
|
||||
switch(storageID)
|
||||
{
|
||||
case "loggingStatus":
|
||||
element = $('#log_section');
|
||||
break;
|
||||
case "statisticsStatus":
|
||||
element = $('#statistic_section');
|
||||
break;
|
||||
default:
|
||||
element = "undefine";
|
||||
}
|
||||
|
||||
if(element != "undefine")
|
||||
{
|
||||
if($('#'+id).is(':checked'))
|
||||
{
|
||||
element.css('display', '');
|
||||
element.css('display', '');
|
||||
}
|
||||
else {
|
||||
element.css('display', 'none');
|
||||
element.css('display', 'none');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} varname js internal variable name
|
||||
*/
|
||||
function setSwitchButton(id, varname)
|
||||
{
|
||||
var element = $('#'+id);
|
||||
element.prop('checked', this[varname]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset the global statistic
|
||||
*/
|
||||
function resetGlobalCounter(){
|
||||
core(function (ref){
|
||||
globalurlcounter = 0;
|
||||
globalCounter = 0;
|
||||
ref.setData('globalCounter', 0);
|
||||
ref.setData('globalurlcounter', 0);
|
||||
ref.saveOnExit();
|
||||
|
||||
changeStatistics();
|
||||
});
|
||||
}
|
||||
|
||||
if(!browser.extension.inIncognitoContext)
|
||||
{
|
||||
getData();
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
if(!browser.extension.inIncognitoContext)
|
||||
{
|
||||
init();
|
||||
$('#reset_counter_btn').on("click", resetGlobalCounter);
|
||||
changeSwitchButton("globalStatus", "globalStatus");
|
||||
changeSwitchButton("tabcounter", "badgedStatus");
|
||||
changeSwitchButton("logging", "loggingStatus");
|
||||
changeSwitchButton("statistics", "statisticsStatus");
|
||||
$('#loggingPage').attr('href', browser.extension.getURL('./html/log.html'));
|
||||
$('#settings').attr('href', browser.extension.getURL('./html/settings.html'));
|
||||
$('#reportButton').on("click", reportURL);
|
||||
setText();
|
||||
} else {
|
||||
$('#config_section').remove();
|
||||
$('#statistic_section').remove();
|
||||
$('#status_section').remove();
|
||||
$('#log_section').remove();
|
||||
$('#incognito').css('display', '');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* Set the text for the UI.
|
||||
*/
|
||||
function setText()
|
||||
{
|
||||
injectText('loggingPage','popup_html_log_head');
|
||||
injectText('reset_counter_btn','popup_html_statistics_reset_button');
|
||||
injectText('rules_status_head','popup_html_rules_status_head');
|
||||
injectText('statistics_percentage','popup_html_statistics_percentage');
|
||||
injectText('statistics_blocked','popup_html_statistics_blocked');
|
||||
injectText('statistics_elements','popup_html_statistics_elements');
|
||||
injectText('statistics_head','popup_html_statistics_head');
|
||||
injectText('configs_switch_badges','popup_html_configs_switch_badges');
|
||||
injectText('configs_switch_log','popup_html_configs_switch_log');
|
||||
injectText('configs_switch_filter','popup_html_configs_switch_filter');
|
||||
injectText('configs_head','popup_html_configs_head');
|
||||
injectText('configs_switch_statistics','configs_switch_statistics');
|
||||
injectText('reportButton', 'popup_html_report_button', true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to inject the translated text and tooltip.
|
||||
*
|
||||
* @param {string} id ID of the HTML element
|
||||
* @param {string} attribute Name of the attribute used for localization
|
||||
* @param {boolean} tooltip
|
||||
*/
|
||||
function injectText(id, attribute, tooltip)
|
||||
{
|
||||
object = $('#'+id);
|
||||
object.text(translate(attribute));
|
||||
|
||||
/*
|
||||
This function will throw an error if no translation
|
||||
is found for the tooltip. This is a planned error.
|
||||
*/
|
||||
tooltip = translate(attribute+"_title");
|
||||
|
||||
if(tooltip != "")
|
||||
{
|
||||
object.prop('title', tooltip);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send the url to the DB on clearurls.röb.it to checked for tracking fields.
|
||||
*/
|
||||
function reportURL()
|
||||
{
|
||||
$.ajax({
|
||||
url: reportServer+'/report_url.php?url='+encodeURI(currentURL),
|
||||
success: function(result) {
|
||||
BootstrapDialog.show({
|
||||
message: translate('success_report_url')
|
||||
});
|
||||
},
|
||||
error: function(result) {
|
||||
BootstrapDialog.show({
|
||||
message: translate('error_report_url')
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
71
core_js/pureCleaning.js
Normal file
71
core_js/pureCleaning.js
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
|
||||
/**
|
||||
* Cleans given URLs. Also do automatic redirection.
|
||||
*
|
||||
* @param {String} url url as string
|
||||
* @param {boolean} quiet if the action should be displayed in log and statistics
|
||||
* @return {String} cleaned URL
|
||||
*/
|
||||
function pureCleaning(url, quiet = false) {
|
||||
let before = url;
|
||||
let after = url;
|
||||
|
||||
do {
|
||||
before = after;
|
||||
after = _cleaning(before, quiet);
|
||||
} while (after !== before); // do recursive cleaning
|
||||
|
||||
return after;
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal function to clean the given URL.
|
||||
*/
|
||||
function _cleaning(url, quiet = false) {
|
||||
let cleanURL = url;
|
||||
const URLbeforeReplaceCount = countFields(url);
|
||||
|
||||
if (!quiet) {
|
||||
//Add Fields form Request to global url counter
|
||||
increaseTotalCounter(URLbeforeReplaceCount);
|
||||
}
|
||||
|
||||
for (let i = 0; i < providers.length; i++) {
|
||||
let result = {
|
||||
"changes": false,
|
||||
"url": "",
|
||||
"redirect": false,
|
||||
"cancel": false
|
||||
};
|
||||
|
||||
if (providers[i].matchURL(cleanURL)) {
|
||||
result = removeFieldsFormURL(providers[i], cleanURL, quiet);
|
||||
cleanURL = result.url;
|
||||
}
|
||||
|
||||
if (result.redirect) {
|
||||
return result.url;
|
||||
}
|
||||
}
|
||||
|
||||
return cleanURL;
|
||||
}
|
||||
@@ -1,105 +1,352 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var settings = [];
|
||||
|
||||
var core = function (func) {
|
||||
return browser.runtime.getBackgroundPage().then(func);
|
||||
};
|
||||
|
||||
getData();
|
||||
const pickr = Pickr.create({
|
||||
el: '#badged-color-picker',
|
||||
theme: 'nano',
|
||||
components: {
|
||||
preview: true,
|
||||
opacity: true,
|
||||
hue: true,
|
||||
default: '#FFA500',
|
||||
comparison: false,
|
||||
interaction: {
|
||||
hex: true,
|
||||
rgba: false,
|
||||
hsla: false,
|
||||
hsva: false,
|
||||
cmyk: false,
|
||||
input: true,
|
||||
clear: false,
|
||||
save: true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Load only when document is ready
|
||||
*/
|
||||
$(document).ready(function(){
|
||||
setText();
|
||||
$(".pick-a-color").pickAColor();
|
||||
$('#reset_settings_btn').on("click", reset);
|
||||
$('#save_settings_btn').on("click", save);
|
||||
|
||||
$("#badged_color input").on("change", function () {
|
||||
settings.badged_color = $(this).val();
|
||||
core(function (ref){
|
||||
ref.setData('badged_color', settings.badged_color);
|
||||
ref.setBadgedStatus();
|
||||
ref.saveOnExit();
|
||||
});
|
||||
* Load only when document is ready
|
||||
*/
|
||||
(function () {
|
||||
pickr.on('init', () => {
|
||||
getData();
|
||||
setText();
|
||||
document.getElementById('reset_settings_btn').onclick = reset;
|
||||
document.getElementById('export_settings_btn').onclick = exportSettings;
|
||||
document.getElementById('importSettings').onchange = importSettings;
|
||||
document.getElementById('save_settings_btn').onclick = save;
|
||||
});
|
||||
});
|
||||
})();
|
||||
|
||||
/**
|
||||
* Reset everything.
|
||||
* Set everthing to the default values.
|
||||
*/
|
||||
function reset()
|
||||
{
|
||||
core(function (ref){
|
||||
ref.initSettings();
|
||||
ref.saveOnExit();
|
||||
ref.reload();
|
||||
});
|
||||
function reset() {
|
||||
browser.runtime.sendMessage({
|
||||
function: "initSettings",
|
||||
params: []
|
||||
}).then(handleResponse, handleError);
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "saveOnExit",
|
||||
params: []
|
||||
}).then(handleResponse, handleError);
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "reload",
|
||||
params: []
|
||||
}).then(handleResponse, handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the settings.
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
core(function (ref){
|
||||
ref.setData('badged_color', $('input[name=badged_color]').val());
|
||||
ref.setBadgedStatus();
|
||||
ref.setData('ruleURL', $('input[name=rule_url]').val());
|
||||
ref.setData('hashURL', $('input[name=hash_url]').val());
|
||||
ref.setData('types', $('input[name=types]').val());
|
||||
ref.setData('reportServer', $('input[name=report_server]').val());
|
||||
ref.saveOnExit();
|
||||
ref.reload();
|
||||
});
|
||||
|
||||
location.reload();
|
||||
function save() {
|
||||
saveData("badged_color", pickr.getColor().toHEXA().toString())
|
||||
.then(() => saveData("ruleURL", document.querySelector('input[name=ruleURL]').value))
|
||||
.then(() => saveData("hashURL", document.querySelector('input[name=hashURL]').value))
|
||||
.then(() => saveData("whitelist", document.querySelector('input[name=whitelist]').value.split(',')))
|
||||
.then(() => saveData("types", document.querySelector('input[name=types]').value))
|
||||
.then(() => saveData("logLimit", Math.max(0, Math.min(5000, document.querySelector('input[name=logLimit]').value))))
|
||||
.then(() => browser.runtime.sendMessage({
|
||||
function: "setBadgedStatus",
|
||||
params: []
|
||||
}), handleError)
|
||||
.then(() => browser.runtime.sendMessage({
|
||||
function: "saveOnExit",
|
||||
params: []
|
||||
}), handleError)
|
||||
.then(() => browser.runtime.sendMessage({
|
||||
function: "reload",
|
||||
params: []
|
||||
}), handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
* @param {string[]} placeholders Array of placeholders
|
||||
*/
|
||||
function translate(string, ...placeholders) {
|
||||
return browser.i18n.getMessage(string, placeholders);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the data.
|
||||
*/
|
||||
function getData()
|
||||
{
|
||||
core(function (ref){
|
||||
settings.badged_color = ref.getData('badged_color');
|
||||
settings.rule_url = ref.getData('ruleURL');
|
||||
settings.hash_url = ref.getData('hashURL');
|
||||
settings.types = ref.getData('types');
|
||||
settings.reportServer = ref.getData('reportServer');
|
||||
function getData() {
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: ["badged_color"]
|
||||
}).then(data => {
|
||||
settings["badged_color"] = data.response;
|
||||
pickr.setColor(data.response, false);
|
||||
}).catch(handleError);
|
||||
|
||||
loadData("ruleURL")
|
||||
.then(() => loadData("hashURL"))
|
||||
.then(() => loadData("whitelist"))
|
||||
.then(() => loadData("types"))
|
||||
.then(() => loadData("logLimit"))
|
||||
.then(logData => {
|
||||
if (logData.response === undefined) {
|
||||
document.getElementById('logLimit_label').textContent = translate('setting_log_limit_label', "0");
|
||||
} else {
|
||||
document.getElementById('logLimit_label').textContent = translate('setting_log_limit_label', logData.response);
|
||||
}
|
||||
}).catch(handleError);
|
||||
|
||||
loadData("contextMenuEnabled")
|
||||
.then(() => loadData("historyListenerEnabled"))
|
||||
.then(() => loadData("localHostsSkipping"))
|
||||
.then(() => loadData("referralMarketing"))
|
||||
.then(() => loadData("domainBlocking"))
|
||||
.then(() => loadData("pingBlocking"))
|
||||
.then(() => loadData("eTagFiltering"))
|
||||
.then(() => {
|
||||
changeSwitchButton("localHostsSkipping", "localHostsSkipping");
|
||||
changeSwitchButton("historyListenerEnabled", "historyListenerEnabled");
|
||||
changeSwitchButton("contextMenuEnabled", "contextMenuEnabled");
|
||||
changeSwitchButton("referralMarketing", "referralMarketing");
|
||||
changeSwitchButton("domainBlocking", "domainBlocking");
|
||||
changeSwitchButton("pingBlocking", "pingBlocking");
|
||||
changeSwitchButton("eTagFiltering", "eTagFiltering");
|
||||
})
|
||||
.then(() => {
|
||||
/**
|
||||
* Since Firefox 85, eTags can no longer be
|
||||
* used for tracking users over multiple sites.
|
||||
*/
|
||||
browser.runtime.sendMessage({
|
||||
function: "getBrowser",
|
||||
params: []
|
||||
}).then(resp => {
|
||||
if(resp.response === "Firefox") {
|
||||
document.getElementById('etag_p').remove();
|
||||
}
|
||||
}, null);
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads data from storage and saves into local variable.
|
||||
*
|
||||
* @param name data/variable name
|
||||
* @returns {Promise<data>} requested data
|
||||
*/
|
||||
async function loadData(name) {
|
||||
return new Promise((resolve, reject) => {
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: [name]
|
||||
}).then(data => {
|
||||
settings[name] = data.response;
|
||||
if (document.querySelector('input[id=' + name + ']') == null) {
|
||||
console.debug(name)
|
||||
}
|
||||
document.querySelector('input[id=' + name + ']').value = data.response;
|
||||
resolve(data);
|
||||
}, handleError);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves data to storage.
|
||||
*
|
||||
* @param key key of the data that should be saved
|
||||
* @param data data that should be saved
|
||||
* @returns {Promise<message>} message from background script
|
||||
*/
|
||||
async function saveData(key, data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: [key, data]
|
||||
}).then(message => {
|
||||
handleResponse(message);
|
||||
resolve(message);
|
||||
}, handleError);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text for the UI.
|
||||
*/
|
||||
function setText()
|
||||
{
|
||||
function setText() {
|
||||
document.title = translate('settings_html_page_title');
|
||||
$('#page_title').text(translate('settings_html_page_title'));
|
||||
$('#badged_color_label').text(translate('badged_color_label'));
|
||||
$('input[name=badged_color]').val(settings.badged_color);
|
||||
$('#reset_settings_btn').text(translate('setting_html_reset_button'));
|
||||
$('#reset_settings_btn').prop('title', translate('setting_html_reset_button_title'));
|
||||
$('#rule_url_label').text(translate('setting_rule_url_label'));
|
||||
$('input[name=rule_url]').val(settings.rule_url);
|
||||
$('#hash_url_label').text(translate('setting_hash_url_label'));
|
||||
$('input[name=hash_url]').val(settings.hash_url);
|
||||
$('#types_label').html(translate('setting_types_label'));
|
||||
$('input[name=types]').val(settings.types);
|
||||
$('#save_settings_btn').text(translate('settings_html_save_button'));
|
||||
$('#save_settings_btn').prop('title', translate('settings_html_save_button_title'));
|
||||
$('#report_server_label').html(translate('setting_report_server_label'));
|
||||
$('input[name=report_server]').val(settings.reportServer);
|
||||
document.getElementById('page_title').textContent = translate('settings_html_page_title');
|
||||
document.getElementById('badged_color_label').textContent = translate('badged_color_label');
|
||||
document.getElementById('reset_settings_btn').textContent = translate('setting_html_reset_button');
|
||||
document.getElementById('reset_settings_btn').setAttribute('title', translate('setting_html_reset_button_title'));
|
||||
document.getElementById('rule_url_label').textContent = translate('setting_rule_url_label');
|
||||
document.getElementById('hash_url_label').textContent = translate('setting_hash_url_label');
|
||||
document.getElementById('whitelist_list_label').textContent = translate('setting_whitelist_list_label');
|
||||
document.getElementById('types_label').innerHTML = translate('setting_types_label');
|
||||
document.getElementById('save_settings_btn').textContent = translate('settings_html_save_button');
|
||||
document.getElementById('save_settings_btn').setAttribute('title', translate('settings_html_save_button_title'));
|
||||
injectText("context_menu_enabled", "context_menu_enabled");
|
||||
document.getElementById('history_listener_enabled').innerHTML = translate('history_listener_enabled');
|
||||
injectText("local_hosts_skipping", "local_hosts_skipping");
|
||||
document.getElementById('export_settings_btn_text').textContent = translate('setting_html_export_button');
|
||||
document.getElementById('export_settings_btn').setAttribute('title', translate('setting_html_export_button_title'));
|
||||
document.getElementById('import_settings_btn_text').textContent = translate('setting_html_import_button');
|
||||
document.getElementById('importSettings').setAttribute('title', translate('setting_html_import_button_title'));
|
||||
injectText("referral_marketing_enabled", "referral_marketing_enabled");
|
||||
injectText("domain_blocking_enabled", "domain_blocking_enabled");
|
||||
document.getElementById('ping_blocking_enabled').innerHTML = translate('ping_blocking_enabled');
|
||||
document.getElementById('ping_blocking_enabled').setAttribute('title', translate('ping_blocking_enabled_title'));
|
||||
document.getElementById('eTag_filtering_enabled').innerHTML = translate('eTag_filtering_enabled');
|
||||
document.getElementById('eTag_filtering_enabled').setAttribute('title', translate('eTag_filtering_enabled_title'));
|
||||
}
|
||||
|
||||
/**
|
||||
* This function exports all ClearURLs settings with statistics and rules.
|
||||
*/
|
||||
function exportSettings() {
|
||||
browser.runtime.sendMessage({
|
||||
function: "storageAsJSON",
|
||||
params: []
|
||||
}).then((data) => {
|
||||
let blob = new Blob([JSON.stringify(data.response)], {type: 'application/json'});
|
||||
|
||||
browser.downloads.download({
|
||||
'url': URL.createObjectURL(blob),
|
||||
'filename': 'ClearURLs.conf',
|
||||
'saveAs': true
|
||||
}).catch(handleError);
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function imports an exported ClearURLs setting and overwrites the old one.
|
||||
*/
|
||||
function importSettings(evt) {
|
||||
let file = evt.target.files[0];
|
||||
let fileReader = new FileReader();
|
||||
|
||||
fileReader.onload = function (e) {
|
||||
let data = JSON.parse(e.target.result);
|
||||
const length = Object.keys(data).length;
|
||||
let i = 0;
|
||||
|
||||
Object.entries(data).forEach(([key, value]) => {
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: [key, value]
|
||||
}).then(() => {
|
||||
i++;
|
||||
if (i === length) {
|
||||
location.reload();
|
||||
}
|
||||
}, handleError);
|
||||
});
|
||||
};
|
||||
fileReader.readAsText(file);
|
||||
}
|
||||
|
||||
function handleResponse(message) {
|
||||
console.log(`Message from the background script: ${message.response}`);
|
||||
}
|
||||
|
||||
function handleError(error) {
|
||||
console.log(`Error: ${error}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} storageID storage internal id
|
||||
*/
|
||||
function changeSwitchButton(id, storageID) {
|
||||
let element = document.getElementById(id);
|
||||
|
||||
element.onchange = function () {
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: [storageID, element.checked]
|
||||
}).then(() => {
|
||||
if (storageID === "globalStatus") {
|
||||
browser.runtime.sendMessage({
|
||||
function: "changeIcon",
|
||||
params: []
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "saveOnExit",
|
||||
params: []
|
||||
}).catch(handleError);
|
||||
}).catch(handleError);
|
||||
};
|
||||
setSwitchButton(id, storageID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to inject the translated text and tooltip.
|
||||
*
|
||||
* @param {string} id ID of the HTML element
|
||||
* @param {string} attribute Name of the attribute used for localization
|
||||
* @param {string} tooltip
|
||||
*/
|
||||
function injectText(id, attribute, tooltip = "") {
|
||||
let object = document.getElementById(id);
|
||||
object.textContent = translate(attribute);
|
||||
|
||||
/*
|
||||
This function will throw an error if no translation
|
||||
is found for the tooltip. This is a planned error.
|
||||
*/
|
||||
tooltip = translate(attribute + "_title");
|
||||
|
||||
if (tooltip !== "") {
|
||||
object.setAttribute('title', tooltip);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} varname js internal variable name
|
||||
*/
|
||||
function setSwitchButton(id, varname) {
|
||||
let element = document.getElementById(id);
|
||||
element.checked = settings[varname];
|
||||
}
|
||||
|
||||
51
core_js/siteBlockedAlert.js
Normal file
51
core_js/siteBlockedAlert.js
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for the blocked alert page.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Set the text for the UI.
|
||||
*/
|
||||
function setText()
|
||||
{
|
||||
document.title = translate('blocked_html_title');
|
||||
document.getElementById('title').innerHTML = translate('blocked_html_title');
|
||||
document.getElementById('body').innerHTML = translate('blocked_html_body');
|
||||
document.getElementById('page').textContent = translate('blocked_html_button');
|
||||
|
||||
}
|
||||
|
||||
(function() {
|
||||
setText();
|
||||
|
||||
const source = new URLSearchParams(window.location.search).get("source");
|
||||
document.getElementById('page').href = decodeURIComponent(source);
|
||||
})();
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
}
|
||||
311
core_js/storage.js
Normal file
311
core_js/storage.js
Normal file
@@ -0,0 +1,311 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for the storage.
|
||||
*/
|
||||
var storage = [];
|
||||
var hasPendingSaves = false;
|
||||
var pendingSaves = new Set();
|
||||
|
||||
/**
|
||||
* Writes the storage variable to the disk.
|
||||
*/
|
||||
function saveOnExit() {
|
||||
saveOnDisk(Object.keys(storage));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the storage as JSON.
|
||||
*/
|
||||
function storageAsJSON() {
|
||||
let json = {};
|
||||
|
||||
Object.entries(storage).forEach(([key, value]) => {
|
||||
json[key] = storageDataAsString(key);
|
||||
});
|
||||
|
||||
return json;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a given storage data to its string representation.
|
||||
* @param key key of the storage data
|
||||
* @returns {string} string representation
|
||||
*/
|
||||
function storageDataAsString(key) {
|
||||
let value = storage[key];
|
||||
|
||||
switch (key) {
|
||||
case "ClearURLsData":
|
||||
case "log":
|
||||
return JSON.stringify(value);
|
||||
case "types":
|
||||
return value.toString();
|
||||
default:
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete key from browser storage.
|
||||
*/
|
||||
function deleteFromDisk(key) {
|
||||
browser.storage.local.remove(key).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Save multiple keys on the disk.
|
||||
* @param {String[]} keys
|
||||
*/
|
||||
function saveOnDisk(keys) {
|
||||
let json = {};
|
||||
|
||||
keys.forEach(function (key) {
|
||||
json[key] = storageDataAsString(key);
|
||||
});
|
||||
|
||||
console.log(translate('core_save_on_disk'));
|
||||
browser.storage.local.set(json).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Schedule to save a key to disk in 30 seconds.
|
||||
* @param {String} key
|
||||
*/
|
||||
function deferSaveOnDisk(key) {
|
||||
if (hasPendingSaves) {
|
||||
pendingSaves.add(key);
|
||||
return;
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
saveOnDisk(Array.from(pendingSaves));
|
||||
pendingSaves.clear();
|
||||
hasPendingSaves = false;
|
||||
}, 30000);
|
||||
hasPendingSaves = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start sequence for ClearURLs.
|
||||
*/
|
||||
function genesis() {
|
||||
browser.storage.local.get(null).then((items) => {
|
||||
initStorage(items);
|
||||
|
||||
// Start the clearurls.js
|
||||
start();
|
||||
|
||||
//Set correct icon on startup
|
||||
changeIcon();
|
||||
|
||||
// Start the context_menu
|
||||
contextMenuStart();
|
||||
|
||||
// Start history listener
|
||||
historyListenerStart();
|
||||
}, handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the value under the key.
|
||||
* @param {String} key
|
||||
* @return {Object}
|
||||
*/
|
||||
function getData(key) {
|
||||
return storage[key];
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the entire storage object.
|
||||
* @return {Object}
|
||||
*/
|
||||
function getEntireData() {
|
||||
return storage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the value under the key on the RAM.
|
||||
*
|
||||
* Note: To store the data on the hard disk, one of
|
||||
* deferSaveOnDisk(), saveOnDisk(), or saveOnExit()
|
||||
* must be called.
|
||||
* @param {String} key
|
||||
* @param {Object} value
|
||||
*/
|
||||
function setData(key, value) {
|
||||
switch (key) {
|
||||
case "ClearURLsData":
|
||||
case "log":
|
||||
storage[key] = JSON.parse(value);
|
||||
break;
|
||||
case "hashURL":
|
||||
case "ruleURL":
|
||||
storage[key] = replaceOldURLs(value);
|
||||
break;
|
||||
case "types":
|
||||
storage[key] = value.split(',');
|
||||
break;
|
||||
case "logLimit":
|
||||
storage[key] = Math.max(0, Number(value));
|
||||
break;
|
||||
case "globalurlcounter":
|
||||
// migrate from old key
|
||||
storage["totalCounter"] = value;
|
||||
delete storage[key];
|
||||
deleteFromDisk(key);
|
||||
saveOnExit();
|
||||
break;
|
||||
case "globalCounter":
|
||||
// migrate from old key
|
||||
storage["cleanedCounter"] = value;
|
||||
delete storage[key];
|
||||
deleteFromDisk(key);
|
||||
saveOnExit();
|
||||
break;
|
||||
default:
|
||||
storage[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set default values, if the storage is empty.
|
||||
* @param {Object} items
|
||||
*/
|
||||
function initStorage(items) {
|
||||
initSettings();
|
||||
|
||||
if (!isEmpty(items)) {
|
||||
Object.entries(items).forEach(([key, value]) => {
|
||||
setData(key, value);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set default values for the settings.
|
||||
*/
|
||||
function initSettings() {
|
||||
storage.ClearURLsData = [];
|
||||
storage.dataHash = "";
|
||||
storage.badgedStatus = true;
|
||||
storage.globalStatus = true;
|
||||
storage.totalCounter = 0;
|
||||
storage.cleanedCounter = 0;
|
||||
storage.hashStatus = "error";
|
||||
storage.loggingStatus = false;
|
||||
storage.log = {"log": []};
|
||||
storage.statisticsStatus = true;
|
||||
storage.badged_color = "#ffa500";
|
||||
storage.hashURL = "https://rules2.clearurls.xyz/rules.minify.hash";
|
||||
storage.ruleURL = "https://rules2.clearurls.xyz/data.minify.json";
|
||||
storage.whitelist = []; // TODO: If we do whitelist per rule, this needs to be obj
|
||||
storage.contextMenuEnabled = true;
|
||||
storage.historyListenerEnabled = true;
|
||||
storage.localHostsSkipping = true;
|
||||
storage.referralMarketing = true;
|
||||
storage.logLimit = 100;
|
||||
storage.domainBlocking = true;
|
||||
storage.pingBlocking = true;
|
||||
storage.eTagFiltering = false;
|
||||
storage.watchDogErrorCount = 0;
|
||||
|
||||
if (getBrowser() === "Firefox") {
|
||||
storage.types = ["font", "image", "imageset", "main_frame", "media", "object", "object_subrequest", "other", "script", "stylesheet", "sub_frame", "websocket", "xml_dtd", "xmlhttprequest", "xslt"];
|
||||
storage.pingRequestTypes = ["ping", "beacon"];
|
||||
} else if (getBrowser() === "Chrome") {
|
||||
storage.types = ["main_frame", "sub_frame", "stylesheet", "script", "image", "font", "object", "xmlhttprequest", "ping", "csp_report", "media", "websocket", "other"];
|
||||
storage.pingRequestTypes = ["ping"];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace the old URLs with the
|
||||
* new GitLab URLs.
|
||||
*/
|
||||
function replaceOldURLs(url) {
|
||||
switch (url) {
|
||||
case "https://raw.githubusercontent.com/KevinRoebert/ClearUrls/master/data/rules.hash?flush_cache=true":
|
||||
return "https://kevinroebert.gitlab.io/ClearUrls/data/rules.minify.hash";
|
||||
case "https://raw.githubusercontent.com/KevinRoebert/ClearUrls/master/data/data.json?flush_cache=true":
|
||||
return "https://kevinroebert.gitlab.io/ClearUrls/data/data.minify.json";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/rules.hash":
|
||||
return "https://kevinroebert.gitlab.io/ClearUrls/data/rules.minify.hash";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.json":
|
||||
return "https://kevinroebert.gitlab.io/ClearUrls/data/data.minify.json";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/-/jobs/artifacts/master/raw/rules.min.hash?job=hash%20rules":
|
||||
return "https://kevinroebert.gitlab.io/ClearUrls/data/rules.minify.hash";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.min.json":
|
||||
return "https://kevinroebert.gitlab.io/ClearUrls/data/data.minify.json";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.minify.json":
|
||||
return "https://kevinroebert.gitlab.io/ClearUrls/data/data.minify.json";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/-/jobs/artifacts/master/raw/data.minify.json?job=hash%20rules":
|
||||
return "https://kevinroebert.gitlab.io/ClearUrls/data/data.minify.json";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/-/jobs/artifacts/master/raw/rules.minify.hash?job=hash%20rules":
|
||||
return "https://kevinroebert.gitlab.io/ClearUrls/data/rules.minify.hash";
|
||||
case "https://kevinroebert.gitlab.io/ClearUrls/data/data.minify.json":
|
||||
return "https://rules2.clearurls.xyz/data.minify.json";
|
||||
case "https://kevinroebert.gitlab.io/ClearUrls/data/rules.minify.hash":
|
||||
return "https://rules2.clearurls.xyz/rules.minify.hash";
|
||||
default:
|
||||
return url;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load local saved data, if the browser is offline or
|
||||
* some other network trouble.
|
||||
*/
|
||||
function loadOldDataFromStore() {
|
||||
localDataHash = storage.dataHash;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the hash status to the local storage (RAM).
|
||||
* The status can have the following values:
|
||||
* 1 "up to date"
|
||||
* 2 "updated"
|
||||
* 3 "update available"
|
||||
* @param status_code the number for the status
|
||||
*/
|
||||
function storeHashStatus(status_code) {
|
||||
switch (status_code) {
|
||||
case 1:
|
||||
status_code = "hash_status_code_1";
|
||||
break;
|
||||
case 2:
|
||||
status_code = "hash_status_code_2";
|
||||
break;
|
||||
case 3:
|
||||
status_code = "hash_status_code_3";
|
||||
break;
|
||||
case 5:
|
||||
status_code = "hash_status_code_5";
|
||||
break;
|
||||
case 4:
|
||||
default:
|
||||
status_code = "hash_status_code_4";
|
||||
}
|
||||
|
||||
storage.hashStatus = status_code;
|
||||
}
|
||||
|
||||
// Start storage and ClearURLs
|
||||
genesis();
|
||||
357
core_js/tools.js
Normal file
357
core_js/tools.js
Normal file
@@ -0,0 +1,357 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for some tools.
|
||||
*/
|
||||
|
||||
// Needed by the sha256 method
|
||||
const enc = new TextEncoder();
|
||||
|
||||
// Max amount of log entries to prevent performance issues
|
||||
const logThreshold = 5000;
|
||||
|
||||
/*
|
||||
* To support Waterfox.
|
||||
*/
|
||||
Array.prototype.rmEmpty = function () {
|
||||
return this.filter(v => v);
|
||||
};
|
||||
|
||||
/*
|
||||
* To support Waterfox.
|
||||
*/
|
||||
Array.prototype.flatten = function () {
|
||||
return this.reduce((a, b) => a.concat(b), []);
|
||||
};
|
||||
|
||||
/**
|
||||
* Check if an object is empty.
|
||||
* @param {Object} obj
|
||||
* @return {Boolean}
|
||||
*/
|
||||
function isEmpty(obj) {
|
||||
return (Object.getOwnPropertyNames(obj).length === 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
* @param {string[]} placeholders Array of placeholders
|
||||
*/
|
||||
function translate(string, ...placeholders) {
|
||||
return browser.i18n.getMessage(string, placeholders);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reloads the extension.
|
||||
*/
|
||||
function reload() {
|
||||
browser.runtime.reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if it is an android device.
|
||||
* @return bool
|
||||
*/
|
||||
async function checkOSAndroid() {
|
||||
if (os === undefined || os === null || os === "") {
|
||||
await chrome.runtime.getPlatformInfo(function (info) {
|
||||
os = info.os;
|
||||
});
|
||||
}
|
||||
|
||||
return os === "android";
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract the host without port from an url.
|
||||
* @param {URL} url URL as String
|
||||
* @return {String} host as string
|
||||
*/
|
||||
function extractHost(url) {
|
||||
return url.hostname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the url has a local host.
|
||||
* @param {URL} url URL as object
|
||||
* @return {boolean}
|
||||
*/
|
||||
function checkLocalURL(url) {
|
||||
let host = extractHost(url);
|
||||
|
||||
if (!host.match(/^\d/) && host !== 'localhost') {
|
||||
return false;
|
||||
}
|
||||
|
||||
return ipRangeCheck(host, ["10.0.0.0/8", "172.16.0.0/12",
|
||||
"192.168.0.0/16", "100.64.0.0/10",
|
||||
"169.254.0.0/16", "127.0.0.1"]) ||
|
||||
host === 'localhost';
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of parameters query strings.
|
||||
* @param {String} url URL as String
|
||||
* @return {int} Number of Parameters
|
||||
*/
|
||||
function countFields(url) {
|
||||
return [...new URL(url).searchParams].length
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract the fragments from an url.
|
||||
* @param {URL} url URL as object
|
||||
* @return {URLHashParams} fragments as URLSearchParams object
|
||||
*/
|
||||
function extractFragments(url) {
|
||||
return new URLHashParams(url)
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the given URL without searchParams and hash.
|
||||
* @param {URL} url the URL as object
|
||||
* @return {URL} the url without searchParams and hash
|
||||
*/
|
||||
function urlWithoutParamsAndHash(url) {
|
||||
let newURL = url.toString();
|
||||
|
||||
if (url.search) {
|
||||
newURL = newURL.replace(url.search, "");
|
||||
}
|
||||
|
||||
if (url.hash) {
|
||||
newURL = newURL.replace(url.hash, "");
|
||||
}
|
||||
|
||||
return new URL(newURL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load local saved data, if the browser is offline or
|
||||
* some other network trouble.
|
||||
*/
|
||||
function loadOldDataFromStore() {
|
||||
localDataHash = storage.dataHash;
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase by {number} the total counter
|
||||
* @param {int} number
|
||||
*/
|
||||
function increaseTotalCounter(number) {
|
||||
if (storage.statisticsStatus) {
|
||||
storage.totalCounter += number;
|
||||
deferSaveOnDisk('totalCounter');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase by one the cleaned counter
|
||||
*/
|
||||
function increaseCleanedCounter() {
|
||||
if (storage.statisticsStatus) {
|
||||
storage.cleanedCounter++;
|
||||
deferSaveOnDisk('cleanedCounter');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the icon.
|
||||
*/
|
||||
function changeIcon() {
|
||||
checkOSAndroid().then((res) => {
|
||||
if (!res) {
|
||||
if (storage.globalStatus) {
|
||||
browser.browserAction.setIcon({path: "img/clearurls_128x128.png"}).catch(handleError);
|
||||
} else {
|
||||
browser.browserAction.setIcon({path: "img/clearurls_gray_128x128.png"}).catch(handleError);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the badged status from the browser storage and put the value
|
||||
* into a local variable.
|
||||
*
|
||||
*/
|
||||
function setBadgedStatus() {
|
||||
checkOSAndroid().then((res) => {
|
||||
if (!res && storage.badgedStatus) {
|
||||
let color = storage.badged_color;
|
||||
if (storage.badged_color.charAt(0) !== '#')
|
||||
color = '#' + storage.badged_color;
|
||||
browser.browserAction.setBadgeBackgroundColor({
|
||||
'color': color
|
||||
}).catch(handleError);
|
||||
|
||||
// Works only in Firefox: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/browserAction/setBadgeTextColor#Browser_compatibility
|
||||
if (getBrowser() === "Firefox") {
|
||||
browser.browserAction.setBadgeTextColor({
|
||||
color: "#FFFFFF"
|
||||
}).catch(handleError);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current URL.
|
||||
* @return {String} [description]
|
||||
*/
|
||||
function getCurrentURL() {
|
||||
return currentURL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check for browser.
|
||||
*/
|
||||
function getBrowser() {
|
||||
if (typeof InstallTrigger !== 'undefined') {
|
||||
return "Firefox";
|
||||
} else {
|
||||
return "Chrome";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Decodes an URL, also one that is encoded multiple times.
|
||||
*
|
||||
* @see https://stackoverflow.com/a/38265168
|
||||
*
|
||||
* @param url the url, that should be decoded
|
||||
*/
|
||||
function decodeURL(url) {
|
||||
let rtn = decodeURIComponent(url);
|
||||
|
||||
while (isEncodedURI(rtn)) {
|
||||
rtn = decodeURIComponent(rtn);
|
||||
}
|
||||
|
||||
// Required (e.g., to fix https://github.com/ClearURLs/Addon/issues/71)
|
||||
if (!rtn.startsWith('http')) {
|
||||
rtn = 'http://' + rtn
|
||||
}
|
||||
|
||||
return rtn;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true, iff the given URI is encoded
|
||||
* @see https://stackoverflow.com/a/38265168
|
||||
*/
|
||||
function isEncodedURI(uri) {
|
||||
return uri !== decodeURIComponent(uri || '')
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value of at `key` an object. If the resolved value is `undefined`, the `defaultValue` is returned in its place.
|
||||
*
|
||||
* @param {string} key the key of the object
|
||||
* @param {object} defaultValue the default value
|
||||
*/
|
||||
Object.prototype.getOrDefault = function (key, defaultValue) {
|
||||
return this[key] === undefined ? defaultValue : this[key];
|
||||
};
|
||||
|
||||
function handleError(error) {
|
||||
console.error("[ClearURLs ERROR]:" + error);
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to log all activities from ClearUrls.
|
||||
* Only logging when activated.
|
||||
*
|
||||
* @param beforeProcessing the url before the clear process
|
||||
* @param afterProcessing the url after the clear process
|
||||
* @param rule the rule that triggered the process
|
||||
*/
|
||||
function pushToLog(beforeProcessing, afterProcessing, rule) {
|
||||
const limit = Math.max(0, storage.logLimit);
|
||||
if (storage.loggingStatus && limit !== 0 && !isNaN(limit)) {
|
||||
while (storage.log.log.length >= limit
|
||||
|| storage.log.log.length >= logThreshold) {
|
||||
storage.log.log.shift();
|
||||
}
|
||||
|
||||
storage.log.log.push(
|
||||
{
|
||||
"before": beforeProcessing,
|
||||
"after": afterProcessing,
|
||||
"rule": rule,
|
||||
"timestamp": Date.now()
|
||||
}
|
||||
);
|
||||
deferSaveOnDisk('log');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the storage is available.
|
||||
*/
|
||||
function isStorageAvailable() {
|
||||
return storage.ClearURLsData.length !== 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method calculates the SHA-256 hash as HEX string of the given message.
|
||||
* This method uses the native hashing implementations of the SubtleCrypto interface which is supported by all browsers
|
||||
* that implement the Web Cryptography API specification and is based on:
|
||||
* https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest
|
||||
*
|
||||
* @param message message for which the hash should be calculated
|
||||
* @returns {Promise<string>} SHA-256 of the given message
|
||||
*/
|
||||
async function sha256(message) {
|
||||
const msgUint8 = enc.encode(message);
|
||||
const hashBuffer = await crypto.subtle.digest('SHA-256', msgUint8);
|
||||
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
||||
|
||||
return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a non-secure random ASCII string of length {@code len}.
|
||||
*
|
||||
* @returns non-secure random ASCII
|
||||
*/
|
||||
function randomASCII(len) {
|
||||
return [...Array(len)].map(() => (~~(Math.random() * 36)).toString(36)).join('');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an URLSearchParams as string.
|
||||
* Does handle spaces correctly.
|
||||
*/
|
||||
function urlSearchParamsToString(searchParams) {
|
||||
const rtn = []
|
||||
|
||||
searchParams.forEach((value, key) => {
|
||||
if (value) {
|
||||
rtn.push(key + '=' + encodeURIComponent(value))
|
||||
} else {
|
||||
rtn.push(key)
|
||||
}
|
||||
})
|
||||
|
||||
return rtn.join('&')
|
||||
}
|
||||
21
core_js/utils/Multimap.d.ts
vendored
Normal file
21
core_js/utils/Multimap.d.ts
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Models a multimap backed by a {@link Set}.
|
||||
*/
|
||||
export default class Multimap<K, V> implements Iterable<[K, V]> {
|
||||
private _map;
|
||||
private _size;
|
||||
constructor();
|
||||
get size(): number;
|
||||
get(key: K): Set<V>;
|
||||
put(key: K, value: V): boolean;
|
||||
has(key: K): boolean;
|
||||
hasEntry(key: K, value: V): boolean;
|
||||
delete(key: K): boolean;
|
||||
deleteEntry(key: K, value: V): boolean;
|
||||
clear(): void;
|
||||
entries(): IterableIterator<[K, V]>;
|
||||
values(): IterableIterator<V>;
|
||||
keys(): IterableIterator<K>;
|
||||
forEach<T>(callback: (this: T | this, key: K, value: V, map: this) => void, thisArg?: T): void;
|
||||
[Symbol.iterator](): IterableIterator<[K, V]>;
|
||||
}
|
||||
130
core_js/utils/Multimap.js
Normal file
130
core_js/utils/Multimap.js
Normal file
@@ -0,0 +1,130 @@
|
||||
"use strict";
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2022 Kevin Röbert.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Models a multimap backed by a {@link Set}.
|
||||
*/
|
||||
class Multimap {
|
||||
constructor() {
|
||||
Object.defineProperty(this, "_map", {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
writable: true,
|
||||
value: void 0
|
||||
});
|
||||
Object.defineProperty(this, "_size", {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
writable: true,
|
||||
value: void 0
|
||||
});
|
||||
this._size = 0;
|
||||
this._map = new Map();
|
||||
}
|
||||
get size() {
|
||||
return this._size;
|
||||
}
|
||||
get(key) {
|
||||
const values = this._map.get(key);
|
||||
if (values) {
|
||||
return new Set(values);
|
||||
}
|
||||
else {
|
||||
return new Set();
|
||||
}
|
||||
}
|
||||
put(key, value) {
|
||||
let values = this._map.get(key);
|
||||
if (!values) {
|
||||
values = new Set();
|
||||
}
|
||||
const count = values.size;
|
||||
values.add(value);
|
||||
if (values.size === count) {
|
||||
return false;
|
||||
}
|
||||
this._map.set(key, values);
|
||||
this._size++;
|
||||
return true;
|
||||
}
|
||||
has(key) {
|
||||
return this._map.has(key);
|
||||
}
|
||||
hasEntry(key, value) {
|
||||
const values = this._map.get(key);
|
||||
if (!values) {
|
||||
return false;
|
||||
}
|
||||
return values.has(value);
|
||||
}
|
||||
delete(key) {
|
||||
const values = this._map.get(key);
|
||||
if (values && this._map.delete(key)) {
|
||||
this._size -= values.size;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
deleteEntry(key, value) {
|
||||
const values = this._map.get(key);
|
||||
if (values) {
|
||||
if (!values.delete(value)) {
|
||||
return false;
|
||||
}
|
||||
this._size--;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
clear() {
|
||||
this._map.clear();
|
||||
this._size = 0;
|
||||
}
|
||||
entries() {
|
||||
const self = this;
|
||||
function* gen() {
|
||||
for (const [key, values] of self._map.entries()) {
|
||||
for (const value of values) {
|
||||
yield [key, value];
|
||||
}
|
||||
}
|
||||
}
|
||||
return gen();
|
||||
}
|
||||
values() {
|
||||
const self = this;
|
||||
function* gen() {
|
||||
for (const [, value] of self.entries()) {
|
||||
yield value;
|
||||
}
|
||||
}
|
||||
return gen();
|
||||
}
|
||||
keys() {
|
||||
return this._map.keys();
|
||||
}
|
||||
forEach(callback, thisArg) {
|
||||
for (const [key, value] of this.entries()) {
|
||||
callback.call(thisArg === undefined ? this : thisArg, key, value, this);
|
||||
}
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this.entries();
|
||||
}
|
||||
}
|
||||
13
core_js/utils/URLHashParams.d.ts
vendored
Normal file
13
core_js/utils/URLHashParams.d.ts
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
* Models a hash parameter of a given {@link URL}.
|
||||
*/
|
||||
export default class URLHashParams {
|
||||
private _params;
|
||||
constructor(url: URL);
|
||||
append(name: string, value?: string | null): void;
|
||||
delete(name: string): void;
|
||||
get(name: string): string | null;
|
||||
getAll(name: string): Set<string | null>;
|
||||
keys(): IterableIterator<string>;
|
||||
toString(): string;
|
||||
}
|
||||
77
core_js/utils/URLHashParams.js
Normal file
77
core_js/utils/URLHashParams.js
Normal file
@@ -0,0 +1,77 @@
|
||||
"use strict";
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2022 Kevin Röbert.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Models a hash parameter of a given {@link URL}.
|
||||
*/
|
||||
class URLHashParams {
|
||||
constructor(url) {
|
||||
Object.defineProperty(this, "_params", {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
writable: true,
|
||||
value: void 0
|
||||
});
|
||||
this._params = new Multimap();
|
||||
const hash = url.hash.slice(1);
|
||||
const params = hash.split('&');
|
||||
for (const p of params) {
|
||||
const param = p.split('=');
|
||||
if (!param[0])
|
||||
continue;
|
||||
const key = param[0];
|
||||
let value = null;
|
||||
if (param.length === 2 && param[1]) {
|
||||
value = param[1];
|
||||
}
|
||||
this._params.put(key, value);
|
||||
}
|
||||
}
|
||||
append(name, value = null) {
|
||||
this._params.put(name, value);
|
||||
}
|
||||
delete(name) {
|
||||
this._params.delete(name);
|
||||
}
|
||||
get(name) {
|
||||
const [first] = this._params.get(name);
|
||||
if (first) {
|
||||
return first;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
getAll(name) {
|
||||
return this._params.get(name);
|
||||
}
|
||||
keys() {
|
||||
return this._params.keys();
|
||||
}
|
||||
toString() {
|
||||
const rtn = [];
|
||||
this._params.forEach((key, value) => {
|
||||
if (value) {
|
||||
rtn.push(key + '=' + value);
|
||||
}
|
||||
else {
|
||||
rtn.push(key);
|
||||
}
|
||||
});
|
||||
return rtn.join('&');
|
||||
}
|
||||
}
|
||||
43
core_js/watchdog.js
Normal file
43
core_js/watchdog.js
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible to check in fixed intervals, that ClearURLs works properly.
|
||||
* In issue #203, some users reported, that ClearURLs filter function doesn't work after
|
||||
* some time, but without any recognizable reason.
|
||||
*
|
||||
* This watchdog restarts the whole Add-on, when the check fails.
|
||||
*/
|
||||
const CHECK_INTERVAL = 60000;
|
||||
const __dirtyURL = "https://clearurls.roebert.eu?utm_source=addon";
|
||||
const __cleanURL = new URL("https://clearurls.roebert.eu").toString();
|
||||
|
||||
setInterval(function() {
|
||||
if(isStorageAvailable() && storage.globalStatus) {
|
||||
if(new URL(pureCleaning(__dirtyURL, true)).toString() !== __cleanURL) {
|
||||
storage.watchDogErrorCount += 1;
|
||||
console.log(translate('watchdog', storage.watchDogErrorCount));
|
||||
saveOnExit();
|
||||
if(storage.watchDogErrorCount < 3) reload();
|
||||
} else if(storage.watchDogErrorCount > 0){
|
||||
storage.watchDogErrorCount = 0;
|
||||
saveOnExit();
|
||||
}
|
||||
}
|
||||
}, CHECK_INTERVAL);
|
||||
@@ -1,6 +1,24 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file writes only the version into every page.
|
||||
* @return version
|
||||
*/
|
||||
var version = browser.runtime.getManifest().version;
|
||||
$('#version').text(version);
|
||||
const version = browser.runtime.getManifest().version;
|
||||
document.getElementById('version').textContent = version;
|
||||
|
||||
66
core_js/yandex_link_fix.js
Normal file
66
core_js/yandex_link_fix.js
Normal file
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Based on:
|
||||
* Remove Google Redirection
|
||||
* https://github.com/kodango/Remove-Google-Redirection/blob/master/extension/chrome/remove-google-redirection.user.js
|
||||
* Copyright (c) 2017 kodango
|
||||
* MIT License: https://github.com/kodango/Remove-Google-Redirection/blob/master/LICENSE
|
||||
*/
|
||||
(function (window) {
|
||||
"use strict";
|
||||
|
||||
function injectFunction() {
|
||||
let ele = document.createElement('script');
|
||||
let s = document.getElementsByTagName('script')[0];
|
||||
|
||||
ele.type = 'text/javascript';
|
||||
ele.textContent = "Object.defineProperty(window, '_borschik', {" +
|
||||
" value: function() { return false; }," +
|
||||
" writable: false," +
|
||||
" configurable: false" +
|
||||
"});";
|
||||
|
||||
s.parentNode.insertBefore(ele, s);
|
||||
}
|
||||
|
||||
/*
|
||||
* The main entry
|
||||
*/
|
||||
function main() {
|
||||
injectFunction();
|
||||
|
||||
document.addEventListener('mouseover', function (event) {
|
||||
let a = event.target, depth = 1;
|
||||
|
||||
while (a && a.tagName !== 'A' && depth-- > 0) {
|
||||
a = a.parentNode;
|
||||
}
|
||||
|
||||
if (a && a.tagName === 'A') {
|
||||
try {
|
||||
a.removeAttribute('data-counter');
|
||||
delete a.dataset.cthref;
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
main();
|
||||
})(window);
|
||||
1
css/bootstrap-dialog.min.css
vendored
1
css/bootstrap-dialog.min.css
vendored
@@ -1 +0,0 @@
|
||||
.bootstrap-dialog .modal-header{border-top-left-radius:4px;border-top-right-radius:4px}.bootstrap-dialog .bootstrap-dialog-title{color:#fff;display:inline-block;font-size:16px}.bootstrap-dialog .bootstrap-dialog-message{font-size:14px}.bootstrap-dialog .bootstrap-dialog-button-icon{margin-right:3px}.bootstrap-dialog .bootstrap-dialog-close-button{font-size:20px;float:right;opacity:.9;filter:alpha(opacity=90)}.bootstrap-dialog .bootstrap-dialog-close-button:hover{cursor:pointer;opacity:1;filter:alpha(opacity=100)}.bootstrap-dialog.type-default .modal-header{background-color:#fff}.bootstrap-dialog.type-default .bootstrap-dialog-title{color:#333}.bootstrap-dialog.type-info .modal-header{background-color:#5bc0de}.bootstrap-dialog.type-primary .modal-header{background-color:#337ab7}.bootstrap-dialog.type-success .modal-header{background-color:#5cb85c}.bootstrap-dialog.type-warning .modal-header{background-color:#f0ad4e}.bootstrap-dialog.type-danger .modal-header{background-color:#d9534f}.bootstrap-dialog.size-large .bootstrap-dialog-title{font-size:24px}.bootstrap-dialog.size-large .bootstrap-dialog-close-button{font-size:30px}.bootstrap-dialog.size-large .bootstrap-dialog-message{font-size:18px}.bootstrap-dialog .icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}
|
||||
9
css/bootstrap.min.css
vendored
9
css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
94
css/core.css
94
css/core.css
@@ -1,16 +1,98 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
:root {
|
||||
--page-bg-color: #fff;
|
||||
--page-fg-color: #15141a;
|
||||
|
||||
--input-bg-color: #fff;
|
||||
--input-border-color: #8f8F9d;
|
||||
--input-fg-color: #15141a;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--page-bg-color: #23222b;
|
||||
--page-fg-color: #fbfbfe;
|
||||
|
||||
--input-bg-color: #42414d;
|
||||
--input-border-color: #8f8F9d;
|
||||
--input-fg-color: #fbfbfe;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 13px;
|
||||
background-color: var(--page-bg-color);
|
||||
color: var(--page-fg-color);
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
table {
|
||||
color: var(--page-fg-color) !important;
|
||||
}
|
||||
|
||||
.form-control,
|
||||
.form-control:disabled,
|
||||
.form-control:focus,
|
||||
.form-control[readonly] {
|
||||
background-color: var(--input-bg-color);
|
||||
border: solid 1px var(--input-border-color);
|
||||
color: var(--input-fg-color);
|
||||
}
|
||||
|
||||
.small-version {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.navbar-header {
|
||||
margin-top: 0;
|
||||
margin-bottom: 8px;
|
||||
.brand {
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.col-sm-1 {
|
||||
margin-top: -10px;
|
||||
.navbar-margin {
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#donate {
|
||||
transition: 0.3s;
|
||||
opacity: 0.8;
|
||||
color: #ffa500;
|
||||
}
|
||||
|
||||
#donate:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color: #333;
|
||||
background-color: #fff;
|
||||
border-color: #ccc
|
||||
}
|
||||
|
||||
.btn-default.focus,
|
||||
.btn-default:focus {
|
||||
color: #333;
|
||||
background-color: #e6e6e6;
|
||||
border-color: #8c8c8c
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: #333;
|
||||
background-color: #e6e6e6;
|
||||
border-color: #adadad
|
||||
}
|
||||
1
css/dataTables.bootstrap.min.css
vendored
1
css/dataTables.bootstrap.min.css
vendored
@@ -1 +0,0 @@
|
||||
table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:75px;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:8px;right:8px;display:block;font-family:'Glyphicons Halflings';opacity:0.5}table.dataTable thead .sorting:after{opacity:0.2;content:"\e150"}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody>table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody>table>thead .sorting:after,div.dataTables_scrollBody>table>thead .sorting_asc:after,div.dataTables_scrollBody>table>thead .sorting_desc:after{display:none}div.dataTables_scrollBody>table>tbody>tr:first-child>th,div.dataTables_scrollBody>table>tbody>tr:first-child>td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-condensed>thead>tr>th{padding-right:20px}table.dataTable.table-condensed .sorting:after,table.dataTable.table-condensed .sorting_asc:after,table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0}
|
||||
15
css/datatables.min.css
vendored
Normal file
15
css/datatables.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
86
css/pick-a-color-1.2.3.min.css
vendored
86
css/pick-a-color-1.2.3.min.css
vendored
@@ -1,86 +0,0 @@
|
||||
|
||||
.pick-a-color-markup *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
|
||||
.pick-a-color-markup .hex-pound{padding-left:8px;padding-right:8px}@media screen and (max-width:991px){.pick-a-color-markup .hex-pound{padding:3px 5px 0px 5px;min-height:30px}}
|
||||
.pick-a-color-markup .pick-a-color{padding:5px}@media screen and (max-width:991px){.pick-a-color-markup .pick-a-color{width:100%;font-size:18px;padding:9px;min-width:222px;height:47px}}
|
||||
.pick-a-color-markup .input-group-btn .color-dropdown{padding:6px 5px}.pick-a-color-markup .input-group-btn .color-dropdown.no-hex{border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .input-group-btn .color-dropdown:focus{background-color:#fff}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .input-group-btn .color-dropdown{height:47px}}
|
||||
.pick-a-color-markup .color-preview{border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 0 2px 2px rgba(0,0,0,0.075);box-shadow:inset 0 0 2px 2px rgba(0,0,0,0.075);height:1.429em;width:1.429em;display:inline-block;cursor:pointer;margin-right:5px}.pick-a-color-markup .color-preview.current-color{margin-bottom:-5px}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .color-preview{height:1.875em;width:1.875em}}
|
||||
.pick-a-color-markup .color-menu{text-align:left;padding:5px 0px;width:330px;font-size:14px;left:auto;}.pick-a-color-markup .color-menu.color-menu--inline{left:-285px}@media screen and (max-width:991px){.pick-a-color-markup .color-menu.color-menu--inline{left:-242px}}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .color-menu{left:-242px;width:293px}}.pick-a-color-markup .color-menu.small{width:100px}@media screen and (max-width:991px){.pick-a-color-markup .color-menu.small{left:-105px}}
|
||||
.pick-a-color-markup .color-menu.no-hex{left:0px}
|
||||
.pick-a-color-markup .color-menu ul{padding:0px;margin:0px}
|
||||
.pick-a-color-markup .color-menu li{list-style-type:none;padding:5px 0px;margin:0px}
|
||||
.pick-a-color-markup .color-menu .color-preview{vertical-align:middle;margin:0px}@media screen and (max-width:991px){.pick-a-color-markup .color-menu .color-preview{height:35px;width:35px}}.pick-a-color-markup .color-menu .color-preview.current-color,.pick-a-color-markup .color-menu .color-preview.white{background-color:#fff}
|
||||
.pick-a-color-markup .color-menu .color-preview.red{background-color:#f00}
|
||||
.pick-a-color-markup .color-menu .color-preview.orange{background-color:#f60}
|
||||
.pick-a-color-markup .color-menu .color-preview.yellow{background-color:#ff0}
|
||||
.pick-a-color-markup .color-menu .color-preview.green{background-color:#008000}
|
||||
.pick-a-color-markup .color-menu .color-preview.blue{background-color:#00f}
|
||||
.pick-a-color-markup .color-menu .color-preview.indigo{background-color:#4a0080}
|
||||
.pick-a-color-markup .color-menu .color-preview.violet{background-color:#ee81ee}
|
||||
.pick-a-color-markup .color-menu .color-preview.purple{background-color:#80007f}
|
||||
.pick-a-color-markup .color-menu .color-preview.black{background-color:#000}
|
||||
.pick-a-color-markup .color-menu .basicColors-content li>a,.pick-a-color-markup .color-menu .savedColors-content li>a{padding:5px 15px 3px 15px;cursor:default;min-height:25px;color:#333}.pick-a-color-markup .color-menu .basicColors-content li>a:hover,.pick-a-color-markup .color-menu .savedColors-content li>a:hover{background-color:#fff}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .color-menu .basicColors-content li>a,.pick-a-color-markup .color-menu .savedColors-content li>a{min-height:40px}}
|
||||
.pick-a-color-markup .color-menu .basicColors-content li:hover a,.pick-a-color-markup .color-menu .savedColors-content li:hover a{color:#333;background-image:none;filter:none;text-decoration:none;font-weight:bold}@media screen and (max-width:991px){.pick-a-color-markup .color-menu .basicColors-content li:hover a,.pick-a-color-markup .color-menu .savedColors-content li:hover a{background-color:#fff;font-weight:normal}}
|
||||
.pick-a-color-markup .color-menu .btn.color-select{margin:0px 5px;height:20px;padding:0px 5px;margin-top:0px;line-height:1.5px;border-radius:4px}@media screen and (max-width:991px){.pick-a-color-markup .color-menu .btn.color-select{height:35px}}
|
||||
.pick-a-color-markup .caret{margin-bottom:3px}
|
||||
.pick-a-color-markup .color-menu-instructions,.pick-a-color-markup .advanced-instructions{text-align:center;padding:0px 6px;margin:0px;font-size:14px;font-weight:normal}@media screen and (min-width:992px){.pick-a-color-markup .color-menu-instructions,.pick-a-color-markup .advanced-instructions{display:none}}
|
||||
.pick-a-color-markup .color-label{vertical-align:middle;margin:0px;margin-left:10px;cursor:pointer}@media screen and (max-width:991px){.pick-a-color-markup .color-label{margin-left:8px}}
|
||||
.pick-a-color-markup .color-box{height:20px;width:200px;position:absolute;left:115px;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 0 2px 2px rgba(0,0,0,0.075);box-shadow:inset 0 0 2px 2px rgba(0,0,0,0.075);cursor:pointer}@media screen and (max-width:991px){.pick-a-color-markup .color-box{width:160px;height:35px}}
|
||||
.pick-a-color-markup .black .highlight-band-stripe{background-color:#fff}
|
||||
.pick-a-color-markup .spectrum-white{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#fff), to(#808080));background-image:-webkit-linear-gradient(left, color-stop(#fff 0), color-stop(#808080 100%));background-image:-moz-linear-gradient(left, #fff 0, #808080 100%);background-image:linear-gradient(to right, #fff 0, #808080 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ff808080', GradientType=1)}.pick-a-color-markup .spectrum-white .highlight-band{left:0px}
|
||||
.pick-a-color-markup .spectrum-red{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(.5, #f00), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #fff 0, #f00 50%, #000 100%);background-image:-webkit-linear-gradient(left, #fff 0, #f00 50%, #000 100%);background-image:-o-linear-gradient(left, #fff 0, #f00 50%, #000 100%);background-image:linear-gradient(to right, #fff 0, #f00 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-orange{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(.5, #f60), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #fff 0, #f60 50%, #000 100%);background-image:-webkit-linear-gradient(left, #fff 0, #f60 50%, #000 100%);background-image:-o-linear-gradient(left, #fff 0, #f60 50%, #000 100%);background-image:linear-gradient(to right, #fff 0, #f60 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-yellow{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(.5, #ff0), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #fff 0, #ff0 50%, #000 100%);background-image:-webkit-linear-gradient(left, #fff 0, #ff0 50%, #000 100%);background-image:-o-linear-gradient(left, #fff 0, #ff0 50%, #000 100%);background-image:linear-gradient(to right, #fff 0, #ff0 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-green{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #80ff80), color-stop(.5, #008000), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #80ff80 0, #008000 50%, #000 100%);background-image:-webkit-linear-gradient(left, #80ff80 0, #008000 50%, #000 100%);background-image:-o-linear-gradient(left, #80ff80 0, #008000 50%, #000 100%);background-image:linear-gradient(to right, #80ff80 0, #008000 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-blue{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(.5, #00f), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #fff 0, #00f 50%, #000 100%);background-image:-webkit-linear-gradient(left, #fff 0, #00f 50%, #000 100%);background-image:-o-linear-gradient(left, #fff 0, #00f 50%, #000 100%);background-image:linear-gradient(to right, #fff 0, #00f 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-purple{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #ff80ff), color-stop(.5, #80007f), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #ff80ff 0, #80007f 50%, #000 100%);background-image:-webkit-linear-gradient(left, #ff80ff 0, #80007f 50%, #000 100%);background-image:-o-linear-gradient(left, #ff80ff 0, #80007f 50%, #000 100%);background-image:linear-gradient(to right, #ff80ff 0, #80007f 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-black{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#000), to(#808080));background-image:-webkit-linear-gradient(left, color-stop(#000 0), color-stop(#808080 100%));background-image:-moz-linear-gradient(left, #000 0, #808080 100%);background-image:linear-gradient(to right, #000 0, #808080 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff000000', endColorstr='#ff808080', GradientType=1)}.pick-a-color-markup .spectrum-black .highlight-band{left:0px;border:1px solid #808080}
|
||||
.pick-a-color-markup .ie-spectrum{height:20px;width:100px;display:inline-block;top:-1}.pick-a-color-markup .ie-spectrum.hue{width:50.5px}@media screen and (max-width:991px){.pick-a-color-markup .ie-spectrum.hue{width:45.5px}}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .ie-spectrum{width:80px;height:35px}}
|
||||
.pick-a-color-markup .red-spectrum-0,.pick-a-color-markup .lightness-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#fff), to(#f00));background-image:-webkit-linear-gradient(left, color-stop(#fff 0), color-stop(#f00 100%));background-image:-moz-linear-gradient(left, #fff 0, #f00 100%);background-image:linear-gradient(to right, #fff 0, #f00 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffff0000', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .red-spectrum-1,.pick-a-color-markup .lightness-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#f00), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#f00 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #f00 0, #000 100%);background-image:linear-gradient(to right, #f00 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff0000', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .lightness-spectrum-0,.pick-a-color-markup .lightness-spectrum-1{width:150px}@media screen and (max-width:991px){.pick-a-color-markup .lightness-spectrum-0,.pick-a-color-markup .lightness-spectrum-1{width:135px}}
|
||||
.pick-a-color-markup .orange-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#fff), to(#f60));background-image:-webkit-linear-gradient(left, color-stop(#fff 0), color-stop(#f60 100%));background-image:-moz-linear-gradient(left, #fff 0, #f60 100%);background-image:linear-gradient(to right, #fff 0, #f60 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffff6600', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .orange-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#f60), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#f60 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #f60 0, #000 100%);background-image:linear-gradient(to right, #f60 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff6600', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .yellow-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#fff), to(#ff0));background-image:-webkit-linear-gradient(left, color-stop(#fff 0), color-stop(#ff0 100%));background-image:-moz-linear-gradient(left, #fff 0, #ff0 100%);background-image:linear-gradient(to right, #fff 0, #ff0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffffff00', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .yellow-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#ff0), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#ff0 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #ff0 0, #000 100%);background-image:linear-gradient(to right, #ff0 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff00', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .green-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#80ff80), to(#008000));background-image:-webkit-linear-gradient(left, color-stop(#80ff80 0), color-stop(#008000 100%));background-image:-moz-linear-gradient(left, #80ff80 0, #008000 100%);background-image:linear-gradient(to right, #80ff80 0, #008000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff80ff80', endColorstr='#ff008000', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .green-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#008000), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#008000 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #008000 0, #000 100%);background-image:linear-gradient(to right, #008000 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff008000', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .blue-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#fff), to(#00f));background-image:-webkit-linear-gradient(left, color-stop(#fff 0), color-stop(#00f 100%));background-image:-moz-linear-gradient(left, #fff 0, #00f 100%);background-image:linear-gradient(to right, #fff 0, #00f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ff0000ff', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .blue-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#00f), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#00f 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #00f 0, #000 100%);background-image:linear-gradient(to right, #00f 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000ff', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .purple-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#ff80ff), to(#80007f));background-image:-webkit-linear-gradient(left, color-stop(#ff80ff 0), color-stop(#80007f 100%));background-image:-moz-linear-gradient(left, #ff80ff 0, #80007f 100%);background-image:linear-gradient(to right, #ff80ff 0, #80007f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff80ff', endColorstr='#ff80007f', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .purple-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#80007f), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#80007f 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #80007f 0, #000 100%);background-image:linear-gradient(to right, #80007f 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff80007f', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .saturation-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#808080), to(#bf4040));background-image:-webkit-linear-gradient(left, color-stop(#808080 0), color-stop(#bf4040 100%));background-image:-moz-linear-gradient(left, #808080 0, #bf4040 100%);background-image:linear-gradient(to right, #808080 0, #bf4040 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff808080', endColorstr='#ffbf4040', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px;width:150px}@media screen and (max-width:991px){.pick-a-color-markup .saturation-spectrum-0{width:135px}}
|
||||
.pick-a-color-markup .saturation-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#bf4040), to(#f00));background-image:-webkit-linear-gradient(left, color-stop(#bf4040 0), color-stop(#f00 100%));background-image:-moz-linear-gradient(left, #bf4040 0, #f00 100%);background-image:linear-gradient(to right, #bf4040 0, #f00 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbf4040', endColorstr='#ffff0000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px;width:150px}@media screen and (max-width:991px){.pick-a-color-markup .saturation-spectrum-1{width:135px}}
|
||||
.pick-a-color-markup .hue-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#f00), to(#ff0));background-image:-webkit-linear-gradient(left, color-stop(#f00 0), color-stop(#ff0 100%));background-image:-moz-linear-gradient(left, #f00 0, #ff0 100%);background-image:linear-gradient(to right, #f00 0, #ff0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff0000', endColorstr='#ffffff00', GradientType=1)}
|
||||
.pick-a-color-markup .hue-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#ff0), to(#0f0));background-image:-webkit-linear-gradient(left, color-stop(#ff0 0), color-stop(#0f0 100%));background-image:-moz-linear-gradient(left, #ff0 0, #0f0 100%);background-image:linear-gradient(to right, #ff0 0, #0f0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff00', endColorstr='#ff00ff00', GradientType=1)}
|
||||
.pick-a-color-markup .hue-spectrum-2{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#0f0), to(#0ff));background-image:-webkit-linear-gradient(left, color-stop(#0f0 0), color-stop(#0ff 100%));background-image:-moz-linear-gradient(left, #0f0 0, #0ff 100%);background-image:linear-gradient(to right, #0f0 0, #0ff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff00', endColorstr='#ff00ffff', GradientType=1);left:-1px;position:relative}
|
||||
.pick-a-color-markup .hue-spectrum-3{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#0ff), to(#00f));background-image:-webkit-linear-gradient(left, color-stop(#0ff 0), color-stop(#00f 100%));background-image:-moz-linear-gradient(left, #0ff 0, #00f 100%);background-image:linear-gradient(to right, #0ff 0, #00f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ffff', endColorstr='#ff0000ff', GradientType=1);left:-1px;position:relative}
|
||||
.pick-a-color-markup .hue-spectrum-4{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#00f), to(#f0f));background-image:-webkit-linear-gradient(left, color-stop(#00f 0), color-stop(#f0f 100%));background-image:-moz-linear-gradient(left, #00f 0, #f0f 100%);background-image:linear-gradient(to right, #00f 0, #f0f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000ff', endColorstr='#ffff00ff', GradientType=1);left:-1px;position:relative}
|
||||
.pick-a-color-markup .hue-spectrum-5{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#f0f), to(#f00));background-image:-webkit-linear-gradient(left, color-stop(#f0f 0), color-stop(#f00 100%));background-image:-moz-linear-gradient(left, #f0f 0, #f00 100%);background-image:linear-gradient(to right, #f0f 0, #f00 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00ff', endColorstr='#ffff0000', GradientType=1);left:-2px;position:relative}
|
||||
.pick-a-color-markup .highlight-band{border:1px solid #222;border-radius:2px;-webkit-box-shadow:1px 1px 1px #333;box-shadow:1px 1px 1px #333;height:19px;width:11px;display:inline-block;cursor:pointer;cursor:-webkit-grab;cursor:-moz-grab;position:absolute;top:-1px;left:94.5px;text-align:center}@media screen and (max-width:991px){.pick-a-color-markup .highlight-band{width:21px;left:69.5px;height:34px}}
|
||||
.pick-a-color-markup .highlight-band-stripe{min-height:80%;min-width:1px;background-color:#000;opacity:0.40;margin:2px 1px;display:inline-block;-webkit-box-shadow:1px 0 2px 0 #fff;box-shadow:1px 0 2px 0 #fff}@media screen and (max-width:991px){.pick-a-color-markup .highlight-band-stripe{margin:4px 2px}}
|
||||
.pick-a-color-markup .color-menu-tabs{padding:5px 3px 3px 10px;font-size:12px;color:#333;border-bottom:1px solid #ccc;margin-bottom:5px}.pick-a-color-markup .color-menu-tabs .tab{padding:4px 5px;margin:5px;border-left:1px solid #fff;border-right:1px solid #fff;cursor:pointer;background-color:#fff}.pick-a-color-markup .color-menu-tabs .tab:hover{padding-bottom:6px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;border-top-right-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .color-menu-tabs a{color:#333;text-decoration:none}
|
||||
.pick-a-color-markup .color-menu-tabs .tab-active{border-bottom:3px solid #fff;padding-bottom:5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;border-top-right-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .active-content{display:block}
|
||||
.pick-a-color-markup .inactive-content{display:none}
|
||||
.pick-a-color-markup .savedColors-content{padding:5px 15px;white-space:normal}.pick-a-color-markup .savedColors-content li.color-item>a{margin-left:7px;padding-left:8px;border-radius:4px}
|
||||
.pick-a-color-markup .saved-color-col{position:relative;left:-15px;float:left;width:149px}@media screen and (max-width:991px){.pick-a-color-markup .saved-color-col{width:130px}}
|
||||
.pick-a-color-markup .advanced-content ul{margin-top:10px}
|
||||
.pick-a-color-markup .advanced-content li{padding:5px 15px 3px 15px;cursor:default;min-height:25px;height:50px;position:relative}@media screen and (max-width:991px){.pick-a-color-markup .advanced-content li{min-height:70px}}
|
||||
.pick-a-color-markup .advanced-content .color-preview{height:50px;width:300px;float:left;margin:0px 0px 10px 0px;background-color:#f00;text-align:center}.pick-a-color-markup .advanced-content .color-preview .color-select.btn.advanced{margin-top:15px;display:none}@media screen and (max-width:991px){.pick-a-color-markup .advanced-content .color-preview .color-select.btn.advanced{display:inline;margin-top:7px}}
|
||||
.pick-a-color-markup .advanced-content .color-preview:hover .color-select.btn.advanced{display:inline}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .advanced-content .color-preview{width:270px;margin-left:-10px}}
|
||||
.pick-a-color-markup .advanced-content .spectrum-hue{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #f00), color-stop(17%, #ff0), color-stop(34%, #0f0), color-stop(51%, #0ff), color-stop(68%, #00f), color-stop(85%, #f0f), color-stop(100%, #f00));background-image:-moz-linear-gradient(left center, #f00 0, #ff0 17%, #0f0 24%, #0ff 51%, #00f 68%, #f0f 85%, #f00 100%);background-image:-webkit-linear-gradient(left, #f00 0, #ff0 17%, #0f0 24%, #0ff 51%, #00f 68%, #f0f 85%, #f00 100%);background-image:-o-linear-gradient(left, #f00 0, #ff0 17%, #0f0 24%, #0ff 51%, #00f 68%, #f0f 85%, #f00 100%);background-image:linear-gradient(to right, #f00 0, #ff0 17%, #0f0 24%, #0ff 51%, #00f 68%, #f0f 85%, #f00 100%);background-repeat:repeat-x}.pick-a-color-markup .advanced-content .spectrum-hue .highlight-band{left:0px}
|
||||
.pick-a-color-markup .advanced-content .spectrum-lightness{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(.5, #f00), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #fff 0, #f00 50%, #000 100%);background-image:-webkit-linear-gradient(left, #fff 0, #f00 50%, #000 100%);background-image:-o-linear-gradient(left, #fff 0, #f00 50%, #000 100%);background-image:linear-gradient(to right, #fff 0, #f00 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .advanced-content .spectrum-saturation{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #808080), color-stop(.5, #f00), color-stop(1, #f00));background-image:-moz-linear-gradient(left center, #808080 0, #f00 50%, #f00 100%);background-image:-webkit-linear-gradient(left, #808080 0, #f00 50%, #f00 100%);background-image:-o-linear-gradient(left, #808080 0, #f00 50%, #f00 100%);background-image:linear-gradient(to right, #808080 0, #f00 50%, #f00 100%);background-repeat:repeat-x}.pick-a-color-markup .advanced-content .spectrum-saturation .highlight-band{left:287px}@media screen and (max-width:991px){.pick-a-color-markup .advanced-content .spectrum-saturation .highlight-band{left:247px}}
|
||||
.pick-a-color-markup .advanced-content .spectrum-lightness .highlight-band{left:143.5px}@media screen and (max-width:991px){.pick-a-color-markup .advanced-content .spectrum-lightness .highlight-band{left:123.5px}}
|
||||
.pick-a-color-markup .advanced-content .lightness-text,.pick-a-color-markup .advanced-content .hue-text,.pick-a-color-markup .advanced-content .saturation-text,.pick-a-color-markup .advanced-content .preview-text{vertical-align:middle;text-align:center;display:block}
|
||||
.pick-a-color-markup .advanced-content .color-box{left:15px;top:25px;width:300px}@media screen and (max-width:991px){.pick-a-color-markup .advanced-content .color-box{width:270px;left:10px}}
|
||||
.pick-a-color-markup .advanced-content .preview-item{height:80px}
|
||||
@-moz-document url-prefix(){@media screen and (max-width:991px){div.pick-a-color-markup .color-menu{left:0px}}}
|
||||
2
css/pickr.nano.min.css
vendored
Normal file
2
css/pickr.nano.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,3 +1,21 @@
|
||||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2025 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Stylesheet for the switch buttons.
|
||||
*/
|
||||
@@ -64,6 +82,7 @@ input:checked + .slider:before {
|
||||
.switch label {
|
||||
position: absolute;
|
||||
left: 60px;
|
||||
word-break: keep-all;
|
||||
}
|
||||
|
||||
label {
|
||||
|
||||
1
data
Submodule
1
data
Submodule
Submodule data added at 84aad05076
378
data/data.json
378
data/data.json
@@ -1,378 +0,0 @@
|
||||
{
|
||||
"providers": {
|
||||
"amazon": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(amazon)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"pf_rd_[a-zA-Z]=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"qid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sr=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"srs=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(adsensecustomsearchads\\.com)\\/.*",
|
||||
"pd_rd_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"__mk_[a-zA-Z]{1,3}_[a-zA-Z]{1,3}=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"spIA=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ms3_c=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"[a-zA-Z%0-9]*ie=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"refRID=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"colid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"coliid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"[^a-zA-Z%0-9]adId=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"qualifier=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"_encoding=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"smid=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [
|
||||
".*(amazon\\.).*(\\/gp).*\\/redirector.html\\/.*"
|
||||
],
|
||||
"redirections": []
|
||||
},
|
||||
"fls-na.amazon": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(fls-na\\.amazon)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"google": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(google)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"ved=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"bi[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"gfe_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ei=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"source=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"gs_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"site=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"&\\.[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"oq=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"esrc=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"uact=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"cd=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"cad=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"gws_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"atyp=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"vet=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"zx=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"_u=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"je=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"dcr=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ie=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sei=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sa=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"dpr=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"hl=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"btn[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [
|
||||
".*(mail\\.google\\.).*(\\/mail\\/u\\/0).*",
|
||||
".*(google\\.).*(\\/upload)?(\\/drive)\\/.*",
|
||||
".*(docs\\.google\\.).*\\/.*",
|
||||
".*(accounts\\.google\\.).*",
|
||||
".*(google\\.).*\\/searchbyimage\\?image_url=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(hangouts\\.google\\.).*\\/webchat.*zx=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(client-channel\\.google\\.).*\\/client-channel.*zx=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(google\\.).*\\/complete\\/search\\?.*gs_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(google\\.).*\\/s\\?tbm=map.*gs_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(news\\.google\\.).*\\?hl=.*",
|
||||
".*(google\\.).*\\/setprefs\\?.*hl=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"redirections": [
|
||||
".*google\\..*\\/.*url\\?.*url=([^&]*)"
|
||||
]
|
||||
},
|
||||
"googlesyndication": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(googlesyndication)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"doubleclick": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(doubleclick)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": [
|
||||
".*doubleclick\\..*\\/.*tag_for_child_directed_treatment=;%3F(.*)"
|
||||
]
|
||||
},
|
||||
"globalRules": {
|
||||
"urlPattern": ".*",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"utm_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_source=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_medium=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_term=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_content=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_campaign=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_place=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"yclid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"_openstat=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"fb_action_ids=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"fb_action_types=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"fb_source=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"fb_ref=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"action_object_map=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"action_type_map=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"action_ref_map=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"gs_l=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"mkt_tok=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"hmb_campaign=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"hmb_medium=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"hmb_source=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"[\\?|&]ref[\\_]?=[^\\/|\\?|&]*",
|
||||
"\\?$",
|
||||
"\\&$"
|
||||
],
|
||||
"exceptions": [
|
||||
".*([\\.]?matrix\\.org)(\\/_matrix)\\/.*",
|
||||
".*([\\.]?prismic\\.io).*",
|
||||
".*([\\.]?gitlab\\.com).*",
|
||||
".*([\\.]?gcsip\\.com).*[\\?|&]ref[\\_]?=[^\\/|\\?|&]*.*",
|
||||
".*([\\.]?cloudflare\\.com).*"
|
||||
],
|
||||
"redirections": []
|
||||
},
|
||||
"adtech": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(adtech)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"contentpass.net": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(contentpass\\.net).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"bf-ad": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(bf-ad)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"amazon-adsystem": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(amazon-adsystem)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"adsensecustomsearchads": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(adsensecustomsearchads)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"youtube": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(youtube)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"feature=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"gclid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"kw=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"facebook": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(facebook)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"hc_location=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ref=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [
|
||||
".*(facebook\\.)\\w{2,}.*(\\/plugins\\/).*"
|
||||
],
|
||||
"redirections": []
|
||||
},
|
||||
"twitter": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(twitter)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"(ref_)?src=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"reddit": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(reddit)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": [
|
||||
"out\\.reddit\\.\\w{2,}\\/.*url=([^&]*)"
|
||||
]
|
||||
}
|
||||
,
|
||||
"netflix": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(netflix)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"trackId=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"tctx=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"jb[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"techcrunch": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?([\\.]?techcrunch\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"ncid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sr=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sr_share=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"bing": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(bing)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"cvid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"form=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sk=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sp=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sc=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"qs=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"qp=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"tweakers": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(tweakers\\.net)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"nb=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"u=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"twitch": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(twitch)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"tt_medium=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"tt_content=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"vivaldi": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(vivaldi\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"pk_campaign=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"pk_kwd=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"indeed": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(indeed\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"from=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"alid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"[a-zA-Z]*tk=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"hhdotru": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(hh\\.ru)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"vss=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"t=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"swnt=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"grpos=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ptl=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"stl=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"exp=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"plim=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"ebay": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(ebay)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"_trkparms=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"_trksid=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"cnet": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(cnet\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"ftag=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"imdb.com": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(imdb\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"ref_=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"pf_rd_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"govdelivery.com": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(govdelivery\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": [
|
||||
".*links\\.govdelivery\\.com.*\\/track\\?.*(http:\\/\\/.*)",
|
||||
".*links\\.govdelivery\\.com.*\\/track\\?.*(https:\\/\\/.*)"
|
||||
]
|
||||
},
|
||||
"walmart.com": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(walmart\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"u1=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ath[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"net-parade.it": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(net\\-parade\\.it)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"pl=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"prvnizpravy.cz": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(prvnizpravy\\.cz)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"xid=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
63370834b644e5835523e1fd83a79d6b2a761c5b1a98517a5ae174549e90e6c1
|
||||
10
external_js/bootstrap-colorpicker.min.js
vendored
Normal file
10
external_js/bootstrap-colorpicker.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
external_js/bootstrap-dialog.min.js
vendored
1
external_js/bootstrap-dialog.min.js
vendored
File diff suppressed because one or more lines are too long
12
external_js/bootstrap.min.js
vendored
12
external_js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
16
external_js/clipboard-helper.js
Normal file
16
external_js/clipboard-helper.js
Normal file
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Source: https://github.com/mdn/webextensions-examples/tree/master/context-menu-copy-link-with-types
|
||||
*/
|
||||
function copyToClipboard(text) {
|
||||
function oncopy(event) {
|
||||
document.removeEventListener("copy", oncopy, true);
|
||||
|
||||
event.stopImmediatePropagation();
|
||||
|
||||
event.preventDefault();
|
||||
event.clipboardData.setData("text/plain", text);
|
||||
}
|
||||
document.addEventListener("copy", oncopy, true);
|
||||
|
||||
document.execCommand("copy");
|
||||
}
|
||||
8
external_js/dataTables.bootstrap.min.js
vendored
8
external_js/dataTables.bootstrap.min.js
vendored
@@ -1,8 +0,0 @@
|
||||
/*!
|
||||
DataTables Bootstrap 3 integration
|
||||
©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return b(a,window,document)}):"object"===typeof exports?module.exports=function(a,d){a||(a=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(a,d).$;return b(d,a,a.document)}:b(jQuery,window,document)})(function(b,a,d,m){var f=b.fn.dataTable;b.extend(!0,f.defaults,{dom:"<'row'<'col-sm-6'l><'col-sm-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-5'i><'col-sm-7'p>>",renderer:"bootstrap"});b.extend(f.ext.classes,
|
||||
{sWrapper:"dataTables_wrapper form-inline dt-bootstrap",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm",sProcessing:"dataTables_processing panel panel-default"});f.ext.renderer.pageButton.bootstrap=function(a,h,r,s,j,n){var o=new f.Api(a),t=a.oClasses,k=a.oLanguage.oPaginate,u=a.oLanguage.oAria.paginate||{},e,g,p=0,q=function(d,f){var l,h,i,c,m=function(a){a.preventDefault();!b(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&o.page(a.data.action).draw("page")};
|
||||
l=0;for(h=f.length;l<h;l++)if(c=f[l],b.isArray(c))q(d,c);else{g=e="";switch(c){case "ellipsis":e="…";g="disabled";break;case "first":e=k.sFirst;g=c+(0<j?"":" disabled");break;case "previous":e=k.sPrevious;g=c+(0<j?"":" disabled");break;case "next":e=k.sNext;g=c+(j<n-1?"":" disabled");break;case "last":e=k.sLast;g=c+(j<n-1?"":" disabled");break;default:e=c+1,g=j===c?"active":""}e&&(i=b("<li>",{"class":t.sPageButton+" "+g,id:0===r&&"string"===typeof c?a.sTableId+"_"+c:null}).append(b("<a>",{href:"#",
|
||||
"aria-controls":a.sTableId,"aria-label":u[c],"data-dt-idx":p,tabindex:a.iTabIndex}).html(e)).appendTo(d),a.oApi._fnBindAction(i,{action:c},m),p++)}},i;try{i=b(h).find(d.activeElement).data("dt-idx")}catch(v){}q(b(h).empty().html('<ul class="pagination"/>').children("ul"),s);i!==m&&b(h).find("[data-dt-idx="+i+"]").focus()};return f});
|
||||
12
external_js/dataTables/i18n/Ganda.json
Executable file
12
external_js/dataTables/i18n/Ganda.json
Executable file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"autoFill": {
|
||||
"cancel": "sazzamu",
|
||||
"fill": "juza",
|
||||
"fillHorizontal": "juzaObukiika",
|
||||
"fillVertical": "juzaObusiimba"
|
||||
},
|
||||
"buttons": {
|
||||
"colvis": "endabikaYolunyilili",
|
||||
"copy": "Koppa"
|
||||
}
|
||||
}
|
||||
@@ -1,426 +0,0 @@
|
||||
/**
|
||||
* Albanian translation
|
||||
* @name Albanian
|
||||
* @anchor Albanian
|
||||
* @author Besnik Belegu
|
||||
*/
|
||||
/**
|
||||
* Afrikaans translation
|
||||
* @name Afrikaans
|
||||
* @anchor Afrikaans
|
||||
* @author <a href="http://www.ajoft.com">Ajoft Software</a>
|
||||
*/
|
||||
/**
|
||||
* Welsh translation
|
||||
* @name Welsh
|
||||
* @anchor Welsh
|
||||
* @author <a href="https://eveoh.nl/">Marco Krikke</a>
|
||||
*/
|
||||
/**
|
||||
* Vietnamese translation
|
||||
* @name Vietnamese
|
||||
* @anchor Vietnamese
|
||||
* @author Trinh Phuoc Thai
|
||||
*/
|
||||
/**
|
||||
* Uzbek translation
|
||||
* @name Uzbek
|
||||
* @anchor Uzbek
|
||||
* @author <a href="http://davlat.info">Farkhod Dadajanov</a>
|
||||
*/
|
||||
/**
|
||||
* Urdu translation
|
||||
* @name Urdu
|
||||
* @anchor Urdu
|
||||
* @author Zafar Subzwari
|
||||
*/
|
||||
/**
|
||||
* Ukranian translation
|
||||
* @name Ukranian
|
||||
* @anchor Ukranian
|
||||
* @author <i>antyrat</i>
|
||||
*/
|
||||
/**
|
||||
* Turkish translation
|
||||
* @name Turkish
|
||||
* @anchor Turkish
|
||||
* @author Umit Gorkem & Erdal TAŞKESEN
|
||||
*/
|
||||
/**
|
||||
* Thai translation
|
||||
* @name Thai
|
||||
* @anchor Thai
|
||||
* @author Thanva Thonglor , <a href="http://auycro.github.io/about/">Gumpanat Keardkeawfa</a>
|
||||
*/
|
||||
/**
|
||||
* Telugu translation (te, te-IN)
|
||||
* @name Telugu
|
||||
* @anchor Telugu
|
||||
* @author <a href="https://in.linkedin.com/in/srinivas-rathikrindi-0405973a">Srinivas Rathikrindi</a>
|
||||
**/
|
||||
/**
|
||||
* Tamil translation
|
||||
* @name Tamil
|
||||
* @anchor Tamil
|
||||
* @author Sam Arul Raj
|
||||
*/
|
||||
/**
|
||||
* Swedish translation
|
||||
* @name Swedish
|
||||
* @anchor Swedish
|
||||
* @author <a href="http://www.kmmtiming.se/">Kristoffer Karlström</a>
|
||||
*/
|
||||
/**
|
||||
* Swahili translation
|
||||
* @name Swahili
|
||||
* @anchor Swahili
|
||||
* @author <a href="http://zoop.co.tz/schoolpesa/">Roy Owino</a>
|
||||
*/
|
||||
/**
|
||||
* Spanish translation
|
||||
* @name Spanish
|
||||
* @anchor Spanish
|
||||
* @author Giovanni Ariza, Aristobulo Gomez and Roberto Poo
|
||||
*/
|
||||
/**
|
||||
* Slovenian translation
|
||||
* @name Slovenian
|
||||
* @anchor Slovenian
|
||||
* @author Marko Kroflic, Blaž Brenčič and Andrej Florjančič
|
||||
*/
|
||||
/**
|
||||
* Slovak translation
|
||||
* @name Slovak
|
||||
* @anchor Slovak
|
||||
* @author <a href="https://github.com/dlugos">Ivan Dlugoš</a>
|
||||
* @author (original translation) <a href="http://miskerik.com/">Maroš Miškerik</a>
|
||||
*/
|
||||
/**
|
||||
* Sinhala translation
|
||||
* @name Sinhala
|
||||
* @anchor Sinhala
|
||||
* @author Isuru Sampath Ratnayake
|
||||
*/
|
||||
/**
|
||||
* Serbian translation (Latin alphabet)
|
||||
* @name Serbian (Latin)
|
||||
* @anchor Serbian (Latin)
|
||||
* @author <a href="http://mnovakovic.byteout.com">Marko Novakovic</a>
|
||||
*/
|
||||
/**
|
||||
* Russian translation
|
||||
* @name Russian
|
||||
* @anchor Russian
|
||||
* @author Tjoma
|
||||
* @autor aspyatkin
|
||||
*/
|
||||
/**
|
||||
* Romanian translation
|
||||
* @name Romanian
|
||||
* @anchor Romanian
|
||||
* @author <a href="http://www.jurubita.ro/">Alexandru Jurubita</a>
|
||||
*/
|
||||
/**
|
||||
* Portuguese Brasil translation
|
||||
* @name Portuguese Brasil
|
||||
* @anchor Portuguese Brasil
|
||||
* @author Julio Cesar Viana Palma
|
||||
*/
|
||||
/**
|
||||
* Portuguese translation
|
||||
* @name Portuguese
|
||||
* @anchor Portuguese
|
||||
* @author Nuno Felicio
|
||||
*/
|
||||
/**
|
||||
* Polish translation
|
||||
* @name Polish
|
||||
* @anchor Polish
|
||||
* @author Tomasz Kowalski
|
||||
* @author Michał Grzelak
|
||||
*/
|
||||
/**
|
||||
* Persian translation
|
||||
* @name Persian
|
||||
* @anchor Persian
|
||||
* @author <a href="http://www.chavoshi.com/">Ehsan Chavoshi</a>
|
||||
* @author <a href="http://www.robowiki.ir/">Mohammad Babazadeh</a>
|
||||
*/
|
||||
/**
|
||||
* Pashto translation
|
||||
* @name Pashto
|
||||
* @anchor Pashto
|
||||
* @author <a href="http://mbrig.com/">MBrig | Muhammad Nasir Rahimi</a>
|
||||
*/
|
||||
/**
|
||||
* Norwegian Nynorsk translation
|
||||
* @name Norwegian-Nynorsk
|
||||
* @anchor Norwegian-Nynorsk
|
||||
* @author Andreas-Johann Østerdal Ulvestad
|
||||
*/
|
||||
/**
|
||||
* Norwegian Bokmål translation
|
||||
* @name Norwegian-Bokmal
|
||||
* @anchor Norwegian-Bokmal
|
||||
* @author Petter Ekrann
|
||||
* @author Vegard Johannessen
|
||||
*/
|
||||
/**
|
||||
* Nepali
|
||||
* @name Nepali
|
||||
* @anchor Nepali
|
||||
* @author Bishwo Adhikari
|
||||
*/
|
||||
/**
|
||||
* Mongolian - Монгол хэлний орчуулга
|
||||
* @name Mongolian
|
||||
* @anchor Mongolian
|
||||
* @author <a href="http://www.Batmandakh.com/">Batmandakh Erdenebileg</a>
|
||||
*/
|
||||
/**
|
||||
* Malay translation
|
||||
* @name Malay
|
||||
* @anchor Malay
|
||||
* @author Mohamad Zharif
|
||||
*/
|
||||
/**
|
||||
* Macedonian translation
|
||||
* @name Macedonian
|
||||
* @anchor Macedonian
|
||||
* @author Bojan Petkovski
|
||||
*/
|
||||
/**
|
||||
* Lithuanian translation
|
||||
* @name Lithuanian
|
||||
* @anchor Lithuanian
|
||||
* @author <a href="http://www.kurdingopinigai.lt">Kęstutis Morkūnas</a>
|
||||
* @author Algirdas Brazas
|
||||
*/
|
||||
/**
|
||||
* Latvian translation
|
||||
* @name Latvian
|
||||
* @anchor Latvian
|
||||
* @author Oskars Podans, Ruslans Jermakovičs and Edgars
|
||||
*/
|
||||
/**
|
||||
* @name Kyrgyz
|
||||
* @anchor Kyrgyz
|
||||
* @author <a href="https://github.com/nursultan92/">Nursultan Turdaliev</a> and _tynar_
|
||||
*/
|
||||
/**
|
||||
* Korean translation
|
||||
* @name Korean
|
||||
* @anchor Korean
|
||||
* @author WonGoo Lee
|
||||
*/
|
||||
/**
|
||||
* Kazakh translation
|
||||
* @name Kazakh
|
||||
* @anchor Kazakh
|
||||
* @author <a href="https://github.com/talgautb">Talgat Uspanov</a>
|
||||
*/
|
||||
/**
|
||||
* Japanese translation
|
||||
* @name Japanese
|
||||
* @anchor Japanese
|
||||
* @author <i>yusuke</i> and <a href="https://github.com/wiraqutra">Seigo ISHINO</a>
|
||||
*/
|
||||
/**
|
||||
* Italian translation
|
||||
* @name Italian
|
||||
* @anchor Italian
|
||||
* @author Nicola Zecchin & Giulio Quaresima
|
||||
*/
|
||||
/**
|
||||
* Irish translation
|
||||
* @name Irish
|
||||
* @anchor Irish
|
||||
* @author <a href="http://letsbefamous.com">Lets Be Famous Journal</a>
|
||||
*/
|
||||
/**
|
||||
* Indonesian translation
|
||||
* @name Indonesian
|
||||
* @anchor Indonesian
|
||||
* @author Landung Wahana
|
||||
*/
|
||||
/**
|
||||
* Indonesian translation
|
||||
* @name Indonesian
|
||||
* @anchor Indonesian
|
||||
* @author Cipto Hadi
|
||||
*/
|
||||
/**
|
||||
* Icelandic translation
|
||||
* @name Icelandic
|
||||
* @anchor Icelandic
|
||||
* @author Finnur Kolbeinsson
|
||||
*/
|
||||
/**
|
||||
* Hungarian translation
|
||||
* @name Hungarian
|
||||
* @anchor Hungarian
|
||||
* @author <a href="http://www.maschek.hu">Adam Maschek</a> and Lajos Cseppentő
|
||||
*/
|
||||
/**
|
||||
* Hindi translation
|
||||
* @name Hindi
|
||||
* @anchor Hindi
|
||||
* @author <a href="http://outshinesolutions.com">Outshine Solutions</a>
|
||||
*/
|
||||
/**
|
||||
* Hebrew translation
|
||||
* @name Hebrew
|
||||
* @anchor Hebrew
|
||||
* @author <a href="http://ww3.co.il/">Neil Osman (WW3)</a>
|
||||
*/
|
||||
/**
|
||||
* Gujarati translation
|
||||
* @name Gujarati
|
||||
* @anchor Gujarati
|
||||
* @author <a href="http://www.apoto.com/">Apoto</a>
|
||||
*/
|
||||
/**
|
||||
* Greek translation
|
||||
* @name Greek
|
||||
* @anchor Greek
|
||||
* @author Abraam Ziogas
|
||||
* @author Leonidas Arvanitis
|
||||
*/
|
||||
/**
|
||||
* German translation
|
||||
* @name German
|
||||
* @anchor German
|
||||
* @author Joerg Holz
|
||||
* @author DJmRek - Markus Bergt
|
||||
* @author OSWorX https://osworx.net
|
||||
*/
|
||||
/**
|
||||
* Georgian translation
|
||||
* @name Georgian
|
||||
* @anchor Georgian
|
||||
* @author Mikheil Nadareishvili, updated by <a href="http://www.brunjadze.xyz/">Mirza Brunjadze</a>
|
||||
*/
|
||||
/**
|
||||
* Galician translation
|
||||
* @name Galician
|
||||
* @anchor Galician
|
||||
* @author <i>Emilio</i>
|
||||
* @author <i>Xosé Antonio Rubal López</i>
|
||||
*/
|
||||
/**
|
||||
* French translation
|
||||
* @name French
|
||||
* @anchor French
|
||||
* @author
|
||||
*/
|
||||
/**
|
||||
* Finnish translation
|
||||
* @name Finnish
|
||||
* @anchor Finnish
|
||||
* @author Seppo Äyräväinen
|
||||
* @author Viktors Cvetkovs
|
||||
* @author <a href="https://ironlions.fi">Niko Granö</a>
|
||||
*/
|
||||
/**
|
||||
* Filipino translation
|
||||
* @name Filipino
|
||||
* @anchor Filipino
|
||||
* @author <a href="http://citi360.com/">Citi360</a>
|
||||
*/
|
||||
/**
|
||||
* Estonian translation
|
||||
* @name Estonian
|
||||
* @anchor Estonian
|
||||
* @author <a href="http://www.arts9.com/">Janek Todoruk</a>
|
||||
*/
|
||||
/**
|
||||
* English - this is the default DataTables ships with
|
||||
* @name English
|
||||
* @anchor English
|
||||
* @author <a href="http://www.sprymedia.co.uk/">Allan Jardine</a>
|
||||
*/
|
||||
/**
|
||||
* Dutch translation
|
||||
* @name Dutch
|
||||
* @anchor Dutch
|
||||
* @author <a href="http://www.blikgooien.nl/">Erwin Kerk</a> and <i>ashwin</i>
|
||||
*/
|
||||
/**
|
||||
* Danish translation
|
||||
* @name Danish
|
||||
* @anchor Danish
|
||||
* @author <a href="http://www.kor.dk/">Werner Knudsen</a>
|
||||
*/
|
||||
/**
|
||||
* Czech translation
|
||||
* @name Czech
|
||||
* @anchor Czech
|
||||
* @author <a href="http://blog.magerio.cz/">Magerio</a>
|
||||
*/
|
||||
/**
|
||||
* Croatian translation
|
||||
* @name Croatian
|
||||
* @anchor Croatian
|
||||
* @author Predrag Mušić and _hrvoj3e_
|
||||
*/
|
||||
/**
|
||||
* Chinese (traditional) translation
|
||||
* @name Chinese (traditional)
|
||||
* @anchor Chinese (traditional)
|
||||
* @author <a href="https://gimmerank.com/">GimmeRank Affiliate</a>
|
||||
* @author <a href="https://github.com/PeterDaveHello">Peter Dave Hello</a>
|
||||
*/
|
||||
/**
|
||||
* Catalan translation
|
||||
* @name Catalan
|
||||
* @anchor Catalan
|
||||
* @author Sergi
|
||||
*/
|
||||
/**
|
||||
* Amharic translation
|
||||
* @name Amharic
|
||||
* @anchor Amharic
|
||||
* @author veduket
|
||||
*/
|
||||
/**
|
||||
* Arabic translation
|
||||
* @name Arabic
|
||||
* @anchor Arabic
|
||||
* @author Ossama Khayat
|
||||
*/
|
||||
/**
|
||||
* Armenian - translation
|
||||
* @name Armenian
|
||||
* @anchor Armenian
|
||||
* @author <a href="http://www.voznisoft.com/">Levon Levonyan</a>
|
||||
*/
|
||||
/**
|
||||
* Azerbaijan translation
|
||||
* @name Azerbaijan
|
||||
* @anchor Azerbaijan
|
||||
* @author H.Huseyn
|
||||
*/
|
||||
/**
|
||||
* Bangla translation
|
||||
* @name Bangla
|
||||
* @anchor Bangla
|
||||
* @author <a href="http://khaledcse06.wordpress.com">Md. Khaled Ben Islam</a>
|
||||
*/
|
||||
/**
|
||||
* Basque translation
|
||||
* @name Basque
|
||||
* @anchor Basque
|
||||
* @author <a href="https://github.com/xabikip/">Xabi Pico</a>
|
||||
*/
|
||||
/**
|
||||
* Belarusian translation
|
||||
* @name Belarusian
|
||||
* @anchor Belarusian
|
||||
* @author vkachurka
|
||||
*/
|
||||
/**
|
||||
* Bulgarian translation
|
||||
* @name Bulgarian
|
||||
* @anchor Bulgarian
|
||||
* @author Rostislav Stoyanov, Oliwier Thomas
|
||||
*/
|
||||
64
external_js/dataTables/i18n/af.json
Executable file
64
external_js/dataTables/i18n/af.json
Executable file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"infoThousands": ",",
|
||||
"paginate": {
|
||||
"first": "eerste",
|
||||
"last": "laaste",
|
||||
"next": "volgende",
|
||||
"previous": "vorige"
|
||||
},
|
||||
"aria": {
|
||||
"sortAscending": ": aktiveer kolom om stygend te sorteer",
|
||||
"sortDescending": ": aktiveer kolom om dalend te sorteer"
|
||||
},
|
||||
"buttons": {
|
||||
"csv": "CSV",
|
||||
"excel": "Excel",
|
||||
"pdf": "PDF",
|
||||
"print": "Druk",
|
||||
"collection": "Versameling <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
||||
"colvis": "Kolom Sigbaarheid",
|
||||
"copy": "Kopieër",
|
||||
"copyKeys": "Druk <i>ctrl<\/i> of <i>u2318<\/i> + <i>C<\/i> om die tabel data to kopieër na jou knipbord.<br><br>Om te kanselleer, druk Escape.",
|
||||
"copySuccess": {
|
||||
"1": "1 ry gekopieër na knipbord",
|
||||
"_": "%ds rye gekopieër na knipbord"
|
||||
},
|
||||
"copyTitle": "Kopieër na knipbord",
|
||||
"pageLength": {
|
||||
"-1": "Wys alle rye",
|
||||
"1": "Wys 1 ry",
|
||||
"_": "Wys %d rye"
|
||||
},
|
||||
"createState": "Skep Staat",
|
||||
"removeAllStates": "Verwyder Alle State",
|
||||
"removeState": "Verwyder",
|
||||
"renameState": "Hernoem",
|
||||
"savedStates": "Gestoorde State",
|
||||
"stateRestore": "Staat %d",
|
||||
"updateState": "Dateer op",
|
||||
"colvisRestore": "Herwin Sigbaarheid"
|
||||
},
|
||||
"searchBuilder": {
|
||||
"add": "Voeg by",
|
||||
"clearAll": "Alles uitvee",
|
||||
"condition": "Voorwaardes",
|
||||
"data": "Data"
|
||||
},
|
||||
"autoFill": {
|
||||
"cancel": "kanselleer",
|
||||
"fillHorizontal": "Vul selle horisontaal",
|
||||
"fillVertical": "Vul selle vertikaal",
|
||||
"fill": "Vul alle selle met <i>%d<i><\/i><\/i>"
|
||||
},
|
||||
"emptyTable": "Geen data in tabel nie",
|
||||
"info": "Wys _START_ tot _END_ uit _TOTAL_ rye",
|
||||
"infoEmpty": "Wys 0 tot 0 uit 0 rye",
|
||||
"infoFiltered": "(gefiltreer uit _MAX_ totale rye)",
|
||||
"lengthMenu": "Wys _MENU_ rye",
|
||||
"loadingRecords": "Besig om te laai...",
|
||||
"processing": "Besig om te verwerk...",
|
||||
"search": "Soek:",
|
||||
"searchPlaceholder": "Plekhouer",
|
||||
"thousands": ",",
|
||||
"zeroRecords": "Geen gepaste rye gevind nie"
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
"sEmptyTable": "Geen data beskikbaar in tabel",
|
||||
"sInfo": "uitstalling _START_ to _END_ of _TOTAL_ inskrywings",
|
||||
"sInfoEmpty": "uitstalling 0 to 0 of 0 inskrywings",
|
||||
"sInfoFiltered": "(gefiltreer uit _MAX_ totaal inskrywings)",
|
||||
"sInfoPostFix": "",
|
||||
"sInfoThousands": ",",
|
||||
"sLengthMenu": "uitstal _MENU_ inskrywings",
|
||||
"sLoadingRecords": "laai...",
|
||||
"sProcessing": "verwerking...",
|
||||
"sSearch": "soektog:",
|
||||
"sZeroRecords": "Geen treffers gevind",
|
||||
"oPaginate": {
|
||||
"sFirst": "eerste",
|
||||
"sLast": "laaste",
|
||||
"sNext": "volgende",
|
||||
"sPrevious": "vorige"
|
||||
},
|
||||
"oAria": {
|
||||
"sSortAscending": ": aktiveer kolom stygende te sorteer",
|
||||
"sSortDescending": ": aktiveer kolom orde te sorteer"
|
||||
}
|
||||
}
|
||||
22
external_js/dataTables/i18n/am.json
Executable file
22
external_js/dataTables/i18n/am.json
Executable file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"emptyTable": "ባዶ ሰንጠረዥ",
|
||||
"info": "ከጠቅላላው _TOTAL_ ዝርዝሮች ውስጥ ከ _START_ እስከ _END_ ያሉት ዝርዝር",
|
||||
"infoEmpty": "ከጠቅላላው 0 ዝርዝሮች ውስጥ ከ 0 እስከ 0 ያሉት ዝርዝር",
|
||||
"infoFiltered": "(ከጠቅላላው _MAX_ የተመረጡ ዝርዝሮች)",
|
||||
"infoThousands": ",",
|
||||
"lengthMenu": "የዝርዝሮች ብዛት _MENU_",
|
||||
"loadingRecords": "በማቅረብ ላይ...",
|
||||
"processing": "በማቀናበር ላይ...",
|
||||
"search": "ፈልግ:",
|
||||
"zeroRecords": "ከሚፈለገው ጋር የሚሚሳሰል ዝርዝር አልተገኘም",
|
||||
"paginate": {
|
||||
"first": "መጀመሪያ",
|
||||
"last": "መጨረሻ",
|
||||
"next": "ቀጣዩ",
|
||||
"previous": "የበፊቱ"
|
||||
},
|
||||
"aria": {
|
||||
"sortAscending": ": ከመጀመሪያ ወደ መጨረሻ(ወጪ) አደራደር",
|
||||
"sortDescending": ": ከመጨረሻ ወደ መጀመሪያ(ወራጅ) አደራደር"
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
"sEmptyTable": "ባዶ ሰንጠረዥ",
|
||||
"sInfo": "ከጠቅላላው _TOTAL_ ዝርዝሮች ውስጥ ከ _START_ እስከ _END_ ያሉት ዝርዝር",
|
||||
"sInfoEmpty": "ከጠቅላላው 0 ዝርዝሮች ውስጥ ከ 0 እስከ 0 ያሉት ዝርዝር",
|
||||
"sInfoFiltered": "(ከጠቅላላው _MAX_ የተመረጡ ዝርዝሮች)",
|
||||
"sInfoPostFix": "",
|
||||
"sInfoThousands": ",",
|
||||
"sLengthMenu": "የዝርዝሮች ብዛት _MENU_",
|
||||
"sLoadingRecords": "በማቅረብ ላይ...",
|
||||
"sProcessing": "በማቀናበር ላይ...",
|
||||
"sSearch": "ፈልግ:",
|
||||
"sZeroRecords": "ከሚፈለገው ጋር የሚሚሳሰል ዝርዝር አልተገኘም",
|
||||
"oPaginate": {
|
||||
"sFirst": "መጀመሪያ",
|
||||
"sLast": "መጨረሻ",
|
||||
"sNext": "ቀጣዩ",
|
||||
"sPrevious": "የበፊቱ"
|
||||
},
|
||||
"oAria": {
|
||||
"sSortAscending": ": ከመጀመሪያ ወደ መጨረሻ(ወጪ) አደራደር",
|
||||
"sSortDescending": ": ከመጨረሻ ወደ መጀመሪያ(ወራጅ) አደራደር"
|
||||
}
|
||||
}
|
||||
247
external_js/dataTables/i18n/ar.json
Executable file
247
external_js/dataTables/i18n/ar.json
Executable file
@@ -0,0 +1,247 @@
|
||||
{
|
||||
"loadingRecords": "جارٍ التحميل...",
|
||||
"lengthMenu": "أظهر _MENU_ مدخلات",
|
||||
"zeroRecords": "لم يعثر على أية سجلات",
|
||||
"info": "إظهار _START_ إلى _END_ من أصل _TOTAL_ مدخل",
|
||||
"search": "ابحث:",
|
||||
"paginate": {
|
||||
"first": "الأول",
|
||||
"previous": "السابق",
|
||||
"next": "التالي",
|
||||
"last": "الأخير"
|
||||
},
|
||||
"aria": {
|
||||
"sortAscending": ": تفعيل لترتيب العمود تصاعدياً",
|
||||
"sortDescending": ": تفعيل لترتيب العمود تنازلياً"
|
||||
},
|
||||
"select": {
|
||||
"rows": {
|
||||
"_": "%d قيمة محددة",
|
||||
"1": "1 قيمة محددة"
|
||||
},
|
||||
"cells": {
|
||||
"1": "1 خلية محددة",
|
||||
"_": "%d خلايا محددة"
|
||||
},
|
||||
"columns": {
|
||||
"1": "1 عمود محدد",
|
||||
"_": "%d أعمدة محددة"
|
||||
}
|
||||
},
|
||||
"buttons": {
|
||||
"print": "طباعة",
|
||||
"copyKeys": "زر <i>ctrl<\/i> أو <i>⌘<\/i> + <i>C<\/i> من الجدول<br>ليتم نسخها إلى الحافظة<br><br>للإلغاء اضغط على الرسالة أو اضغط على زر الخروج.",
|
||||
"pageLength": {
|
||||
"-1": "اظهار الكل",
|
||||
"_": "إظهار %d أسطر",
|
||||
"1": "اظهار سطر واحد"
|
||||
},
|
||||
"collection": "مجموعة",
|
||||
"copy": "نسخ",
|
||||
"copyTitle": "نسخ إلى الحافظة",
|
||||
"csv": "CSV",
|
||||
"excel": "Excel",
|
||||
"pdf": "PDF",
|
||||
"colvis": "إظهار الأعمدة",
|
||||
"colvisRestore": "إستعادة العرض",
|
||||
"copySuccess": {
|
||||
"1": "تم نسخ سطر واحد الى الحافظة",
|
||||
"_": "تم نسخ %ds أسطر الى الحافظة"
|
||||
},
|
||||
"createState": "تكوين حالة",
|
||||
"removeAllStates": "ازالة جميع الحالات",
|
||||
"removeState": "ازالة حالة",
|
||||
"renameState": "تغيير اسم حالة",
|
||||
"savedStates": "الحالات المحفوظة",
|
||||
"stateRestore": "استرجاع حالة",
|
||||
"updateState": "تحديث حالة"
|
||||
},
|
||||
"searchBuilder": {
|
||||
"add": "اضافة شرط",
|
||||
"clearAll": "ازالة الكل",
|
||||
"condition": "الشرط",
|
||||
"data": "المعلومة",
|
||||
"logicAnd": "و",
|
||||
"logicOr": "أو",
|
||||
"value": "القيمة",
|
||||
"conditions": {
|
||||
"date": {
|
||||
"after": "بعد",
|
||||
"before": "قبل",
|
||||
"between": "بين",
|
||||
"empty": "فارغ",
|
||||
"equals": "تساوي",
|
||||
"notBetween": "ليست بين",
|
||||
"notEmpty": "ليست فارغة",
|
||||
"not": "ليست "
|
||||
},
|
||||
"number": {
|
||||
"between": "بين",
|
||||
"empty": "فارغة",
|
||||
"equals": "تساوي",
|
||||
"gt": "أكبر من",
|
||||
"lt": "أقل من",
|
||||
"not": "ليست",
|
||||
"notBetween": "ليست بين",
|
||||
"notEmpty": "ليست فارغة",
|
||||
"gte": "أكبر أو تساوي",
|
||||
"lte": "أقل أو تساوي"
|
||||
},
|
||||
"string": {
|
||||
"not": "ليست",
|
||||
"notEmpty": "ليست فارغة",
|
||||
"startsWith": " تبدأ بـ ",
|
||||
"contains": "تحتوي",
|
||||
"empty": "فارغة",
|
||||
"endsWith": "تنتهي ب",
|
||||
"equals": "تساوي",
|
||||
"notContains": "لا تحتوي",
|
||||
"notStartsWith": "لا تبدأ بـ",
|
||||
"notEndsWith": "لا تنتهي بـ"
|
||||
},
|
||||
"array": {
|
||||
"equals": "تساوي",
|
||||
"empty": "فارغة",
|
||||
"contains": "تحتوي",
|
||||
"not": "ليست",
|
||||
"notEmpty": "ليست فارغة",
|
||||
"without": "بدون"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"0": "فلاتر البحث",
|
||||
"_": "فلاتر البحث (%d)"
|
||||
},
|
||||
"deleteTitle": "حذف فلاتر",
|
||||
"leftTitle": "محاذاة يسار",
|
||||
"rightTitle": "محاذاة يمين",
|
||||
"title": {
|
||||
"0": "البحث المتقدم",
|
||||
"_": "البحث المتقدم (فعال)"
|
||||
}
|
||||
},
|
||||
"searchPanes": {
|
||||
"clearMessage": "ازالة الكل",
|
||||
"collapse": {
|
||||
"0": "بحث",
|
||||
"_": "بحث (%d)"
|
||||
},
|
||||
"count": "عدد",
|
||||
"countFiltered": "عدد المفلتر",
|
||||
"loadMessage": "جارِ التحميل ...",
|
||||
"title": "الفلاتر النشطة",
|
||||
"showMessage": "إظهار الجميع",
|
||||
"collapseMessage": "إخفاء الجميع",
|
||||
"emptyPanes": "لا يوجد مربع بحث"
|
||||
},
|
||||
"infoThousands": ",",
|
||||
"datetime": {
|
||||
"previous": "السابق",
|
||||
"next": "التالي",
|
||||
"hours": "الساعة",
|
||||
"minutes": "الدقيقة",
|
||||
"seconds": "الثانية",
|
||||
"unknown": "-",
|
||||
"amPm": [
|
||||
"صباحا",
|
||||
"مساءا"
|
||||
],
|
||||
"weekdays": [
|
||||
"الأحد",
|
||||
"الإثنين",
|
||||
"الثلاثاء",
|
||||
"الأربعاء",
|
||||
"الخميس",
|
||||
"الجمعة",
|
||||
"السبت"
|
||||
],
|
||||
"months": [
|
||||
"يناير",
|
||||
"فبراير",
|
||||
"مارس",
|
||||
"أبريل",
|
||||
"مايو",
|
||||
"يونيو",
|
||||
"يوليو",
|
||||
"أغسطس",
|
||||
"سبتمبر",
|
||||
"أكتوبر",
|
||||
"نوفمبر",
|
||||
"ديسمبر"
|
||||
]
|
||||
},
|
||||
"editor": {
|
||||
"close": "إغلاق",
|
||||
"create": {
|
||||
"button": "إضافة",
|
||||
"title": "إضافة جديدة",
|
||||
"submit": "إرسال"
|
||||
},
|
||||
"edit": {
|
||||
"button": "تعديل",
|
||||
"title": "تعديل السجل",
|
||||
"submit": "تحديث"
|
||||
},
|
||||
"remove": {
|
||||
"button": "حذف",
|
||||
"title": "حذف",
|
||||
"submit": "حذف",
|
||||
"confirm": {
|
||||
"_": "هل أنت متأكد من رغبتك في حذف السجلات %d المحددة؟",
|
||||
"1": "هل أنت متأكد من رغبتك في حذف السجل؟"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"system": "حدث خطأ ما"
|
||||
},
|
||||
"multi": {
|
||||
"title": "قيم متعدية",
|
||||
"restore": "تراجع",
|
||||
"info": "القيم المختارة تحتوى على عدة قيم لهذا المدخل. لتعديل وتحديد جميع القيم لهذا المدخل، اضغط او انتقل هنا، عدا ذلك سيبقى نفس القيم",
|
||||
"noMulti": "هذا المدخل مفرد وليس ضمن مجموعة"
|
||||
}
|
||||
},
|
||||
"processing": "جارٍ المعالجة...",
|
||||
"emptyTable": "لا يوجد بيانات متاحة في الجدول",
|
||||
"infoEmpty": "يعرض 0 إلى 0 من أصل 0 مُدخل",
|
||||
"thousands": ".",
|
||||
"stateRestore": {
|
||||
"creationModal": {
|
||||
"columns": {
|
||||
"search": "إمكانية البحث للعمود",
|
||||
"visible": "إظهار العمود"
|
||||
},
|
||||
"toggleLabel": "تتضمن",
|
||||
"button": "تكوين الحالة",
|
||||
"name": "اسم الحالة",
|
||||
"order": "فرز",
|
||||
"paging": "تصحيف",
|
||||
"scroller": "مكان السحب",
|
||||
"search": "بحث",
|
||||
"searchBuilder": "مكون البحث",
|
||||
"select": "تحديد",
|
||||
"title": "تكوين حالة جديدة"
|
||||
},
|
||||
"duplicateError": "حالة مكررة بنفس الاسم",
|
||||
"emptyError": "لا يسمح بأن يكون اسم الحالة فارغة.",
|
||||
"emptyStates": "لا توجد حالة محفوظة",
|
||||
"removeConfirm": "هل أنت متأكد من حذف الحالة %s؟",
|
||||
"removeError": "لم استطع ازالة الحالة.",
|
||||
"removeJoiner": "و",
|
||||
"removeSubmit": "حذف",
|
||||
"removeTitle": "حذف حالة",
|
||||
"renameButton": "تغيير اسم حالة",
|
||||
"renameLabel": "الاسم الجديد للحالة %s:",
|
||||
"renameTitle": "تغيير اسم الحالة"
|
||||
},
|
||||
"autoFill": {
|
||||
"cancel": "إلغاء الامر",
|
||||
"fill": "املأ كل الخلايا بـ <i>%d<\/i>",
|
||||
"fillHorizontal": "تعبئة الخلايا أفقيًا",
|
||||
"fillVertical": "تعبئة الخلايا عموديا",
|
||||
"info": "تعبئة تلقائية"
|
||||
},
|
||||
"decimal": ",",
|
||||
"infoFiltered": "(مرشحة من مجموع _MAX_ مُدخل)",
|
||||
"searchPlaceholder": "مثال بحث"
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"sProcessing": "جارٍ التحميل...",
|
||||
"sLengthMenu": "أظهر _MENU_ مدخلات",
|
||||
"sZeroRecords": "لم يعثر على أية سجلات",
|
||||
"sInfo": "إظهار _START_ إلى _END_ من أصل _TOTAL_ مدخل",
|
||||
"sInfoEmpty": "يعرض 0 إلى 0 من أصل 0 سجل",
|
||||
"sInfoFiltered": "(منتقاة من مجموع _MAX_ مُدخل)",
|
||||
"sInfoPostFix": "",
|
||||
"sSearch": "ابحث:",
|
||||
"sUrl": "",
|
||||
"oPaginate": {
|
||||
"sFirst": "الأول",
|
||||
"sPrevious": "السابق",
|
||||
"sNext": "التالي",
|
||||
"sLast": "الأخير"
|
||||
}
|
||||
}
|
||||
181
external_js/dataTables/i18n/az.json
Executable file
181
external_js/dataTables/i18n/az.json
Executable file
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"emptyTable": "Cədvəldə heç bir məlumat yoxdur",
|
||||
"infoEmpty": "Nəticə Yoxdur",
|
||||
"infoFiltered": "( _MAX_ Nəticə İçindən Tapılanlar)",
|
||||
"loadingRecords": "Yüklənir...",
|
||||
"processing": "Gözləyin...",
|
||||
"search": "Axtarış:",
|
||||
"zeroRecords": "Nəticə Tapılmadı.",
|
||||
"paginate": {
|
||||
"first": "İlk",
|
||||
"last": "Axırıncı",
|
||||
"previous": "Öncəki",
|
||||
"next": "Sonrakı"
|
||||
},
|
||||
"aria": {
|
||||
"sortDescending": ": sütunu azalma sırası üzərə aktiv etmək",
|
||||
"sortAscending": ": sütunu artma sırası üzərə aktiv etmək"
|
||||
},
|
||||
"autoFill": {
|
||||
"fill": "Bütün hücrələri <i>%d<\/i> ile doldur",
|
||||
"fillHorizontal": "Hücrələri üfiqi olaraq doldur",
|
||||
"fillVertical": "Hücrələri şaquli olara1 doldur",
|
||||
"cancel": "Ləğv et"
|
||||
},
|
||||
"buttons": {
|
||||
"collection": "Kolleksiya <span class=\"\\\"><\/span>",
|
||||
"colvis": "Sütun baxışı",
|
||||
"colvisRestore": "Baxışı əvvəlki vəziyyətinə gətir",
|
||||
"copy": "Kopyala",
|
||||
"copyKeys": "Cədvəldəki qeydi kopyalamaq üçün CTRL və ya u2318 + C düymələrinə basın. Ləğv etmək üçün bu mesajı vurun və ya ESC düyməsini vurun.",
|
||||
"copySuccess": {
|
||||
"1": "1 sətir panoya kopyalandı",
|
||||
"_": "%ds sətir panoya kopyalandı"
|
||||
},
|
||||
"copyTitle": "Panoya kopyala",
|
||||
"csv": "CSV",
|
||||
"excel": "Excel",
|
||||
"pageLength": {
|
||||
"-1": "Bütün sətirlari göstər",
|
||||
"_": "%d sətir göstər"
|
||||
},
|
||||
"pdf": "PDF",
|
||||
"print": "Çap Et"
|
||||
},
|
||||
"decimal": ",",
|
||||
"info": "_TOTAL_ Nəticədən _START_ - _END_ Arası Nəticələr",
|
||||
"infoThousands": ".",
|
||||
"searchBuilder": {
|
||||
"add": "Koşul Ekle",
|
||||
"button": {
|
||||
"0": "Axtarış Yaradıcı",
|
||||
"_": "Axtarış Yaradıcı (%d)"
|
||||
},
|
||||
"clearAll": "Filtrləri Təmizlə",
|
||||
"condition": "Şərt",
|
||||
"conditions": {
|
||||
"date": {
|
||||
"after": "Növbəti",
|
||||
"before": "Öncəki",
|
||||
"between": "Arasında",
|
||||
"empty": "Boş",
|
||||
"equals": "Bərabərdir",
|
||||
"not": "Deyildir",
|
||||
"notBetween": "Xaricində",
|
||||
"notEmpty": "Dolu"
|
||||
},
|
||||
"number": {
|
||||
"between": "Arasında",
|
||||
"empty": "Boş",
|
||||
"equals": "Bərabərdir",
|
||||
"gt": "Böyükdür",
|
||||
"gte": "Böyük bərabərdir",
|
||||
"lt": "Kiçikdir",
|
||||
"lte": "Kiçik bərabərdir",
|
||||
"not": "Deyildir",
|
||||
"notBetween": "Xaricində",
|
||||
"notEmpty": "Dolu"
|
||||
},
|
||||
"string": {
|
||||
"contains": "Tərkibində",
|
||||
"empty": "Boş",
|
||||
"endsWith": "İlə bitər",
|
||||
"equals": "Bərabərdir",
|
||||
"not": "Deyildir",
|
||||
"notEmpty": "Dolu",
|
||||
"startsWith": "İlə başlayar"
|
||||
},
|
||||
"array": {
|
||||
"equals": "Bərabərdir",
|
||||
"empty": "Boş",
|
||||
"contains": "Tərkibində",
|
||||
"not": "Deyildir",
|
||||
"notEmpty": "Dolu",
|
||||
"without": "Xaric"
|
||||
}
|
||||
},
|
||||
"data": "Qeyd",
|
||||
"deleteTitle": "Filtrləmə qaydasını silin",
|
||||
"leftTitle": "Meyarı xaricə çıxarmaq",
|
||||
"logicAnd": "və",
|
||||
"logicOr": "vəya",
|
||||
"rightTitle": "Meyarı içəri al",
|
||||
"title": {
|
||||
"0": "Axtarış Yaradıcı",
|
||||
"_": "Axtarış Yaradıcı (%d)"
|
||||
},
|
||||
"value": "Değer"
|
||||
},
|
||||
"searchPanes": {
|
||||
"clearMessage": "Hamısını Təmizlə",
|
||||
"collapse": {
|
||||
"0": "Axtarış Bölməsi",
|
||||
"_": "Axtarış Bölməsi (%d)"
|
||||
},
|
||||
"count": "{total}",
|
||||
"countFiltered": "{shown}\/{total}",
|
||||
"emptyPanes": "Axtarış Bölməsi yoxdur",
|
||||
"loadMessage": "Axtarış Bölməsi yüklənir ...",
|
||||
"title": "Aktiv filtrlər - %d"
|
||||
},
|
||||
"select": {
|
||||
"cells": {
|
||||
"1": "1 hücrə seçildi",
|
||||
"_": "%d hücrə seçildi"
|
||||
},
|
||||
"columns": {
|
||||
"1": "1 sütun seçildi",
|
||||
"_": "%d sütun seçildi"
|
||||
},
|
||||
"rows": {
|
||||
"1": "1 qeyd seçildi",
|
||||
"_": "%d qeyd seçildi"
|
||||
}
|
||||
},
|
||||
"thousands": ".",
|
||||
"datetime": {
|
||||
"previous": "Öncəki",
|
||||
"next": "Növbəti",
|
||||
"hours": "Saat",
|
||||
"minutes": "Dəqiqə",
|
||||
"seconds": "Saniyə",
|
||||
"unknown": "Naməlum",
|
||||
"amPm": [
|
||||
"am",
|
||||
"pm"
|
||||
]
|
||||
},
|
||||
"editor": {
|
||||
"close": "Bağla",
|
||||
"create": {
|
||||
"button": "Təzə",
|
||||
"title": "Yeni qeyd yarat",
|
||||
"submit": "Qeyd Et"
|
||||
},
|
||||
"edit": {
|
||||
"button": "Redaktə Et",
|
||||
"title": "Qeydi Redaktə Et",
|
||||
"submit": "Yeniləyin"
|
||||
},
|
||||
"remove": {
|
||||
"button": "Sil",
|
||||
"title": "Qeydləri sil",
|
||||
"submit": "Sil",
|
||||
"confirm": {
|
||||
"_": "%d ədəd qeydi silmək istədiyinizə əminsiniz?",
|
||||
"1": "Bu qeydi silmək istədiyinizə əminsiniz?"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"system": "Sistem xətası baş verdi (Ətraflı Məlumat)"
|
||||
},
|
||||
"multi": {
|
||||
"title": "Çox dəyər",
|
||||
"info": "Seçilmiş qeydlər bu sahədə fərqli dəyərlər ehtiva edir. Bütün seçilmiş qeydlər üçün bu sahəyə eyni dəyəri təyin etmək üçün buraya vurun; əks halda hər qeyd öz dəyərini saxlayacaqdır.",
|
||||
"restore": "Dəyişiklikləri geri qaytarın",
|
||||
"noMulti": "Bu sahə qrup şəklində deyil, ayrı-ayrılıqda təşkil edilə bilər."
|
||||
}
|
||||
},
|
||||
"lengthMenu": "Səhifədə _MENU_ nəticə göstər",
|
||||
"searchPlaceholder": "Nəyi axtarırsınız?"
|
||||
}
|
||||
19
external_js/dataTables/i18n/be.json
Executable file
19
external_js/dataTables/i18n/be.json
Executable file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"processing": "Пачакайце...",
|
||||
"lengthMenu": "Паказваць _MENU_ запісаў",
|
||||
"zeroRecords": "Запісы адсутнічаюць.",
|
||||
"info": "Запісы з _START_ па _END_ з _TOTAL_ запісаў",
|
||||
"infoEmpty": "Запісы з 0 па 0 з 0 запісаў",
|
||||
"infoFiltered": "(адфільтравана з _MAX_ запісаў)",
|
||||
"search": "Пошук:",
|
||||
"paginate": {
|
||||
"first": "Першая",
|
||||
"previous": "Папярэдняя",
|
||||
"next": "Наступная",
|
||||
"last": "Апошняя"
|
||||
},
|
||||
"aria": {
|
||||
"sortAscending": ": актываваць для сартавання слупка па ўзрастанні",
|
||||
"sortDescending": ": актываваць для сартавання слупка па змяншэнні"
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"sProcessing": "Пачакайце...",
|
||||
"sLengthMenu": "Паказваць _MENU_ запісаў",
|
||||
"sZeroRecords": "Запісы адсутнічаюць.",
|
||||
"sInfo": "Запісы з _START_ па _END_ з _TOTAL_ запісаў",
|
||||
"sInfoEmpty": "Запісы з 0 па 0 з 0 запісаў",
|
||||
"sInfoFiltered": "(адфільтравана з _MAX_ запісаў)",
|
||||
"sInfoPostFix": "",
|
||||
"sSearch": "Пошук:",
|
||||
"sUrl": "",
|
||||
"oPaginate": {
|
||||
"sFirst": "Першая",
|
||||
"sPrevious": "Папярэдняя",
|
||||
"sNext": "Наступная",
|
||||
"sLast": "Апошняя"
|
||||
},
|
||||
"oAria": {
|
||||
"sSortAscending": ": актываваць для сартавання слупка па ўзрастанні",
|
||||
"sSortDescending": ": актываваць для сартавання слупка па змяншэнні"
|
||||
}
|
||||
}
|
||||
176
external_js/dataTables/i18n/bg.json
Executable file
176
external_js/dataTables/i18n/bg.json
Executable file
@@ -0,0 +1,176 @@
|
||||
{
|
||||
"processing": "Обработка на резултатите...",
|
||||
"lengthMenu": "Показване на _MENU_ резултата",
|
||||
"zeroRecords": "Няма намерени резултати",
|
||||
"info": "Показване на резултати от _START_ до _END_ от общо _TOTAL_",
|
||||
"infoEmpty": "Показване на резултати от 0 до 0 от общо 0",
|
||||
"infoFiltered": "(филтрирани от общо _MAX_ резултата)",
|
||||
"search": "Търсене:",
|
||||
"paginate": {
|
||||
"first": "Първа",
|
||||
"previous": "Предишна",
|
||||
"next": "Следваща",
|
||||
"last": "Последна"
|
||||
},
|
||||
"aria": {
|
||||
"sortAscending": "сортирай възходящо",
|
||||
"sortDescending": "сортирай низходящо"
|
||||
},
|
||||
"autoFill": {
|
||||
"cancel": "Oткажи",
|
||||
"fill": "Попълни всички клетки с <i>%d<i><\/i><\/i>",
|
||||
"fillHorizontal": "Попълни хоризонтални клетки",
|
||||
"fillVertical": "Попълни вертикални клетки"
|
||||
},
|
||||
"searchBuilder": {
|
||||
"add": "Добави",
|
||||
"deleteTitle": "Изтрий критериите за търсене",
|
||||
"clearAll": "Изчисти всичко",
|
||||
"condition": "Правило",
|
||||
"conditions": {
|
||||
"array": {
|
||||
"contains": "Съдържа",
|
||||
"empty": "Празно",
|
||||
"equals": "Еднакво с",
|
||||
"not": "Различно от",
|
||||
"notEmpty": "Не е празно",
|
||||
"without": "Без"
|
||||
},
|
||||
"date": {
|
||||
"after": "След",
|
||||
"before": "Преди",
|
||||
"between": "Между",
|
||||
"empty": "Празно",
|
||||
"equals": "Равна на",
|
||||
"not": "Различна от",
|
||||
"notBetween": "Не е между",
|
||||
"notEmpty": "Не е празно"
|
||||
},
|
||||
"number": {
|
||||
"between": "Между",
|
||||
"empty": "Празно",
|
||||
"equals": "Равно",
|
||||
"gt": "Над",
|
||||
"gte": "Над или равно",
|
||||
"lt": "Под",
|
||||
"lte": "Под или равно",
|
||||
"not": "Различно от",
|
||||
"notBetween": "Не е между",
|
||||
"notEmpty": "Не е празно"
|
||||
},
|
||||
"string": {
|
||||
"contains": "Съдържа",
|
||||
"empty": "Празно",
|
||||
"endsWith": "Завършва с",
|
||||
"equals": "Еднакво с",
|
||||
"not": "Различно от",
|
||||
"notEmpty": "Не е празно",
|
||||
"startsWith": "Започва с"
|
||||
}
|
||||
},
|
||||
"data": "Поле",
|
||||
"logicAnd": "И",
|
||||
"logicOr": "Или",
|
||||
"value": "Стойност"
|
||||
},
|
||||
"searchPanes": {
|
||||
"clearMessage": "Изтрий всички",
|
||||
"emptyPanes": "Няма SearchPanes",
|
||||
"loadMessage": "Зареждане...",
|
||||
"title": "Активни филтри - %d"
|
||||
},
|
||||
"buttons": {
|
||||
"collection": "Колекция",
|
||||
"colvis": "Показване\/Скриване на колони",
|
||||
"colvisRestore": "Показване на всички колони",
|
||||
"copy": "Копиране",
|
||||
"copyKeys": "Натисни <i>ctrl или u2318 + C за да копираш данните от таблицата.<br \/> За да отмените, щракнете върху това съобщение или натиснете <i>escape<\/i>.<\/i>",
|
||||
"copySuccess": {
|
||||
"_": "Копирани %ds реда",
|
||||
"1": "Копиран един ред"
|
||||
},
|
||||
"copyTitle": "Копиране в буфера",
|
||||
"pageLength": {
|
||||
"_": "Покажи %d реда",
|
||||
"-1": "Покажи всички редове"
|
||||
},
|
||||
"print": "Принтиране"
|
||||
},
|
||||
"datetime": {
|
||||
"hours": "Часове",
|
||||
"minutes": "Минути",
|
||||
"months": {
|
||||
"0": "Януари",
|
||||
"1": "Февруари",
|
||||
"10": "Ноември",
|
||||
"11": "Декември",
|
||||
"2": "Март",
|
||||
"3": "Април",
|
||||
"4": "Май",
|
||||
"5": "Юни",
|
||||
"6": "Юли",
|
||||
"7": "Август",
|
||||
"8": "Септември",
|
||||
"9": "Октомври"
|
||||
},
|
||||
"next": "Напред",
|
||||
"previous": "Назад",
|
||||
"seconds": "Секунди",
|
||||
"weekdays": [
|
||||
"Нед",
|
||||
"Пон",
|
||||
"Вт",
|
||||
"Ср",
|
||||
"Четв",
|
||||
"Пет",
|
||||
"Съб"
|
||||
]
|
||||
},
|
||||
"editor": {
|
||||
"close": "Затвори",
|
||||
"create": {
|
||||
"button": "Нов запис",
|
||||
"submit": "Създай",
|
||||
"title": "Създай нов запис"
|
||||
},
|
||||
"edit": {
|
||||
"button": "Промени",
|
||||
"submit": "Промени",
|
||||
"title": "Промени запис"
|
||||
},
|
||||
"error": {
|
||||
"system": "Грешка в системата!"
|
||||
},
|
||||
"multi": {
|
||||
"info": "Избраните елементи съдържат различни стойности за това поле. За да редактирате и зададете всички елементи за това поле на една и съща стойност, щракнете или докоснете тук, в противен случай те ще запазят своите индивидуални стойности.",
|
||||
"noMulti": "Това полеможе да се редактира индивидуално, но не е част от група.",
|
||||
"restore": "Отмяна на промените",
|
||||
"title": "Множество стойности"
|
||||
},
|
||||
"remove": {
|
||||
"button": "Изтрий",
|
||||
"confirm": {
|
||||
"_": "Сигурни ли сте, че искате да изтриете %d реда?",
|
||||
"1": "Сигурни ли сте, че искате да изтриете 1 ред?"
|
||||
},
|
||||
"submit": "Изтрий",
|
||||
"title": "Изтрий запис"
|
||||
}
|
||||
},
|
||||
"emptyTable": "Няма налични данни в таблицата",
|
||||
"loadingRecords": "Зареждане...",
|
||||
"select": {
|
||||
"cells": {
|
||||
"_": "%d избрани клетки",
|
||||
"1": "%d избрана клетка"
|
||||
},
|
||||
"columns": {
|
||||
"_": "%d избрани колони",
|
||||
"1": "%d избрана колона"
|
||||
},
|
||||
"rows": {
|
||||
"_": "%d избрани реда",
|
||||
"1": "%d избран ред"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"sProcessing": "Обработка на резултатите...",
|
||||
"sLengthMenu": "Показване на _MENU_ резултата",
|
||||
"sZeroRecords": "Няма намерени резултати",
|
||||
"sInfo": "Показване на резултати от _START_ до _END_ от общо _TOTAL_",
|
||||
"sInfoEmpty": "Показване на резултати от 0 до 0 от общо 0",
|
||||
"sInfoFiltered": "(филтрирани от общо _MAX_ резултата)",
|
||||
"sInfoPostFix": "",
|
||||
"sSearch": "Търсене:",
|
||||
"sUrl": "",
|
||||
"oPaginate": {
|
||||
"sFirst": "Първа",
|
||||
"sPrevious": "Предишна",
|
||||
"sNext": "Следваща",
|
||||
"sLast": "Последна"
|
||||
}
|
||||
}
|
||||
236
external_js/dataTables/i18n/bn.json
Executable file
236
external_js/dataTables/i18n/bn.json
Executable file
@@ -0,0 +1,236 @@
|
||||
{
|
||||
"processing": "প্রসেসিং হচ্ছে...",
|
||||
"lengthMenu": "_MENU_ টা এন্ট্রি দেখাও",
|
||||
"zeroRecords": "আপনি যা অনুসন্ধান করেছেন তার সাথে মিলে যাওয়া কোন রেকর্ড খুঁজে পাওয়া যায় নাই",
|
||||
"info": "_TOTAL_ টা এন্ট্রির মধ্যে _START_ থেকে _END_ পর্যন্ত দেখানো হচ্ছে",
|
||||
"infoEmpty": "কোন এন্ট্রি খুঁজে পাওয়া যায় নাই",
|
||||
"infoFiltered": "(মোট _MAX_ টা এন্ট্রির মধ্যে থেকে বাছাইকৃত)",
|
||||
"search": "অনুসন্ধান:",
|
||||
"paginate": {
|
||||
"first": "প্রথমটা",
|
||||
"previous": "আগেরটা",
|
||||
"next": "পরবর্তীটা",
|
||||
"last": "শেষেরটা"
|
||||
},
|
||||
"autoFill": {
|
||||
"cancel": "বাতিল করা",
|
||||
"fill": "<i>%d<\/i> দিয়ে সমস্ত ঘর পূরণ করুন",
|
||||
"fillHorizontal": "অনুভূমিকভাবে কোষগুলি পূরণ করুন",
|
||||
"fillVertical": "উল্লম্বভাবে কক্ষগুলি পূরণ করুন"
|
||||
},
|
||||
"aria": {
|
||||
"sortAscending": ":ঊর্ধ্বক্রম অনুসারে কলাম সাজাতে সক্রিয় করুন",
|
||||
"sortDescending": ":নিন্মক্রম অনুসারে কলাম সাজাতে সক্রিয় করুন"
|
||||
},
|
||||
"buttons": {
|
||||
"collection": "সংগ্রহ <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
||||
"colvis": "কলাম দৃশ্যমানতা",
|
||||
"colvisRestore": "দৃশ্যমানতা পুনরুদ্ধার করুন",
|
||||
"copy": "অনুলিপি",
|
||||
"copySuccess": {
|
||||
"_": "ক্লিপবোর্ডে %d সারি কপি করা হয়েছে",
|
||||
"1": "ক্লিপবোর্ডে ১টি সারি কপি করা হয়েছে"
|
||||
},
|
||||
"copyTitle": "ক্লিপবোর্ডে কপি করুন",
|
||||
"excel": "এক্সেল",
|
||||
"pageLength": {
|
||||
"_": "%d সারি দেখান",
|
||||
"-1": "সমস্ত সারি দেখান"
|
||||
},
|
||||
"pdf": "পিডিএফ",
|
||||
"print": "মুদ্রণ",
|
||||
"removeState": "অপসারণ করা",
|
||||
"renameState": "নাম পরিবর্তন করুন",
|
||||
"copyKeys": "টেবিলের তথ্য সিস্টেম ক্লিপবোর্ডে কপি করতে <i>ctrl<\/i> অথবা <i>u2318<\/i> + <i>C<\/i> চাপুন।<br \/><br \/>বাদ দিতে চাইলে, এই মেসেজে ক্লিক করুন বা এসকেপ চাপুন।",
|
||||
"csv": "সিএসভি",
|
||||
"createState": "স্টেট তৈরি",
|
||||
"removeAllStates": "সব স্টেটগুলো অপসারণ",
|
||||
"savedStates": "সেভ করা স্টেটগুলো",
|
||||
"stateRestore": "স্টেট %d",
|
||||
"updateState": "আপডেট"
|
||||
},
|
||||
"datetime": {
|
||||
"amPm": [
|
||||
"মধ্য রাতের পর",
|
||||
"মধ্যাহ্নের মধ্যবর্তিকালীন"
|
||||
],
|
||||
"hours": "ঘন্টা",
|
||||
"minutes": "মিনিট",
|
||||
"months": {
|
||||
"0": "জানুয়ারি",
|
||||
"1": "ফেব্রুয়ারী",
|
||||
"10": "নভেম্বর",
|
||||
"11": "ডিসেম্বর",
|
||||
"2": "মার্চ",
|
||||
"3": "এপ্রিল",
|
||||
"4": "মে",
|
||||
"5": "জুন",
|
||||
"6": "জুলাই",
|
||||
"7": "আগষ্ট",
|
||||
"8": "সেপ্টেম্বর",
|
||||
"9": "অক্টোবর"
|
||||
},
|
||||
"next": "পরবর্তী",
|
||||
"previous": "আগে",
|
||||
"seconds": "সেকেন্ড",
|
||||
"weekdays": [
|
||||
"রবিবার",
|
||||
"সোমবার",
|
||||
"মঙ্গলবার",
|
||||
"বুধবার",
|
||||
"বৃহস্পতিবার",
|
||||
"শুক্রবার",
|
||||
"শনিবার"
|
||||
],
|
||||
"unknown": "অজানা"
|
||||
},
|
||||
"editor": {
|
||||
"create": {
|
||||
"button": "নতুন",
|
||||
"submit": "সৃষ্টি করা",
|
||||
"title": "নতুন এন্ট্রি তৈরি করুন"
|
||||
},
|
||||
"edit": {
|
||||
"button": "সম্পাদনা করুন",
|
||||
"title": "এন্ট্রি সম্পাদনা",
|
||||
"submit": "আপডেট"
|
||||
},
|
||||
"error": {
|
||||
"system": "একটি সিস্টেম ত্রুটি ঘটেছে (<a target=\"\\\" rel=\"\\ nofollow\" href=\"\\\">অধিক তথ্য<\/a>)."
|
||||
},
|
||||
"multi": {
|
||||
"info": "নির্বাচিত আইটেম এই ইনপুট জন্য বিভিন্ন মান আছে. এই ইনপুটের জন্য সমস্ত আইটেমকে একই মান সম্পাদনা করতে এবং সেট করতে, এখানে ক্লিক করুন বা আলতো চাপুন, অন্যথায় তারা তাদের পৃথক মান বজায় রাখবে।",
|
||||
"noMulti": "এই ইনপুটটি পৃথকভাবে সম্পাদনা করা যেতে পারে, তবে একটি গোষ্ঠীর অংশ হিসাবে নয়৷ ",
|
||||
"restore": "পরিবর্তন পূর্বাবস্থায় ফেরান",
|
||||
"title": "একাধিক মান"
|
||||
},
|
||||
"remove": {
|
||||
"confirm": {
|
||||
"_": "আপনি কি নিশ্চিত যে আপনি %d সারি মুছে ফেলতে চান?",
|
||||
"1": "আপনি কি নিশ্চিত যে আপনি 1টি সারি মুছে ফেলতে চান?"
|
||||
},
|
||||
"button": "মুছে ফেলা",
|
||||
"submit": "মুছে ফেলা",
|
||||
"title": "মুছে ফেলা"
|
||||
},
|
||||
"close": "বন্ধ করুন"
|
||||
},
|
||||
"stateRestore": {
|
||||
"creationModal": {
|
||||
"button": "সৃষ্টি",
|
||||
"columns": {
|
||||
"search": "কলাম অনুসন্ধান",
|
||||
"visible": "কলাম দৃশ্যমানতা"
|
||||
},
|
||||
"name": "নাম",
|
||||
"paging": "পেজিং",
|
||||
"scroller": "স্ক্রোল অবস্থান",
|
||||
"search": "অনুসন্ধান করুন",
|
||||
"searchBuilder": "সার্চ বিল্ডার",
|
||||
"select": "নির্বাচন করুন",
|
||||
"title": "নতুন স্টেট তৈরি করুন",
|
||||
"toggleLabel": "অন্তর্ভুক্ত: ",
|
||||
"order": "সাজানো"
|
||||
},
|
||||
"duplicateError": "এই নামের একটি স্টেট ইতিমধ্যেই বিদ্যমান৷",
|
||||
"emptyError": "নাম খালি রাখা যাবে না।",
|
||||
"emptyStates": "কোন সংরক্ষিত স্টেট",
|
||||
"removeConfirm": "আপনি নিশ্চিত ভাবে সরাতে চান হয় %s?",
|
||||
"removeError": "স্টেট সরাতে ব্যর্থ হয়েছে৷",
|
||||
"removeJoiner": "এবং",
|
||||
"removeSubmit": "অপসারণ",
|
||||
"renameButton": "নাম পরিবর্তন করুন",
|
||||
"renameLabel": "নতুন নাম এর জন্য %s:",
|
||||
"renameTitle": "রাজ্যের নাম পরিবর্তন করুন",
|
||||
"removeTitle": "স্টেট মুছুন"
|
||||
},
|
||||
"thousands": ",",
|
||||
"emptyTable": "খালি টেবিল",
|
||||
"searchBuilder": {
|
||||
"clearAll": "সব মুছে ফেলুন",
|
||||
"data": "ডাটা",
|
||||
"add": "নতুন শর্ত",
|
||||
"button": {
|
||||
"0": "অনুসন্ধান বিল্ডার",
|
||||
"_": "অনুসন্ধান বিল্ডার (%d)"
|
||||
},
|
||||
"condition": "শর্ত",
|
||||
"conditions": {
|
||||
"date": {
|
||||
"after": "পরে",
|
||||
"before": "আগে",
|
||||
"between": "মধ্যে",
|
||||
"empty": "খালি",
|
||||
"equals": "সমান",
|
||||
"not": "নয়",
|
||||
"notBetween": "মধ্যে নয়",
|
||||
"notEmpty": "খালি নয়"
|
||||
},
|
||||
"number": {
|
||||
"between": "মধ্যে",
|
||||
"empty": "খালি",
|
||||
"equals": "সমান",
|
||||
"gt": "বৃহত্তর",
|
||||
"gte": "বৃহত্তর বা সমান",
|
||||
"lt": "ক্ষুদ্রতর",
|
||||
"lte": "ক্ষুদ্রতর বা সমান",
|
||||
"not": "নয়",
|
||||
"notBetween": "মধ্যে নয়",
|
||||
"notEmpty": "খালি নয়"
|
||||
},
|
||||
"string": {
|
||||
"contains": "বিদ্যমান",
|
||||
"empty": "খালি",
|
||||
"endsWith": "শেষ হয়",
|
||||
"equals": "সমান",
|
||||
"not": "নয়",
|
||||
"notEmpty": "খালি নয়",
|
||||
"startsWith": "শুরু হয়",
|
||||
"notContains": "বিদ্যমান নয়",
|
||||
"notStartsWith": "শুরু হয় না",
|
||||
"notEndsWith": "শেষ হয় না"
|
||||
},
|
||||
"array": {
|
||||
"equals": "সমান",
|
||||
"empty": "খালি",
|
||||
"contains": "বিদ্যমান",
|
||||
"not": "নয়",
|
||||
"notEmpty": "খালি নয়",
|
||||
"without": "ছাড়া"
|
||||
}
|
||||
},
|
||||
"deleteTitle": "ফিল্টারের নিয়ম অপসারণ",
|
||||
"leftTitle": "বাইরের মানদন্ড",
|
||||
"logicAnd": "এবং",
|
||||
"logicOr": "অথবা",
|
||||
"rightTitle": "ভেতরের মানদন্ড",
|
||||
"title": {
|
||||
"0": "অনুসন্ধান বিল্ডার",
|
||||
"_": "অনুসন্ধান বিল্ডার (%d)"
|
||||
},
|
||||
"value": "ফলাফল"
|
||||
},
|
||||
"loadingRecords": "লোডিং হচ্ছে...",
|
||||
"searchPanes": {
|
||||
"clearMessage": "সব মুছুন",
|
||||
"collapse": {
|
||||
"0": "সার্চপেনসমূহ",
|
||||
"_": "সার্চপেন (%d)"
|
||||
},
|
||||
"emptyPanes": "কোনো সার্চপেন নেই",
|
||||
"loadMessage": "সার্চপেন লোড হচ্ছে...",
|
||||
"title": "চলমান ফিল্টার - %d",
|
||||
"showMessage": "সবগুলো দেখান",
|
||||
"collapseMessage": "সবগুলো বন্ধ করুন"
|
||||
},
|
||||
"select": {
|
||||
"cells": {
|
||||
"1": "১টি সেল সিলেক্ট হয়েছে",
|
||||
"_": "%dটি সেল সিলেক্ট হয়েছে"
|
||||
},
|
||||
"columns": {
|
||||
"1": "১টি কলাম সিলেক্ট হয়েছে",
|
||||
"_": "%dটি কলাম সিলেক্ট হয়েছে"
|
||||
}
|
||||
}
|
||||
}
|
||||
74
external_js/dataTables/i18n/bs.json
Executable file
74
external_js/dataTables/i18n/bs.json
Executable file
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"aria": {
|
||||
"sortAscending": ": aktivirajte da sortirate kolonu uzlazno",
|
||||
"sortDescending": ": aktivirajte da sortirate kolonu silazno"
|
||||
},
|
||||
"autoFill": {
|
||||
"cancel": "Poništiti",
|
||||
"fill": "Ispunite sve ćelije s <i>% d <\/i>",
|
||||
"fillHorizontal": "Ispunite ćelije vodoravno",
|
||||
"fillVertical": "Ispunite ćelije vertikalno"
|
||||
},
|
||||
"buttons": {
|
||||
"collection": "Collection <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
||||
"colvis": "Vidljivost kolone",
|
||||
"colvisRestore": "Vratite vidljivost",
|
||||
"copy": "Kopiraj",
|
||||
"copyKeys": "Pritisnite ctrl ili u2318 + C da biste kopirali podatke tabele u sistemski međuspremnik. <br \/> <br \/> Za otkazivanje kliknite ovu poruku ili pritisnite Escape.",
|
||||
"copySuccess": {
|
||||
"1": "Kopiran je 1 red u međuspremnik",
|
||||
"_": "Kopirani su %d redova u međuspremnik"
|
||||
},
|
||||
"copyTitle": "Kopirajte u međuspremnik",
|
||||
"csv": "CSV",
|
||||
"excel": "Excel",
|
||||
"pageLength": {
|
||||
"-1": "Prikaži sve redove",
|
||||
"_": "Prikaži %d redova"
|
||||
},
|
||||
"pdf": "PDF",
|
||||
"print": "Štampaj"
|
||||
},
|
||||
"emptyTable": "Nema podataka u tabeli",
|
||||
"info": "Prikaz _START_ do _END_ od ukupno _TOTAL_ zapisa",
|
||||
"infoEmpty": "Prikaz 0 do 0 od ukupno 0 zapisa",
|
||||
"infoFiltered": "(filtrirano od ukupno _MAX_ zapisa)",
|
||||
"infoThousands": ".",
|
||||
"lengthMenu": "Prikaži _MENU_ zapisa",
|
||||
"loadingRecords": "Učitavanje...",
|
||||
"paginate": {
|
||||
"first": "Početna",
|
||||
"last": "Poslednja",
|
||||
"next": "Sledeća",
|
||||
"previous": "Prethodna"
|
||||
},
|
||||
"processing": "Obrada...",
|
||||
"search": "Pretraga:",
|
||||
"searchBuilder": {
|
||||
"add": "Dodaj uslov",
|
||||
"clearAll": "Obriši sve"
|
||||
},
|
||||
"searchPanes": {
|
||||
"clearMessage": "Obriši sve",
|
||||
"collapse": {
|
||||
"0": "Paneli za Pretragu",
|
||||
"_": "Paneli za Pretragu (%d)"
|
||||
},
|
||||
"count": "{total}",
|
||||
"countFiltered": "{shown} ({total})",
|
||||
"emptyPanes": "Nema panela za pretragu",
|
||||
"loadMessage": "Učitavanje panela za pretragu",
|
||||
"title": "Aktivni filteri - %d"
|
||||
},
|
||||
"select": {
|
||||
"cells": {
|
||||
"1": "Odabran je 1 red",
|
||||
"_": "Broj odabranih redova: %d"
|
||||
},
|
||||
"columns": {
|
||||
"1": "Jedna colona odabrana",
|
||||
"_": "Broj odabranih kolona: %d"
|
||||
}
|
||||
},
|
||||
"zeroRecords": "Nisu pronađeni odgovarajući zapisi"
|
||||
}
|
||||
244
external_js/dataTables/i18n/ca.json
Executable file
244
external_js/dataTables/i18n/ca.json
Executable file
@@ -0,0 +1,244 @@
|
||||
{
|
||||
"processing": "Processant...",
|
||||
"lengthMenu": "Mostra _MENU_ registres",
|
||||
"zeroRecords": "No s'han trobat registres",
|
||||
"info": "Mostrant del _START_ al _END_ d'un total de _TOTAL_ registres",
|
||||
"infoEmpty": "No hi ha registres disponibles",
|
||||
"infoFiltered": "(filtrat de _MAX_ registres)",
|
||||
"search": "Cerca:",
|
||||
"infoThousands": ".",
|
||||
"decimal": ",",
|
||||
"loadingRecords": "Carregant...",
|
||||
"paginate": {
|
||||
"first": "Primer",
|
||||
"previous": "Anterior",
|
||||
"next": "Següent",
|
||||
"last": "Darrer"
|
||||
},
|
||||
"aria": {
|
||||
"sortAscending": ": Activa per ordenar la columna de manera ascendent",
|
||||
"sortDescending": ": Activa per ordenar la columna de manera descendent"
|
||||
},
|
||||
"buttons": {
|
||||
"print": "Imprimeix",
|
||||
"copy": "Copia",
|
||||
"colvis": "Columnes",
|
||||
"copyTitle": "Copia al portapapers",
|
||||
"copySuccess": {
|
||||
"_": "%d files copiades",
|
||||
"1": "1 fila copiada"
|
||||
},
|
||||
"pageLength": {
|
||||
"-1": "Mostra totes les files",
|
||||
"_": "Mostra %d files"
|
||||
},
|
||||
"pdf": "PDF",
|
||||
"collection": "Col·lecció",
|
||||
"colvisRestore": "Restaurar visibilitat",
|
||||
"copyKeys": "Pressiona ctrl o poma + C per copiar les dades de la tabla al teu portapaper",
|
||||
"csv": "CSV",
|
||||
"excel": "Excel",
|
||||
"createState": "Crear Estat",
|
||||
"removeAllStates": "Borrar tots els Estats",
|
||||
"removeState": "Borra",
|
||||
"renameState": "Canviar nom",
|
||||
"savedStates": "Estats gravats",
|
||||
"stateRestore": "Restaura",
|
||||
"updateState": "Actualitza"
|
||||
},
|
||||
"select": {
|
||||
"rows": {
|
||||
"_": "%d files seleccionades",
|
||||
"1": "1 fila seleccionada"
|
||||
},
|
||||
"cells": {
|
||||
"1": "1 fila seleccionada",
|
||||
"_": "%d files seleccionades"
|
||||
},
|
||||
"columns": {
|
||||
"1": "1 columna seleccionada",
|
||||
"_": "%d columnes seleccionades"
|
||||
}
|
||||
},
|
||||
"autoFill": {
|
||||
"cancel": "Cancel·lar",
|
||||
"fillHorizontal": "Omple les cel·les horitzontalment",
|
||||
"fillVertical": "Omple les cel·les verticalment",
|
||||
"fill": "Omple totes les cel·les amb <i>%d<\/i>"
|
||||
},
|
||||
"thousands": ".",
|
||||
"datetime": {
|
||||
"hours": "Hora",
|
||||
"seconds": "Segons",
|
||||
"unknown": "Desconegut",
|
||||
"amPm": [
|
||||
"am",
|
||||
"pm"
|
||||
],
|
||||
"previous": "Anterior",
|
||||
"next": "Següent",
|
||||
"months": {
|
||||
"11": "Desembre",
|
||||
"10": "Novembre",
|
||||
"9": "Octubre",
|
||||
"7": "Agost",
|
||||
"5": "Juny",
|
||||
"4": "Maig",
|
||||
"3": "Abril",
|
||||
"2": "Març",
|
||||
"1": "Febrer",
|
||||
"0": "Gener",
|
||||
"6": "Juliol",
|
||||
"8": "Setembre"
|
||||
},
|
||||
"weekdays": {
|
||||
"0": "Dg",
|
||||
"2": "Dt",
|
||||
"3": "Dc",
|
||||
"4": "Dj",
|
||||
"5": "Dv",
|
||||
"6": "Ds",
|
||||
"1": "Dl"
|
||||
},
|
||||
"minutes": "Minuts"
|
||||
},
|
||||
"editor": {
|
||||
"close": "Tancar",
|
||||
"create": {
|
||||
"button": "Nou",
|
||||
"title": "Crear nova entrada",
|
||||
"submit": "Crear"
|
||||
},
|
||||
"edit": {
|
||||
"button": "Editar",
|
||||
"title": "Editar entrada",
|
||||
"submit": "Actualitzar"
|
||||
},
|
||||
"remove": {
|
||||
"button": "Eliminar",
|
||||
"title": "Eliminar",
|
||||
"submit": "Eliminar",
|
||||
"confirm": {
|
||||
"_": "Està segur de voler eliminar %d files?",
|
||||
"1": "Està segur de voler elmiminar 1 fila?"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"system": "Ha ocurregut un error de sistema (Més informació)"
|
||||
},
|
||||
"multi": {
|
||||
"title": "Múltiples valors",
|
||||
"restore": "Desfés el canvi",
|
||||
"info": "El ítems seleccionats contenen diferents valors per aquesta entrada. Per editar i configurar tots els ítems per a aquesta entrada al mateix valor, prem o clica tabular aquí, sino, mantindran els seus valors individuals",
|
||||
"noMulti": "Aquest camp pot ser editat individualment; però no com a part d'un grup"
|
||||
}
|
||||
},
|
||||
"searchBuilder": {
|
||||
"add": "Afegir condició",
|
||||
"clearAll": "Eliminar tot",
|
||||
"condition": "Condició",
|
||||
"conditions": {
|
||||
"date": {
|
||||
"after": "Després",
|
||||
"before": "Abans",
|
||||
"between": "Entre",
|
||||
"empty": "Buit",
|
||||
"equals": "Iguals",
|
||||
"not": "No",
|
||||
"notBetween": "No entre",
|
||||
"notEmpty": "No buit"
|
||||
},
|
||||
"number": {
|
||||
"between": "Entre",
|
||||
"empty": "Buit",
|
||||
"equals": "Iguals",
|
||||
"gt": "Major que",
|
||||
"gte": "Mejor o igual a",
|
||||
"lt": "Menor que",
|
||||
"lte": "Menor o igual a",
|
||||
"not": "No",
|
||||
"notBetween": "No entre",
|
||||
"notEmpty": "No buit"
|
||||
},
|
||||
"string": {
|
||||
"contains": "Conté",
|
||||
"empty": "Buit",
|
||||
"endsWith": "Finalitza amb",
|
||||
"equals": "Iguals",
|
||||
"not": "No",
|
||||
"notEmpty": "No buit",
|
||||
"startsWith": "Comença amb",
|
||||
"notEndsWith": "No acaba amb",
|
||||
"notStartsWith": "No comença amb",
|
||||
"notContains": "No inclou"
|
||||
},
|
||||
"array": {
|
||||
"equals": "Iguals",
|
||||
"empty": "Buit",
|
||||
"contains": "Conté",
|
||||
"not": "No",
|
||||
"notEmpty": "No buit",
|
||||
"without": "Sense"
|
||||
}
|
||||
},
|
||||
"data": "Data",
|
||||
"deleteTitle": "Esborrar regla de filtrat",
|
||||
"leftTitle": "Criteri de desindentació",
|
||||
"logicAnd": "I",
|
||||
"logicOr": "O",
|
||||
"rightTitle": "Criteri d'indentació",
|
||||
"value": "Valor",
|
||||
"title": {
|
||||
"_": "Constructor de cerca (%d)",
|
||||
"0": "Constructor de cerca"
|
||||
},
|
||||
"button": {
|
||||
"_": "Constructor de cerca (%d)",
|
||||
"0": "Constructor de cerca"
|
||||
}
|
||||
},
|
||||
"searchPanes": {
|
||||
"collapse": {
|
||||
"0": "Panells de cerca",
|
||||
"_": "Panells de cerca (%d)"
|
||||
},
|
||||
"count": "{total}",
|
||||
"countFiltered": "{monstrat} ({total})",
|
||||
"loadMessage": "Carregant panells de cerca",
|
||||
"collapseMessage": "Colapsar Tot",
|
||||
"clearMessage": "Esborrar tot",
|
||||
"emptyPanes": "No hi ha panells de cerca",
|
||||
"showMessage": "Mostrar-ho tot",
|
||||
"title": "Filtres actius - %d"
|
||||
},
|
||||
"stateRestore": {
|
||||
"removeSubmit": "Eliminar",
|
||||
"removeJoiner": "i",
|
||||
"removeError": "Error eliminant el registre",
|
||||
"removeConfirm": "¿Segur que vol eliminar aquest %s?",
|
||||
"emptyError": "El nom no pot estar buit",
|
||||
"creationModal": {
|
||||
"button": "Crear",
|
||||
"columns": {
|
||||
"search": "Cerca per columnes",
|
||||
"visible": "Visibilitat de columnes"
|
||||
},
|
||||
"name": "Nom",
|
||||
"order": "Ordenar",
|
||||
"toggleLabel": "Inclou:",
|
||||
"paging": "Paginació",
|
||||
"scroller": "Posició Scroll",
|
||||
"search": "Bñusqueda",
|
||||
"searchBuilder": "Generador Búsquedes",
|
||||
"title": "Crear nou Estat",
|
||||
"select": "Sel·lecció"
|
||||
},
|
||||
"renameLabel": "Nou nom per %s",
|
||||
"duplicateError": "Ja existeix un estat amb aquest nom",
|
||||
"emptyStates": "No hi ha estats gravats",
|
||||
"removeTitle": "Borrar Estat",
|
||||
"renameButton": "Canviar nom",
|
||||
"renameTitle": "Canviar nom"
|
||||
},
|
||||
"emptyTable": "No hi ha registres disponibles en aquesta taula"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user