Compare commits
564 Commits
release-v0
...
fix-templa
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d49d284d4a | ||
|
|
9fda7bfd34 | ||
|
|
826b314f19 | ||
|
|
156c199bbb | ||
|
|
040596f3a0 | ||
|
|
fde082af44 | ||
|
|
329e144b4f | ||
|
|
367b319f10 | ||
|
|
d6fe0bd740 | ||
|
|
ae7bd79a6c | ||
|
|
0211424191 | ||
|
|
ea8d634f65 | ||
|
|
0fec990bcf | ||
|
|
a7680a593a | ||
|
|
cbc7985e75 | ||
|
|
941eb1dd73 | ||
|
|
fc64e0089e | ||
|
|
24b41100c3 | ||
|
|
b72a3d01b8 | ||
|
|
0393e41096 | ||
|
|
c77b2a0ce5 | ||
|
|
db52f7a3ac | ||
|
|
381f2f651d | ||
|
|
620b51e3ea | ||
|
|
757ddb06f8 | ||
|
|
d6043e2352 | ||
|
|
aeec9a86e2 | ||
|
|
584182e264 | ||
|
|
96cd512d32 | ||
|
|
11898a3f73 | ||
|
|
a91a257b15 | ||
|
|
76a74b271b | ||
|
|
1842f7d888 | ||
|
|
4afd39b22f | ||
|
|
e43ba17884 | ||
|
|
6d402dc86c | ||
|
|
18acdf9b09 | ||
|
|
5da7751463 | ||
|
|
7631ca4ab3 | ||
|
|
c6d4f2317e | ||
|
|
0ea224a9e4 | ||
|
|
d78a3edb22 | ||
|
|
bbbdea2635 | ||
|
|
6c8d89a4da | ||
|
|
f082312e49 | ||
|
|
ea03d1af93 | ||
|
|
67d8b7df90 | ||
|
|
b23ea0a690 | ||
|
|
a186b5c436 | ||
|
|
6da7392345 | ||
|
|
c1924a8b8a | ||
|
|
0376afb38e | ||
|
|
230d7b8c17 | ||
|
|
950ecb1f5e | ||
|
|
9e14d5f99f | ||
|
|
89bf3721b5 | ||
|
|
15bba281ee | ||
|
|
f9fe3172c4 | ||
|
|
5d5a729569 | ||
|
|
b1120221c7 | ||
|
|
f553eee842 | ||
|
|
61b4043775 | ||
|
|
a55cbbe79c | ||
|
|
10bffd89c9 | ||
|
|
91ecbede7d | ||
|
|
27dbb427a1 | ||
|
|
195300f56e | ||
|
|
2a0d062947 | ||
|
|
3575aa0570 | ||
|
|
f191cb07a5 | ||
|
|
1731ce9c63 | ||
|
|
2eb3bf6ea5 | ||
|
|
a0349b6c7e | ||
|
|
da9008aba3 | ||
|
|
c576d5059e | ||
|
|
487675b9ad | ||
|
|
132ec556dc | ||
|
|
d58772f177 | ||
|
|
0df32601bb | ||
|
|
fb7b8bba6a | ||
|
|
d859a33787 | ||
|
|
67c9abe119 | ||
|
|
2409282d51 | ||
|
|
9c48e96939 | ||
|
|
0bc3ef89ea | ||
|
|
8de994d077 | ||
|
|
59a8265e31 | ||
|
|
bea39934bd | ||
|
|
df61741f60 | ||
|
|
143616ca6e | ||
|
|
306c1983a2 | ||
|
|
194ead3479 | ||
|
|
c3edab4387 | ||
|
|
f736d85e6e | ||
|
|
1daabb97e5 | ||
|
|
dd2095e05d | ||
|
|
a0205a54ec | ||
|
|
48431f8b86 | ||
|
|
9f7a582dbc | ||
|
|
2b5e4850d0 | ||
|
|
c6706445c9 | ||
|
|
595484e0b3 | ||
|
|
a2053526c3 | ||
|
|
e616429d44 | ||
|
|
622181b88f | ||
|
|
1011b8f93d | ||
|
|
6b265c6488 | ||
|
|
c11a52d60c | ||
|
|
f23a0d4753 | ||
|
|
057804a459 | ||
|
|
012e5beb51 | ||
|
|
ae653f166f | ||
|
|
51b72a4cd8 | ||
|
|
f13dc59bfa | ||
|
|
bb226434f8 | ||
|
|
a772212d05 | ||
|
|
bb80a7c215 | ||
|
|
386add033b | ||
|
|
304f2ba2cc | ||
|
|
3a0b27e7e8 | ||
|
|
76a513cdaf | ||
|
|
ff9b24ad69 | ||
|
|
20531de760 | ||
|
|
91dee0986b | ||
|
|
a556ce8fb8 | ||
|
|
6f6ced33c1 | ||
|
|
be43ce1760 | ||
|
|
4d295a384b | ||
|
|
eb0d7d39d9 | ||
|
|
6575c068b8 | ||
|
|
3378d1c103 | ||
|
|
a50a8abb45 | ||
|
|
ff04b2a7d3 | ||
|
|
ec19a85ed0 | ||
|
|
b89105e3b5 | ||
|
|
137d280032 | ||
|
|
4baa6e6990 | ||
|
|
b8d55eaffe | ||
|
|
b31bab591d | ||
|
|
6a032bb821 | ||
|
|
a5f059b1f5 | ||
|
|
04f4993385 | ||
|
|
46382e8825 | ||
|
|
d52f1d0e70 | ||
|
|
6aa93f4ae7 | ||
|
|
99ec1d840c | ||
|
|
2ecf2a4c42 | ||
|
|
54a141abde | ||
|
|
6e8033750d | ||
|
|
46624c79de | ||
|
|
a7dca7aa56 | ||
|
|
cd76a30790 | ||
|
|
68bc9969b7 | ||
|
|
d8d7a5c335 | ||
|
|
bbdcc673a2 | ||
|
|
e7fc61a997 | ||
|
|
97af23b0af | ||
|
|
e481922d91 | ||
|
|
defde7d0fe | ||
|
|
0c03063c8a | ||
|
|
0ddd8e3dcc | ||
|
|
48cbc7bdf0 | ||
|
|
de08ef0077 | ||
|
|
cfab157146 | ||
|
|
ec05ee16fe | ||
|
|
c1b537c14b | ||
|
|
d77b743c7b | ||
|
|
8d453e75a4 | ||
|
|
de9f9e9eb8 | ||
|
|
fa49d74aa8 | ||
|
|
f0cf6cce9a | ||
|
|
6d1adf74b1 | ||
|
|
01652e6ab2 | ||
|
|
09f88cf21d | ||
|
|
e6f8aeeebe | ||
|
|
fafd7a1e82 | ||
|
|
53a366ed46 | ||
|
|
9c4bed31e7 | ||
|
|
23c16a13aa | ||
|
|
36d90b152e | ||
|
|
08282dc4d9 | ||
|
|
93882d6860 | ||
|
|
167b112511 | ||
|
|
98af0e000e | ||
|
|
2bfdcbbc10 | ||
|
|
8fdbcc005c | ||
|
|
464fbf0b54 | ||
|
|
a7d02fa935 | ||
|
|
af8f64ac00 | ||
|
|
c139287787 | ||
|
|
fa0fd90ddd | ||
|
|
c5565a9e4e | ||
|
|
ac7634da37 | ||
|
|
746e9df727 | ||
|
|
3dd7393b3f | ||
|
|
9c9d6b48e3 | ||
|
|
9951d861d1 | ||
|
|
8a935d4ffb | ||
|
|
bf10f157ab | ||
|
|
15f5876e33 | ||
|
|
04c8e3b288 | ||
|
|
cebbb69a4c | ||
|
|
a272b61ed6 | ||
|
|
b86250737e | ||
|
|
a149d816d9 | ||
|
|
67d89660ca | ||
|
|
2a85d7dd7e | ||
|
|
68d13fcc2b | ||
|
|
2de42284a5 | ||
|
|
d2a09e49ff | ||
|
|
e0080ffa3a | ||
|
|
8dba4ecd01 | ||
|
|
aaaa56fce3 | ||
|
|
ab79168b13 | ||
|
|
5ae826d8a9 | ||
|
|
a736f67205 | ||
|
|
fee81b31ec | ||
|
|
a1acfbbae4 | ||
|
|
4582b1c919 | ||
|
|
893358ea71 | ||
|
|
f109fb17a4 | ||
|
|
5604e33574 | ||
|
|
67da002391 | ||
|
|
d42d1a7ea4 | ||
|
|
e4a42bf233 | ||
|
|
0eba31ca03 | ||
|
|
f5602d9c46 | ||
|
|
f1dd33346a | ||
|
|
960a7a75ed | ||
|
|
a126f514ff | ||
|
|
c0c9d8adb0 | ||
|
|
7cac010573 | ||
|
|
51f426736c | ||
|
|
0c0340d63e | ||
|
|
330ac30324 | ||
|
|
2e0f6e5468 | ||
|
|
b7e815483e | ||
|
|
15b19ff726 | ||
|
|
f557339ca0 | ||
|
|
fe8be3701f | ||
|
|
c26ab190e7 | ||
|
|
6a62f704e2 | ||
|
|
24eb3476db | ||
|
|
8a924cb4ed | ||
|
|
6e7964c9e7 | ||
|
|
9d59be4269 | ||
|
|
bf792b83f6 | ||
|
|
0cce420261 | ||
|
|
61bd217eb3 | ||
|
|
739e0098ec | ||
|
|
27032ef79e | ||
|
|
5e626306d1 | ||
|
|
2ffea605cf | ||
|
|
4d404b887f | ||
|
|
7b48863041 | ||
|
|
756b14a61d | ||
|
|
b71a5d86de | ||
|
|
d45fa5801e | ||
|
|
47c9c946a3 | ||
|
|
690deb1c05 | ||
|
|
59d18c6598 | ||
|
|
91bbb744dc | ||
|
|
11e4f09165 | ||
|
|
c45c02de29 | ||
|
|
fe0c53ec43 | ||
|
|
4fc045de11 | ||
|
|
cc2388e0c8 | ||
|
|
ab6da05b51 | ||
|
|
8e89cc129c | ||
|
|
9ffe078703 | ||
|
|
27b0251b5b | ||
|
|
ed209daf8a | ||
|
|
95771c7aba | ||
|
|
42bd0615c2 | ||
|
|
3a88ef3be2 | ||
|
|
572fed9f35 | ||
|
|
663f0643f2 | ||
|
|
fc62796e2d | ||
|
|
b9e39c8cca | ||
|
|
fffa656758 | ||
|
|
b74b92fc27 | ||
|
|
bc1503af57 | ||
|
|
b79c08316f | ||
|
|
08799e9d0a | ||
|
|
bedfb47a9f | ||
|
|
53e2c1f7cd | ||
|
|
88812f05f5 | ||
|
|
10a8f79644 | ||
|
|
ccc4f1a2da | ||
|
|
451fd7c445 | ||
|
|
782de99a0a | ||
|
|
d4afd60b08 | ||
|
|
c8ace868d4 | ||
|
|
2b4158e5c9 | ||
|
|
53209bc42c | ||
|
|
da1ae33805 | ||
|
|
ab02c829ea | ||
|
|
3c0d2a9253 | ||
|
|
58512c3af9 | ||
|
|
78389e518e | ||
|
|
9c9169ac12 | ||
|
|
e545f3bdb7 | ||
|
|
c000d9f232 | ||
|
|
1fb043768e | ||
|
|
3660b4810e | ||
|
|
a9127c4a45 | ||
|
|
c098960b39 | ||
|
|
5cc2a2cd0c | ||
|
|
8733f55c2c | ||
|
|
a3750ffff1 | ||
|
|
9e0d3eb6e7 | ||
|
|
e0a57d2912 | ||
|
|
53e77cb2c0 | ||
|
|
8ecfef16eb | ||
|
|
d51110acb5 | ||
|
|
2348b8fafa | ||
|
|
7f0b16d074 | ||
|
|
a0c8aee3f7 | ||
|
|
d519929988 | ||
|
|
cb83f8b531 | ||
|
|
45bcc2c09a | ||
|
|
2410639123 | ||
|
|
d1525cf09d | ||
|
|
35c1d84b42 | ||
|
|
986124948a | ||
|
|
fa76ad2a3c | ||
|
|
57c0b1203e | ||
|
|
be1bc76cfa | ||
|
|
6913ebb29f | ||
|
|
e35eeacd74 | ||
|
|
bdcf345155 | ||
|
|
307654f648 | ||
|
|
970b6cf698 | ||
|
|
eccfbf6a6d | ||
|
|
1a1a48482a | ||
|
|
1afd73ad0b | ||
|
|
6856a80380 | ||
|
|
cf3a8991ea | ||
|
|
e3624ec588 | ||
|
|
64df882c5e | ||
|
|
06e4658da9 | ||
|
|
4a7b4d03a1 | ||
|
|
257d167002 | ||
|
|
e6ebb8efef | ||
|
|
7e80980ae4 | ||
|
|
50476cda31 | ||
|
|
ea5d165a70 | ||
|
|
2830f396c6 | ||
|
|
620ad13490 | ||
|
|
f54a2dc1da | ||
|
|
63f6844318 | ||
|
|
12edc05ab0 | ||
|
|
71b8e75138 | ||
|
|
0bcc6699e1 | ||
|
|
385a873b0f | ||
|
|
0daa6a107b | ||
|
|
72098d2255 | ||
|
|
572d2794e2 | ||
|
|
d4c3a43bcb | ||
|
|
6e63757fc7 | ||
|
|
721397cee3 | ||
|
|
fd1c841810 | ||
|
|
f58265ec98 | ||
|
|
14fd995ae9 | ||
|
|
50565bed3b | ||
|
|
70f85fca21 | ||
|
|
4293cf5945 | ||
|
|
4c6377c5cb | ||
|
|
9b3adac145 | ||
|
|
73f935f3f3 | ||
|
|
a481ff4c51 | ||
|
|
bbccd61614 | ||
|
|
8a3d5f046c | ||
|
|
eb8e8166c8 | ||
|
|
3420becce3 | ||
|
|
9ed8699c75 | ||
|
|
b59b82474a | ||
|
|
cce0e593c5 | ||
|
|
da32079516 | ||
|
|
ccf268baf4 | ||
|
|
053bb72a00 | ||
|
|
41f081d8da | ||
|
|
e0f2c3d170 | ||
|
|
f32da12a86 | ||
|
|
f5959a0dc6 | ||
|
|
0a5888f27a | ||
|
|
07d48af10c | ||
|
|
e58a415d10 | ||
|
|
ae43ca0605 | ||
|
|
9acb1f364b | ||
|
|
84cd528103 | ||
|
|
56519548f1 | ||
|
|
bdcd17a41a | ||
|
|
1eafb4e7cf | ||
|
|
bf024fb985 | ||
|
|
a832987f7c | ||
|
|
77e5e27d75 | ||
|
|
3505ce8739 | ||
|
|
14d8f58592 | ||
|
|
006cd98869 | ||
|
|
ce1b2bc4f1 | ||
|
|
8f4acce44a | ||
|
|
b04d1ed6c8 | ||
|
|
f987c25598 | ||
|
|
b9b93f1286 | ||
|
|
a7a5e50620 | ||
|
|
0edf71a4af | ||
|
|
5956b97e7f | ||
|
|
d3f39b0aa1 | ||
|
|
e738508d7a | ||
|
|
302faca32f | ||
|
|
1c1ca1c6e3 | ||
|
|
a497dc09ca | ||
|
|
3ce04f48ca | ||
|
|
368a98fb29 | ||
|
|
cbe32c5a73 | ||
|
|
f46c9f74d5 | ||
|
|
4b884ace62 | ||
|
|
7ce7e90865 | ||
|
|
756c932e37 | ||
|
|
c3d5fcc669 | ||
|
|
65a33a1215 | ||
|
|
1a49d2f0c9 | ||
|
|
549b20bdea | ||
|
|
75f01d51f7 | ||
|
|
a82ec09afd | ||
|
|
c0ac82be6a | ||
|
|
24d7dc8e8a | ||
|
|
79d85a24e9 | ||
|
|
f289f4b1b6 | ||
|
|
b7eedb3feb | ||
|
|
58515fce43 | ||
|
|
21905d9869 | ||
|
|
56f78edb97 | ||
|
|
a580149ad6 | ||
|
|
6dc9e73ce4 | ||
|
|
5d52e68d26 | ||
|
|
c4ff80fd3a | ||
|
|
ed449c6186 | ||
|
|
1c89394aef | ||
|
|
235316e050 | ||
|
|
0a1ff65b4a | ||
|
|
2a1ad532f4 | ||
|
|
9d144ecb0a | ||
|
|
9b7fe74086 | ||
|
|
0f2a9f262e | ||
|
|
82af43039c | ||
|
|
12ee287d0b | ||
|
|
57171f0a61 | ||
|
|
21a1187ed2 | ||
|
|
2c2c0d445b | ||
|
|
9f0fdc5e78 | ||
|
|
96594a3433 | ||
|
|
4c5b38a447 | ||
|
|
0e608fda13 | ||
|
|
8bb95469d9 | ||
|
|
e9e0b7c4f9 | ||
|
|
c70f941bf8 | ||
|
|
a79b61aac3 | ||
|
|
5e71f5df6a | ||
|
|
047970e5ee | ||
|
|
f31ffcc5d1 | ||
|
|
0d562a7b1f | ||
|
|
3603b1fcab | ||
|
|
82505566f8 | ||
|
|
9ce2a0fb34 | ||
|
|
5cba78a8d5 | ||
|
|
2c33ab6a92 | ||
|
|
beb674ecbc | ||
|
|
b16b1d1d24 | ||
|
|
f8e45c13f3 | ||
|
|
b9790f663a | ||
|
|
778585865e | ||
|
|
cd8206ad9b | ||
|
|
573cbafe3f | ||
|
|
c346216424 | ||
|
|
e7b3c9969b | ||
|
|
dc0d081b47 | ||
|
|
ded9842cd7 | ||
|
|
89d9b03dfe | ||
|
|
f1d05a49f0 | ||
|
|
9a764b9b82 | ||
|
|
e0b557eda2 | ||
|
|
ea6e033dae | ||
|
|
3afe7c3daf | ||
|
|
afbc7a72e3 | ||
|
|
ff1e108bfe | ||
|
|
b29f320fd4 | ||
|
|
773b80a969 | ||
|
|
975995a9c7 | ||
|
|
f131067278 | ||
|
|
b43aa86cae | ||
|
|
6824eec308 | ||
|
|
18079ca1bb | ||
|
|
a1f29c31b9 | ||
|
|
0ef8344178 | ||
|
|
f53f48cc33 | ||
|
|
2a5b5f1927 | ||
|
|
b290eddc70 | ||
|
|
6d0a43aad6 | ||
|
|
1bc2186c2d | ||
|
|
6584c300b8 | ||
|
|
dc480ae70f | ||
|
|
e783564084 | ||
|
|
0ee34534c6 | ||
|
|
9146df5493 | ||
|
|
76fa60498e | ||
|
|
8455940b59 | ||
|
|
2d46aa7121 | ||
|
|
bf9b35b9c6 | ||
|
|
f9aa5ae86a | ||
|
|
642d68c482 | ||
|
|
5ff7cdbac8 | ||
|
|
504c54ab0e | ||
|
|
90c17c79de | ||
|
|
0b72bcc5a1 | ||
|
|
dc14f89c9f | ||
|
|
2263adbbe0 | ||
|
|
e29261516f | ||
|
|
f12eaf29a2 | ||
|
|
3e2ab87293 | ||
|
|
41e8db4221 | ||
|
|
3f5605c42e | ||
|
|
f7ff02f3b1 | ||
|
|
5ec4a4dab8 | ||
|
|
13871977f9 | ||
|
|
2fdda8a22c | ||
|
|
d82b290251 | ||
|
|
eb15304ff4 | ||
|
|
1a3bf5ebda | ||
|
|
15956f4511 | ||
|
|
09d0ce4578 | ||
|
|
9735a35123 | ||
|
|
813a06d09a | ||
|
|
061136508e | ||
|
|
008f58c863 | ||
|
|
0e4ffd339f | ||
|
|
1458600c37 | ||
|
|
34c95f99f8 | ||
|
|
e9c59b098e | ||
|
|
a0bb5ce8a4 | ||
|
|
01947bedb4 | ||
|
|
a6ca824064 | ||
|
|
380cff07f2 | ||
|
|
d2ce06e1ca | ||
|
|
2ed1f939b5 | ||
|
|
dea8a585f8 | ||
|
|
313555b10c | ||
|
|
661f4ece48 | ||
|
|
52f36f201e | ||
|
|
46cd974e2a | ||
|
|
201ef10de6 | ||
|
|
d9df7c13be | ||
|
|
64e751e579 | ||
|
|
e6e5958595 | ||
|
|
ff3df0ec33 | ||
|
|
ebe86ce00e | ||
|
|
d317e19291 | ||
|
|
39c4999d2d | ||
|
|
7f55bd8461 | ||
|
|
2968a65f14 | ||
|
|
779fbe79b8 | ||
|
|
da0d1cb754 | ||
|
|
ef80c07075 |
49
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
49
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
@@ -1,49 +0,0 @@
|
|||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a bug report to help us improve AdGuard Home
|
|
||||||
---
|
|
||||||
|
|
||||||
Have a question or an idea? Please search it [on our forum](https://github.com/AdguardTeam/AdGuardHome/discussions) to make sure it was not yet asked. If you cannot find what you had in mind, please [submit it here](https://github.com/AdguardTeam/AdGuardHome/discussions/new).
|
|
||||||
|
|
||||||
### Prerequisites
|
|
||||||
|
|
||||||
Please answer the following questions for yourself before submitting an issue. **YOU MAY DELETE THE PREREQUISITES SECTION.**
|
|
||||||
|
|
||||||
- [ ] I am running the latest version
|
|
||||||
- [ ] I checked the documentation and found no answer
|
|
||||||
- [ ] I checked to make sure that this issue has not already been filed
|
|
||||||
|
|
||||||
### Issue Details
|
|
||||||
|
|
||||||
<!-- Please include all relevant details about the environment you experienced the bug in. If possible, include the result of running `./AdGuardHome -v --version` from the installation directory. -->
|
|
||||||
|
|
||||||
* **Version of AdGuard Home server:**
|
|
||||||
* <!-- (e.g. v0.123.4) -->
|
|
||||||
* **How did you install AdGuard Home:**
|
|
||||||
* <!-- (e.g. Built from source, Snapcraft, Docker, GitHub releases, etc.) -->
|
|
||||||
* **How did you setup DNS configuration:**
|
|
||||||
* <!-- (System/Router/IoT) -->
|
|
||||||
* **If it's a router or IoT, please write device model:**
|
|
||||||
* <!-- (e.g. Raspberry Pi 3 Model B) -->
|
|
||||||
* **CPU architecture:**
|
|
||||||
* <!-- (e.g. AMD64, MIPS, etc.) -->
|
|
||||||
* **Operating system and version:**
|
|
||||||
* <!-- (e.g. Ubuntu 18.04.1) -->
|
|
||||||
|
|
||||||
### Expected Behavior
|
|
||||||
<!-- A clear and concise description of what you expected to happen. -->
|
|
||||||
|
|
||||||
### Actual Behavior
|
|
||||||
<!-- A clear and concise description of what actually happened. -->
|
|
||||||
|
|
||||||
### Screenshots
|
|
||||||
<!-- If applicable, add screenshots to help explain your problem. -->
|
|
||||||
|
|
||||||
<details><summary>Screenshot:</summary>
|
|
||||||
|
|
||||||
<!--- drag and drop, upload or paste your screenshot to this area-->
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
### Additional Information
|
|
||||||
<!-- Add any other context about the problem here. -->
|
|
||||||
26
.github/ISSUE_TEMPLATE/Feature_request.md
vendored
26
.github/ISSUE_TEMPLATE/Feature_request.md
vendored
@@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
name: Feature request
|
|
||||||
about: Suggest a feature request for AdGuard Home
|
|
||||||
---
|
|
||||||
|
|
||||||
Have a question or an idea? Please search it [on our forum](https://github.com/AdguardTeam/AdGuardHome/discussions) to make sure it was not yet asked. If you cannot find what you had in mind, please [submit it here](https://github.com/AdguardTeam/AdGuardHome/discussions/new).
|
|
||||||
|
|
||||||
### Prerequisites
|
|
||||||
|
|
||||||
Please answer the following questions for yourself before submitting an issue. **YOU MAY DELETE THE PREREQUISITES SECTION.**
|
|
||||||
|
|
||||||
- [ ] I am running the latest version
|
|
||||||
- [ ] I checked the documentation and found no answer
|
|
||||||
- [ ] I checked to make sure that this issue has not already been filed
|
|
||||||
|
|
||||||
### Problem Description
|
|
||||||
<!-- Is your feature request related to a problem? Please add a clear and concise description of what the problem is. -->
|
|
||||||
|
|
||||||
### Proposed Solution
|
|
||||||
<!-- Describe the solution you'd like in a clear and concise manner -->
|
|
||||||
|
|
||||||
### Alternatives Considered
|
|
||||||
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
|
|
||||||
|
|
||||||
### Additional Information
|
|
||||||
<!-- Add any other context about the problem here. -->
|
|
||||||
142
.github/ISSUE_TEMPLATE/bug.yml
vendored
Normal file
142
.github/ISSUE_TEMPLATE/bug.yml
vendored
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
'body':
|
||||||
|
- 'attributes':
|
||||||
|
'description': >
|
||||||
|
Please make sure that the issue is not a duplicate or a question.
|
||||||
|
If it's a duplicate, please react to the original issue with a
|
||||||
|
thumbs up. If it's a question, please post it to the GitHub
|
||||||
|
Discussions page.
|
||||||
|
'label': 'Prerequisites'
|
||||||
|
'options':
|
||||||
|
- 'label': >
|
||||||
|
I have checked the
|
||||||
|
[Wiki](https://github.com/AdguardTeam/AdGuardHome/wiki) and
|
||||||
|
[Discussions](https://github.com/AdguardTeam/AdGuardHome/discussions)
|
||||||
|
and found no answer
|
||||||
|
'required': true
|
||||||
|
- 'label': >
|
||||||
|
I have searched other issues and found no duplicates
|
||||||
|
'required': true
|
||||||
|
- 'label': >
|
||||||
|
I want to report a bug and not ask a question
|
||||||
|
'required': true
|
||||||
|
'id': 'prerequisites'
|
||||||
|
'type': 'checkboxes'
|
||||||
|
- 'attributes':
|
||||||
|
'description': 'On which operating system type does the issue occur?'
|
||||||
|
'label': 'Operating system type'
|
||||||
|
'options':
|
||||||
|
- 'FreeBSD'
|
||||||
|
- 'Linux, OpenWrt'
|
||||||
|
- 'Linux, Other (please mention the version in the description)'
|
||||||
|
- 'macOS (aka Darwin)'
|
||||||
|
- 'OpenBSD'
|
||||||
|
- 'Windows'
|
||||||
|
- 'Other (please mention in the description)'
|
||||||
|
'id': 'os'
|
||||||
|
'type': 'dropdown'
|
||||||
|
'validations':
|
||||||
|
'required': true
|
||||||
|
- 'attributes':
|
||||||
|
'description': 'On which CPU architecture does the issue occur?'
|
||||||
|
'label': 'CPU architecture'
|
||||||
|
'options':
|
||||||
|
- 'AMD64'
|
||||||
|
- 'x86'
|
||||||
|
- '64-bit ARM'
|
||||||
|
- 'ARMv5'
|
||||||
|
- 'ARMv6'
|
||||||
|
- 'ARMv7'
|
||||||
|
- '64-bit MIPS'
|
||||||
|
- '64-bit MIPS LE'
|
||||||
|
- '32-bit MIPS'
|
||||||
|
- '32-bit MIPS LE'
|
||||||
|
- '64-bit PowerPC LE'
|
||||||
|
- 'Other (please mention in the description)'
|
||||||
|
'id': 'arch'
|
||||||
|
'type': 'dropdown'
|
||||||
|
'validations':
|
||||||
|
'required': true
|
||||||
|
- 'attributes':
|
||||||
|
'description': 'How did you install AdGuard Home?'
|
||||||
|
'label': 'Installation'
|
||||||
|
'options':
|
||||||
|
- 'GitHub releases or script from README'
|
||||||
|
- 'Docker'
|
||||||
|
- 'Snapcraft'
|
||||||
|
- 'Custom port'
|
||||||
|
- 'Other (please mention in the description)'
|
||||||
|
'id': 'install'
|
||||||
|
'type': 'dropdown'
|
||||||
|
'validations':
|
||||||
|
'required': true
|
||||||
|
- 'attributes':
|
||||||
|
'description': 'How did you setup AdGuard Home?'
|
||||||
|
'label': 'Setup'
|
||||||
|
'options':
|
||||||
|
- 'On one machine'
|
||||||
|
- 'On a router, DHCP is handled by the router'
|
||||||
|
- 'On a router, DHCP is handled by AdGuard Home'
|
||||||
|
- 'Other (please mention in the description)'
|
||||||
|
'id': 'setup'
|
||||||
|
'type': 'dropdown'
|
||||||
|
'validations':
|
||||||
|
'required': true
|
||||||
|
- 'attributes':
|
||||||
|
'description': 'What version of AdGuard Home are you using?'
|
||||||
|
'label': 'AdGuard Home version'
|
||||||
|
'id': 'version'
|
||||||
|
'type': 'input'
|
||||||
|
'validations':
|
||||||
|
'required': true
|
||||||
|
- 'attributes':
|
||||||
|
'description': 'Please provide a set of steps to reproduce the issue'
|
||||||
|
'label': 'Issue Details'
|
||||||
|
'placeholder':
|
||||||
|
'value': |
|
||||||
|
Steps to reproduce:
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
|
'id': 'what-happened'
|
||||||
|
'type': 'textarea'
|
||||||
|
'validations':
|
||||||
|
'required': true
|
||||||
|
- 'attributes':
|
||||||
|
'label': 'Expected Behavior'
|
||||||
|
'description': 'Describe the expected behavior'
|
||||||
|
'placeholder': |
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
'id': 'expected-behavior'
|
||||||
|
'type': 'textarea'
|
||||||
|
'validations':
|
||||||
|
'required': false
|
||||||
|
- 'attributes':
|
||||||
|
'label': 'Actual Behavior'
|
||||||
|
'description': 'Describe the actual behavior'
|
||||||
|
'placeholder': 'A clear description of what happened instead.'
|
||||||
|
'id': 'actual-behavior'
|
||||||
|
'type': 'textarea'
|
||||||
|
'validations':
|
||||||
|
'required': true
|
||||||
|
- 'attributes':
|
||||||
|
'label': 'Screenshots'
|
||||||
|
'description': |
|
||||||
|
If applicable add screenshots explaining your problem.
|
||||||
|
You can drag and drop images or paste them from clipboard.
|
||||||
|
Use `<details> </details>` tag to hide screenshots under the spoiler.
|
||||||
|
'placeholder': 'If applicable add screenshots explaining your problem.'
|
||||||
|
'value': |
|
||||||
|
<details><summary>Screenshot 1:</summary>
|
||||||
|
|
||||||
|
<!-- paste screenshot here -->
|
||||||
|
|
||||||
|
</details>
|
||||||
|
'id': 'screenshots'
|
||||||
|
'type': 'textarea'
|
||||||
|
'validations':
|
||||||
|
'required': false
|
||||||
|
'description': >
|
||||||
|
Open a bug report. Please do not open bug reports for questions. If you
|
||||||
|
want to ask a question, ask in in the Discussions section.
|
||||||
|
'name': 'Bug report'
|
||||||
|
'labels': [ 'bug' ]
|
||||||
22
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
22
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
'blank_issues_enabled': false
|
||||||
|
'contact_links':
|
||||||
|
- 'about': >
|
||||||
|
Please report filtering issues, for example advertising filters
|
||||||
|
misfiring or safe browsing false positives, using the form on our
|
||||||
|
website
|
||||||
|
'name': 'AdGuard filters issues'
|
||||||
|
'url': 'https://link.adtidy.org/forward.html?action=report&app=home&from=github'
|
||||||
|
- 'about': >
|
||||||
|
Please send requests for new blocked services and vetted filtering lists
|
||||||
|
to the Hostlists Registry repository
|
||||||
|
'name': 'Blocked services and vetted filtering rule lists: AdGuard Hostlists Registry'
|
||||||
|
'url': 'https://github.com/AdguardTeam/HostlistsRegistry'
|
||||||
|
- 'about': >
|
||||||
|
Please use GitHub Discussions for questions
|
||||||
|
'name': 'Q&A Discussions'
|
||||||
|
'url': 'https://github.com/AdguardTeam/AdGuardHome/discussions'
|
||||||
|
- 'about': >
|
||||||
|
Please check our Wiki for configuration file description, frequently
|
||||||
|
asked questions, and other documentation
|
||||||
|
'name': 'Wiki'
|
||||||
|
'url': 'https://github.com/AdguardTeam/AdGuardHome/wiki'
|
||||||
54
.github/ISSUE_TEMPLATE/feature.yml
vendored
Normal file
54
.github/ISSUE_TEMPLATE/feature.yml
vendored
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
'body':
|
||||||
|
- 'attributes':
|
||||||
|
'description': >
|
||||||
|
Please make sure that the issue is not a duplicate or a question.
|
||||||
|
If it's a duplicate, please react to the original issue with a
|
||||||
|
thumbs up. If it's a question, please post it to the GitHub
|
||||||
|
Discussions page.
|
||||||
|
'label': 'Prerequisites'
|
||||||
|
'options':
|
||||||
|
- 'label': >
|
||||||
|
I have checked the
|
||||||
|
[Wiki](https://github.com/AdguardTeam/AdGuardHome/wiki) and
|
||||||
|
[Discussions](https://github.com/AdguardTeam/AdGuardHome/discussions)
|
||||||
|
and found no answer
|
||||||
|
'required': true
|
||||||
|
- 'label': >
|
||||||
|
I have searched other issues and found no duplicates
|
||||||
|
'required': true
|
||||||
|
- 'label': >
|
||||||
|
I want to request a feature or enhancement and not ask a
|
||||||
|
question
|
||||||
|
'required': true
|
||||||
|
'id': 'prerequisites'
|
||||||
|
'type': 'checkboxes'
|
||||||
|
- 'attributes':
|
||||||
|
'description': 'What happened?'
|
||||||
|
'placeholder': |
|
||||||
|
Is your feature request related to a problem? Please add a clear and
|
||||||
|
concise description of what the problem is.
|
||||||
|
'label': 'Issue Details'
|
||||||
|
'id': 'what-happened'
|
||||||
|
'type': 'textarea'
|
||||||
|
'validations':
|
||||||
|
'required': true
|
||||||
|
- 'attributes':
|
||||||
|
'description': 'What do you propose to change in AdGuard Home?'
|
||||||
|
'placeholder': |
|
||||||
|
Describe the solution you'd like in a clear and concise manner.
|
||||||
|
'label': 'Proposed solution'
|
||||||
|
'id': 'proposed-solution'
|
||||||
|
'type': 'textarea'
|
||||||
|
'validations':
|
||||||
|
'required': true
|
||||||
|
- 'attributes':
|
||||||
|
'description': 'Are there any other ways to solve the problem?'
|
||||||
|
'placeholder': |
|
||||||
|
A clear and concise description of any alternative solutions or features
|
||||||
|
you've considered.
|
||||||
|
'label': 'Alternative solution'
|
||||||
|
'id': 'alternative-solution'
|
||||||
|
'type': 'textarea'
|
||||||
|
'description': 'Suggest a feature or an enhancement for AdGuard Home'
|
||||||
|
'name': 'Feature request or enhancement'
|
||||||
|
'labels': [ 'feature request' ]
|
||||||
22
.github/stale.yml
vendored
22
.github/stale.yml
vendored
@@ -4,15 +4,17 @@
|
|||||||
'daysUntilClose': 15
|
'daysUntilClose': 15
|
||||||
# Issues with these labels will never be considered stale.
|
# Issues with these labels will never be considered stale.
|
||||||
'exemptLabels':
|
'exemptLabels':
|
||||||
- 'bug'
|
- 'bug'
|
||||||
- 'documentation'
|
- 'documentation'
|
||||||
- 'enhancement'
|
- 'enhancement'
|
||||||
- 'feature request'
|
- 'feature request'
|
||||||
- 'help wanted'
|
- 'help wanted'
|
||||||
- 'localization'
|
- 'localization'
|
||||||
- 'needs investigation'
|
- 'needs investigation'
|
||||||
- 'recurrent'
|
- 'recurrent'
|
||||||
- 'research'
|
- 'research'
|
||||||
|
# Set to true to ignore issues in a milestone.
|
||||||
|
'exemptMilestones': true
|
||||||
# Label to use when marking an issue as stale.
|
# Label to use when marking an issue as stale.
|
||||||
'staleLabel': 'wontfix'
|
'staleLabel': 'wontfix'
|
||||||
# Comment to post when marking an issue as stale. Set to `false` to disable.
|
# Comment to post when marking an issue as stale. Set to `false` to disable.
|
||||||
@@ -22,3 +24,5 @@
|
|||||||
for your contributions.
|
for your contributions.
|
||||||
# Comment to post when closing a stale issue. Set to `false` to disable.
|
# Comment to post when closing a stale issue. Set to `false` to disable.
|
||||||
'closeComment': false
|
'closeComment': false
|
||||||
|
# Limit the number of actions per hour.
|
||||||
|
'limitPerRun': 1
|
||||||
|
|||||||
10
.github/workflows/build.yml
vendored
10
.github/workflows/build.yml
vendored
@@ -1,7 +1,7 @@
|
|||||||
'name': 'build'
|
'name': 'build'
|
||||||
|
|
||||||
'env':
|
'env':
|
||||||
'GO_VERSION': '1.17'
|
'GO_VERSION': '1.19.10'
|
||||||
'NODE_VERSION': '14'
|
'NODE_VERSION': '14'
|
||||||
|
|
||||||
'on':
|
'on':
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
'with':
|
'with':
|
||||||
'fetch-depth': 0
|
'fetch-depth': 0
|
||||||
- 'name': 'Set up Go'
|
- 'name': 'Set up Go'
|
||||||
'uses': 'actions/setup-go@v2'
|
'uses': 'actions/setup-go@v3'
|
||||||
'with':
|
'with':
|
||||||
'go-version': '${{ env.GO_VERSION }}'
|
'go-version': '${{ env.GO_VERSION }}'
|
||||||
- 'name': 'Set up Node'
|
- 'name': 'Set up Node'
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
'with':
|
'with':
|
||||||
'fetch-depth': 0
|
'fetch-depth': 0
|
||||||
- 'name': 'Set up Go'
|
- 'name': 'Set up Go'
|
||||||
'uses': 'actions/setup-go@v2'
|
'uses': 'actions/setup-go@v3'
|
||||||
'with':
|
'with':
|
||||||
'go-version': '${{ env.GO_VERSION }}'
|
'go-version': '${{ env.GO_VERSION }}'
|
||||||
- 'name': 'Set up Node'
|
- 'name': 'Set up Node'
|
||||||
@@ -112,7 +112,9 @@
|
|||||||
# Use always() to signal to the runner that this job must run even if the
|
# Use always() to signal to the runner that this job must run even if the
|
||||||
# previous ones failed.
|
# previous ones failed.
|
||||||
'if':
|
'if':
|
||||||
${{ always() &&
|
${{
|
||||||
|
always() &&
|
||||||
|
github.repository_owner == 'AdguardTeam' &&
|
||||||
(
|
(
|
||||||
github.event_name == 'push' ||
|
github.event_name == 'push' ||
|
||||||
github.event.pull_request.head.repo.full_name == github.repository
|
github.event.pull_request.head.repo.full_name == github.repository
|
||||||
|
|||||||
8
.github/workflows/lint.yml
vendored
8
.github/workflows/lint.yml
vendored
@@ -1,7 +1,7 @@
|
|||||||
'name': 'lint'
|
'name': 'lint'
|
||||||
|
|
||||||
'env':
|
'env':
|
||||||
'GO_VERSION': '1.17'
|
'GO_VERSION': '1.19.10'
|
||||||
|
|
||||||
'on':
|
'on':
|
||||||
'push':
|
'push':
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
'steps':
|
'steps':
|
||||||
- 'uses': 'actions/checkout@v2'
|
- 'uses': 'actions/checkout@v2'
|
||||||
- 'name': 'Set up Go'
|
- 'name': 'Set up Go'
|
||||||
'uses': 'actions/setup-go@v2'
|
'uses': 'actions/setup-go@v3'
|
||||||
'with':
|
'with':
|
||||||
'go-version': '${{ env.GO_VERSION }}'
|
'go-version': '${{ env.GO_VERSION }}'
|
||||||
- 'name': 'run-lint'
|
- 'name': 'run-lint'
|
||||||
@@ -43,7 +43,9 @@
|
|||||||
# Use always() to signal to the runner that this job must run even if the
|
# Use always() to signal to the runner that this job must run even if the
|
||||||
# previous ones failed.
|
# previous ones failed.
|
||||||
'if':
|
'if':
|
||||||
${{ always() &&
|
${{
|
||||||
|
always() &&
|
||||||
|
github.repository_owner == 'AdguardTeam' &&
|
||||||
(
|
(
|
||||||
github.event_name == 'push' ||
|
github.event_name == 'push' ||
|
||||||
github.event.pull_request.head.repo.full_name == github.repository
|
github.event.pull_request.head.repo.full_name == github.repository
|
||||||
|
|||||||
34
.github/workflows/potential-duplicates.yml
vendored
Normal file
34
.github/workflows/potential-duplicates.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
'name': 'potential-duplicates'
|
||||||
|
'on':
|
||||||
|
'issues':
|
||||||
|
'types': [ 'opened', 'edited' ]
|
||||||
|
'jobs':
|
||||||
|
'run':
|
||||||
|
'runs-on': 'ubuntu-latest'
|
||||||
|
'steps':
|
||||||
|
- 'uses': 'wow-actions/potential-duplicates@v1'
|
||||||
|
'with':
|
||||||
|
'GITHUB_TOKEN': ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
# Issue title filter work with https://www.npmjs.com/package/anymatch.
|
||||||
|
# Any matched issue will stop detection immediately.
|
||||||
|
# You can specify multi filters in each line.
|
||||||
|
# 'filter': ''
|
||||||
|
# Exclude keywords in title before detecting.
|
||||||
|
# 'exclude': ''
|
||||||
|
# Label to set, when potential duplicates are detected.
|
||||||
|
'label': 'potential-duplicate'
|
||||||
|
# Get issues with state to compare. Supported state: 'all', 'closed',
|
||||||
|
# 'open'.
|
||||||
|
'state': 'all'
|
||||||
|
# If similarity is higher than this threshold([0,1]), issue will be
|
||||||
|
# marked as duplicate.
|
||||||
|
'threshold': 0.6
|
||||||
|
# Reactions to be add to comment when potential duplicates are
|
||||||
|
# detected. Available reactions: "-1", "+1", "confused", "laugh",
|
||||||
|
# "heart", "hooray", "rocket", "eyes".
|
||||||
|
# 'reactions': 'eyes, confused'
|
||||||
|
# Comment to post when potential duplicates are detected.
|
||||||
|
'comment': >
|
||||||
|
Potential duplicates: {{#issues}}
|
||||||
|
- [#{{ number }}] {{ title }} ({{ accuracy }}%)
|
||||||
|
{{/issues}}
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -12,7 +12,6 @@
|
|||||||
/agh-backup/
|
/agh-backup/
|
||||||
/bin/
|
/bin/
|
||||||
/build/*
|
/build/*
|
||||||
/build2/*
|
|
||||||
/data/
|
/data/
|
||||||
/dist/
|
/dist/
|
||||||
/filtering/tests/filtering.TestLotsOfRules*.pprof
|
/filtering/tests/filtering.TestLotsOfRules*.pprof
|
||||||
@@ -22,8 +21,6 @@
|
|||||||
/snapcraft_login
|
/snapcraft_login
|
||||||
AdGuardHome*
|
AdGuardHome*
|
||||||
coverage.txt
|
coverage.txt
|
||||||
leases.db
|
|
||||||
node_modules/
|
node_modules/
|
||||||
|
|
||||||
!/build/gitkeep
|
!/build/gitkeep
|
||||||
!/build2/gitkeep
|
|
||||||
|
|||||||
@@ -2,8 +2,11 @@
|
|||||||
{
|
{
|
||||||
"project_id": "home",
|
"project_id": "home",
|
||||||
"base_locale": "en",
|
"base_locale": "en",
|
||||||
"localizable_files": ["client/src/__locales/en.json"],
|
"localizable_files": [
|
||||||
|
"client/src/__locales/en.json"
|
||||||
|
],
|
||||||
"languages": {
|
"languages": {
|
||||||
|
"ar": "العربية",
|
||||||
"be": "Беларуская",
|
"be": "Беларуская",
|
||||||
"bg": "Български",
|
"bg": "Български",
|
||||||
"cs": "Český",
|
"cs": "Český",
|
||||||
|
|||||||
@@ -399,6 +399,7 @@ Response:
|
|||||||
"protection_enabled":true,
|
"protection_enabled":true,
|
||||||
"running":true,
|
"running":true,
|
||||||
"dhcp_available":true,
|
"dhcp_available":true,
|
||||||
|
"protection_disabled_duration":0
|
||||||
"version":"undefined"
|
"version":"undefined"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1355,6 +1356,19 @@ Internally, all supported services are stored as a map:
|
|||||||
service name -> list of rules
|
service name -> list of rules
|
||||||
|
|
||||||
|
|
||||||
|
### API: Get blocked services list of available services
|
||||||
|
|
||||||
|
Request:
|
||||||
|
|
||||||
|
GET /control/blocked_services/services
|
||||||
|
|
||||||
|
Response:
|
||||||
|
|
||||||
|
200 OK
|
||||||
|
|
||||||
|
[ "name1", ... ]
|
||||||
|
|
||||||
|
|
||||||
### API: Get blocked services list
|
### API: Get blocked services list
|
||||||
|
|
||||||
Request:
|
Request:
|
||||||
|
|||||||
1054
CHANGELOG.md
1054
CHANGELOG.md
File diff suppressed because it is too large
Load Diff
48
Makefile
48
Makefile
@@ -4,18 +4,26 @@
|
|||||||
# See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html.
|
# See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html.
|
||||||
.POSIX:
|
.POSIX:
|
||||||
|
|
||||||
CHANNEL = development
|
# This comment is used to simplify checking local copies of the
|
||||||
CLIENT_BETA_DIR = client2
|
# Makefile. Bump this number every time a significant change is made to
|
||||||
CLIENT_DIR = client
|
# this Makefile.
|
||||||
COMMIT = $$( git rev-parse --short HEAD )
|
#
|
||||||
DIST_DIR = dist
|
# AdGuard-Project-Version: 2
|
||||||
# Don't name this macro "GO", because GNU Make apparenly makes it an
|
|
||||||
# exported environment variable with the literal value of "${GO:-go}",
|
# Don't name these macros "GO" etc., because GNU Make apparently makes
|
||||||
# which is not what we need. Use a dot in the name to make sure that
|
# them exported environment variables with the literal value of
|
||||||
# users don't have an environment variable with the same name.
|
# "${GO:-go}" and so on, which is not what we need. Use a dot in the
|
||||||
|
# name to make sure that users don't have an environment variable with
|
||||||
|
# the same name.
|
||||||
#
|
#
|
||||||
# See https://unix.stackexchange.com/q/646255/105635.
|
# See https://unix.stackexchange.com/q/646255/105635.
|
||||||
GO.MACRO = $${GO:-go}
|
GO.MACRO = $${GO:-go}
|
||||||
|
VERBOSE.MACRO = $${VERBOSE:-0}
|
||||||
|
|
||||||
|
CHANNEL = development
|
||||||
|
CLIENT_DIR = client
|
||||||
|
COMMIT = $$( git rev-parse --short HEAD )
|
||||||
|
DIST_DIR = dist
|
||||||
GOPROXY = https://goproxy.cn|https://proxy.golang.org|direct
|
GOPROXY = https://goproxy.cn|https://proxy.golang.org|direct
|
||||||
GOSUMDB = sum.golang.google.cn
|
GOSUMDB = sum.golang.google.cn
|
||||||
GPG_KEY = devteam@adguard.com
|
GPG_KEY = devteam@adguard.com
|
||||||
@@ -26,20 +34,17 @@ NPM_INSTALL_FLAGS = $(NPM_FLAGS) --quiet --no-progress --ignore-engines\
|
|||||||
--ignore-optional --ignore-platform --ignore-scripts
|
--ignore-optional --ignore-platform --ignore-scripts
|
||||||
RACE = 0
|
RACE = 0
|
||||||
SIGN = 1
|
SIGN = 1
|
||||||
VERBOSE = 0
|
|
||||||
VERSION = v0.0.0
|
VERSION = v0.0.0
|
||||||
YARN = yarn
|
YARN = yarn
|
||||||
YARN_FLAGS = --cwd $(CLIENT_BETA_DIR)
|
|
||||||
YARN_INSTALL_FLAGS = $(YARN_FLAGS) --network-timeout 120000 --silent\
|
NEXTAPI = 0
|
||||||
--ignore-engines --ignore-optional --ignore-platform\
|
|
||||||
--ignore-scripts
|
|
||||||
|
|
||||||
# Macros for the build-release target. If FRONTEND_PREBUILT is 0, the
|
# Macros for the build-release target. If FRONTEND_PREBUILT is 0, the
|
||||||
# default, the macro $(BUILD_RELEASE_DEPS_$(FRONTEND_PREBUILT)) expands
|
# default, the macro $(BUILD_RELEASE_DEPS_$(FRONTEND_PREBUILT)) expands
|
||||||
# into BUILD_RELEASE_DEPS_0, and so both frontend and backend
|
# into BUILD_RELEASE_DEPS_0, and so both frontend and backend
|
||||||
# dependencies are fetched and the frontend is built. Otherwise, if
|
# dependencies are fetched and the frontend is built. Otherwise, if
|
||||||
# FRONTEND_PREBUILT is 1, only backend dependencies are fetched and the
|
# FRONTEND_PREBUILT is 1, only backend dependencies are fetched and the
|
||||||
# frontend isn't reuilt.
|
# frontend isn't rebuilt.
|
||||||
#
|
#
|
||||||
# TODO(a.garipov): We could probably do that from .../build-release.sh,
|
# TODO(a.garipov): We could probably do that from .../build-release.sh,
|
||||||
# but that would mean either calling make from inside make or
|
# but that would mean either calling make from inside make or
|
||||||
@@ -61,13 +66,14 @@ ENV = env\
|
|||||||
PATH="$${PWD}/bin:$$( "$(GO.MACRO)" env GOPATH )/bin:$${PATH}"\
|
PATH="$${PWD}/bin:$$( "$(GO.MACRO)" env GOPATH )/bin:$${PATH}"\
|
||||||
RACE='$(RACE)'\
|
RACE='$(RACE)'\
|
||||||
SIGN='$(SIGN)'\
|
SIGN='$(SIGN)'\
|
||||||
VERBOSE='$(VERBOSE)'\
|
NEXTAPI='$(NEXTAPI)'\
|
||||||
|
VERBOSE="$(VERBOSE.MACRO)"\
|
||||||
VERSION='$(VERSION)'\
|
VERSION='$(VERSION)'\
|
||||||
|
|
||||||
# Keep the line above blank.
|
# Keep the line above blank.
|
||||||
|
|
||||||
# Keep this target first, so that a naked make invocation triggers
|
# Keep this target first, so that a naked make invocation triggers a
|
||||||
# a full build.
|
# full build.
|
||||||
build: deps quick-build
|
build: deps quick-build
|
||||||
|
|
||||||
quick-build: js-build go-build
|
quick-build: js-build go-build
|
||||||
@@ -90,17 +96,13 @@ init: ; git config core.hooksPath ./scripts/hooks
|
|||||||
|
|
||||||
js-build:
|
js-build:
|
||||||
$(NPM) $(NPM_FLAGS) run build-prod
|
$(NPM) $(NPM_FLAGS) run build-prod
|
||||||
$(YARN) $(YARN_FLAGS) build
|
|
||||||
js-deps:
|
js-deps:
|
||||||
$(NPM) $(NPM_INSTALL_FLAGS) ci
|
$(NPM) $(NPM_INSTALL_FLAGS) ci
|
||||||
$(YARN) $(YARN_INSTALL_FLAGS) install
|
|
||||||
|
|
||||||
# TODO(a.garipov): Remove the legacy client tasks support once the new
|
# TODO(a.garipov): Remove the legacy client tasks support once the new
|
||||||
# client is done and the old one is removed.
|
# client is done and the old one is removed.
|
||||||
js-lint: ; $(NPM) $(NPM_FLAGS) run lint
|
js-lint: ; $(NPM) $(NPM_FLAGS) run lint
|
||||||
js-test: ; $(NPM) $(NPM_FLAGS) run test
|
js-test: ; $(NPM) $(NPM_FLAGS) run test
|
||||||
js-beta-lint: ; $(YARN) $(YARN_FLAGS) lint
|
|
||||||
js-beta-test: ; # TODO(v.abdulmyanov): Add tests for the new client.
|
|
||||||
|
|
||||||
go-build: ; $(ENV) "$(SHELL)" ./scripts/make/go-build.sh
|
go-build: ; $(ENV) "$(SHELL)" ./scripts/make/go-build.sh
|
||||||
go-deps: ; $(ENV) "$(SHELL)" ./scripts/make/go-deps.sh
|
go-deps: ; $(ENV) "$(SHELL)" ./scripts/make/go-deps.sh
|
||||||
@@ -125,4 +127,4 @@ go-os-check:
|
|||||||
openapi-lint: ; cd ./openapi/ && $(YARN) test
|
openapi-lint: ; cd ./openapi/ && $(YARN) test
|
||||||
openapi-show: ; cd ./openapi/ && $(YARN) start
|
openapi-show: ; cd ./openapi/ && $(YARN) start
|
||||||
|
|
||||||
txt-lint: ; $(ENV) "$(SHELL)" ./scripts/make/txt-lint.sh
|
txt-lint: ; $(ENV) "$(SHELL)" ./scripts/make/txt-lint.sh
|
||||||
|
|||||||
595
README.md
595
README.md
@@ -1,144 +1,195 @@
|
|||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="https://cdn.adguard.com/public/Adguard/Common/adguard_home.svg" width="300px" alt="AdGuard Home" />
|
<picture>
|
||||||
|
<source media="(prefers-color-scheme: dark)" srcset="doc/adguard_home_darkmode.svg">
|
||||||
|
<img alt="AdGuard Home" src="doc/adguard_home_lightmode.svg" width="300px">
|
||||||
|
</picture>
|
||||||
</p>
|
</p>
|
||||||
<h3 align="center">Privacy protection center for you and your devices</h3>
|
<h3 align="center">Privacy protection center for you and your devices</h3>
|
||||||
<p align="center">
|
<p align="center">
|
||||||
Free and open source, powerful network-wide ads & trackers blocking DNS server.
|
Free and open source, powerful network-wide ads & trackers blocking DNS
|
||||||
|
server.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://adguard.com/">AdGuard.com</a> |
|
<a href="https://adguard.com/">AdGuard.com</a> |
|
||||||
<a href="https://github.com/AdguardTeam/AdGuardHome/wiki">Wiki</a> |
|
<a href="https://github.com/AdguardTeam/AdGuardHome/wiki">Wiki</a> |
|
||||||
<a href="https://reddit.com/r/Adguard">Reddit</a> |
|
<a href="https://reddit.com/r/Adguard">Reddit</a> |
|
||||||
<a href="https://twitter.com/AdGuard">Twitter</a> |
|
<a href="https://twitter.com/AdGuard">Twitter</a> |
|
||||||
<a href="https://t.me/adguard_en">Telegram</a>
|
<a href="https://t.me/adguard_en">Telegram</a>
|
||||||
<br /><br />
|
<br/><br/>
|
||||||
<a href="https://codecov.io/github/AdguardTeam/AdGuardHome?branch=master">
|
<a href="https://codecov.io/github/AdguardTeam/AdGuardHome?branch=master">
|
||||||
<img src="https://img.shields.io/codecov/c/github/AdguardTeam/AdGuardHome/master.svg" alt="Code Coverage" />
|
<img src="https://img.shields.io/codecov/c/github/AdguardTeam/AdGuardHome/master.svg" alt="Code Coverage"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://goreportcard.com/report/AdguardTeam/AdGuardHome">
|
<a href="https://goreportcard.com/report/AdguardTeam/AdGuardHome">
|
||||||
<img src="https://goreportcard.com/badge/github.com/AdguardTeam/AdGuardHome" alt="Go Report Card" />
|
<img src="https://goreportcard.com/badge/github.com/AdguardTeam/AdGuardHome" alt="Go Report Card"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://hub.docker.com/r/adguard/adguardhome">
|
<a href="https://hub.docker.com/r/adguard/adguardhome">
|
||||||
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/adguard/adguardhome.svg?maxAge=604800" />
|
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/adguard/adguardhome.svg?maxAge=604800"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://hub.docker.com/r/adguard/adguardhome">
|
<br/>
|
||||||
<img alt="Docker Stars" src="https://img.shields.io/docker/stars/adguard/adguardhome.svg?maxAge=604800" />
|
|
||||||
</a>
|
|
||||||
<br />
|
|
||||||
<a href="https://github.com/AdguardTeam/AdGuardHome/releases">
|
<a href="https://github.com/AdguardTeam/AdGuardHome/releases">
|
||||||
<img src="https://img.shields.io/github/release/AdguardTeam/AdGuardHome/all.svg" alt="Latest release" />
|
<img src="https://img.shields.io/github/release/AdguardTeam/AdGuardHome/all.svg" alt="Latest release"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://snapcraft.io/adguard-home">
|
<a href="https://snapcraft.io/adguard-home">
|
||||||
<img alt="adguard-home" src="https://snapcraft.io/adguard-home/badge.svg" />
|
<img alt="adguard-home" src="https://snapcraft.io/adguard-home/badge.svg"/>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
<br/>
|
||||||
<br />
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="https://cdn.adguard.com/public/Adguard/Common/adguard_home.gif" width="800" />
|
<img src="https://cdn.adtidy.org/public/Adguard/Common/adguard_home.gif" width="800"/>
|
||||||
</p>
|
</p>
|
||||||
|
<hr/>
|
||||||
|
|
||||||
<hr />
|
AdGuard Home is a network-wide software for blocking ads and tracking. After you
|
||||||
|
set it up, it'll cover ALL your home devices, and you don't need any client-side
|
||||||
|
software for that.
|
||||||
|
|
||||||
AdGuard Home is a network-wide software for blocking ads & tracking. After you set it up, it'll cover ALL your home devices, and you don't need any client-side software for that.
|
It operates as a DNS server that re-routes tracking domains to a “black hole”,
|
||||||
|
thus preventing your devices from connecting to those servers. It's based on
|
||||||
|
software we use for our public [AdGuard DNS] servers, and both share a lot of
|
||||||
|
code.
|
||||||
|
|
||||||
It operates as a DNS server that re-routes tracking domains to a "black hole", thus preventing your devices from connecting to those servers. It's based on software we use for our public [AdGuard DNS](https://adguard.com/en/adguard-dns/overview.html) servers -- both share a lot of common code.
|
[AdGuard DNS]: https://adguard-dns.io/
|
||||||
|
|
||||||
* [Getting Started](#getting-started)
|
|
||||||
* [Comparing AdGuard Home to other solutions](#comparison)
|
|
||||||
* [How is this different from public AdGuard DNS servers?](#comparison-adguard-dns)
|
|
||||||
* [How does AdGuard Home compare to Pi-Hole](#comparison-pi-hole)
|
|
||||||
* [How does AdGuard Home compare to traditional ad blockers](#comparison-adblock)
|
|
||||||
* [How to build from source](#how-to-build)
|
|
||||||
* [Contributing](#contributing)
|
|
||||||
* [Test unstable versions](#test-unstable-versions)
|
|
||||||
* [Reporting issues](#reporting-issues)
|
|
||||||
* [Help with translations](#translate)
|
|
||||||
* [Other](#help-other)
|
|
||||||
* [Projects that use AdGuard Home](#uses)
|
|
||||||
* [Acknowledgments](#acknowledgments)
|
|
||||||
* [Privacy](#privacy)
|
|
||||||
|
|
||||||
<a id="getting-started"></a>
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
### Automated install (Linux and Mac)
|
* [Getting Started](#getting-started)
|
||||||
Run the following command in your terminal:
|
* [Automated install (Unix)](#automated-install-linux-and-mac)
|
||||||
```
|
* [Alternative methods](#alternative-methods)
|
||||||
|
* [Guides](#guides)
|
||||||
|
* [API](#api)
|
||||||
|
* [Comparing AdGuard Home to other solutions](#comparison)
|
||||||
|
* [How is this different from public AdGuard DNS servers?](#comparison-adguard-dns)
|
||||||
|
* [How does AdGuard Home compare to Pi-Hole](#comparison-pi-hole)
|
||||||
|
* [How does AdGuard Home compare to traditional ad blockers](#comparison-adblock)
|
||||||
|
* [Known limitations](#comparison-limitations)
|
||||||
|
* [How to build from source](#how-to-build)
|
||||||
|
* [Prerequisites](#prerequisites)
|
||||||
|
* [Building](#building)
|
||||||
|
* [Contributing](#contributing)
|
||||||
|
* [Test unstable versions](#test-unstable-versions)
|
||||||
|
* [Reporting issues](#reporting-issues)
|
||||||
|
* [Help with translations](#translate)
|
||||||
|
* [Other](#help-other)
|
||||||
|
* [Projects that use AdGuard Home](#uses)
|
||||||
|
* [Acknowledgments](#acknowledgments)
|
||||||
|
* [Privacy](#privacy)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## <a href="#getting-started" id="getting-started" name="getting-started">Getting Started</a>
|
||||||
|
|
||||||
|
### <a href="#automated-install-linux-and-mac" id="automated-install-linux-and-mac" name="automated-install-linux-and-mac">Automated install (Unix)</a>
|
||||||
|
|
||||||
|
To install with `curl` run the following command:
|
||||||
|
|
||||||
|
```sh
|
||||||
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
|
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To install with `wget` run the following command:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
|
||||||
|
```
|
||||||
|
|
||||||
|
To install with `fetch` run the following command:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
fetch -o - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
|
||||||
|
```
|
||||||
|
|
||||||
The script also accepts some options:
|
The script also accepts some options:
|
||||||
* `-c <channel>` to use specified channel.
|
|
||||||
* `-r` to reinstall AdGuard Home;
|
* `-c <channel>` to use specified channel;
|
||||||
* `-u` to uninstall AdGuard Home;
|
* `-r` to reinstall AdGuard Home;
|
||||||
* `-v` for verbose output;
|
* `-u` to uninstall AdGuard Home;
|
||||||
|
* `-v` for verbose output.
|
||||||
|
|
||||||
Note that options `-r` and `-u` are mutually exclusive.
|
Note that options `-r` and `-u` are mutually exclusive.
|
||||||
|
|
||||||
### Alternative methods
|
|
||||||
|
|
||||||
#### Manual installation
|
|
||||||
|
|
||||||
Please read the **[Getting Started](https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started)** article on our Wiki to learn how to install AdGuard Home manually, and how to configure your devices to use it.
|
### <a href="#alternative-methods" id="alternative-methods" name="alternative-methods">Alternative methods</a>
|
||||||
|
|
||||||
#### Docker
|
#### <a href="#manual-installation" id="manual-installation" name="manual-installation">Manual installation</a>
|
||||||
|
|
||||||
You can use our [official Docker image](https://hub.docker.com/r/adguard/adguardhome).
|
Please read the **[Getting Started][wiki-start]** article on our Wiki to learn
|
||||||
|
how to install AdGuard Home manually, and how to configure your devices to use
|
||||||
|
it.
|
||||||
|
|
||||||
#### Snap Store
|
#### <a href="#docker" id="docker" name="docker">Docker</a>
|
||||||
|
|
||||||
If you're running **Linux**, there's a secure and easy way to install AdGuard Home - you can get it from the [Snap Store](https://snapcraft.io/adguard-home).
|
You can use our official Docker image on [Docker Hub].
|
||||||
|
|
||||||
### Guides
|
#### <a href="#snap-store" id="snap-store" name="snap-store">Snap Store</a>
|
||||||
|
|
||||||
* [Getting Started](https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started)
|
If you're running **Linux,** there's a secure and easy way to install AdGuard
|
||||||
* [FAQ](https://github.com/AdguardTeam/AdGuardHome/wiki/FAQ)
|
Home: get it from the [Snap Store].
|
||||||
* [How to Write Hosts Blocklists](https://github.com/AdguardTeam/AdGuardHome/wiki/Hosts-Blocklists)
|
|
||||||
* [Comparing AdGuard Home to Other Solutions](https://github.com/AdguardTeam/AdGuardHome/wiki/Comparison)
|
|
||||||
* Configuring AdGuard
|
|
||||||
* [Configuration](https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration)
|
|
||||||
* [Configuring AdGuard Home Clients](https://github.com/AdguardTeam/AdGuardHome/wiki/Clients)
|
|
||||||
* [AdGuard Home as a DoH, DoT, or DoQ Server](https://github.com/AdguardTeam/AdGuardHome/wiki/Encryption)
|
|
||||||
* [AdGuard Home as a DNSCrypt Server](https://github.com/AdguardTeam/AdGuardHome/wiki/DNSCrypt)
|
|
||||||
* [AdGuard Home as a DHCP Server](https://github.com/AdguardTeam/AdGuardHome/wiki/DHCP)
|
|
||||||
* Installing AdGuard Home
|
|
||||||
* [Docker](https://github.com/AdguardTeam/AdGuardHome/wiki/Docker)
|
|
||||||
* [How to Install and Run AdGuard Home on a Raspberry Pi](https://github.com/AdguardTeam/AdGuardHome/wiki/Raspberry-Pi)
|
|
||||||
* [How to Install and Run AdGuard Home on a Virtual Private Server](https://github.com/AdguardTeam/AdGuardHome/wiki/VPS)
|
|
||||||
* [Verifying Releases](https://github.com/AdguardTeam/AdGuardHome/wiki/Verify-Releases)
|
|
||||||
|
|
||||||
### API
|
[Docker Hub]: https://hub.docker.com/r/adguard/adguardhome
|
||||||
|
[Snap Store]: https://snapcraft.io/adguard-home
|
||||||
|
[wiki-start]: https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started
|
||||||
|
|
||||||
If you want to integrate with AdGuard Home, you can use our [REST API](https://github.com/AdguardTeam/AdGuardHome/tree/master/openapi).
|
|
||||||
Alternatively, you can use this [python client](https://pypi.org/project/adguardhome/), which is used to build the [AdGuard Home Hass.io Add-on](https://community.home-assistant.io/t/community-hass-io-add-on-adguard-home).
|
|
||||||
|
|
||||||
<a id="comparison"></a>
|
|
||||||
## Comparing AdGuard Home to other solutions
|
|
||||||
|
|
||||||
<a id="comparison-adguard-dns"></a>
|
### <a href="#guides" id="guides" name="guides">Guides</a>
|
||||||
### How is this different from public AdGuard DNS servers?
|
|
||||||
|
|
||||||
Running your own AdGuard Home server allows you to do much more than using a public DNS server. It's a completely different level. See for yourself:
|
See our [Wiki][wiki].
|
||||||
|
|
||||||
* Choose what exactly the server blocks and permits.
|
[wiki]: https://github.com/AdguardTeam/AdGuardHome/wiki
|
||||||
* Monitor your network activity.
|
|
||||||
* Add your own custom filtering rules.
|
|
||||||
* **Most importantly, this is your own server, and you are the only one who's in control.**
|
|
||||||
|
|
||||||
<a id="comparison-pi-hole"></a>
|
|
||||||
### How does AdGuard Home compare to Pi-Hole
|
|
||||||
|
|
||||||
At this point, AdGuard Home has a lot in common with Pi-Hole. Both block ads and trackers using "DNS sinkholing" method, and both allow customizing what's blocked.
|
|
||||||
|
|
||||||
> We're not going to stop here. DNS sinkholing is not a bad starting point, but this is just the beginning.
|
### <a href="#api" id="api" name="api">API</a>
|
||||||
|
|
||||||
AdGuard Home provides a lot of features out-of-the-box with no need to install and configure additional software. We want it to be simple to the point when even casual users can set it up with minimal effort.
|
If you want to integrate with AdGuard Home, you can use our [REST API][openapi].
|
||||||
|
Alternatively, you can use this [python client][pyclient], which is used to
|
||||||
|
build the [AdGuard Home Hass.io Add-on][hassio].
|
||||||
|
|
||||||
> Disclaimer: some of the listed features can be added to Pi-Hole by installing additional software or by manually using SSH terminal and reconfiguring one of the utilities Pi-Hole consists of. However, in our opinion, this cannot be legitimately counted as a Pi-Hole's feature.
|
[hassio]: https://www.home-assistant.io/integrations/adguard/
|
||||||
|
[openapi]: https://github.com/AdguardTeam/AdGuardHome/tree/master/openapi
|
||||||
|
[pyclient]: https://pypi.org/project/adguardhome/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## <a href="#comparison" id="comparison" name="comparison">Comparing AdGuard Home to other solutions</a>
|
||||||
|
|
||||||
|
### <a href="#comparison-adguard-dns" id="comparison-adguard-dns" name="comparison-adguard-dns">How is this different from public AdGuard DNS servers?</a>
|
||||||
|
|
||||||
|
Running your own AdGuard Home server allows you to do much more than using a
|
||||||
|
public DNS server. It's a completely different level. See for yourself:
|
||||||
|
|
||||||
|
* Choose what exactly the server blocks and permits.
|
||||||
|
|
||||||
|
* Monitor your network activity.
|
||||||
|
|
||||||
|
* Add your own custom filtering rules.
|
||||||
|
|
||||||
|
* **Most importantly, it's your own server, and you are the only one who's in
|
||||||
|
control.**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### <a href="#comparison-pi-hole" id="comparison-pi-hole" name="comparison-pi-hole">How does AdGuard Home compare to Pi-Hole</a>
|
||||||
|
|
||||||
|
At this point, AdGuard Home has a lot in common with Pi-Hole. Both block ads
|
||||||
|
and trackers using the so-called “DNS sinkholing” method and both allow
|
||||||
|
customizing what's blocked.
|
||||||
|
|
||||||
|
<aside>
|
||||||
|
We're not going to stop here. DNS sinkholing is not a bad starting point, but
|
||||||
|
this is just the beginning.
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
AdGuard Home provides a lot of features out-of-the-box with no need to install
|
||||||
|
and configure additional software. We want it to be simple to the point when
|
||||||
|
even casual users can set it up with minimal effort.
|
||||||
|
|
||||||
|
**Disclaimer:** some of the listed features can be added to Pi-Hole by
|
||||||
|
installing additional software or by manually using SSH terminal and
|
||||||
|
reconfiguring one of the utilities Pi-Hole consists of. However, in our
|
||||||
|
opinion, this cannot be legitimately counted as a Pi-Hole's feature.
|
||||||
|
|
||||||
| Feature | AdGuard Home | Pi-Hole |
|
| Feature | AdGuard Home | Pi-Hole |
|
||||||
|-------------------------------------------------------------------------|-------------------|-----------------------------------------------------------|
|
|-------------------------------------------------------------------------|-------------------|-----------------------------------------------------------|
|
||||||
@@ -154,221 +205,325 @@ AdGuard Home provides a lot of features out-of-the-box with no need to install a
|
|||||||
| Force Safe search on search engines | ✅ | ❌ |
|
| Force Safe search on search engines | ✅ | ❌ |
|
||||||
| Per-client (device) configuration | ✅ | ✅ |
|
| Per-client (device) configuration | ✅ | ✅ |
|
||||||
| Access settings (choose who can use AGH DNS) | ✅ | ❌ |
|
| Access settings (choose who can use AGH DNS) | ✅ | ❌ |
|
||||||
| Running [without root privileges](https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#running-without-superuser) | ✅ | ❌ |
|
| Running [without root privileges][wiki-noroot] | ✅ | ❌ |
|
||||||
|
|
||||||
<a id="comparison-adblock"></a>
|
[wiki-noroot]: https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#running-without-superuser
|
||||||
### How does AdGuard Home compare to traditional ad blockers
|
|
||||||
|
|
||||||
|
|
||||||
|
### <a href="#comparison-adblock" id="comparison-adblock" name="comparison-adblock">How does AdGuard Home compare to traditional ad blockers</a>
|
||||||
|
|
||||||
It depends.
|
It depends.
|
||||||
|
|
||||||
"DNS sinkholing" is capable of blocking a big percentage of ads, but it lacks flexibility and power of traditional ad blockers. You can get a good impression about the difference between these methods by reading [this article](https://adguard.com/en/blog/adguard-vs-adaway-dns66/). It compares AdGuard for Android (a traditional ad blocker) to hosts-level ad blockers (which are almost identical to DNS-based blockers in their capabilities). This level of protection is enough for some users.
|
DNS sinkholing is capable of blocking a big percentage of ads, but it lacks
|
||||||
|
the flexibility and the power of traditional ad blockers. You can get a good
|
||||||
|
impression about the difference between these methods by reading [this
|
||||||
|
article][blog-adaway], which compares AdGuard for Android (a traditional ad
|
||||||
|
blocker) to hosts-level ad blockers (which are almost identical to DNS-based
|
||||||
|
blockers in their capabilities). This level of protection is enough for some
|
||||||
|
users.
|
||||||
|
|
||||||
Additionally, using a DNS-based blocker can help to block ads, tracking and analytics requests on other types of devices, such as SmartTVs, smart speakers or other kinds of IoT devices (on which you can't install traditional ad blockers).
|
Additionally, using a DNS-based blocker can help to block ads, tracking and
|
||||||
|
analytics requests on other types of devices, such as SmartTVs, smart speakers
|
||||||
|
or other kinds of IoT devices (on which you can't install traditional ad
|
||||||
|
blockers).
|
||||||
|
|
||||||
**Known limitations**
|
|
||||||
|
|
||||||
|
### <a href="#comparison-limitations" id="comparison-limitations" name="comparison-limitations">Known limitations</a>
|
||||||
|
|
||||||
Here are some examples of what cannot be blocked by a DNS-level blocker:
|
Here are some examples of what cannot be blocked by a DNS-level blocker:
|
||||||
|
|
||||||
* YouTube, Twitch ads
|
* YouTube, Twitch ads;
|
||||||
* Facebook, Twitter, Instagram sponsored posts
|
|
||||||
|
|
||||||
Essentially, any advertising that shares a domain with content cannot be blocked by a DNS-level blocker.
|
* Facebook, Twitter, Instagram sponsored posts.
|
||||||
|
|
||||||
Is there a chance to handle this in the future? DNS will never be enough to do this. Our only option is to use a content blocking proxy like what we do in the standalone AdGuard applications. We're [going to bring](https://github.com/AdguardTeam/AdGuardHome/issues/1228) this feature support to AdGuard Home in the future. Unfortunately, even in this case, there still will be cases when this won't be enough or would require quite a complicated configuration.
|
Essentially, any advertising that shares a domain with content cannot be blocked
|
||||||
|
by a DNS-level blocker.
|
||||||
|
|
||||||
<a id="how-to-build"></a>
|
Is there a chance to handle this in the future? DNS will never be enough to do
|
||||||
## How to build from source
|
this. Our only option is to use a content blocking proxy like what we do in the
|
||||||
|
standalone AdGuard applications. We're [going to bring][issue-1228] this
|
||||||
|
feature support to AdGuard Home in the future. Unfortunately, even in this
|
||||||
|
case, there still will be cases when this won't be enough or would require quite
|
||||||
|
a complicated configuration.
|
||||||
|
|
||||||
### Prerequisites
|
[blog-adaway]: https://adguard.com/blog/adguard-vs-adaway-dns66.html
|
||||||
|
[issue-1228]: https://github.com/AdguardTeam/AdGuardHome/issues/1228
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## <a href="#how-to-build" id="how-to-build" name="how-to-build">How to build from source</a>
|
||||||
|
|
||||||
|
### <a href="#prerequisites" id="prerequisites" name="prerequisites">Prerequisites</a>
|
||||||
|
|
||||||
Run `make init` to prepare the development environment.
|
Run `make init` to prepare the development environment.
|
||||||
|
|
||||||
You will need this to build AdGuard Home:
|
You will need this to build AdGuard Home:
|
||||||
|
|
||||||
* [go](https://golang.org/dl/) v1.17 or later.
|
* [Go](https://golang.org/dl/) v1.19 or later;
|
||||||
* [node.js](https://nodejs.org/en/download/) v10.16.2 or later.
|
* [Node.js](https://nodejs.org/en/download/) v10.16.2 or later;
|
||||||
* [npm](https://www.npmjs.com/) v6.14 or later (temporary requirement, TODO: remove when redesign is finished).
|
* [npm](https://www.npmjs.com/) v6.14 or later;
|
||||||
* [yarn](https://yarnpkg.com/) v1.22.5 or later.
|
* [yarn](https://yarnpkg.com/) v1.22.5 or later.
|
||||||
|
|
||||||
### Building
|
|
||||||
|
|
||||||
Open Terminal and execute these commands:
|
|
||||||
|
|
||||||
```bash
|
### <a href="#building" id="building" name="building">Building</a>
|
||||||
|
|
||||||
|
Open your terminal and execute these commands:
|
||||||
|
|
||||||
|
```sh
|
||||||
git clone https://github.com/AdguardTeam/AdGuardHome
|
git clone https://github.com/AdguardTeam/AdGuardHome
|
||||||
cd AdGuardHome
|
cd AdGuardHome
|
||||||
make
|
make
|
||||||
```
|
```
|
||||||
|
|
||||||
Please note, that the non-standard `-j` flag is currently not supported, so
|
**NOTE:** The non-standard `-j` flag is currently not supported, so building
|
||||||
building with `make -j 4` or setting your `MAKEFLAGS` to include, for example,
|
with `make -j 4` or setting your `MAKEFLAGS` to include, for example, `-j 4` is
|
||||||
`-j 4` is likely to break the build. If you do have your `MAKEFLAGS` set to
|
likely to break the build. If you do have your `MAKEFLAGS` set to that, and you
|
||||||
that, and you don't want to change it, you can override it by running
|
don't want to change it, you can override it by running `make -j 1`.
|
||||||
`make -j 1`.
|
|
||||||
|
|
||||||
Check the [`Makefile`](https://github.com/AdguardTeam/AdGuardHome/blob/master/Makefile) to learn about other commands.
|
Check the [`Makefile`][src-makefile] to learn about other commands.
|
||||||
|
|
||||||
**Building for a different platform.** You can build AdGuard for any OS/ARCH just like any other Go project.
|
#### <a href="#building-cross" id="building-cross" name="building-cross">Building for a different platform</a>
|
||||||
In order to do this, specify `GOOS` and `GOARCH` env variables before running make.
|
|
||||||
|
You can build AdGuard Home for any OS/ARCH that Go supports. In order to do
|
||||||
|
this, specify `GOOS` and `GOARCH` environment variables as macros when running
|
||||||
|
`make`.
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
```
|
|
||||||
|
```sh
|
||||||
env GOOS='linux' GOARCH='arm64' make
|
env GOOS='linux' GOARCH='arm64' make
|
||||||
```
|
```
|
||||||
Or:
|
|
||||||
```
|
or:
|
||||||
|
|
||||||
|
```sh
|
||||||
make GOOS='linux' GOARCH='arm64'
|
make GOOS='linux' GOARCH='arm64'
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Preparing release
|
#### <a href="#preparing-releases" id="preparing-releases" name="preparing-releases">Preparing releases</a>
|
||||||
|
|
||||||
You'll need this to prepare a release build:
|
You'll need [`snapcraft`] to prepare a release build. Once installed, run the
|
||||||
|
following command:
|
||||||
|
|
||||||
* [snapcraft](https://snapcraft.io/)
|
```sh
|
||||||
|
|
||||||
Commands:
|
|
||||||
|
|
||||||
```
|
|
||||||
make build-release CHANNEL='...' VERSION='...'
|
make build-release CHANNEL='...' VERSION='...'
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Docker image
|
See the [`build-release` target documentation][targ-release].
|
||||||
|
|
||||||
* Run `make build-docker` to build the Docker image locally (the one that we publish to DockerHub).
|
#### <a href="#docker-image" id="docker-image" name="docker-image">Docker image</a>
|
||||||
|
|
||||||
Please note, that we're using [Docker Buildx](https://docs.docker.com/buildx/working-with-buildx/) to build our official image.
|
Run `make build-docker` to build the Docker image locally (the one that we
|
||||||
|
publish to DockerHub). Please note, that we're using [Docker Buildx][buildx] to
|
||||||
|
build our official image.
|
||||||
|
|
||||||
You may need to prepare before using these builds:
|
You may need to prepare before using these builds:
|
||||||
|
|
||||||
* (Linux-only) Install Qemu: `docker run --rm --privileged multiarch/qemu-user-static --reset -p yes --credential yes`
|
* (Linux-only) Install Qemu:
|
||||||
* Prepare builder: `docker buildx create --name buildx-builder --driver docker-container --use`
|
|
||||||
|
```sh
|
||||||
|
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes --credential yes
|
||||||
|
```
|
||||||
|
|
||||||
|
* Prepare the builder:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker buildx create --name buildx-builder --driver docker-container --use
|
||||||
|
```
|
||||||
|
|
||||||
|
See the [`build-docker` target documentation][targ-docker].
|
||||||
|
|
||||||
|
#### <a href="#debugging-the-frontend" id="debugging-the-frontend" name="debugging-the-frontend">Debugging the frontend</a>
|
||||||
|
|
||||||
|
When you need to debug the frontend without recompiling the production version
|
||||||
|
every time, for example to check how your labels would look on a form, you can
|
||||||
|
run the frontend build a development environment.
|
||||||
|
|
||||||
|
1. In a separate terminal, run:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
( cd ./client/ && env NODE_ENV='development' npm run watch )
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Run your `AdGuardHome` binary with the `--local-frontend` flag, which
|
||||||
|
instructs AdGuard Home to ignore the built-in frontend files and use those
|
||||||
|
from the `./build/` directory.
|
||||||
|
|
||||||
|
3. Now any changes you make in the `./client/` directory should be recompiled
|
||||||
|
and become available on the web UI. Make sure that you disable the browser
|
||||||
|
cache to make sure that you actually get the recompiled version.
|
||||||
|
|
||||||
|
[`snapcraft`]: https://snapcraft.io/
|
||||||
|
[buildx]: https://docs.docker.com/buildx/working-with-buildx/
|
||||||
|
[src-makefile]: https://github.com/AdguardTeam/AdGuardHome/blob/master/Makefile
|
||||||
|
[targ-docker]: https://github.com/AdguardTeam/AdGuardHome/tree/master/scripts#build-dockersh-build-a-multi-architecture-docker-image
|
||||||
|
[targ-release]: https://github.com/AdguardTeam/AdGuardHome/tree/master/scripts#build-releasesh-build-a-release-for-all-platforms
|
||||||
|
|
||||||
|
|
||||||
### Resources that we update periodically
|
|
||||||
|
|
||||||
* `scripts/translations`
|
## <a href="#contributing" id="contributing" name="contributing">Contributing</a>
|
||||||
* `scripts/whotracksme`
|
|
||||||
|
|
||||||
<a id="contributing"></a>
|
You are welcome to fork this repository, make your changes and [submit a pull
|
||||||
## Contributing
|
request][pr]. Please make sure you follow our [code guidelines][guide] though.
|
||||||
|
|
||||||
You are welcome to fork this repository, make your changes and submit a pull request — https://github.com/AdguardTeam/AdGuardHome/pulls
|
Please note that we don't expect people to contribute to both UI and backend
|
||||||
|
parts of the program simultaneously. Ideally, the backend part is implemented
|
||||||
|
first, i.e. configuration, API, and the functionality itself. The UI part can
|
||||||
|
be implemented later in a different pull request by a different person.
|
||||||
|
|
||||||
Please note that we don't expect people to contribute to both UI and golang parts of the program simultaneously. Ideally, the golang part is implemented first, i.e. configuration, API, and the functionality itself. The UI part can be implemented later in a different pull request by a different person.
|
[guide]: https://github.com/AdguardTeam/CodeGuidelines/
|
||||||
|
[pr]: https://github.com/AdguardTeam/AdGuardHome/pulls
|
||||||
|
|
||||||
<a id="test-unstable-versions"></a>
|
|
||||||
### Test unstable versions
|
|
||||||
|
### <a href="#test-unstable-versions" id="test-unstable-versions" name="test-unstable-versions">Test unstable versions</a>
|
||||||
|
|
||||||
There are two update channels that you can use:
|
There are two update channels that you can use:
|
||||||
|
|
||||||
* `beta` - beta version of AdGuard Home. More or less stable versions.
|
* `beta`: beta versions of AdGuard Home. More or less stable versions,
|
||||||
* `edge` - the newest version of AdGuard Home. New updates are pushed to this channel daily and it is the closest to the master branch you can get.
|
usually released every two weeks or more often.
|
||||||
|
|
||||||
|
* `edge`: the newest version of AdGuard Home from the development branch. New
|
||||||
|
updates are pushed to this channel daily.
|
||||||
|
|
||||||
There are three options how you can install an unstable version:
|
There are three options how you can install an unstable version:
|
||||||
|
|
||||||
1. [Snap Store](https://snapcraft.io/adguard-home) -- look for "beta" and "edge" channels there.
|
1. [Snap Store]: look for the `beta` and `edge` channels.
|
||||||
2. [Docker Hub](https://hub.docker.com/r/adguard/adguardhome) -- look for "beta" and "edge" tags there.
|
|
||||||
3. Standalone builds. Use the automated installation script or look for the available builds below.
|
|
||||||
|
|
||||||
Beta:
|
2. [Docker Hub]: look for the `beta` and `edge` tags.
|
||||||
```
|
|
||||||
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c beta
|
|
||||||
```
|
|
||||||
|
|
||||||
Edge:
|
3. Standalone builds. Use the automated installation script or look for the
|
||||||
```
|
available builds [on the Wiki][wiki-platf].
|
||||||
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c edge
|
|
||||||
```
|
|
||||||
|
|
||||||
* Beta channel builds
|
Script to install a beta version:
|
||||||
* Linux: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_amd64.tar.gz), [32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_386.tar.gz)
|
|
||||||
* Linux ARM: [32-bit ARMv6](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_armv6.tar.gz) (recommended for Raspberry Pi OS stable), [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_armv5.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_armv7.tar.gz)
|
|
||||||
* Linux MIPS: [32-bit MIPS](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mips_softfloat.tar.gz), [32-bit MIPSLE](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mipsle_softfloat.tar.gz), [64-bit MIPS](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mips64_softfloat.tar.gz), [64-bit MIPSLE](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mips64le_softfloat.tar.gz)
|
|
||||||
* Windows: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_windows_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_windows_386.zip)
|
|
||||||
* macOS: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_darwin_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_darwin_386.zip)
|
|
||||||
* macOS ARM: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_darwin_arm64.zip)
|
|
||||||
* FreeBSD: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_amd64.tar.gz), [32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_386.tar.gz)
|
|
||||||
* FreeBSD ARM: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_armv5.tar.gz), [32-bit ARMv6](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_armv6.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_armv7.tar.gz)
|
|
||||||
* OpenBSD: (coming soon)
|
|
||||||
* OpenBSD ARM: (coming soon)
|
|
||||||
|
|
||||||
* Edge channel builds
|
```sh
|
||||||
* Linux: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_amd64.tar.gz), [32-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_386.tar.gz)
|
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c beta
|
||||||
* Linux ARM: [32-bit ARMv6](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv6.tar.gz) (recommended for Raspberry Pi OS stable), [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv5.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv7.tar.gz)
|
```
|
||||||
* Linux MIPS: [32-bit MIPS](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mips_softfloat.tar.gz), [32-bit MIPSLE](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mipsle_softfloat.tar.gz), [64-bit MIPS](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mips64_softfloat.tar.gz), [64-bit MIPSLE](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mips64le_softfloat.tar.gz)
|
|
||||||
* Windows: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_windows_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_windows_386.zip)
|
Script to install an edge version:
|
||||||
* macOS: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_darwin_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_darwin_386.zip)
|
|
||||||
* macOS ARM: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_darwin_arm64.zip)
|
```sh
|
||||||
* FreeBSD: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_amd64.tar.gz), [32-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_386.tar.gz)
|
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c edge
|
||||||
* FreeBSD ARM: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_armv5.tar.gz), [32-bit ARMv6](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_armv6.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_armv7.tar.gz)
|
```
|
||||||
* OpenBSD: [64-bit (experimental)](https://static.adguard.com/adguardhome/edge/AdGuardHome_openbsd_amd64.tar.gz)
|
[wiki-platf]: https://github.com/AdguardTeam/AdGuardHome/wiki/Platforms
|
||||||
* OpenBSD ARM: [64-bit (experimental)](https://static.adguard.com/adguardhome/edge/AdGuardHome_openbsd_arm64.tar.gz)
|
|
||||||
|
|
||||||
|
|
||||||
<a id="reporting-issues"></a>
|
|
||||||
### Report issues
|
|
||||||
|
|
||||||
If you run into any problem or have a suggestion, head to [this page](https://github.com/AdguardTeam/AdGuardHome/issues) and click on the `New issue` button.
|
### <a href="#reporting-issues" id="reporting-issues" name="reporting-issues">Report issues</a>
|
||||||
|
|
||||||
<a id="translate"></a>
|
If you run into any problem or have a suggestion, head to [this page][iss] and
|
||||||
### Help with translations
|
click on the “New issue” button.
|
||||||
|
|
||||||
If you want to help with AdGuard Home translations, please learn more about translating AdGuard products here: https://kb.adguard.com/en/general/adguard-translations
|
[iss]: https://github.com/AdguardTeam/AdGuardHome/issues
|
||||||
|
|
||||||
Here is a link to AdGuard Home project: https://crowdin.com/project/adguard-applications/en#/adguard-home
|
|
||||||
|
|
||||||
<a id="help-other"></a>
|
|
||||||
### Other
|
|
||||||
|
|
||||||
Here's what you can also do to contribute:
|
### <a href="#translate" id="translate" name="translate">Help with translations</a>
|
||||||
|
|
||||||
1. [Look for issues][helpissues] marked as "help wanted".
|
If you want to help with AdGuard Home translations, please learn more about
|
||||||
2. Actualize the list of *Blocked services*. It can be found in
|
translating AdGuard products [in our Knowledge Base][kb-trans]. You can
|
||||||
[filtering/blocked.go][blocked.go].
|
contribute to the [AdGuardHome project on CrowdIn][crowdin].
|
||||||
3. Actualize the list of known *trackers*. It it can be found in [this repo]
|
|
||||||
[companiesdb].
|
|
||||||
4. Actualize the list of vetted *blocklists*. It it can be found in
|
|
||||||
[client/src/helpers/filters/filters.json][filters.json].
|
|
||||||
|
|
||||||
[helpissues]: https://github.com/AdguardTeam/AdGuardHome/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+
|
[crowdin]: https://crowdin.com/project/adguard-applications/en#/adguard-home
|
||||||
[blocked.go]: https://github.com/AdguardTeam/AdGuardHome/blob/master/internal/filtering/blocked.go
|
[kb-trans]: https://kb.adguard.com/en/general/adguard-translations
|
||||||
[companiesdb]: https://github.com/AdguardTeam/companiesdb
|
|
||||||
[filters.json]: https://github.com/AdguardTeam/AdGuardHome/blob/master/client/src/helpers/filters/filters.json
|
|
||||||
|
|
||||||
<a id="uses"></a>
|
|
||||||
## Projects that use AdGuard Home
|
|
||||||
|
|
||||||
* [AdGuard Home Remote](https://apps.apple.com/app/apple-store/id1543143740) - iOS app by [Joost](https://rocketscience-it.nl/)
|
|
||||||
* [Python library](https://github.com/frenck/python-adguardhome) by [@frenck](https://github.com/frenck)
|
|
||||||
* [Home Assistant add-on](https://github.com/hassio-addons/addon-adguard-home) by [@frenck](https://github.com/frenck)
|
|
||||||
* [OpenWrt LUCI app](https://github.com/kongfl888/luci-app-adguardhome) by [@kongfl888](https://github.com/kongfl888) (originally by [@rufengsuixing](https://github.com/rufengsuixing))
|
|
||||||
* [Prometheus exporter for AdGuard Home](https://github.com/ebrianne/adguard-exporter) by [@ebrianne](https://github.com/ebrianne)
|
|
||||||
* [AdGuard Home on GLInet routers](https://forum.gl-inet.com/t/adguardhome-on-gl-routers/10664) by [Gl-Inet](https://gl-inet.com/)
|
|
||||||
* [Cloudron app](https://git.cloudron.io/cloudron/adguard-home-app) by [@gramakri](https://github.com/gramakri)
|
|
||||||
|
|
||||||
<a id="acknowledgments"></a>
|
### <a href="#help-other" id="help-other" name="help-other">Other</a>
|
||||||
## Acknowledgments
|
|
||||||
|
Another way you can contribute is by [looking for issues][iss-help] marked as
|
||||||
|
`help wanted`, asking if the issue is up for grabs, and sending a PR fixing the
|
||||||
|
bug or implementing the feature.
|
||||||
|
|
||||||
|
[iss-help]: https://github.com/AdguardTeam/AdGuardHome/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## <a href="#uses" id="uses" name="uses">Projects that use AdGuard Home</a>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
TODO(a.garipov): Use reference links.
|
||||||
|
-->
|
||||||
|
|
||||||
|
* [AdGuard Home Remote](https://apps.apple.com/app/apple-store/id1543143740):
|
||||||
|
iOS app by [Joost](https://rocketscience-it.nl/).
|
||||||
|
|
||||||
|
* [Python library](https://github.com/frenck/python-adguardhome) by
|
||||||
|
[@frenck](https://github.com/frenck).
|
||||||
|
|
||||||
|
* [Home Assistant add-on](https://github.com/hassio-addons/addon-adguard-home)
|
||||||
|
by [@frenck](https://github.com/frenck).
|
||||||
|
|
||||||
|
* [OpenWrt LUCI app](https://github.com/kongfl888/luci-app-adguardhome) by
|
||||||
|
[@kongfl888](https://github.com/kongfl888) (originally by
|
||||||
|
[@rufengsuixing](https://github.com/rufengsuixing)).
|
||||||
|
|
||||||
|
* [Prometheus exporter for AdGuard
|
||||||
|
Home](https://github.com/ebrianne/adguard-exporter) by
|
||||||
|
[@ebrianne](https://github.com/ebrianne).
|
||||||
|
|
||||||
|
* [Terminal-based, real-time traffic monitoring and statistics for your AdGuard Home
|
||||||
|
instance](https://github.com/Lissy93/AdGuardian-Term) by
|
||||||
|
[@Lissy93](https://github.com/Lissy93)
|
||||||
|
|
||||||
|
* [AdGuard Home on GLInet
|
||||||
|
routers](https://forum.gl-inet.com/t/adguardhome-on-gl-routers/10664) by
|
||||||
|
[Gl-Inet](https://gl-inet.com/).
|
||||||
|
|
||||||
|
* [Cloudron app](https://git.cloudron.io/cloudron/adguard-home-app) by
|
||||||
|
[@gramakri](https://github.com/gramakri).
|
||||||
|
|
||||||
|
* [Asuswrt-Merlin-AdGuardHome-Installer](https://github.com/jumpsmm7/Asuswrt-Merlin-AdGuardHome-Installer)
|
||||||
|
by [@jumpsmm7](https://github.com/jumpsmm7) aka
|
||||||
|
[@SomeWhereOverTheRainBow](https://www.snbforums.com/members/somewhereovertherainbow.64179/).
|
||||||
|
|
||||||
|
* [Node.js library](https://github.com/Andrea055/AdguardHomeAPI) by
|
||||||
|
[@Andrea055](https://github.com/Andrea055/).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## <a href="#acknowledgments" id="acknowledgments" name="acknowledgments">Acknowledgments</a>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
TODO(a.garipov): Use reference links.
|
||||||
|
-->
|
||||||
|
|
||||||
This software wouldn't have been possible without:
|
This software wouldn't have been possible without:
|
||||||
|
|
||||||
* [Go](https://golang.org/dl/) and its libraries:
|
* [Go](https://golang.org/dl/) and its libraries:
|
||||||
* [gcache](https://github.com/bluele/gcache)
|
* [gcache](https://github.com/bluele/gcache)
|
||||||
* [miekg's dns](https://github.com/miekg/dns)
|
* [miekg's dns](https://github.com/miekg/dns)
|
||||||
* [go-yaml](https://github.com/go-yaml/yaml)
|
* [go-yaml](https://github.com/go-yaml/yaml)
|
||||||
* [service](https://godoc.org/github.com/kardianos/service)
|
* [service](https://godoc.org/github.com/kardianos/service)
|
||||||
* [dnsproxy](https://github.com/AdguardTeam/dnsproxy)
|
* [dnsproxy](https://github.com/AdguardTeam/dnsproxy)
|
||||||
* [urlfilter](https://github.com/AdguardTeam/urlfilter)
|
* [urlfilter](https://github.com/AdguardTeam/urlfilter)
|
||||||
* [Node.js](https://nodejs.org/) and its libraries:
|
* [Node.js](https://nodejs.org/) and its libraries:
|
||||||
* [React.js](https://reactjs.org)
|
* And many more Node.js packages.
|
||||||
* [Tabler](https://github.com/tabler/tabler)
|
* [React.js](https://reactjs.org)
|
||||||
* And many more node.js packages.
|
* [Tabler](https://github.com/tabler/tabler)
|
||||||
* [whotracks.me data](https://github.com/cliqz-oss/whotracks.me)
|
* [whotracks.me data](https://github.com/cliqz-oss/whotracks.me)
|
||||||
|
|
||||||
You might have seen that [CoreDNS](https://coredns.io) was mentioned here before — we've stopped using it in AdGuard Home. While we still use it on our servers for [AdGuard DNS](https://adguard.com/adguard-dns/overview.html) service, it seemed like an overkill for Home as it impeded Home features that we plan to implement.
|
You might have seen that [CoreDNS] was mentioned here before, but we've stopped
|
||||||
|
using it in AdGuard Home.
|
||||||
|
|
||||||
For a full list of all node.js packages in use, please take a look at [client/package.json](https://github.com/AdguardTeam/AdGuardHome/blob/master/client/package.json) file.
|
For the full list of all Node.js packages in use, please take a look at
|
||||||
|
[`client/package.json`][src-packagejson] file.
|
||||||
|
|
||||||
<a id="privacy"></a>
|
[CoreDNS]: https://coredns.io
|
||||||
## Privacy
|
[src-packagejson]: https://github.com/AdguardTeam/AdGuardHome/blob/master/client/package.json
|
||||||
|
|
||||||
Our main idea is that you are the one, who should be in control of your data. So it is only natural, that AdGuard Home does not collect any usage statistics, and does not use any web services unless you configure it to do so. Full policy with every bit that _could in theory be_ sent by AdGuard Home is available [here](https://adguard.com/en/privacy/home.html).
|
|
||||||
|
|
||||||
|
## <a href="#privacy" id="privacy" name="privacy">Privacy</a>
|
||||||
|
|
||||||
|
Our main idea is that you are the one, who should be in control of your data.
|
||||||
|
So it is only natural, that AdGuard Home does not collect any usage statistics,
|
||||||
|
and does not use any web services unless you configure it to do so. See also
|
||||||
|
the [full privacy policy][privacy] with every bit that *could in theory be sent*
|
||||||
|
by AdGuard Home is available.
|
||||||
|
|
||||||
|
[privacy]: https://adguard.com/en/privacy/home.html
|
||||||
|
|||||||
18
SECURITY.md
Normal file
18
SECURITY.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Security Policy
|
||||||
|
|
||||||
|
## Reporting a Vulnerability
|
||||||
|
|
||||||
|
Please send your vulnerability reports to <security@adguard.com>. To make sure
|
||||||
|
that your report reaches us, please:
|
||||||
|
|
||||||
|
1. Include the words “AdGuard Home” and “vulnerability” to the subject line as
|
||||||
|
well as a short description of the vulnerability. For example:
|
||||||
|
|
||||||
|
> AdGuard Home API vulnerability: possible XSS attack
|
||||||
|
|
||||||
|
2. Make sure that the message body contains a clear description of the
|
||||||
|
vulnerability.
|
||||||
|
|
||||||
|
If you have not received a reply to your email within 7 days, please make sure
|
||||||
|
to follow up with us again at <security@adguard.com>. Once again, make sure
|
||||||
|
that the word “vulnerability” is in the subject line.
|
||||||
@@ -7,9 +7,15 @@
|
|||||||
# Make sure to sync any changes with the branch overrides below.
|
# Make sure to sync any changes with the branch overrides below.
|
||||||
'variables':
|
'variables':
|
||||||
'channel': 'edge'
|
'channel': 'edge'
|
||||||
'dockerGo': 'adguard/golang-ubuntu:4.5'
|
'dockerGo': 'adguard/golang-ubuntu:6.7'
|
||||||
|
|
||||||
'stages':
|
'stages':
|
||||||
|
- 'Build frontend':
|
||||||
|
'manual': false
|
||||||
|
'final': false
|
||||||
|
'jobs':
|
||||||
|
- 'Build frontend'
|
||||||
|
|
||||||
- 'Make release':
|
- 'Make release':
|
||||||
'manual': false
|
'manual': false
|
||||||
'final': false
|
'final': false
|
||||||
@@ -22,11 +28,11 @@
|
|||||||
'jobs':
|
'jobs':
|
||||||
- 'Make and publish docker'
|
- 'Make and publish docker'
|
||||||
|
|
||||||
- 'Publish to static.adguard.com':
|
- 'Publish to static storage':
|
||||||
'manual': false
|
'manual': false
|
||||||
'final': false
|
'final': false
|
||||||
'jobs':
|
'jobs':
|
||||||
- 'Publish to static.adguard.com'
|
- 'Publish to static storage'
|
||||||
|
|
||||||
- 'Publish to Snapstore':
|
- 'Publish to Snapstore':
|
||||||
'manual': false
|
'manual': false
|
||||||
@@ -40,11 +46,41 @@
|
|||||||
'jobs':
|
'jobs':
|
||||||
- 'Publish to GitHub Releases'
|
- 'Publish to GitHub Releases'
|
||||||
|
|
||||||
'Make release':
|
'Build frontend':
|
||||||
'docker':
|
'docker':
|
||||||
'image': '${bamboo.dockerGo}'
|
'image': '${bamboo.dockerGo}'
|
||||||
'volumes':
|
'volumes':
|
||||||
'${system.YARN_DIR}': '${bamboo.cacheYarn}'
|
'${system.YARN_DIR}': '${bamboo.cacheYarn}'
|
||||||
|
'key': 'BF'
|
||||||
|
'other':
|
||||||
|
'clean-working-dir': true
|
||||||
|
'tasks':
|
||||||
|
- 'checkout':
|
||||||
|
'force-clean-build': true
|
||||||
|
- 'script':
|
||||||
|
'interpreter': 'SHELL'
|
||||||
|
'scripts':
|
||||||
|
- |
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e -f -u -x
|
||||||
|
|
||||||
|
# Explicitly checkout the revision that we need.
|
||||||
|
git checkout "${bamboo.repository.revision.number}"
|
||||||
|
|
||||||
|
make js-deps js-build
|
||||||
|
'artifacts':
|
||||||
|
- 'name': 'AdGuardHome frontend'
|
||||||
|
'pattern': 'build*/**'
|
||||||
|
'shared': true
|
||||||
|
'required': true
|
||||||
|
'requirements':
|
||||||
|
- 'adg-docker': 'true'
|
||||||
|
|
||||||
|
'Make release':
|
||||||
|
'docker':
|
||||||
|
'image': '${bamboo.dockerGo}'
|
||||||
|
'volumes':
|
||||||
'${system.GO_CACHE_DIR}': '${bamboo.cacheGo}'
|
'${system.GO_CACHE_DIR}': '${bamboo.cacheGo}'
|
||||||
'${system.GO_PKG_CACHE_DIR}': '${bamboo.cacheGoPkg}'
|
'${system.GO_PKG_CACHE_DIR}': '${bamboo.cacheGoPkg}'
|
||||||
'key': 'MR'
|
'key': 'MR'
|
||||||
@@ -65,14 +101,16 @@
|
|||||||
git checkout "${bamboo.repository.revision.number}"
|
git checkout "${bamboo.repository.revision.number}"
|
||||||
|
|
||||||
# Run the build with the specified channel.
|
# Run the build with the specified channel.
|
||||||
echo "${bamboo.gpgSecretKey}"\
|
echo "${bamboo.gpgSecretKeyPart1}${bamboo.gpgSecretKeyPart2}"\
|
||||||
| awk '{ gsub(/\\n/, "\n"); print; }'\
|
| awk '{ gsub(/\\n/, "\n"); print; }'\
|
||||||
| gpg --import --batch --yes
|
| gpg --import --batch --yes
|
||||||
|
|
||||||
make\
|
make\
|
||||||
CHANNEL=${bamboo.channel}\
|
CHANNEL=${bamboo.channel}\
|
||||||
GPG_KEY_PASSPHRASE=${bamboo.gpgPassword}\
|
GPG_KEY_PASSPHRASE=${bamboo.gpgPassword}\
|
||||||
VERBOSE=1\
|
FRONTEND_PREBUILT=1\
|
||||||
|
PARALLELISM=1\
|
||||||
|
VERBOSE=2\
|
||||||
build-release
|
build-release
|
||||||
# TODO(a.garipov): Use more fine-grained artifact rules.
|
# TODO(a.garipov): Use more fine-grained artifact rules.
|
||||||
'artifacts':
|
'artifacts':
|
||||||
@@ -98,8 +136,12 @@
|
|||||||
|
|
||||||
set -e -f -u -x
|
set -e -f -u -x
|
||||||
|
|
||||||
|
COMMIT="${bamboo.repository.revision.number}"
|
||||||
|
export COMMIT
|
||||||
|
readonly COMMIT
|
||||||
|
|
||||||
# Explicitly checkout the revision that we need.
|
# Explicitly checkout the revision that we need.
|
||||||
git checkout "${bamboo.repository.revision.number}"
|
git checkout "$COMMIT"
|
||||||
|
|
||||||
# Install Qemu, create builder.
|
# Install Qemu, create builder.
|
||||||
docker version -f '{{ .Server.Experimental }}'
|
docker version -f '{{ .Server.Experimental }}'
|
||||||
@@ -119,12 +161,13 @@
|
|||||||
docker info
|
docker info
|
||||||
|
|
||||||
# Prepare and push the build.
|
# Prepare and push the build.
|
||||||
make\
|
env\
|
||||||
CHANNEL="${bamboo.channel}"\
|
CHANNEL="${bamboo.channel}"\
|
||||||
|
DIST_DIR='dist'\
|
||||||
DOCKER_IMAGE_NAME='adguard/adguardhome'\
|
DOCKER_IMAGE_NAME='adguard/adguardhome'\
|
||||||
DOCKER_OUTPUT="type=image,name=adguard/adguardhome,push=true"\
|
DOCKER_OUTPUT="type=image,name=adguard/adguardhome,push=true"\
|
||||||
VERBOSE='1'\
|
VERBOSE='1'\
|
||||||
build-docker
|
sh ./scripts/make/build-docker.sh
|
||||||
'environment':
|
'environment':
|
||||||
DOCKER_CLI_EXPERIMENTAL=enabled
|
DOCKER_CLI_EXPERIMENTAL=enabled
|
||||||
'final-tasks':
|
'final-tasks':
|
||||||
@@ -132,7 +175,7 @@
|
|||||||
'requirements':
|
'requirements':
|
||||||
- 'adg-docker': 'true'
|
- 'adg-docker': 'true'
|
||||||
|
|
||||||
'Publish to static.adguard.com':
|
'Publish to static storage':
|
||||||
'key': 'PUB'
|
'key': 'PUB'
|
||||||
'other':
|
'other':
|
||||||
'clean-working-dir': true
|
'clean-working-dir': true
|
||||||
@@ -185,28 +228,28 @@
|
|||||||
|
|
||||||
channel="${bamboo.channel}"
|
channel="${bamboo.channel}"
|
||||||
readonly channel
|
readonly channel
|
||||||
|
|
||||||
case "$channel"
|
case "$channel"
|
||||||
in
|
in
|
||||||
('release')
|
('release')
|
||||||
snapchannel='candidate'
|
snapchannel='candidate'
|
||||||
;;
|
;;
|
||||||
('beta')
|
('beta')
|
||||||
snapchannel='beta'
|
snapchannel='beta'
|
||||||
;;
|
;;
|
||||||
('edge')
|
('edge')
|
||||||
snapchannel='edge'
|
snapchannel='edge'
|
||||||
;;
|
;;
|
||||||
(*)
|
(*)
|
||||||
echo "invalid channel '$channel'"
|
echo "invalid channel '$channel'"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
env\
|
env\
|
||||||
SNAPCRAFT_CHANNEL="$snapchannel"\
|
SNAPCRAFT_CHANNEL="$snapchannel"\
|
||||||
SNAPCRAFT_EMAIL="${bamboo.snapcraftEmail}"\
|
SNAPCRAFT_EMAIL="${bamboo.snapcraftEmail}"\
|
||||||
SNAPCRAFT_MACAROON="${bamboo.snapcraftMacaroonPassword}"\
|
SNAPCRAFT_STORE_CREDENTIALS="${bamboo.snapcraftMacaroonPassword}"\
|
||||||
SNAPCRAFT_UBUNTU_DISCHARGE="${bamboo.snapcraftUbuntuDischargePassword}"\
|
|
||||||
../bamboo-deploy-publisher/deploy.sh adguard-home-snap
|
../bamboo-deploy-publisher/deploy.sh adguard-home-snap
|
||||||
'final-tasks':
|
'final-tasks':
|
||||||
- 'clean'
|
- 'clean'
|
||||||
@@ -231,12 +274,14 @@
|
|||||||
|
|
||||||
set -e -f -u -x
|
set -e -f -u -x
|
||||||
|
|
||||||
export CHANNEL="${bamboo.channel}"
|
channel="${bamboo.channel}"
|
||||||
if [ "$CHANNEL" != 'release' ] && [ "${CHANNEL}" != 'beta' ]
|
readonly channel
|
||||||
then
|
|
||||||
echo "don't publish to GitHub Releases for this channel"
|
|
||||||
|
|
||||||
exit 0
|
if [ "$channel" != 'release' ] && [ "${channel}" != 'beta' ]
|
||||||
|
then
|
||||||
|
echo "don't publish to GitHub Releases for this channel"
|
||||||
|
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd ./dist/
|
cd ./dist/
|
||||||
@@ -285,7 +330,7 @@
|
|||||||
# need to build a few of these.
|
# need to build a few of these.
|
||||||
'variables':
|
'variables':
|
||||||
'channel': 'beta'
|
'channel': 'beta'
|
||||||
'dockerGo': 'adguard/golang-ubuntu:4.5'
|
'dockerGo': 'adguard/golang-ubuntu:6.7'
|
||||||
# release-vX.Y.Z branches are the branches from which the actual final release
|
# release-vX.Y.Z branches are the branches from which the actual final release
|
||||||
# is built.
|
# is built.
|
||||||
- '^release-v[0-9]+\.[0-9]+\.[0-9]+':
|
- '^release-v[0-9]+\.[0-9]+\.[0-9]+':
|
||||||
@@ -300,4 +345,4 @@
|
|||||||
# are the ones that actually get released.
|
# are the ones that actually get released.
|
||||||
'variables':
|
'variables':
|
||||||
'channel': 'release'
|
'channel': 'release'
|
||||||
'dockerGo': 'adguard/golang-ubuntu:4.5'
|
'dockerGo': 'adguard/golang-ubuntu:6.7'
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
'key': 'AHBRTSPECS'
|
'key': 'AHBRTSPECS'
|
||||||
'name': 'AdGuard Home - Build and run tests'
|
'name': 'AdGuard Home - Build and run tests'
|
||||||
'variables':
|
'variables':
|
||||||
'dockerGo': 'adguard/golang-ubuntu:4.5'
|
'dockerGo': 'adguard/golang-ubuntu:6.7'
|
||||||
|
|
||||||
'stages':
|
'stages':
|
||||||
- 'Tests':
|
- 'Tests':
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
Keep this file non-hidden for Go's embedding to work.
|
|
||||||
@@ -12,11 +12,40 @@
|
|||||||
<link rel="mask-icon" href="assets/safari-pinned-tab.svg" color="#67B279">
|
<link rel="mask-icon" href="assets/safari-pinned-tab.svg" color="#67B279">
|
||||||
<link rel="icon" type="image/png" href="assets/favicon.png" sizes="48x48">
|
<link rel="icon" type="image/png" href="assets/favicon.png" sizes="48x48">
|
||||||
<title>AdGuard Home</title>
|
<title>AdGuard Home</title>
|
||||||
|
<style>
|
||||||
|
.wrapper {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-theme="DARK"] .wrapper {
|
||||||
|
background-color: #f5f7fb;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<noscript>
|
<noscript>
|
||||||
You need to enable JavaScript to run this app.
|
You need to enable JavaScript to run this app.
|
||||||
</noscript>
|
</noscript>
|
||||||
<div id="root"></div>
|
<div id="root">
|
||||||
|
<div class="wrapper"></div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
(function() {
|
||||||
|
var LOCAL_STORAGE_THEME_KEY = 'account_theme';
|
||||||
|
var theme = 'light';
|
||||||
|
|
||||||
|
try {
|
||||||
|
theme = window.localStorage.getItem(LOCAL_STORAGE_THEME_KEY);
|
||||||
|
} catch(e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
document.body.dataset.theme = theme;
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -17,5 +17,12 @@
|
|||||||
You need to enable JavaScript to run this app.
|
You need to enable JavaScript to run this app.
|
||||||
</noscript>
|
</noscript>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
<script>
|
||||||
|
(function() {
|
||||||
|
var prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||||||
|
var currentTheme = prefersDark ? 'dark' : 'light';
|
||||||
|
document.body.dataset.theme = currentTheme;
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
640
client/src/__locales/ar.json
Normal file
640
client/src/__locales/ar.json
Normal file
@@ -0,0 +1,640 @@
|
|||||||
|
{
|
||||||
|
"client_settings": "إعدادات العميل",
|
||||||
|
"example_upstream_reserved": "يمكنك تحديد <0> DNS upstream لنطاق معين (نطاقات) </0>",
|
||||||
|
"example_upstream_comment": "يمكنك تحديد تعليق",
|
||||||
|
"upstream_parallel": "استخدام الاستعلامات المتوازية لتسريع الحل عن طريق الاستعلام في وقت واحد عن جميع خوادم المنبع",
|
||||||
|
"parallel_requests": "طلبات موازية",
|
||||||
|
"load_balancing": "توزيع الحمل",
|
||||||
|
"load_balancing_desc": "الاستعلام عن خادم واحد في كل مرة سيستخدم AdGuard الرئيسية الخوارزمية العشوائية الموزونة لاختيار الخادم بحيث يتم استخدام أسرع خادم في كثير من الأحيان",
|
||||||
|
"bootstrap_dns": "خوادم Bootstrap DNS",
|
||||||
|
"bootstrap_dns_desc": "يتم استخدام خوادم Bootstrap DNS لحل عناوين IP الخاصة بمحللات DoH / DoT التي تحددها على هيئة تدفقات.",
|
||||||
|
"local_ptr_title": "خوادم DNS العكسية الخاصة",
|
||||||
|
"local_ptr_desc": "خوادم DNS التي يستخدمها AdGuard Home لاستعلامات PTR المحلية. تُستخدم هذه الخوادم لحل أسماء المضيفين للعملاء بعناوين IP خاصة ، على سبيل المثال \"192.168.12.34\" ، باستخدام DNS العكسي. في حالة عدم التعيين ، يستخدم AdGuard Home عناوين محللات DNS الافتراضية لنظام التشغيل الخاص بك باستثناء عناوين AdGuard Home نفسها.",
|
||||||
|
"local_ptr_default_resolver": "بشكل افتراضي ، يستخدم AdGuard Home محللات DNS العكسية التالية: {{ip}}.",
|
||||||
|
"local_ptr_no_default_resolver": "لم يتمكن AdGuard Home من تحديد محللات DNS العكسية المناسبة لهذا النظام.",
|
||||||
|
"local_ptr_placeholder": "أدخل عنوان خادم واحد لكل سطر",
|
||||||
|
"resolve_clients_title": "تفعيل التحليل العكسي لعناوين IP للعملاء",
|
||||||
|
"resolve_clients_desc": "حل عكسيًا لعناوين IP للعملاء في أسماء مضيفيهم عن طريق إرسال استعلامات PTR إلى أدوات الحل المقابلة (خوادم DNS الخاصة للعملاء المحليين ، والخوادم الأولية للعملاء الذين لديهم عناوين IP عامة).",
|
||||||
|
"use_private_ptr_resolvers_title": "استخدم محللات DNS العكسية الخاصة",
|
||||||
|
"use_private_ptr_resolvers_desc": "قم بإجراء عمليات بحث DNS عكسية عن العناوين التي يتم تقديمها محليًا باستخدام هذه الخوادم الأولية. في حالة التعطيل ، يستجيب AdGuard Home مع NXDOMAIN لجميع طلبات PTR هذه باستثناء العملاء المعروفين من DHCP و / etc / hosts وما إلى ذلك.",
|
||||||
|
"check_dhcp_servers": "تحقق من خوادم DHCP",
|
||||||
|
"save_config": "حفظ الإعدادات",
|
||||||
|
"enabled_dhcp": "خادم DHCP مفعل",
|
||||||
|
"disabled_dhcp": "خادم DHCP غير مفعل",
|
||||||
|
"unavailable_dhcp": "DHCP غير متوفر",
|
||||||
|
"unavailable_dhcp_desc": "لا يمكن لـ AdGuard Home تشغيل خادم DHCP على نظام التشغيل الخاص بك",
|
||||||
|
"dhcp_title": "خادم DHCP (تجريبي!)",
|
||||||
|
"dhcp_description": "إذا كان جهاز الراوتر الخاص بك لا يوفر إعدادات DHCP ، يمكنك استخدام خادم DHCP المدمج في AdGuard.",
|
||||||
|
"dhcp_enable": "فعل خادم DHCP",
|
||||||
|
"dhcp_disable": "عطل خادم DHCP",
|
||||||
|
"dhcp_not_found": "من الآمن تمكين خادم DHCP المدمج - لم نعثر على أي خوادم DHCP نشطة على الشبكة. ومع ذلك ، نشجعك على إعادة التحقق يدويًا لأن اختبارنا التلقائي في الوقت الحالي لا يوفر ضمانًا بنسبة 100٪.",
|
||||||
|
"dhcp_found": "تم العثور على خادم DHCP نشط على الشبكة. وبالتالي لا ينصح بتفعيل خادم DHCP المدمج.",
|
||||||
|
"dhcp_leases": "عقود إيجار DHCP",
|
||||||
|
"dhcp_static_leases": "إيجارات DHCP الثابتة",
|
||||||
|
"dhcp_leases_not_found": "لم يتم العثور على عقود إيجار DHCP",
|
||||||
|
"dhcp_config_saved": "الإعدادات محفوظة لخادم DHCP",
|
||||||
|
"dhcp_ipv4_settings": "DHCP IPv4 إعدادات",
|
||||||
|
"dhcp_ipv6_settings": "DHCP IPv6 إعدادات",
|
||||||
|
"form_error_required": "الحقل مطلوب",
|
||||||
|
"form_error_ip4_format": "عنوان IPv4 غير صالح",
|
||||||
|
"form_error_ip4_gateway_format": "عنوان IPv4 غير صالح للبوابة",
|
||||||
|
"form_error_ip6_format": "عنوان IPv6 غير صالح",
|
||||||
|
"form_error_ip_format": "عنوان IP غير صحيح",
|
||||||
|
"form_error_mac_format": "عنوان MAC غير صالح",
|
||||||
|
"form_error_client_id_format": "يجب أن يحتوي معرف العميل على الأرقام والأحرف الصغيرة والواصلات فقط",
|
||||||
|
"form_error_server_name": "اسم الخادم غير صالح",
|
||||||
|
"form_error_subnet": "لا تحتوي الشبكة الفرعية \"{{cidr}}\" على عنوان IP \"{{ip}}\"",
|
||||||
|
"form_error_positive": "يجب أن يكون أكبر من 0",
|
||||||
|
"form_error_gateway_ip": "لا يمكن الحصول على عنوان IP الخاص بالبوابة",
|
||||||
|
"out_of_range_error": "يجب أن يكون خارج النطاق \"{{start}}\" - \"{{end}}\"",
|
||||||
|
"lower_range_start_error": "يجب أن يكون أقل من نطاق البداية",
|
||||||
|
"greater_range_start_error": "يجب أن يكون أكبر من نطاق البداية",
|
||||||
|
"subnet_error": "يجب أن تكون العناوين في شبكة فرعية واحدة",
|
||||||
|
"gateway_or_subnet_invalid": "قناع الشبكة الفرعية غير صالح",
|
||||||
|
"dhcp_form_gateway_input": "IP البوابة",
|
||||||
|
"dhcp_form_subnet_input": "قناع الشبكة الفرعية",
|
||||||
|
"dhcp_form_range_title": "مجموعة عناوين IP",
|
||||||
|
"dhcp_form_range_start": "نطاق البداية",
|
||||||
|
"dhcp_form_range_end": "نطاق النهاية",
|
||||||
|
"dhcp_form_lease_title": "مدة تأجير DHCP (بالثواني)",
|
||||||
|
"dhcp_form_lease_input": "مدة الإيجار",
|
||||||
|
"dhcp_interface_select": "حدد واجهة DHCP",
|
||||||
|
"dhcp_hardware_address": "عناوين الأجهزة",
|
||||||
|
"dhcp_ip_addresses": "عناوين الـIP",
|
||||||
|
"ip": "IP",
|
||||||
|
"dhcp_table_hostname": "اسم المضيف",
|
||||||
|
"dhcp_table_expires": "يتنهي في",
|
||||||
|
"dhcp_warning": "إذا كنت تريد تمكين خادم DHCP على أي حال ، فتأكد من عدم وجود خادم DHCP نشط آخر في شبكتك. خلاف ذلك ، يمكن أن يعطل خدمة الإنترنت للأجهزة المتصلة!",
|
||||||
|
"dhcp_error": "لم نتمكن من تحديد ما إذا كان هناك خادم DHCP آخر في الشبكة.",
|
||||||
|
"dhcp_static_ip_error": "من أجل استخدام خادم DHCP ، يجب تعيين عنوان IP ثابت. فشلنا في تحديد ما إذا تم تكوين واجهة الشبكة هذه باستخدام عنوان IP ثابت. يرجى تعيين عنوان IP ثابت يدويًا.",
|
||||||
|
"dhcp_dynamic_ip_found": "يستخدم نظامك عنوان IP الديناميكي للواجهة <0>{{interfaceName}}</0>. من أجل استعمال خادم DHCP ، يجب تعيين عنوان IP ثابت. عنوان IP الحالي الخاص بك هو <0>{{ipAddress}}</0>. إذا ضغطت على زر تفعيل DHCP سنقوم تلقائيًا بتعيين عنوان الIP هذا على أنه ثابت.",
|
||||||
|
"dhcp_lease_added": "تمت أضافة مدة الايجار \"{{key}}\" بنجاح",
|
||||||
|
"dhcp_lease_deleted": "تمت ازالة مدة الايجار \"{{key}}\" بنجاح",
|
||||||
|
"dhcp_new_static_lease": "عقد إيجار ثابت جديد",
|
||||||
|
"dhcp_static_leases_not_found": "لم يتم العثور على عقود إيجار ثابتة DHCP",
|
||||||
|
"dhcp_add_static_lease": "إضافة عقد إيجار ثابت",
|
||||||
|
"dhcp_reset_leases": "إعادة تعيين كافة عقود الإيجار",
|
||||||
|
"dhcp_reset_leases_confirm": "هل أنت متأكد أنك تريد إعادة تعيين كافة عقود الإيجار؟",
|
||||||
|
"dhcp_reset_leases_success": "إعادة تعيين تأجير DHCP بنجاح",
|
||||||
|
"dhcp_reset": "هل أنت متأكد من أنك تريد إعادة تعيين تكوين DHCP؟",
|
||||||
|
"country": "الدولة",
|
||||||
|
"city": "المدينة",
|
||||||
|
"delete_confirm": "هل أنت متأكد من أنك تريد حذف \"{{key}}\"؟",
|
||||||
|
"form_enter_hostname": "أدخل اسم الhostname",
|
||||||
|
"error_details": "مزيد من التفاصيل حول الخطأ",
|
||||||
|
"response_details": "تفاصيل الاستجابة",
|
||||||
|
"request_details": "تفاصيل الطلب",
|
||||||
|
"client_details": "تفاصيل العميل",
|
||||||
|
"details": "التفاصيل",
|
||||||
|
"back": "رجوع",
|
||||||
|
"dashboard": "لوحة القيادة",
|
||||||
|
"settings": "الإعدادات",
|
||||||
|
"filters": "الفلاتر",
|
||||||
|
"filter": "فلتر",
|
||||||
|
"query_log": "سجل الQuery",
|
||||||
|
"compact": "المدمج",
|
||||||
|
"nothing_found": "لم يتم العثور علي شيء...",
|
||||||
|
"faq": "أسئلة مكررة",
|
||||||
|
"version": "الإصدار",
|
||||||
|
"address": "العناوين",
|
||||||
|
"protocol": "البروتوكول",
|
||||||
|
"on": "ON",
|
||||||
|
"off": "OFF",
|
||||||
|
"copyright": "حقوق النشر",
|
||||||
|
"homepage": "الصفحة الرئيسية",
|
||||||
|
"report_an_issue": "الإبلاغ عن مشكلة",
|
||||||
|
"privacy_policy": "سياسة الخصوصية",
|
||||||
|
"enable_protection": "تفعيل الحماية",
|
||||||
|
"enabled_protection": "الحماية مفعلة",
|
||||||
|
"disable_protection": "تعطيل الحماية",
|
||||||
|
"disabled_protection": "الحماية غير مفعلة",
|
||||||
|
"refresh_statics": "تحيين الإحصائيات",
|
||||||
|
"dns_query": "DNS Queries",
|
||||||
|
"blocked_by": "<0>تم حظره بواسطة الفلاتر</0>",
|
||||||
|
"stats_malware_phishing": "حسر البرامج الضارة / والتصيّد",
|
||||||
|
"stats_adult": "حظر مواقع الويب الخاصة بالبالغين",
|
||||||
|
"stats_query_domain": "اعلى النطاقات التي تم الاستعلام عنها",
|
||||||
|
"for_last_24_hours": "لأخر 24 ساعة",
|
||||||
|
"for_last_days": "لآخر {{value}} يوم",
|
||||||
|
"for_last_days_plural": "لآخر {{count}} ايام",
|
||||||
|
"stats_disabled": "تم تعطيل الإحصائيات. يمكنك تشغيله من <0> صفحة الإعدادات </0>.",
|
||||||
|
"stats_disabled_short": "تم تعطيل الإحصائيات",
|
||||||
|
"no_domains_found": "لم يتم العثور على النطاق",
|
||||||
|
"requests_count": "عدد الطلبات",
|
||||||
|
"top_blocked_domains": "اعلى الدومينات المحظورة",
|
||||||
|
"top_clients": "كبار العملاء",
|
||||||
|
"no_clients_found": "لم يتم العثور على عملاء",
|
||||||
|
"general_statistics": "الإحصاءات العامة",
|
||||||
|
"number_of_dns_query_days": "عدد استعلامات DNS التي تمت معالجتها لآخر {{count}} يوم",
|
||||||
|
"number_of_dns_query_days_plural": "عدد استعلامات DNS التي تمت معالجتها لآخر {{count}} أيام",
|
||||||
|
"number_of_dns_query_24_hours": "عدد استعلامات DNS التي تمت معالجتها لآخر 24 ساعة",
|
||||||
|
"number_of_dns_query_blocked_24_hours": "عدد طلبات DNS المحظورة بواسطة فلاتر adblock وقوائم حظر المضيفين",
|
||||||
|
"number_of_dns_query_blocked_24_hours_by_sec": "عدد طلبات DNS التي تم حظرها من قبل وحدة أمان التصفح AdGuard",
|
||||||
|
"number_of_dns_query_blocked_24_hours_adult": "عدد من المواقع (الإباحية) للبالغين تم حجبها",
|
||||||
|
"enforced_save_search": "فرض البحث الآمن",
|
||||||
|
"number_of_dns_query_to_safe_search": "عدد طلبات DNS لمحركات البحث التي تم فرض البحث الآمن عنها",
|
||||||
|
"average_processing_time": "متوسط وقت المعالجة",
|
||||||
|
"average_processing_time_hint": "متوسط الوقت بالمللي ثانية عند معالجة طلب DNS",
|
||||||
|
"block_domain_use_filters_and_hosts": "حظر النطاقات باستخدام عوامل التصفية وملفات المضيفين",
|
||||||
|
"filters_block_toggle_hint": "يمكنك إعداد قواعد حظر في <a>المرشحات</a> اعدادات.",
|
||||||
|
"use_adguard_browsing_sec": "استخدم خدمة الويب الأمنية لتصفح AdGuard",
|
||||||
|
"use_adguard_browsing_sec_hint": "سيتحقق AdGuard Home مما إذا كان النطاق محظورًا بواسطة خدمة الويب الخاصة بأمان التصفح. سيستخدم واجهة برمجة تطبيقات بحث صديقة للخصوصية لإجراء الفحص: يتم إرسال بادئة قصيرة فقط من تجزئة اسم المجال SHA256 إلى الخادم.",
|
||||||
|
"use_adguard_parental": "استخدام خدمة AdGuard للرقابة الأبوية على الويب",
|
||||||
|
"use_adguard_parental_hint": "سيتحقق AdGuard Home مما إذا كان النطاق يحتوي على محتوى للبالغين. إنه يستخدم نفس واجهة برمجة التطبيقات الصديقة للخصوصية مثل خدمة الويب الأمنية للتصفح.",
|
||||||
|
"enforce_safe_search": "استخدم البحث الآمن",
|
||||||
|
"enforce_save_search_hint": "سيفرض AdGuard Home البحث الآمن في محركات البحث التالية: Google وYouTube وBing وDuckDuckGo وYandex وPixabay.",
|
||||||
|
"no_servers_specified": "لم يتم تحديد خوادم",
|
||||||
|
"general_settings": "الإعدادات العامة",
|
||||||
|
"dns_settings": "إعدادات الـ DNS",
|
||||||
|
"dns_blocklists": "قوائم حظر DNS",
|
||||||
|
"dns_allowlists": "قوائم السماح لـ DNS",
|
||||||
|
"dns_blocklists_desc": "سيقوم AdGuard Home بحظر النطاقات المطابقة لقوائم الحظر",
|
||||||
|
"dns_allowlists_desc": "سيتم السماح بالنطاقات من قوائم DNS المسموحة حتى لو كانت في أي من قوائم الحظر",
|
||||||
|
"custom_filtering_rules": "قواعد التصفية المخصصة",
|
||||||
|
"encryption_settings": "إعدادات التعمية",
|
||||||
|
"dhcp_settings": "إعدادات DHCP",
|
||||||
|
"upstream_dns": "خادم DNS لـ Upstream",
|
||||||
|
"upstream_dns_help": "أدخل عنوان خادم واحد في كل سطر. <a>تعرف على المزيد</a> حول تكوين خوادم DNS الأولية.",
|
||||||
|
"upstream_dns_configured_in_file": "تم اعداده في {{path}}",
|
||||||
|
"test_upstream_btn": "اختبار upstream",
|
||||||
|
"upstreams": "Upstreams",
|
||||||
|
"apply_btn": "تطبيق",
|
||||||
|
"disabled_filtering_toast": "تم تعطيل الفلترة",
|
||||||
|
"enabled_filtering_toast": "تم تمكين الفلترة",
|
||||||
|
"disabled_safe_browsing_toast": "تم تعطيل التصفح الآمن",
|
||||||
|
"enabled_safe_browsing_toast": "تم تمكين التصفح الآمن",
|
||||||
|
"disabled_parental_toast": "تعطيل الرقابة الأبوية",
|
||||||
|
"enabled_parental_toast": "تفعيل الرقابة الأبوية",
|
||||||
|
"disabled_safe_search_toast": "تعطيل البحث الآمن",
|
||||||
|
"enabled_save_search_toast": "تفعيل البحث الآمن",
|
||||||
|
"enabled_table_header": "تمكين",
|
||||||
|
"name_table_header": "الاسم",
|
||||||
|
"list_url_table_header": "قائمة الروابط",
|
||||||
|
"rules_count_table_header": "عدد القواعد",
|
||||||
|
"last_time_updated_table_header": "آخر تحديث",
|
||||||
|
"actions_table_header": "الإجراءات",
|
||||||
|
"request_table_header": "طلب",
|
||||||
|
"edit_table_action": "تحرير",
|
||||||
|
"delete_table_action": "حذف",
|
||||||
|
"elapsed": "المنقضي",
|
||||||
|
"filters_and_hosts_hint": "يفهم AdGuard Home قواعد حظر الإعلانات الاساسية وملفات الهوست.",
|
||||||
|
"no_blocklist_added": "لم يتم إضافة قوائم الحظر",
|
||||||
|
"no_whitelist_added": "لم تتم إضافة قوائم السماح",
|
||||||
|
"add_blocklist": "إضافة قائمة الحظر",
|
||||||
|
"add_allowlist": "إضافة قائمة السماح",
|
||||||
|
"cancel_btn": "إلغاء",
|
||||||
|
"enter_name_hint": "أدخل الاسم",
|
||||||
|
"enter_url_or_path_hint": "إدخال عنوان URL أو مسار مطلق للقائمة",
|
||||||
|
"check_updates_btn": "تحقق من وجود تحديثات",
|
||||||
|
"new_blocklist": "قائمة حظر جديدة",
|
||||||
|
"new_allowlist": "قائمة السماح الجديدة",
|
||||||
|
"edit_blocklist": "تحرير قائمة الحظر",
|
||||||
|
"edit_allowlist": "تحرير قائمة السماح",
|
||||||
|
"choose_blocklist": "اختر قوائم الحظر",
|
||||||
|
"choose_allowlist": "اختر قوائم السماح",
|
||||||
|
"enter_valid_blocklist": "إدخال عنوان URL صالح إلى قائمة الحظر",
|
||||||
|
"enter_valid_allowlist": "أدخل عنوان URL صالحًا لقائمة السماح",
|
||||||
|
"form_error_url_format": "تنسيق رابط غير صالح",
|
||||||
|
"form_error_url_or_path_format": "عنوان URL أو المسار المطلق للقائمة غير صالح",
|
||||||
|
"custom_filter_rules": "قواعد التصفية المخصصة",
|
||||||
|
"custom_filter_rules_hint": "أدخل قاعدة واحدة على السطر يمكنك استخدام قواعد adblock أو بناء جملة ملفات المضيفين",
|
||||||
|
"system_host_files": "ملفات الهوست للنظام",
|
||||||
|
"examples_title": "أمثلة",
|
||||||
|
"example_meaning_filter_block": "منع الوصول إلى نطاق example.org وجميع نطاقاته الفرعية",
|
||||||
|
"example_meaning_filter_whitelist": "إلغاء حظر الوصول إلى نطاق example.org وجميع نطاقاته الفرعية",
|
||||||
|
"example_meaning_host_block": "الرد ب 127.0.0.1 على example.org (ولكن ليس لنطاقاته الفرعية);",
|
||||||
|
"example_comment": "! ها هو التعليق.",
|
||||||
|
"example_comment_meaning": "فقط تعليق;",
|
||||||
|
"example_comment_hash": "# تعليق أيضًا",
|
||||||
|
"example_regex_meaning": "منع الوصول إلى النطاقات المطابقة للتعبير العادي المحدد.",
|
||||||
|
"example_upstream_regular": "regular DNS (over UDP);",
|
||||||
|
"example_upstream_regular_port": "DNS عادي (عبر UDP ، مع المنفذ) ؛",
|
||||||
|
"example_upstream_udp": "regular DNS (over UDP, hostname);",
|
||||||
|
"example_upstream_dot": "مشفر<0>DNS-over-TLS</0>;",
|
||||||
|
"example_upstream_doh": "مشفر <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doq": "encrypted <0>DNS-over-QUIC</0>;",
|
||||||
|
"example_upstream_sdns": "<0>DNS Stamps</0> for <1>DNSCrypt</1> or <2>DNS-over-HTTPS</2> resolvers;",
|
||||||
|
"example_upstream_tcp": "regular DNS (over TCP);",
|
||||||
|
"example_upstream_tcp_port": "DNS عادي (عبر TCP ، مع منفذ) ؛",
|
||||||
|
"example_upstream_tcp_hostname": "regular DNS (over TCP, hostname);",
|
||||||
|
"all_lists_up_to_date_toast": "جميع القوائم محدثة بالفعل",
|
||||||
|
"updated_upstream_dns_toast": "تم حفظ خوادم Upstream بنجاح",
|
||||||
|
"dns_test_ok_toast": "تعمل خوادم DNS المحددة بشكل صحيح",
|
||||||
|
"dns_test_not_ok_toast": "خادم \"{{key}}\": لا يمكن استخدامه يرجى التحقق من كتابته بشكل صحيح",
|
||||||
|
"dns_test_warning_toast": "المنبع \"{{key}}\" لا يستجيب لطلبات الاختبار وقد لا يعمل بشكل صحيح",
|
||||||
|
"unblock": "إلغاء الحظر",
|
||||||
|
"block": "حظر",
|
||||||
|
"disallow_this_client": "منع هذا العميل",
|
||||||
|
"allow_this_client": "السماح لهذا العميل",
|
||||||
|
"block_for_this_client_only": "احجب هذا العميل فقط",
|
||||||
|
"unblock_for_this_client_only": "إلغاء حجب هذا العميل فقط",
|
||||||
|
"time_table_header": "وقت",
|
||||||
|
"date": "التاريخ",
|
||||||
|
"domain_name_table_header": "اسم النطاق",
|
||||||
|
"domain_or_client": "الدومين أو العميل",
|
||||||
|
"type_table_header": "النوع",
|
||||||
|
"response_table_header": "استجابة",
|
||||||
|
"response_code": "كود الاستجابة",
|
||||||
|
"client_table_header": "عميل",
|
||||||
|
"empty_response_status": "فارغ",
|
||||||
|
"show_all_filter_type": "إظهار الكل",
|
||||||
|
"show_filtered_type": "إظهار ماتمت تصفيته",
|
||||||
|
"no_logs_found": "لم يتم العثور على سجلات",
|
||||||
|
"refresh_btn": "تحديث",
|
||||||
|
"previous_btn": "السابق",
|
||||||
|
"next_btn": "التالي",
|
||||||
|
"loading_table_status": "جار التحميل...",
|
||||||
|
"page_table_footer_text": "الصفحة",
|
||||||
|
"rows_table_footer_text": "صفوف",
|
||||||
|
"updated_custom_filtering_toast": "تحديث قواعد الفلترة المخصصة",
|
||||||
|
"rule_removed_from_custom_filtering_toast": "تم إزالة قاعدة من قواعد الفلترة المخصصة: {{rule}}",
|
||||||
|
"rule_added_to_custom_filtering_toast": "تم إضافة إلى قواعد الفلترة المخصصة: {{rule}}",
|
||||||
|
"query_log_response_status": "الحالات: {{value}}",
|
||||||
|
"query_log_filtered": "تم الفلترة بواسطة {{filter}}",
|
||||||
|
"query_log_confirm_clear": "هل أنت متأكد من أنك تريد محو كامل سجل التصفية؟",
|
||||||
|
"query_log_cleared": "تم مسح سجل الاستعلام بنجاح",
|
||||||
|
"query_log_updated": "تم تحديث سجل الاستعلام بنجاح",
|
||||||
|
"query_log_clear": "مسح سجلات الاستعلام",
|
||||||
|
"query_log_retention": "الاحتفاظ بسجلات الاستعلام",
|
||||||
|
"query_log_enable": "تمكين السجل",
|
||||||
|
"query_log_configuration": "تكوين السجلات",
|
||||||
|
"query_log_disabled": "سجل الاستعلام معطل ويمكن تهيئته من<0>الاعدادات</0>",
|
||||||
|
"query_log_strict_search": "استخدم علامات الاقتباس المزدوجة للبحث الدقيق",
|
||||||
|
"query_log_retention_confirm": "هل أنت متأكد من أنك تريد تغيير الاحتفاظ بسجل الاستعلام؟ إذا قمت بتقليل قيمة الفاصل الزمني سيتم فقدان بعض البيانات",
|
||||||
|
"anonymize_client_ip": "إخفاء عنوان IP العميل",
|
||||||
|
"anonymize_client_ip_desc": "لا تقم بحفظ كامل عنوان IP العميل في السجلات والإحصائيات",
|
||||||
|
"dns_config": "إعداد خادم DNS",
|
||||||
|
"dns_cache_config": "ضبط الملفات المؤقتة لـ DNS",
|
||||||
|
"dns_cache_config_desc": "هنا تستطيع ضبط اعدادات الـ DNS وملفاته",
|
||||||
|
"blocking_mode": "وضع الحجب",
|
||||||
|
"default": "إفتراضي",
|
||||||
|
"nxdomain": "NXDOMAIN",
|
||||||
|
"refused": "مرفوض",
|
||||||
|
"null_ip": "عنوان IP فارغ",
|
||||||
|
"custom_ip": "عنوان IP مخصص",
|
||||||
|
"blocking_ipv4": "حجب عنوان IPv4",
|
||||||
|
"blocking_ipv6": "حجب عنوان IPv6",
|
||||||
|
"dnscrypt": "DNSCrypt",
|
||||||
|
"dns_over_https": "DNS-over-HTTPS",
|
||||||
|
"dns_over_tls": "DNS-over-TLS",
|
||||||
|
"dns_over_quic": "DNS-over-QUIC",
|
||||||
|
"client_id": "عنوان العميل الشخصي",
|
||||||
|
"client_id_placeholder": "ادخل عنوان العميل الشخصي",
|
||||||
|
"client_id_desc": "يمكن تحديد هوية العميل. اعرف المزيد عن كيفية تحديد هوية العملاء <a> هنا</a>.",
|
||||||
|
"download_mobileconfig_doh": "حمّل .mobileconfig for DNS-over-HTTPS",
|
||||||
|
"download_mobileconfig_dot": "حمل .mobileconfig for DNS-over-TLS",
|
||||||
|
"download_mobileconfig": "حمّل ملف الإعدادات",
|
||||||
|
"plain_dns": "عنوان DNS العادي",
|
||||||
|
"form_enter_rate_limit": "ادخل حد التقييم",
|
||||||
|
"rate_limit": "حدود التقييم",
|
||||||
|
"edns_enable": "فعل EDNS client subnet",
|
||||||
|
"edns_cs_desc": "أضف EDNS الشبكة الفرعية للعميل (ECS) إلى الطلبات الأولية وقم بتسجيل القيم المرسلة من قبل العملاء في سجل الاستعلام.",
|
||||||
|
"rate_limit_desc": "عدد الطلبات في الثانية المسموح بها لكل عميل. جعله على 0 يعني عدم وجود حد.",
|
||||||
|
"blocking_ipv4_desc": "سيتم إرجاع عنوان IP لطلب محظور",
|
||||||
|
"blocking_ipv6_desc": "سيتم إرجاع عنوان IP لطلب AAAA محظور",
|
||||||
|
"blocking_mode_default": "الافتراضي: الرد بعنوان IP صفري (0.0.0.0 لـ A ؛ :: لـ AAAA) عند حظره بواسطة قاعدة نمط Adblock ؛ الرد بعنوان IP المحدد في القاعدة عند حظره بواسطة / etc / hosts-style rule",
|
||||||
|
"blocking_mode_refused": "مرفوض: رد برمز مرفوض",
|
||||||
|
"blocking_mode_nxdomain": "NXDOMAIN: الرد باستخدام رمز NXDOMAIN",
|
||||||
|
"blocking_mode_null_ip": "IP Null: الاستجابة بعنوان IP صفري (0.0.0.0 لـ A ؛ :: لـ AAAA)",
|
||||||
|
"blocking_mode_custom_ip": "استجابة IP مخصصة بعنوان IP تم تعيينه يدويًا",
|
||||||
|
"theme_light": "فاتح",
|
||||||
|
"theme_dark": "ليلي",
|
||||||
|
"upstream_dns_client_desc": "إذا احتفظت بهذا الحقل فارغًا ، فسيستخدم AdGuard Home الخوادم التي تم تكوينها في<0>DNS إعدادات</0>.",
|
||||||
|
"tracker_source": "مصدر المتعقب",
|
||||||
|
"source_label": "المصدر",
|
||||||
|
"found_in_known_domain_db": "تم العثور عليه في قاعدة بيانات دومينات معروفة.",
|
||||||
|
"category_label": "الفئة",
|
||||||
|
"rule_label": "قواعد",
|
||||||
|
"list_label": "قائمه",
|
||||||
|
"unknown_filter": "فلتر غير معروف {{filterId}}",
|
||||||
|
"known_tracker": "متعقب معروف",
|
||||||
|
"install_welcome_title": "مرحبًا بك في AdGuard Home!",
|
||||||
|
"install_welcome_desc": "AdGuard Home هو إعلان ومتتبع على مستوى الشبكة يمنع خادم DNS. الغرض منه هو السماح لك بالتحكم في شبكتك بأكملها وجميع أجهزتك، ولا يتطلب استخدام برنامج من جانب العميل.",
|
||||||
|
"install_settings_title": "واجهة ويب المسؤول",
|
||||||
|
"install_settings_listen": "واجهة الاستماع",
|
||||||
|
"install_settings_port": "المنفذ",
|
||||||
|
"install_settings_interface_link": "ستكون واجهة الويب الخاصة بمسؤول AdGuard Home متاحة على العناوين التالية:",
|
||||||
|
"form_error_port": "أدخل رقم منفذ صالح",
|
||||||
|
"install_settings_dns": "خادم DNS",
|
||||||
|
"install_settings_dns_desc": "ستحتاج إلى ضبط أجهزتك أو جهاز التوجيه الخاص بك لاستخدام خادم DNS على العناوين التالية:",
|
||||||
|
"install_settings_all_interfaces": "جميع الواجهات",
|
||||||
|
"install_auth_title": "المصادقة",
|
||||||
|
"install_auth_desc": "يجب إعداد مصادقة كلمة المرور لواجهة ويب مسؤول AdGuard Home. في حال كان AdGuard Home لا يمكن الوصول إليه إلا في شبكتك المحلية ، فلا يزال من المهم حمايته من الوصول غير المقيد.",
|
||||||
|
"install_auth_username": "اسم المستخدم",
|
||||||
|
"install_auth_password": "الكلمة السرية",
|
||||||
|
"install_auth_confirm": "تاكيد كلمه المرور",
|
||||||
|
"install_auth_username_enter": "أدخل اسم المستخدم",
|
||||||
|
"install_auth_password_enter": "أدخل كلمة المرور",
|
||||||
|
"install_step": "خطوة",
|
||||||
|
"install_devices_title": "قم بإعداد أجهزتك",
|
||||||
|
"install_devices_desc": "لبدء استخدام AdGuard Home، تحتاج إلى إعداد أجهزتك لاستخدامها.",
|
||||||
|
"install_submit_title": "تهانينا!",
|
||||||
|
"install_submit_desc": "انتهى إجراء الإعداد وأنت على استعداد لبدء استخدام AdGuard Home",
|
||||||
|
"install_devices_router": "راوتر",
|
||||||
|
"install_devices_router_desc": "يغطي هذا الإعداد تلقائيا جميع الأجهزة المتصلة بجهاز التوجيه المنزلي، دون الحاجة إلى تكوين كل منها يدويا.",
|
||||||
|
"install_devices_address": "يستمع خادم AdGuard Home DNS إلى العناوين التالية",
|
||||||
|
"install_devices_router_list_1": "افتح تفضيلات جهاز التوجيه الخاص بك. عادة، يمكنك الوصول إليه من متصفحك عبر عنوان URL، مثل http://192.168.0.1/ أو http://192.168.1.1/. قد يطلب منك إدخال كلمة مرور. إذا كنت لا تتذكر ذلك، يمكنك في كثير من الأحيان إعادة تعيين كلمة المرور عن طريق الضغط على زر في جهاز التوجيه نفسه، ولكن كن على علم بأنه إذا تم اختيار هذا الإجراء، فمن المحتمل أن تفقد إعدادات جهاز التوجيه بأكمله. إذا كان جهاز التوجيه الخاص بك يتطلب تطبيقا لإعداده، فيرجى تثبيت التطبيق على هاتفك أو الكمبيوتر الشخصي واستخدامه للوصول إلى إعدادات جهاز التوجيه.",
|
||||||
|
"install_devices_router_list_2": "ابحث عن إعدادات DHCP / DNS. ابحث عن أحرف DNS بجوار الحقل الذي يسمح بمجموعتين أو ثلاث مجموعات من الأرقام ، كل واحدة مقسمة إلى أربع مجموعات من واحد إلى ثلاثة أرقام.",
|
||||||
|
"install_devices_router_list_3": "أدخل عناوين خادم AdGuard Home هناك.",
|
||||||
|
"install_devices_router_list_4": "في بعض أنواع أجهزة التوجيه ، لا يمكن إعداد خادم DNS مخصص. في هذه الحالة ، قد يساعد إعداد AdGuard Home باعتباره <0>خادم DHCP</0>. بخلاف ذلك ، يجب عليك التحقق من دليل جهاز التوجيه حول كيفية تخصيص خوادم DNS على طراز جهاز التوجيه المحدد الخاص بك.",
|
||||||
|
"install_devices_windows_list_1": "افتح لوحة التحكم من خلال قائمة ابدأ أو بحث Windows.",
|
||||||
|
"install_devices_windows_list_2": "انتقل إلى فئة الشبكة والإنترنت ثم إلى مركز الشبكة والمشاركة.",
|
||||||
|
"install_devices_windows_list_3": "على الجانب الأيسر من الشاشة ، ابحث عن \"تغيير إعدادات المحول\" وانقر عليها.",
|
||||||
|
"install_devices_windows_list_4": "حدد اتصالك النشط ، وانقر فوقه بزر الماوس الأيمن واختر خصائص.",
|
||||||
|
"install_devices_windows_list_5": "ابحث عن \"Internet Protocol Version 4 (TCP / IPv4)\" (أو ، لـ IPv6 ، \"Internet Protocol Version 6 (TCP / IPv6)\") في القائمة ، حدده ثم انقر فوق خصائص مرة أخرى.",
|
||||||
|
"install_devices_windows_list_6": "اختر \"استخدام عناوين خادم DNS التالية\" وأدخل عناوين خادم AdGuard Home.",
|
||||||
|
"install_devices_macos_list_1": "انقر فوق أيقونة Apple وانتقل إلى تفضيلات النظام.",
|
||||||
|
"install_devices_macos_list_2": "اضغط على الشبكة.",
|
||||||
|
"install_devices_macos_list_3": "حدد الاتصال الأول في قائمتك وانقر فوق خيارات متقدمة.",
|
||||||
|
"install_devices_macos_list_4": "حدد علامة التبويب DNS وأدخل عناوين خادم AdGuard Home.",
|
||||||
|
"install_devices_android_list_1": "من الشاشة الرئيسية لقائمة Android ، انقر فوق الإعدادات.",
|
||||||
|
"install_devices_android_list_2": "اضغط على Wi-Fi في القائمة. ستظهر الشاشة التي تسرد جميع الشبكات المتاحة (من المستحيل تعيين DNS مخصص لاتصال المحمول).",
|
||||||
|
"install_devices_android_list_3": "اضغط لفترة طويلة على الشبكة التي تتصل بها ثم اضغط على تعديل الشبكة",
|
||||||
|
"install_devices_android_list_4": "في بعض الأجهزة قد تحتاج إلى تحديد المربع المتقدم لرؤية المزيد من الإعدادات لضبط إعدادات DNS لنظام اندرويد ستحتاج إلى تبديل إعدادات IP من DHCP إلى ثابت.",
|
||||||
|
"install_devices_android_list_5": "قم بتغيير قيم DNS 1 و DNS 2 المعينة لعناوين خادم AdGuard Home",
|
||||||
|
"install_devices_ios_list_1": "من الشاشة الرئيسية انقر فوق الإعدادات",
|
||||||
|
"install_devices_ios_list_2": "اختر Wi-Fi في القائمة اليسرى (من المستحيل ضبط الـ DNS لشبكات الجوال).",
|
||||||
|
"install_devices_ios_list_3": "اضغط على اسم الشبكة النشطة حاليًا.",
|
||||||
|
"install_devices_ios_list_4": "في حقل DNS ، أدخل عناوين خادم AdGuard Home.",
|
||||||
|
"get_started": "أبدأ",
|
||||||
|
"next": "التالي",
|
||||||
|
"open_dashboard": "افتح لوحة التحكم",
|
||||||
|
"install_saved": "تم الحفظ بنجاح",
|
||||||
|
"encryption_title": "التعمية",
|
||||||
|
"encryption_desc": "دعم التشفير (HTTPS / TLS) لكل من DNS وواجهة ويب المسؤول",
|
||||||
|
"encryption_config_saved": "تم حفظ اعدادات التشفير",
|
||||||
|
"encryption_server": "اسم الخادم",
|
||||||
|
"encryption_server_enter": "ادخل عنوان النطاق الخاص بك",
|
||||||
|
"encryption_server_desc": "من أجل استخدام HTTPS ، تحتاج إلى إدخال اسم الخادم الذي يتطابق مع شهادة SSL أو شهادة البدل. إذا لم يتم تعيين الحقل ، فسيقبل اتصالات TLS لأي مجال.",
|
||||||
|
"encryption_redirect": "إعادة التوجيه إلى HTTPS تلقائيًا",
|
||||||
|
"encryption_redirect_desc": "إذا تم تحديده ، فسيقوم AdGuard Home بإعادة توجيهك تلقائيًا من عناوين HTTP إلى عناوين HTTPS.",
|
||||||
|
"encryption_https": "منفذ HTTPS",
|
||||||
|
"encryption_https_desc": "إذا تم تكوين منفذ HTTPS ، فسيتم الوصول إلى واجهة مشرف AdGuard Home عبر HTTPS ، وستوفر أيضًا DNS-over-HTTPS على موقع '/dns-query'.",
|
||||||
|
"encryption_dot": "منفذ DNS-over-TLS",
|
||||||
|
"encryption_dot_desc": "إذا تم ضبط هذا المنفذ ، فسيقوم AdGuard Home بتشغيل خادم DNS-over-TLS على هذا المنفذ.",
|
||||||
|
"encryption_doq": "DNS-over-QUIC port",
|
||||||
|
"encryption_doq_desc": "إذا تم ضبط هذا المنفذ، فسيقوم AdGuard Home بتشغيل خادم DNS-over-QUIC على هذا المنفذ.",
|
||||||
|
"encryption_certificates": "الشهادات",
|
||||||
|
"encryption_certificates_desc": "من أجل استخدام التشفير ، تحتاج إلى تقديم سلسلة شهادات SSL صالحة لنطاقك. يمكنك الحصول على شهادة مجانية على <0>{{link}}</0> أو يمكنك شرائها من أحد المراجع المصدقة الموثوقة.",
|
||||||
|
"encryption_certificates_input": "انسخ / الصق الشهادات المشفرة PEM هنا.",
|
||||||
|
"encryption_status": "الحالة",
|
||||||
|
"encryption_expire": "يتنهي في",
|
||||||
|
"encryption_key": "مفتاح خاص",
|
||||||
|
"encryption_key_input": "انسخ / الصق مفتاحك الخاص المشفر بـ PEM لشهادتك هنا",
|
||||||
|
"encryption_enable": "تمكين التشفير (HTTPS و DNS-over-HTTPS و DNS-over-TLS)",
|
||||||
|
"encryption_enable_desc": "إذا تم تمكين التشفير فستعمل واجهة مسؤول AdGuard Home عبر HTTPS وسيستمع خادم DNS للطلبات عبر DNS-over-HTTPS و DNS-over-TLS.",
|
||||||
|
"encryption_chain_valid": "سلسلة الشهادات صالحة",
|
||||||
|
"encryption_chain_invalid": "سلسلة الشهادات غير صالحة",
|
||||||
|
"encryption_key_valid": "هذا مفتاح خاص {{type}} صالح",
|
||||||
|
"encryption_key_invalid": "هذا مفتاح خاص {{type}} غير صالح",
|
||||||
|
"encryption_subject": "الموضوع",
|
||||||
|
"encryption_issuer": "المصدر",
|
||||||
|
"encryption_hostnames": "اسم المستضيف",
|
||||||
|
"encryption_reset": "هل أنت متأكد أنك تريد إعادة تعيين إعدادات التشفير؟",
|
||||||
|
"encryption_warning": "تحذير",
|
||||||
|
"topline_expiring_certificate": "شهادة SSL الخاصة بك على وشك الانتهاء. قم بتحديث <0>إعدادات التشفير</0>.",
|
||||||
|
"topline_expired_certificate": "انتهت صلاحية شهادة SSL الخاصة بك. قم بتحديث <0>إعدادات التشفير</0>.",
|
||||||
|
"form_error_port_range": "أدخل رقم المنفذ في النطاق 80-65535",
|
||||||
|
"form_error_port_unsafe": "منفذ غير آمن",
|
||||||
|
"form_error_equal": "يجب ألا تكون متساوية",
|
||||||
|
"form_error_password": "كلمة السر غير مطابقة",
|
||||||
|
"reset_settings": "إعادة ضبط الإعدادات",
|
||||||
|
"update_announcement": "AdGuard Home {{version}} متوفر الآن! <0>انقر هنا</0> لمزيد من المعلومات.",
|
||||||
|
"setup_guide": "دليل الإعداد",
|
||||||
|
"dns_addresses": "عناوين DNS",
|
||||||
|
"dns_start": "خادم DNS قيد التشغيل",
|
||||||
|
"dns_status_error": "خطأ في التحقق من حالة خادم الـ DNS",
|
||||||
|
"down": "تحت",
|
||||||
|
"fix": "يصلح",
|
||||||
|
"dns_providers": "فيما يلي قائمة <0> بموفري DNS المعروفين </0> للاختيار من بينها.",
|
||||||
|
"update_now": "تحديث الآن",
|
||||||
|
"update_failed": "فشل التحديث التلقائي. الرجاء <a> اتباع هذه الخطوات </a> للتحديث يدويًا.",
|
||||||
|
"manual_update": "الرجاء <a> اتباع هذه الخطوات </a> للتحديث يدويًا.",
|
||||||
|
"processing_update": "يُرجى الانتظار ، يتم تحديث صفحة AdGuard الرئيسية",
|
||||||
|
"clients_title": "العملاء الدائمين",
|
||||||
|
"clients_desc": "قم بضبط سجلات العميل الدائمة للأجهزة المتصلة بـ AdGuard Home",
|
||||||
|
"settings_global": "عالمي",
|
||||||
|
"settings_custom": "مخصص",
|
||||||
|
"table_client": "العميل",
|
||||||
|
"table_name": "الاسم",
|
||||||
|
"save_btn": "حفظ",
|
||||||
|
"client_add": "إضافة عميل",
|
||||||
|
"client_new": "عميل جديد",
|
||||||
|
"client_edit": "تعديل العميل",
|
||||||
|
"client_identifier": "المعّرف",
|
||||||
|
"ip_address": "عنوان IP",
|
||||||
|
"client_identifier_desc": "يمكن التعرف على العملاء من خلال عنوان IP أو CIDR أو عنوان MAC أو ClientID (يمكن استخدامه في DoT / DoH / DoQ). تعرف على المزيد حول كيفية تحديد العملاء <0> هنا </0>.",
|
||||||
|
"form_enter_ip": "ادخل عنوان IP",
|
||||||
|
"form_enter_subnet_ip": "أدخل عنوان IP في الشبكة الفرعية \"{{cidr}}\"",
|
||||||
|
"form_enter_mac": "ادخل MAC",
|
||||||
|
"form_enter_id": "ادخل المعّرف",
|
||||||
|
"form_add_id": "أضافة معّرف",
|
||||||
|
"form_client_name": "ادخل اسم العميل",
|
||||||
|
"name": "اسم",
|
||||||
|
"client_global_settings": "استخدم إعدادات عالمية",
|
||||||
|
"client_deleted": "تم حذف العميل \"{{key}}\" بنجاح",
|
||||||
|
"client_added": "تم اضافة العميل \"{{key}}\" بنجاح",
|
||||||
|
"client_updated": "تم تحديث العميل \"{{key}}\" بنجاح",
|
||||||
|
"clients_not_found": "لم يتم العثور على عملاء",
|
||||||
|
"client_confirm_delete": "هل أنت متأكد من أنك تريد حذف العميل \"{{key}}\"?",
|
||||||
|
"list_confirm_delete": "هل أنت متأكد أنك تريد حذف هذه القائمة؟",
|
||||||
|
"auto_clients_title": "Runtime clients",
|
||||||
|
"auto_clients_desc": "الأجهزة غير المدرجة في قائمة العملاء الدائمين الذين قد لا يزالون يستخدمون AdGuard Home",
|
||||||
|
"access_title": "إعدادات الوصول",
|
||||||
|
"access_desc": "هنا يمكنك ضبط قواعد الوصول لخادم AdGuard Home DNS",
|
||||||
|
"access_allowed_title": "العملاء المسموحين",
|
||||||
|
"access_allowed_desc": "قائمة CIDRs أو عناوين IP أو <a> ClientIDs </a>. إذا كانت هذه القائمة تحتوي على إدخالات ، فسيقبل AdGuard Home الطلبات من هؤلاء العملاء فقط.",
|
||||||
|
"access_disallowed_title": "العملاء غير المسموحين",
|
||||||
|
"access_disallowed_desc": "قائمة CIDRs أو عناوين IP أو <a> ClientIDs </a>. إذا كانت هذه القائمة تحتوي على إدخالات ، فسيقوم AdGuard Home بإسقاط الطلبات من هؤلاء العملاء. يتم تجاهل هذا الحقل إذا كانت هناك إدخالات في العملاء المسموح لهم.",
|
||||||
|
"access_blocked_title": "النطاقات غير المسموح بها",
|
||||||
|
"access_blocked_desc": "لا ينبغي الخلط بينه وبين المرشحات. يسقط AdGuard Home استعلامات DNS المطابقة لهذه المجالات ، ولا تظهر هذه الاستعلامات حتى في سجل الاستعلام. يمكنك تحديد أسماء النطاقات الدقيقة أو أحرف البدل أو قواعد تصفية عناوين URL ، على سبيل المثال \"example.org\" أو \"*.example.org\" أو \"|| example.org ^\" في المقابل.",
|
||||||
|
"access_settings_saved": "تم حفظ إعدادات الوصول بنجاح",
|
||||||
|
"updates_checked": "يتوفر إصدار جديد من AdGuard Home",
|
||||||
|
"updates_version_equal": "AdGuard Home محدث",
|
||||||
|
"check_updates_now": "تحقق من وجود تحديثات الآن",
|
||||||
|
"dns_privacy": "خصوصية DNS",
|
||||||
|
"setup_dns_privacy_1": "<0> DNS-over-TLS: </0> استخدم سلسلة <1> {{address}} </1>.",
|
||||||
|
"setup_dns_privacy_2": "<0> DNS-over-HTTPS: </0> استخدم سلسلة <1> {{address}} </1>.",
|
||||||
|
"setup_dns_privacy_3": "<0> فيما يلي قائمة بالبرامج التي يمكنك استخدامها. </0>",
|
||||||
|
"setup_dns_privacy_4": "على جهاز iOS 14 أو macOS Big Sur ، يمكنك تنزيل ملف \".mobileconfig\" خاص يضيف خوادم <highlight> DNS-over-HTTPS </highlight> أو <highlight> DNS-over-TLS </highlight> إلى إعدادات DNS.",
|
||||||
|
"setup_dns_privacy_android_1": "يدعم Android 9 DNS-over-TLS أصلاً. لتكوينه ، انتقل إلى الإعدادات → الشبكة والإنترنت → متقدم → DNS الخاص وأدخل اسم المجال الخاص بك هناك.",
|
||||||
|
"setup_dns_privacy_android_2": "<0> AdGuard لنظام Android </0> يدعم <1> DNS-over-HTTPS </1> و <1> DNS-over-TLS </1>.",
|
||||||
|
"setup_dns_privacy_android_3": "<0> Intra </0> يضيف دعم <1> DNS-over-HTTPS </1> إلى Android.",
|
||||||
|
"setup_dns_privacy_ios_1": "<0> DNSCloak </0> يدعم <1> DNS-over-HTTPS </1> ، ولكن من أجل تكوينه لاستخدام الخادم الخاص بك ، ستحتاج إلى إنشاء <2> DNS Stamp </2> لذلك.",
|
||||||
|
"setup_dns_privacy_ios_2": "<0> AdGuard لنظام iOS </0> يدعم إعداد <1> DNS-over-HTTPS </1> و <1> DNS-over-TLS </1> الإعداد.",
|
||||||
|
"setup_dns_privacy_other_title": "تطبيقات أخرى",
|
||||||
|
"setup_dns_privacy_other_1": "يمكن أن يكون AdGuard Home نفسه عميل DNS آمنًا على أي نظام أساسي.",
|
||||||
|
"setup_dns_privacy_other_2": "يدعم <0> dnsproxy </0> جميع بروتوكولات DNS الآمنة المعروفة.",
|
||||||
|
"setup_dns_privacy_other_3": "<0> dnscrypt-proxy </0> يدعم <1> DNS-over-HTTPS </1>.",
|
||||||
|
"setup_dns_privacy_other_4": "يدعم <0> Mozilla Firefox </0> <1> DNS-over-HTTPS </1>.",
|
||||||
|
"setup_dns_privacy_other_5": "ستجد المزيد من التطبيقات <0> هنا </0> و <1> هنا </1>.",
|
||||||
|
"setup_dns_privacy_ioc_mac": "اعدادات iOS و macOS",
|
||||||
|
"setup_dns_notice": "من أجل استخدام <0> DNS-over-HTTPS </0> أو <1> DNS-over-TLS </1> ، تحتاج إلى <1> تكوين التشفير </1> في إعدادات AdGuard Home.",
|
||||||
|
"rewrite_added": "تمت إضافة إعادة كتابة DNS لـ \"{{key}}\" بنجاح",
|
||||||
|
"rewrite_deleted": "تم حذف إعادة كتابة DNS لـ \"{{key}}\" بنجاح",
|
||||||
|
"rewrite_add": "إضافة إعادة كتابة DNS",
|
||||||
|
"rewrite_not_found": "لم يتم العثور على إعادة كتابة DNS",
|
||||||
|
"rewrite_confirm_delete": "هل أنت متأكد من أنك تريد حذف إعادة كتابة DNS لـ \"{{key}}\"؟",
|
||||||
|
"rewrite_desc": "يسمح بتكوين استجابة DNS المخصصة بسهولة لاسم نطاق معين.",
|
||||||
|
"rewrite_applied": "يتم تطبيق قاعدة إعادة الكتابة",
|
||||||
|
"rewrite_hosts_applied": "أعيد كتابتها بواسطة قاعدة ملف المضيفين",
|
||||||
|
"dns_rewrites": "إعادة كتابة DNS",
|
||||||
|
"form_domain": "أدخل اسم النطاق أو حرف البدل",
|
||||||
|
"form_answer": "أدخل عنوان IP أو اسم النطاق",
|
||||||
|
"form_error_domain_format": "تنسيق النطاق غير صالح",
|
||||||
|
"form_error_answer_format": "تنسيق إجابة غير صالح",
|
||||||
|
"configure": "ضبط",
|
||||||
|
"main_settings": "الاعدادات الرئيسية",
|
||||||
|
"block_services": "حظر خدمات معينة",
|
||||||
|
"blocked_services": "الخوادم المحجوبة",
|
||||||
|
"blocked_services_desc": "يسمح بحجب المواقع والخدمات الشعبية بسرعة.",
|
||||||
|
"blocked_services_saved": "تم حفظ الخوادم المحجوبة بنجاح",
|
||||||
|
"blocked_services_global": "استخدام خدمات الحظر العالمية",
|
||||||
|
"blocked_service": "الخدمات المحجوبة",
|
||||||
|
"block_all": "حجب الكل",
|
||||||
|
"unblock_all": "إلغاء حجب الكل",
|
||||||
|
"encryption_certificate_path": "مسار الشهادة",
|
||||||
|
"encryption_private_key_path": "مسار المفتاح الخاص",
|
||||||
|
"encryption_certificates_source_path": "قم بتعيين مسار ملف الشهادات",
|
||||||
|
"encryption_certificates_source_content": "الصق محتويات الشهادات",
|
||||||
|
"encryption_key_source_path": "قم بتعيين ملف مفتاح خاص",
|
||||||
|
"encryption_key_source_content": "الصق محتويات المفتاح الخاص",
|
||||||
|
"stats_params": "ضبط الاحصائيات",
|
||||||
|
"config_successfully_saved": "تم حفظ الاعدادات بنجاح",
|
||||||
|
"interval_6_hour": "ساعات6",
|
||||||
|
"interval_24_hour": "24 ساعة",
|
||||||
|
"interval_days": "{{count}} يوم",
|
||||||
|
"interval_days_plural": "{{count}} الأيام",
|
||||||
|
"domain": "النطاق",
|
||||||
|
"ecs": "ECS",
|
||||||
|
"punycode": "Punycode",
|
||||||
|
"answer": "الإجابة",
|
||||||
|
"filter_added_successfully": "تم إضافة القائمة بنجاح",
|
||||||
|
"filter_removed_successfully": "تم ازالته من القائمة بنجاح",
|
||||||
|
"filter_updated": "تم تحديث القائمة بنجاح",
|
||||||
|
"statistics_configuration": "ضبط الاحصائيات",
|
||||||
|
"statistics_retention": "الاحتفاظ بالإحصاءات",
|
||||||
|
"statistics_retention_desc": "إذا قمت بتقليل قيمة الفاصل الزمني ، فستفقد بعض البيانات",
|
||||||
|
"statistics_clear": "إعادة تعيين الإحصائيات",
|
||||||
|
"statistics_clear_confirm": "هل أنت متأكد من أنك تريد مسح الإحصاءات؟",
|
||||||
|
"statistics_retention_confirm": "هل أنت متأكد أنك تريد تغيير الاحتفاظ بالإحصاءات؟ إذا قمت بتقليل قيمة الفاصل الزمني ، فستفقد بعض البيانات",
|
||||||
|
"statistics_cleared": "تم مسح الإحصائيات بنجاح",
|
||||||
|
"statistics_enable": "تفعيل الاحصائيات",
|
||||||
|
"interval_hours": "{{count}} ساعة",
|
||||||
|
"interval_hours_plural": "{{count}} ساعات",
|
||||||
|
"filters_configuration": "اضبط الفلاتر",
|
||||||
|
"filters_enable": "تفعيل الفلاتر",
|
||||||
|
"filters_interval": "الفاصل الزمني لتحديث الفلاتر",
|
||||||
|
"disabled": "معطلة",
|
||||||
|
"username_label": "اسم المستخدم",
|
||||||
|
"username_placeholder": "ادخل اسم المستخدم",
|
||||||
|
"password_label": "كلمة المرور",
|
||||||
|
"password_placeholder": "ادخل كلمة المرور",
|
||||||
|
"sign_in": "تسجيل الدخول",
|
||||||
|
"sign_out": "تسجيل الخروج",
|
||||||
|
"forgot_password": "نسيت كلمة المرور؟",
|
||||||
|
"forgot_password_desc": "يرجى اتباع <0> هذه الخطوات </0> لإنشاء كلمة مرور جديدة لحساب المستخدم الخاص بك.",
|
||||||
|
"location": "الموقع",
|
||||||
|
"orgname": "اسم المنظمة",
|
||||||
|
"netname": "اسم الشبكة",
|
||||||
|
"network": "الشبكة",
|
||||||
|
"descr": "الوصف",
|
||||||
|
"whois": "WHOIS",
|
||||||
|
"filtering_rules_learn_more": "<0> اعرف المزيد </0> حول إنشاء قوائم المضيفين الخاصة بك.",
|
||||||
|
"blocked_by_response": "حظر بواسطة CNAME or IP in response",
|
||||||
|
"blocked_by_cname_or_ip": "حظر بواسطة CNAME or IP",
|
||||||
|
"try_again": "حاول مرة أخرى",
|
||||||
|
"domain_desc": "أدخل اسم النطاق أو حرف البدل الذي تريد إعادة كتابته.",
|
||||||
|
"example_rewrite_domain": "أعد كتابة الردود لاسم النطاق هذا فقط.",
|
||||||
|
"example_rewrite_wildcard": "أعد كتابة الردود لجميع النطاقات الفرعية <0> example.org </0>.",
|
||||||
|
"rewrite_ip_address": "عنوان IP: استخدم عنوان IP هذا في استجابة A أو AAAA",
|
||||||
|
"rewrite_domain_name": "اسم النطاق: أضف سجل CNAME",
|
||||||
|
"rewrite_A": "<0> A </0>: قيمة خاصة ، احتفظ بسجلات <0> A </0> من upstream",
|
||||||
|
"rewrite_AAAA": "<0> AAAA </0>: قيمة خاصة ، احتفظ بسجلات <0> AAAA </0> من upstream",
|
||||||
|
"disable_ipv6": "قم بتعطيل تحليل عناوين IPv6",
|
||||||
|
"disable_ipv6_desc": "قم بإسقاط جميع استعلامات DNS لعناوين IPv6 (اكتب AAAA).",
|
||||||
|
"fastest_addr": "أسرع عنوان IP",
|
||||||
|
"fastest_addr_desc": "استعلم عن جميع خوادم DNS وأعد عنوان IP الأسرع بين جميع الاستجابات. يؤدي هذا إلى إبطاء استعلامات DNS حيث يتعين على AdGuard Home انتظار الاستجابات من جميع خوادم DNS ، ولكنه يحسن الاتصال الكلي.",
|
||||||
|
"autofix_warning_text": "إذا قمت بالنقر فوق \"إصلاح\" ، فسيقوم AdGuard Home بتهيئة نظامك لاستخدام خادم AdGuard Home DNS.",
|
||||||
|
"autofix_warning_list": "سيقوم بتنفيذ هذه المهام: <0> إلغاء تنشيط نظام DNSStubListener </0> <0> تعيين عنوان خادم DNS إلى 127.0.0.1 </0> <0> استبدال هدف الارتباط الرمزي لـ /etc/resolv.conf بـ / run / systemd /resolve/resolv.conf </0> <0> إيقاف DNSStubListener (إعادة تحميل خدمة حل نظام d) </0>",
|
||||||
|
"autofix_warning_result": "نتيجة لذلك ، ستتم معالجة جميع طلبات DNS من نظامك بواسطة AdGuard Home افتراضيًا.",
|
||||||
|
"tags_title": "وسوم",
|
||||||
|
"tags_desc": "يمكنك تحديد العلامات التي تتوافق مع العميل. قم بتضمين العلامات في قواعد التصفية لتطبيقها بدقة أكبر. <0> معرفة المزيد </0>.",
|
||||||
|
"form_select_tags": "حدد علامات العميل",
|
||||||
|
"check_title": "تحقق من الفلترة",
|
||||||
|
"check_desc": "تحقق مما إذا تم فلترة اسم المضيف.",
|
||||||
|
"check": "تحقق",
|
||||||
|
"form_enter_host": "ادخل اسم المضيف",
|
||||||
|
"filtered_custom_rules": "تمت تصفيتها حسب قواعد التصفية المخصصة",
|
||||||
|
"choose_from_list": "اختر من القائمة",
|
||||||
|
"add_custom_list": "أضف قائمة مخصصة",
|
||||||
|
"host_whitelisted": "المضيف مسموح به",
|
||||||
|
"check_ip": "عناوين الـ IP: {{ip}}",
|
||||||
|
"check_cname": "CNAME: {{cname}}",
|
||||||
|
"check_reason": "سبب: {{reason}}",
|
||||||
|
"check_service": "أسم الخدمة: {{service}}",
|
||||||
|
"service_name": "أسم الخدمة",
|
||||||
|
"check_not_found": "غير موجود في قوائم التصفية الخاصة بك",
|
||||||
|
"client_confirm_block": "هل أنت متأكد من أنك تريد منع العميل \"{{ip}}\"؟",
|
||||||
|
"client_confirm_unblock": "هل تريد بالتأكيد إلغاء حظر العميل \"{{ip}}\"؟",
|
||||||
|
"client_blocked": "تم حظر العميل \"{{ip}}\" بنجاح",
|
||||||
|
"client_unblocked": "تم إلغاء حظر العميل \"{{ip}}\" بنجاح",
|
||||||
|
"static_ip": "عنوان IP ثابت",
|
||||||
|
"static_ip_desc": "AdGuard Home هو خادم لذلك يحتاج إلى عنوان IP ثابت ليعمل بشكل صحيح. خلاف ذلك ، في مرحلة ما ، قد يقوم جهاز التوجيه الخاص بك بتعيين عنوان IP مختلف لهذا الجهاز.",
|
||||||
|
"set_static_ip": "قم بتعيين عنوان IP ثابت",
|
||||||
|
"install_static_ok": "أخبار جيدة! تم ضبط عنوان IP الثابت بالفعل",
|
||||||
|
"install_static_error": "لا يمكن لـ AdGuard Home تكوينه تلقائيًا لواجهة الشبكة هذه. الرجاء البحث عن تعليمات حول كيفية القيام بذلك يدويًا.",
|
||||||
|
"install_static_configure": "اكتشف AdGuard Home استخدام عنوان IP الديناميكي <0> {{ip}} </0>. هل تريد تعيينه كعنوان ثابت؟",
|
||||||
|
"confirm_static_ip": "سيقوم AdGuard Home بتهيئة {{ip}} ليكون عنوان IP الثابت الخاص بك. هل تريد المتابعة؟",
|
||||||
|
"list_updated": "قائمة {{count}} محدثة",
|
||||||
|
"list_updated_plural": "قوائم {{count}} محدثة",
|
||||||
|
"dnssec_enable": "تفعيل DNSSEC",
|
||||||
|
"dnssec_enable_desc": "قم بتعيين علامة DNSSEC في استعلامات DNS الواردة وتحقق من النتيجة (مطلوب محلل يدعم DNSSEC).",
|
||||||
|
"validated_with_dnssec": "تم التحقق من صحتها باستخدام DNSSEC",
|
||||||
|
"all_queries": "كافة الاستفسارات",
|
||||||
|
"show_blocked_responses": "حظر",
|
||||||
|
"show_whitelisted_responses": "القائمة البيضاء",
|
||||||
|
"show_processed_responses": "المعالجة",
|
||||||
|
"blocked_safebrowsing": "محظور بواسطة التصفح الآمن",
|
||||||
|
"blocked_adult_websites": "محظور بواسطة الرقابة الأبوية",
|
||||||
|
"blocked_threats": "التهديدات المحظورة",
|
||||||
|
"allowed": "القائمة البيضاء",
|
||||||
|
"filtered": "تمت الفلترة",
|
||||||
|
"rewritten": "أعيدت كتابته",
|
||||||
|
"safe_search": "البحث الأمن",
|
||||||
|
"blocklist": "قائمة الحظر",
|
||||||
|
"milliseconds_abbreviation": "ms",
|
||||||
|
"cache_size": "حجم ذاكرة التخزين المؤقت",
|
||||||
|
"cache_size_desc": "حجم ذاكرة التخزين المؤقت لنظام أسماء النطاقات (بالبايت).",
|
||||||
|
"cache_ttl_min_override": "تجاوز الحد الأدنى من مدة البقاء TTL",
|
||||||
|
"cache_ttl_max_override": "تجاوز الحد الاقصى من مدة البقاء TTL",
|
||||||
|
"enter_cache_size": "أدخل حجم ذاكرة التخزين المؤقت (بايت)",
|
||||||
|
"enter_cache_ttl_min_override": "أدخل الحد الأدنى من مدة البقاء (بالثواني)",
|
||||||
|
"enter_cache_ttl_max_override": "أدخل الحد الاقصى من مدة البقاء (بالثواني)",
|
||||||
|
"cache_ttl_min_override_desc": "قم بتمديد قيم فترة البقاء القصيرة (بالثواني) المستلمة من الخادم الرئيسي عند تخزين استجابات DNS مؤقتًا.",
|
||||||
|
"cache_ttl_max_override_desc": "قم بتعيين الحد الأقصى لقيمة الوقت للعيش (بالثواني) للإدخالات في ذاكرة التخزين المؤقت لنظام أسماء النطاقات.",
|
||||||
|
"ttl_cache_validation": "يجب أن يكون الحد الأدنى لتجاوز TTL لذاكرة التخزين المؤقت أقل من أو يساوي الحد الأقصى",
|
||||||
|
"cache_optimistic": "متفائل التخزين المؤقت",
|
||||||
|
"cache_optimistic_desc": "اجعل AdGuard Home يستجيب من ذاكرة التخزين المؤقت حتى عندما تنتهي صلاحية الإدخالات وحاول أيضًا تحديثها.",
|
||||||
|
"filter_category_general": "General",
|
||||||
|
"filter_category_security": "الامان",
|
||||||
|
"filter_category_regional": "إقليمي",
|
||||||
|
"filter_category_other": "أخرى",
|
||||||
|
"filter_category_general_desc": "القوائم التي تمنع التتبع والإعلان على معظم الأجهزة",
|
||||||
|
"filter_category_security_desc": "القوائم المصممة خصيصًا لحظر النطاقات الخبيثة والتصيد الاحتيالي والخداع",
|
||||||
|
"filter_category_regional_desc": "القوائم التي تركز على الإعلانات الإقليمية وخوادم التتبع",
|
||||||
|
"filter_category_other_desc": "قوائم حظر أخرى",
|
||||||
|
"setup_config_to_enable_dhcp_server": "أضبط الاعدادات لتمكين خادم DHCP",
|
||||||
|
"original_response": "الرد الأصلي",
|
||||||
|
"click_to_view_queries": "انقر لعرض الـ queries",
|
||||||
|
"port_53_faq_link": "غالبًا ما يتم احتلال المنفذ 53 بواسطة خدمات \"DNSStubListener\" أو \"حل النظام\". يرجى قراءة <0> هذه التعليمات </0> حول كيفية حل هذه المشكلة.",
|
||||||
|
"adg_will_drop_dns_queries": "سيقوم AdGuard Home بإسقاط جميع استعلامات DNS من هذا العميل.",
|
||||||
|
"filter_allowlist": "تحذير: سيؤدي هذا الإجراء أيضًا إلى استبعاد القاعدة \"{{disallowed_rule}}\" من قائمة العملاء المسموح لهم.",
|
||||||
|
"last_rule_in_allowlist": "لا يمكن منع هذا العميل لأن استبعاد القاعدة \"{{disallowed_rule}}\" سيؤدي إلى تعطيل قائمة \"العملاء المسموح لهم\".",
|
||||||
|
"use_saved_key": "استخدم المفتاح المحفوظ مسبقًا",
|
||||||
|
"parental_control": "الرقابة الابويه",
|
||||||
|
"safe_browsing": "تصفح آمن",
|
||||||
|
"served_from_cache": "{{value}} <i>(يتم تقديمه من ذاكرة التخزين المؤقت)</i>",
|
||||||
|
"form_error_password_length": "يجب أن تتكون كلمة المرور من {{value}} من الأحرف على الأقل",
|
||||||
|
"protection_section_label": "الحماية"
|
||||||
|
}
|
||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Налады DHCP IPv6",
|
"dhcp_ipv6_settings": "Налады DHCP IPv6",
|
||||||
"form_error_required": "Абавязковае поле",
|
"form_error_required": "Абавязковае поле",
|
||||||
"form_error_ip4_format": "Няслушны IPv4-адрас",
|
"form_error_ip4_format": "Няслушны IPv4-адрас",
|
||||||
"form_error_ip4_range_start_format": "Няслушны IPv4-адрас пачатку дыяпазону",
|
|
||||||
"form_error_ip4_range_end_format": "Няслушны IPv4-адрас канца дыяпазону",
|
|
||||||
"form_error_ip4_gateway_format": "Няслушны IPv4-адрас шлюза",
|
"form_error_ip4_gateway_format": "Няслушны IPv4-адрас шлюза",
|
||||||
"form_error_ip6_format": "Няслушны IPv6-адрас",
|
"form_error_ip6_format": "Няслушны IPv6-адрас",
|
||||||
"form_error_ip_format": "Няслушны IP-адрас",
|
"form_error_ip_format": "Няслушны IP-адрас",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Павінна быць па-за дыяпазонам «{{start}}»-«{{end}}»",
|
"out_of_range_error": "Павінна быць па-за дыяпазонам «{{start}}»-«{{end}}»",
|
||||||
"lower_range_start_error": "Павінна быць менш за пачатак дыяпазону",
|
"lower_range_start_error": "Павінна быць менш за пачатак дыяпазону",
|
||||||
"greater_range_start_error": "Павінна быць больш за пачатак дыяпазону",
|
"greater_range_start_error": "Павінна быць больш за пачатак дыяпазону",
|
||||||
"greater_range_end_error": "Павінна быць больш за канец дыяпазону",
|
|
||||||
"subnet_error": "Адрасы павінны быць усярэдзіне адной падсеткі",
|
"subnet_error": "Адрасы павінны быць усярэдзіне адной падсеткі",
|
||||||
"gateway_or_subnet_invalid": "Некарэктная маска падсеткі",
|
"gateway_or_subnet_invalid": "Некарэктная маска падсеткі",
|
||||||
"dhcp_form_gateway_input": "IP-адрас шлюза",
|
"dhcp_form_gateway_input": "IP-адрас шлюза",
|
||||||
@@ -70,9 +67,9 @@
|
|||||||
"dhcp_warning": "Калі вы ўсё адно хочаце ўключыць DHCP-сервер, пераканайцеся, што ў сеціве больш няма актыўных DHCP-сервераў. Інакш гэта можа зламаць доступ у сеціва для падлучаных прылад!",
|
"dhcp_warning": "Калі вы ўсё адно хочаце ўключыць DHCP-сервер, пераканайцеся, што ў сеціве больш няма актыўных DHCP-сервераў. Інакш гэта можа зламаць доступ у сеціва для падлучаных прылад!",
|
||||||
"dhcp_error": "AdGuard Home не можа вызначыць, ці ёсць у сетцы іншы актыўны DHCP-сервер",
|
"dhcp_error": "AdGuard Home не можа вызначыць, ці ёсць у сетцы іншы актыўны DHCP-сервер",
|
||||||
"dhcp_static_ip_error": "Для таго, каб выкарыстоўваць DHCP-сервер, павінен быць усталяваны статычны IP-адрас. Мы не змаглі вызначыць, ці выкарыстоўвае гэты інтэрфейс сеціва статычны IP-адрас. Калі ласка, усталюйце яго ручна.",
|
"dhcp_static_ip_error": "Для таго, каб выкарыстоўваць DHCP-сервер, павінен быць усталяваны статычны IP-адрас. Мы не змаглі вызначыць, ці выкарыстоўвае гэты інтэрфейс сеціва статычны IP-адрас. Калі ласка, усталюйце яго ручна.",
|
||||||
"dhcp_dynamic_ip_found": "Ваша сістэма выкарыстоўвае дынамічны IP-адрас для інтэрфейсу <0>{{interfaceName}}</0>. Каб выкарыстоўваць DHCP-сервер трэба ўсталяваць статычны IP-адрас. Ваш бягучы IP-адрас – <0>{{ipAddress}}</0>. Мы аўтаматычна ўсталюем яго як статычны, калі вы націснеце кнопку Ўключыць DHCP.",
|
"dhcp_dynamic_ip_found": "Ваша сістэма выкарыстоўвае дынамічны IP-адрас для інтэрфейсу <0>{{interfaceName}}</0>. Каб выкарыстоўваць DHCP-сервер трэба ўсталяваць статычны IP-адрас. Ваш бягучы IP-адрас – <0>{{ipAddress}}</0>. Мы аўтаматычна ўсталюем яго як статычны, калі вы націснеце кнопку «Ўключыць DHCP».",
|
||||||
"dhcp_lease_added": "Статычная арэнда \"{{key}}\" паспяхова дададзена",
|
"dhcp_lease_added": "Статычная арэнда «{{key}}» паспяхова дададзена",
|
||||||
"dhcp_lease_deleted": "Статычная арэнда \"{{key}}\" паспяхова выдалена",
|
"dhcp_lease_deleted": "Статычная арэнда «{{key}}» паспяхова выдалена",
|
||||||
"dhcp_new_static_lease": "Новая статычная арэнда",
|
"dhcp_new_static_lease": "Новая статычная арэнда",
|
||||||
"dhcp_static_leases_not_found": "Не знойдзена статычных арэнд DHCP",
|
"dhcp_static_leases_not_found": "Не знойдзена статычных арэнд DHCP",
|
||||||
"dhcp_add_static_lease": "Дадаць статычную арэнду",
|
"dhcp_add_static_lease": "Дадаць статычную арэнду",
|
||||||
@@ -82,7 +79,7 @@
|
|||||||
"dhcp_reset": "Вы ўпэўнены, што хочаце скінуць налады DHCP?",
|
"dhcp_reset": "Вы ўпэўнены, што хочаце скінуць налады DHCP?",
|
||||||
"country": "Краіна",
|
"country": "Краіна",
|
||||||
"city": "Горад",
|
"city": "Горад",
|
||||||
"delete_confirm": "Вы ўпэўнены, што хочаце выдаліць \"{{key}}\"?",
|
"delete_confirm": "Вы ўпэўнены, што хочаце выдаліць «{{key}}»?",
|
||||||
"form_enter_hostname": "Увядзіце імя хаста",
|
"form_enter_hostname": "Увядзіце імя хаста",
|
||||||
"error_details": "Дэталізацыя памылкі",
|
"error_details": "Дэталізацыя памылкі",
|
||||||
"response_details": "Дэталі адказу",
|
"response_details": "Дэталі адказу",
|
||||||
@@ -115,7 +112,7 @@
|
|||||||
"dns_query": "DNS-запыты",
|
"dns_query": "DNS-запыты",
|
||||||
"blocked_by": "<0>Заблакавана фільтрамі</0>",
|
"blocked_by": "<0>Заблакавана фільтрамі</0>",
|
||||||
"stats_malware_phishing": "Заблакаваныя шкодныя і фішынгавыя сайты",
|
"stats_malware_phishing": "Заблакаваныя шкодныя і фішынгавыя сайты",
|
||||||
"stats_adult": "Заблакаваныя \"дарослыя\" сайты",
|
"stats_adult": "Заблакаваныя «дарослыя» сайты",
|
||||||
"stats_query_domain": "Часта запытаныя дамены",
|
"stats_query_domain": "Часта запытаныя дамены",
|
||||||
"for_last_24_hours": "за 24 гадзіны",
|
"for_last_24_hours": "за 24 гадзіны",
|
||||||
"for_last_days": "за апошні {{count}} дзень",
|
"for_last_days": "за апошні {{count}} дзень",
|
||||||
@@ -133,13 +130,13 @@
|
|||||||
"number_of_dns_query_24_hours": "Колькасць DNS-запытаў за 24 гадзіны",
|
"number_of_dns_query_24_hours": "Колькасць DNS-запытаў за 24 гадзіны",
|
||||||
"number_of_dns_query_blocked_24_hours": "Колькасць DNS-запытаў, заблакаваных фільтрамі і блок-спісамі",
|
"number_of_dns_query_blocked_24_hours": "Колькасць DNS-запытаў, заблакаваных фільтрамі і блок-спісамі",
|
||||||
"number_of_dns_query_blocked_24_hours_by_sec": "Колькасць DNS-запытаў, заблакаваных модулем Антыфішынгу AdGuard",
|
"number_of_dns_query_blocked_24_hours_by_sec": "Колькасць DNS-запытаў, заблакаваных модулем Антыфішынгу AdGuard",
|
||||||
"number_of_dns_query_blocked_24_hours_adult": "Колькасць заблакаваных \"сайтаў для дарослых\"",
|
"number_of_dns_query_blocked_24_hours_adult": "Колькасць заблакаваных «сайтаў для дарослых»",
|
||||||
"enforced_save_search": "Ужыты бяспечны пошук",
|
"enforced_save_search": "Ужыты бяспечны пошук",
|
||||||
"number_of_dns_query_to_safe_search": "Колькасць запытаў DNS для пошукавых сістэм, для якіх быў ужыты Бяспечны пошук",
|
"number_of_dns_query_to_safe_search": "Колькасць запытаў DNS для пошукавых сістэм, для якіх быў ужыты Бяспечны пошук",
|
||||||
"average_processing_time": "Сярэдні час апрацоўкі запыту",
|
"average_processing_time": "Сярэдні час апрацоўкі запыту",
|
||||||
"average_processing_time_hint": "Сярэдні час для апрацоўкі запыту DNS у мілісекундах",
|
"average_processing_time_hint": "Сярэдні час для апрацоўкі запыту DNS у мілісекундах",
|
||||||
"block_domain_use_filters_and_hosts": "Блакаваць дамены з выкарыстаннем фільтраў і файлаў хастоў",
|
"block_domain_use_filters_and_hosts": "Блакаваць дамены з выкарыстаннем фільтраў і файлаў хастоў",
|
||||||
"filters_block_toggle_hint": "Вы можаце наладзіць правілы блакавання ў <a> \"Фільтрах\"</a>.",
|
"filters_block_toggle_hint": "Вы можаце наладзіць правілы блакавання ў «<a>Фільтрах</a>».",
|
||||||
"use_adguard_browsing_sec": "Выкарыстаць Бяспечную навігацыю AdGuard",
|
"use_adguard_browsing_sec": "Выкарыстаць Бяспечную навігацыю AdGuard",
|
||||||
"use_adguard_browsing_sec_hint": "AdGuard Home праверыць, ці ўлучаны дамен у ўэб-службу бяспекі браўзара. Ён будзе выкарыстоўваць API, каб выканаць праверку: на сервер адсылаецца толькі кароткі прэфікс імя дамена SHA256.",
|
"use_adguard_browsing_sec_hint": "AdGuard Home праверыць, ці ўлучаны дамен у ўэб-службу бяспекі браўзара. Ён будзе выкарыстоўваць API, каб выканаць праверку: на сервер адсылаецца толькі кароткі прэфікс імя дамена SHA256.",
|
||||||
"use_adguard_parental": "Ужывайце модуль Бацькоўскага кантролю AdGuard ",
|
"use_adguard_parental": "Ужывайце модуль Бацькоўскага кантролю AdGuard ",
|
||||||
@@ -153,7 +150,7 @@
|
|||||||
"dns_allowlists": "Белыя спісы DNS",
|
"dns_allowlists": "Белыя спісы DNS",
|
||||||
"dns_blocklists_desc": "AdGuard Home будзе блакаваць дамены з чорных спісаў.",
|
"dns_blocklists_desc": "AdGuard Home будзе блакаваць дамены з чорных спісаў.",
|
||||||
"dns_allowlists_desc": "Дамены з белых спісаў DNS будуць дазволены, нават калі яны знаходзяцца ў любым з чорных спісаў.",
|
"dns_allowlists_desc": "Дамены з белых спісаў DNS будуць дазволены, нават калі яны знаходзяцца ў любым з чорных спісаў.",
|
||||||
"custom_filtering_rules": "Карыстацкія правілы фільтрацыі",
|
"custom_filtering_rules": "Карыстальніцкія правілы фільтрацыі",
|
||||||
"encryption_settings": "Налады шыфравання",
|
"encryption_settings": "Налады шыфравання",
|
||||||
"dhcp_settings": "Налады DHCP",
|
"dhcp_settings": "Налады DHCP",
|
||||||
"upstream_dns": "Upstream DNS-серверы",
|
"upstream_dns": "Upstream DNS-серверы",
|
||||||
@@ -211,17 +208,21 @@
|
|||||||
"example_comment_hash": "# І вось так таксама.",
|
"example_comment_hash": "# І вось так таксама.",
|
||||||
"example_regex_meaning": "блакаваць доступ да даменаў, якія адпавядаюць зададзенаму рэгулярнаму выразу.",
|
"example_regex_meaning": "блакаваць доступ да даменаў, якія адпавядаюць зададзенаму рэгулярнаму выразу.",
|
||||||
"example_upstream_regular": "звычайны DNS (наўзверх UDP);",
|
"example_upstream_regular": "звычайны DNS (наўзверх UDP);",
|
||||||
|
"example_upstream_regular_port": "звычайны DNS (праз UDP, імя хаста);",
|
||||||
"example_upstream_udp": "звычайны DNS (праз UDP, імя хаста);",
|
"example_upstream_udp": "звычайны DNS (праз UDP, імя хаста);",
|
||||||
"example_upstream_dot": "зашыфраваны <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "зашыфраваны <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "зашыфраваны <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "зашыфраваны <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "зашыфраваны DNS-над-HTTPS з прымусовым <0>HTTP/3</0> і без вяртання да HTTP/2 або ніжэй;",
|
||||||
"example_upstream_doq": "зашыфраваны <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "зашыфраваны <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> для <1>DNSCrypt</1> ці <2>DNS-over-HTTPS</2> рэзалвераў;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> для <1>DNSCrypt</1> ці <2>DNS-over-HTTPS</2> рэзалвераў;",
|
||||||
"example_upstream_tcp": "звычайны DNS (наўзверх TCP);",
|
"example_upstream_tcp": "звычайны DNS (наўзверх TCP);",
|
||||||
|
"example_upstream_tcp_port": "звычайны DNS (праз TCP, імя хаста);",
|
||||||
"example_upstream_tcp_hostname": "звычайны DNS (праз TCP, імя хаста);",
|
"example_upstream_tcp_hostname": "звычайны DNS (праз TCP, імя хаста);",
|
||||||
"all_lists_up_to_date_toast": "Усе спісы ўжо абноўлены",
|
"all_lists_up_to_date_toast": "Усе спісы ўжо абноўлены",
|
||||||
"updated_upstream_dns_toast": "Upstream DNS-серверы абноўлены",
|
"updated_upstream_dns_toast": "Upstream DNS-серверы абноўлены",
|
||||||
"dns_test_ok_toast": "Паказаныя серверы DNS працуюць карэктна",
|
"dns_test_ok_toast": "Паказаныя серверы DNS працуюць карэктна",
|
||||||
"dns_test_not_ok_toast": "Сервер \"{{key}}\": немагчыма выкарыстоўваць, праверце слушнасць напісання",
|
"dns_test_not_ok_toast": "Сервер «{{key}}»: немагчыма выкарыстоўваць, праверце слушнасць напісання",
|
||||||
|
"dns_test_warning_toast": "Upstream «{{key}}» не адказвае на тэставыя запыты і можа не працаваць належным чынам",
|
||||||
"unblock": "Адблакаваць",
|
"unblock": "Адблакаваць",
|
||||||
"block": "Заблакаваць",
|
"block": "Заблакаваць",
|
||||||
"disallow_this_client": "Забараніць доступ гэтаму кліенту",
|
"disallow_this_client": "Забараніць доступ гэтаму кліенту",
|
||||||
@@ -246,7 +247,7 @@
|
|||||||
"loading_table_status": "Загрузка...",
|
"loading_table_status": "Загрузка...",
|
||||||
"page_table_footer_text": "Старонка",
|
"page_table_footer_text": "Старонка",
|
||||||
"rows_table_footer_text": "радкоў",
|
"rows_table_footer_text": "радкоў",
|
||||||
"updated_custom_filtering_toast": "Занесены змены ў карыстацкія правілы",
|
"updated_custom_filtering_toast": "Карыстальніцкія правілы паспяхова захаваны",
|
||||||
"rule_removed_from_custom_filtering_toast": "Карыстацкае правіла выдалена: {{rule}}",
|
"rule_removed_from_custom_filtering_toast": "Карыстацкае правіла выдалена: {{rule}}",
|
||||||
"rule_added_to_custom_filtering_toast": "Карыстацкае правіла дададзена: {{rule}}",
|
"rule_added_to_custom_filtering_toast": "Карыстацкае правіла дададзена: {{rule}}",
|
||||||
"query_log_response_status": "Статус: {{value}}",
|
"query_log_response_status": "Статус: {{value}}",
|
||||||
@@ -260,7 +261,7 @@
|
|||||||
"query_log_configuration": "Налада часопіса",
|
"query_log_configuration": "Налада часопіса",
|
||||||
"query_log_disabled": "Часопіс запытаў выключаны, яго можна ўключыць у <0>наладах</0>",
|
"query_log_disabled": "Часопіс запытаў выключаны, яго можна ўключыць у <0>наладах</0>",
|
||||||
"query_log_strict_search": "Ужывайце падвойныя двукоссі для строгага пошуку",
|
"query_log_strict_search": "Ужывайце падвойныя двукоссі для строгага пошуку",
|
||||||
"query_log_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання запытаў? Пры скарачэнні інтэрвалу дадзеныя могуць быць згублены",
|
"query_log_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання запытаў? Пры памяншэнні інтэрвалу, некаторыя даныя могуць быць страчаны",
|
||||||
"anonymize_client_ip": "Ананімізацыя IP-адрасы кліента",
|
"anonymize_client_ip": "Ананімізацыя IP-адрасы кліента",
|
||||||
"anonymize_client_ip_desc": "Не захоўвайце поўныя IP-адрасы гэтых удзельнікаў у часопісах або статыстыцы",
|
"anonymize_client_ip_desc": "Не захоўвайце поўныя IP-адрасы гэтых удзельнікаў у часопісах або статыстыцы",
|
||||||
"dns_config": "Налады DNS-сервера",
|
"dns_config": "Налады DNS-сервера",
|
||||||
@@ -297,6 +298,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Адказвае з кодам NXDOMAIN\n",
|
"blocking_mode_nxdomain": "NXDOMAIN: Адказвае з кодам NXDOMAIN\n",
|
||||||
"blocking_mode_null_ip": "Нулёвы IP: Адказвае з нулёвым IP-адрасам (0.0.0.0 для A; :: для AAAA)",
|
"blocking_mode_null_ip": "Нулёвы IP: Адказвае з нулёвым IP-адрасам (0.0.0.0 для A; :: для AAAA)",
|
||||||
"blocking_mode_custom_ip": "Карыстацкі IP: Адказвае з ручна наладжаным IP-адрасам",
|
"blocking_mode_custom_ip": "Карыстацкі IP: Адказвае з ручна наладжаным IP-адрасам",
|
||||||
|
"theme_auto": "Аўто",
|
||||||
|
"theme_light": "Светлая",
|
||||||
|
"theme_dark": "Цёмная",
|
||||||
"upstream_dns_client_desc": "Калі пакінуць поле пустым, AdGuard Home будзе звяртацца да сервераў, паказаных у <0>наладах DNS</0>.",
|
"upstream_dns_client_desc": "Калі пакінуць поле пустым, AdGuard Home будзе звяртацца да сервераў, паказаных у <0>наладах DNS</0>.",
|
||||||
"tracker_source": "Крыніца трэкінгу",
|
"tracker_source": "Крыніца трэкінгу",
|
||||||
"source_label": "Крыніца",
|
"source_label": "Крыніца",
|
||||||
@@ -332,15 +336,15 @@
|
|||||||
"install_devices_router_desc": "Такая наладка аўтаматычна пакрые ўсе прылады, што выкарыстоўваюць ваш хатні роўтар, і вам не трэба будзе наладжваць кожнае з іх у асобнасці.",
|
"install_devices_router_desc": "Такая наладка аўтаматычна пакрые ўсе прылады, што выкарыстоўваюць ваш хатні роўтар, і вам не трэба будзе наладжваць кожнае з іх у асобнасці.",
|
||||||
"install_devices_address": "DNS-сервер AdGuard Home даступны па наступных адрасах",
|
"install_devices_address": "DNS-сервер AdGuard Home даступны па наступных адрасах",
|
||||||
"install_devices_router_list_1": "Адкрыйце налады вашага роўтара. Звычайна вы можаце адкрыць іх у вашым браўзары, напрыклад, http://192.168.0.1/ ці http://192.168.1.1/. Вас могуць папрасіць увесці пароль. Калі вы не помніце яго, пароль часта можна скінуць, націснуўшы на кнопку на самым роўтары. Некаторыя роўтары патрабуюць адмысловага дадатку, які ў гэтым выпадку павінен быць ужо ўсталявана на ваш кампутар ці тэлефон.",
|
"install_devices_router_list_1": "Адкрыйце налады вашага роўтара. Звычайна вы можаце адкрыць іх у вашым браўзары, напрыклад, http://192.168.0.1/ ці http://192.168.1.1/. Вас могуць папрасіць увесці пароль. Калі вы не помніце яго, пароль часта можна скінуць, націснуўшы на кнопку на самым роўтары. Некаторыя роўтары патрабуюць адмысловага дадатку, які ў гэтым выпадку павінен быць ужо ўсталявана на ваш кампутар ці тэлефон.",
|
||||||
"install_devices_router_list_2": "Знайдзіце налады DHCP ці DNS. Знайдзіце літары \"DNS\" поруч з тэкставым полем, у якое можна ўвесці два ці тры шэрагі лічбаў, падзеленых на 4 групы ад адной до трох лічбаў.",
|
"install_devices_router_list_2": "Знайдзіце налады DHCP ці DNS. Знайдзіце літары «DNS» поруч з тэкставым полем, у якое можна ўвесці два ці тры шэрагі лічбаў, падзеленых на 4 групы ад адной до трох лічбаў.",
|
||||||
"install_devices_router_list_3": "Увядзіце туды адрас вашага AdGuard Home.",
|
"install_devices_router_list_3": "Увядзіце туды адрас вашага AdGuard Home.",
|
||||||
"install_devices_router_list_4": "Вы не можаце ўсталяваць уласны DNS-сервер на некаторых тыпах маршрутызатараў. У гэтым выпадку можа дапамагчы налада AdGuard Home у якасці <a href='#dhcp'>DHCP-сервера</a>. У адваротным выпадку вам трэба звярнуцца да кіраўніцтва па наладзе DNS-сервераў для вашай пэўнай мадэлі маршрутызатара.",
|
"install_devices_router_list_4": "Вы не можаце ўсталяваць уласны DNS-сервер на некаторых тыпах маршрутызатараў. У гэтым выпадку можа дапамагчы налада AdGuard Home у якасці <a href='#dhcp'>DHCP-сервера</a>. У адваротным выпадку вам трэба звярнуцца да кіраўніцтва па наладзе DNS-сервераў для вашай пэўнай мадэлі маршрутызатара.",
|
||||||
"install_devices_windows_list_1": "Адкрыйце Панэль кіравання праз меню \"Пуск\" ці праз пошук Windows.",
|
"install_devices_windows_list_1": "Адкрыйце Панэль кіравання праз меню «Пуск» ці праз пошук Windows.",
|
||||||
"install_devices_windows_list_2": "Перайдзіце ў \"Сеціва і інтэрнэт\", а потым у \"Цэнтр кіравання сеціва і агульным доступам\"",
|
"install_devices_windows_list_2": "Перайдзіце ў «Сеціва і інтэрнэт», а потым у «Цэнтр кіравання сеціва і агульным доступам».",
|
||||||
"install_devices_windows_list_3": "У левым боку экрана клікніце «Змена параметраў адаптара».",
|
"install_devices_windows_list_3": "У левым боку экрана клікніце «Змена параметраў адаптара».",
|
||||||
"install_devices_windows_list_4": "Пстрыкніце правай кнопкай мышы ваша актыўнае злучэнне і абярыце Уласцівасці.",
|
"install_devices_windows_list_4": "Пстрыкніце правай кнопкай мышы ваша актыўнае злучэнне і абярыце Уласцівасці.",
|
||||||
"install_devices_windows_list_5": "Знайдзіце ў спісе пункт \"IP версіі 4 (TCP/IPv4)\", вылучыце яго і потым ізноў націсніце \"Уласцівасці\".",
|
"install_devices_windows_list_5": "Знайдзіце ў спісе пункт «IP версіі 4 (TCP/IPv4)», вылучыце яго і потым ізноў націсніце «Уласцівасці».",
|
||||||
"install_devices_windows_list_6": "Абярыце \"Выкарыстаць наступныя адрасы DNS-сервераў\" і ўвядзіце адрас AdGuard Home.",
|
"install_devices_windows_list_6": "Абярыце «Выкарыстаць наступныя адрасы DNS-сервераў» і ўвядзіце адрас AdGuard Home.",
|
||||||
"install_devices_macos_list_1": "Клікніце па абразку Apple і перайдзіце ў Сістэмныя налады.",
|
"install_devices_macos_list_1": "Клікніце па абразку Apple і перайдзіце ў Сістэмныя налады.",
|
||||||
"install_devices_macos_list_2": "Клікніце па іконцы Сеціва.",
|
"install_devices_macos_list_2": "Клікніце па іконцы Сеціва.",
|
||||||
"install_devices_macos_list_3": "Абярыце першае падлучэнне ў спісе і націсніце кнопку «Дадаткова».",
|
"install_devices_macos_list_3": "Абярыце першае падлучэнне ў спісе і націсніце кнопку «Дадаткова».",
|
||||||
@@ -352,7 +356,7 @@
|
|||||||
"install_devices_android_list_5": "Зараз можна змяніць палі «DNS 1» і «DNS 2». Увядзіце ў іх адрасы AdGuard Home.",
|
"install_devices_android_list_5": "Зараз можна змяніць палі «DNS 1» і «DNS 2». Увядзіце ў іх адрасы AdGuard Home.",
|
||||||
"install_devices_ios_list_1": "Увайдзіце ў меню налад прылады.",
|
"install_devices_ios_list_1": "Увайдзіце ў меню налад прылады.",
|
||||||
"install_devices_ios_list_2": "Абярыце пункт «Wi-Fi» (для мабільных сетак ручная наладка DNS немагчыма).",
|
"install_devices_ios_list_2": "Абярыце пункт «Wi-Fi» (для мабільных сетак ручная наладка DNS немагчыма).",
|
||||||
"install_devices_ios_list_3": "Націсніце на назву сетцы, да якой прылада падлучана ў дадзены момант.",
|
"install_devices_ios_list_3": "Націсніце на назву актыўнай у дадзены момант сеткі.",
|
||||||
"install_devices_ios_list_4": "У поле «DNS» увядзіце ўвядзіце адрасы AdGuard Home.",
|
"install_devices_ios_list_4": "У поле «DNS» увядзіце ўвядзіце адрасы AdGuard Home.",
|
||||||
"get_started": "Паехалі",
|
"get_started": "Паехалі",
|
||||||
"next": "Далей",
|
"next": "Далей",
|
||||||
@@ -363,7 +367,7 @@
|
|||||||
"encryption_config_saved": "Налады шыфравання захаваны",
|
"encryption_config_saved": "Налады шыфравання захаваны",
|
||||||
"encryption_server": "Імя сервера",
|
"encryption_server": "Імя сервера",
|
||||||
"encryption_server_enter": "Увядзіце ваша даменавае імя",
|
"encryption_server_enter": "Увядзіце ваша даменавае імя",
|
||||||
"encryption_server_desc": "Для выкарыстання HTTPS вам трэба ўвесці імя сервера, якое падыходзіць вашаму SSL-сертыфікату.",
|
"encryption_server_desc": "Калі ўстаноўлена, AdGuard Home вызначае ClientID, адказвае на запыты DDR і выконвае дадатковыя праверкі злучэння. Калі не ўстаноўлена, гэтыя функцыі адключаны. Павінна адпавядаць аднаму з імёнаў DNS у сертыфікаце.",
|
||||||
"encryption_redirect": "Аўтаматычна перанакіроўваць на HTTPS",
|
"encryption_redirect": "Аўтаматычна перанакіроўваць на HTTPS",
|
||||||
"encryption_redirect_desc": "Калі ўлучана, AdGuard Home будзе аўтаматычна перанакіроўваць вас з HTTP на HTTPS адрас.",
|
"encryption_redirect_desc": "Калі ўлучана, AdGuard Home будзе аўтаматычна перанакіроўваць вас з HTTP на HTTPS адрас.",
|
||||||
"encryption_https": "Порт HTTPS",
|
"encryption_https": "Порт HTTPS",
|
||||||
@@ -389,6 +393,7 @@
|
|||||||
"encryption_issuer": "Выдавец",
|
"encryption_issuer": "Выдавец",
|
||||||
"encryption_hostnames": "Імёны хастоў",
|
"encryption_hostnames": "Імёны хастоў",
|
||||||
"encryption_reset": "Вы ўпэўнены, што хочаце скінуць налады шыфравання?",
|
"encryption_reset": "Вы ўпэўнены, што хочаце скінуць налады шыфравання?",
|
||||||
|
"encryption_warning": "Папярэджанне",
|
||||||
"topline_expiring_certificate": "Ваш SSL-сертыфікат хутка мінае. Абновіце <0>Налады шыфравання</0>.",
|
"topline_expiring_certificate": "Ваш SSL-сертыфікат хутка мінае. Абновіце <0>Налады шыфравання</0>.",
|
||||||
"topline_expired_certificate": "Ваш SSL-сертыфікат мінуў. Абновіце <0>Налады шыфравання</0>.",
|
"topline_expired_certificate": "Ваш SSL-сертыфікат мінуў. Абновіце <0>Налады шыфравання</0>.",
|
||||||
"form_error_port_range": "Увядзіце нумар порта з інтэрвалу 80-65535",
|
"form_error_port_range": "Увядзіце нумар порта з інтэрвалу 80-65535",
|
||||||
@@ -429,11 +434,11 @@
|
|||||||
"form_client_name": "Увядзіце імя кліента",
|
"form_client_name": "Увядзіце імя кліента",
|
||||||
"name": "Назва",
|
"name": "Назва",
|
||||||
"client_global_settings": "Выкарыстаць глабальныя налады",
|
"client_global_settings": "Выкарыстаць глабальныя налады",
|
||||||
"client_deleted": "Кліент \"{{key}}\" паспяхова выдалены",
|
"client_deleted": "Кліент «{{key}}» паспяхова выдалены",
|
||||||
"client_added": "Кліент \"{{key}}\" паспяхова дададзены",
|
"client_added": "Кліент «{{key}}» паспяхова дададзены",
|
||||||
"client_updated": "Кліент \"{{key}}\" паспяхова абноўлены",
|
"client_updated": "Кліент «{{key}}» паспяхова абноўлены",
|
||||||
"clients_not_found": "Кліентаў не знойдзена",
|
"clients_not_found": "Кліентаў не знойдзена",
|
||||||
"client_confirm_delete": "Вы ўпэўнены, што хочаце выдаліць кліента \"{{key}}\"?",
|
"client_confirm_delete": "Вы ўпэўнены, што хочаце выдаліць кліента «{{key}}»?",
|
||||||
"list_confirm_delete": "Вы ўпэўнены, што хочаце выдаліць гэты спіс?",
|
"list_confirm_delete": "Вы ўпэўнены, што хочаце выдаліць гэты спіс?",
|
||||||
"auto_clients_title": "Кліенты (runtime)",
|
"auto_clients_title": "Кліенты (runtime)",
|
||||||
"auto_clients_desc": "Прылады, якіх няма ў спісе пастаянных кліентаў, якія ўсё яшчэ могуць выкарыстоўваць AdGuard Home",
|
"auto_clients_desc": "Прылады, якіх няма ў спісе пастаянных кліентаў, якія ўсё яшчэ могуць выкарыстоўваць AdGuard Home",
|
||||||
@@ -444,11 +449,12 @@
|
|||||||
"access_disallowed_title": "Забароненыя кліенты",
|
"access_disallowed_title": "Забароненыя кліенты",
|
||||||
"access_disallowed_desc": "Спіс CIDR, IP-адрасоў або <a>ClientID</a>. Калі ў гэтым спісе ёсць запісы, AdGuard Home выдаліць запыты ад гэтых кліентаў. Гэта поле ігнаруецца, калі ёсць запісы ў Дазволеныя кліенты.",
|
"access_disallowed_desc": "Спіс CIDR, IP-адрасоў або <a>ClientID</a>. Калі ў гэтым спісе ёсць запісы, AdGuard Home выдаліць запыты ад гэтых кліентаў. Гэта поле ігнаруецца, калі ёсць запісы ў Дазволеныя кліенты.",
|
||||||
"access_blocked_title": "Заблакаваныя дамены",
|
"access_blocked_title": "Заблакаваныя дамены",
|
||||||
"access_blocked_desc": "Не блытайце гэта з фільтрамі. AdGuard Home будзе ігнараваць DNS-запыты з гэтымі даменамі.",
|
"access_blocked_desc": "Не блытаць з фільтрамі. AdGuard Home выдаляе запыты DNS, якія адпавядаюць гэтым даменам, і гэтыя запыты нават не з'яўляюцца ў журнале запытаў. Вы можаце ўказаць дакладныя даменныя імёны, падстаноўныя знакі або правілы фільтрацыі URL-адрасоў, напрыклад, «example.org», «*.example.org» ці «||example.org^» адпаведна.",
|
||||||
"access_settings_saved": "Налады доступу паспяхова захаваны",
|
"access_settings_saved": "Налады доступу паспяхова захаваны",
|
||||||
"updates_checked": "Даступная новая версія AdGuard Home",
|
"updates_checked": "Даступная новая версія AdGuard Home",
|
||||||
"updates_version_equal": "Версія AdGuard Home актуальная",
|
"updates_version_equal": "Версія AdGuard Home актуальная",
|
||||||
"check_updates_now": "Праверыць абнаўленні",
|
"check_updates_now": "Праверыць абнаўленні",
|
||||||
|
"version_request_error": "Памылка пры праверцы наяўнасці абнаўленняў. Праверце ваша інтэрнэт-злучэнне.",
|
||||||
"dns_privacy": "Зашыфраваны DNS",
|
"dns_privacy": "Зашыфраваны DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Ужывайце радок <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Ужывайце радок <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Ужывайце радок <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Ужывайце радок <1>{{address}}</1>.",
|
||||||
@@ -467,11 +473,11 @@
|
|||||||
"setup_dns_privacy_other_5": "Вы можаце знайсці яшчэ варыянты <0>тут</0> і <1>тут</1>.",
|
"setup_dns_privacy_other_5": "Вы можаце знайсці яшчэ варыянты <0>тут</0> і <1>тут</1>.",
|
||||||
"setup_dns_privacy_ioc_mac": "Канфігурацыя для iOS і macOS",
|
"setup_dns_privacy_ioc_mac": "Канфігурацыя для iOS і macOS",
|
||||||
"setup_dns_notice": "Каб выкарыстоўваць <1>DNS-over-HTTPS</1> ці <1>DNS-over-TLS</1>, вам патрэбна <0>наладзіць шыфраванне</0> у наладах AdGuard Home.",
|
"setup_dns_notice": "Каб выкарыстоўваць <1>DNS-over-HTTPS</1> ці <1>DNS-over-TLS</1>, вам патрэбна <0>наладзіць шыфраванне</0> у наладах AdGuard Home.",
|
||||||
"rewrite_added": "Правіла перанакіравання DNS для \"{{key}}\" паспяхова дададзена",
|
"rewrite_added": "Правіла перанакіравання DNS для «{{key}}» паспяхова дададзена",
|
||||||
"rewrite_deleted": "Правіла перанакіравання DNS для \"{{key}}\" паспяхова выдалена",
|
"rewrite_deleted": "Правіла перанакіравання DNS для «{{key}}» паспяхова выдалена",
|
||||||
"rewrite_add": "Дадаць правіла перанакіравання DNS",
|
"rewrite_add": "Дадаць правіла перанакіравання DNS",
|
||||||
"rewrite_not_found": "Не знойдзена правілаў перанакіравання DNS",
|
"rewrite_not_found": "Не знойдзена правілаў перанакіравання DNS",
|
||||||
"rewrite_confirm_delete": "Вы ўпэўнены, што хочаце выдаліць правіла перанакіравання DNS для \"{{key}}\"?",
|
"rewrite_confirm_delete": "Вы ўпэўнены, што хочаце выдаліць правіла перанакіравання DNS для «{{key}}»?",
|
||||||
"rewrite_desc": "Дазваляе лёгка наладзіць карыстацкі DNS-адказ для пэўнага дамена.",
|
"rewrite_desc": "Дазваляе лёгка наладзіць карыстацкі DNS-адказ для пэўнага дамена.",
|
||||||
"rewrite_applied": "Ужыта правіла перанакіравання",
|
"rewrite_applied": "Ужыта правіла перанакіравання",
|
||||||
"rewrite_hosts_applied": "Перапісана па правіле файла hosts",
|
"rewrite_hosts_applied": "Перапісана па правіле файла hosts",
|
||||||
@@ -511,10 +517,10 @@
|
|||||||
"filter_updated": "Спіс паспяхова абноўлены",
|
"filter_updated": "Спіс паспяхова абноўлены",
|
||||||
"statistics_configuration": "Канфігурацыя статыстыкі",
|
"statistics_configuration": "Канфігурацыя статыстыкі",
|
||||||
"statistics_retention": "Захаванне статыстыкі",
|
"statistics_retention": "Захаванне статыстыкі",
|
||||||
"statistics_retention_desc": "Калі вы зменшыце значэнне інтэрвалу, некаторыя дадзеныя могуць быць згублены",
|
"statistics_retention_desc": "Калі вы паменшыце значэнне інтэрвалу, некаторыя даныя могуць быць страчаны",
|
||||||
"statistics_clear": "Ачысціць статыстыку",
|
"statistics_clear": "Ачысціць статыстыку",
|
||||||
"statistics_clear_confirm": "Вы ўпэўнены, што хочаце ачысціць статыстыку?",
|
"statistics_clear_confirm": "Вы ўпэўнены, што хочаце ачысціць статыстыку?",
|
||||||
"statistics_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання статыстыкі? Пры скарачэнні інтэрвалу дадзеныя могуць быць згублены",
|
"statistics_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання статыстыкі? Пры памяншэнні інтэрвалу, некаторыя даныя могуць быць страчаны",
|
||||||
"statistics_cleared": "Статыстыка паспяхова вычышчана",
|
"statistics_cleared": "Статыстыка паспяхова вычышчана",
|
||||||
"statistics_enable": "Уключыць статыстыку",
|
"statistics_enable": "Уключыць статыстыку",
|
||||||
"interval_hours": "{{count}} гадзіна",
|
"interval_hours": "{{count}} гадзіна",
|
||||||
@@ -552,7 +558,7 @@
|
|||||||
"disable_ipv6_desc": "Калі гэта опцыя ўлучана, усе DNS-запыты адрасоў IPv6 (тып AAAA) будуць ігнаравацца.",
|
"disable_ipv6_desc": "Калі гэта опцыя ўлучана, усе DNS-запыты адрасоў IPv6 (тып AAAA) будуць ігнаравацца.",
|
||||||
"fastest_addr": "Найхуткі IP-адрас",
|
"fastest_addr": "Найхуткі IP-адрас",
|
||||||
"fastest_addr_desc": "Апытайце ўсе DNS-серверы і вярніце самы хуткі IP-адрас сярод усіх адказаў. Гэта замарудзіць выкананне DNS-запытаў, бо нам давядзецца чакаць адказаў ад усіх DNS-сервераў, але палепшыць агульную ўзаемасувязь.",
|
"fastest_addr_desc": "Апытайце ўсе DNS-серверы і вярніце самы хуткі IP-адрас сярод усіх адказаў. Гэта замарудзіць выкананне DNS-запытаў, бо нам давядзецца чакаць адказаў ад усіх DNS-сервераў, але палепшыць агульную ўзаемасувязь.",
|
||||||
"autofix_warning_text": "Пры націску \"Выправіць\" AdGuard Home наладзіць вашу сістэму на выкарыстанне DNS-сервера AdGuard Home.",
|
"autofix_warning_text": "Пры націску «Выправіць» AdGuard Home наладзіць вашу сістэму на выкарыстанне DNS-сервера AdGuard Home.",
|
||||||
"autofix_warning_list": "Будуць выконвацца наступныя заданні: <0>Дэактываваць сістэмны DNSStubListener</0> <0>Усталяваць адрас сервера DNS на 127.0.0.1</0> <0>Стварыць сімвалічную спасылку /etc/resolv.conf на /run/systemd/resolve/resolv.conf</0> <0>Спыніць DNSStubListener (перазагрузіць сістэмную службу)</0>.",
|
"autofix_warning_list": "Будуць выконвацца наступныя заданні: <0>Дэактываваць сістэмны DNSStubListener</0> <0>Усталяваць адрас сервера DNS на 127.0.0.1</0> <0>Стварыць сімвалічную спасылку /etc/resolv.conf на /run/systemd/resolve/resolv.conf</0> <0>Спыніць DNSStubListener (перазагрузіць сістэмную службу)</0>.",
|
||||||
"autofix_warning_result": "У выніку ўсе DNS-запыты ад вашай сістэмы будуць па змаўчанні апрацоўвацца AdGuard Home.\n",
|
"autofix_warning_result": "У выніку ўсе DNS-запыты ад вашай сістэмы будуць па змаўчанні апрацоўвацца AdGuard Home.\n",
|
||||||
"tags_title": "Тэгі",
|
"tags_title": "Тэгі",
|
||||||
@@ -562,7 +568,7 @@
|
|||||||
"check_desc": "Праверыць фільтрацыю імя хаста",
|
"check_desc": "Праверыць фільтрацыю імя хаста",
|
||||||
"check": "Праверыць",
|
"check": "Праверыць",
|
||||||
"form_enter_host": "Увядзіце імя хаста",
|
"form_enter_host": "Увядзіце імя хаста",
|
||||||
"filtered_custom_rules": "Адфільтраваны з дапамогай карыстацкіх правілаў фільтрацыі",
|
"filtered_custom_rules": "Адфільтраваны з дапамогай карыстальніцкіх правіл фільтрацыі",
|
||||||
"choose_from_list": "Абраць са спіса",
|
"choose_from_list": "Абраць са спіса",
|
||||||
"add_custom_list": "Дадаць свой спіс",
|
"add_custom_list": "Дадаць свой спіс",
|
||||||
"host_whitelisted": "Хост занесены ў белы спіс",
|
"host_whitelisted": "Хост занесены ў белы спіс",
|
||||||
@@ -572,10 +578,10 @@
|
|||||||
"check_service": "Назва сэрвісу: {{service}}",
|
"check_service": "Назва сэрвісу: {{service}}",
|
||||||
"service_name": "Назва сэрвіса",
|
"service_name": "Назва сэрвіса",
|
||||||
"check_not_found": "Не знойдзена ў вашым спісе фільтраў",
|
"check_not_found": "Не знойдзена ў вашым спісе фільтраў",
|
||||||
"client_confirm_block": "Вы ўпэўнены, што хочаце заблакаваць кліента \"{{ip}}\"?",
|
"client_confirm_block": "Вы ўпэўнены, што хочаце заблакаваць кліента «{{ip}}»?",
|
||||||
"client_confirm_unblock": "Вы ўпэўнены, што хочаце адблакаваць кліента \"{{ip}}\"?",
|
"client_confirm_unblock": "Вы ўпэўнены, што хочаце адблакаваць кліента «{{ip}}»?",
|
||||||
"client_blocked": "Кліент \"{{ip}}\" паспяхова заблакаваны",
|
"client_blocked": "Кліент «{{ip}}» паспяхова заблакаваны",
|
||||||
"client_unblocked": "Кліент \"{{ip}}\" паспяхова адблакаваны",
|
"client_unblocked": "Кліент «{{ip}}» паспяхова адблакаваны",
|
||||||
"static_ip": "Статычны IP-адрас",
|
"static_ip": "Статычны IP-адрас",
|
||||||
"static_ip_desc": "AdGuard Home з'яўляецца серверам, таму для карэктнай працы яму патрэбен статычны IP-адрас. У адваротным выпадку, у нейкі момант ваш роўтар можа прысвоіць гэтай прыладзе іншы IP-адрас.",
|
"static_ip_desc": "AdGuard Home з'яўляецца серверам, таму для карэктнай працы яму патрэбен статычны IP-адрас. У адваротным выпадку, у нейкі момант ваш роўтар можа прысвоіць гэтай прыладзе іншы IP-адрас.",
|
||||||
"set_static_ip": "Усталяваць статычны IP-адрас",
|
"set_static_ip": "Усталяваць статычны IP-адрас",
|
||||||
@@ -592,7 +598,7 @@
|
|||||||
"show_blocked_responses": "Заблакавана",
|
"show_blocked_responses": "Заблакавана",
|
||||||
"show_whitelisted_responses": "Белы спіс",
|
"show_whitelisted_responses": "Белы спіс",
|
||||||
"show_processed_responses": "Апрацавана",
|
"show_processed_responses": "Апрацавана",
|
||||||
"blocked_safebrowsing": "Заблакавана згодна базе дадзеных Safe Browsing",
|
"blocked_safebrowsing": "Заблакіравана згодна з базай даных Safe Browsing",
|
||||||
"blocked_adult_websites": "Заблакавана Бацькоўскім кантролем",
|
"blocked_adult_websites": "Заблакавана Бацькоўскім кантролем",
|
||||||
"blocked_threats": "Заблакавана пагроз",
|
"blocked_threats": "Заблакавана пагроз",
|
||||||
"allowed": "Дазволены",
|
"allowed": "Дазволены",
|
||||||
@@ -602,7 +608,7 @@
|
|||||||
"blocklist": "Чорны спіс",
|
"blocklist": "Чорны спіс",
|
||||||
"milliseconds_abbreviation": "мс",
|
"milliseconds_abbreviation": "мс",
|
||||||
"cache_size": "Памер кэша",
|
"cache_size": "Памер кэша",
|
||||||
"cache_size_desc": "Памер кэша DNS (у байтах).",
|
"cache_size_desc": "Памер кэша DNS (у байтах). Каб адключыць кэшаванне, пакіньце пустым.",
|
||||||
"cache_ttl_min_override": "Перавызначыць мінімальны TTL",
|
"cache_ttl_min_override": "Перавызначыць мінімальны TTL",
|
||||||
"cache_ttl_max_override": "Перавызначыць максімальны TTL",
|
"cache_ttl_max_override": "Перавызначыць максімальны TTL",
|
||||||
"enter_cache_size": "Увядзіце памер кэша (байты)",
|
"enter_cache_size": "Увядзіце памер кэша (байты)",
|
||||||
@@ -624,7 +630,7 @@
|
|||||||
"setup_config_to_enable_dhcp_server": "Наладзіць канфігурацыю для ўключэння DHCP-сервера",
|
"setup_config_to_enable_dhcp_server": "Наладзіць канфігурацыю для ўключэння DHCP-сервера",
|
||||||
"original_response": "Першапачатковы адказ",
|
"original_response": "Першапачатковы адказ",
|
||||||
"click_to_view_queries": "Націсніце, каб прагледзець запыты",
|
"click_to_view_queries": "Націсніце, каб прагледзець запыты",
|
||||||
"port_53_faq_link": "Порт 53 часта заняты службамі \"DNSStubListener\" ці \"systemd-resolved\". Азнаёмцеся з <0>інструкцыяй</0> пра тое, як гэта дазволіць.",
|
"port_53_faq_link": "Порт 53 часта заняты службамі «DNSStubListener» ці «systemd-resolved». Азнаёмцеся з <0>інструкцыяй</0> пра тое, як гэта дазволіць.",
|
||||||
"adg_will_drop_dns_queries": "AdGuard Home скіне ўсе DNS-запыты ад гэтага кліента.",
|
"adg_will_drop_dns_queries": "AdGuard Home скіне ўсе DNS-запыты ад гэтага кліента.",
|
||||||
"filter_allowlist": "УВАГА: Гэта дзеянне таксама выключыць правіла «{{disallowed_rule}}» са спіса дазволеных кліентаў.",
|
"filter_allowlist": "УВАГА: Гэта дзеянне таксама выключыць правіла «{{disallowed_rule}}» са спіса дазволеных кліентаў.",
|
||||||
"last_rule_in_allowlist": "Няможна заблакаваць гэтага кліента, бо вынятак правіла «{{disallowed_rule}}» АДКЛЮЧЫЦЬ рэжым белага спіса.",
|
"last_rule_in_allowlist": "Няможна заблакаваць гэтага кліента, бо вынятак правіла «{{disallowed_rule}}» АДКЛЮЧЫЦЬ рэжым белага спіса.",
|
||||||
@@ -632,5 +638,10 @@
|
|||||||
"parental_control": "Бацькоўскі кантроль",
|
"parental_control": "Бацькоўскі кантроль",
|
||||||
"safe_browsing": "Бяспечны інтэрнэт",
|
"safe_browsing": "Бяспечны інтэрнэт",
|
||||||
"served_from_cache": "{{value}} <i>(атрымана з кэша)</i>",
|
"served_from_cache": "{{value}} <i>(атрымана з кэша)</i>",
|
||||||
"form_error_password_length": "Пароль павінен быць не менш за {{value}} сімвалаў"
|
"form_error_password_length": "Пароль павінен быць не менш за {{value}} сімвалаў",
|
||||||
|
"anonymizer_notification": "<0>Заўвага:</0> Ананімізацыя IP уключана. Вы можаце адключыць яе ў <1>Агульных наладах</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Вы ўпэўнены, што хочаце ачысціць кэш DNS?",
|
||||||
|
"cache_cleared": "Кэш DNS паспяхова ачышчаны",
|
||||||
|
"clear_cache": "Ачысціць кэш",
|
||||||
|
"protection_section_label": "Ахова"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -244,6 +244,7 @@
|
|||||||
"encryption_issuer": "Изпълнител",
|
"encryption_issuer": "Изпълнител",
|
||||||
"encryption_hostnames": "Имена на хоста",
|
"encryption_hostnames": "Имена на хоста",
|
||||||
"encryption_reset": "Сигурни ли сте че искате да изтриете настройките за криптиране?",
|
"encryption_reset": "Сигурни ли сте че искате да изтриете настройките за криптиране?",
|
||||||
|
"encryption_warning": "Внимание",
|
||||||
"topline_expiring_certificate": "Вашият SSL сертификат изтича. Обнови <0>Настройки за криптиране</0>.",
|
"topline_expiring_certificate": "Вашият SSL сертификат изтича. Обнови <0>Настройки за криптиране</0>.",
|
||||||
"topline_expired_certificate": "Вашият SSL сертификат е изтекъл. Обнови <0>Настройки за криптиране</0>.",
|
"topline_expired_certificate": "Вашият SSL сертификат е изтекъл. Обнови <0>Настройки за криптиране</0>.",
|
||||||
"form_error_port_range": "Въведете порт в диапазона 80-65535",
|
"form_error_port_range": "Въведете порт в диапазона 80-65535",
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Nastavení DHCP IPv6",
|
"dhcp_ipv6_settings": "Nastavení DHCP IPv6",
|
||||||
"form_error_required": "Povinné pole",
|
"form_error_required": "Povinné pole",
|
||||||
"form_error_ip4_format": "Neplatná adresa IPv4",
|
"form_error_ip4_format": "Neplatná adresa IPv4",
|
||||||
"form_error_ip4_range_start_format": "Neplatná adresa IPv4 na začátku rozsahu",
|
|
||||||
"form_error_ip4_range_end_format": "Neplatná adresa IPv4 na konci rozsahu",
|
|
||||||
"form_error_ip4_gateway_format": "Neplatná adresa IPv4 brány",
|
"form_error_ip4_gateway_format": "Neplatná adresa IPv4 brány",
|
||||||
"form_error_ip6_format": "Neplatná adresa IPv6",
|
"form_error_ip6_format": "Neplatná adresa IPv6",
|
||||||
"form_error_ip_format": "Neplatná IP adresa",
|
"form_error_ip_format": "Neplatná IP adresa",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Musí být mimo rozsah \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Musí být mimo rozsah \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Musí být menší než začátek rozsahu",
|
"lower_range_start_error": "Musí být menší než začátek rozsahu",
|
||||||
"greater_range_start_error": "Musí být větší než začátek rozsahu",
|
"greater_range_start_error": "Musí být větší než začátek rozsahu",
|
||||||
"greater_range_end_error": "Musí být větší než konec rozsahu",
|
|
||||||
"subnet_error": "Adresy musí být v jedné podsíti",
|
"subnet_error": "Adresy musí být v jedné podsíti",
|
||||||
"gateway_or_subnet_invalid": "Neplatná maska podsítě",
|
"gateway_or_subnet_invalid": "Neplatná maska podsítě",
|
||||||
"dhcp_form_gateway_input": "IP brána",
|
"dhcp_form_gateway_input": "IP brána",
|
||||||
@@ -168,8 +165,9 @@
|
|||||||
"enabled_safe_browsing_toast": "Zapnuté bezpečné prohlížení",
|
"enabled_safe_browsing_toast": "Zapnuté bezpečné prohlížení",
|
||||||
"disabled_parental_toast": "Vypnutá Rodičovská kontrola",
|
"disabled_parental_toast": "Vypnutá Rodičovská kontrola",
|
||||||
"enabled_parental_toast": "Zapnutá Rodičovská kontrola",
|
"enabled_parental_toast": "Zapnutá Rodičovská kontrola",
|
||||||
"disabled_safe_search_toast": "Zapnuté bezpečné vyhledávání",
|
"disabled_safe_search_toast": "Vypnuté bezpečné vyhledávání",
|
||||||
"enabled_save_search_toast": "Vypnuté bezpečné vyhledávání",
|
"enabled_save_search_toast": "Zapnuté bezpečné vyhledávání",
|
||||||
|
"updated_save_search_toast": "Nastavení Bezpečného vyhledávání aktualizováno",
|
||||||
"enabled_table_header": "Zapnuto",
|
"enabled_table_header": "Zapnuto",
|
||||||
"name_table_header": "Název",
|
"name_table_header": "Název",
|
||||||
"list_url_table_header": "Seznam URL",
|
"list_url_table_header": "Seznam URL",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Také komentář.",
|
"example_comment_hash": "# Také komentář.",
|
||||||
"example_regex_meaning": "blokuje přístup doménám, které vyhovují regulárnímu výrazu.",
|
"example_regex_meaning": "blokuje přístup doménám, které vyhovují regulárnímu výrazu.",
|
||||||
"example_upstream_regular": "obvyklý DNS (přes UDP);",
|
"example_upstream_regular": "obvyklý DNS (přes UDP);",
|
||||||
|
"example_upstream_regular_port": "obvyklý DNS (skrze UDP, s portem);",
|
||||||
"example_upstream_udp": "obvyklý DNS (skrze UDP, název hostitele);",
|
"example_upstream_udp": "obvyklý DNS (skrze UDP, název hostitele);",
|
||||||
"example_upstream_dot": "šifrovaný <0>DNS skrze TLS</0>;",
|
"example_upstream_dot": "šifrovaný <0>DNS skrze TLS</0>;",
|
||||||
"example_upstream_doh": "šifrovaný <0>DNS skrze HTTPS</0>;",
|
"example_upstream_doh": "šifrovaný <0>DNS skrze HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "šifrovaný DNS skrze HTTPS s vynuceným <0>HTTP/3</0> a bez možnosti zpětného přechodu na HTTP/2 nebo nižší;",
|
||||||
"example_upstream_doq": "šifrovaný <0>DNS skrze QUIC</0>;",
|
"example_upstream_doq": "šifrovaný <0>DNS skrze QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS razítka</0> pro <1>DNSCrypt</1> nebo <2>DNS skrze HTTPS</2> řešitele;",
|
"example_upstream_sdns": "<0>DNS razítka</0> pro <1>DNSCrypt</1> nebo <2>DNS skrze HTTPS</2> řešitele;",
|
||||||
"example_upstream_tcp": "obvyklý DNS (přes TCP);",
|
"example_upstream_tcp": "obvyklý DNS (přes TCP);",
|
||||||
|
"example_upstream_tcp_port": "obvyklý DNS (skrze TCP, s portem);",
|
||||||
"example_upstream_tcp_hostname": "obvyklý DNS (skrze TCP, název hostitele);",
|
"example_upstream_tcp_hostname": "obvyklý DNS (skrze TCP, název hostitele);",
|
||||||
"all_lists_up_to_date_toast": "Všechny seznamy jsou již aktuální",
|
"all_lists_up_to_date_toast": "Všechny seznamy jsou již aktuální",
|
||||||
"updated_upstream_dns_toast": "Odchozí servery byly úspěšně uloženy",
|
"updated_upstream_dns_toast": "Odchozí servery byly úspěšně uloženy",
|
||||||
"dns_test_ok_toast": "Specifikované DNS servery pracují správně",
|
"dns_test_ok_toast": "Specifikované DNS servery pracují správně",
|
||||||
"dns_test_not_ok_toast": "Server \"{{key}}\": nemohl být použit, zkontrolujte, zda jste ho správně napsali",
|
"dns_test_not_ok_toast": "Server \"{{key}}\": nemohl být použit, zkontrolujte, zda jste ho správně napsali",
|
||||||
|
"dns_test_warning_toast": "Upstream \"{{key}}\" neodpovídá na testovací požadavky a nemusí fungovat správně",
|
||||||
"unblock": "Odblokovat",
|
"unblock": "Odblokovat",
|
||||||
"block": "Blokovat",
|
"block": "Blokovat",
|
||||||
"disallow_this_client": "Blokovat tohoto klienta",
|
"disallow_this_client": "Blokovat tohoto klienta",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "Protokol dotazů byl úspěšně vymazán",
|
"query_log_cleared": "Protokol dotazů byl úspěšně vymazán",
|
||||||
"query_log_updated": "Protokol dotazů byl úspěšně aktualizován",
|
"query_log_updated": "Protokol dotazů byl úspěšně aktualizován",
|
||||||
"query_log_clear": "Vymazat protokoly dotazů",
|
"query_log_clear": "Vymazat protokoly dotazů",
|
||||||
"query_log_retention": "Uchování protokolů dotazů",
|
"query_log_retention": "Rotace protokolů dotazů",
|
||||||
"query_log_enable": "Povolit protokol",
|
"query_log_enable": "Povolit protokol",
|
||||||
"query_log_configuration": "Konfigurace protokolů",
|
"query_log_configuration": "Konfigurace protokolů",
|
||||||
"query_log_disabled": "Protokol dotazu je zakázán a lze jej nakonfigurovat v <0>nastavení</0>",
|
"query_log_disabled": "Protokol dotazu je zakázán a lze jej nakonfigurovat v <0>nastavení</0>",
|
||||||
"query_log_strict_search": "Pro striktní vyhledávání použijte dvojité uvozovky",
|
"query_log_strict_search": "Pro striktní vyhledávání použijte dvojité uvozovky",
|
||||||
"query_log_retention_confirm": "Opravdu chcete změnit uchovávání protokolu dotazů? Pokud snížíte hodnotu intervalu, některá data budou ztracena",
|
"query_log_retention_confirm": "Opravdu chcete změnit rotaci protokolu dotazů? Pokud snížíte hodnotu intervalu, některá data budou ztracena",
|
||||||
"anonymize_client_ip": "Anonymizovat IP klienta",
|
"anonymize_client_ip": "Anonymizovat IP klienta",
|
||||||
"anonymize_client_ip_desc": "Neukládat úplnou IP adresu klienta do protokolů a statistik",
|
"anonymize_client_ip_desc": "Neukládat úplnou IP adresu klienta do protokolů a statistik",
|
||||||
"dns_config": "Konfigurace DNS serveru",
|
"dns_config": "Konfigurace DNS serveru",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Rychlostní limit",
|
"rate_limit": "Rychlostní limit",
|
||||||
"edns_enable": "Povolit klientskou podsíť EDNS",
|
"edns_enable": "Povolit klientskou podsíť EDNS",
|
||||||
"edns_cs_desc": "Přidá možnost podsítě klienta EDNS (ECS) do odchozích požadavků a zaznamá hodnoty odeslané klienty do protokolu dotazů.",
|
"edns_cs_desc": "Přidá možnost podsítě klienta EDNS (ECS) do odchozích požadavků a zaznamá hodnoty odeslané klienty do protokolu dotazů.",
|
||||||
|
"edns_use_custom_ip": "Použít vlastní IP pro EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Povolit použití vlastní IP pro EDNS",
|
||||||
"rate_limit_desc": "Počet požadavků za sekundu, které smí jeden klient provádět (0: neomezeno)",
|
"rate_limit_desc": "Počet požadavků za sekundu, které smí jeden klient provádět (0: neomezeno)",
|
||||||
"blocking_ipv4_desc": "IP adresa, která se má vrátit v případě blokovaného požadavku typu A",
|
"blocking_ipv4_desc": "IP adresa, která se má vrátit v případě blokovaného požadavku typu A",
|
||||||
"blocking_ipv6_desc": "IP adresa, která se má vrátit v případě blokovaného požadavku typu AAAA",
|
"blocking_ipv6_desc": "IP adresa, která se má vrátit v případě blokovaného požadavku typu AAAA",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Odezva s kódem NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Odezva s kódem NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "Nulová IP: Odezva s nulovou IP adresou (0.0.0.0 pro A; :: pro AAAA)",
|
"blocking_mode_null_ip": "Nulová IP: Odezva s nulovou IP adresou (0.0.0.0 pro A; :: pro AAAA)",
|
||||||
"blocking_mode_custom_ip": "Vlastní IP. odezva s ručně nastavenou IP adresou",
|
"blocking_mode_custom_ip": "Vlastní IP. odezva s ručně nastavenou IP adresou",
|
||||||
|
"theme_auto": "Autom.",
|
||||||
|
"theme_light": "Světlý",
|
||||||
|
"theme_dark": "Tmavý",
|
||||||
"upstream_dns_client_desc": "Pokud toto pole ponecháte prázdné, AdGuard Home použije servery nakonfigurované v<0>DNS nastavení</0>.",
|
"upstream_dns_client_desc": "Pokud toto pole ponecháte prázdné, AdGuard Home použije servery nakonfigurované v<0>DNS nastavení</0>.",
|
||||||
"tracker_source": "Zdroj slídiče",
|
"tracker_source": "Zdroj slídiče",
|
||||||
"source_label": "Zdroj",
|
"source_label": "Zdroj",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Konfigurace šifrování byla uložena",
|
"encryption_config_saved": "Konfigurace šifrování byla uložena",
|
||||||
"encryption_server": "Název serveru",
|
"encryption_server": "Název serveru",
|
||||||
"encryption_server_enter": "Zadejte název domény",
|
"encryption_server_enter": "Zadejte název domény",
|
||||||
"encryption_server_desc": "Abyste mohli používat HTTPS, musíte zadat název serveru, který odpovídá vašemu certifikátu SSL nebo zástupnému certifikátu. Pokud není pole nastaveno, bude přijímat připojení TLS pro libovolnou doménu.",
|
"encryption_server_desc": "Pokud je nastaveno, AdGuard Home detekuje ClientID, odpovídá na dotazy DDR a provádí další ověření připojení. Pokud není nastaveno, jsou tyto funkce vypnuty. Musí odpovídat jednomu z názvů DNS v certifikátu.",
|
||||||
"encryption_redirect": "Automaticky přesměrovat na HTTPS",
|
"encryption_redirect": "Automaticky přesměrovat na HTTPS",
|
||||||
"encryption_redirect_desc": "Pokud je zaškrtnuto, AdGuard Home vás automaticky přesměruje z adres HTTP na HTTPS.",
|
"encryption_redirect_desc": "Pokud je zaškrtnuto, AdGuard Home vás automaticky přesměruje z adres HTTP na HTTPS.",
|
||||||
"encryption_https": "HTTPS port",
|
"encryption_https": "HTTPS port",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Vydavatel",
|
"encryption_issuer": "Vydavatel",
|
||||||
"encryption_hostnames": "Názvy hostitelů",
|
"encryption_hostnames": "Názvy hostitelů",
|
||||||
"encryption_reset": "Opravdu chcete obnovit nastavení šifrování?",
|
"encryption_reset": "Opravdu chcete obnovit nastavení šifrování?",
|
||||||
|
"encryption_warning": "Varování",
|
||||||
"topline_expiring_certificate": "Váš SSL certifikát brzy vyprší. Aktualizujte <0>Nastavení šifrování</0>.",
|
"topline_expiring_certificate": "Váš SSL certifikát brzy vyprší. Aktualizujte <0>Nastavení šifrování</0>.",
|
||||||
"topline_expired_certificate": "Váš SSL certifikát vypršel. Aktualizujte <0>Nastavení šifrování</0>.",
|
"topline_expired_certificate": "Váš SSL certifikát vypršel. Aktualizujte <0>Nastavení šifrování</0>.",
|
||||||
"form_error_port_range": "Zadejte číslo portu v rozmezí 80-65535",
|
"form_error_port_range": "Zadejte číslo portu v rozmezí 80-65535",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "Nová verze AdGuard Home je k dispozici\n",
|
"updates_checked": "Nová verze AdGuard Home je k dispozici\n",
|
||||||
"updates_version_equal": "AdGuard Home je aktuální",
|
"updates_version_equal": "AdGuard Home je aktuální",
|
||||||
"check_updates_now": "Zkontrolovat aktualizace nyní",
|
"check_updates_now": "Zkontrolovat aktualizace nyní",
|
||||||
|
"version_request_error": "Kontrola aktualizace se nezdařila. Zkontrolujte prosím připojení k Internetu.",
|
||||||
"dns_privacy": "Soukromí DNS",
|
"dns_privacy": "Soukromí DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS skrze TLS:</0> Použít <1>{{address}}</1> řetězec.",
|
"setup_dns_privacy_1": "<0>DNS skrze TLS:</0> Použít <1>{{address}}</1> řetězec.",
|
||||||
"setup_dns_privacy_2": "<0>DNS skrze HTTPS:</0> Použít <1>{{address}}</1> řetězec.",
|
"setup_dns_privacy_2": "<0>DNS skrze HTTPS:</0> Použít <1>{{address}}</1> řetězec.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Opravdu chcete změnit uchovávání statistik? Pokud snížíte hodnotu intervalu, některá data budou ztracena",
|
"statistics_retention_confirm": "Opravdu chcete změnit uchovávání statistik? Pokud snížíte hodnotu intervalu, některá data budou ztracena",
|
||||||
"statistics_cleared": "Statistiky úspěšně vyčištěny",
|
"statistics_cleared": "Statistiky úspěšně vyčištěny",
|
||||||
"statistics_enable": "Povolit statistiky",
|
"statistics_enable": "Povolit statistiky",
|
||||||
|
"ignore_domains": "Ignorované domény (oddělené novým řádkem)",
|
||||||
|
"ignore_domains_title": "Ignorované domény",
|
||||||
|
"ignore_domains_desc_stats": "Dotazy pro tyto domény se do statistik nezapisují",
|
||||||
|
"ignore_domains_desc_query": "Dotazy pro tyto domény se do záznamu dotazů nezapisují",
|
||||||
"interval_hours": "Hodiny: {{count}}",
|
"interval_hours": "Hodiny: {{count}}",
|
||||||
"interval_hours_plural": "Hodiny: {{count}}",
|
"interval_hours_plural": "Hodiny: {{count}}",
|
||||||
"filters_configuration": "Konfigurace filtrů",
|
"filters_configuration": "Konfigurace filtrů",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Zakázaný",
|
"blocklist": "Zakázaný",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Velikost mezipaměti",
|
"cache_size": "Velikost mezipaměti",
|
||||||
"cache_size_desc": "Velikost mezipaměti DNS (v bajtech).",
|
"cache_size_desc": "Velikost mezipaměti DNS (v bajtech). Chcete-li ukládání do mezipaměti zakázat, ponechte prázdné.",
|
||||||
"cache_ttl_min_override": "Přepsat minimální hodnotu TTL",
|
"cache_ttl_min_override": "Přepsat minimální hodnotu TTL",
|
||||||
"cache_ttl_max_override": "Přepsat maximální hodnotu TTL",
|
"cache_ttl_max_override": "Přepsat maximální hodnotu TTL",
|
||||||
"enter_cache_size": "Zadejte velikost mezipaměti (v bajtech)",
|
"enter_cache_size": "Zadejte velikost mezipaměti (v bajtech)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Rodičovská ochrana",
|
"parental_control": "Rodičovská ochrana",
|
||||||
"safe_browsing": "Bezpečné prohlížení",
|
"safe_browsing": "Bezpečné prohlížení",
|
||||||
"served_from_cache": "{{value}} <i>(převzato z mezipaměti)</i>",
|
"served_from_cache": "{{value}} <i>(převzato z mezipaměti)</i>",
|
||||||
"form_error_password_length": "Heslo musí být alespoň {{value}} znaků dlouhé"
|
"form_error_password_length": "Heslo musí být alespoň {{value}} znaků dlouhé",
|
||||||
|
"anonymizer_notification": "<0>Poznámka:</0> Anonymizace IP je zapnuta. Můžete ji vypnout v <1>Obecných nastaveních</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Opravdu chcete vymazat mezipaměť DNS?",
|
||||||
|
"cache_cleared": "Mezipaměť DNS úspěšně vymazána",
|
||||||
|
"clear_cache": "Vymazat mezipaměť",
|
||||||
|
"make_static": "Nastavit jako statickou",
|
||||||
|
"theme_auto_desc": "Automatický (podle barevného motivu vašeho zařízení)",
|
||||||
|
"theme_dark_desc": "Tmavý motiv",
|
||||||
|
"theme_light_desc": "Světlý motiv",
|
||||||
|
"disable_for_seconds": "Na {{count}} sek.",
|
||||||
|
"disable_for_seconds_plural": "Na {{count}} sek.",
|
||||||
|
"disable_for_minutes": "Na {{count}} min.",
|
||||||
|
"disable_for_minutes_plural": "Na {{count}} min.",
|
||||||
|
"disable_for_hours": "Na {{count}} hod.",
|
||||||
|
"disable_for_hours_plural": "Na {{count}} hod.",
|
||||||
|
"disable_until_tomorrow": "Do zítřka",
|
||||||
|
"disable_notify_for_seconds": "Vypnout ochranu na {{count}} sek.",
|
||||||
|
"disable_notify_for_seconds_plural": "Vypnout ochranu na {{count}} sek.",
|
||||||
|
"disable_notify_for_minutes": "Vypnout ochranu na {{count}} min.",
|
||||||
|
"disable_notify_for_minutes_plural": "Vypnout ochranu na {{count}} min.",
|
||||||
|
"disable_notify_for_hours": "Vypnout ochranu na {{count}} hod.",
|
||||||
|
"disable_notify_for_hours_plural": "Vypnout ochranu na {{count}} hod.",
|
||||||
|
"disable_notify_until_tomorrow": "Vypnout ochranu do zítřka",
|
||||||
|
"enable_protection_timer": "Ochrana bude zapnuta za {{time}}",
|
||||||
|
"custom_retention_input": "Zadejte retenci v hodinách",
|
||||||
|
"custom_rotation_input": "Zadejte rotaci v hodinách",
|
||||||
|
"protection_section_label": "Ochrana",
|
||||||
|
"log_and_stats_section_label": "Protokol dotazů a statistiky",
|
||||||
|
"ignore_query_log": "Ignorovat tohoto klienta v protokolu dotazů",
|
||||||
|
"ignore_statistics": "Ignorovat tohoto klienta ve statistikách"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6-indstillinger",
|
"dhcp_ipv6_settings": "DHCP IPv6-indstillinger",
|
||||||
"form_error_required": "Obligatorisk felt",
|
"form_error_required": "Obligatorisk felt",
|
||||||
"form_error_ip4_format": "Ugyldig IPv4-adresse",
|
"form_error_ip4_format": "Ugyldig IPv4-adresse",
|
||||||
"form_error_ip4_range_start_format": "Ugyldig IPv4-startadresse for området",
|
|
||||||
"form_error_ip4_range_end_format": "Ugyldig IPv4-slutadresse for området",
|
|
||||||
"form_error_ip4_gateway_format": "Ugyldig IPv4 gateway-adresse",
|
"form_error_ip4_gateway_format": "Ugyldig IPv4 gateway-adresse",
|
||||||
"form_error_ip6_format": "Ugyldig IPv6-adresse",
|
"form_error_ip6_format": "Ugyldig IPv6-adresse",
|
||||||
"form_error_ip_format": "Ugyldig IP-adresse",
|
"form_error_ip_format": "Ugyldig IP-adresse",
|
||||||
@@ -47,12 +45,12 @@
|
|||||||
"form_error_server_name": "Ugyldigt servernavn",
|
"form_error_server_name": "Ugyldigt servernavn",
|
||||||
"form_error_subnet": "Undernet \"{{cidr}}\" indeholder ikke IP-adressen \"{{ip}}\"",
|
"form_error_subnet": "Undernet \"{{cidr}}\" indeholder ikke IP-adressen \"{{ip}}\"",
|
||||||
"form_error_positive": "Skal være større end 0",
|
"form_error_positive": "Skal være større end 0",
|
||||||
|
"form_error_gateway_ip": "Lease kan ikke have gatewayens IP-adresse",
|
||||||
"out_of_range_error": "Skal være uden for området \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Skal være uden for området \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Skal være mindre end starten på området",
|
"lower_range_start_error": "Skal være mindre end starten på området",
|
||||||
"greater_range_start_error": "Skal være større end starten på området",
|
"greater_range_start_error": "Skal være større end starten på området",
|
||||||
"greater_range_end_error": "Skal være større end områdeslutning",
|
|
||||||
"subnet_error": "Adresser ska være i ét undernet",
|
"subnet_error": "Adresser ska være i ét undernet",
|
||||||
"gateway_or_subnet_invalid": "Undernetmaske ugyldig",
|
"gateway_or_subnet_invalid": "Ugyldig undernetmaske",
|
||||||
"dhcp_form_gateway_input": "Gateway IP",
|
"dhcp_form_gateway_input": "Gateway IP",
|
||||||
"dhcp_form_subnet_input": "Undernetmaske",
|
"dhcp_form_subnet_input": "Undernetmaske",
|
||||||
"dhcp_form_range_title": "Interval af IP-adresser",
|
"dhcp_form_range_title": "Interval af IP-adresser",
|
||||||
@@ -169,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Forældrekontrol aktiveret",
|
"enabled_parental_toast": "Forældrekontrol aktiveret",
|
||||||
"disabled_safe_search_toast": "Sikker søgning deaktiveret",
|
"disabled_safe_search_toast": "Sikker søgning deaktiveret",
|
||||||
"enabled_save_search_toast": "Sikker søgning aktiveret",
|
"enabled_save_search_toast": "Sikker søgning aktiveret",
|
||||||
|
"updated_save_search_toast": "Sikker søgning opdateret",
|
||||||
"enabled_table_header": "Aktiveret",
|
"enabled_table_header": "Aktiveret",
|
||||||
"name_table_header": "Navn",
|
"name_table_header": "Navn",
|
||||||
"list_url_table_header": "Liste-URL",
|
"list_url_table_header": "Liste-URL",
|
||||||
@@ -210,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Også en kommentar.",
|
"example_comment_hash": "# Også en kommentar.",
|
||||||
"example_regex_meaning": "blokér adgang til domæner matchernde det angivne regulære udtryk",
|
"example_regex_meaning": "blokér adgang til domæner matchernde det angivne regulære udtryk",
|
||||||
"example_upstream_regular": "almindelig DNS (over UDP)",
|
"example_upstream_regular": "almindelig DNS (over UDP)",
|
||||||
|
"example_upstream_regular_port": "almindelig DNS (over UDP, med port);",
|
||||||
"example_upstream_udp": "almindelig DNS (over UDP, værtsnavn);",
|
"example_upstream_udp": "almindelig DNS (over UDP, værtsnavn);",
|
||||||
"example_upstream_dot": "krypteret <0>DNS-over-TLS</0>",
|
"example_upstream_dot": "krypteret <0>DNS-over-TLS</0>",
|
||||||
"example_upstream_doh": "krypteret <0>DNS-over-HTTPS</0>",
|
"example_upstream_doh": "krypteret <0>DNS-over-HTTPS</0>",
|
||||||
|
"example_upstream_doh3": "krypteret DNS-over-HTTPS med tvungen <0>HTTP/3</0> uden fallback til HTTP/2 eller lavere;",
|
||||||
"example_upstream_doq": "krypteret <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "krypteret <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> til <1>DNSCrypt</1> eller <2>DNS-over-HTTPS</2>-opløsere;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> til <1>DNSCrypt</1> eller <2>DNS-over-HTTPS</2>-opløsere;",
|
||||||
"example_upstream_tcp": "almindelig DNS (over TCP)",
|
"example_upstream_tcp": "almindelig DNS (over TCP)",
|
||||||
|
"example_upstream_tcp_port": "almindelig DNS (over TCP, med port);",
|
||||||
"example_upstream_tcp_hostname": "almindelig DNS (over TCP, værtsnavn);",
|
"example_upstream_tcp_hostname": "almindelig DNS (over TCP, værtsnavn);",
|
||||||
"all_lists_up_to_date_toast": "Alle lister er allerede opdaterede",
|
"all_lists_up_to_date_toast": "Alle lister er allerede opdaterede",
|
||||||
"updated_upstream_dns_toast": "Upstream-servere er gemt",
|
"updated_upstream_dns_toast": "Upstream-servere er gemt",
|
||||||
"dns_test_ok_toast": "Angivne DNS-servere fungerer korrekt",
|
"dns_test_ok_toast": "Angivne DNS-servere fungerer korrekt",
|
||||||
"dns_test_not_ok_toast": "Server \"{{key}}\": Kunne ikke bruges. Tjek, at du har angivet den korrekt",
|
"dns_test_not_ok_toast": "Server \"{{key}}\": Kunne ikke bruges. Tjek, at du har angivet den korrekt",
|
||||||
|
"dns_test_warning_toast": "Upstream \"{{key}}\" svarer ikke på testforespørgsler og fungerer muligvis ikke korrekt",
|
||||||
"unblock": "Afblokering",
|
"unblock": "Afblokering",
|
||||||
"block": "Blokering",
|
"block": "Blokering",
|
||||||
"disallow_this_client": "Afvis denne klient",
|
"disallow_this_client": "Afvis denne klient",
|
||||||
@@ -254,12 +257,12 @@
|
|||||||
"query_log_cleared": "Forespørgselsloggen er blevet ryddet",
|
"query_log_cleared": "Forespørgselsloggen er blevet ryddet",
|
||||||
"query_log_updated": "Forespørgselsloggen er blevet opdateret",
|
"query_log_updated": "Forespørgselsloggen er blevet opdateret",
|
||||||
"query_log_clear": "Ryd forespørgselslogfiler",
|
"query_log_clear": "Ryd forespørgselslogfiler",
|
||||||
"query_log_retention": "Opbevar forespørgselslogger i",
|
"query_log_retention": "Rotation af forespørgselslog",
|
||||||
"query_log_enable": "Aktivér log",
|
"query_log_enable": "Aktivér log",
|
||||||
"query_log_configuration": "Opsætning af logger",
|
"query_log_configuration": "Opsætning af logger",
|
||||||
"query_log_disabled": "Forespørgselsloggen er deaktiveret og kan opsættes i <0>indstillingerne</0>",
|
"query_log_disabled": "Forespørgselsloggen er deaktiveret og kan opsættes i <0>indstillingerne</0>",
|
||||||
"query_log_strict_search": "Brug dobbelt anførselstegn til stringent søgning",
|
"query_log_strict_search": "Brug dobbelt anførselstegn til stringent søgning",
|
||||||
"query_log_retention_confirm": "Sikker på, at du vil ændre forespørgselsloggens opbevaringperiode? Mindskes intervalværdien, mistes data",
|
"query_log_retention_confirm": "Sikker på, at forespørgselsloggens rotationstid skal ændres? Mindskes intervalværdien, mistes nogle data",
|
||||||
"anonymize_client_ip": "Anonymisér klient-IP",
|
"anonymize_client_ip": "Anonymisér klient-IP",
|
||||||
"anonymize_client_ip_desc": "Gem ikke fuld klient IP-adresse i logfiler eller statistikker",
|
"anonymize_client_ip_desc": "Gem ikke fuld klient IP-adresse i logfiler eller statistikker",
|
||||||
"dns_config": "DNS-serveropsætning",
|
"dns_config": "DNS-serveropsætning",
|
||||||
@@ -288,6 +291,8 @@
|
|||||||
"rate_limit": "Hyppighedsgrænse",
|
"rate_limit": "Hyppighedsgrænse",
|
||||||
"edns_enable": "Aktivér EDNS-klientundernet",
|
"edns_enable": "Aktivér EDNS-klientundernet",
|
||||||
"edns_cs_desc": "Tilføj indstillingen EDNS Client Subnet (ECS) til upstream-forespørgsler og log de af klienterne sendte værdier i forespørgselsloggen.",
|
"edns_cs_desc": "Tilføj indstillingen EDNS Client Subnet (ECS) til upstream-forespørgsler og log de af klienterne sendte værdier i forespørgselsloggen.",
|
||||||
|
"edns_use_custom_ip": "Brug tilpasset IP til EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Tillad brug af tilpasset IP til EDNS",
|
||||||
"rate_limit_desc": "Antallet af forespørgsler pr. sekund tilladt pr. klient (værdien 0 = ubegrænset)",
|
"rate_limit_desc": "Antallet af forespørgsler pr. sekund tilladt pr. klient (værdien 0 = ubegrænset)",
|
||||||
"blocking_ipv4_desc": "Returneret IP-adresse for en blokeret A-forespørgsel",
|
"blocking_ipv4_desc": "Returneret IP-adresse for en blokeret A-forespørgsel",
|
||||||
"blocking_ipv6_desc": "Returneret IP-adresse for en blokeret AAAA-forespørgsel",
|
"blocking_ipv6_desc": "Returneret IP-adresse for en blokeret AAAA-forespørgsel",
|
||||||
@@ -296,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Svar med NXDOMAIN-kode",
|
"blocking_mode_nxdomain": "NXDOMAIN: Svar med NXDOMAIN-kode",
|
||||||
"blocking_mode_null_ip": "Null IP: Svar med nul IP-adresse (0.0.0.0 for A; :: for AAAA)",
|
"blocking_mode_null_ip": "Null IP: Svar med nul IP-adresse (0.0.0.0 for A; :: for AAAA)",
|
||||||
"blocking_mode_custom_ip": "Tilpasset IP: Svar med en manuelt indstillet IP-adresse",
|
"blocking_mode_custom_ip": "Tilpasset IP: Svar med en manuelt indstillet IP-adresse",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Lyst",
|
||||||
|
"theme_dark": "Mørkt",
|
||||||
"upstream_dns_client_desc": "Holdes dette felt tomt, bruger AdGuard Home de i <0>DNS-indstillingerne</0> opsatte servere.",
|
"upstream_dns_client_desc": "Holdes dette felt tomt, bruger AdGuard Home de i <0>DNS-indstillingerne</0> opsatte servere.",
|
||||||
"tracker_source": "Tracker-kilde",
|
"tracker_source": "Tracker-kilde",
|
||||||
"source_label": "Kilde",
|
"source_label": "Kilde",
|
||||||
@@ -362,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Krypteringsopsætning gemt",
|
"encryption_config_saved": "Krypteringsopsætning gemt",
|
||||||
"encryption_server": "Servernavn",
|
"encryption_server": "Servernavn",
|
||||||
"encryption_server_enter": "Angiv dit domænenavn",
|
"encryption_server_enter": "Angiv dit domænenavn",
|
||||||
"encryption_server_desc": "For at kunne bruge HTTPS skal du angive det servernavn, der matcher dit SSL-certifikat eller wildcard-certifikat. Er feltet ikke er opsat, accepterer det TLS-forbindelser til ethvert domæne.",
|
"encryption_server_desc": "Hvis indstillet, registrerer AdGuard Home ClientID'er, svarer på DDR-forespørgsler og udfører yderligere forbindelsesvalideringer. Hvis ikke er indstillet, er disse funktioner deaktiveret. Skal matche et af DNS-navnene i certifikatet.",
|
||||||
"encryption_redirect": "Omdirigér automatisk til HTTPS",
|
"encryption_redirect": "Omdirigér automatisk til HTTPS",
|
||||||
"encryption_redirect_desc": "Hvis afkrydset, omdirigerer AdGuard Home dig automatisk fra HTTP- til HTTPS-adresser.",
|
"encryption_redirect_desc": "Hvis afkrydset, omdirigerer AdGuard Home dig automatisk fra HTTP- til HTTPS-adresser.",
|
||||||
"encryption_https": "HTTPS-port",
|
"encryption_https": "HTTPS-port",
|
||||||
@@ -388,6 +396,7 @@
|
|||||||
"encryption_issuer": "Udsteder",
|
"encryption_issuer": "Udsteder",
|
||||||
"encryption_hostnames": "Værtsnavne",
|
"encryption_hostnames": "Værtsnavne",
|
||||||
"encryption_reset": "Sikker på, at du vil nulstille krypteringsindstillingerne?",
|
"encryption_reset": "Sikker på, at du vil nulstille krypteringsindstillingerne?",
|
||||||
|
"encryption_warning": "Advarsel",
|
||||||
"topline_expiring_certificate": "Dit SSL-certifikat er ved at udløbe. Opdatér <0>Krypteringsindstillinger</0>.",
|
"topline_expiring_certificate": "Dit SSL-certifikat er ved at udløbe. Opdatér <0>Krypteringsindstillinger</0>.",
|
||||||
"topline_expired_certificate": "Dit SSL-certifikat er udløbet. Opdatér <0>Krypteringsindstillinger</0>.",
|
"topline_expired_certificate": "Dit SSL-certifikat er udløbet. Opdatér <0>Krypteringsindstillinger</0>.",
|
||||||
"form_error_port_range": "Angiv portnummer i intervallet 80-65535",
|
"form_error_port_range": "Angiv portnummer i intervallet 80-65535",
|
||||||
@@ -448,6 +457,7 @@
|
|||||||
"updates_checked": "En ny version af AdGuard Home er tilgængelig\n",
|
"updates_checked": "En ny version af AdGuard Home er tilgængelig\n",
|
||||||
"updates_version_equal": "AdGuard Home er opdateret",
|
"updates_version_equal": "AdGuard Home er opdateret",
|
||||||
"check_updates_now": "Søg efter opdateringer nu",
|
"check_updates_now": "Søg efter opdateringer nu",
|
||||||
|
"version_request_error": "Opdateringstjek mislykkedes. Tjek internetforbindelsen.",
|
||||||
"dns_privacy": "DNS-fortrolighed",
|
"dns_privacy": "DNS-fortrolighed",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Brug <1>{{address}}</1> streng.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Brug <1>{{address}}</1> streng.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Brug <1>{{address}}</1> streng.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Brug <1>{{address}}</1> streng.",
|
||||||
@@ -516,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Sikker på, at du vil ændre på statistikbevaring? Mindskes intervalværdien, vil nogle data gå tabt",
|
"statistics_retention_confirm": "Sikker på, at du vil ændre på statistikbevaring? Mindskes intervalværdien, vil nogle data gå tabt",
|
||||||
"statistics_cleared": "Statistikkerne er ryddet",
|
"statistics_cleared": "Statistikkerne er ryddet",
|
||||||
"statistics_enable": "Aktivér statistikker",
|
"statistics_enable": "Aktivér statistikker",
|
||||||
|
"ignore_domains": "Ignorerede domæner (adskilt af ny linje)",
|
||||||
|
"ignore_domains_title": "Ignorerede domæner",
|
||||||
|
"ignore_domains_desc_stats": "Forespørgsler til disse domæner opføres ikke i statistikken",
|
||||||
|
"ignore_domains_desc_query": "Forespørgsler til disse domæner opføres ikke i forespørgselsloggen",
|
||||||
"interval_hours": "{{count}} time",
|
"interval_hours": "{{count}} time",
|
||||||
"interval_hours_plural": "{{count}} timer",
|
"interval_hours_plural": "{{count}} timer",
|
||||||
"filters_configuration": "Filteropsætninger",
|
"filters_configuration": "Filteropsætninger",
|
||||||
@@ -601,7 +615,7 @@
|
|||||||
"blocklist": "Sortliste",
|
"blocklist": "Sortliste",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Cache-størrelse",
|
"cache_size": "Cache-størrelse",
|
||||||
"cache_size_desc": "DNS cache-størrelse (i bytes).",
|
"cache_size_desc": "DNS cache-størrelse (i bytes). Lad stå tomt for at deaktivere cache.",
|
||||||
"cache_ttl_min_override": "Tilsidesæt minimum TTL",
|
"cache_ttl_min_override": "Tilsidesæt minimum TTL",
|
||||||
"cache_ttl_max_override": "Tilsidesæt maksimal TTL",
|
"cache_ttl_max_override": "Tilsidesæt maksimal TTL",
|
||||||
"enter_cache_size": "Angiv cache-størrelse (bytes)",
|
"enter_cache_size": "Angiv cache-størrelse (bytes)",
|
||||||
@@ -631,5 +645,34 @@
|
|||||||
"parental_control": "Forældrekontrol",
|
"parental_control": "Forældrekontrol",
|
||||||
"safe_browsing": "Sikker Browsing",
|
"safe_browsing": "Sikker Browsing",
|
||||||
"served_from_cache": "{{value}} <i>(leveret fra cache)</i>",
|
"served_from_cache": "{{value}} <i>(leveret fra cache)</i>",
|
||||||
"form_error_password_length": "Adgangskoden skal udgøre mindst {{value}} tegn."
|
"form_error_password_length": "Adgangskoden skal udgøre mindst {{value}} tegn.",
|
||||||
|
"anonymizer_notification": "<0>Bemærk:</0> IP-anonymisering er aktiveret. Det kan deaktiveres via <1>Generelle indstillinger</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Sikker på, at DNS-cache skal ryddes?",
|
||||||
|
"cache_cleared": "DNS-cache hermed ryddet",
|
||||||
|
"clear_cache": "Ryd cache",
|
||||||
|
"make_static": "Gør statisk",
|
||||||
|
"theme_auto_desc": "Auto (baseret på enhedens farveskema)",
|
||||||
|
"theme_dark_desc": "Mørkt tema",
|
||||||
|
"theme_light_desc": "Lyst tema",
|
||||||
|
"disable_for_seconds": "I {{count}} sekund",
|
||||||
|
"disable_for_seconds_plural": "I {{count}} sekunder",
|
||||||
|
"disable_for_minutes": "I {{count}} minut",
|
||||||
|
"disable_for_minutes_plural": "I {{count}} minutter",
|
||||||
|
"disable_for_hours": "I {{count}} time",
|
||||||
|
"disable_for_hours_plural": "I {{count}} timer",
|
||||||
|
"disable_until_tomorrow": "Indtil i morgen",
|
||||||
|
"disable_notify_for_seconds": "Deaktivere beskyttelse i {{count}} sekund",
|
||||||
|
"disable_notify_for_seconds_plural": "Deaktivere beskyttelse i {{count}} sekunder",
|
||||||
|
"disable_notify_for_minutes": "Deaktivere beskyttelse i {{count}} minut",
|
||||||
|
"disable_notify_for_minutes_plural": "Deaktivere beskyttelse i {{count}} minutter",
|
||||||
|
"disable_notify_for_hours": "Deaktivere beskyttelse i {{count}} time",
|
||||||
|
"disable_notify_for_hours_plural": "Deaktivere beskyttelse i {{count}} timer",
|
||||||
|
"disable_notify_until_tomorrow": "Deaktiver beskyttelse indtil i morgen",
|
||||||
|
"enable_protection_timer": "Beskyttelse deaktiveres om {{time}}",
|
||||||
|
"custom_retention_input": "Angiv opbevaringstid i timer",
|
||||||
|
"custom_rotation_input": "Angiv rotationstid i timer",
|
||||||
|
"protection_section_label": "Beskyttelse",
|
||||||
|
"log_and_stats_section_label": "Forespørgselslog og statistik",
|
||||||
|
"ignore_query_log": "Ignorér denne klient i forespørgselslog",
|
||||||
|
"ignore_statistics": "Ignorér denne klient i statistik"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP-IPv6-Einstellungen",
|
"dhcp_ipv6_settings": "DHCP-IPv6-Einstellungen",
|
||||||
"form_error_required": "Pflichtfeld",
|
"form_error_required": "Pflichtfeld",
|
||||||
"form_error_ip4_format": "Ungültige IPv4-Adresse",
|
"form_error_ip4_format": "Ungültige IPv4-Adresse",
|
||||||
"form_error_ip4_range_start_format": "Ungültiger Bereichsbeginn der IPv4-Adresse",
|
|
||||||
"form_error_ip4_range_end_format": "Ungültiges Bereichsende der IPv4-Adresse",
|
|
||||||
"form_error_ip4_gateway_format": "Ungültige IPv4-Adresse des Gateways",
|
"form_error_ip4_gateway_format": "Ungültige IPv4-Adresse des Gateways",
|
||||||
"form_error_ip6_format": "Ungültige IPv6-Adresse",
|
"form_error_ip6_format": "Ungültige IPv6-Adresse",
|
||||||
"form_error_ip_format": "Ungültige IP-Adresse",
|
"form_error_ip_format": "Ungültige IP-Adresse",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Muss außerhalb des Bereichs „{{start}}“-„{{end}}“ liegen",
|
"out_of_range_error": "Muss außerhalb des Bereichs „{{start}}“-„{{end}}“ liegen",
|
||||||
"lower_range_start_error": "Muss niedriger als der Bereichsbeginn sein",
|
"lower_range_start_error": "Muss niedriger als der Bereichsbeginn sein",
|
||||||
"greater_range_start_error": "Muss größer als der Bereichsbeginn sein",
|
"greater_range_start_error": "Muss größer als der Bereichsbeginn sein",
|
||||||
"greater_range_end_error": "Muss größer als das Bereichsende sein",
|
|
||||||
"subnet_error": "Die Adressen müssen innerhalb eines Subnetzes liegen",
|
"subnet_error": "Die Adressen müssen innerhalb eines Subnetzes liegen",
|
||||||
"gateway_or_subnet_invalid": "Ungültige Subnetzmaske",
|
"gateway_or_subnet_invalid": "Ungültige Subnetzmaske",
|
||||||
"dhcp_form_gateway_input": "Gateway-IP",
|
"dhcp_form_gateway_input": "Gateway-IP",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Kindersicherung aktiviert",
|
"enabled_parental_toast": "Kindersicherung aktiviert",
|
||||||
"disabled_safe_search_toast": "Sichere Suche deaktiviert",
|
"disabled_safe_search_toast": "Sichere Suche deaktiviert",
|
||||||
"enabled_save_search_toast": "Sichere Suche aktiviert",
|
"enabled_save_search_toast": "Sichere Suche aktiviert",
|
||||||
|
"updated_save_search_toast": "Einstellungen für die sichere Suche aktualisiert",
|
||||||
"enabled_table_header": "Aktiviert",
|
"enabled_table_header": "Aktiviert",
|
||||||
"name_table_header": "Name",
|
"name_table_header": "Name",
|
||||||
"list_url_table_header": "Adressliste",
|
"list_url_table_header": "Adressliste",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Auch ein Kommentar.",
|
"example_comment_hash": "# Auch ein Kommentar.",
|
||||||
"example_regex_meaning": "Zugriff auf die Domains sperren, die dem angegebenen regulären Ausdruck entsprechen.",
|
"example_regex_meaning": "Zugriff auf die Domains sperren, die dem angegebenen regulären Ausdruck entsprechen.",
|
||||||
"example_upstream_regular": "reguläres DNS (over UDP);",
|
"example_upstream_regular": "reguläres DNS (over UDP);",
|
||||||
|
"example_upstream_regular_port": "normales DNS (über UDP, mit Port);",
|
||||||
"example_upstream_udp": "normales DNS (über UDP, Hostname);",
|
"example_upstream_udp": "normales DNS (über UDP, Hostname);",
|
||||||
"example_upstream_dot": "verschlüsseltes <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "verschlüsseltes <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "verschlüsseltes <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "verschlüsseltes <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "verschlüsseltes DNS-over-HTTPS mit erzwungenem <0>HTTP/3</0> und keinem Fallback zu HTTP/2 oder darunter;",
|
||||||
"example_upstream_doq": "verschlüsseltes <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "verschlüsseltes <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS-Stempel</0> für <1>DNSCrypt</1> oder <2>DNS-over-HTTPS</2> Resolver;",
|
"example_upstream_sdns": "<0>DNS-Stempel</0> für <1>DNSCrypt</1> oder <2>DNS-over-HTTPS</2> Resolver;",
|
||||||
"example_upstream_tcp": "reguläres DNS (over TCP);",
|
"example_upstream_tcp": "reguläres DNS (over TCP);",
|
||||||
|
"example_upstream_tcp_port": "normales DNS (über TCP, mit Port);",
|
||||||
"example_upstream_tcp_hostname": "normales DNS (über TCP, Hostname);",
|
"example_upstream_tcp_hostname": "normales DNS (über TCP, Hostname);",
|
||||||
"all_lists_up_to_date_toast": "Alle Listen sind bereits auf dem neuesten Stand",
|
"all_lists_up_to_date_toast": "Alle Listen sind bereits auf dem neuesten Stand",
|
||||||
"updated_upstream_dns_toast": "Upstream-Server erfolgreich gespeichert",
|
"updated_upstream_dns_toast": "Upstream-Server erfolgreich gespeichert",
|
||||||
"dns_test_ok_toast": "Angegebene DNS-Server arbeiten ordnungsgemäß",
|
"dns_test_ok_toast": "Angegebene DNS-Server arbeiten ordnungsgemäß",
|
||||||
"dns_test_not_ok_toast": "Server „{{key}}“: konnte nicht verwendet werden, bitte überprüfen Sie die korrekte Schreibweise",
|
"dns_test_not_ok_toast": "Server „{{key}}“: konnte nicht verwendet werden, bitte überprüfen Sie die korrekte Schreibweise",
|
||||||
|
"dns_test_warning_toast": "Upstream „{{key}}“ reagiert nicht auf Testanfragen und funktioniert möglicherweise nicht fehlerfrei",
|
||||||
"unblock": "Entsperren",
|
"unblock": "Entsperren",
|
||||||
"block": "Sperren",
|
"block": "Sperren",
|
||||||
"disallow_this_client": "Diesen Client sperren",
|
"disallow_this_client": "Diesen Client sperren",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "Das Abfrageprotokoll wurde erfolgreich gelöscht",
|
"query_log_cleared": "Das Abfrageprotokoll wurde erfolgreich gelöscht",
|
||||||
"query_log_updated": "Das Abfrageprotokoll wurde erfolgreich aktualisiert",
|
"query_log_updated": "Das Abfrageprotokoll wurde erfolgreich aktualisiert",
|
||||||
"query_log_clear": "Abfrageprotokolle leeren",
|
"query_log_clear": "Abfrageprotokolle leeren",
|
||||||
"query_log_retention": "Abfrageprotokolle aufbewahren",
|
"query_log_retention": "Rotation der Abfrageprotokolle",
|
||||||
"query_log_enable": "Protokoll aktivieren",
|
"query_log_enable": "Protokoll aktivieren",
|
||||||
"query_log_configuration": "Konfiguration der Protokolle",
|
"query_log_configuration": "Konfiguration der Protokolle",
|
||||||
"query_log_disabled": "Das Abfrageprotokoll ist deaktiviert und kann in den <0>Einstellungen</0> konfiguriert werden.",
|
"query_log_disabled": "Das Abfrageprotokoll ist deaktiviert und kann in den <0>Einstellungen</0> konfiguriert werden.",
|
||||||
"query_log_strict_search": "Doppelte Anführungszeichen für die strikte Suche verwenden",
|
"query_log_strict_search": "Doppelte Anführungszeichen für die strikte Suche verwenden",
|
||||||
"query_log_retention_confirm": "Möchten Sie die Aufbewahrung des Abfrageprotokolls wirklich ändern? Wenn Sie den Zeitabstand verringern, gehen einige Daten verloren.",
|
"query_log_retention_confirm": "Möchten Sie die Abfrageprotokollrotation wirklich ändern? Wenn Sie den Intervallwert verringern, gehen einige Daten verloren",
|
||||||
"anonymize_client_ip": "Client-IP anonymisieren",
|
"anonymize_client_ip": "Client-IP anonymisieren",
|
||||||
"anonymize_client_ip_desc": "Vollständige IP-Adresse des Clients nicht in Protokollen und Statistiken speichern",
|
"anonymize_client_ip_desc": "Vollständige IP-Adresse des Clients nicht in Protokollen und Statistiken speichern",
|
||||||
"dns_config": "DNS-Serverkonfiguration",
|
"dns_config": "DNS-Serverkonfiguration",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Begrenzungswert",
|
"rate_limit": "Begrenzungswert",
|
||||||
"edns_enable": "EDNS Client Subnetz aktivieren",
|
"edns_enable": "EDNS Client Subnetz aktivieren",
|
||||||
"edns_cs_desc": "Die Option EDNS Client Subnetz (ECS) zu Upstream-Anfragen hinzufügen und die von Clients gesendeten Werte protokollieren.",
|
"edns_cs_desc": "Die Option EDNS Client Subnetz (ECS) zu Upstream-Anfragen hinzufügen und die von Clients gesendeten Werte protokollieren.",
|
||||||
|
"edns_use_custom_ip": "Benutzerdefinierte IP für EDNS verwenden",
|
||||||
|
"edns_use_custom_ip_desc": "Benutzerdefinierte IP für EDNS zulassen",
|
||||||
"rate_limit_desc": "Die Anzahl der Anfragen pro Sekunde, die ein einzelner Client stellen darf. Das Setzen auf 0 bedeutet keine Begrenzung.",
|
"rate_limit_desc": "Die Anzahl der Anfragen pro Sekunde, die ein einzelner Client stellen darf. Das Setzen auf 0 bedeutet keine Begrenzung.",
|
||||||
"blocking_ipv4_desc": "IP-Adresse, die für eine gesperrte A-Anfrage zurückgegeben werden soll",
|
"blocking_ipv4_desc": "IP-Adresse, die für eine gesperrte A-Anfrage zurückgegeben werden soll",
|
||||||
"blocking_ipv6_desc": "IP-Adresse, die für eine gesperrte AAAA-Anfrage zurückgegeben werden soll",
|
"blocking_ipv6_desc": "IP-Adresse, die für eine gesperrte AAAA-Anfrage zurückgegeben werden soll",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Mit NXDOMAIN-Code antworten",
|
"blocking_mode_nxdomain": "NXDOMAIN: Mit NXDOMAIN-Code antworten",
|
||||||
"blocking_mode_null_ip": "Null-IP: Antworten mit Null-IP-Adresse (0.0.0.0.0 für A; :: für AAAA)",
|
"blocking_mode_null_ip": "Null-IP: Antworten mit Null-IP-Adresse (0.0.0.0.0 für A; :: für AAAA)",
|
||||||
"blocking_mode_custom_ip": "Benutzerdefinierte IP: Mit einer manuell eingestellten IP-Adresse antworten",
|
"blocking_mode_custom_ip": "Benutzerdefinierte IP: Mit einer manuell eingestellten IP-Adresse antworten",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Hell",
|
||||||
|
"theme_dark": "Dunkel",
|
||||||
"upstream_dns_client_desc": "Wenn Sie dieses Feld leer lassen, verwendet AdGuard Home die Server, die in den <0>DNS-Einstellungen</0> konfiguriert sind.",
|
"upstream_dns_client_desc": "Wenn Sie dieses Feld leer lassen, verwendet AdGuard Home die Server, die in den <0>DNS-Einstellungen</0> konfiguriert sind.",
|
||||||
"tracker_source": "Tracker-Quelle",
|
"tracker_source": "Tracker-Quelle",
|
||||||
"source_label": "Quelle",
|
"source_label": "Quelle",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Verschlüsselungskonfiguration gespeichert",
|
"encryption_config_saved": "Verschlüsselungskonfiguration gespeichert",
|
||||||
"encryption_server": "Servername",
|
"encryption_server": "Servername",
|
||||||
"encryption_server_enter": "Domain-Namen eingeben",
|
"encryption_server_enter": "Domain-Namen eingeben",
|
||||||
"encryption_server_desc": "Um HTTPS verwenden zu können, müssen Sie den Servernamen eingeben, der zu Ihrem SSL-Zertifikat passt.",
|
"encryption_server_desc": "Wenn diese Option aktiviert ist, erkennt AdGuard Home ClientIDs, antwortet auf DDR-Anfragen und führt zusätzliche Verbindungsüberprüfungen durch. Wenn sie nicht gesetzt ist, sind diese Funktionen deaktiviert. Muss mit einem der DNS-Namen im Zertifikat übereinstimmen.",
|
||||||
"encryption_redirect": "Automatisch auf HTTPS umleiten",
|
"encryption_redirect": "Automatisch auf HTTPS umleiten",
|
||||||
"encryption_redirect_desc": "Wenn aktiviert, leitet AdGuard Home Sie automatisch von HTTP- auf HTTPS-Adressen um.",
|
"encryption_redirect_desc": "Wenn aktiviert, leitet AdGuard Home Sie automatisch von HTTP- auf HTTPS-Adressen um.",
|
||||||
"encryption_https": "HTTPS-Port",
|
"encryption_https": "HTTPS-Port",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Ausgestellt von",
|
"encryption_issuer": "Ausgestellt von",
|
||||||
"encryption_hostnames": "Hostnamen",
|
"encryption_hostnames": "Hostnamen",
|
||||||
"encryption_reset": "Möchten Sie die Verschlüsselungseinstellungen wirklich zurücksetzen?",
|
"encryption_reset": "Möchten Sie die Verschlüsselungseinstellungen wirklich zurücksetzen?",
|
||||||
|
"encryption_warning": "Warnhinweis",
|
||||||
"topline_expiring_certificate": "Ihr SSL-Zertifikat läuft demnächst ab. Aktualisieren Sie Ihre <0>Verschlüsselungseinstellungen</0>.",
|
"topline_expiring_certificate": "Ihr SSL-Zertifikat läuft demnächst ab. Aktualisieren Sie Ihre <0>Verschlüsselungseinstellungen</0>.",
|
||||||
"topline_expired_certificate": "Ihr SSL-Zertifikat ist abgelaufen. Aktualisieren Sie Ihre <0>Verschlüsselungseinstellungen</0>.",
|
"topline_expired_certificate": "Ihr SSL-Zertifikat ist abgelaufen. Aktualisieren Sie Ihre <0>Verschlüsselungseinstellungen</0>.",
|
||||||
"form_error_port_range": "Geben Sie die Portnummer zwischen 80 und 65535 ein",
|
"form_error_port_range": "Geben Sie die Portnummer zwischen 80 und 65535 ein",
|
||||||
@@ -444,11 +452,12 @@
|
|||||||
"access_disallowed_title": "Nicht zugelassene Clients",
|
"access_disallowed_title": "Nicht zugelassene Clients",
|
||||||
"access_disallowed_desc": "Eine Liste von CIDRs, IP-Adressen oder <a>ClientIDs</a>. Wenn diese Liste gefüllt ist, weist AdGuard Home Anfragen von diesen Clients zurück. Dieses Feld wird ignoriert, wenn es Einträge in der Liste „Zugelassene Clients“ gibt.",
|
"access_disallowed_desc": "Eine Liste von CIDRs, IP-Adressen oder <a>ClientIDs</a>. Wenn diese Liste gefüllt ist, weist AdGuard Home Anfragen von diesen Clients zurück. Dieses Feld wird ignoriert, wenn es Einträge in der Liste „Zugelassene Clients“ gibt.",
|
||||||
"access_blocked_title": "Nicht zugelassene Domains",
|
"access_blocked_title": "Nicht zugelassene Domains",
|
||||||
"access_blocked_desc": "Verwechseln Sie dies nicht mit Filtern. AdGuard Home verwirft DNS-Abfragen, die mit diesen Domänen übereinstimmen, und diese Abfragen erscheinen nicht einmal im Abfrageprotokoll. Hier können Sie die genauen Domain-Namen, Wildcards und URL-Filter-Regeln angeben, z.B. 'beispiel.org', '*.beispiel.org' oder '||beispiel.org^'.",
|
"access_blocked_desc": "Nicht zu verwechseln mit Filtern. AdGuard Home verwirft DNS-Anfragen, die mit diesen Domains übereinstimmen, und diese Abfragen werden nicht einmal im Abfrageprotokoll angezeigt. Sie können exakte Domainnamen, Wildcards oder URL-Filterregeln angeben, z. B. „example.org“, „*.example.org“ oder „||example.org^“.",
|
||||||
"access_settings_saved": "Zugriffseinstellungen erfolgreich gespeichert",
|
"access_settings_saved": "Zugriffseinstellungen erfolgreich gespeichert",
|
||||||
"updates_checked": "Neue Version von AdGuard Home ist jetzt verfügbar",
|
"updates_checked": "Neue Version von AdGuard Home ist jetzt verfügbar",
|
||||||
"updates_version_equal": "AdGuard Home ist aktuell",
|
"updates_version_equal": "AdGuard Home ist aktuell",
|
||||||
"check_updates_now": "Jetzt nach Aktualisierungen suchen",
|
"check_updates_now": "Jetzt nach Aktualisierungen suchen",
|
||||||
|
"version_request_error": "Aktualisierungsprüfung fehlgeschlagen. Bitte überprüfen Sie Ihre Internetverbindung.",
|
||||||
"dns_privacy": "DNS-Datenschutz",
|
"dns_privacy": "DNS-Datenschutz",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Zeichenkette <1>{{address}}</1> verwenden.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Zeichenkette <1>{{address}}</1> verwenden.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Zeichenkette <1>{{address}}</1> verwenden.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Zeichenkette <1>{{address}}</1> verwenden.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Möchten Sie wirklich die Aufbewahrung der Statistiken ändern? Wenn Sie den Zeitabstand verringern, gehen einige Daten verloren.",
|
"statistics_retention_confirm": "Möchten Sie wirklich die Aufbewahrung der Statistiken ändern? Wenn Sie den Zeitabstand verringern, gehen einige Daten verloren.",
|
||||||
"statistics_cleared": "Statistiken wurden erfolgreich gelöscht",
|
"statistics_cleared": "Statistiken wurden erfolgreich gelöscht",
|
||||||
"statistics_enable": "Statistiken aktivieren",
|
"statistics_enable": "Statistiken aktivieren",
|
||||||
|
"ignore_domains": "Ignorierte Domains (durch Zeilenumbruch getrennt)",
|
||||||
|
"ignore_domains_title": "Ignorierte Domains",
|
||||||
|
"ignore_domains_desc_stats": "Abfragen für diese Domains werden nicht in die Statistik aufgenommen",
|
||||||
|
"ignore_domains_desc_query": "Abfragen für diese Domains werden nicht in das Abfrageprotokoll aufgenommen",
|
||||||
"interval_hours": "{{count}} Stunde",
|
"interval_hours": "{{count}} Stunde",
|
||||||
"interval_hours_plural": "{{count}} Stunden",
|
"interval_hours_plural": "{{count}} Stunden",
|
||||||
"filters_configuration": "Filterkonfiguration",
|
"filters_configuration": "Filterkonfiguration",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Sperrliste",
|
"blocklist": "Sperrliste",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Größe des Cache",
|
"cache_size": "Größe des Cache",
|
||||||
"cache_size_desc": "Größe des DNS-Zwischenspeichers (in Bytes).",
|
"cache_size_desc": "Größe des DNS-Zwischenspeichers (in Bytes)",
|
||||||
"cache_ttl_min_override": "TTL-Minimalwert überschreiben",
|
"cache_ttl_min_override": "TTL-Minimalwert überschreiben",
|
||||||
"cache_ttl_max_override": "TTL-Höchstwert überschreiben",
|
"cache_ttl_max_override": "TTL-Höchstwert überschreiben",
|
||||||
"enter_cache_size": "Größe des Cache (Bytes) eingeben",
|
"enter_cache_size": "Größe des Cache (Bytes) eingeben",
|
||||||
@@ -624,7 +637,7 @@
|
|||||||
"setup_config_to_enable_dhcp_server": "Einrichten der Konfiguration zur Aktivierung des DHCP-Servers",
|
"setup_config_to_enable_dhcp_server": "Einrichten der Konfiguration zur Aktivierung des DHCP-Servers",
|
||||||
"original_response": "Ursprüngliche Antwort",
|
"original_response": "Ursprüngliche Antwort",
|
||||||
"click_to_view_queries": "Anklicken, um Abfragen anzuzeigen",
|
"click_to_view_queries": "Anklicken, um Abfragen anzuzeigen",
|
||||||
"port_53_faq_link": "Port 53 wird oft von Diensten wie „DNSStubListener“ oder „systemresolved“ belegt. Bitte lesen Sie <0>diese Anweisung</0>, wie dies behoben werden kann.",
|
"port_53_faq_link": "Port 53 wird oft von Diensten wie „DNSStubListener“ oder „system-resolved“ belegt. Bitte lesen Sie <0>diese Anweisung</0>, wie dies behoben werden kann.",
|
||||||
"adg_will_drop_dns_queries": "AdGuard Home wird alle DNS-Abfragen von diesem Client verwerfen.",
|
"adg_will_drop_dns_queries": "AdGuard Home wird alle DNS-Abfragen von diesem Client verwerfen.",
|
||||||
"filter_allowlist": "Warnhinweis: Durch diese Aktion wird außerdem die Regel „{{disallowed_rule}}“ aus der Liste der zugelassenen Clients ausgeschlossen.",
|
"filter_allowlist": "Warnhinweis: Durch diese Aktion wird außerdem die Regel „{{disallowed_rule}}“ aus der Liste der zugelassenen Clients ausgeschlossen.",
|
||||||
"last_rule_in_allowlist": "Dieser Client kann nicht gesperrt werden, da das Ausschließen der Regel „{{disallowed_rule}}“ die Liste „Zugelassene Clients“ deaktivieren würde.",
|
"last_rule_in_allowlist": "Dieser Client kann nicht gesperrt werden, da das Ausschließen der Regel „{{disallowed_rule}}“ die Liste „Zugelassene Clients“ deaktivieren würde.",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Kindersicherung",
|
"parental_control": "Kindersicherung",
|
||||||
"safe_browsing": "Internetsicherheit",
|
"safe_browsing": "Internetsicherheit",
|
||||||
"served_from_cache": "{{value}} <i>(aus dem Cache abgerufen)</i>",
|
"served_from_cache": "{{value}} <i>(aus dem Cache abgerufen)</i>",
|
||||||
"form_error_password_length": "Das Passwort muss mindestens {{value}} Zeichen enthalten"
|
"form_error_password_length": "Das Passwort muss mindestens {{value}} Zeichen enthalten",
|
||||||
|
"anonymizer_notification": "<0>Hinweis:</0> Die IP-Anonymisierung ist aktiviert. Sie können sie in den <1>Allgemeinen Einstellungen</1> deaktivieren.",
|
||||||
|
"confirm_dns_cache_clear": "Möchten Sie den DNS-Cache wirklich leeren?",
|
||||||
|
"cache_cleared": "DNS-Cache erfolgreich geleert",
|
||||||
|
"clear_cache": "Cache leeren",
|
||||||
|
"make_static": "Statisch machen",
|
||||||
|
"theme_auto_desc": "Automatisch (basierend auf dem Farbschema Ihres Geräts)",
|
||||||
|
"theme_dark_desc": "Dunkles Farbschema",
|
||||||
|
"theme_light_desc": "Helles Farbschema",
|
||||||
|
"disable_for_seconds": "Für {{count}} Sekunde",
|
||||||
|
"disable_for_seconds_plural": "Für {{count}} Sekunden",
|
||||||
|
"disable_for_minutes": "Für {{count}} Minute",
|
||||||
|
"disable_for_minutes_plural": "Für {{count}} Minuten",
|
||||||
|
"disable_for_hours": "Für {{count}} Stunde",
|
||||||
|
"disable_for_hours_plural": "Für {{count}} Stunden",
|
||||||
|
"disable_until_tomorrow": "Bis morgen",
|
||||||
|
"disable_notify_for_seconds": "Schutz für {{count}} Sekunde deaktivieren",
|
||||||
|
"disable_notify_for_seconds_plural": "Schutz für {{count}} Sekunden deaktivieren",
|
||||||
|
"disable_notify_for_minutes": "Schutz für {{count}} Minute deaktivieren",
|
||||||
|
"disable_notify_for_minutes_plural": "Schutz für {{count}} Minuten deaktivieren",
|
||||||
|
"disable_notify_for_hours": "Schutz für {{count}} Stunde deaktivieren",
|
||||||
|
"disable_notify_for_hours_plural": "Schutz für {{count}} Stunden deaktivieren",
|
||||||
|
"disable_notify_until_tomorrow": "Schutz bis morgen deaktivieren",
|
||||||
|
"enable_protection_timer": "Der Schutz wird in {{time}} wieder aktiviert",
|
||||||
|
"custom_retention_input": "Rückhaltezeit in Stunden eingeben",
|
||||||
|
"custom_rotation_input": "Rotation in Stunden eingeben",
|
||||||
|
"protection_section_label": "Schutz",
|
||||||
|
"log_and_stats_section_label": "Abfrageprotokoll und Statistik",
|
||||||
|
"ignore_query_log": "Diesen Client im Abfrageprotokoll ignorieren",
|
||||||
|
"ignore_statistics": "Diesen Client in der Statistik ignorieren"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6 Settings",
|
"dhcp_ipv6_settings": "DHCP IPv6 Settings",
|
||||||
"form_error_required": "Required field",
|
"form_error_required": "Required field",
|
||||||
"form_error_ip4_format": "Invalid IPv4 address",
|
"form_error_ip4_format": "Invalid IPv4 address",
|
||||||
"form_error_ip4_range_start_format": "Invalid IPv4 address of the range start",
|
|
||||||
"form_error_ip4_range_end_format": "Invalid IPv4 address of the range end",
|
|
||||||
"form_error_ip4_gateway_format": "Invalid IPv4 address of the gateway",
|
"form_error_ip4_gateway_format": "Invalid IPv4 address of the gateway",
|
||||||
"form_error_ip6_format": "Invalid IPv6 address",
|
"form_error_ip6_format": "Invalid IPv6 address",
|
||||||
"form_error_ip_format": "Invalid IP address",
|
"form_error_ip_format": "Invalid IP address",
|
||||||
@@ -51,9 +49,8 @@
|
|||||||
"out_of_range_error": "Must be out of range \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Must be out of range \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Must be lower than range start",
|
"lower_range_start_error": "Must be lower than range start",
|
||||||
"greater_range_start_error": "Must be greater than range start",
|
"greater_range_start_error": "Must be greater than range start",
|
||||||
"greater_range_end_error": "Must be greater than range end",
|
|
||||||
"subnet_error": "Addresses must be in one subnet",
|
"subnet_error": "Addresses must be in one subnet",
|
||||||
"gateway_or_subnet_invalid": "Subnet mask invalid",
|
"gateway_or_subnet_invalid": "Invalid subnet mask",
|
||||||
"dhcp_form_gateway_input": "Gateway IP",
|
"dhcp_form_gateway_input": "Gateway IP",
|
||||||
"dhcp_form_subnet_input": "Subnet mask",
|
"dhcp_form_subnet_input": "Subnet mask",
|
||||||
"dhcp_form_range_title": "Range of IP addresses",
|
"dhcp_form_range_title": "Range of IP addresses",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Enabled Parental Control",
|
"enabled_parental_toast": "Enabled Parental Control",
|
||||||
"disabled_safe_search_toast": "Disabled Safe Search",
|
"disabled_safe_search_toast": "Disabled Safe Search",
|
||||||
"enabled_save_search_toast": "Enabled Safe Search",
|
"enabled_save_search_toast": "Enabled Safe Search",
|
||||||
|
"updated_save_search_toast": "Safe Search settings updated",
|
||||||
"enabled_table_header": "Enabled",
|
"enabled_table_header": "Enabled",
|
||||||
"name_table_header": "Name",
|
"name_table_header": "Name",
|
||||||
"list_url_table_header": "List URL",
|
"list_url_table_header": "List URL",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Also a comment.",
|
"example_comment_hash": "# Also a comment.",
|
||||||
"example_regex_meaning": "block access to domains matching the specified regular expression.",
|
"example_regex_meaning": "block access to domains matching the specified regular expression.",
|
||||||
"example_upstream_regular": "regular DNS (over UDP);",
|
"example_upstream_regular": "regular DNS (over UDP);",
|
||||||
|
"example_upstream_regular_port": "regular DNS (over UDP, with port);",
|
||||||
"example_upstream_udp": "regular DNS (over UDP, hostname);",
|
"example_upstream_udp": "regular DNS (over UDP, hostname);",
|
||||||
"example_upstream_dot": "encrypted <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "encrypted <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "encrypted <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "encrypted <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "encrypted DNS-over-HTTPS with forced <0>HTTP/3</0> and no fallback to HTTP/2 or below;",
|
||||||
"example_upstream_doq": "encrypted <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "encrypted <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> for <1>DNSCrypt</1> or <2>DNS-over-HTTPS</2> resolvers;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> for <1>DNSCrypt</1> or <2>DNS-over-HTTPS</2> resolvers;",
|
||||||
"example_upstream_tcp": "regular DNS (over TCP);",
|
"example_upstream_tcp": "regular DNS (over TCP);",
|
||||||
|
"example_upstream_tcp_port": "regular DNS (over TCP, with port);",
|
||||||
"example_upstream_tcp_hostname": "regular DNS (over TCP, hostname);",
|
"example_upstream_tcp_hostname": "regular DNS (over TCP, hostname);",
|
||||||
"all_lists_up_to_date_toast": "All lists are already up-to-date",
|
"all_lists_up_to_date_toast": "All lists are already up-to-date",
|
||||||
"updated_upstream_dns_toast": "Upstream servers successfully saved",
|
"updated_upstream_dns_toast": "Upstream servers successfully saved",
|
||||||
"dns_test_ok_toast": "Specified DNS servers are working correctly",
|
"dns_test_ok_toast": "Specified DNS servers are working correctly",
|
||||||
"dns_test_not_ok_toast": "Server \"{{key}}\": could not be used, please check that you've written it correctly",
|
"dns_test_not_ok_toast": "Server \"{{key}}\": could not be used, please check that you've written it correctly",
|
||||||
|
"dns_test_warning_toast": "Upstream \"{{key}}\" does not respond to test requests and may not work properly",
|
||||||
"unblock": "Unblock",
|
"unblock": "Unblock",
|
||||||
"block": "Block",
|
"block": "Block",
|
||||||
"disallow_this_client": "Disallow this client",
|
"disallow_this_client": "Disallow this client",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "The query log has been successfully cleared",
|
"query_log_cleared": "The query log has been successfully cleared",
|
||||||
"query_log_updated": "The query log has been successfully updated",
|
"query_log_updated": "The query log has been successfully updated",
|
||||||
"query_log_clear": "Clear query logs",
|
"query_log_clear": "Clear query logs",
|
||||||
"query_log_retention": "Query logs retention",
|
"query_log_retention": "Query logs rotation",
|
||||||
"query_log_enable": "Enable log",
|
"query_log_enable": "Enable log",
|
||||||
"query_log_configuration": "Logs configuration",
|
"query_log_configuration": "Logs configuration",
|
||||||
"query_log_disabled": "The query log is disabled and can be configured in the <0>settings</0>",
|
"query_log_disabled": "The query log is disabled and can be configured in the <0>settings</0>",
|
||||||
"query_log_strict_search": "Use double quotes for strict search",
|
"query_log_strict_search": "Use double quotes for strict search",
|
||||||
"query_log_retention_confirm": "Are you sure you want to change query log retention? If you decrease the interval value, some data will be lost",
|
"query_log_retention_confirm": "Are you sure you want to change query log rotation? If you decrease the interval value, some data will be lost",
|
||||||
"anonymize_client_ip": "Anonymize client IP",
|
"anonymize_client_ip": "Anonymize client IP",
|
||||||
"anonymize_client_ip_desc": "Don't save the client's full IP address to logs or statistics",
|
"anonymize_client_ip_desc": "Don't save the client's full IP address to logs or statistics",
|
||||||
"dns_config": "DNS server configuration",
|
"dns_config": "DNS server configuration",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Rate limit",
|
"rate_limit": "Rate limit",
|
||||||
"edns_enable": "Enable EDNS client subnet",
|
"edns_enable": "Enable EDNS client subnet",
|
||||||
"edns_cs_desc": "Add the EDNS Client Subnet option (ECS) to upstream requests and log the values sent by the clients in the query log.",
|
"edns_cs_desc": "Add the EDNS Client Subnet option (ECS) to upstream requests and log the values sent by the clients in the query log.",
|
||||||
|
"edns_use_custom_ip": "Use custom IP for EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Allow to use custom IP for EDNS",
|
||||||
"rate_limit_desc": "The number of requests per second allowed per client. Setting it to 0 means no limit.",
|
"rate_limit_desc": "The number of requests per second allowed per client. Setting it to 0 means no limit.",
|
||||||
"blocking_ipv4_desc": "IP address to be returned for a blocked A request",
|
"blocking_ipv4_desc": "IP address to be returned for a blocked A request",
|
||||||
"blocking_ipv6_desc": "IP address to be returned for a blocked AAAA request",
|
"blocking_ipv6_desc": "IP address to be returned for a blocked AAAA request",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Respond with NXDOMAIN code",
|
"blocking_mode_nxdomain": "NXDOMAIN: Respond with NXDOMAIN code",
|
||||||
"blocking_mode_null_ip": "Null IP: Respond with zero IP address (0.0.0.0 for A; :: for AAAA)",
|
"blocking_mode_null_ip": "Null IP: Respond with zero IP address (0.0.0.0 for A; :: for AAAA)",
|
||||||
"blocking_mode_custom_ip": "Custom IP: Respond with a manually set IP address",
|
"blocking_mode_custom_ip": "Custom IP: Respond with a manually set IP address",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Light",
|
||||||
|
"theme_dark": "Dark",
|
||||||
"upstream_dns_client_desc": "If you keep this field empty, AdGuard Home will use the servers configured in the <0>DNS settings</0>.",
|
"upstream_dns_client_desc": "If you keep this field empty, AdGuard Home will use the servers configured in the <0>DNS settings</0>.",
|
||||||
"tracker_source": "Tracker source",
|
"tracker_source": "Tracker source",
|
||||||
"source_label": "Source",
|
"source_label": "Source",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Encryption configuration saved",
|
"encryption_config_saved": "Encryption configuration saved",
|
||||||
"encryption_server": "Server name",
|
"encryption_server": "Server name",
|
||||||
"encryption_server_enter": "Enter your domain name",
|
"encryption_server_enter": "Enter your domain name",
|
||||||
"encryption_server_desc": "In order to use HTTPS, you need to enter the server name that matches your SSL certificate or wildcard certificate. If the field is not set, it will accept TLS connections for any domain.",
|
"encryption_server_desc": "If set, AdGuard Home detects ClientIDs, responds to DDR queries, and performs additional connection validations. If not set, these features are disabled. Must match one of the DNS Names in the certificate.",
|
||||||
"encryption_redirect": "Redirect to HTTPS automatically",
|
"encryption_redirect": "Redirect to HTTPS automatically",
|
||||||
"encryption_redirect_desc": "If checked, AdGuard Home will automatically redirect you from HTTP to HTTPS addresses.",
|
"encryption_redirect_desc": "If checked, AdGuard Home will automatically redirect you from HTTP to HTTPS addresses.",
|
||||||
"encryption_https": "HTTPS port",
|
"encryption_https": "HTTPS port",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Issuer",
|
"encryption_issuer": "Issuer",
|
||||||
"encryption_hostnames": "Hostnames",
|
"encryption_hostnames": "Hostnames",
|
||||||
"encryption_reset": "Are you sure you want to reset encryption settings?",
|
"encryption_reset": "Are you sure you want to reset encryption settings?",
|
||||||
|
"encryption_warning": "Warning",
|
||||||
"topline_expiring_certificate": "Your SSL certificate is about to expire. Update <0>Encryption settings</0>.",
|
"topline_expiring_certificate": "Your SSL certificate is about to expire. Update <0>Encryption settings</0>.",
|
||||||
"topline_expired_certificate": "Your SSL certificate is expired. Update <0>Encryption settings</0>.",
|
"topline_expired_certificate": "Your SSL certificate is expired. Update <0>Encryption settings</0>.",
|
||||||
"form_error_port_range": "Enter port number in the range of 80-65535",
|
"form_error_port_range": "Enter port number in the range of 80-65535",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "A new version of AdGuard Home is available",
|
"updates_checked": "A new version of AdGuard Home is available",
|
||||||
"updates_version_equal": "AdGuard Home is up-to-date",
|
"updates_version_equal": "AdGuard Home is up-to-date",
|
||||||
"check_updates_now": "Check for updates now",
|
"check_updates_now": "Check for updates now",
|
||||||
|
"version_request_error": "Update check failed. Please check your Internet connection.",
|
||||||
"dns_privacy": "DNS Privacy",
|
"dns_privacy": "DNS Privacy",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Use <1>{{address}}</1> string.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Use <1>{{address}}</1> string.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Use <1>{{address}}</1> string.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Use <1>{{address}}</1> string.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Are you sure you want to change statistics retention? If you decrease the interval value, some data will be lost",
|
"statistics_retention_confirm": "Are you sure you want to change statistics retention? If you decrease the interval value, some data will be lost",
|
||||||
"statistics_cleared": "Statistics successfully cleared",
|
"statistics_cleared": "Statistics successfully cleared",
|
||||||
"statistics_enable": "Enable statistics",
|
"statistics_enable": "Enable statistics",
|
||||||
|
"ignore_domains": "Ignored domains (separated by newline)",
|
||||||
|
"ignore_domains_title": "Ignored domains",
|
||||||
|
"ignore_domains_desc_stats": "Queries for these domains are not written to the statistics",
|
||||||
|
"ignore_domains_desc_query": "Queries for these domains are not written to the query log",
|
||||||
"interval_hours": "{{count}} hour",
|
"interval_hours": "{{count}} hour",
|
||||||
"interval_hours_plural": "{{count}} hours",
|
"interval_hours_plural": "{{count}} hours",
|
||||||
"filters_configuration": "Filters configuration",
|
"filters_configuration": "Filters configuration",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Blocklist",
|
"blocklist": "Blocklist",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Cache size",
|
"cache_size": "Cache size",
|
||||||
"cache_size_desc": "DNS cache size (in bytes).",
|
"cache_size_desc": "DNS cache size (in bytes). To disable caching, leave empty.",
|
||||||
"cache_ttl_min_override": "Override minimum TTL",
|
"cache_ttl_min_override": "Override minimum TTL",
|
||||||
"cache_ttl_max_override": "Override maximum TTL",
|
"cache_ttl_max_override": "Override maximum TTL",
|
||||||
"enter_cache_size": "Enter cache size (bytes)",
|
"enter_cache_size": "Enter cache size (bytes)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Parental Control",
|
"parental_control": "Parental Control",
|
||||||
"safe_browsing": "Safe Browsing",
|
"safe_browsing": "Safe Browsing",
|
||||||
"served_from_cache": "{{value}} <i>(served from cache)</i>",
|
"served_from_cache": "{{value}} <i>(served from cache)</i>",
|
||||||
"form_error_password_length": "Password must be at least {{value}} characters long"
|
"form_error_password_length": "Password must be at least {{value}} characters long",
|
||||||
|
"anonymizer_notification": "<0>Note:</0> IP anonymization is enabled. You can disable it in <1>General settings</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Are you sure you want to clear DNS cache?",
|
||||||
|
"cache_cleared": "DNS cache successfully cleared",
|
||||||
|
"clear_cache": "Clear cache",
|
||||||
|
"make_static": "Make static",
|
||||||
|
"theme_auto_desc": "Auto (based on the color scheme of your device)",
|
||||||
|
"theme_dark_desc": "Dark theme",
|
||||||
|
"theme_light_desc": "Light theme",
|
||||||
|
"disable_for_seconds": "For {{count}} second",
|
||||||
|
"disable_for_seconds_plural": "For {{count}} seconds",
|
||||||
|
"disable_for_minutes": "For {{count}} minute",
|
||||||
|
"disable_for_minutes_plural": "For {{count}} minutes",
|
||||||
|
"disable_for_hours": "For {{count}} hour",
|
||||||
|
"disable_for_hours_plural": "For {{count}} hours",
|
||||||
|
"disable_until_tomorrow": "Until tomorrow",
|
||||||
|
"disable_notify_for_seconds": "Disable protection for {{count}} second",
|
||||||
|
"disable_notify_for_seconds_plural": "Disable protection for {{count}} seconds",
|
||||||
|
"disable_notify_for_minutes": "Disable protection for {{count}} minute",
|
||||||
|
"disable_notify_for_minutes_plural": "Disable protection for {{count}} minutes",
|
||||||
|
"disable_notify_for_hours": "Disable protection for {{count}} hour",
|
||||||
|
"disable_notify_for_hours_plural": "Disable protection for {{count}} hours",
|
||||||
|
"disable_notify_until_tomorrow": "Disable protection until tomorrow",
|
||||||
|
"enable_protection_timer": "Protection will be enabled in {{time}}",
|
||||||
|
"custom_retention_input": "Enter retention in hours",
|
||||||
|
"custom_rotation_input": "Enter rotation in hours",
|
||||||
|
"protection_section_label": "Protection",
|
||||||
|
"log_and_stats_section_label": "Query log and statistics",
|
||||||
|
"ignore_query_log": "Ignore this client in query log",
|
||||||
|
"ignore_statistics": "Ignore this client in statistics"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Configuración DHCP IPv6",
|
"dhcp_ipv6_settings": "Configuración DHCP IPv6",
|
||||||
"form_error_required": "Campo obligatorio",
|
"form_error_required": "Campo obligatorio",
|
||||||
"form_error_ip4_format": "Dirección IPv4 no válida",
|
"form_error_ip4_format": "Dirección IPv4 no válida",
|
||||||
"form_error_ip4_range_start_format": "Dirección IPv4 no válida del inicio de rango",
|
|
||||||
"form_error_ip4_range_end_format": "Dirección IPv4 no válida del final de rango",
|
|
||||||
"form_error_ip4_gateway_format": "Dirección IPv4 no válida de la puerta de enlace",
|
"form_error_ip4_gateway_format": "Dirección IPv4 no válida de la puerta de enlace",
|
||||||
"form_error_ip6_format": "Dirección IPv6 no válida",
|
"form_error_ip6_format": "Dirección IPv6 no válida",
|
||||||
"form_error_ip_format": "Dirección IP no válida",
|
"form_error_ip_format": "Dirección IP no válida",
|
||||||
@@ -47,11 +45,10 @@
|
|||||||
"form_error_server_name": "Nombre de servidor no válido",
|
"form_error_server_name": "Nombre de servidor no válido",
|
||||||
"form_error_subnet": "La subred \"{{cidr}}\" no contiene la dirección IP \"{{ip}}\"",
|
"form_error_subnet": "La subred \"{{cidr}}\" no contiene la dirección IP \"{{ip}}\"",
|
||||||
"form_error_positive": "Debe ser mayor que 0",
|
"form_error_positive": "Debe ser mayor que 0",
|
||||||
"form_error_gateway_ip": "Asignación no puede tener la dirección IP de la puerta de enlace",
|
"form_error_gateway_ip": "La asignación no puede tener la dirección IP de la puerta de enlace",
|
||||||
"out_of_range_error": "Debe estar fuera del rango \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Debe estar fuera del rango \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Debe ser inferior que el inicio de rango",
|
"lower_range_start_error": "Debe ser inferior que el inicio de rango",
|
||||||
"greater_range_start_error": "Debe ser mayor que el inicio de rango",
|
"greater_range_start_error": "Debe ser mayor que el inicio de rango",
|
||||||
"greater_range_end_error": "Debe ser mayor que el final de rango",
|
|
||||||
"subnet_error": "Las direcciones deben estar en una subred",
|
"subnet_error": "Las direcciones deben estar en una subred",
|
||||||
"gateway_or_subnet_invalid": "Máscara de subred no válida",
|
"gateway_or_subnet_invalid": "Máscara de subred no válida",
|
||||||
"dhcp_form_gateway_input": "IP de puerta de enlace",
|
"dhcp_form_gateway_input": "IP de puerta de enlace",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Control parental habilitado",
|
"enabled_parental_toast": "Control parental habilitado",
|
||||||
"disabled_safe_search_toast": "Búsqueda segura deshabilitada",
|
"disabled_safe_search_toast": "Búsqueda segura deshabilitada",
|
||||||
"enabled_save_search_toast": "Búsqueda segura habilitada",
|
"enabled_save_search_toast": "Búsqueda segura habilitada",
|
||||||
|
"updated_save_search_toast": "Configuración de búsqueda segura actualizada",
|
||||||
"enabled_table_header": "Habilitado",
|
"enabled_table_header": "Habilitado",
|
||||||
"name_table_header": "Nombre",
|
"name_table_header": "Nombre",
|
||||||
"list_url_table_header": "URL de la lista",
|
"list_url_table_header": "URL de la lista",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# También un comentario.",
|
"example_comment_hash": "# También un comentario.",
|
||||||
"example_regex_meaning": "bloquea el acceso a los dominios que coincidan con la expresión regular especificada.",
|
"example_regex_meaning": "bloquea el acceso a los dominios que coincidan con la expresión regular especificada.",
|
||||||
"example_upstream_regular": "DNS regular (mediante UDP).",
|
"example_upstream_regular": "DNS regular (mediante UDP).",
|
||||||
|
"example_upstream_regular_port": "DNS regular (mediante UDP, con puerto).",
|
||||||
"example_upstream_udp": "DNS regular (mediante UDP, nombre del host).",
|
"example_upstream_udp": "DNS regular (mediante UDP, nombre del host).",
|
||||||
"example_upstream_dot": "cifrado <0>DNS mediante TLS</0>.",
|
"example_upstream_dot": "cifrado <0>DNS mediante TLS</0>.",
|
||||||
"example_upstream_doh": "cifrado <0>DNS mediante HTTPS</0>.",
|
"example_upstream_doh": "cifrado <0>DNS mediante HTTPS</0>.",
|
||||||
|
"example_upstream_doh3": "cifrado DNS mediante HTTPS con <0>HTTP/3</0> forzado y sin alternativa a HTTP/2 o inferior.",
|
||||||
"example_upstream_doq": "cifrado <0>DNS mediante QUIC</0>.",
|
"example_upstream_doq": "cifrado <0>DNS mediante QUIC</0>.",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> para <1>DNSCrypt</1> o resolutores <2>DNS mediante HTTPS</2>.",
|
"example_upstream_sdns": "<0>DNS Stamps</0> para <1>DNSCrypt</1> o resolutores <2>DNS mediante HTTPS</2>.",
|
||||||
"example_upstream_tcp": "DNS regular (mediante TCP).",
|
"example_upstream_tcp": "DNS regular (mediante TCP).",
|
||||||
|
"example_upstream_tcp_port": "DNS regular (mediante TCP, con puerto).",
|
||||||
"example_upstream_tcp_hostname": "DNS regular (mediante TCP, nombre del host).",
|
"example_upstream_tcp_hostname": "DNS regular (mediante TCP, nombre del host).",
|
||||||
"all_lists_up_to_date_toast": "Todas las listas ya están actualizadas",
|
"all_lists_up_to_date_toast": "Todas las listas ya están actualizadas",
|
||||||
"updated_upstream_dns_toast": "Servidores DNS de subida guardados correctamente",
|
"updated_upstream_dns_toast": "Servidores DNS de subida guardados correctamente",
|
||||||
"dns_test_ok_toast": "Los servidores DNS especificados funcionan correctamente",
|
"dns_test_ok_toast": "Los servidores DNS especificados funcionan correctamente",
|
||||||
"dns_test_not_ok_toast": "Servidor \"{{key}}\": no se puede utilizar, por favor revisa si lo has escrito correctamente",
|
"dns_test_not_ok_toast": "Servidor \"{{key}}\": no se puede utilizar, por favor revisa si lo has escrito correctamente",
|
||||||
|
"dns_test_warning_toast": "DNS de subida \"{{key}}\" no responde a las peticiones de prueba y es posible que no funcione correctamente",
|
||||||
"unblock": "Desbloquear",
|
"unblock": "Desbloquear",
|
||||||
"block": "Bloquear",
|
"block": "Bloquear",
|
||||||
"disallow_this_client": "No permitir a este cliente",
|
"disallow_this_client": "No permitir a este cliente",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "El registro de consultas se ha borrado correctamente",
|
"query_log_cleared": "El registro de consultas se ha borrado correctamente",
|
||||||
"query_log_updated": "El registro de consultas se ha actualizado correctamente",
|
"query_log_updated": "El registro de consultas se ha actualizado correctamente",
|
||||||
"query_log_clear": "Borrar registros de consultas",
|
"query_log_clear": "Borrar registros de consultas",
|
||||||
"query_log_retention": "Retención de registros de consultas",
|
"query_log_retention": "Rotanción de registros de consultas",
|
||||||
"query_log_enable": "Habilitar registro",
|
"query_log_enable": "Habilitar registro",
|
||||||
"query_log_configuration": "Configuración de registros",
|
"query_log_configuration": "Configuración de registros",
|
||||||
"query_log_disabled": "El registro de consultas está deshabilitado y se puede configurar en la <0>configuración</0>",
|
"query_log_disabled": "El registro de consultas está deshabilitado y se puede configurar en la <0>configuración</0>",
|
||||||
"query_log_strict_search": "Usar comillas dobles para una búsqueda estricta",
|
"query_log_strict_search": "Usar comillas dobles para una búsqueda estricta",
|
||||||
"query_log_retention_confirm": "¿Estás seguro de que deseas cambiar la retención del registro de consultas? Si disminuye el valor del intervalo, se perderán algunos datos",
|
"query_log_retention_confirm": "¿Está seguro de que deseas cambiar la rotación del registro de consultas? Si reduces el valor del intervalo, se perderán algunos datos",
|
||||||
"anonymize_client_ip": "Anonimizar IP del cliente",
|
"anonymize_client_ip": "Anonimizar IP del cliente",
|
||||||
"anonymize_client_ip_desc": "No guarda la dirección IP completa del cliente en registros o estadísticas",
|
"anonymize_client_ip_desc": "No guarda la dirección IP completa del cliente en registros o estadísticas",
|
||||||
"dns_config": "Configuración del servidor DNS",
|
"dns_config": "Configuración del servidor DNS",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Límite de cantidad",
|
"rate_limit": "Límite de cantidad",
|
||||||
"edns_enable": "Habilitar subred de cliente EDNS",
|
"edns_enable": "Habilitar subred de cliente EDNS",
|
||||||
"edns_cs_desc": "Añade la opción subred de cliente EDNS (ECS) a las peticiones del DNS de subida y registra los valores enviados por los clientes en el registro de consultas.",
|
"edns_cs_desc": "Añade la opción subred de cliente EDNS (ECS) a las peticiones del DNS de subida y registra los valores enviados por los clientes en el registro de consultas.",
|
||||||
|
"edns_use_custom_ip": "Usar IP personalizada para EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Permitir el uso de IP personalizadas para EDNS",
|
||||||
"rate_limit_desc": "Número de peticiones por segundo permitidas por cliente. Establecerlo en 0 significa que no hay límite.",
|
"rate_limit_desc": "Número de peticiones por segundo permitidas por cliente. Establecerlo en 0 significa que no hay límite.",
|
||||||
"blocking_ipv4_desc": "Dirección IP devolverá una petición A bloqueada",
|
"blocking_ipv4_desc": "Dirección IP devolverá una petición A bloqueada",
|
||||||
"blocking_ipv6_desc": "Dirección IP devolverá una petición AAAA bloqueada",
|
"blocking_ipv6_desc": "Dirección IP devolverá una petición AAAA bloqueada",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Responde con el código NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Responde con el código NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "IP nulo: Responde con dirección IP cero (0.0.0.0 para A; :: para AAAA)",
|
"blocking_mode_null_ip": "IP nulo: Responde con dirección IP cero (0.0.0.0 para A; :: para AAAA)",
|
||||||
"blocking_mode_custom_ip": "IP personalizada: Responde con una dirección IP establecida manualmente",
|
"blocking_mode_custom_ip": "IP personalizada: Responde con una dirección IP establecida manualmente",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Claro",
|
||||||
|
"theme_dark": "Oscuro",
|
||||||
"upstream_dns_client_desc": "Si se mantiene este campo vacío, AdGuard Home utilizará los servidores configurados en la <0>configuración del DNS</0>.",
|
"upstream_dns_client_desc": "Si se mantiene este campo vacío, AdGuard Home utilizará los servidores configurados en la <0>configuración del DNS</0>.",
|
||||||
"tracker_source": "Fuente del rastreador",
|
"tracker_source": "Fuente del rastreador",
|
||||||
"source_label": "Fuente",
|
"source_label": "Fuente",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Configuración de cifrado guardado",
|
"encryption_config_saved": "Configuración de cifrado guardado",
|
||||||
"encryption_server": "Nombre del servidor",
|
"encryption_server": "Nombre del servidor",
|
||||||
"encryption_server_enter": "Ingresa el nombre del dominio",
|
"encryption_server_enter": "Ingresa el nombre del dominio",
|
||||||
"encryption_server_desc": "Para utilizar HTTPS, debes ingresar el nombre del servidor que coincida con tu certificado SSL o certificado comodín. Si el campo no está establecido, el servidor aceptará conexiones TLS para cualquier dominio.",
|
"encryption_server_desc": "Si se configura, AdGuard Home detecta los ID de clientes, responde a las consultas DDR y realiza validaciones de conexión adicionales. Si no se configura, estas funciones se deshabilitarán. Debe coincidir con uno de los nombres DNS del certificado.",
|
||||||
"encryption_redirect": "Redireccionar a HTTPS automáticamente",
|
"encryption_redirect": "Redireccionar a HTTPS automáticamente",
|
||||||
"encryption_redirect_desc": "Si está marcado, AdGuard Home redireccionará automáticamente de HTTP a las direcciones HTTPS.",
|
"encryption_redirect_desc": "Si está marcado, AdGuard Home redireccionará automáticamente de HTTP a las direcciones HTTPS.",
|
||||||
"encryption_https": "Puerto HTTPS",
|
"encryption_https": "Puerto HTTPS",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Emisor",
|
"encryption_issuer": "Emisor",
|
||||||
"encryption_hostnames": "Nombres de hosts",
|
"encryption_hostnames": "Nombres de hosts",
|
||||||
"encryption_reset": "¿Estás seguro de que deseas restablecer la configuración de cifrado?",
|
"encryption_reset": "¿Estás seguro de que deseas restablecer la configuración de cifrado?",
|
||||||
|
"encryption_warning": "Advertencia",
|
||||||
"topline_expiring_certificate": "Tu certificado SSL está a punto de expirar. Actualiza la <0>configuración de cifrado</0>.",
|
"topline_expiring_certificate": "Tu certificado SSL está a punto de expirar. Actualiza la <0>configuración de cifrado</0>.",
|
||||||
"topline_expired_certificate": "Tu certificado SSL ha expirado. Actualiza la <0>configuración de cifrado</0>.",
|
"topline_expired_certificate": "Tu certificado SSL ha expirado. Actualiza la <0>configuración de cifrado</0>.",
|
||||||
"form_error_port_range": "Ingresa el número del puerto en el rango de 80 a 65535",
|
"form_error_port_range": "Ingresa el número del puerto en el rango de 80 a 65535",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "La nueva versión de AdGuard Home está disponible",
|
"updates_checked": "La nueva versión de AdGuard Home está disponible",
|
||||||
"updates_version_equal": "AdGuard Home está actualizado",
|
"updates_version_equal": "AdGuard Home está actualizado",
|
||||||
"check_updates_now": "Buscar actualizaciones ahora",
|
"check_updates_now": "Buscar actualizaciones ahora",
|
||||||
|
"version_request_error": "Error buscar la actualización. Comprueba tu conexión a Internet.",
|
||||||
"dns_privacy": "DNS cifrado",
|
"dns_privacy": "DNS cifrado",
|
||||||
"setup_dns_privacy_1": "<0>DNS mediante TLS:</0> Utiliza la cadena <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS mediante TLS:</0> Utiliza la cadena <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS mediante HTTPS:</0> Utiliza la cadena <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS mediante HTTPS:</0> Utiliza la cadena <1>{{address}}</1>.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "¿Estás seguro de que deseas cambiar la retención de estadísticas? Si disminuye el valor del intervalo, se perderán algunos datos",
|
"statistics_retention_confirm": "¿Estás seguro de que deseas cambiar la retención de estadísticas? Si disminuye el valor del intervalo, se perderán algunos datos",
|
||||||
"statistics_cleared": "Estadísticas borradas correctamente",
|
"statistics_cleared": "Estadísticas borradas correctamente",
|
||||||
"statistics_enable": "Habilitar estadísticas",
|
"statistics_enable": "Habilitar estadísticas",
|
||||||
|
"ignore_domains": "Dominios ignorados (separados por una nueva línea)",
|
||||||
|
"ignore_domains_title": "Dominios ignorados",
|
||||||
|
"ignore_domains_desc_stats": "Las consultas para estos dominios no aparecen en las estadísticas",
|
||||||
|
"ignore_domains_desc_query": "Las consultas para estos dominios no aparecen en el registro de consultas",
|
||||||
"interval_hours": "{{count}} hora",
|
"interval_hours": "{{count}} hora",
|
||||||
"interval_hours_plural": "{{count}} horas",
|
"interval_hours_plural": "{{count}} horas",
|
||||||
"filters_configuration": "Configuración de filtros",
|
"filters_configuration": "Configuración de filtros",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Lista de bloqueo",
|
"blocklist": "Lista de bloqueo",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Tamaño de la caché",
|
"cache_size": "Tamaño de la caché",
|
||||||
"cache_size_desc": "Tamaño de la caché DNS (en bytes).",
|
"cache_size_desc": "Tamaño de la caché DNS (en bytes). Para deshabilitar el almacenamiento en caché, déjalo vacío.",
|
||||||
"cache_ttl_min_override": "Anular TTL mínimo",
|
"cache_ttl_min_override": "Anular TTL mínimo",
|
||||||
"cache_ttl_max_override": "Anular TTL máximo",
|
"cache_ttl_max_override": "Anular TTL máximo",
|
||||||
"enter_cache_size": "Ingresa el tamaño de la caché (bytes)",
|
"enter_cache_size": "Ingresa el tamaño de la caché (bytes)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Control parental",
|
"parental_control": "Control parental",
|
||||||
"safe_browsing": "Navegación segura",
|
"safe_browsing": "Navegación segura",
|
||||||
"served_from_cache": "{{value}} <i>(servido desde la caché)</i>",
|
"served_from_cache": "{{value}} <i>(servido desde la caché)</i>",
|
||||||
"form_error_password_length": "La contraseña debe tener al menos {{value}} caracteres"
|
"form_error_password_length": "La contraseña debe tener al menos {{value}} caracteres",
|
||||||
|
"anonymizer_notification": "<0>Nota:</0> La anonimización de IP está habilitada. Puedes deshabilitarla en <1>Configuración general</1>.",
|
||||||
|
"confirm_dns_cache_clear": "¿Estás seguro de que deseas borrar la caché DNS?",
|
||||||
|
"cache_cleared": "Caché DNS borrado correctamente",
|
||||||
|
"clear_cache": "Borrar caché",
|
||||||
|
"make_static": "Hacer estático",
|
||||||
|
"theme_auto_desc": "Automático (basado en el esquema de colores de tu dispositivo)",
|
||||||
|
"theme_dark_desc": "Tema oscuro",
|
||||||
|
"theme_light_desc": "Tema claro",
|
||||||
|
"disable_for_seconds": "Por {{count}} segundo",
|
||||||
|
"disable_for_seconds_plural": "Por {{count}} segundos",
|
||||||
|
"disable_for_minutes": "Por {{count}} minuto",
|
||||||
|
"disable_for_minutes_plural": "Por {{count}} minutos",
|
||||||
|
"disable_for_hours": "Por {{count}} hora",
|
||||||
|
"disable_for_hours_plural": "Por {{count}} horas",
|
||||||
|
"disable_until_tomorrow": "Hasta mañana",
|
||||||
|
"disable_notify_for_seconds": "Desactivar la protección por {{count}} segundo",
|
||||||
|
"disable_notify_for_seconds_plural": "Desactivar la protección por {{count}} segundos",
|
||||||
|
"disable_notify_for_minutes": "Desactivar la protección por {{count}} minuto",
|
||||||
|
"disable_notify_for_minutes_plural": "Desactivar la protección por {{count}} minutos",
|
||||||
|
"disable_notify_for_hours": "Desactivar la protección por {{count}} hora",
|
||||||
|
"disable_notify_for_hours_plural": "Desactivar la protección por {{count}} horas",
|
||||||
|
"disable_notify_until_tomorrow": "Desactivar la protección hasta mañana",
|
||||||
|
"enable_protection_timer": "La protección se activará en {{time}}",
|
||||||
|
"custom_retention_input": "Ingresa la retención en horas",
|
||||||
|
"custom_rotation_input": "Ingresa la rotación en horas",
|
||||||
|
"protection_section_label": "Protección",
|
||||||
|
"log_and_stats_section_label": "Registro de consultas y estadísticas",
|
||||||
|
"ignore_query_log": "Ignorar este cliente en el registro de consultas",
|
||||||
|
"ignore_statistics": "Ignorar este cliente en las estadísticas"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
{
|
{
|
||||||
"client_settings": "تنظیمات کلاینت",
|
"client_settings": "تنظیمات کلاینت",
|
||||||
"example_upstream_reserved": "میتوانید جریان ارسالی DNS <0> را برای یک دامنه مشخص تعیین کنید </0>",
|
"example_upstream_reserved": "میتوانید جریان ارسالی DNS <0> را برای یک دامنه مشخص تعیین کنید </0>",
|
||||||
|
"example_upstream_comment": "یک نظر.",
|
||||||
"upstream_parallel": "استفاده از جستار موازی برای سرعت دادن به تفکیک با جستار همزمان همه جریان های ارسالی",
|
"upstream_parallel": "استفاده از جستار موازی برای سرعت دادن به تفکیک با جستار همزمان همه جریان های ارسالی",
|
||||||
"parallel_requests": "درخواست های موازی",
|
"parallel_requests": "درخواست های موازی",
|
||||||
|
"load_balancing": "متعادل کننده بار",
|
||||||
"bootstrap_dns": "خودراه انداز سرورهای DNS",
|
"bootstrap_dns": "خودراه انداز سرورهای DNS",
|
||||||
"bootstrap_dns_desc": "خودراه انداز سرورهای DNS برای تفکیک آدرس آی پی تفکیک کننده های DoH/DoT که شما بعنوان جریان ارسالی تعیین کردید استفاده میشود.",
|
"bootstrap_dns_desc": "خودراه انداز سرورهای DNS برای تفکیک آدرس آی پی تفکیک کننده های DoH/DoT که شما بعنوان جریان ارسالی تعیین کردید استفاده میشود.",
|
||||||
"local_ptr_title": "سرورهای خصوصی DNS",
|
"local_ptr_title": "سرورهای خصوصی DNS",
|
||||||
|
"local_ptr_desc": "سرور یا سرور های DNS ای که AdGuard Home برای درخواست های منابع محلی ارائه شده مورد استفاده قرار خواهد داد. برای مثال، این سرور برای تعیین نام های سرویس دهنده برای سرویس گیرنده با آدرس های آی پی خصوصی مورد استفاده قرار خواهد گرفت. اگر تعیین نشود،AdGuard Home به طور خودکار از تعیین کننده ی DNS پیش فرض شما استفاده خواهد کرد.",
|
||||||
"local_ptr_default_resolver": "به طور پیش فرض، AdGuard Home از تعیین کننده های DNS معکوس زیر استفاده می کند: {{ip}}.",
|
"local_ptr_default_resolver": "به طور پیش فرض، AdGuard Home از تعیین کننده های DNS معکوس زیر استفاده می کند: {{ip}}.",
|
||||||
"local_ptr_no_default_resolver": "AdGuard Home نتوانست برای این دستگاه تعیین کننده های DNS معکوس محرمانه مناسب را معین کند.",
|
"local_ptr_no_default_resolver": "AdGuard Home نتوانست برای این دستگاه تعیین کننده های DNS معکوس محرمانه مناسب را معین کند.",
|
||||||
"local_ptr_placeholder": "در هر خط یک آدرس سرور را وارد کنید",
|
"local_ptr_placeholder": "در هر خط یک آدرس سرور را وارد کنید",
|
||||||
@@ -29,8 +32,6 @@
|
|||||||
"dhcp_config_saved": "پیکربندی سرور DHCP ذخیره شده است",
|
"dhcp_config_saved": "پیکربندی سرور DHCP ذخیره شده است",
|
||||||
"form_error_required": "فیلد مورد نیاز",
|
"form_error_required": "فیلد مورد نیاز",
|
||||||
"form_error_ip4_format": "فرمت نامعتبر IPv4",
|
"form_error_ip4_format": "فرمت نامعتبر IPv4",
|
||||||
"form_error_ip4_range_start_format": "قالب IPv4 شروع دامنه نامعتبر است",
|
|
||||||
"form_error_ip4_range_end_format": "قالب IPv4 پایان دامنه نامعتبر است",
|
|
||||||
"form_error_ip4_gateway_format": "قالب IPv4 درگاه نامعتبر است",
|
"form_error_ip4_gateway_format": "قالب IPv4 درگاه نامعتبر است",
|
||||||
"form_error_ip6_format": "فرمت نامعتبر IPv6",
|
"form_error_ip6_format": "فرمت نامعتبر IPv6",
|
||||||
"form_error_ip_format": "فرمت IPv4 نامعتبر است",
|
"form_error_ip_format": "فرمت IPv4 نامعتبر است",
|
||||||
@@ -41,7 +42,6 @@
|
|||||||
"out_of_range_error": "باید خارج از دامنه باشد\"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "باید خارج از دامنه باشد\"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "باید کمتر از شروع دامنه باشد",
|
"lower_range_start_error": "باید کمتر از شروع دامنه باشد",
|
||||||
"greater_range_start_error": "باید بیشتر از شروع دامنه باشد",
|
"greater_range_start_error": "باید بیشتر از شروع دامنه باشد",
|
||||||
"greater_range_end_error": "باید بیشتر از پایان دامنه باشد",
|
|
||||||
"subnet_error": "آدرس ها باید در یک زیرشبکه باشند",
|
"subnet_error": "آدرس ها باید در یک زیرشبکه باشند",
|
||||||
"gateway_or_subnet_invalid": "پوشش زیرشبکه نامعتبر است",
|
"gateway_or_subnet_invalid": "پوشش زیرشبکه نامعتبر است",
|
||||||
"dhcp_form_gateway_input": "آی پی دروازه",
|
"dhcp_form_gateway_input": "آی پی دروازه",
|
||||||
@@ -207,6 +207,9 @@
|
|||||||
"dns_test_not_ok_toast": "سرور \"{{key}}\": نمیتواند مورد استفاده قرار گیرد،لطفا بررسی کنید آن را بدرستی نوشته اید",
|
"dns_test_not_ok_toast": "سرور \"{{key}}\": نمیتواند مورد استفاده قرار گیرد،لطفا بررسی کنید آن را بدرستی نوشته اید",
|
||||||
"unblock": "رفع انسداد",
|
"unblock": "رفع انسداد",
|
||||||
"block": "مسدود کردن",
|
"block": "مسدود کردن",
|
||||||
|
"disallow_this_client": "این مشتری را رد کنید",
|
||||||
|
"allow_this_client": "به این مشتری اجازه دهید",
|
||||||
|
"block_for_this_client_only": "مسدود کردن فقط برای این مشتری",
|
||||||
"time_table_header": "زمان",
|
"time_table_header": "زمان",
|
||||||
"date": "تاریخ",
|
"date": "تاریخ",
|
||||||
"domain_name_table_header": "نام دامنه",
|
"domain_name_table_header": "نام دامنه",
|
||||||
@@ -265,6 +268,8 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: پاسخ با کُد NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: پاسخ با کُد NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "Null IP: پاسخ با آدرس آی پی صفر(0.0.0.0 برای A; :: برای AAAA)",
|
"blocking_mode_null_ip": "Null IP: پاسخ با آدرس آی پی صفر(0.0.0.0 برای A; :: برای AAAA)",
|
||||||
"blocking_mode_custom_ip": "آی پی دستی: پاسخ با آدرس آی پی دستی تنظیم شده",
|
"blocking_mode_custom_ip": "آی پی دستی: پاسخ با آدرس آی پی دستی تنظیم شده",
|
||||||
|
"theme_light": "پوسته روشن",
|
||||||
|
"theme_dark": "پوسته تیره",
|
||||||
"upstream_dns_client_desc": "اگر این فیلد را خالی نگه دارید، AdGuard Home از سرور پیکربندی شده در <0> تنظیماتDNS </0> استفاده می کند.",
|
"upstream_dns_client_desc": "اگر این فیلد را خالی نگه دارید، AdGuard Home از سرور پیکربندی شده در <0> تنظیماتDNS </0> استفاده می کند.",
|
||||||
"tracker_source": "منبع ردیاب",
|
"tracker_source": "منبع ردیاب",
|
||||||
"source_label": "منبع",
|
"source_label": "منبع",
|
||||||
@@ -320,6 +325,7 @@
|
|||||||
"install_devices_android_list_5": "گروه مقادیر DNS 1 و DNS 2 را به آدرس سرور AdGuard Home خود تغییر دهید.",
|
"install_devices_android_list_5": "گروه مقادیر DNS 1 و DNS 2 را به آدرس سرور AdGuard Home خود تغییر دهید.",
|
||||||
"install_devices_ios_list_1": "از صفحه خانه،تنظیمات را فشار دهید.",
|
"install_devices_ios_list_1": "از صفحه خانه،تنظیمات را فشار دهید.",
|
||||||
"install_devices_ios_list_2": "وای فای را از منوی چپ انتخاب کنید (پیکربندی DNS دستی برای ارتباط موبایلی غیرممکن است).",
|
"install_devices_ios_list_2": "وای فای را از منوی چپ انتخاب کنید (پیکربندی DNS دستی برای ارتباط موبایلی غیرممکن است).",
|
||||||
|
"install_devices_ios_list_3": "روی نام شبکه فعال فعلی کلیک کنید.",
|
||||||
"install_devices_ios_list_4": "در فیلد DNS آدرس سرور AdGuard Home را وارد کنید",
|
"install_devices_ios_list_4": "در فیلد DNS آدرس سرور AdGuard Home را وارد کنید",
|
||||||
"get_started": "شروع به کار",
|
"get_started": "شروع به کار",
|
||||||
"next": "بعدی",
|
"next": "بعدی",
|
||||||
@@ -354,6 +360,7 @@
|
|||||||
"encryption_issuer": "صادر کننده",
|
"encryption_issuer": "صادر کننده",
|
||||||
"encryption_hostnames": "نام میزبان",
|
"encryption_hostnames": "نام میزبان",
|
||||||
"encryption_reset": "آیا میخواهید تنظیمات رمزگُذاری به پیش فرض بازگردد؟",
|
"encryption_reset": "آیا میخواهید تنظیمات رمزگُذاری به پیش فرض بازگردد؟",
|
||||||
|
"encryption_warning": "هشدار",
|
||||||
"topline_expiring_certificate": "گواهینامه اِس اِس اِل شما در صدد انقضاء است. <0>تنظیمات رمزگُذاری</0> را بروز رسانی کنید.",
|
"topline_expiring_certificate": "گواهینامه اِس اِس اِل شما در صدد انقضاء است. <0>تنظیمات رمزگُذاری</0> را بروز رسانی کنید.",
|
||||||
"topline_expired_certificate": "گواهینامه اِس اِس اِل شما منقضی شده است. <0>تنظیمات رمزگُذاری</0> را بروز رسانی کنید.",
|
"topline_expired_certificate": "گواهینامه اِس اِس اِل شما منقضی شده است. <0>تنظیمات رمزگُذاری</0> را بروز رسانی کنید.",
|
||||||
"form_error_port_range": "مقدار پورت را در محدوده 80-65535 وارد کنید",
|
"form_error_port_range": "مقدار پورت را در محدوده 80-65535 وارد کنید",
|
||||||
@@ -414,6 +421,7 @@
|
|||||||
"updates_checked": "نسخه جدیدی از AdGuard Home در دسترس است",
|
"updates_checked": "نسخه جدیدی از AdGuard Home در دسترس است",
|
||||||
"updates_version_equal": "AdGuard Home بروز است",
|
"updates_version_equal": "AdGuard Home بروز است",
|
||||||
"check_updates_now": "حالا بررسی برای بروز رسانی",
|
"check_updates_now": "حالا بررسی برای بروز رسانی",
|
||||||
|
"version_request_error": "بررسی بروزرسانی موفق نشد.لطفا ارتباط اینترنتی خود را بررسی کنید",
|
||||||
"dns_privacy": "حریم خصوصی DNS",
|
"dns_privacy": "حریم خصوصی DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> استفاده از<1>{{address}}</1> .",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> استفاده از<1>{{address}}</1> .",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> استفاده از <1>{{address}}</1> .",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> استفاده از <1>{{address}}</1> .",
|
||||||
@@ -552,6 +560,7 @@
|
|||||||
"safe_search": "جستجوی اَمن",
|
"safe_search": "جستجوی اَمن",
|
||||||
"blocklist": "لیست سیاه",
|
"blocklist": "لیست سیاه",
|
||||||
"milliseconds_abbreviation": "هـ ثـ",
|
"milliseconds_abbreviation": "هـ ثـ",
|
||||||
|
"cache_size": "اندازه کش",
|
||||||
"cache_optimistic": "حالت ویژه پردازش",
|
"cache_optimistic": "حالت ویژه پردازش",
|
||||||
"cache_optimistic_desc": "AdGuard Home را وادار می کند که از سمت حافظه پنهان پاسخ دهد حتی وقتی که موارد وارد شده منقضی شده باشد و همچنین سعی بر تازه کردن آنها می کند.",
|
"cache_optimistic_desc": "AdGuard Home را وادار می کند که از سمت حافظه پنهان پاسخ دهد حتی وقتی که موارد وارد شده منقضی شده باشد و همچنین سعی بر تازه کردن آنها می کند.",
|
||||||
"filter_category_general": "General",
|
"filter_category_general": "General",
|
||||||
@@ -560,5 +569,6 @@
|
|||||||
"use_saved_key": "از کلید ذخیره شده قبلی استفاده کنید",
|
"use_saved_key": "از کلید ذخیره شده قبلی استفاده کنید",
|
||||||
"parental_control": "نظارت والدین",
|
"parental_control": "نظارت والدین",
|
||||||
"safe_browsing": "وب گردی اَمن",
|
"safe_browsing": "وب گردی اَمن",
|
||||||
"form_error_password_length": "رمزعبور باید حداقل {{value}} کاراکتر باشد."
|
"form_error_password_length": "رمزعبور باید حداقل {{value}} کاراکتر باشد.",
|
||||||
|
"protection_section_label": "حفاظت"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,12 +9,12 @@
|
|||||||
"bootstrap_dns": "Bootstrap DNS-palvelimet",
|
"bootstrap_dns": "Bootstrap DNS-palvelimet",
|
||||||
"bootstrap_dns_desc": "Bootstrap DNS-palvelimia käytetään ylävirroiksi määritettyjen DoH/DoT-resolvereiden IP-osoitteiden selvitykseen.",
|
"bootstrap_dns_desc": "Bootstrap DNS-palvelimia käytetään ylävirroiksi määritettyjen DoH/DoT-resolvereiden IP-osoitteiden selvitykseen.",
|
||||||
"local_ptr_title": "Yksityiset käänteiset DNS-palvelimet",
|
"local_ptr_title": "Yksityiset käänteiset DNS-palvelimet",
|
||||||
"local_ptr_desc": "DNS-palvelimet, joita AdGuard Home käyttää paikallisille PTR-kyselyille. Näitä palvelimia käytetään yksityistä IP-osoitetta käyttävien PTR-kyselyiden osoitteiden, kuten \"192.168.12.34\", selvitykseen käänteisen DNS:n avulla. Jos ei käytössä, AdGuard Home käyttää käyttöjärjestelmän oletusarvoisia DNS-resolvereita, poislukien AdGuard Homen omat osoitteet.",
|
"local_ptr_desc": "DNS-palvelimet, joita AdGuard Home käyttää paikallisille PTR-pyynnöille. Näitä palvelimia käytetään yksityistä IP-osoitetta käyttävien PTR-pyyntöjen osoitteiden, kuten \"192.168.12.34\", selvitykseen käänteisen DNS:n avulla. Jos ei käytössä, AdGuard Home käyttää käyttöjärjestelmän oletusarvoisia DNS-resolvereita, poislukien AdGuard Homen omat osoitteet.",
|
||||||
"local_ptr_default_resolver": "Oletusarvoisesti AdGuard Home käyttää seuraavia käänteisiä DNS-resolvereita: {{ip}}.",
|
"local_ptr_default_resolver": "Oletusarvoisesti AdGuard Home käyttää seuraavia käänteisiä DNS-resolvereita: {{ip}}.",
|
||||||
"local_ptr_no_default_resolver": "AdGuard Home ei voinut määrittää tälle järjestelmälle sopivaa yksityistä käänteistä DNS-resolveria.",
|
"local_ptr_no_default_resolver": "AdGuard Home ei voinut määrittää tälle järjestelmälle sopivaa yksityistä käänteistä DNS-resolveria.",
|
||||||
"local_ptr_placeholder": "Syötä yksi palvelimen osoite per rivi",
|
"local_ptr_placeholder": "Syötä yksi palvelimen osoite per rivi",
|
||||||
"resolve_clients_title": "Käytä päätelaitteiden IP-osoitteille käänteistä selvitystä",
|
"resolve_clients_title": "Käytä päätelaitteiden IP-osoitteille käänteistä selvitystä",
|
||||||
"resolve_clients_desc": "Selvitä päätelaitteiden IP-osoitteiden isäntänimet käänteisesti lähettämällä PTR-kyselyt sopiville resolvereille (yksityiset DNS-palvelimet paikallisille päätelaitteille, lähtevät palvelimet päätelaitteille, joilla on julkiset IP-osoitteet).",
|
"resolve_clients_desc": "Selvitä päätelaitteiden IP-osoitteiden isäntänimet käänteisesti lähettämällä PTR-pyynnöt sopiville resolvereille (yksityiset DNS-palvelimet paikallisille päätelaitteille, lähtevät palvelimet päätelaitteille, joilla on julkiset IP-osoitteet).",
|
||||||
"use_private_ptr_resolvers_title": "Käytä yksityisiä käänteisiä DNS-resolvereita",
|
"use_private_ptr_resolvers_title": "Käytä yksityisiä käänteisiä DNS-resolvereita",
|
||||||
"use_private_ptr_resolvers_desc": "Suorita käänteiset DNS-selvitykset paikallisesti tarjotuille osoitteille käyttäen näitä ylävirran palvelimia. Jos ei käytössä, vastaa AdGuard Home kaikkiin sen tyyppisiin PTR-pyyntöihin NXDOMAIN-arvolla, pois lukien DHCP, /etc/hosts, yms. -tiedoista tunnistettut päätelaitteet.",
|
"use_private_ptr_resolvers_desc": "Suorita käänteiset DNS-selvitykset paikallisesti tarjotuille osoitteille käyttäen näitä ylävirran palvelimia. Jos ei käytössä, vastaa AdGuard Home kaikkiin sen tyyppisiin PTR-pyyntöihin NXDOMAIN-arvolla, pois lukien DHCP, /etc/hosts, yms. -tiedoista tunnistettut päätelaitteet.",
|
||||||
"check_dhcp_servers": "Etsi DHCP-palvelimia",
|
"check_dhcp_servers": "Etsi DHCP-palvelimia",
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
"unavailable_dhcp": "DHCP ei ole käytettävissä",
|
"unavailable_dhcp": "DHCP ei ole käytettävissä",
|
||||||
"unavailable_dhcp_desc": "AdGuard Home ei voi suorittaa DHCP-palvelinta käyttöjärjestelmässäsi",
|
"unavailable_dhcp_desc": "AdGuard Home ei voi suorittaa DHCP-palvelinta käyttöjärjestelmässäsi",
|
||||||
"dhcp_title": "DHCP-palvelin (kokeellinen!)",
|
"dhcp_title": "DHCP-palvelin (kokeellinen!)",
|
||||||
"dhcp_description": "Jos reitittimessäsi ei ole DHCP-asetuksia, voit käyttää AdGuard Homen omaa sisäänrakennettua DHCP-palvelinta.",
|
"dhcp_description": "Jollei reitittimesi tarjoa DHCP-asetuksia, voit käyttää AdGuard Homen omaa sisäänrakennettua DHCP-palvelinta.",
|
||||||
"dhcp_enable": "Ota DHCP-palvelin käyttöön",
|
"dhcp_enable": "Ota DHCP-palvelin käyttöön",
|
||||||
"dhcp_disable": "Poista DHCP-palvelin käytöstä",
|
"dhcp_disable": "Poista DHCP-palvelin käytöstä",
|
||||||
"dhcp_not_found": "On turvallista ottaa sisäänrakennettu DHCP-palvelin käyttöön, koska AdGuard Home ei havainnut verkossa muita aktiivisia DHCP-palvelimia. Suosittelemme, että varmistat tämän vielä itse, koska automaattinen tunnistus ei ole 100% varma.",
|
"dhcp_not_found": "On turvallista ottaa sisäänrakennettu DHCP-palvelin käyttöön, koska AdGuard Home ei havainnut verkossa muita aktiivisia DHCP-palvelimia. Suosittelemme, että varmistat tämän vielä itse, koska automaattinen tunnistus ei ole 100% varma.",
|
||||||
@@ -37,13 +37,11 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP:n IPv6-asetukset",
|
"dhcp_ipv6_settings": "DHCP:n IPv6-asetukset",
|
||||||
"form_error_required": "Pakollinen kenttä",
|
"form_error_required": "Pakollinen kenttä",
|
||||||
"form_error_ip4_format": "Virheellinen IPv4-osoite",
|
"form_error_ip4_format": "Virheellinen IPv4-osoite",
|
||||||
"form_error_ip4_range_start_format": "Virheellinen IPv4-osoitealueen aloitusosoite",
|
|
||||||
"form_error_ip4_range_end_format": "Virheellinen IPv4-osoitealueen päätösosoite",
|
|
||||||
"form_error_ip4_gateway_format": "Virheellinen yhdyskäytävän IPv4-osoite",
|
"form_error_ip4_gateway_format": "Virheellinen yhdyskäytävän IPv4-osoite",
|
||||||
"form_error_ip6_format": "Virheellinen IPv6-osoite",
|
"form_error_ip6_format": "Virheellinen IPv6-osoite",
|
||||||
"form_error_ip_format": "Virheellinen IP-osoite",
|
"form_error_ip_format": "Virheellinen IP-osoite",
|
||||||
"form_error_mac_format": "Virheellinen MAC-osoite",
|
"form_error_mac_format": "Virheellinen MAC-osoite",
|
||||||
"form_error_client_id_format": "Päätelaitteen ID voi sisältää ainoastaan numeroita, pieniä kirjaimia sekä yhdysviivoja",
|
"form_error_client_id_format": "ClientID-tunniste voi sisältää ainoastaan numeroita, pieniä kirjaimia sekä yhdysviivoja",
|
||||||
"form_error_server_name": "Virheellinen palvelimen nimi",
|
"form_error_server_name": "Virheellinen palvelimen nimi",
|
||||||
"form_error_subnet": "Aliverkko \"{{cidr}}\" ei sisällä IP-osoitetta \"{{ip}}\"",
|
"form_error_subnet": "Aliverkko \"{{cidr}}\" ei sisällä IP-osoitetta \"{{ip}}\"",
|
||||||
"form_error_positive": "Oltava suurempi kuin 0",
|
"form_error_positive": "Oltava suurempi kuin 0",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Oltava alueen \"{{start}}\" - \"{{end}}\" ulkopuolella",
|
"out_of_range_error": "Oltava alueen \"{{start}}\" - \"{{end}}\" ulkopuolella",
|
||||||
"lower_range_start_error": "Oltava alueen aloitusarvoa pienempi",
|
"lower_range_start_error": "Oltava alueen aloitusarvoa pienempi",
|
||||||
"greater_range_start_error": "Oltava alueen aloitusarvoa suurempi",
|
"greater_range_start_error": "Oltava alueen aloitusarvoa suurempi",
|
||||||
"greater_range_end_error": "Oltava alueen päätösarvoa pienempi",
|
|
||||||
"subnet_error": "Osoitteiden tulee olla yhdessä aliverkossa",
|
"subnet_error": "Osoitteiden tulee olla yhdessä aliverkossa",
|
||||||
"gateway_or_subnet_invalid": "Virheellinen aliverkon peite",
|
"gateway_or_subnet_invalid": "Virheellinen aliverkon peite",
|
||||||
"dhcp_form_gateway_input": "Yhdyskäytävän IP-osoite",
|
"dhcp_form_gateway_input": "Yhdyskäytävän IP-osoite",
|
||||||
@@ -78,7 +75,7 @@
|
|||||||
"dhcp_add_static_lease": "Lisää kiinteä laina",
|
"dhcp_add_static_lease": "Lisää kiinteä laina",
|
||||||
"dhcp_reset_leases": "Tyhjennä kaikki lainat",
|
"dhcp_reset_leases": "Tyhjennä kaikki lainat",
|
||||||
"dhcp_reset_leases_confirm": "Haluatko varmasti tyhjentää kaikki lainat?",
|
"dhcp_reset_leases_confirm": "Haluatko varmasti tyhjentää kaikki lainat?",
|
||||||
"dhcp_reset_leases_success": "DHCP-lainat tyhjennettiin",
|
"dhcp_reset_leases_success": "DHCP-lainojen tyhjennys onnistui",
|
||||||
"dhcp_reset": "Haluatko varmasti palauttaa DHCP-asetukset?",
|
"dhcp_reset": "Haluatko varmasti palauttaa DHCP-asetukset?",
|
||||||
"country": "Maa",
|
"country": "Maa",
|
||||||
"city": "Kaupunki",
|
"city": "Kaupunki",
|
||||||
@@ -88,8 +85,8 @@
|
|||||||
"response_details": "Vastauksen tiedot",
|
"response_details": "Vastauksen tiedot",
|
||||||
"request_details": "Pyynnön tiedot",
|
"request_details": "Pyynnön tiedot",
|
||||||
"client_details": "Päätelaitteen tiedot",
|
"client_details": "Päätelaitteen tiedot",
|
||||||
"details": "Tiedot",
|
"details": "Yksityiskohdat",
|
||||||
"back": "Takaisin",
|
"back": "Palaa takaisin",
|
||||||
"dashboard": "Tila",
|
"dashboard": "Tila",
|
||||||
"settings": "Asetukset",
|
"settings": "Asetukset",
|
||||||
"filters": "Suodattimet",
|
"filters": "Suodattimet",
|
||||||
@@ -149,8 +146,8 @@
|
|||||||
"no_servers_specified": "Palvelimia ei ole määritetty",
|
"no_servers_specified": "Palvelimia ei ole määritetty",
|
||||||
"general_settings": "Yleiset asetukset",
|
"general_settings": "Yleiset asetukset",
|
||||||
"dns_settings": "DNS-asetukset",
|
"dns_settings": "DNS-asetukset",
|
||||||
"dns_blocklists": "DNS-estolistat",
|
"dns_blocklists": "DNS-estot",
|
||||||
"dns_allowlists": "DNS-sallittujen listat",
|
"dns_allowlists": "DNS-sallinnat",
|
||||||
"dns_blocklists_desc": "AdGuard Home estää estolistalla olevat verkkotunnukset.",
|
"dns_blocklists_desc": "AdGuard Home estää estolistalla olevat verkkotunnukset.",
|
||||||
"dns_allowlists_desc": "DNS-sallittujen listalla olevat verkkotunnukset sallitaan myös silloin, jos ne ovat jollain muulla estolistalla.",
|
"dns_allowlists_desc": "DNS-sallittujen listalla olevat verkkotunnukset sallitaan myös silloin, jos ne ovat jollain muulla estolistalla.",
|
||||||
"custom_filtering_rules": "Omat suodatussäännöt",
|
"custom_filtering_rules": "Omat suodatussäännöt",
|
||||||
@@ -170,10 +167,11 @@
|
|||||||
"enabled_parental_toast": "Lapsilukko otettiin käyttöön",
|
"enabled_parental_toast": "Lapsilukko otettiin käyttöön",
|
||||||
"disabled_safe_search_toast": "Turvallinen haku poistettiin käytöstä",
|
"disabled_safe_search_toast": "Turvallinen haku poistettiin käytöstä",
|
||||||
"enabled_save_search_toast": "Turvallinen haku otettiin käyttöön",
|
"enabled_save_search_toast": "Turvallinen haku otettiin käyttöön",
|
||||||
|
"updated_save_search_toast": "Turvallisen haun asetukset päivitettiin",
|
||||||
"enabled_table_header": "Käytössä",
|
"enabled_table_header": "Käytössä",
|
||||||
"name_table_header": "Nimi",
|
"name_table_header": "Nimi",
|
||||||
"list_url_table_header": "Listan URL",
|
"list_url_table_header": "Listan URL",
|
||||||
"rules_count_table_header": "Sääntöjä",
|
"rules_count_table_header": "Sääntöjen määrä",
|
||||||
"last_time_updated_table_header": "Viimeisin päivitys",
|
"last_time_updated_table_header": "Viimeisin päivitys",
|
||||||
"actions_table_header": "Toiminnot",
|
"actions_table_header": "Toiminnot",
|
||||||
"request_table_header": "Pyyntö",
|
"request_table_header": "Pyyntö",
|
||||||
@@ -210,18 +208,22 @@
|
|||||||
"example_comment_meaning": "vain kommentti;",
|
"example_comment_meaning": "vain kommentti;",
|
||||||
"example_comment_hash": "# Tämäkin on kommentti.",
|
"example_comment_hash": "# Tämäkin on kommentti.",
|
||||||
"example_regex_meaning": "estä pääsy määritettyä säännöllistä lauseketta vastaaviin verkkotunnuksiin.",
|
"example_regex_meaning": "estä pääsy määritettyä säännöllistä lauseketta vastaaviin verkkotunnuksiin.",
|
||||||
"example_upstream_regular": "tavallinen DNS (UDP:n välityksellä);",
|
"example_upstream_regular": "tavallinen DNS (UDP);",
|
||||||
|
"example_upstream_regular_port": "tavallinen DNS (UDP, portti);",
|
||||||
"example_upstream_udp": "tavallinen DNS (UDP, isäntänimi);",
|
"example_upstream_udp": "tavallinen DNS (UDP, isäntänimi);",
|
||||||
"example_upstream_dot": "salattu <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "salattu <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "salattu <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "salattu <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "salattu DNS-over-HTTPS <0>HTTP/3</0>-pakotuksella, ilman HTTP/2 (tai alempi) -varmistusta;",
|
||||||
"example_upstream_doq": "salattu <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "salattu <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS Stamp</0> -merkinnät <1>DNSCrypt</1> tai <2>DNS-over-HTTPS</2> -resolvereille;",
|
"example_upstream_sdns": "<0>DNS Stamp</0> -merkinnät <1>DNSCrypt</1> tai <2>DNS-over-HTTPS</2> -resolvereille;",
|
||||||
"example_upstream_tcp": "tavallinen DNS (TCP:n välityksellä);",
|
"example_upstream_tcp": "tavallinen DNS (TCP);",
|
||||||
|
"example_upstream_tcp_port": "tavallinen DNS (TCP, portti);",
|
||||||
"example_upstream_tcp_hostname": "tavallinen DNS (TCP, isäntänimi);",
|
"example_upstream_tcp_hostname": "tavallinen DNS (TCP, isäntänimi);",
|
||||||
"all_lists_up_to_date_toast": "Kaikki listat ovat ajan tasalla",
|
"all_lists_up_to_date_toast": "Kaikki listat ovat ajan tasalla",
|
||||||
"updated_upstream_dns_toast": "Ylävirtojen palvelimet tallennettiin",
|
"updated_upstream_dns_toast": "Ylävirtojen palvelimet tallennettiin",
|
||||||
"dns_test_ok_toast": "Määritetyt DNS-palvelimet toimivat oikein",
|
"dns_test_ok_toast": "Määritetyt DNS-palvelimet toimivat oikein",
|
||||||
"dns_test_not_ok_toast": "Palvelin \"{{key}}\": ei voitu käyttää, tarkista sen oikeinkirjoitus",
|
"dns_test_not_ok_toast": "Palvelin \"{{key}}\": ei voitu käyttää, tarkista sen oikeinkirjoitus",
|
||||||
|
"dns_test_warning_toast": "Datavuon \"{{key}}\" ei vastaa testipyyntöihin eikä välttämättä toimi kunnolla",
|
||||||
"unblock": "Salli",
|
"unblock": "Salli",
|
||||||
"block": "Estä",
|
"block": "Estä",
|
||||||
"disallow_this_client": "Estä tämä päätelaite",
|
"disallow_this_client": "Estä tämä päätelaite",
|
||||||
@@ -252,15 +254,15 @@
|
|||||||
"query_log_response_status": "Tila: {{value}}",
|
"query_log_response_status": "Tila: {{value}}",
|
||||||
"query_log_filtered": "Suodattanut {{filter}}",
|
"query_log_filtered": "Suodattanut {{filter}}",
|
||||||
"query_log_confirm_clear": "Haluatko varmasti tyhjentää pyyntöhistorian?",
|
"query_log_confirm_clear": "Haluatko varmasti tyhjentää pyyntöhistorian?",
|
||||||
"query_log_cleared": "Pyyntöhistoria tyhjennettiin",
|
"query_log_cleared": "Pyyntöhistorian tyhjennys onnistui",
|
||||||
"query_log_updated": "Pyyntöhistoria päivitettiin",
|
"query_log_updated": "Pyyntöhistorian päivitys onnistui",
|
||||||
"query_log_clear": "Tyhjennä pyyntöhistoria",
|
"query_log_clear": "Tyhjennä pyyntöhistoria",
|
||||||
"query_log_retention": "Pyyntöhistorian säilytys",
|
"query_log_retention": "Kyselylokien kierto",
|
||||||
"query_log_enable": "Käytä historiaa",
|
"query_log_enable": "Käytä historiaa",
|
||||||
"query_log_configuration": "Historian määritys",
|
"query_log_configuration": "Historian määritys",
|
||||||
"query_log_disabled": "Pyyntöhistoria ei ole käytössä. Voit ottaa sen käyttöön <0>asetuksissa</0>",
|
"query_log_disabled": "Pyyntöhistoria ei ole käytössä. Voit ottaa sen käyttöön <0>asetuksissa</0>",
|
||||||
"query_log_strict_search": "Käytä tarkalle haulle lainausmerkkejä",
|
"query_log_strict_search": "Käytä tarkalle haulle lainausmerkkejä",
|
||||||
"query_log_retention_confirm": "Haluatko varmasti muuttaa pyyntöhistoriasi säilytysaikaa? Jos lyhennät aikaa, joitakin tietoja menetetään",
|
"query_log_retention_confirm": "Haluatko varmasti muuttaa kyselylokin kiertoa? Jos pienennät intervalliarvoa, osa tiedoista menetetään",
|
||||||
"anonymize_client_ip": "Piilota päätelaitteen IP-osoite",
|
"anonymize_client_ip": "Piilota päätelaitteen IP-osoite",
|
||||||
"anonymize_client_ip_desc": "Älä tallenna päätelaitteen täydellistä IP-osoitetta historiaan ja tilastoihin.",
|
"anonymize_client_ip_desc": "Älä tallenna päätelaitteen täydellistä IP-osoitetta historiaan ja tilastoihin.",
|
||||||
"dns_config": "DNS-palvelimen määritys",
|
"dns_config": "DNS-palvelimen määritys",
|
||||||
@@ -271,16 +273,16 @@
|
|||||||
"nxdomain": "NXDOMAIN",
|
"nxdomain": "NXDOMAIN",
|
||||||
"refused": "REFUSED",
|
"refused": "REFUSED",
|
||||||
"null_ip": "Tyhjä IP",
|
"null_ip": "Tyhjä IP",
|
||||||
"custom_ip": "Oma IP",
|
"custom_ip": "Mukautettu IP-osoite",
|
||||||
"blocking_ipv4": "IPv4-esto",
|
"blocking_ipv4": "IPv4-esto",
|
||||||
"blocking_ipv6": "IPv6-esto",
|
"blocking_ipv6": "IPv6-esto",
|
||||||
"dnscrypt": "DNSCrypt",
|
"dnscrypt": "DNSCrypt",
|
||||||
"dns_over_https": "DNS-over-HTTPS",
|
"dns_over_https": "DNS-over-HTTPS",
|
||||||
"dns_over_tls": "DNS-over-TLS",
|
"dns_over_tls": "DNS-over-TLS",
|
||||||
"dns_over_quic": "DNS-over-QUIC",
|
"dns_over_quic": "DNS-over-QUIC",
|
||||||
"client_id": "Päätelaitteen ID",
|
"client_id": "ClientID",
|
||||||
"client_id_placeholder": "Syötä päätelaitteen ID",
|
"client_id_placeholder": "Syötä ClientID",
|
||||||
"client_id_desc": "Päätelaitteet voidaan tunnistaa erityisillä ID-tunnisteilla. Lue lisää päätelaitteiden tunnistuksesta <a>täältä</a>.",
|
"client_id_desc": "Päätelaitteet voidaan tunnistaa erityisillä ClientID-tunnisteilla. Lue lisää päätelaitteiden tunnistuksesta <a>täältä</a>.",
|
||||||
"download_mobileconfig_doh": "Lataa .mobileconfig-tiedosto DNS-over-HTTPS -käytölle",
|
"download_mobileconfig_doh": "Lataa .mobileconfig-tiedosto DNS-over-HTTPS -käytölle",
|
||||||
"download_mobileconfig_dot": "Lataa .mobileconfig-tiedosto DNS-over-TLS -käytölle",
|
"download_mobileconfig_dot": "Lataa .mobileconfig-tiedosto DNS-over-TLS -käytölle",
|
||||||
"download_mobileconfig": "Lataa asetustiedosto",
|
"download_mobileconfig": "Lataa asetustiedosto",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Pyyntöjen ajoitus",
|
"rate_limit": "Pyyntöjen ajoitus",
|
||||||
"edns_enable": "Käytä EDNS-päätelaitealivekkoa",
|
"edns_enable": "Käytä EDNS-päätelaitealivekkoa",
|
||||||
"edns_cs_desc": "Lähetä päätelaitteiden aliverkot DNS-palvelimille.",
|
"edns_cs_desc": "Lähetä päätelaitteiden aliverkot DNS-palvelimille.",
|
||||||
|
"edns_use_custom_ip": "Käytä omaa IP-osoitetta EDNS:lle",
|
||||||
|
"edns_use_custom_ip_desc": "Salli oman IP-osoitteen käyttö EDNS-mekanismille.",
|
||||||
"rate_limit_desc": "Päätelaitteelle sallittu pyyntöjen enimmäismäärä sekunnissa. Arvo 0 tarkoittaa rajatonta.",
|
"rate_limit_desc": "Päätelaitteelle sallittu pyyntöjen enimmäismäärä sekunnissa. Arvo 0 tarkoittaa rajatonta.",
|
||||||
"blocking_ipv4_desc": "Estettyyn A-pyyntöön palautettava IP-osoite",
|
"blocking_ipv4_desc": "Estettyyn A-pyyntöön palautettava IP-osoite",
|
||||||
"blocking_ipv6_desc": "Estettyyn AAAA-pyyntöön palautettava IP-osoite",
|
"blocking_ipv6_desc": "Estettyyn AAAA-pyyntöön palautettava IP-osoite",
|
||||||
@@ -296,7 +300,10 @@
|
|||||||
"blocking_mode_refused": "REFUSED: Vastaa REFUSED-koodilla",
|
"blocking_mode_refused": "REFUSED: Vastaa REFUSED-koodilla",
|
||||||
"blocking_mode_nxdomain": "NXDOMAIN: Vastaa NXDOMAIN-koodilla",
|
"blocking_mode_nxdomain": "NXDOMAIN: Vastaa NXDOMAIN-koodilla",
|
||||||
"blocking_mode_null_ip": "Tyhjä IP: Vastaa IP-nollaosoitteella (0.0.0.0 korvaa A; :: korvaa AAAA)",
|
"blocking_mode_null_ip": "Tyhjä IP: Vastaa IP-nollaosoitteella (0.0.0.0 korvaa A; :: korvaa AAAA)",
|
||||||
"blocking_mode_custom_ip": "Oma IP: Vastaa itse määritetyllä IP-osoitteella",
|
"blocking_mode_custom_ip": "Mukautettu IP: Vastaa manuaalisesti määritetyllä IP-osoitteella",
|
||||||
|
"theme_auto": "Automaattinen",
|
||||||
|
"theme_light": "Vaalea",
|
||||||
|
"theme_dark": "Tumma",
|
||||||
"upstream_dns_client_desc": "Jos tämä on tyhjä, käyttää AdGuard Home <0>DNS-asetuksissa</0> määritettyjä palvelimia.",
|
"upstream_dns_client_desc": "Jos tämä on tyhjä, käyttää AdGuard Home <0>DNS-asetuksissa</0> määritettyjä palvelimia.",
|
||||||
"tracker_source": "Seurannan lähde",
|
"tracker_source": "Seurannan lähde",
|
||||||
"source_label": "Lähde",
|
"source_label": "Lähde",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Salausasetukset tallennettiin",
|
"encryption_config_saved": "Salausasetukset tallennettiin",
|
||||||
"encryption_server": "Palvelimen nimi",
|
"encryption_server": "Palvelimen nimi",
|
||||||
"encryption_server_enter": "Syötä verkkotunnuksesi",
|
"encryption_server_enter": "Syötä verkkotunnuksesi",
|
||||||
"encryption_server_desc": "HTTPS-yhteyden käyttöä varten, on syötettävä SSL- tai jokerivarmennetta vastaava palvelimen nimi. Jos kenttä on tyhjä, sallitaan kaikkien verkkotunnusten TLS-yhteydet.",
|
"encryption_server_desc": "Jos määritetty, AdGuard Home tunnistaa ClientID-tunnisteet, vastaa DDR-pyyntöihin ja suorittaa yhteyden lisätarkistuksia. Jos ei määritetty, nämä ominaisuudet eivät ole käytössä. On vastattava yhtä varmenteen DNS-nimistä.",
|
||||||
"encryption_redirect": "Automaattinen HTTPS-ohjaus",
|
"encryption_redirect": "Automaattinen HTTPS-ohjaus",
|
||||||
"encryption_redirect_desc": "Jos käytössä, AdGuard Home ohjaa HTTP-osoitteet automaattisesti HTTPS-osoitteisiin.",
|
"encryption_redirect_desc": "Jos käytössä, AdGuard Home ohjaa HTTP-osoitteet automaattisesti HTTPS-osoitteisiin.",
|
||||||
"encryption_https": "HTTPS-portti",
|
"encryption_https": "HTTPS-portti",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Toimittaja",
|
"encryption_issuer": "Toimittaja",
|
||||||
"encryption_hostnames": "Isäntänimet",
|
"encryption_hostnames": "Isäntänimet",
|
||||||
"encryption_reset": "Haluatko varmasti palauttaa salausasetukset?",
|
"encryption_reset": "Haluatko varmasti palauttaa salausasetukset?",
|
||||||
|
"encryption_warning": "Varoitus",
|
||||||
"topline_expiring_certificate": "SSL-varmenteesi on erääntymässä. Päivitä <0>Salausasetukset</0>.",
|
"topline_expiring_certificate": "SSL-varmenteesi on erääntymässä. Päivitä <0>Salausasetukset</0>.",
|
||||||
"topline_expired_certificate": "SSL-varmenteesi on erääntynyt. Päivitä <0>Salausasetukset</0>.",
|
"topline_expired_certificate": "SSL-varmenteesi on erääntynyt. Päivitä <0>Salausasetukset</0>.",
|
||||||
"form_error_port_range": "Syötä portti väliltä 80-65535",
|
"form_error_port_range": "Syötä portti väliltä 80-65535",
|
||||||
@@ -411,8 +419,8 @@
|
|||||||
"clients_title": "Pysyvät päätelaitteet",
|
"clients_title": "Pysyvät päätelaitteet",
|
||||||
"clients_desc": "Määritä pysyvät AdGuard Homeen yhdistetyt päätelaitetiedot.",
|
"clients_desc": "Määritä pysyvät AdGuard Homeen yhdistetyt päätelaitetiedot.",
|
||||||
"settings_global": "Yleinen",
|
"settings_global": "Yleinen",
|
||||||
"settings_custom": "Oma",
|
"settings_custom": "Mukautettu",
|
||||||
"table_client": "Päätelaite",
|
"table_client": "Asiakas",
|
||||||
"table_name": "Nimi",
|
"table_name": "Nimi",
|
||||||
"save_btn": "Tallenna",
|
"save_btn": "Tallenna",
|
||||||
"client_add": "Lisää päätelaite",
|
"client_add": "Lisää päätelaite",
|
||||||
@@ -420,7 +428,7 @@
|
|||||||
"client_edit": "Muokkaa päätelaitetta",
|
"client_edit": "Muokkaa päätelaitetta",
|
||||||
"client_identifier": "Tunniste",
|
"client_identifier": "Tunniste",
|
||||||
"ip_address": "IP-osoite",
|
"ip_address": "IP-osoite",
|
||||||
"client_identifier_desc": "Päätelaitteet voidaan tunnistaa IP- tai MAC-osoitteista, CIDR-merkinnöistä tai erityisistä päätelaite ID -tunnisteista (voidaan käyttää DoT/DoH/DoQ yhteydessä). Lue lisää päätelaitteiden tunnistuksesta <0>täältä</0>.",
|
"client_identifier_desc": "Päätelaitteet voidaan tunnistaa IP- tai MAC-osoitteista, CIDR-merkinnöistä tai erityisistä ClientID-tunnisteista (voidaan käyttää DoT/DoH/DoQ yhteydessä). Lue lisää päätelaitteiden tunnistuksesta <0>täältä</0>.",
|
||||||
"form_enter_ip": "Syötä IP-osoite",
|
"form_enter_ip": "Syötä IP-osoite",
|
||||||
"form_enter_subnet_ip": "Syötä aliverkossa \"{{cidr}}\" oleva IP-osoite",
|
"form_enter_subnet_ip": "Syötä aliverkossa \"{{cidr}}\" oleva IP-osoite",
|
||||||
"form_enter_mac": "Syötä MAC-osoite",
|
"form_enter_mac": "Syötä MAC-osoite",
|
||||||
@@ -440,15 +448,16 @@
|
|||||||
"access_title": "Käytön asetukset",
|
"access_title": "Käytön asetukset",
|
||||||
"access_desc": "Tässä voidaan määrittää AdGuard Homen DNS-palvelimen käyttöoikeussääntöjä.",
|
"access_desc": "Tässä voidaan määrittää AdGuard Homen DNS-palvelimen käyttöoikeussääntöjä.",
|
||||||
"access_allowed_title": "Sallitut päätelaitteet",
|
"access_allowed_title": "Sallitut päätelaitteet",
|
||||||
"access_allowed_desc": "Lista CIDR-merkinnöistä, IP-osoitteista tai <a>päätelaite ID</a> -tunnisteista. Jos listalla on kohteita, hyväksyy AdGuard Home pyyntöjä vain näiltä päätelaitteilta.",
|
"access_allowed_desc": "Lista CIDR-merkinnöistä, IP-osoitteista tai <a>ClientID</a>-tunnisteista. Jos listalla on kohteita, hyväksyy AdGuard Home pyyntöjä vain näiltä päätelaitteilta.",
|
||||||
"access_disallowed_title": "Kielletyt päätelaitteet",
|
"access_disallowed_title": "Kielletyt päätelaitteet",
|
||||||
"access_disallowed_desc": "Lista CIDR-merkinnöistä, IP-osoitteista tai <a>päätelaite ID</a> -tunnisteista. Jos listalla on kohteita, hylkää AdGuard Home näiden päätelaitteiden pyynnöt. Tätä kenttää ei huomioida, jos sallittuja päätelaitteita on määritetty.",
|
"access_disallowed_desc": "Lista CIDR-merkinnöistä, IP-osoitteista tai <a>ClientID</a>-tunnisteista. Jos listalla on kohteita, hylkää AdGuard Home näiden päätelaitteiden pyynnöt. Tätä kenttää ei huomioida, jos sallittuja päätelaitteita on määritetty.",
|
||||||
"access_blocked_title": "Kielletyt verkkotunnukset",
|
"access_blocked_title": "Kielletyt verkkotunnukset",
|
||||||
"access_blocked_desc": "Ei pidä sekoittaa suodattimiin. AdGuard Home hylkää näiden verkkotunnusten DNS-pyynnöt, eivätkä nämä pyynnöt näy edes pyyntöhistoriassa. Tähän voidaan syöttää tarkkoja verkkotunnuksia, jokerimerkkejä tai URL-suodatussääntöjä, kuten \"example.org\", \"*.example.org\" tai \"||example.org^\".",
|
"access_blocked_desc": "Ei pidä sekoittaa suodattimiin. AdGuard Home hylkää näiden verkkotunnusten DNS-pyynnöt, eivätkä nämä pyynnöt näy edes pyyntöhistoriassa. Tähän voidaan syöttää tarkkoja verkkotunnuksia, jokerimerkkejä tai URL-suodatussääntöjä, kuten \"example.org\", \"*.example.org\" tai \"||example.org^\".",
|
||||||
"access_settings_saved": "Käytön asetukset tallennettiin",
|
"access_settings_saved": "Käytön asetukset tallennettiin",
|
||||||
"updates_checked": "Uusi versio AdGuard Home -ohjelmasta on saatavana\n",
|
"updates_checked": "Uusi versio AdGuard Home -ohjelmasta on saatavana\n",
|
||||||
"updates_version_equal": "AdGuard Home on ajan tasalla",
|
"updates_version_equal": "AdGuard Home on ajan tasalla",
|
||||||
"check_updates_now": "Tarkista päivitykset nyt",
|
"check_updates_now": "Tarkista päivitykset nyt",
|
||||||
|
"version_request_error": "Päivitystarkistus epäonnistui. Tarkista Internet-yhteytesi.",
|
||||||
"dns_privacy": "DNS-tietosuoja",
|
"dns_privacy": "DNS-tietosuoja",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Käytä merkkijonoa <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Käytä merkkijonoa <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Käytä merkkijonoa <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Käytä merkkijonoa <1>{{address}}</1>.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Haluatko varmasti muuttaa tilastojen säilytysaikaa? Jos aikaa lyhennetään, joitakin tietoja menetetään.",
|
"statistics_retention_confirm": "Haluatko varmasti muuttaa tilastojen säilytysaikaa? Jos aikaa lyhennetään, joitakin tietoja menetetään.",
|
||||||
"statistics_cleared": "Tilastot tyhjennettiin",
|
"statistics_cleared": "Tilastot tyhjennettiin",
|
||||||
"statistics_enable": "Ota tilastointi käyttöön",
|
"statistics_enable": "Ota tilastointi käyttöön",
|
||||||
|
"ignore_domains": "Ohitettavat verkkotunnukset (erotettu rivinvaihdolla)",
|
||||||
|
"ignore_domains_title": "Ohitettavat verkkotunnukset",
|
||||||
|
"ignore_domains_desc_stats": "Näihin verkkotunnuksiin lähetettyjä pyyntöjä ei tallenneta tilastoihin.",
|
||||||
|
"ignore_domains_desc_query": "Näihin verkkotunnuksiin lähetettyjä pyyntöjä ei tallenneta pyyntöhistoriaan.",
|
||||||
"interval_hours": "{{count}} tunti",
|
"interval_hours": "{{count}} tunti",
|
||||||
"interval_hours_plural": "{{count}} tuntia",
|
"interval_hours_plural": "{{count}} tuntia",
|
||||||
"filters_configuration": "Suodatinten määritys",
|
"filters_configuration": "Suodatinten määritys",
|
||||||
@@ -538,8 +551,8 @@
|
|||||||
"descr": "Kuvaus",
|
"descr": "Kuvaus",
|
||||||
"whois": "WHOIS",
|
"whois": "WHOIS",
|
||||||
"filtering_rules_learn_more": "<0>Lue lisää</0> omien hosts-listojesi luonnista.",
|
"filtering_rules_learn_more": "<0>Lue lisää</0> omien hosts-listojesi luonnista.",
|
||||||
"blocked_by_response": "Vastauksen sisältämän CNAME:n tai IP:n estämä",
|
"blocked_by_response": "Estetty vastauksen CNAME:n tai IP:n perusteella",
|
||||||
"blocked_by_cname_or_ip": "CNAME:n tai IP:n estämä",
|
"blocked_by_cname_or_ip": "Estetty CNAME:n tai IP:n perusteella",
|
||||||
"try_again": "Yritä uudelleen",
|
"try_again": "Yritä uudelleen",
|
||||||
"domain_desc": "Syötä korvattava verkkotunnus tai jokerimerkki.",
|
"domain_desc": "Syötä korvattava verkkotunnus tai jokerimerkki.",
|
||||||
"example_rewrite_domain": "korvaa vain tämän verkkotunnuksen vastaukset",
|
"example_rewrite_domain": "korvaa vain tämän verkkotunnuksen vastaukset",
|
||||||
@@ -593,7 +606,7 @@
|
|||||||
"show_whitelisted_responses": "Sallitut",
|
"show_whitelisted_responses": "Sallitut",
|
||||||
"show_processed_responses": "Käsitelty",
|
"show_processed_responses": "Käsitelty",
|
||||||
"blocked_safebrowsing": "Turvallisen selauksen estämät",
|
"blocked_safebrowsing": "Turvallisen selauksen estämät",
|
||||||
"blocked_adult_websites": "Lapsilukon estämät",
|
"blocked_adult_websites": "Estetty lapsilukolla",
|
||||||
"blocked_threats": "Estetyt uhat",
|
"blocked_threats": "Estetyt uhat",
|
||||||
"allowed": "Sallitut",
|
"allowed": "Sallitut",
|
||||||
"filtered": "Suodatetut",
|
"filtered": "Suodatetut",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Estolista",
|
"blocklist": "Estolista",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Välimuistin koko",
|
"cache_size": "Välimuistin koko",
|
||||||
"cache_size_desc": "DNS-välimuistin koko (tavuina).",
|
"cache_size_desc": "DNS-välimuistin koko (tavuina). Jätä tyhjäksi poistaaksesi välimuistin käytöstä.",
|
||||||
"cache_ttl_min_override": "Korvaa vähimmäis-TTL",
|
"cache_ttl_min_override": "Korvaa vähimmäis-TTL",
|
||||||
"cache_ttl_max_override": "Korvaa enimmäis-TTL",
|
"cache_ttl_max_override": "Korvaa enimmäis-TTL",
|
||||||
"enter_cache_size": "Syötä välimuistin koko (tavuina)",
|
"enter_cache_size": "Syötä välimuistin koko (tavuina)",
|
||||||
@@ -612,9 +625,9 @@
|
|||||||
"cache_ttl_max_override_desc": "Määritä DNS-välimuistin kohteiden enimmäiselinaika (sekunteina).",
|
"cache_ttl_max_override_desc": "Määritä DNS-välimuistin kohteiden enimmäiselinaika (sekunteina).",
|
||||||
"ttl_cache_validation": "Välimuistin vähimmäiselinajan on oltava pienempi tai sama kuin enimmäiselinajan",
|
"ttl_cache_validation": "Välimuistin vähimmäiselinajan on oltava pienempi tai sama kuin enimmäiselinajan",
|
||||||
"cache_optimistic": "Optimistinen välimuisti",
|
"cache_optimistic": "Optimistinen välimuisti",
|
||||||
"cache_optimistic_desc": "Pakota AdGuard Home vastaamaan välimuistista vaikka sen tiedot olisivat vanhentuneet. Pyri samalla myös päivittämään tiedot.",
|
"cache_optimistic_desc": "Pakota AdGuard Home vastaamaan välimuistista vaikka tiedot olisivat vanhentuneet. Pyri samalla myös päivittämään tiedot.",
|
||||||
"filter_category_general": "Yleiset",
|
"filter_category_general": "Yleiset",
|
||||||
"filter_category_security": "Turvallisuus",
|
"filter_category_security": "Tietoturva",
|
||||||
"filter_category_regional": "Alueelliset",
|
"filter_category_regional": "Alueelliset",
|
||||||
"filter_category_other": "Muut",
|
"filter_category_other": "Muut",
|
||||||
"filter_category_general_desc": "Listat, jotka estävät seurannan ja mainokset useimmilla laitteilla",
|
"filter_category_general_desc": "Listat, jotka estävät seurannan ja mainokset useimmilla laitteilla",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Lapsilukko",
|
"parental_control": "Lapsilukko",
|
||||||
"safe_browsing": "Turvallinen selaus",
|
"safe_browsing": "Turvallinen selaus",
|
||||||
"served_from_cache": "{{value}} <i>(jaettu välimuistista)</i>",
|
"served_from_cache": "{{value}} <i>(jaettu välimuistista)</i>",
|
||||||
"form_error_password_length": "Salasanan on oltava ainakin {{value}} merkkiä"
|
"form_error_password_length": "Salasanan on oltava ainakin {{value}} merkkiä",
|
||||||
|
"anonymizer_notification": "<0>Huomioi:</0> IP-osoitteen anonymisointi on käytössä. Voit poistaa sen käytöstä <1>Yleisistä asetuksista</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Haluatko varmasti tyhjentää DNS-välimuistin?",
|
||||||
|
"cache_cleared": "DNS-välimuistin tyhjennys onnistui",
|
||||||
|
"clear_cache": "Tyhjennä välimuisti",
|
||||||
|
"make_static": "Tallenna kiinteäksi",
|
||||||
|
"theme_auto_desc": "Automaattinen (seuraa laitteen väriteemaa)",
|
||||||
|
"theme_dark_desc": "Tumma teema",
|
||||||
|
"theme_light_desc": "Vaalea teema",
|
||||||
|
"disable_for_seconds": "{{count}} sekunniksi",
|
||||||
|
"disable_for_seconds_plural": "{{count}} sekunniksi",
|
||||||
|
"disable_for_minutes": "{{count}} minuutiksi",
|
||||||
|
"disable_for_minutes_plural": "{{count}} minuutiksi",
|
||||||
|
"disable_for_hours": "{{count}} tunniksi",
|
||||||
|
"disable_for_hours_plural": "{{count}} tunniksi",
|
||||||
|
"disable_until_tomorrow": "Huomiseen asti",
|
||||||
|
"disable_notify_for_seconds": "Poista suojaus käytöstä {{count}} sekunniksi",
|
||||||
|
"disable_notify_for_seconds_plural": "Poista suojaus käytöstä {{count}} sekunniksi",
|
||||||
|
"disable_notify_for_minutes": "Poista suojaus käytöstä {{count}} minuutiksi",
|
||||||
|
"disable_notify_for_minutes_plural": "Poista suojaus käytöstä {{count}} minuutiksi",
|
||||||
|
"disable_notify_for_hours": "Poista suojaus käytöstä {{count}} tunniksi",
|
||||||
|
"disable_notify_for_hours_plural": "Poista suojaus käytöstä {{count}} tunniksi",
|
||||||
|
"disable_notify_until_tomorrow": "Poista suojaus käytöstä huomiseen asti",
|
||||||
|
"enable_protection_timer": "Suojaus otetaan käyttöön {{time}} kuluttua",
|
||||||
|
"custom_retention_input": "Syötä säilytysaika tunteina",
|
||||||
|
"custom_rotation_input": "Syötä uudistusaika tunteina",
|
||||||
|
"protection_section_label": "Suojaus",
|
||||||
|
"log_and_stats_section_label": "Kyselyhistoria ja tilastot",
|
||||||
|
"ignore_query_log": "Älä huomioi tätä päätettä kyselyhistoriassa",
|
||||||
|
"ignore_statistics": "Älä huomioi tätä päätettä tilastoissa"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Paramètres IPv6 du DHCP",
|
"dhcp_ipv6_settings": "Paramètres IPv6 du DHCP",
|
||||||
"form_error_required": "Champ requis",
|
"form_error_required": "Champ requis",
|
||||||
"form_error_ip4_format": "Adresse IPv4 invalide",
|
"form_error_ip4_format": "Adresse IPv4 invalide",
|
||||||
"form_error_ip4_range_start_format": "Adresse de début de plage IPv4 incorrecte",
|
|
||||||
"form_error_ip4_range_end_format": "Adresse de fin de plage IPv4 incorrecte",
|
|
||||||
"form_error_ip4_gateway_format": "Adresse de passerelle IPv4 invalide",
|
"form_error_ip4_gateway_format": "Adresse de passerelle IPv4 invalide",
|
||||||
"form_error_ip6_format": "Adresse IPv6 invalide",
|
"form_error_ip6_format": "Adresse IPv6 invalide",
|
||||||
"form_error_ip_format": "Adresse IP invalide",
|
"form_error_ip_format": "Adresse IP invalide",
|
||||||
@@ -51,9 +49,8 @@
|
|||||||
"out_of_range_error": "Doit être hors plage « {{start}} » - « {{end}} »",
|
"out_of_range_error": "Doit être hors plage « {{start}} » - « {{end}} »",
|
||||||
"lower_range_start_error": "Doit être inférieur au début de plage",
|
"lower_range_start_error": "Doit être inférieur au début de plage",
|
||||||
"greater_range_start_error": "Doit être supérieur au début de plage",
|
"greater_range_start_error": "Doit être supérieur au début de plage",
|
||||||
"greater_range_end_error": "Doit être supérieur à la fin de plage",
|
|
||||||
"subnet_error": "Les adresses doivent être dans le même sous-réseau",
|
"subnet_error": "Les adresses doivent être dans le même sous-réseau",
|
||||||
"gateway_or_subnet_invalid": "Masque de sous-réseau invalide",
|
"gateway_or_subnet_invalid": "Masque de sous-réseau invalide.",
|
||||||
"dhcp_form_gateway_input": "IP de la passerelle",
|
"dhcp_form_gateway_input": "IP de la passerelle",
|
||||||
"dhcp_form_subnet_input": "Masque de sous-réseau",
|
"dhcp_form_subnet_input": "Masque de sous-réseau",
|
||||||
"dhcp_form_range_title": "Rangée des adresses IP",
|
"dhcp_form_range_title": "Rangée des adresses IP",
|
||||||
@@ -71,8 +68,8 @@
|
|||||||
"dhcp_error": "AdGuard Home ne peut pas déterminer s'il y a un autre serveur DHCP actif sur le réseau.",
|
"dhcp_error": "AdGuard Home ne peut pas déterminer s'il y a un autre serveur DHCP actif sur le réseau.",
|
||||||
"dhcp_static_ip_error": "Pour utiliser un serveur DHCP, une adresse IP statique est requise. AdGuard Home n'a pas réussi à déterminer si cette interface réseau est configurée via une adresse IP statique. Veuillez définir une adresse IP statique manuellement.",
|
"dhcp_static_ip_error": "Pour utiliser un serveur DHCP, une adresse IP statique est requise. AdGuard Home n'a pas réussi à déterminer si cette interface réseau est configurée via une adresse IP statique. Veuillez définir une adresse IP statique manuellement.",
|
||||||
"dhcp_dynamic_ip_found": "Votre système utilise une configuration d'adresses IP dynamiques pour l'interface <0>{{interfaceName}}</0>. Pour utiliser un serveur DHCP, une adresse IP statique est requise. Votre adresse IP actuelle est <0>{{ipAddress}}</0>. AdGuard Home va automatiquement définir cette adresse IP comme statique si vous appuyez sur le bouton « Activer le serveur DHCP ».",
|
"dhcp_dynamic_ip_found": "Votre système utilise une configuration d'adresses IP dynamiques pour l'interface <0>{{interfaceName}}</0>. Pour utiliser un serveur DHCP, une adresse IP statique est requise. Votre adresse IP actuelle est <0>{{ipAddress}}</0>. AdGuard Home va automatiquement définir cette adresse IP comme statique si vous appuyez sur le bouton « Activer le serveur DHCP ».",
|
||||||
"dhcp_lease_added": "« {{key}} » de bail statique ajoutée avec succès",
|
"dhcp_lease_added": "« {{key}} » de bail statique ajoutée",
|
||||||
"dhcp_lease_deleted": "« {{key}} » de bail statique supprimée avec succès",
|
"dhcp_lease_deleted": "« {{key}} » de bail statique supprimée",
|
||||||
"dhcp_new_static_lease": "Nouveau bail statique",
|
"dhcp_new_static_lease": "Nouveau bail statique",
|
||||||
"dhcp_static_leases_not_found": "Aucun bail statique DHCP trouvé",
|
"dhcp_static_leases_not_found": "Aucun bail statique DHCP trouvé",
|
||||||
"dhcp_add_static_lease": "Ajoutez un bail statique",
|
"dhcp_add_static_lease": "Ajoutez un bail statique",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Contrôle Parental activé",
|
"enabled_parental_toast": "Contrôle Parental activé",
|
||||||
"disabled_safe_search_toast": "Recherche Sécurisée désactivée",
|
"disabled_safe_search_toast": "Recherche Sécurisée désactivée",
|
||||||
"enabled_save_search_toast": "Recherche Sécurisée activée",
|
"enabled_save_search_toast": "Recherche Sécurisée activée",
|
||||||
|
"updated_save_search_toast": "Les paramètres de Recherche sécurisée sont mis à jour",
|
||||||
"enabled_table_header": "Activé",
|
"enabled_table_header": "Activé",
|
||||||
"name_table_header": "Nom",
|
"name_table_header": "Nom",
|
||||||
"list_url_table_header": "URL de la liste",
|
"list_url_table_header": "URL de la liste",
|
||||||
@@ -206,22 +204,26 @@
|
|||||||
"example_meaning_filter_block": "bloque l’accès au domaine example.org et à tous ses sous-domaines ;",
|
"example_meaning_filter_block": "bloque l’accès au domaine example.org et à tous ses sous-domaines ;",
|
||||||
"example_meaning_filter_whitelist": "débloque l’accès au domaine example.org et à tous ses sous-domaines ;",
|
"example_meaning_filter_whitelist": "débloque l’accès au domaine example.org et à tous ses sous-domaines ;",
|
||||||
"example_meaning_host_block": "AdGuard Home va retourner l'adresse 127.0.0.1 au domaine example.org (mais pas aux sous-domaines) ;",
|
"example_meaning_host_block": "AdGuard Home va retourner l'adresse 127.0.0.1 au domaine example.org (mais pas aux sous-domaines) ;",
|
||||||
"example_comment": "! Voici comment ajouter une déscription.",
|
"example_comment": "! Voici un commentaire.",
|
||||||
"example_comment_meaning": "juste un commentaire ;",
|
"example_comment_meaning": "juste un commentaire ;",
|
||||||
"example_comment_hash": "# Aussi un commentaire.",
|
"example_comment_hash": "# Aussi un commentaire.",
|
||||||
"example_regex_meaning": "bloque l’accès aux domaines correspondants à l'expression régulière spécifiée .",
|
"example_regex_meaning": "bloque l’accès aux domaines correspondants à l'expression régulière spécifiée .",
|
||||||
"example_upstream_regular": "DNS classique (au-dessus de UDP) ;",
|
"example_upstream_regular": "DNS classique (au-dessus de UDP) ;",
|
||||||
|
"example_upstream_regular_port": "DNS normal (sur UDP, avec port) ;",
|
||||||
"example_upstream_udp": "DNS normal (sur UDP, nom d’hôte) ;",
|
"example_upstream_udp": "DNS normal (sur UDP, nom d’hôte) ;",
|
||||||
"example_upstream_dot": "<0>DNS-over-TLS</0> chiffré ;",
|
"example_upstream_dot": "<0>DNS-over-TLS</0> chiffré ;",
|
||||||
"example_upstream_doh": "<0>DNS-over-HTTPS</0> chiffré ;",
|
"example_upstream_doh": "<0>DNS-over-HTTPS</0> chiffré ;",
|
||||||
|
"example_upstream_doh3": "DNS-over-HTTPS chiffré avec <0>HTTP/3</0> forcé sans repli sur HTTP/2 ou inférieur ;",
|
||||||
"example_upstream_doq": "<0>DNS-over-QUIC</0> chiffré;",
|
"example_upstream_doq": "<0>DNS-over-QUIC</0> chiffré;",
|
||||||
"example_upstream_sdns": "vous pouvez utiliser <0>DNS Stamps</0> pour <1>DNSCrypt</1> ou les résolveurs <2>DNS_over_HTTPS</2> ;",
|
"example_upstream_sdns": "vous pouvez utiliser <0>DNS Stamps</0> pour <1>DNSCrypt</1> ou les résolveurs <2>DNS_over_HTTPS</2> ;",
|
||||||
"example_upstream_tcp": "DNS classique (au-dessus de TCP) ;",
|
"example_upstream_tcp": "DNS classique (au-dessus de TCP) ;",
|
||||||
|
"example_upstream_tcp_port": "DNS normal (sur TCP, avec port) ;",
|
||||||
"example_upstream_tcp_hostname": "DNS normal (sur TCP, nom d’hôte) ;",
|
"example_upstream_tcp_hostname": "DNS normal (sur TCP, nom d’hôte) ;",
|
||||||
"all_lists_up_to_date_toast": "Toutes les listes sont déjà à jour",
|
"all_lists_up_to_date_toast": "Toutes les listes sont déjà à jour",
|
||||||
"updated_upstream_dns_toast": "Serveurs en amont enregistrés",
|
"updated_upstream_dns_toast": "Serveurs en amont enregistrés",
|
||||||
"dns_test_ok_toast": "Les serveurs DNS spécifiés fonctionnent correctement",
|
"dns_test_ok_toast": "Les serveurs DNS spécifiés fonctionnent correctement",
|
||||||
"dns_test_not_ok_toast": "Impossible d'utiliser le serveur « {{key}} »: veuillez vérifier si le nom saisi est bien correct",
|
"dns_test_not_ok_toast": "Impossible d'utiliser le serveur « {{key}} »: veuillez vérifier si le nom saisi est bien correct",
|
||||||
|
"dns_test_warning_toast": "L'amont « {{key}} » ne répond pas aux demandes de test et peut ne pas fonctionner correctement",
|
||||||
"unblock": "Débloquer",
|
"unblock": "Débloquer",
|
||||||
"block": "Bloquer",
|
"block": "Bloquer",
|
||||||
"disallow_this_client": "Interdire ce client",
|
"disallow_this_client": "Interdire ce client",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "Le journal des requêtes a été effacé",
|
"query_log_cleared": "Le journal des requêtes a été effacé",
|
||||||
"query_log_updated": "Le journal des requêtes a été mis à jour",
|
"query_log_updated": "Le journal des requêtes a été mis à jour",
|
||||||
"query_log_clear": "Effacer journal des requêtes",
|
"query_log_clear": "Effacer journal des requêtes",
|
||||||
"query_log_retention": "Rétention du journal des requêtes",
|
"query_log_retention": "Rotation des journaux de requêtes",
|
||||||
"query_log_enable": "Activer le journal",
|
"query_log_enable": "Activer le journal",
|
||||||
"query_log_configuration": "Configuration du journal",
|
"query_log_configuration": "Configuration du journal",
|
||||||
"query_log_disabled": "Le journal des requêtes est désactivé et peut être configuré dans les <0>paramètres</0>",
|
"query_log_disabled": "Le journal des requêtes est désactivé et peut être configuré dans les <0>paramètres</0>",
|
||||||
"query_log_strict_search": "Utilisez les doubles guillemets pour une recherche stricte",
|
"query_log_strict_search": "Utilisez les doubles guillemets pour une recherche stricte",
|
||||||
"query_log_retention_confirm": "Êtes-vous sûr de vouloir modifier la rétention des journaux de requêtes ? Si vous diminuez la valeur de l'intervalle, certaines données seront perdues",
|
"query_log_retention_confirm": "Êtes-vous sûr de souhaiter modifier la rotation des journaux de requêtes ? Si vous diminuez la valeur de l'intervalle, certaines données seront perdues",
|
||||||
"anonymize_client_ip": "Anonymiser l’IP du client",
|
"anonymize_client_ip": "Anonymiser l’IP du client",
|
||||||
"anonymize_client_ip_desc": "Ne pas enregistrer l’adresse IP complète du client dans les journaux et statistiques",
|
"anonymize_client_ip_desc": "Ne pas enregistrer l’adresse IP complète du client dans les journaux et statistiques",
|
||||||
"dns_config": "Configuration du serveur DNS",
|
"dns_config": "Configuration du serveur DNS",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Limite de taux",
|
"rate_limit": "Limite de taux",
|
||||||
"edns_enable": "Activer le sous-réseau du client EDNS",
|
"edns_enable": "Activer le sous-réseau du client EDNS",
|
||||||
"edns_cs_desc": "Ajouter l'option du sous-réseau Client EDNS (ECS) au requêtes en amont et enregistrer les valeurs envoyées par les clients dans le journal des requêtes.",
|
"edns_cs_desc": "Ajouter l'option du sous-réseau Client EDNS (ECS) au requêtes en amont et enregistrer les valeurs envoyées par les clients dans le journal des requêtes.",
|
||||||
|
"edns_use_custom_ip": "Utiliser une IP personnalisée pour EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Autoriser l'utilisation d'une adresse IP personnalisée pour EDNS",
|
||||||
"rate_limit_desc": "Le nombre de requêtes par seconde qu’un seul client est autorisé à faire. Le réglage 0 fait illimité.",
|
"rate_limit_desc": "Le nombre de requêtes par seconde qu’un seul client est autorisé à faire. Le réglage 0 fait illimité.",
|
||||||
"blocking_ipv4_desc": "Adresse IP à renvoyer pour une demande A bloquée",
|
"blocking_ipv4_desc": "Adresse IP à renvoyer pour une demande A bloquée",
|
||||||
"blocking_ipv6_desc": "Adresse IP à renvoyer pour une demande AAAA bloquée",
|
"blocking_ipv6_desc": "Adresse IP à renvoyer pour une demande AAAA bloquée",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN : Répondre avec le code NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN : Répondre avec le code NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "IP nulle : Répondre avec une adresse IP nulle (0.0.0.0 pour A ; :: pour AAAA)",
|
"blocking_mode_null_ip": "IP nulle : Répondre avec une adresse IP nulle (0.0.0.0 pour A ; :: pour AAAA)",
|
||||||
"blocking_mode_custom_ip": "IP personnalisée : Répondre avec une adresse IP définie manuellement",
|
"blocking_mode_custom_ip": "IP personnalisée : Répondre avec une adresse IP définie manuellement",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Thème clair",
|
||||||
|
"theme_dark": "Thème sombre",
|
||||||
"upstream_dns_client_desc": "Si vous laissez ce champ vide, AdGuard Home utilisera les serveurs configurés dans les <0>paramètres DNS</0>.",
|
"upstream_dns_client_desc": "Si vous laissez ce champ vide, AdGuard Home utilisera les serveurs configurés dans les <0>paramètres DNS</0>.",
|
||||||
"tracker_source": "Source du traceur",
|
"tracker_source": "Source du traceur",
|
||||||
"source_label": "Source",
|
"source_label": "Source",
|
||||||
@@ -337,7 +344,7 @@
|
|||||||
"install_devices_router_list_4": "Vous ne pouvez pas définir un serveur DNS personnalisé sur certains types de routeurs. Dans ce cas, la configuration de AdGuard Home en tant que <0>serveur DHCP</0> peut aider. Sinon, vous devez rechercher le manuel sur la façon de personnaliser les serveurs DNS pour votre modèle de routeur particulier.",
|
"install_devices_router_list_4": "Vous ne pouvez pas définir un serveur DNS personnalisé sur certains types de routeurs. Dans ce cas, la configuration de AdGuard Home en tant que <0>serveur DHCP</0> peut aider. Sinon, vous devez rechercher le manuel sur la façon de personnaliser les serveurs DNS pour votre modèle de routeur particulier.",
|
||||||
"install_devices_windows_list_1": "Ouvrez votre Panneau de configuration depuis le menu Démarrer ou la recherche Windows.",
|
"install_devices_windows_list_1": "Ouvrez votre Panneau de configuration depuis le menu Démarrer ou la recherche Windows.",
|
||||||
"install_devices_windows_list_2": "Allez dans la catégorie Réseau et Internet et ensuite dans le Centre Réseau et Partage.",
|
"install_devices_windows_list_2": "Allez dans la catégorie Réseau et Internet et ensuite dans le Centre Réseau et Partage.",
|
||||||
"install_devices_windows_list_3": "Dans le panneau de gauche, cliquez sur \"Modifier les paramètres de l'adaptateur\".",
|
"install_devices_windows_list_3": "Cliquez « Modifier les paramètres de l'adaptateur » sur le panneau à gauche.",
|
||||||
"install_devices_windows_list_4": "Cliquez avec le bouton droit de la souris sur votre connexion active et sélectionnez Propriétés.",
|
"install_devices_windows_list_4": "Cliquez avec le bouton droit de la souris sur votre connexion active et sélectionnez Propriétés.",
|
||||||
"install_devices_windows_list_5": "Recherchez « Protocole Internet Version 4 (TCP/IPv4) » (soit, pour IPv6, « Protocole Internet Version 6 (TCP/IPv6) ») dans la liste, sélectionnez-la puis cliquez à nouveau sur Propriétés.",
|
"install_devices_windows_list_5": "Recherchez « Protocole Internet Version 4 (TCP/IPv4) » (soit, pour IPv6, « Protocole Internet Version 6 (TCP/IPv6) ») dans la liste, sélectionnez-la puis cliquez à nouveau sur Propriétés.",
|
||||||
"install_devices_windows_list_6": "Sélectionnez « Utiliser l’adresse de serveur DNS suivante » et saisissez votre adresse de serveur AdGuard Home.",
|
"install_devices_windows_list_6": "Sélectionnez « Utiliser l’adresse de serveur DNS suivante » et saisissez votre adresse de serveur AdGuard Home.",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Configuration de chiffrement enregistrée",
|
"encryption_config_saved": "Configuration de chiffrement enregistrée",
|
||||||
"encryption_server": "Nom du serveur",
|
"encryption_server": "Nom du serveur",
|
||||||
"encryption_server_enter": "Entrez votre nom de domaine",
|
"encryption_server_enter": "Entrez votre nom de domaine",
|
||||||
"encryption_server_desc": "Pour utiliser HTTPS, vous devez saisir le nom du serveur qui correspond à votre certificat SSL ou wildcard. Si le champ n'est pas configuré, les connexions TLS pour tous les domaines seront acceptées.",
|
"encryption_server_desc": "Si cette option est définie, AdGuard Home détecte les ClientID, répond aux requêtes DDR et effectue des validations de connexion supplémentaires. Si elle n'est pas définie, ces fonctions sont désactivées. Doit correspondre à l'un des noms DNS du certificat.",
|
||||||
"encryption_redirect": "Redirection automatiquement vers HTTPS",
|
"encryption_redirect": "Redirection automatiquement vers HTTPS",
|
||||||
"encryption_redirect_desc": "Si coché, AdGuard Home vous redirigera automatiquement d'adresses HTTP vers HTTPS.",
|
"encryption_redirect_desc": "Si coché, AdGuard Home vous redirigera automatiquement d'adresses HTTP vers HTTPS.",
|
||||||
"encryption_https": "Port HTTPS",
|
"encryption_https": "Port HTTPS",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Émetteur",
|
"encryption_issuer": "Émetteur",
|
||||||
"encryption_hostnames": "Noms d'hôte",
|
"encryption_hostnames": "Noms d'hôte",
|
||||||
"encryption_reset": "Voulez-vous vraiment réinitialiser les paramètres de chiffrement ?",
|
"encryption_reset": "Voulez-vous vraiment réinitialiser les paramètres de chiffrement ?",
|
||||||
|
"encryption_warning": "Attention",
|
||||||
"topline_expiring_certificate": "Votre certificat SSL est sur le point d'expirer. Mettez à jour vos <0>Paramètres de chiffrement</0>.",
|
"topline_expiring_certificate": "Votre certificat SSL est sur le point d'expirer. Mettez à jour vos <0>Paramètres de chiffrement</0>.",
|
||||||
"topline_expired_certificate": "Votre certificat SSL a expiré. Mettez à jour vos <0>Paramètres de chiffrement</0>.",
|
"topline_expired_certificate": "Votre certificat SSL a expiré. Mettez à jour vos <0>Paramètres de chiffrement</0>.",
|
||||||
"form_error_port_range": "Saisissez une valeur de port entre 80 et 65535",
|
"form_error_port_range": "Saisissez une valeur de port entre 80 et 65535",
|
||||||
@@ -429,11 +437,11 @@
|
|||||||
"form_client_name": "Saisissez le nom du client",
|
"form_client_name": "Saisissez le nom du client",
|
||||||
"name": "Nom",
|
"name": "Nom",
|
||||||
"client_global_settings": "Utiliser les paramètres généraux",
|
"client_global_settings": "Utiliser les paramètres généraux",
|
||||||
"client_deleted": "Le client « {{key}} » a été supprimé avec succès",
|
"client_deleted": "Le client « {{key}} » a été supprimé",
|
||||||
"client_added": "Le client « {{key}} » a été ajouté",
|
"client_added": "Le client « {{key}} » a été ajouté",
|
||||||
"client_updated": "Le client « {{key}} » a été mis à jour",
|
"client_updated": "Le client « {{key}} » a été mis à jour",
|
||||||
"clients_not_found": "Aucun client trouvé",
|
"clients_not_found": "Aucun client trouvé",
|
||||||
"client_confirm_delete": "Voulez-vous vraiment supprimer le client « {{key}} »?",
|
"client_confirm_delete": "Voulez-vous vraiment supprimer le client « {{key}} » ?",
|
||||||
"list_confirm_delete": "Voulez-vous vraiment supprimer cette liste ?",
|
"list_confirm_delete": "Voulez-vous vraiment supprimer cette liste ?",
|
||||||
"auto_clients_title": "Clients d'exécution",
|
"auto_clients_title": "Clients d'exécution",
|
||||||
"auto_clients_desc": "Appareils ne figurant pas sur la liste des clients persistants qui peuvent encore utiliser AdGuard Home.",
|
"auto_clients_desc": "Appareils ne figurant pas sur la liste des clients persistants qui peuvent encore utiliser AdGuard Home.",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "Une nouvelle version de AdGuard Home est disponible",
|
"updates_checked": "Une nouvelle version de AdGuard Home est disponible",
|
||||||
"updates_version_equal": "AdGuard Home est à jour",
|
"updates_version_equal": "AdGuard Home est à jour",
|
||||||
"check_updates_now": "Vérifier les mises à jour",
|
"check_updates_now": "Vérifier les mises à jour",
|
||||||
|
"version_request_error": "Impossible de vérifier les mises à jour. Veuillez vérifier votre connexion internet.",
|
||||||
"dns_privacy": "Confidentialité DNS",
|
"dns_privacy": "Confidentialité DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS :</0> Utiliser le string <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS :</0> Utiliser le string <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS :</0> Utiliser le string <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS :</0> Utiliser le string <1>{{address}}</1>.",
|
||||||
@@ -471,7 +480,7 @@
|
|||||||
"rewrite_deleted": "Réécriture DNS pour « {{key}} » supprimée",
|
"rewrite_deleted": "Réécriture DNS pour « {{key}} » supprimée",
|
||||||
"rewrite_add": "Ajouter une réécriture DNS",
|
"rewrite_add": "Ajouter une réécriture DNS",
|
||||||
"rewrite_not_found": "Aucune réécriture DNS trouvée",
|
"rewrite_not_found": "Aucune réécriture DNS trouvée",
|
||||||
"rewrite_confirm_delete": "Voulez-vous vraiment supprimer la réécriture DNS pour « {{key}} »?",
|
"rewrite_confirm_delete": "Voulez-vous vraiment supprimer la réécriture DNS pour « {{key}} » ?",
|
||||||
"rewrite_desc": "Permet de configurer facilement la réponse DNS personnalisée pour un nom de domaine spécifique.",
|
"rewrite_desc": "Permet de configurer facilement la réponse DNS personnalisée pour un nom de domaine spécifique.",
|
||||||
"rewrite_applied": "Règle de réécriture appliquée",
|
"rewrite_applied": "Règle de réécriture appliquée",
|
||||||
"rewrite_hosts_applied": "Réécrit par la règle du fichier d’hôtes",
|
"rewrite_hosts_applied": "Réécrit par la règle du fichier d’hôtes",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Êtes-vous sûr de vouloir modifier le maintien des statistiques ? Si vous diminuez la valeur de l'intervalle, certaines données seront perdues",
|
"statistics_retention_confirm": "Êtes-vous sûr de vouloir modifier le maintien des statistiques ? Si vous diminuez la valeur de l'intervalle, certaines données seront perdues",
|
||||||
"statistics_cleared": "Statistiques effacées",
|
"statistics_cleared": "Statistiques effacées",
|
||||||
"statistics_enable": "Activer les statistiques",
|
"statistics_enable": "Activer les statistiques",
|
||||||
|
"ignore_domains": "Domaines ignorés (séparés par une nouvelle ligne)",
|
||||||
|
"ignore_domains_title": "Domaines ignorés",
|
||||||
|
"ignore_domains_desc_stats": "Les requêtes pour ces domaines ne sont pas écrites dans les statistiques",
|
||||||
|
"ignore_domains_desc_query": "Les requêtes pour ces domaines ne sont pas écrites dans le journal des requêtes",
|
||||||
"interval_hours": "{{count}} heure",
|
"interval_hours": "{{count}} heure",
|
||||||
"interval_hours_plural": "{{count}} heures",
|
"interval_hours_plural": "{{count}} heures",
|
||||||
"filters_configuration": "Configuration des filtres",
|
"filters_configuration": "Configuration des filtres",
|
||||||
@@ -552,11 +565,11 @@
|
|||||||
"disable_ipv6_desc": "Abandonner toutes les requêtes DNS pour les adresses IPv6 (type AAAA).",
|
"disable_ipv6_desc": "Abandonner toutes les requêtes DNS pour les adresses IPv6 (type AAAA).",
|
||||||
"fastest_addr": "Adresse IP la plus rapide",
|
"fastest_addr": "Adresse IP la plus rapide",
|
||||||
"fastest_addr_desc": "Rechercher tous les serveurs DNS et renvoyer l’adresse IP la plus rapide parmi toutes les réponses. Cela ralentit les requêtes DNS car AdGuard Home doit attendre les réponses de tous les serveurs DNS, mais la connectivité globale s'améliore.",
|
"fastest_addr_desc": "Rechercher tous les serveurs DNS et renvoyer l’adresse IP la plus rapide parmi toutes les réponses. Cela ralentit les requêtes DNS car AdGuard Home doit attendre les réponses de tous les serveurs DNS, mais la connectivité globale s'améliore.",
|
||||||
"autofix_warning_text": "Si vous cliquez sur « Réparer », AdGuardHome configurera votre système pour utiliser le serveur DNS AdGuardHome.",
|
"autofix_warning_text": "Si vous cliquez sur « Réparer », AdGuard Home configurera votre système pour utiliser le serveur DNS AdGuard Home.",
|
||||||
"autofix_warning_list": "Ceci effectuera les tâches suivantes : <0>Désactiver le système DNSStubListener</0> <0>Définir l’adresse du serveur DNS à 127.0.0.1 </0> <0>Remplacer la cible du lien symbolique de /etc/resolv.conf par /run/systemd/resolve/resolv.conf</0> <0>Arrêter DNSStubListener (recharger le service résolu par systemd)</0>",
|
"autofix_warning_list": "Ceci effectuera les tâches suivantes : <0>Désactiver le système DNSStubListener</0> <0>Définir l’adresse du serveur DNS à 127.0.0.1 </0> <0>Remplacer la cible du lien symbolique de /etc/resolv.conf par /run/systemd/resolve/resolv.conf</0> <0>Arrêter DNSStubListener (recharger le service résolu par systemd)</0>",
|
||||||
"autofix_warning_result": "Par conséquent, toutes les demandes DNS de votre système seront traitées par AdGuardHome par défaut.",
|
"autofix_warning_result": "Par conséquent, toutes les demandes DNS de votre système seront traitées par AdGuardHome par défaut.",
|
||||||
"tags_title": "Mots clés",
|
"tags_title": "Mots clés",
|
||||||
"tags_desc": "Vous pouvez sélectionner les mots clés qui correspondent au client. Les mots clés peuvent être inclus dans les règles de filtrage et vous permettent de les appliquer plus précisément. <0>En savoir plus</0> .",
|
"tags_desc": "Vous pouvez sélectionner les mots clés qui correspondent au client. Les mots clés peuvent être inclus dans les règles de filtrage et vous permettent de les appliquer plus précisément. <0>En savoir plus</0>.",
|
||||||
"form_select_tags": "Sélectionner les mots clés du client",
|
"form_select_tags": "Sélectionner les mots clés du client",
|
||||||
"check_title": "Vérification du filtrage",
|
"check_title": "Vérification du filtrage",
|
||||||
"check_desc": "Vérifier si le nom d’hôte est filtré .",
|
"check_desc": "Vérifier si le nom d’hôte est filtré .",
|
||||||
@@ -572,10 +585,10 @@
|
|||||||
"check_service": "Nom du service : {{service}}",
|
"check_service": "Nom du service : {{service}}",
|
||||||
"service_name": "Nom du service",
|
"service_name": "Nom du service",
|
||||||
"check_not_found": "Introuvable dans vos listes de filtres",
|
"check_not_found": "Introuvable dans vos listes de filtres",
|
||||||
"client_confirm_block": "Voulez-vous vraiment bloquer le client « {{ip}} »?",
|
"client_confirm_block": "Voulez-vous vraiment bloquer le client « {{ip}} » ?",
|
||||||
"client_confirm_unblock": "Voulez-vous vraiment débloquer le client « {{ip}} »?",
|
"client_confirm_unblock": "Voulez-vous vraiment débloquer le client « {{ip}} » ?",
|
||||||
"client_blocked": "Client « {{ip}} » bloqué avec succès",
|
"client_blocked": "Client « {{ip}} » bloqué",
|
||||||
"client_unblocked": "Client « {{ip}} » débloqué avec succès",
|
"client_unblocked": "Client « {{ip}} » débloqué",
|
||||||
"static_ip": "Adresse IP statique",
|
"static_ip": "Adresse IP statique",
|
||||||
"static_ip_desc": "AdGuard Home est un serveur, il a donc besoin d’une adresse IP statique pour fonctionner correctement. Autrement, à un moment donné, votre routeur pourrait attribuer une adresse IP différente à cet appareil.",
|
"static_ip_desc": "AdGuard Home est un serveur, il a donc besoin d’une adresse IP statique pour fonctionner correctement. Autrement, à un moment donné, votre routeur pourrait attribuer une adresse IP différente à cet appareil.",
|
||||||
"set_static_ip": "Définir une adresse IP statique",
|
"set_static_ip": "Définir une adresse IP statique",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Liste de blocage",
|
"blocklist": "Liste de blocage",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Taille du cache",
|
"cache_size": "Taille du cache",
|
||||||
"cache_size_desc": "Taille du cache DNS (en bytes) .",
|
"cache_size_desc": "Taille du cache DNS (en octets). Pour désactiver la mise en cache, laissez vide.",
|
||||||
"cache_ttl_min_override": "Remplacer le TTL minimum",
|
"cache_ttl_min_override": "Remplacer le TTL minimum",
|
||||||
"cache_ttl_max_override": "Remplacer le TTL maximum",
|
"cache_ttl_max_override": "Remplacer le TTL maximum",
|
||||||
"enter_cache_size": "Entrer la taille du cache (octets)",
|
"enter_cache_size": "Entrer la taille du cache (octets)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Contrôle parental",
|
"parental_control": "Contrôle parental",
|
||||||
"safe_browsing": "Navigation sécurisée",
|
"safe_browsing": "Navigation sécurisée",
|
||||||
"served_from_cache": "{{value}} <i>(depuis le cache)</i>",
|
"served_from_cache": "{{value}} <i>(depuis le cache)</i>",
|
||||||
"form_error_password_length": "Le mot de passe doit comporter au moins {{value}} caractères"
|
"form_error_password_length": "Le mot de passe doit comporter au moins {{value}} caractères",
|
||||||
|
"anonymizer_notification": "<0>Note :</0> L'anonymisation IP est activée. Vous pouvez la désactiver dans les <1>paramètres généraux</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Voulez-vous vraiment vider le cache DNS ?",
|
||||||
|
"cache_cleared": "Le cache DNS a été vidé",
|
||||||
|
"clear_cache": "Vider le cache",
|
||||||
|
"make_static": "Rendre statique",
|
||||||
|
"theme_auto_desc": "Auto (en fonction de la palette de couleurs de votre appareil)",
|
||||||
|
"theme_dark_desc": "Thème sombre",
|
||||||
|
"theme_light_desc": "Thème clair",
|
||||||
|
"disable_for_seconds": "Pendant {{count}} seconde",
|
||||||
|
"disable_for_seconds_plural": "Pendant {{count}} secondes",
|
||||||
|
"disable_for_minutes": "Pendant {{count}} minute",
|
||||||
|
"disable_for_minutes_plural": "Pendant {{count}} minutes",
|
||||||
|
"disable_for_hours": "Pendant {{count}} heure",
|
||||||
|
"disable_for_hours_plural": "Pendant {{count}} heures",
|
||||||
|
"disable_until_tomorrow": "Jusqu'à demain",
|
||||||
|
"disable_notify_for_seconds": "Désactiver la protection pendant {{count}} seconde",
|
||||||
|
"disable_notify_for_seconds_plural": "Désactiver la protection pendant {{count}} secondes",
|
||||||
|
"disable_notify_for_minutes": "Désactiver la protection pendant {{count}} minute",
|
||||||
|
"disable_notify_for_minutes_plural": "Désactiver la protection pendant {{count}} minutes",
|
||||||
|
"disable_notify_for_hours": "Désactiver la protection pendant {{count}} heure",
|
||||||
|
"disable_notify_for_hours_plural": "Désactiver la protection pendant {{count}} heures",
|
||||||
|
"disable_notify_until_tomorrow": "Désactiver la protection jusqu'à demain",
|
||||||
|
"enable_protection_timer": "La protection sera activée dans {{time}}",
|
||||||
|
"custom_retention_input": "Saisir la rétention en heures",
|
||||||
|
"custom_rotation_input": "Saisir la rotation en heures",
|
||||||
|
"protection_section_label": "Protection",
|
||||||
|
"log_and_stats_section_label": "Journal des requêtes et statistiques",
|
||||||
|
"ignore_query_log": "Ignorer ce client dans le journal des requêtes",
|
||||||
|
"ignore_statistics": "Ignorer ce client dans les statistiques"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6 postavke",
|
"dhcp_ipv6_settings": "DHCP IPv6 postavke",
|
||||||
"form_error_required": "Obavezno polje",
|
"form_error_required": "Obavezno polje",
|
||||||
"form_error_ip4_format": "Nevažeća IPv4 adresa",
|
"form_error_ip4_format": "Nevažeća IPv4 adresa",
|
||||||
"form_error_ip4_range_start_format": "Nepravilan početak ranga IPv4 adresa",
|
|
||||||
"form_error_ip4_range_end_format": "Nepravilan kraj ranga IPv4 adresa",
|
|
||||||
"form_error_ip4_gateway_format": "Nepravilna IPV4 adresa čvora",
|
"form_error_ip4_gateway_format": "Nepravilna IPV4 adresa čvora",
|
||||||
"form_error_ip6_format": "Nevažeći IPv6 adresa",
|
"form_error_ip6_format": "Nevažeći IPv6 adresa",
|
||||||
"form_error_ip_format": "Nepravilna IP adresa",
|
"form_error_ip_format": "Nepravilna IP adresa",
|
||||||
@@ -51,9 +49,8 @@
|
|||||||
"out_of_range_error": "Mora biti izvan ranga \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Mora biti izvan ranga \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Mora biti niže od početnog ranga",
|
"lower_range_start_error": "Mora biti niže od početnog ranga",
|
||||||
"greater_range_start_error": "Mora biti veće od krajnjeg ranga",
|
"greater_range_start_error": "Mora biti veće od krajnjeg ranga",
|
||||||
"greater_range_end_error": "Mora biti veće od krajnjeg ranga",
|
|
||||||
"subnet_error": "Adrese moraju biti iz iste podmreže",
|
"subnet_error": "Adrese moraju biti iz iste podmreže",
|
||||||
"gateway_or_subnet_invalid": "Maska podmreže je neprvilna",
|
"gateway_or_subnet_invalid": "Nevažeća podmrežna maska",
|
||||||
"dhcp_form_gateway_input": "Gateway IP",
|
"dhcp_form_gateway_input": "Gateway IP",
|
||||||
"dhcp_form_subnet_input": "Subnet maskiranje",
|
"dhcp_form_subnet_input": "Subnet maskiranje",
|
||||||
"dhcp_form_range_title": "Raspon IP adresa",
|
"dhcp_form_range_title": "Raspon IP adresa",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Omogućen roditeljski nadzor",
|
"enabled_parental_toast": "Omogućen roditeljski nadzor",
|
||||||
"disabled_safe_search_toast": "Onemogućeno sigurno pretraživanje",
|
"disabled_safe_search_toast": "Onemogućeno sigurno pretraživanje",
|
||||||
"enabled_save_search_toast": "Omogućeno sigurno pretraživanje",
|
"enabled_save_search_toast": "Omogućeno sigurno pretraživanje",
|
||||||
|
"updated_save_search_toast": "Ažurirane postavke sigurnog pretraživanja",
|
||||||
"enabled_table_header": "Omogućeno",
|
"enabled_table_header": "Omogućeno",
|
||||||
"name_table_header": "Naziv",
|
"name_table_header": "Naziv",
|
||||||
"list_url_table_header": "URL popisa",
|
"list_url_table_header": "URL popisa",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Također komentar.",
|
"example_comment_hash": "# Također komentar.",
|
||||||
"example_regex_meaning": "blokira pristup domenama koje se podudaraju s regularnim izrazom.",
|
"example_regex_meaning": "blokira pristup domenama koje se podudaraju s regularnim izrazom.",
|
||||||
"example_upstream_regular": "zadani DNS (putem UDP);",
|
"example_upstream_regular": "zadani DNS (putem UDP);",
|
||||||
|
"example_upstream_regular_port": "obični DNS (preko UDP-a, s portom);",
|
||||||
"example_upstream_udp": "obični DNS (preko UDP-a, ime hosta);",
|
"example_upstream_udp": "obični DNS (preko UDP-a, ime hosta);",
|
||||||
"example_upstream_dot": "šifrirano <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "šifrirano <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "šifrirano <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "šifrirano <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "šifrirani DNS-over-HTTPS s prisilnim <0>HTTP/3</0> i nema povratka na HTTP/2 ili niže;",
|
||||||
"example_upstream_doq": "šifrirano <0>DNS-over-QUIC</0> (eksperimentalno);",
|
"example_upstream_doq": "šifrirano <0>DNS-over-QUIC</0> (eksperimentalno);",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> za <1>DNSCrypt</1> ili <2>DNS-over-HTTPS</2> rezolvere;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> za <1>DNSCrypt</1> ili <2>DNS-over-HTTPS</2> rezolvere;",
|
||||||
"example_upstream_tcp": "zadani DNS (putem TCP);",
|
"example_upstream_tcp": "zadani DNS (putem TCP);",
|
||||||
|
"example_upstream_tcp_port": "obični DNS (preko TCP-a, s portom);",
|
||||||
"example_upstream_tcp_hostname": "obični DNS (preko TCP-a, ime hosta);",
|
"example_upstream_tcp_hostname": "obični DNS (preko TCP-a, ime hosta);",
|
||||||
"all_lists_up_to_date_toast": "Svi popisi su ažurirani",
|
"all_lists_up_to_date_toast": "Svi popisi su ažurirani",
|
||||||
"updated_upstream_dns_toast": "Uzvodni poslužitelji uspješno su spremljeni",
|
"updated_upstream_dns_toast": "Uzvodni poslužitelji uspješno su spremljeni",
|
||||||
"dns_test_ok_toast": "Odabrani DNS poslužitelji su trenutno aktivni",
|
"dns_test_ok_toast": "Odabrani DNS poslužitelji su trenutno aktivni",
|
||||||
"dns_test_not_ok_toast": "\"{{key}}\" poslužitelja: ne može se upotrijebiti, provjerite jeste li to ispravno napisali",
|
"dns_test_not_ok_toast": "\"{{key}}\" poslužitelja: ne može se upotrijebiti, provjerite jeste li to ispravno napisali",
|
||||||
|
"dns_test_warning_toast": "Upstream \"{{key}}\" ne odgovara na zahtjeve za testiranje i možda neće raditi ispravno",
|
||||||
"unblock": "Odblokiraj",
|
"unblock": "Odblokiraj",
|
||||||
"block": "Blokiraj",
|
"block": "Blokiraj",
|
||||||
"disallow_this_client": "Onemogući ovog klijenta",
|
"disallow_this_client": "Onemogući ovog klijenta",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "Zapisnik upita je uspješno uklonjen",
|
"query_log_cleared": "Zapisnik upita je uspješno uklonjen",
|
||||||
"query_log_updated": "Zapisnik upita je uspješno ažuriran",
|
"query_log_updated": "Zapisnik upita je uspješno ažuriran",
|
||||||
"query_log_clear": "Očisti zapisnik upita",
|
"query_log_clear": "Očisti zapisnik upita",
|
||||||
"query_log_retention": "Spremanje zapisnika upita",
|
"query_log_retention": "Rotacija dnevnika upita",
|
||||||
"query_log_enable": "Omogući zapise",
|
"query_log_enable": "Omogući zapise",
|
||||||
"query_log_configuration": "Postavke zapisa",
|
"query_log_configuration": "Postavke zapisa",
|
||||||
"query_log_disabled": "Zapisnik upita je onemogućen i može se postaviti u <0>postavkama</0>",
|
"query_log_disabled": "Zapisnik upita je onemogućen i može se postaviti u <0>postavkama</0>",
|
||||||
"query_log_strict_search": "Koristite dvostruke navodnike za strogo pretraživanje",
|
"query_log_strict_search": "Koristite dvostruke navodnike za strogo pretraživanje",
|
||||||
"query_log_retention_confirm": "Jeste li sigurni da želite promijeniti zadržavanje zapisnika upita? Ako smanjite vrijednost intervala, neki će podaci biti izgubljeni",
|
"query_log_retention_confirm": "Jeste li sigurni da želite promijeniti rotaciju dnevnika upita? Ako smanjite vrijednost intervala, neki će se podaci izgubiti",
|
||||||
"anonymize_client_ip": "Anonimiraj IP klijenta",
|
"anonymize_client_ip": "Anonimiraj IP klijenta",
|
||||||
"anonymize_client_ip_desc": "Ne spremajte cijelu IP adresu klijenta u zapisnike i statistike",
|
"anonymize_client_ip_desc": "Ne spremajte cijelu IP adresu klijenta u zapisnike i statistike",
|
||||||
"dns_config": "DNS postavke poslužitelja",
|
"dns_config": "DNS postavke poslužitelja",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Ograničenje",
|
"rate_limit": "Ograničenje",
|
||||||
"edns_enable": "Omogući podmrežu klijenta EDNS-a",
|
"edns_enable": "Omogući podmrežu klijenta EDNS-a",
|
||||||
"edns_cs_desc": "Dodajte opciju EDNS klijentske podmreže (ECS) uzvodnim zahtjevima i zabilježite vrijednosti koje su klijenti poslali u dnevnik upita.",
|
"edns_cs_desc": "Dodajte opciju EDNS klijentske podmreže (ECS) uzvodnim zahtjevima i zabilježite vrijednosti koje su klijenti poslali u dnevnik upita.",
|
||||||
|
"edns_use_custom_ip": "Koristi prilagođeni IP za EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Dopusti korištenje prilagođenog IP-a za EDNS",
|
||||||
"rate_limit_desc": "Broj zahtjeva u sekundi koji su dopušteni po jednom klijentu. Postavljanje na 0 znači neograničeno.",
|
"rate_limit_desc": "Broj zahtjeva u sekundi koji su dopušteni po jednom klijentu. Postavljanje na 0 znači neograničeno.",
|
||||||
"blocking_ipv4_desc": "Povratna IP adresa za blokirane A zahtjeve",
|
"blocking_ipv4_desc": "Povratna IP adresa za blokirane A zahtjeve",
|
||||||
"blocking_ipv6_desc": "Povratna IP adresa za blokirane AAAA zahtjeve",
|
"blocking_ipv6_desc": "Povratna IP adresa za blokirane AAAA zahtjeve",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Odgovor s NXDOMAIN kôdom",
|
"blocking_mode_nxdomain": "NXDOMAIN: Odgovor s NXDOMAIN kôdom",
|
||||||
"blocking_mode_null_ip": "Nuliran IP: Odgovor s nuliranom IP adresom (0.0.0.0 za A; :: za AAAA)",
|
"blocking_mode_null_ip": "Nuliran IP: Odgovor s nuliranom IP adresom (0.0.0.0 za A; :: za AAAA)",
|
||||||
"blocking_mode_custom_ip": "Prilagođeni IP: Odgovor s ručno postavljenom IP adresom",
|
"blocking_mode_custom_ip": "Prilagođeni IP: Odgovor s ručno postavljenom IP adresom",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Svijetla",
|
||||||
|
"theme_dark": "Tamna",
|
||||||
"upstream_dns_client_desc": "Ako ovo polje ostane prazno, AdGuard Home će upotrijebiti poslužitelje postavljene u <0>DNS postavkama</0>.",
|
"upstream_dns_client_desc": "Ako ovo polje ostane prazno, AdGuard Home će upotrijebiti poslužitelje postavljene u <0>DNS postavkama</0>.",
|
||||||
"tracker_source": "Izvor pratitelja",
|
"tracker_source": "Izvor pratitelja",
|
||||||
"source_label": "Izvor",
|
"source_label": "Izvor",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Konfiguracija šifriranja spremljena",
|
"encryption_config_saved": "Konfiguracija šifriranja spremljena",
|
||||||
"encryption_server": "Naziv poslužitelja",
|
"encryption_server": "Naziv poslužitelja",
|
||||||
"encryption_server_enter": "Unesite naziv domene",
|
"encryption_server_enter": "Unesite naziv domene",
|
||||||
"encryption_server_desc": "Da biste koristili HTTPS, morate unijeti ime poslužitelja koje odgovara vašem SSL certifikatu ili wildcard certifikatu. Ako polje nije postavljeno, prihvatit će TLS veze za bilo koju domenu.",
|
"encryption_server_desc": "Ako je postavljeno, AdGuard Home otkriva ClientID-ove, odgovara na DDR upite i provodi dodatne provjere valjanosti veze. Ako nije postavljeno, ove značajke su onemogućene. Mora odgovarati jednom od DNS naziva u certifikatu.",
|
||||||
"encryption_redirect": "Automatski preusmjeri na HTTPS",
|
"encryption_redirect": "Automatski preusmjeri na HTTPS",
|
||||||
"encryption_redirect_desc": "Ako je omogućeno, AdGuard Home će vas automatski preusmjeravati s HTTP na HTTPS adrese.",
|
"encryption_redirect_desc": "Ako je omogućeno, AdGuard Home će vas automatski preusmjeravati s HTTP na HTTPS adrese.",
|
||||||
"encryption_https": "HTTPS port",
|
"encryption_https": "HTTPS port",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Izdavač",
|
"encryption_issuer": "Izdavač",
|
||||||
"encryption_hostnames": "Nazivi računala",
|
"encryption_hostnames": "Nazivi računala",
|
||||||
"encryption_reset": "Jeste li sigurni da želite poništiti postavke šifriranja?",
|
"encryption_reset": "Jeste li sigurni da želite poništiti postavke šifriranja?",
|
||||||
|
"encryption_warning": "Upozorenje",
|
||||||
"topline_expiring_certificate": "Vaš SSL certifikat uskoro ističe. Ažurirajte <0>Postavke šifriranja</0>.",
|
"topline_expiring_certificate": "Vaš SSL certifikat uskoro ističe. Ažurirajte <0>Postavke šifriranja</0>.",
|
||||||
"topline_expired_certificate": "Vaš SSL certifikat je istekao. Ažurirajte <0>Postavke šifriranja</0>.",
|
"topline_expired_certificate": "Vaš SSL certifikat je istekao. Ažurirajte <0>Postavke šifriranja</0>.",
|
||||||
"form_error_port_range": "Unesite broj porta od 80 do 65536",
|
"form_error_port_range": "Unesite broj porta od 80 do 65536",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "Dostupna je nova verzija AdGuard Home-a",
|
"updates_checked": "Dostupna je nova verzija AdGuard Home-a",
|
||||||
"updates_version_equal": "AdGuard Home je ažuriran",
|
"updates_version_equal": "AdGuard Home je ažuriran",
|
||||||
"check_updates_now": "Provjeri ažuriranja sada",
|
"check_updates_now": "Provjeri ažuriranja sada",
|
||||||
|
"version_request_error": "Ne uspješna provjera ažuriranja. Provjerite vašu Internetsku vezu.",
|
||||||
"dns_privacy": "DNS privatnost",
|
"dns_privacy": "DNS privatnost",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Koristite <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Koristite <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Koristite <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Koristite <1>{{address}}</1>.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Jeste li sigurni da želite promijeniti zadržavanje statistike? Ako smanjite vrijednost intervala, neki će podaci biti izgubljeni",
|
"statistics_retention_confirm": "Jeste li sigurni da želite promijeniti zadržavanje statistike? Ako smanjite vrijednost intervala, neki će podaci biti izgubljeni",
|
||||||
"statistics_cleared": "Statistika je uspješno uklonjenja",
|
"statistics_cleared": "Statistika je uspješno uklonjenja",
|
||||||
"statistics_enable": "Omogući statistiku",
|
"statistics_enable": "Omogući statistiku",
|
||||||
|
"ignore_domains": "Zanemarene domene (odvojene novim retkom)",
|
||||||
|
"ignore_domains_title": "Zanemarene domene",
|
||||||
|
"ignore_domains_desc_stats": "Upiti za ove domene ne upisuju se u statistiku",
|
||||||
|
"ignore_domains_desc_query": "Upiti za te domene nisu zapisani u zapisnik upita",
|
||||||
"interval_hours": "{{count}} sata/i",
|
"interval_hours": "{{count}} sata/i",
|
||||||
"interval_hours_plural": "{{count}} sata/i",
|
"interval_hours_plural": "{{count}} sata/i",
|
||||||
"filters_configuration": "Postavke filtara",
|
"filters_configuration": "Postavke filtara",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Popis nedopuštenih",
|
"blocklist": "Popis nedopuštenih",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Veličina predmemorije",
|
"cache_size": "Veličina predmemorije",
|
||||||
"cache_size_desc": "Veličina DNS predmemorije (u bajtovima).",
|
"cache_size_desc": "Veličina DNS predmemorije (u bajtovima). Da biste onemogućili predmemoriju, ostavite prazno.",
|
||||||
"cache_ttl_min_override": "Nadjačaj minimum TTL-a",
|
"cache_ttl_min_override": "Nadjačaj minimum TTL-a",
|
||||||
"cache_ttl_max_override": "Nadjačaj maksimum TTL-a",
|
"cache_ttl_max_override": "Nadjačaj maksimum TTL-a",
|
||||||
"enter_cache_size": "Unesite veličinu predmemorije (u bajtovima)",
|
"enter_cache_size": "Unesite veličinu predmemorije (u bajtovima)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Roditeljska zaštita",
|
"parental_control": "Roditeljska zaštita",
|
||||||
"safe_browsing": "Sigurno surfanje",
|
"safe_browsing": "Sigurno surfanje",
|
||||||
"served_from_cache": "{{value}} <i>(dohvaćeno iz predmemorije)</i>",
|
"served_from_cache": "{{value}} <i>(dohvaćeno iz predmemorije)</i>",
|
||||||
"form_error_password_length": "Lozinka mora imati najmanje {{value}} znakova"
|
"form_error_password_length": "Lozinka mora imati najmanje {{value}} znakova",
|
||||||
|
"anonymizer_notification": "<0>Napomena:</0>IP anonimizacija je omogućena. Možete ju onemogućiti u <1>općim postavkama</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Jeste li sigurni da želite očistiti DNS predmemoriju?",
|
||||||
|
"cache_cleared": "DNS predmemorija je uspješno izbrisana",
|
||||||
|
"clear_cache": "Očisti predmemoriju",
|
||||||
|
"make_static": "Učini statičnim",
|
||||||
|
"theme_auto_desc": "Automatski (na temelju sheme boja vašeg uređaja)",
|
||||||
|
"theme_dark_desc": "Tamna tema",
|
||||||
|
"theme_light_desc": "Svijetla tema",
|
||||||
|
"disable_for_seconds": "Za {{count}} sekundi",
|
||||||
|
"disable_for_seconds_plural": "Za {{count}} sekundi",
|
||||||
|
"disable_for_minutes": "Za {{count}} minuta",
|
||||||
|
"disable_for_minutes_plural": "Za {{count}} minuta",
|
||||||
|
"disable_for_hours": "Za {{count}} sati",
|
||||||
|
"disable_for_hours_plural": "Za {{count}} sati",
|
||||||
|
"disable_until_tomorrow": "Do sutra",
|
||||||
|
"disable_notify_for_seconds": "Isključi zaštitu na {{count}} sekundi",
|
||||||
|
"disable_notify_for_seconds_plural": "Onemogući zaštitu na {{count}} sekundi",
|
||||||
|
"disable_notify_for_minutes": "Isključi zaštitu na {{count}} minuta",
|
||||||
|
"disable_notify_for_minutes_plural": "Isključi zaštitu na {{count}} minuta",
|
||||||
|
"disable_notify_for_hours": "Isključi zaštitu na {{count}} sati",
|
||||||
|
"disable_notify_for_hours_plural": "Isključi zaštitu na {{count}} sati",
|
||||||
|
"disable_notify_until_tomorrow": "Isključi zaštitu do sutra",
|
||||||
|
"enable_protection_timer": "Zaštita će biti omogućena u {{time}}",
|
||||||
|
"custom_retention_input": "Unesite zadržavanje u satima",
|
||||||
|
"custom_rotation_input": "Unesite rotaciju u satima",
|
||||||
|
"protection_section_label": "Zaštita",
|
||||||
|
"log_and_stats_section_label": "Zapisnik upita i statistika",
|
||||||
|
"ignore_query_log": "Zanemari ovog klijenta u zapisniku upita",
|
||||||
|
"ignore_statistics": "Ignorirajte ovog klijenta u statistici"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6 Beállítások",
|
"dhcp_ipv6_settings": "DHCP IPv6 Beállítások",
|
||||||
"form_error_required": "Kötelező mező",
|
"form_error_required": "Kötelező mező",
|
||||||
"form_error_ip4_format": "Érvénytelen IPv4 cím",
|
"form_error_ip4_format": "Érvénytelen IPv4 cím",
|
||||||
"form_error_ip4_range_start_format": "Érvénytelen IPv4-cím a tartomány kezdetéhez",
|
|
||||||
"form_error_ip4_range_end_format": "Érvénytelen IPv4-cím a tartomány végén",
|
|
||||||
"form_error_ip4_gateway_format": "Az átjáróhoz (gateway) érvénytelen IPv4 cím lett megadva",
|
"form_error_ip4_gateway_format": "Az átjáróhoz (gateway) érvénytelen IPv4 cím lett megadva",
|
||||||
"form_error_ip6_format": "Érvénytelen IPv6 cím",
|
"form_error_ip6_format": "Érvénytelen IPv6 cím",
|
||||||
"form_error_ip_format": "Érvénytelen IP-cím",
|
"form_error_ip_format": "Érvénytelen IP-cím",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "A következő tartományon kívül legyen: \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "A következő tartományon kívül legyen: \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Kisebb legyen, mint a tartomány kezdete",
|
"lower_range_start_error": "Kisebb legyen, mint a tartomány kezdete",
|
||||||
"greater_range_start_error": "Nagyobbnak kell lennie, mint a tartomány kezdete",
|
"greater_range_start_error": "Nagyobbnak kell lennie, mint a tartomány kezdete",
|
||||||
"greater_range_end_error": "Nagyobb legyen, mint a tartomány vége",
|
|
||||||
"subnet_error": "A címeknek egy alhálózatban kell lenniük",
|
"subnet_error": "A címeknek egy alhálózatban kell lenniük",
|
||||||
"gateway_or_subnet_invalid": "Az alhálózati maszk érvénytelen",
|
"gateway_or_subnet_invalid": "Az alhálózati maszk érvénytelen",
|
||||||
"dhcp_form_gateway_input": "Átjáró IP",
|
"dhcp_form_gateway_input": "Átjáró IP",
|
||||||
@@ -211,17 +208,21 @@
|
|||||||
"example_comment_hash": "# Ez is egy megjegyzés.",
|
"example_comment_hash": "# Ez is egy megjegyzés.",
|
||||||
"example_regex_meaning": "blokkolja a hozzáférést azokhoz a domainekhez, amik illeszkednek a megadott reguláris kifejezésre.",
|
"example_regex_meaning": "blokkolja a hozzáférést azokhoz a domainekhez, amik illeszkednek a megadott reguláris kifejezésre.",
|
||||||
"example_upstream_regular": "hagyományos DNS (UDP felett);",
|
"example_upstream_regular": "hagyományos DNS (UDP felett);",
|
||||||
|
"example_upstream_regular_port": "normál DNS (UDP-n keresztül, porttal);",
|
||||||
"example_upstream_udp": "normál DNS (UDP felett, hostnév);",
|
"example_upstream_udp": "normál DNS (UDP felett, hostnév);",
|
||||||
"example_upstream_dot": "titkosított <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "titkosított <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "titkosított <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "titkosított <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "titkosított DNS-over-HTTPS kényszerített <0>HTTP/3-mal</0> és nincs visszalépés a HTTP/2-re vagy az alább;",
|
||||||
"example_upstream_doq": "titkosított <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "titkosított <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> a <1>DNSCrypt</1> vagy <2>DNS-over-HTTPS</2> feloldókhoz;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> a <1>DNSCrypt</1> vagy <2>DNS-over-HTTPS</2> feloldókhoz;",
|
||||||
"example_upstream_tcp": "hagyományos DNS (TCP felett);",
|
"example_upstream_tcp": "hagyományos DNS (TCP felett);",
|
||||||
|
"example_upstream_tcp_port": "normál DNS (TCP-n keresztül, porttal);",
|
||||||
"example_upstream_tcp_hostname": "normál DNS (TCP felett, hostnév);",
|
"example_upstream_tcp_hostname": "normál DNS (TCP felett, hostnév);",
|
||||||
"all_lists_up_to_date_toast": "Már minden lista naprakész",
|
"all_lists_up_to_date_toast": "Már minden lista naprakész",
|
||||||
"updated_upstream_dns_toast": "Upstream szerverek sikeresen mentve",
|
"updated_upstream_dns_toast": "Upstream szerverek sikeresen mentve",
|
||||||
"dns_test_ok_toast": "A megadott DNS-kiszolgálók megfelelően működnek",
|
"dns_test_ok_toast": "A megadott DNS-kiszolgálók megfelelően működnek",
|
||||||
"dns_test_not_ok_toast": "Szerver \"{{key}}\": nem használható, ellenőrizze, hogy helyesen írta-e be",
|
"dns_test_not_ok_toast": "Szerver \"{{key}}\": nem használható, ellenőrizze, hogy helyesen írta-e be",
|
||||||
|
"dns_test_warning_toast": "A \"{{key}}\" feltöltés nem válaszol a tesztkérelmekre, és lehet, hogy nem működik megfelelően",
|
||||||
"unblock": "Feloldás",
|
"unblock": "Feloldás",
|
||||||
"block": "Blokkolás",
|
"block": "Blokkolás",
|
||||||
"disallow_this_client": "Tiltás ennek a kliensnek",
|
"disallow_this_client": "Tiltás ennek a kliensnek",
|
||||||
@@ -297,6 +298,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Az NXDOMAIN kóddal fog válaszolni",
|
"blocking_mode_nxdomain": "NXDOMAIN: Az NXDOMAIN kóddal fog válaszolni",
|
||||||
"blocking_mode_null_ip": "Null IP: Nullákból álló IP-címmel válaszol (0.0.0.0 for A; :: for AAAA)",
|
"blocking_mode_null_ip": "Null IP: Nullákból álló IP-címmel válaszol (0.0.0.0 for A; :: for AAAA)",
|
||||||
"blocking_mode_custom_ip": "Egyedi IP: Válasz egy kézzel beállított IP címmel",
|
"blocking_mode_custom_ip": "Egyedi IP: Válasz egy kézzel beállított IP címmel",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Világos",
|
||||||
|
"theme_dark": "Sötét",
|
||||||
"upstream_dns_client_desc": "Ha üresen hagyja ezt a mezőt, az AdGuard Home azokat a szervereket fogja használni, amik a <0>DNS beállításokban</0> vannak beállítva.",
|
"upstream_dns_client_desc": "Ha üresen hagyja ezt a mezőt, az AdGuard Home azokat a szervereket fogja használni, amik a <0>DNS beállításokban</0> vannak beállítva.",
|
||||||
"tracker_source": "Követő forrása",
|
"tracker_source": "Követő forrása",
|
||||||
"source_label": "Forrás",
|
"source_label": "Forrás",
|
||||||
@@ -363,7 +367,7 @@
|
|||||||
"encryption_config_saved": "Titkosítási beállítások mentve",
|
"encryption_config_saved": "Titkosítási beállítások mentve",
|
||||||
"encryption_server": "Szerver neve",
|
"encryption_server": "Szerver neve",
|
||||||
"encryption_server_enter": "Adja meg az Ön domain címét",
|
"encryption_server_enter": "Adja meg az Ön domain címét",
|
||||||
"encryption_server_desc": "A HTTPS használatához meg kell adnia a szerver nevét, amely megegyezik az SSL tanúsítvánnyal vagy a helyettesítő tanúsítvánnyal. Ha a mező nincs beállítva, akkor bármely tartományhoz elfogadja a TLS kapcsolatokat.",
|
"encryption_server_desc": "Ha be van állítva, az AdGuard Home észleli az ClientID-ket, válaszol a DDR-lekérdezésekre, és további kapcsolatellenőrzéseket végez. Ha nincs beállítva, ezek a funkciók le vannak tiltva. Meg kell egyeznie a tanúsítványban szereplő DNS-nevek egyikével.",
|
||||||
"encryption_redirect": "Automatikus átirányítás HTTPS kapcsolatra",
|
"encryption_redirect": "Automatikus átirányítás HTTPS kapcsolatra",
|
||||||
"encryption_redirect_desc": "Ha be van jelölve, az AdGuard Home automatikusan átirányítja a HTTP kapcsolatokat a biztonságos HTTPS protokollra.",
|
"encryption_redirect_desc": "Ha be van jelölve, az AdGuard Home automatikusan átirányítja a HTTP kapcsolatokat a biztonságos HTTPS protokollra.",
|
||||||
"encryption_https": "HTTPS port",
|
"encryption_https": "HTTPS port",
|
||||||
@@ -389,6 +393,7 @@
|
|||||||
"encryption_issuer": "Kibocsátó",
|
"encryption_issuer": "Kibocsátó",
|
||||||
"encryption_hostnames": "Hosztnevek",
|
"encryption_hostnames": "Hosztnevek",
|
||||||
"encryption_reset": "Biztosan visszaállítja a titkosítási beállításokat?",
|
"encryption_reset": "Biztosan visszaállítja a titkosítási beállításokat?",
|
||||||
|
"encryption_warning": "Figyelmeztetés",
|
||||||
"topline_expiring_certificate": "Az SSL-tanúsítványa hamarosan lejár. Frissítse a <0>Titkosítási beállításokat</0>.",
|
"topline_expiring_certificate": "Az SSL-tanúsítványa hamarosan lejár. Frissítse a <0>Titkosítási beállításokat</0>.",
|
||||||
"topline_expired_certificate": "Az SSL-tanúsítványa lejárt. Frissítse a <0>Titkosítási beállításokat</0>.",
|
"topline_expired_certificate": "Az SSL-tanúsítványa lejárt. Frissítse a <0>Titkosítási beállításokat</0>.",
|
||||||
"form_error_port_range": "Adjon meg egy portszámot a 80-65535 tartományon belül",
|
"form_error_port_range": "Adjon meg egy portszámot a 80-65535 tartományon belül",
|
||||||
@@ -449,6 +454,7 @@
|
|||||||
"updates_checked": "Elérhető az AdGuard Home új verziója",
|
"updates_checked": "Elérhető az AdGuard Home új verziója",
|
||||||
"updates_version_equal": "Az AdGuard Home naprakész",
|
"updates_version_equal": "Az AdGuard Home naprakész",
|
||||||
"check_updates_now": "Frissítések ellenőrzése most",
|
"check_updates_now": "Frissítések ellenőrzése most",
|
||||||
|
"version_request_error": "A frissítések ellenőrzése sikertelen. Ellenőrizze az internetkapcsolatot.",
|
||||||
"dns_privacy": "DNS Adatvédelem",
|
"dns_privacy": "DNS Adatvédelem",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Használja a(z) <1>{{address}}</1> szöveget.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Használja a(z) <1>{{address}}</1> szöveget.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Használja a(z) <1>{{address}}</1> szöveget.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Használja a(z) <1>{{address}}</1> szöveget.",
|
||||||
@@ -602,7 +608,7 @@
|
|||||||
"blocklist": "Tiltólista",
|
"blocklist": "Tiltólista",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Gyorsítótár mérete",
|
"cache_size": "Gyorsítótár mérete",
|
||||||
"cache_size_desc": "DNS gyorsítótár mérete (bájtokban).",
|
"cache_size_desc": "DNS-gyorsítótár mérete (byte-ban). A gyorsítótárazás letiltásához hagyja üresen.",
|
||||||
"cache_ttl_min_override": "A minimális TTL felülírása",
|
"cache_ttl_min_override": "A minimális TTL felülírása",
|
||||||
"cache_ttl_max_override": "A maximális TTL felülírása",
|
"cache_ttl_max_override": "A maximális TTL felülírása",
|
||||||
"enter_cache_size": "Adja meg a gyorsítótár méretét",
|
"enter_cache_size": "Adja meg a gyorsítótár méretét",
|
||||||
@@ -632,5 +638,10 @@
|
|||||||
"parental_control": "Szülői felügyelet",
|
"parental_control": "Szülői felügyelet",
|
||||||
"safe_browsing": "Biztonságos böngészés",
|
"safe_browsing": "Biztonságos böngészés",
|
||||||
"served_from_cache": "{{value}} <i>(gyorsítótárból kiszolgálva)</i>",
|
"served_from_cache": "{{value}} <i>(gyorsítótárból kiszolgálva)</i>",
|
||||||
"form_error_password_length": "A jelszó legalább {{value}} karakter hosszú kell, hogy legyen"
|
"form_error_password_length": "A jelszó legalább {{value}} karakter hosszú kell, hogy legyen",
|
||||||
|
"anonymizer_notification": "<0>Megjegyzés:</0> Az IP anonimizálás engedélyezve van. Az <1>Általános beállításoknál letilthatja</1> .",
|
||||||
|
"confirm_dns_cache_clear": "Biztos benne, hogy törölni szeretné a DNS-gyorsítótárat?",
|
||||||
|
"cache_cleared": "A DNS gyorsítótár sikeresen törlődött",
|
||||||
|
"clear_cache": "Gyorsítótár törlése",
|
||||||
|
"protection_section_label": "Védelem"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Pengaturan DHCP IPv6",
|
"dhcp_ipv6_settings": "Pengaturan DHCP IPv6",
|
||||||
"form_error_required": "Kolom yang harus diisi",
|
"form_error_required": "Kolom yang harus diisi",
|
||||||
"form_error_ip4_format": "Alamat IPv4 tidak valid",
|
"form_error_ip4_format": "Alamat IPv4 tidak valid",
|
||||||
"form_error_ip4_range_start_format": "Alamat IPv4 tidak valid dari rentang awal",
|
|
||||||
"form_error_ip4_range_end_format": "Alamat IPv4 tidak valid dari rentang akhir",
|
|
||||||
"form_error_ip4_gateway_format": "Alamat IPv4 gateway tidak valid",
|
"form_error_ip4_gateway_format": "Alamat IPv4 gateway tidak valid",
|
||||||
"form_error_ip6_format": "Alamat IPv6 tidak valid",
|
"form_error_ip6_format": "Alamat IPv6 tidak valid",
|
||||||
"form_error_ip_format": "Alamat IP tidak valid",
|
"form_error_ip_format": "Alamat IP tidak valid",
|
||||||
@@ -47,10 +45,10 @@
|
|||||||
"form_error_server_name": "Nama server tidak valid",
|
"form_error_server_name": "Nama server tidak valid",
|
||||||
"form_error_subnet": "Subnet \"{{cidr}}\" tidak berisi alamat IP \"{{ip}}\"",
|
"form_error_subnet": "Subnet \"{{cidr}}\" tidak berisi alamat IP \"{{ip}}\"",
|
||||||
"form_error_positive": "Harus lebih dari 0",
|
"form_error_positive": "Harus lebih dari 0",
|
||||||
|
"form_error_gateway_ip": "Sewa tidak dapat memiliki alamat IP gateway",
|
||||||
"out_of_range_error": "Harus di luar rentang \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Harus di luar rentang \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Harus lebih rendah dari rentang awal",
|
"lower_range_start_error": "Harus lebih rendah dari rentang awal",
|
||||||
"greater_range_start_error": "Harus lebih besar dari rentang awal",
|
"greater_range_start_error": "Harus lebih besar dari rentang awal",
|
||||||
"greater_range_end_error": "Harus lebih besar dari rentang akhir",
|
|
||||||
"subnet_error": "Alamat harus dalam satu subnet",
|
"subnet_error": "Alamat harus dalam satu subnet",
|
||||||
"gateway_or_subnet_invalid": "Subnet mask tidak valid",
|
"gateway_or_subnet_invalid": "Subnet mask tidak valid",
|
||||||
"dhcp_form_gateway_input": "IP gateway",
|
"dhcp_form_gateway_input": "IP gateway",
|
||||||
@@ -210,17 +208,21 @@
|
|||||||
"example_comment_hash": "# Juga sebuah komentar.",
|
"example_comment_hash": "# Juga sebuah komentar.",
|
||||||
"example_regex_meaning": "blokir akses ke domain yang cocok dengan ekspresi reguler yang ditentukan.",
|
"example_regex_meaning": "blokir akses ke domain yang cocok dengan ekspresi reguler yang ditentukan.",
|
||||||
"example_upstream_regular": "DNS reguler (melalui UDP);",
|
"example_upstream_regular": "DNS reguler (melalui UDP);",
|
||||||
|
"example_upstream_regular_port": "DNS biasa (lebih dari UDP, dengan port);",
|
||||||
"example_upstream_udp": "DNS biasa (lebih dari UDP, nama host);",
|
"example_upstream_udp": "DNS biasa (lebih dari UDP, nama host);",
|
||||||
"example_upstream_dot": "terenkripsi <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "terenkripsi <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "terenkripsi <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "terenkripsi <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "DNS-over-HTTPS terenkripsi dengan paksa <0>HTTP/3</0> dan tidak ada fallback ke HTTP/2 atau lebih rendah;",
|
||||||
"example_upstream_doq": "terenkripsi <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "terenkripsi <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>Stempel DNS</0> untuk <1>DNSCrypt</1> atau pengarah <2>DNS-over-HTTPS</2>;",
|
"example_upstream_sdns": "<0>Stempel DNS</0> untuk <1>DNSCrypt</1> atau pengarah <2>DNS-over-HTTPS</2>;",
|
||||||
"example_upstream_tcp": "DNS reguler (melalui TCP);",
|
"example_upstream_tcp": "DNS reguler (melalui TCP);",
|
||||||
|
"example_upstream_tcp_port": "DNS biasa (melalui TCP, dengan port);",
|
||||||
"example_upstream_tcp_hostname": "DNS biasa (lebih dari TCP, nama host);",
|
"example_upstream_tcp_hostname": "DNS biasa (lebih dari TCP, nama host);",
|
||||||
"all_lists_up_to_date_toast": "Semua daftar sudah diperbarui",
|
"all_lists_up_to_date_toast": "Semua daftar sudah diperbarui",
|
||||||
"updated_upstream_dns_toast": "Server upstream berhasil disimpan",
|
"updated_upstream_dns_toast": "Server upstream berhasil disimpan",
|
||||||
"dns_test_ok_toast": "Server DNS yang ditentukan bekerja dengan benar",
|
"dns_test_ok_toast": "Server DNS yang ditentukan bekerja dengan benar",
|
||||||
"dns_test_not_ok_toast": "Server \"{{key}}\": tidak dapat digunakan, mohon cek bahwa Anda telah menulisnya dengan benar",
|
"dns_test_not_ok_toast": "Server \"{{key}}\": tidak dapat digunakan, mohon cek bahwa Anda telah menulisnya dengan benar",
|
||||||
|
"dns_test_warning_toast": "Upstream \"{{key}}\" tidak menanggapi permintaan pengujian dan mungkin tidak berfungsi dengan baik",
|
||||||
"unblock": "Buka Blokir",
|
"unblock": "Buka Blokir",
|
||||||
"block": "Blok",
|
"block": "Blok",
|
||||||
"disallow_this_client": "Cabut ijin untuk klien ini",
|
"disallow_this_client": "Cabut ijin untuk klien ini",
|
||||||
@@ -296,6 +298,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Respon pakai kode NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Respon pakai kode NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "Null IP: Respon pakai alamat IP kosong (0.0.0.0 untuk A; :: untuk AAAA)",
|
"blocking_mode_null_ip": "Null IP: Respon pakai alamat IP kosong (0.0.0.0 untuk A; :: untuk AAAA)",
|
||||||
"blocking_mode_custom_ip": "IP kustom: respon dengan alamat IP yang diset secara manual",
|
"blocking_mode_custom_ip": "IP kustom: respon dengan alamat IP yang diset secara manual",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Terang",
|
||||||
|
"theme_dark": "Gelap",
|
||||||
"upstream_dns_client_desc": "Jika Anda biarkan bidang ini kosong, AdGuard Home akan memakai server yang dikonfigurasi di<0>Pengaturan DNS</0>.",
|
"upstream_dns_client_desc": "Jika Anda biarkan bidang ini kosong, AdGuard Home akan memakai server yang dikonfigurasi di<0>Pengaturan DNS</0>.",
|
||||||
"tracker_source": "Sumber pelacak",
|
"tracker_source": "Sumber pelacak",
|
||||||
"source_label": "Sumber",
|
"source_label": "Sumber",
|
||||||
@@ -362,7 +367,7 @@
|
|||||||
"encryption_config_saved": "Pengaturan enkripsi telah tersimpan",
|
"encryption_config_saved": "Pengaturan enkripsi telah tersimpan",
|
||||||
"encryption_server": "Nama server",
|
"encryption_server": "Nama server",
|
||||||
"encryption_server_enter": "Masukkan nama domain anda",
|
"encryption_server_enter": "Masukkan nama domain anda",
|
||||||
"encryption_server_desc": "Untuk menggunakan HTTPS, Anda harus memasukkan nama server yang cocok dengan sertifikat SSL Anda. Bila ruas tak ditata, akan menerima koneksi TLS bagi domain manapun.",
|
"encryption_server_desc": "Jika disetel, AdGuard Home mendeteksi ClientID, merespons kueri DDR, dan melakukan validasi koneksi tambahan. Jika tidak disetel, fitur-fitur ini dinonaktifkan. Harus cocok dengan salah satu Nama DNS dalam sertifikat.",
|
||||||
"encryption_redirect": "Alihkan ke HTTPS secara otomatis",
|
"encryption_redirect": "Alihkan ke HTTPS secara otomatis",
|
||||||
"encryption_redirect_desc": "Jika dicentang, AdGuard Home akan secara otomatis mengarahkan anda dari HTTP ke alamat HTTPS.",
|
"encryption_redirect_desc": "Jika dicentang, AdGuard Home akan secara otomatis mengarahkan anda dari HTTP ke alamat HTTPS.",
|
||||||
"encryption_https": "Port HTTPS",
|
"encryption_https": "Port HTTPS",
|
||||||
@@ -388,6 +393,7 @@
|
|||||||
"encryption_issuer": "Penerbit",
|
"encryption_issuer": "Penerbit",
|
||||||
"encryption_hostnames": "Nama host",
|
"encryption_hostnames": "Nama host",
|
||||||
"encryption_reset": "Anda yakin ingin mengatur ulang pengaturan enkripsi?",
|
"encryption_reset": "Anda yakin ingin mengatur ulang pengaturan enkripsi?",
|
||||||
|
"encryption_warning": "Perhatian",
|
||||||
"topline_expiring_certificate": "Sertifikat SSL Anda hampir kedaluwarsa. Perbarui <0>Pengaturan enkripsi</0>.",
|
"topline_expiring_certificate": "Sertifikat SSL Anda hampir kedaluwarsa. Perbarui <0>Pengaturan enkripsi</0>.",
|
||||||
"topline_expired_certificate": "Sertifikat SSL Anda kedaluwarsa. Perbarui <0>Pengaturan enkripsi</0>.",
|
"topline_expired_certificate": "Sertifikat SSL Anda kedaluwarsa. Perbarui <0>Pengaturan enkripsi</0>.",
|
||||||
"form_error_port_range": "Masukkan nomor port di kisaran 80-65535",
|
"form_error_port_range": "Masukkan nomor port di kisaran 80-65535",
|
||||||
@@ -601,7 +607,7 @@
|
|||||||
"blocklist": "Daftar blokir",
|
"blocklist": "Daftar blokir",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Ukuran cache",
|
"cache_size": "Ukuran cache",
|
||||||
"cache_size_desc": "Ukuran DNS cache (dalam bit).",
|
"cache_size_desc": "Ukuran cache DNS (dalam byte). Untuk menonaktifkan caching, biarkan kosong.",
|
||||||
"cache_ttl_min_override": "Tumpuk TTL minimum",
|
"cache_ttl_min_override": "Tumpuk TTL minimum",
|
||||||
"cache_ttl_max_override": "Tumpuk TTL maksimum",
|
"cache_ttl_max_override": "Tumpuk TTL maksimum",
|
||||||
"enter_cache_size": "Masukkan ukuran cache (bytes)",
|
"enter_cache_size": "Masukkan ukuran cache (bytes)",
|
||||||
@@ -631,5 +637,10 @@
|
|||||||
"parental_control": "Kontrol Orang Tua",
|
"parental_control": "Kontrol Orang Tua",
|
||||||
"safe_browsing": "Penjelajahan Aman",
|
"safe_browsing": "Penjelajahan Aman",
|
||||||
"served_from_cache": "{{value}} <i>(disajikan dari cache)</i>",
|
"served_from_cache": "{{value}} <i>(disajikan dari cache)</i>",
|
||||||
"form_error_password_length": "Kata sandi harus minimal {{value}} karakter"
|
"form_error_password_length": "Kata sandi harus minimal {{value}} karakter",
|
||||||
|
"anonymizer_notification": "<0>Catatan:</0> Anonimisasi IP diaktifkan. Anda dapat menonaktifkannya di <1>Pengaturan umum</1> .",
|
||||||
|
"confirm_dns_cache_clear": "Apakah Anda yakin ingin menghapus cache DNS?",
|
||||||
|
"cache_cleared": "Cache DNS berhasil dibersihkan",
|
||||||
|
"clear_cache": "Hapus cache",
|
||||||
|
"protection_section_label": "Perlindungan"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"disabled_dhcp": "Server DHCP disattivato",
|
"disabled_dhcp": "Server DHCP disattivato",
|
||||||
"unavailable_dhcp": "DHCP non disponibile",
|
"unavailable_dhcp": "DHCP non disponibile",
|
||||||
"unavailable_dhcp_desc": "AdGuard Home non può eseguire un server DHCP sul tuo sistema operativo",
|
"unavailable_dhcp_desc": "AdGuard Home non può eseguire un server DHCP sul tuo sistema operativo",
|
||||||
"dhcp_title": "Server DHCP",
|
"dhcp_title": "Server DHCP (sperimentale!)",
|
||||||
"dhcp_description": "Se il tuo router non supporta la configurazione delle impostazioni del DHCP puoi utilizzare il server DHCP incluso in AdGuard.",
|
"dhcp_description": "Se il tuo router non supporta la configurazione delle impostazioni del DHCP puoi utilizzare il server DHCP incluso in AdGuard.",
|
||||||
"dhcp_enable": "Attiva server DHCP",
|
"dhcp_enable": "Attiva server DHCP",
|
||||||
"dhcp_disable": "Disattiva server DHCP",
|
"dhcp_disable": "Disattiva server DHCP",
|
||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Impostazioni DHCP IPv6",
|
"dhcp_ipv6_settings": "Impostazioni DHCP IPv6",
|
||||||
"form_error_required": "Campo richiesto",
|
"form_error_required": "Campo richiesto",
|
||||||
"form_error_ip4_format": "Indirizzo IPv4 non valido",
|
"form_error_ip4_format": "Indirizzo IPv4 non valido",
|
||||||
"form_error_ip4_range_start_format": "Indirizzo IPV4 non valido dell'intervallo iniziale",
|
|
||||||
"form_error_ip4_range_end_format": "Indirizzo IPV4 non valido dell'intervallo finale",
|
|
||||||
"form_error_ip4_gateway_format": "Indirizzo gateway IPv4 non valido",
|
"form_error_ip4_gateway_format": "Indirizzo gateway IPv4 non valido",
|
||||||
"form_error_ip6_format": "Indirizzo IPv6 non valido",
|
"form_error_ip6_format": "Indirizzo IPv6 non valido",
|
||||||
"form_error_ip_format": "Indirizzo IP non valido",
|
"form_error_ip_format": "Indirizzo IP non valido",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Deve essere fuori intervallo \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Deve essere fuori intervallo \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Deve essere inferiore dell'intervallo di inizio",
|
"lower_range_start_error": "Deve essere inferiore dell'intervallo di inizio",
|
||||||
"greater_range_start_error": "Deve essere maggiore dell'intervallo di inizio",
|
"greater_range_start_error": "Deve essere maggiore dell'intervallo di inizio",
|
||||||
"greater_range_end_error": "Deve essere maggiore dell'intervallo di fine",
|
|
||||||
"subnet_error": "Gli indirizzi devono trovarsi in una sottorete",
|
"subnet_error": "Gli indirizzi devono trovarsi in una sottorete",
|
||||||
"gateway_or_subnet_invalid": "Maschera di sottorete non valida",
|
"gateway_or_subnet_invalid": "Maschera di sottorete non valida",
|
||||||
"dhcp_form_gateway_input": "IP Gateway",
|
"dhcp_form_gateway_input": "IP Gateway",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Il Controllo Parentale è attivo",
|
"enabled_parental_toast": "Il Controllo Parentale è attivo",
|
||||||
"disabled_safe_search_toast": "La Ricerca Sicura è disattivata",
|
"disabled_safe_search_toast": "La Ricerca Sicura è disattivata",
|
||||||
"enabled_save_search_toast": "La Ricerca Sicura è attiva",
|
"enabled_save_search_toast": "La Ricerca Sicura è attiva",
|
||||||
|
"updated_save_search_toast": "Impostazioni di Safe Search aggiornate",
|
||||||
"enabled_table_header": "Attivo",
|
"enabled_table_header": "Attivo",
|
||||||
"name_table_header": "Nome",
|
"name_table_header": "Nome",
|
||||||
"list_url_table_header": "Elenco URL",
|
"list_url_table_header": "Elenco URL",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Anche un commento.",
|
"example_comment_hash": "# Anche un commento.",
|
||||||
"example_regex_meaning": "blocca l'accesso ai domini corrispondenti alla specifica espressione regolare.",
|
"example_regex_meaning": "blocca l'accesso ai domini corrispondenti alla specifica espressione regolare.",
|
||||||
"example_upstream_regular": "DNS regolare (over UDP);",
|
"example_upstream_regular": "DNS regolare (over UDP);",
|
||||||
|
"example_upstream_regular_port": "DNS regolare (su UDP, con porta);",
|
||||||
"example_upstream_udp": "DNS regolare (over UDP, nome host);",
|
"example_upstream_udp": "DNS regolare (over UDP, nome host);",
|
||||||
"example_upstream_dot": "<0>DNS su TLS</0> crittografato;",
|
"example_upstream_dot": "<0>DNS su TLS</0> crittografato;",
|
||||||
"example_upstream_doh": "<0>DNS su HTTPS</0> crittografato;",
|
"example_upstream_doh": "<0>DNS su HTTPS</0> crittografato;",
|
||||||
|
"example_upstream_doh3": "DNS-over-HTTPS crittografato con <0>HTTP/3 forzato</0> e nessun fallback su HTTP/2 o inferiore;",
|
||||||
"example_upstream_doq": "<0>DNS su QUIC</0> crittografato;",
|
"example_upstream_doq": "<0>DNS su QUIC</0> crittografato;",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> per <1>DNSCrypt</1> oppure i risolutori <2>DNS su HTTPS</2>;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> per <1>DNSCrypt</1> oppure i risolutori <2>DNS su HTTPS</2>;",
|
||||||
"example_upstream_tcp": "DNS regolare (over TCP);",
|
"example_upstream_tcp": "DNS regolare (over TCP);",
|
||||||
|
"example_upstream_tcp_port": "DNS regolare (su TCP, con porta);",
|
||||||
"example_upstream_tcp_hostname": "DNS regolare (over TCP, nome host);",
|
"example_upstream_tcp_hostname": "DNS regolare (over TCP, nome host);",
|
||||||
"all_lists_up_to_date_toast": "Tutti gli elenchi sono aggiornati",
|
"all_lists_up_to_date_toast": "Tutti gli elenchi sono aggiornati",
|
||||||
"updated_upstream_dns_toast": "I server upstream sono stati salvati correttamente",
|
"updated_upstream_dns_toast": "I server upstream sono stati salvati correttamente",
|
||||||
"dns_test_ok_toast": "I server DNS specificati funzionano correttamente",
|
"dns_test_ok_toast": "I server DNS specificati funzionano correttamente",
|
||||||
"dns_test_not_ok_toast": "Server \"{{key}}\": non può essere utilizzato, assicurati di averlo digitato correttamente",
|
"dns_test_not_ok_toast": "Server \"{{key}}\": non può essere utilizzato, assicurati di averlo digitato correttamente",
|
||||||
|
"dns_test_warning_toast": "Upstream \"{{key}}\" non risponde alle richieste di test e potrebbe non funzionare correttamente",
|
||||||
"unblock": "Sblocca",
|
"unblock": "Sblocca",
|
||||||
"block": "Blocca",
|
"block": "Blocca",
|
||||||
"disallow_this_client": "Blocca questo client",
|
"disallow_this_client": "Blocca questo client",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "Il registro richieste è stato correttamente cancellato",
|
"query_log_cleared": "Il registro richieste è stato correttamente cancellato",
|
||||||
"query_log_updated": "Il registro richieste è stato correttamente aggiornato",
|
"query_log_updated": "Il registro richieste è stato correttamente aggiornato",
|
||||||
"query_log_clear": "Cancella registri richieste",
|
"query_log_clear": "Cancella registri richieste",
|
||||||
"query_log_retention": "Conservazione dei registri richieste",
|
"query_log_retention": "Rotazione dei registri richieste",
|
||||||
"query_log_enable": "Attiva registro",
|
"query_log_enable": "Attiva registro",
|
||||||
"query_log_configuration": "Configurazione registri",
|
"query_log_configuration": "Configurazione registri",
|
||||||
"query_log_disabled": "Il registro richieste è stato disattivato e può essere configurata dalle <0>impostazioni</0>",
|
"query_log_disabled": "Il registro richieste è stato disattivato e può essere configurata dalle <0>impostazioni</0>",
|
||||||
"query_log_strict_search": "Utilizzare le doppie virgolette per una ricerca precisa",
|
"query_log_strict_search": "Utilizzare le doppie virgolette per una ricerca precisa",
|
||||||
"query_log_retention_confirm": "Sei sicuro di voler modificare il registro delle richieste? Se il valore di intervallo dovesse diminuire, alcuni dati andranno persi",
|
"query_log_retention_confirm": "Sei sicuro di voler modificare il registro delle richieste? Se si riduce il valore dell'intervallo, alcuni dati andranno persi",
|
||||||
"anonymize_client_ip": "Anonimizza client IP",
|
"anonymize_client_ip": "Anonimizza client IP",
|
||||||
"anonymize_client_ip_desc": "Non salvare l'indirizzo IP completo del client nel registro o nelle statistiche",
|
"anonymize_client_ip_desc": "Non salvare l'indirizzo IP completo del client nel registro o nelle statistiche",
|
||||||
"dns_config": "Configurazione server DNS",
|
"dns_config": "Configurazione server DNS",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Limite delle richieste",
|
"rate_limit": "Limite delle richieste",
|
||||||
"edns_enable": "Attiva client di sottorete EDNS",
|
"edns_enable": "Attiva client di sottorete EDNS",
|
||||||
"edns_cs_desc": "Aggiunge l'opzione EDNS Client Subnet (ECS) alle richieste upstream e registra i valori inviati dai client nel registro delle richieste.",
|
"edns_cs_desc": "Aggiunge l'opzione EDNS Client Subnet (ECS) alle richieste upstream e registra i valori inviati dai client nel registro delle richieste.",
|
||||||
|
"edns_use_custom_ip": "Usa IP personalizzato per EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Consentire l'uso di un IP personalizzato per EDNS",
|
||||||
"rate_limit_desc": "Il numero di richieste al secondo consentite da un singolo client. Impostare questo valore a 0 rimuove le limitazioni.",
|
"rate_limit_desc": "Il numero di richieste al secondo consentite da un singolo client. Impostare questo valore a 0 rimuove le limitazioni.",
|
||||||
"blocking_ipv4_desc": "Indirizzo IP per una richiesta DNS IPv4 bloccata",
|
"blocking_ipv4_desc": "Indirizzo IP per una richiesta DNS IPv4 bloccata",
|
||||||
"blocking_ipv6_desc": "Indirizzo IP restituito per una richiesta DNS IPv6 bloccata",
|
"blocking_ipv6_desc": "Indirizzo IP restituito per una richiesta DNS IPv6 bloccata",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Rispondi con il codice NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Rispondi con il codice NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "IP nullo: Rispondi con indirizzo IP zero (0.0.0.0 per A; :: per AAAA)",
|
"blocking_mode_null_ip": "IP nullo: Rispondi con indirizzo IP zero (0.0.0.0 per A; :: per AAAA)",
|
||||||
"blocking_mode_custom_ip": "IP personalizzato: Rispondi con un indirizzo IP impostato manualmente",
|
"blocking_mode_custom_ip": "IP personalizzato: Rispondi con un indirizzo IP impostato manualmente",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Chiaro",
|
||||||
|
"theme_dark": "Scuro",
|
||||||
"upstream_dns_client_desc": "Se lasci questo spazio vuoto, AdGuard Home utilizzerà i server configurati nelle <0>impostazioni DNS</0>.",
|
"upstream_dns_client_desc": "Se lasci questo spazio vuoto, AdGuard Home utilizzerà i server configurati nelle <0>impostazioni DNS</0>.",
|
||||||
"tracker_source": "Origine del tracciatore",
|
"tracker_source": "Origine del tracciatore",
|
||||||
"source_label": "Fonte",
|
"source_label": "Fonte",
|
||||||
@@ -326,7 +333,7 @@
|
|||||||
"install_step": "Passo",
|
"install_step": "Passo",
|
||||||
"install_devices_title": "Configura i tuoi dispositivi",
|
"install_devices_title": "Configura i tuoi dispositivi",
|
||||||
"install_devices_desc": "Affinché AdGuard Home inizi a funzionare, è necessario configurare i dispositivi per utilizzarlo.",
|
"install_devices_desc": "Affinché AdGuard Home inizi a funzionare, è necessario configurare i dispositivi per utilizzarlo.",
|
||||||
"install_submit_title": "Congratulazioni!",
|
"install_submit_title": "Felicitazioni!",
|
||||||
"install_submit_desc": "La procedura di configurazione è completa e ora sei pronto per iniziare ad utilizzare AdGuard Home.",
|
"install_submit_desc": "La procedura di configurazione è completa e ora sei pronto per iniziare ad utilizzare AdGuard Home.",
|
||||||
"install_devices_router": "Router",
|
"install_devices_router": "Router",
|
||||||
"install_devices_router_desc": "Questa configurazione copre automaticamente tutti i dispositivi collegati al router di casa, non è necessario configurarli manualmente.",
|
"install_devices_router_desc": "Questa configurazione copre automaticamente tutti i dispositivi collegati al router di casa, non è necessario configurarli manualmente.",
|
||||||
@@ -340,7 +347,7 @@
|
|||||||
"install_devices_windows_list_3": "Sul lato sinistro dello schermo, clicca su \"Cambia impostazioni adattatore\".",
|
"install_devices_windows_list_3": "Sul lato sinistro dello schermo, clicca su \"Cambia impostazioni adattatore\".",
|
||||||
"install_devices_windows_list_4": "Fai clic destro sulla tua connessione attiva e seleziona Proprietà.",
|
"install_devices_windows_list_4": "Fai clic destro sulla tua connessione attiva e seleziona Proprietà.",
|
||||||
"install_devices_windows_list_5": "Trova \"Protocollo Internet versione 4 (TCP/IPv4)\" (o, per IPv6, \"Protocollo Internet versione 6 (TCP/IPv6)\" nell'elenco, selezionalo e quindi clicca nuovamente su Proprietà.",
|
"install_devices_windows_list_5": "Trova \"Protocollo Internet versione 4 (TCP/IPv4)\" (o, per IPv6, \"Protocollo Internet versione 6 (TCP/IPv6)\" nell'elenco, selezionalo e quindi clicca nuovamente su Proprietà.",
|
||||||
"install_devices_windows_list_6": "Scegli \"Utilizza i seguenti indirizzi server DNS\" ed inserisci i tuoi indirizzi server AdGuard Home.",
|
"install_devices_windows_list_6": "Scegli \"Utilizza i seguenti indirizzi server DNS\" e inserisci i tuoi indirizzi server AdGuard Home.",
|
||||||
"install_devices_macos_list_1": "Fai clic sull'icona Apple e dirigiti sulle Preferenze di Sistema.",
|
"install_devices_macos_list_1": "Fai clic sull'icona Apple e dirigiti sulle Preferenze di Sistema.",
|
||||||
"install_devices_macos_list_2": "Clicca su Rete.",
|
"install_devices_macos_list_2": "Clicca su Rete.",
|
||||||
"install_devices_macos_list_3": "Seleziona la prima connessione nel tuo elenco e clicca su Avanzate.",
|
"install_devices_macos_list_3": "Seleziona la prima connessione nel tuo elenco e clicca su Avanzate.",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Configurazione crittografia salvata",
|
"encryption_config_saved": "Configurazione crittografia salvata",
|
||||||
"encryption_server": "Nome server",
|
"encryption_server": "Nome server",
|
||||||
"encryption_server_enter": "Inserisci il tuo nome di dominio",
|
"encryption_server_enter": "Inserisci il tuo nome di dominio",
|
||||||
"encryption_server_desc": "Per utilizzare HTTPS, è necessario immettere il nome del server che corrisponde al certificato SSL o al certificato wildcard. Se il campo risulterà vuoto, accetterà connessioni TLS per qualsiasi dominio.",
|
"encryption_server_desc": "Se impostato, AdGuard Home rileva i ClientID, risponde alle query DDR ed esegue ulteriori convalide della connessione. Se non sono impostate, queste funzioni sono disabilitate. Deve corrispondere a uno dei nomi DNS nel certificato.",
|
||||||
"encryption_redirect": "Reindirizza automaticamente a HTTPS",
|
"encryption_redirect": "Reindirizza automaticamente a HTTPS",
|
||||||
"encryption_redirect_desc": "Se selezionato, AdGuard Home ti reindirizzerà automaticamente da indirizzi HTTP a HTTPS.",
|
"encryption_redirect_desc": "Se selezionato, AdGuard Home ti reindirizzerà automaticamente da indirizzi HTTP a HTTPS.",
|
||||||
"encryption_https": "Porta HTTPS",
|
"encryption_https": "Porta HTTPS",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Emittente",
|
"encryption_issuer": "Emittente",
|
||||||
"encryption_hostnames": "Nomi host",
|
"encryption_hostnames": "Nomi host",
|
||||||
"encryption_reset": "Sei sicuro di voler ripristinare le impostazioni di crittografia?",
|
"encryption_reset": "Sei sicuro di voler ripristinare le impostazioni di crittografia?",
|
||||||
|
"encryption_warning": "Attenzione",
|
||||||
"topline_expiring_certificate": "Il tuo certificato SSL sta per scadere. Aggiorna le<0> Impostazioni di crittografia </ 0>.",
|
"topline_expiring_certificate": "Il tuo certificato SSL sta per scadere. Aggiorna le<0> Impostazioni di crittografia </ 0>.",
|
||||||
"topline_expired_certificate": "Il tuo certificato SSL è scaduto. Aggiorna le <0> Impostazioni di crittografia </ 0>.",
|
"topline_expired_certificate": "Il tuo certificato SSL è scaduto. Aggiorna le <0> Impostazioni di crittografia </ 0>.",
|
||||||
"form_error_port_range": "Immettere il valore della porta nell'intervallo 80-65535",
|
"form_error_port_range": "Immettere il valore della porta nell'intervallo 80-65535",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "Nuova versione di AdGuard Home è disponibile",
|
"updates_checked": "Nuova versione di AdGuard Home è disponibile",
|
||||||
"updates_version_equal": "AdGuard Home è aggiornato",
|
"updates_version_equal": "AdGuard Home è aggiornato",
|
||||||
"check_updates_now": "Ricerca aggiornamenti ora",
|
"check_updates_now": "Ricerca aggiornamenti ora",
|
||||||
|
"version_request_error": "Ricerca aggiornamenti non riuscita. Per favore controlla la tua connessione internet.",
|
||||||
"dns_privacy": "Privacy DNS",
|
"dns_privacy": "Privacy DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS su TLS:</0> Utilizza la stringa <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS su TLS:</0> Utilizza la stringa <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS su HTTPS:</0> Utilizza la stringa <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS su HTTPS:</0> Utilizza la stringa <1>{{address}}</1>.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Sei sicuro di voler modificare la conservazione delle statistiche? Se il valore di intervallo dovesse diminuire, alcuni dati andranno persi",
|
"statistics_retention_confirm": "Sei sicuro di voler modificare la conservazione delle statistiche? Se il valore di intervallo dovesse diminuire, alcuni dati andranno persi",
|
||||||
"statistics_cleared": "Statistiche azzerate correttamente",
|
"statistics_cleared": "Statistiche azzerate correttamente",
|
||||||
"statistics_enable": "Attiva statistiche",
|
"statistics_enable": "Attiva statistiche",
|
||||||
|
"ignore_domains": "Domini ignorati (separati da nuova riga)",
|
||||||
|
"ignore_domains_title": "Domini ignorati",
|
||||||
|
"ignore_domains_desc_stats": "Le richieste per questi domini non vengono scritte nelle statistiche",
|
||||||
|
"ignore_domains_desc_query": "Le richieste per questi domini non vengono scritte nel registro delle richieste",
|
||||||
"interval_hours": "{{count}} ora",
|
"interval_hours": "{{count}} ora",
|
||||||
"interval_hours_plural": "{{count}} ore",
|
"interval_hours_plural": "{{count}} ore",
|
||||||
"filters_configuration": "Configurazione filtri",
|
"filters_configuration": "Configurazione filtri",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Lista nera",
|
"blocklist": "Lista nera",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Dimensioni cache",
|
"cache_size": "Dimensioni cache",
|
||||||
"cache_size_desc": "Dimensioni cache DNS (in byte).",
|
"cache_size_desc": "Dimensione della cache DNS (in byte). Per disabilitare la memorizzazione nella cache, lascia vuoto.",
|
||||||
"cache_ttl_min_override": "Sovrascrivi TTL minimo",
|
"cache_ttl_min_override": "Sovrascrivi TTL minimo",
|
||||||
"cache_ttl_max_override": "Sovrascrivi TTL massimo",
|
"cache_ttl_max_override": "Sovrascrivi TTL massimo",
|
||||||
"enter_cache_size": "Immetti dimensioni cache (in byte)",
|
"enter_cache_size": "Immetti dimensioni cache (in byte)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Controllo Parentale",
|
"parental_control": "Controllo Parentale",
|
||||||
"safe_browsing": "Navigazione Sicura",
|
"safe_browsing": "Navigazione Sicura",
|
||||||
"served_from_cache": "{{value}} <i>(fornito dalla cache)</i>",
|
"served_from_cache": "{{value}} <i>(fornito dalla cache)</i>",
|
||||||
"form_error_password_length": "La password deve contenere almeno {{value}} caratteri"
|
"form_error_password_length": "La password deve contenere almeno {{value}} caratteri",
|
||||||
|
"anonymizer_notification": "<0>Attenzione:</0> L'anonimizzazione dell'IP è abilitata. Puoi disabilitarla in <1>Impostazioni generali</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Sei sicuro di voler cancellare la cache DNS?",
|
||||||
|
"cache_cleared": "Cache DNS è stata cancellata correttamente",
|
||||||
|
"clear_cache": "Cancella cache",
|
||||||
|
"make_static": "Rendere statico",
|
||||||
|
"theme_auto_desc": "Auto (in base alla combinazione di colori del tuo dispositivo)",
|
||||||
|
"theme_dark_desc": "Tema scuro",
|
||||||
|
"theme_light_desc": "Tema chiaro",
|
||||||
|
"disable_for_seconds": "Per {{count}} secondo",
|
||||||
|
"disable_for_seconds_plural": "Per {{count}} secondi",
|
||||||
|
"disable_for_minutes": "Per {{count}} minuto",
|
||||||
|
"disable_for_minutes_plural": "Per {{count}} minuti",
|
||||||
|
"disable_for_hours": "Per {{count}} ora",
|
||||||
|
"disable_for_hours_plural": "Per {{count}} ore",
|
||||||
|
"disable_until_tomorrow": "Fino a domani",
|
||||||
|
"disable_notify_for_seconds": "Disattiva la protezione per {{count}} secondo",
|
||||||
|
"disable_notify_for_seconds_plural": "Disattiva la protezione per {{count}} secondi",
|
||||||
|
"disable_notify_for_minutes": "Disattiva protezione per {{count}} minuto",
|
||||||
|
"disable_notify_for_minutes_plural": "Disattiva la protezione per {{count}} minuti",
|
||||||
|
"disable_notify_for_hours": "Disattiva la protezione per {{count}} ora",
|
||||||
|
"disable_notify_for_hours_plural": "Disattiva la protezione per {{count}} ore",
|
||||||
|
"disable_notify_until_tomorrow": "Disattiva la protezione fino a domani",
|
||||||
|
"enable_protection_timer": "La protezione verrà attivata in {{time}}",
|
||||||
|
"custom_retention_input": "Inserisci la conservazione in ore",
|
||||||
|
"custom_rotation_input": "Inserisci la rotazione in ore",
|
||||||
|
"protection_section_label": "Protezione",
|
||||||
|
"log_and_stats_section_label": "Registro richieste e statistiche",
|
||||||
|
"ignore_query_log": "Ignora questo client nel registro delle richieste",
|
||||||
|
"ignore_statistics": "Ignora questo cliente nelle statistiche"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"disabled_dhcp": "DHCPサーバを無効にしました",
|
"disabled_dhcp": "DHCPサーバを無効にしました",
|
||||||
"unavailable_dhcp": "DHCPは利用できません",
|
"unavailable_dhcp": "DHCPは利用できません",
|
||||||
"unavailable_dhcp_desc": "AdGuard Homeはお使いのOS上でDHCPサーバを実行できません。",
|
"unavailable_dhcp_desc": "AdGuard Homeはお使いのOS上でDHCPサーバを実行できません。",
|
||||||
"dhcp_title": "DHCPサーバ(実験的!)",
|
"dhcp_title": "DHCPサーバ(※実験的)",
|
||||||
"dhcp_description": "あなたのルータがDHCPの設定を提供していないのなら、AdGuardに内蔵されているDHCPサーバを利用できます。",
|
"dhcp_description": "あなたのルータがDHCPの設定を提供していないのなら、AdGuardに内蔵されているDHCPサーバを利用できます。",
|
||||||
"dhcp_enable": "DHCPサーバを有効にする",
|
"dhcp_enable": "DHCPサーバを有効にする",
|
||||||
"dhcp_disable": "DHCPサーバを無効にする",
|
"dhcp_disable": "DHCPサーバを無効にする",
|
||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6 設定",
|
"dhcp_ipv6_settings": "DHCP IPv6 設定",
|
||||||
"form_error_required": "必須項目です",
|
"form_error_required": "必須項目です",
|
||||||
"form_error_ip4_format": "IPv4アドレスが無効です",
|
"form_error_ip4_format": "IPv4アドレスが無効です",
|
||||||
"form_error_ip4_range_start_format": "範囲開始のIPv4アドレスが無効です",
|
|
||||||
"form_error_ip4_range_end_format": "範囲終了のIPv4アドレスが無効です",
|
|
||||||
"form_error_ip4_gateway_format": "ゲートウェイのIPv4アドレスが無効です",
|
"form_error_ip4_gateway_format": "ゲートウェイのIPv4アドレスが無効です",
|
||||||
"form_error_ip6_format": "IPv6アドレスが無効です",
|
"form_error_ip6_format": "IPv6アドレスが無効です",
|
||||||
"form_error_ip_format": "IPアドレスが無効です",
|
"form_error_ip_format": "IPアドレスが無効です",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "\"{{start}}\"〜\"{{end}}\" の範囲外である必要があります",
|
"out_of_range_error": "\"{{start}}\"〜\"{{end}}\" の範囲外である必要があります",
|
||||||
"lower_range_start_error": "範囲開始よりも低い値である必要があります",
|
"lower_range_start_error": "範囲開始よりも低い値である必要があります",
|
||||||
"greater_range_start_error": "範囲開始値より大きい値でなければなりません",
|
"greater_range_start_error": "範囲開始値より大きい値でなければなりません",
|
||||||
"greater_range_end_error": "範囲終了値より大きい値でなければなりません",
|
|
||||||
"subnet_error": "両アドレスが同じサブネット内にある必要があります",
|
"subnet_error": "両アドレスが同じサブネット内にある必要があります",
|
||||||
"gateway_or_subnet_invalid": "サブネットマスクが無効です",
|
"gateway_or_subnet_invalid": "サブネットマスクが無効です",
|
||||||
"dhcp_form_gateway_input": "ゲートウェイIP",
|
"dhcp_form_gateway_input": "ゲートウェイIP",
|
||||||
@@ -71,8 +68,8 @@
|
|||||||
"dhcp_error": "ネットワーク上に別の稼働中DHCPサーバがあるかどうか、AdGuard Homeは判断できませんでした",
|
"dhcp_error": "ネットワーク上に別の稼働中DHCPサーバがあるかどうか、AdGuard Homeは判断できませんでした",
|
||||||
"dhcp_static_ip_error": "DHCPサーバーを使用するには、静的IPアドレスを設定する必要があります。このネットワークインターフェースが静的IPアドレスを使用するように設定されているかどうかを、AdGuard Homeは判断できませんでした。手動で静的IPアドレスを設定してください。",
|
"dhcp_static_ip_error": "DHCPサーバーを使用するには、静的IPアドレスを設定する必要があります。このネットワークインターフェースが静的IPアドレスを使用するように設定されているかどうかを、AdGuard Homeは判断できませんでした。手動で静的IPアドレスを設定してください。",
|
||||||
"dhcp_dynamic_ip_found": "お使いのシステムは、インターフェース<0>{{interfaceName}}</0>用に動的IPアドレス構成を使用しています。DHCPサーバを使用するには、静的IPアドレスで設定する必要があります。あなたの現在のIPアドレスは<0>{{ipAddress}}</0>です。「DHCPサーバを有効にする」ボタンを押すと、AdGuard Homeは自動的にこのIPアドレスを静的IPアドレスとして設定します。",
|
"dhcp_dynamic_ip_found": "お使いのシステムは、インターフェース<0>{{interfaceName}}</0>用に動的IPアドレス構成を使用しています。DHCPサーバを使用するには、静的IPアドレスで設定する必要があります。あなたの現在のIPアドレスは<0>{{ipAddress}}</0>です。「DHCPサーバを有効にする」ボタンを押すと、AdGuard Homeは自動的にこのIPアドレスを静的IPアドレスとして設定します。",
|
||||||
"dhcp_lease_added": "静的割り当て \"{{key}}\" の追加に成功しました",
|
"dhcp_lease_added": "静的リース \"{{key}}\" の追加が完了しました。",
|
||||||
"dhcp_lease_deleted": "静的割り当て \"{{key}}\" の削除に成功しました",
|
"dhcp_lease_deleted": "静的リース \"{{key}}\" の削除が完了しました。",
|
||||||
"dhcp_new_static_lease": "新規静的割り当て",
|
"dhcp_new_static_lease": "新規静的割り当て",
|
||||||
"dhcp_static_leases_not_found": "DHCP静的割り当てはありません",
|
"dhcp_static_leases_not_found": "DHCP静的割り当てはありません",
|
||||||
"dhcp_add_static_lease": "静的割り当てを追加する",
|
"dhcp_add_static_lease": "静的割り当てを追加する",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "ペアレンタルコントロールが有効になりました",
|
"enabled_parental_toast": "ペアレンタルコントロールが有効になりました",
|
||||||
"disabled_safe_search_toast": "セーフサーチが無効になりました",
|
"disabled_safe_search_toast": "セーフサーチが無効になりました",
|
||||||
"enabled_save_search_toast": "セーフサーチが有効になりました",
|
"enabled_save_search_toast": "セーフサーチが有効になりました",
|
||||||
|
"updated_save_search_toast": "セーフ サーチの設定が更新されました。",
|
||||||
"enabled_table_header": "有効",
|
"enabled_table_header": "有効",
|
||||||
"name_table_header": "名称",
|
"name_table_header": "名称",
|
||||||
"list_url_table_header": "URLリスト",
|
"list_url_table_header": "URLリスト",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# これもコメントです",
|
"example_comment_hash": "# これもコメントです",
|
||||||
"example_regex_meaning": "指定の正規表現に一致するドメインへのアクセスをブロックします。",
|
"example_regex_meaning": "指定の正規表現に一致するドメインへのアクセスをブロックします。",
|
||||||
"example_upstream_regular": "通常のDNS(over UDP)。",
|
"example_upstream_regular": "通常のDNS(over UDP)。",
|
||||||
|
"example_upstream_regular_port": "レギュラーDNS(over UDP、ポート付き)",
|
||||||
"example_upstream_udp": "通常のDNS(over UDP, ホスト名)。",
|
"example_upstream_udp": "通常のDNS(over UDP, ホスト名)。",
|
||||||
"example_upstream_dot": "暗号化されている <0>DNS-over-TLS</0>。",
|
"example_upstream_dot": "暗号化されている <0>DNS-over-TLS</0>。",
|
||||||
"example_upstream_doh": "暗号化されている <0>DNS-over-HTTPS</0>。",
|
"example_upstream_doh": "暗号化されている <0>DNS-over-HTTPS</0>。",
|
||||||
|
"example_upstream_doh3": "暗号化されたDNS-over-HTTPS(<0>HTTP/3</0>の強制、HTTP/2 以下へのフォールバックなし)",
|
||||||
"example_upstream_doq": "暗号化 <0>DNS-over-QUIC</0>。",
|
"example_upstream_doq": "暗号化 <0>DNS-over-QUIC</0>。",
|
||||||
"example_upstream_sdns": "<1>DNSCrypt</1> または <2>DNS-over-HTTPS</2> リゾルバのための <0>DNS Stamps</0>。",
|
"example_upstream_sdns": "<1>DNSCrypt</1> または <2>DNS-over-HTTPS</2> リゾルバのための <0>DNS Stamps</0>。",
|
||||||
"example_upstream_tcp": "通常のDNS(over TCP)。",
|
"example_upstream_tcp": "通常のDNS(over TCP)。",
|
||||||
|
"example_upstream_tcp_port": "レギュラーDNS(over TCP、ポート付き);",
|
||||||
"example_upstream_tcp_hostname": "通常のDNS(over TCP, ホスト名)。",
|
"example_upstream_tcp_hostname": "通常のDNS(over TCP, ホスト名)。",
|
||||||
"all_lists_up_to_date_toast": "すべてのリストは既に最新です",
|
"all_lists_up_to_date_toast": "すべてのリストは既に最新です",
|
||||||
"updated_upstream_dns_toast": "上流DNSサーバを保存しました。",
|
"updated_upstream_dns_toast": "上流DNSサーバを保存しました。",
|
||||||
"dns_test_ok_toast": "指定されたDNSサーバは正しく動作しています",
|
"dns_test_ok_toast": "指定されたDNSサーバは正しく動作しています",
|
||||||
"dns_test_not_ok_toast": "サーバ \"{{key}}\": 使用できませんでした。正しく入力されているかどうかを確認してください",
|
"dns_test_not_ok_toast": "サーバ \"{{key}}\": 使用できませんでした。正しく入力されているかどうかを確認してください",
|
||||||
|
"dns_test_warning_toast": "アップストリーム\"{{key}}\"はテストリクエストに応答せず、正しく動作しない可能性があります。",
|
||||||
"unblock": "ブロック解除",
|
"unblock": "ブロック解除",
|
||||||
"block": "ブロック",
|
"block": "ブロック",
|
||||||
"disallow_this_client": "このクライアントを拒否する",
|
"disallow_this_client": "このクライアントを拒否する",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "クエリ・ログの消去に成功しました",
|
"query_log_cleared": "クエリ・ログの消去に成功しました",
|
||||||
"query_log_updated": "クエリ・ログの更新が成功しました",
|
"query_log_updated": "クエリ・ログの更新が成功しました",
|
||||||
"query_log_clear": "クエリ・ログを消去する",
|
"query_log_clear": "クエリ・ログを消去する",
|
||||||
"query_log_retention": "クエリ・ログの保持",
|
"query_log_retention": "クエリ・ログのローテーション",
|
||||||
"query_log_enable": "ログを有効にする",
|
"query_log_enable": "ログを有効にする",
|
||||||
"query_log_configuration": "ログ設定",
|
"query_log_configuration": "ログ設定",
|
||||||
"query_log_disabled": "クエリ・ログは無効になっており、<0>設定</0>で構成できます",
|
"query_log_disabled": "クエリ・ログは無効になっており、<0>設定</0>で構成できます",
|
||||||
"query_log_strict_search": "完全一致検索には二重引用符を使用します",
|
"query_log_strict_search": "完全一致検索には二重引用符を使用します",
|
||||||
"query_log_retention_confirm": "クエリ・ログの保持を変更してもよろしいですか? 期間を短くすると、一部のデータが失われます",
|
"query_log_retention_confirm": "クエリ・ログのローテーションを変更してもよろしいですか? 間隔の値を減らすと、一部のデータが失われます",
|
||||||
"anonymize_client_ip": "クライアントIPを匿名化する",
|
"anonymize_client_ip": "クライアントIPを匿名化する",
|
||||||
"anonymize_client_ip_desc": "ログと統計にクライアントのフルIPアドレスを保存しないようにします。",
|
"anonymize_client_ip_desc": "ログと統計にクライアントのフルIPアドレスを保存しないようにします。",
|
||||||
"dns_config": "DNSサーバ設定",
|
"dns_config": "DNSサーバ設定",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "頻度制限",
|
"rate_limit": "頻度制限",
|
||||||
"edns_enable": "EDNSクライアントサブネットを有効にする",
|
"edns_enable": "EDNSクライアントサブネットを有効にする",
|
||||||
"edns_cs_desc": "アップストリームリクエストにEDNSクライアントサブネットオプション(ECS)を追加し、クライアントから送信された値をクエリログに記録します。",
|
"edns_cs_desc": "アップストリームリクエストにEDNSクライアントサブネットオプション(ECS)を追加し、クライアントから送信された値をクエリログに記録します。",
|
||||||
|
"edns_use_custom_ip": "EDNSにカスタムIPを使用する",
|
||||||
|
"edns_use_custom_ip_desc": "EDNS に対してカスタム IP の使用を許可します。",
|
||||||
"rate_limit_desc": "一つのクライアントに対して許可される1秒あたりのリクエスト数(「0」に設定すると、制限なしになります)",
|
"rate_limit_desc": "一つのクライアントに対して許可される1秒あたりのリクエスト数(「0」に設定すると、制限なしになります)",
|
||||||
"blocking_ipv4_desc": "ブロックされたAリクエストに対して応答されるIPアドレス",
|
"blocking_ipv4_desc": "ブロックされたAリクエストに対して応答されるIPアドレス",
|
||||||
"blocking_ipv6_desc": "ブロックされたAAAAリクエストに対して応答されるIPアドレス",
|
"blocking_ipv6_desc": "ブロックされたAAAAリクエストに対して応答されるIPアドレス",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN:NXDOMAINコードで応答します",
|
"blocking_mode_nxdomain": "NXDOMAIN:NXDOMAINコードで応答します",
|
||||||
"blocking_mode_null_ip": "Null IP:ゼロのIPアドレスで応答します(Aの場合は0.0.0.0; AAAAの場合は::)",
|
"blocking_mode_null_ip": "Null IP:ゼロのIPアドレスで応答します(Aの場合は0.0.0.0; AAAAの場合は::)",
|
||||||
"blocking_mode_custom_ip": "カスタムIP:手動で設定されたIPアドレスで応答します",
|
"blocking_mode_custom_ip": "カスタムIP:手動で設定されたIPアドレスで応答します",
|
||||||
|
"theme_auto": "自動",
|
||||||
|
"theme_light": "ライト",
|
||||||
|
"theme_dark": "ダーク",
|
||||||
"upstream_dns_client_desc": "このフィールドを未入力のままにすると、AdGuard Homeは<0>DNS設定</0>で構成されたサーバを使用します。",
|
"upstream_dns_client_desc": "このフィールドを未入力のままにすると、AdGuard Homeは<0>DNS設定</0>で構成されたサーバを使用します。",
|
||||||
"tracker_source": "追跡元",
|
"tracker_source": "追跡元",
|
||||||
"source_label": "ソース",
|
"source_label": "ソース",
|
||||||
@@ -361,9 +368,9 @@
|
|||||||
"encryption_title": "暗号化",
|
"encryption_title": "暗号化",
|
||||||
"encryption_desc": "DNSと管理者ウェブインターフェースの両方に対する暗号化(HTTPS/QUIC/TLS)サポート。",
|
"encryption_desc": "DNSと管理者ウェブインターフェースの両方に対する暗号化(HTTPS/QUIC/TLS)サポート。",
|
||||||
"encryption_config_saved": "暗号化構成が保存されました。",
|
"encryption_config_saved": "暗号化構成が保存されました。",
|
||||||
"encryption_server": "サーバ名",
|
"encryption_server": "サーバー名",
|
||||||
"encryption_server_enter": "ドメイン名を入力してください",
|
"encryption_server_enter": "ドメイン名を入力してください",
|
||||||
"encryption_server_desc": "HTTPSを使用するには、SSL証明書またはワイルドカード証明書と一致するサーバー名を入力する必要があります。このフィールドが設定されていない場合は、任意のドメインのTLS接続を受け入れます。",
|
"encryption_server_desc": "こちらでサーバー名を設定すると、AdGuard HomeはClientIDを検出し、DDRクエリに応答し、追加の接続検証を実行します。設定されていない場合、これらの機能は無効になります。※証明書のDNS名のいずれかに一致する必要があります。",
|
||||||
"encryption_redirect": "HTTPSに自動的にリダイレクト",
|
"encryption_redirect": "HTTPSに自動的にリダイレクト",
|
||||||
"encryption_redirect_desc": "チェックすると、AdGuard Homeは自動的にHTTPからHTTPSアドレスへリダイレクトします。",
|
"encryption_redirect_desc": "チェックすると、AdGuard Homeは自動的にHTTPからHTTPSアドレスへリダイレクトします。",
|
||||||
"encryption_https": "HTTPS ポート",
|
"encryption_https": "HTTPS ポート",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "発行者",
|
"encryption_issuer": "発行者",
|
||||||
"encryption_hostnames": "ホスト名",
|
"encryption_hostnames": "ホスト名",
|
||||||
"encryption_reset": "暗号化設定をリセットして良いですか?",
|
"encryption_reset": "暗号化設定をリセットして良いですか?",
|
||||||
|
"encryption_warning": "警告",
|
||||||
"topline_expiring_certificate": "SSL証明書は期限切れになります。<0>暗号化設定</0>を更新します。",
|
"topline_expiring_certificate": "SSL証明書は期限切れになります。<0>暗号化設定</0>を更新します。",
|
||||||
"topline_expired_certificate": "SSL証明書は期限切れです。<0>暗号化設定</0>を更新します。",
|
"topline_expired_certificate": "SSL証明書は期限切れです。<0>暗号化設定</0>を更新します。",
|
||||||
"form_error_port_range": "80〜65535 の範囲内でポート番号を入力してください",
|
"form_error_port_range": "80〜65535 の範囲内でポート番号を入力してください",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "AdGuard Homeの新バージョンが利用可能です。",
|
"updates_checked": "AdGuard Homeの新バージョンが利用可能です。",
|
||||||
"updates_version_equal": "AdGuard Homeは既に最新です",
|
"updates_version_equal": "AdGuard Homeは既に最新です",
|
||||||
"check_updates_now": "今すぐアップデートを確認する",
|
"check_updates_now": "今すぐアップデートを確認する",
|
||||||
|
"version_request_error": "アップデート確認に失敗しました。インターネット接続を確認してください。",
|
||||||
"dns_privacy": "DNSプライバシー",
|
"dns_privacy": "DNSプライバシー",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> <1>{{address}}</1>という文字列を使用してください。",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> <1>{{address}}</1>という文字列を使用してください。",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> <1>{{address}}</1>という文字列を使用してください。",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> <1>{{address}}</1>という文字列を使用してください。",
|
||||||
@@ -467,11 +476,11 @@
|
|||||||
"setup_dns_privacy_other_5": "もっと多くの実装を<0>ここ</0>や<1>ここ</1>で見つけられます。",
|
"setup_dns_privacy_other_5": "もっと多くの実装を<0>ここ</0>や<1>ここ</1>で見つけられます。",
|
||||||
"setup_dns_privacy_ioc_mac": "iOS と macOS での設定",
|
"setup_dns_privacy_ioc_mac": "iOS と macOS での設定",
|
||||||
"setup_dns_notice": "<1>DNS-over-HTTPS</1>または<1>DNS-over-TLS</1>を使用するには、AdGuard Home 設定の<0>暗号化設定</0>が必要です。",
|
"setup_dns_notice": "<1>DNS-over-HTTPS</1>または<1>DNS-over-TLS</1>を使用するには、AdGuard Home 設定の<0>暗号化設定</0>が必要です。",
|
||||||
"rewrite_added": "\"{{key}}\" のためのDNS書き換え情報を追加完了しました",
|
"rewrite_added": "\"{{key}}\" のDNS書き換え情報を追加完了しました",
|
||||||
"rewrite_deleted": "\"{{key}}\" のためのDNS書き換え情報を削除完了しました",
|
"rewrite_deleted": "\"{{key}}\" のDNS書き換え情報を削除完了しました",
|
||||||
"rewrite_add": "DNS書き換え情報を追加する",
|
"rewrite_add": "DNS書き換え情報を追加する",
|
||||||
"rewrite_not_found": "DNS書き換え情報はありません",
|
"rewrite_not_found": "DNS書き換え情報はありません",
|
||||||
"rewrite_confirm_delete": "\"{{key}}\" のためのDNS書き換え情報を削除してもよろしいですか?",
|
"rewrite_confirm_delete": "\"{{key}}\" のDNS書き換え情報を削除してもよろしいですか?",
|
||||||
"rewrite_desc": "特定のドメイン名に対するDNS応答を簡単にカスタマイズすることを可能にします。",
|
"rewrite_desc": "特定のドメイン名に対するDNS応答を簡単にカスタマイズすることを可能にします。",
|
||||||
"rewrite_applied": "書き換えルールを適用済み",
|
"rewrite_applied": "書き換えルールを適用済み",
|
||||||
"rewrite_hosts_applied": "hostsファイルのルールによって書き換え済み",
|
"rewrite_hosts_applied": "hostsファイルのルールによって書き換え済み",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "統計の保持を変更してもよろしいですか? 期間を短くすると、一部のデータが失われます",
|
"statistics_retention_confirm": "統計の保持を変更してもよろしいですか? 期間を短くすると、一部のデータが失われます",
|
||||||
"statistics_cleared": "統計の消去に成功しました",
|
"statistics_cleared": "統計の消去に成功しました",
|
||||||
"statistics_enable": "統計を有効にする",
|
"statistics_enable": "統計を有効にする",
|
||||||
|
"ignore_domains": "無視するドメイン(それぞれ改行で区切ってください)",
|
||||||
|
"ignore_domains_title": "無視するドメイン",
|
||||||
|
"ignore_domains_desc_stats": "これらのドメインへのクエリは統計に書き込まれません。",
|
||||||
|
"ignore_domains_desc_query": "これらのドメインへのクエリはクエリログに書き込まれません。",
|
||||||
"interval_hours": "{{count}}時間",
|
"interval_hours": "{{count}}時間",
|
||||||
"interval_hours_plural": "{{count}}時間",
|
"interval_hours_plural": "{{count}}時間",
|
||||||
"filters_configuration": "フィルタ設定",
|
"filters_configuration": "フィルタ設定",
|
||||||
@@ -552,7 +565,7 @@
|
|||||||
"disable_ipv6_desc": "IPv6アドレス(タイプAAAA)に対するすべてのDNSクエリをドロップします。",
|
"disable_ipv6_desc": "IPv6アドレス(タイプAAAA)に対するすべてのDNSクエリをドロップします。",
|
||||||
"fastest_addr": "最速のIPアドレス",
|
"fastest_addr": "最速のIPアドレス",
|
||||||
"fastest_addr_desc": "すべてのDNSサーバーに処理要求し、全応答の中で最速のIPアドレスを返します。これにより、AdGuard HomeがすべてのDNSサーバーからの応答を待つ必要があるため、DNSクエリが遅くなりますが、全体的な接続性は向上します。",
|
"fastest_addr_desc": "すべてのDNSサーバーに処理要求し、全応答の中で最速のIPアドレスを返します。これにより、AdGuard HomeがすべてのDNSサーバーからの応答を待つ必要があるため、DNSクエリが遅くなりますが、全体的な接続性は向上します。",
|
||||||
"autofix_warning_text": "\"改善\"をクリックすると、AdGuardHomeはAdGuardHome DNSサーバを使用するようにシステムを構成します。",
|
"autofix_warning_text": "「修正」をクリックすると、AdGuardHomeはAdGuardHome DNSサーバを使用するようにシステムを構成します。",
|
||||||
"autofix_warning_list": "次のタスクを実行します:<0>システムDNSStubListenerを非アクティブ化します</0> <0>DNSサーバのアドレスを127.0.0.1に設定します</0> <0>/etc/resolv.confのシンボリックリンクの対象を/run/systemd/resolve/resolv.confに置換します</0> <0>DNSStubListenerを停止します(systemd-resolvedサービスをリロードします)</0>",
|
"autofix_warning_list": "次のタスクを実行します:<0>システムDNSStubListenerを非アクティブ化します</0> <0>DNSサーバのアドレスを127.0.0.1に設定します</0> <0>/etc/resolv.confのシンボリックリンクの対象を/run/systemd/resolve/resolv.confに置換します</0> <0>DNSStubListenerを停止します(systemd-resolvedサービスをリロードします)</0>",
|
||||||
"autofix_warning_result": "その結果、システムからのすべてのDNSリクエストは、デフォルトでAdGuard Homeによって処理されます。",
|
"autofix_warning_result": "その結果、システムからのすべてのDNSリクエストは、デフォルトでAdGuard Homeによって処理されます。",
|
||||||
"tags_title": "タグ",
|
"tags_title": "タグ",
|
||||||
@@ -575,7 +588,7 @@
|
|||||||
"client_confirm_block": "クライアント\"{{ip}}\"をブロックしてもよろしいですか?",
|
"client_confirm_block": "クライアント\"{{ip}}\"をブロックしてもよろしいですか?",
|
||||||
"client_confirm_unblock": "クライアント\"{{ip}}\"のブロックを解除してもよろしいですか?",
|
"client_confirm_unblock": "クライアント\"{{ip}}\"のブロックを解除してもよろしいですか?",
|
||||||
"client_blocked": "クライアント\"{{ip}}\"のブロックに成功しました",
|
"client_blocked": "クライアント\"{{ip}}\"のブロックに成功しました",
|
||||||
"client_unblocked": "クライアント\"{{ip}}\"のブロックの解除に成功しました",
|
"client_unblocked": "クライアント\"{{ip}}\"のブロック解除に成功しました",
|
||||||
"static_ip": "静的IPアドレス",
|
"static_ip": "静的IPアドレス",
|
||||||
"static_ip_desc": "AdGuard Homeはサーバであり、正しく機能させるには静的IPアドレスが必要です。そうしないと、ある時点で、ルータがこのデバイスに異なるIPアドレスを割り当てるかもしれません。",
|
"static_ip_desc": "AdGuard Homeはサーバであり、正しく機能させるには静的IPアドレスが必要です。そうしないと、ある時点で、ルータがこのデバイスに異なるIPアドレスを割り当てるかもしれません。",
|
||||||
"set_static_ip": "静的IPアドレスを設定する",
|
"set_static_ip": "静的IPアドレスを設定する",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "ブロックリスト",
|
"blocklist": "ブロックリスト",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "キャッシュサイズ",
|
"cache_size": "キャッシュサイズ",
|
||||||
"cache_size_desc": "DNSキャッシュサイズ(バイト単位)",
|
"cache_size_desc": "DNSキャッシュサイズ(バイト単位)。※キャッシュを無効化するには、この欄を空してください。",
|
||||||
"cache_ttl_min_override": "最小TTLの上書き(秒単位)",
|
"cache_ttl_min_override": "最小TTLの上書き(秒単位)",
|
||||||
"cache_ttl_max_override": "最大TTLの上書き(秒単位)",
|
"cache_ttl_max_override": "最大TTLの上書き(秒単位)",
|
||||||
"enter_cache_size": "キャッシュサイズ(バイト単位)を入力してください",
|
"enter_cache_size": "キャッシュサイズ(バイト単位)を入力してください",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "ペアレンタルコントロール",
|
"parental_control": "ペアレンタルコントロール",
|
||||||
"safe_browsing": "セーフブラウジング",
|
"safe_browsing": "セーフブラウジング",
|
||||||
"served_from_cache": "{{value}} <i>(キャッシュから応答)</i>",
|
"served_from_cache": "{{value}} <i>(キャッシュから応答)</i>",
|
||||||
"form_error_password_length": "パスワードは{{value}}文字以上にしてください"
|
"form_error_password_length": "パスワードは{{value}}文字以上にしてください",
|
||||||
|
"anonymizer_notification": "【<0>注意</0>】IPの匿名化が有効になっています。 <1>一般設定</1>で無効にできます。",
|
||||||
|
"confirm_dns_cache_clear": "DNS キャッシュをクリアしてもよろしいですか?",
|
||||||
|
"cache_cleared": "DNSキャッシュのクリア完了です。",
|
||||||
|
"clear_cache": "キャッシュをクリアする",
|
||||||
|
"make_static": "静的(static)にする",
|
||||||
|
"theme_auto_desc": "自動(デバイスの配色に合わせる)",
|
||||||
|
"theme_dark_desc": "ダークテーマ",
|
||||||
|
"theme_light_desc": "ライトテーマ",
|
||||||
|
"disable_for_seconds": "{{count}}秒間",
|
||||||
|
"disable_for_seconds_plural": "{{count}}秒間",
|
||||||
|
"disable_for_minutes": "{{count}}分間",
|
||||||
|
"disable_for_minutes_plural": "{{count}}分間",
|
||||||
|
"disable_for_hours": "{{count}}時間",
|
||||||
|
"disable_for_hours_plural": "{{count}}時間",
|
||||||
|
"disable_until_tomorrow": "明日まで",
|
||||||
|
"disable_notify_for_seconds": "保護を {{count}} 秒間無効にする",
|
||||||
|
"disable_notify_for_seconds_plural": "保護を {{count}} 秒間無効にする",
|
||||||
|
"disable_notify_for_minutes": "保護を {{count}} 分間無効にする",
|
||||||
|
"disable_notify_for_minutes_plural": "保護を {{count}} 分間無効にする",
|
||||||
|
"disable_notify_for_hours": "保護を {{count}} 時間無効にする",
|
||||||
|
"disable_notify_for_hours_plural": "保護を {{count}} 時間無効にする",
|
||||||
|
"disable_notify_until_tomorrow": "明日まで保護を無効にする",
|
||||||
|
"enable_protection_timer": "保護は後 {{time}} で有効になります",
|
||||||
|
"custom_retention_input": "保持期間を入力してください(時間単位)",
|
||||||
|
"custom_rotation_input": "ローテーションを入力してください(時間単位)",
|
||||||
|
"protection_section_label": "AdGuardによる保護",
|
||||||
|
"log_and_stats_section_label": "クエリ・ログと統計情報",
|
||||||
|
"ignore_query_log": "クエリ・ログでこのクライアントを無視する",
|
||||||
|
"ignore_statistics": "統計でこのクライアントを無視する"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,21 +37,18 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6 설정",
|
"dhcp_ipv6_settings": "DHCP IPv6 설정",
|
||||||
"form_error_required": "필수 영역",
|
"form_error_required": "필수 영역",
|
||||||
"form_error_ip4_format": "잘못된 IPv4 형식",
|
"form_error_ip4_format": "잘못된 IPv4 형식",
|
||||||
"form_error_ip4_range_start_format": "잘못된 범위 시작 IPv4 형식",
|
|
||||||
"form_error_ip4_range_end_format": "잘못된 범위 종료 IPv4 형식",
|
|
||||||
"form_error_ip4_gateway_format": "잘못된 게이트웨이 IPv4 형식",
|
"form_error_ip4_gateway_format": "잘못된 게이트웨이 IPv4 형식",
|
||||||
"form_error_ip6_format": "잘못된 IPv6 주소",
|
"form_error_ip6_format": "잘못된 IPv6 주소",
|
||||||
"form_error_ip_format": "잘못된 IP 주소",
|
"form_error_ip_format": "잘못된 IP 주소",
|
||||||
"form_error_mac_format": "잘못된 MAC 주소",
|
"form_error_mac_format": "잘못된 MAC 주소",
|
||||||
"form_error_client_id_format": "ClientID는 숫자, 소문자 및 붙임표(-)만 포함해야 합니다",
|
"form_error_client_id_format": "ClientID는 숫자, 소문자 및 붙임표(-)만 포함해야 합니다",
|
||||||
"form_error_server_name": "유효하지 않은 서버 이름",
|
"form_error_server_name": "유효하지 않은 서버 이름",
|
||||||
"form_error_subnet": "서브넷 \"{{cidr}}\"에 \"{{ip}}\" IP 주소가 없습니다",
|
"form_error_subnet": "서브넷 '{{cidr}}'에 '{{ip}}' IP 주소가 없습니다",
|
||||||
"form_error_positive": "0보다 커야 합니다",
|
"form_error_positive": "0보다 커야 합니다",
|
||||||
"form_error_gateway_ip": "임대는 게이트웨이의 IP 주소를 가질 수 없습니다",
|
"form_error_gateway_ip": "임대는 게이트웨이의 IP 주소를 가질 수 없습니다",
|
||||||
"out_of_range_error": "\"{{start}}\"-\"{{end}}\" 범위 밖이어야 합니다",
|
"out_of_range_error": "'{{start}}'-'{{end}}' 범위 밖이어야 합니다",
|
||||||
"lower_range_start_error": "범위 시작보다 작은 값이어야 합니다",
|
"lower_range_start_error": "범위 시작보다 작은 값이어야 합니다",
|
||||||
"greater_range_start_error": "범위 시작보다 큰 값이어야 합니다",
|
"greater_range_start_error": "범위 시작보다 큰 값이어야 합니다",
|
||||||
"greater_range_end_error": "범위 종료보다 큰 값이어야 합니다",
|
|
||||||
"subnet_error": "주소는 하나의 서브넷에 있어야 합니다",
|
"subnet_error": "주소는 하나의 서브넷에 있어야 합니다",
|
||||||
"gateway_or_subnet_invalid": "잘못된 서브넷 마스크",
|
"gateway_or_subnet_invalid": "잘못된 서브넷 마스크",
|
||||||
"dhcp_form_gateway_input": "게이트웨이 IP",
|
"dhcp_form_gateway_input": "게이트웨이 IP",
|
||||||
@@ -71,8 +68,8 @@
|
|||||||
"dhcp_error": "AdGuard Home이 네트워크에 다른 활성 DHCP 서버가 있는지 확인할 수 없습니다",
|
"dhcp_error": "AdGuard Home이 네트워크에 다른 활성 DHCP 서버가 있는지 확인할 수 없습니다",
|
||||||
"dhcp_static_ip_error": "DHCP 서버를 사용하려면 고정 IP 주소를 설정해야 합니다. AdGuard Home이 이 네트워크 인터페이스가 고정 IP 주소를 사용하는지 확인할 수 없습니다. 고정 IP 주소를 수동으로 설정하십시오.",
|
"dhcp_static_ip_error": "DHCP 서버를 사용하려면 고정 IP 주소를 설정해야 합니다. AdGuard Home이 이 네트워크 인터페이스가 고정 IP 주소를 사용하는지 확인할 수 없습니다. 고정 IP 주소를 수동으로 설정하십시오.",
|
||||||
"dhcp_dynamic_ip_found": "시스템은 <0>{{interfaceName}}</0> 인터페이스에 동적 IP 주소를 사용합니다. DHCP 서버를 사용하려면 고정 IP 주소를 설정해야 합니다. 현재 IP 주소는 <0>{{ipAddress}}</0>입니다. 'DHCP 서버 활성화' 버튼을 누르면 AdGuard Home이 이 IP 주소를 고정 IP 주소로 자동 설정합니다.",
|
"dhcp_dynamic_ip_found": "시스템은 <0>{{interfaceName}}</0> 인터페이스에 동적 IP 주소를 사용합니다. DHCP 서버를 사용하려면 고정 IP 주소를 설정해야 합니다. 현재 IP 주소는 <0>{{ipAddress}}</0>입니다. 'DHCP 서버 활성화' 버튼을 누르면 AdGuard Home이 이 IP 주소를 고정 IP 주소로 자동 설정합니다.",
|
||||||
"dhcp_lease_added": "\"{{key}}\" 고정 임대 정상적으로 추가되었습니다",
|
"dhcp_lease_added": "'{{key}}' 고정 임대 정상적으로 추가되었습니다",
|
||||||
"dhcp_lease_deleted": "\"{{key}}\" 고정 임대 정상적으로 삭제되었습니다",
|
"dhcp_lease_deleted": "'{{key}}' 고정 임대 정상적으로 삭제되었습니다",
|
||||||
"dhcp_new_static_lease": "새 고정 임대",
|
"dhcp_new_static_lease": "새 고정 임대",
|
||||||
"dhcp_static_leases_not_found": "DHCP 고정 임대를 찾을 수 없음",
|
"dhcp_static_leases_not_found": "DHCP 고정 임대를 찾을 수 없음",
|
||||||
"dhcp_add_static_lease": "고정 임대 추가",
|
"dhcp_add_static_lease": "고정 임대 추가",
|
||||||
@@ -82,7 +79,7 @@
|
|||||||
"dhcp_reset": "정말로 DHCP 설정을 초기화할까요?",
|
"dhcp_reset": "정말로 DHCP 설정을 초기화할까요?",
|
||||||
"country": "지역",
|
"country": "지역",
|
||||||
"city": "도시",
|
"city": "도시",
|
||||||
"delete_confirm": "\"{{key}}\"을 삭제하시겠습니까?",
|
"delete_confirm": "'{{key}}'을(를) 삭제하시겠습니까?",
|
||||||
"form_enter_hostname": "호스트 이름을 입력해주세요",
|
"form_enter_hostname": "호스트 이름을 입력해주세요",
|
||||||
"error_details": "오류 상세 정보",
|
"error_details": "오류 상세 정보",
|
||||||
"response_details": "응답 정보",
|
"response_details": "응답 정보",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "자녀 보호 활성화됨",
|
"enabled_parental_toast": "자녀 보호 활성화됨",
|
||||||
"disabled_safe_search_toast": "세이프서치 비활성화됨",
|
"disabled_safe_search_toast": "세이프서치 비활성화됨",
|
||||||
"enabled_save_search_toast": "세이프서치 활성화됨",
|
"enabled_save_search_toast": "세이프서치 활성화됨",
|
||||||
|
"updated_save_search_toast": "세이프서치 설정 업데이트됨",
|
||||||
"enabled_table_header": "활성화됨",
|
"enabled_table_header": "활성화됨",
|
||||||
"name_table_header": "이름",
|
"name_table_header": "이름",
|
||||||
"list_url_table_header": "리스트 URL",
|
"list_url_table_header": "리스트 URL",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# 이것 또한 댓글입니다.",
|
"example_comment_hash": "# 이것 또한 댓글입니다.",
|
||||||
"example_regex_meaning": "특정 정규 표현식에 맞는 도메인 접근을 차단합니다.",
|
"example_regex_meaning": "특정 정규 표현식에 맞는 도메인 접근을 차단합니다.",
|
||||||
"example_upstream_regular": "일반 DNS (UDP을 통한 접속);",
|
"example_upstream_regular": "일반 DNS (UDP을 통한 접속);",
|
||||||
|
"example_upstream_regular_port": "일반 DNS (UDP 이용, 포트 포함);",
|
||||||
"example_upstream_udp": "일반 DNS (UDP를 통한, 호스트명);",
|
"example_upstream_udp": "일반 DNS (UDP를 통한, 호스트명);",
|
||||||
"example_upstream_dot": "암호화된 <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "암호화된 <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "암호화된 <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "암호화된 <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "암호화된 DNS-over-HTTPS가 강제로 <0>HTTP/3</0>를 사용하며 HTTP/2 이하로 폴백하지 않습니다.",
|
||||||
"example_upstream_doq": "암호화된 <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "암호화된 <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<1>DNSCrypt</1> 또는 <2>DNS-over-HTTPS</2> 리졸버를 위한 <0>DNS 스탬프</0>;",
|
"example_upstream_sdns": "<1>DNSCrypt</1> 또는 <2>DNS-over-HTTPS</2> 리졸버를 위한 <0>DNS 스탬프</0>;",
|
||||||
"example_upstream_tcp": "일반 DNS (TCP를 통한 접속);",
|
"example_upstream_tcp": "일반 DNS (TCP를 통한 접속);",
|
||||||
|
"example_upstream_tcp_port": "일반 DNS (TCP 이용, 포트 포함);",
|
||||||
"example_upstream_tcp_hostname": "일반 DNS (TCP를 통한, 호스트명);",
|
"example_upstream_tcp_hostname": "일반 DNS (TCP를 통한, 호스트명);",
|
||||||
"all_lists_up_to_date_toast": "모든 리스트가 이미 최신입니다",
|
"all_lists_up_to_date_toast": "모든 리스트가 이미 최신입니다",
|
||||||
"updated_upstream_dns_toast": "업스트림 서버가 성공적으로 저장되었습니다",
|
"updated_upstream_dns_toast": "업스트림 서버가 성공적으로 저장되었습니다",
|
||||||
"dns_test_ok_toast": "특정 DNS 서버들은 정상적으로 동작 중입니다",
|
"dns_test_ok_toast": "지정된 DNS 서버가 올바르게 작동하고 있습니다.",
|
||||||
"dns_test_not_ok_toast": "서버 \"{{key}}\": 사용할 수 없습니다, 제대로 작성했는지 확인하세요.",
|
"dns_test_not_ok_toast": "서버 '{{key}}': 사용할 수 없습니다, 제대로 작성했는지 확인하세요",
|
||||||
|
"dns_test_warning_toast": "업스트림 '{{key}}'이(가) 테스트 요청에 응답하지 않으며 제대로 작동하지 않을 수 있습니다",
|
||||||
"unblock": "차단 해제",
|
"unblock": "차단 해제",
|
||||||
"block": "차단",
|
"block": "차단",
|
||||||
"disallow_this_client": "클라이언트 거부",
|
"disallow_this_client": "클라이언트 거부",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "쿼리 로그를 성공적으로 초기화했습니다",
|
"query_log_cleared": "쿼리 로그를 성공적으로 초기화했습니다",
|
||||||
"query_log_updated": "질의 로그가 성공적으로 업데이트되었습니다",
|
"query_log_updated": "질의 로그가 성공적으로 업데이트되었습니다",
|
||||||
"query_log_clear": "쿼리 로그 비우기",
|
"query_log_clear": "쿼리 로그 비우기",
|
||||||
"query_log_retention": "쿼리 로그 저장 기간",
|
"query_log_retention": "쿼리 로그 로테이션",
|
||||||
"query_log_enable": "로그 활성화",
|
"query_log_enable": "로그 활성화",
|
||||||
"query_log_configuration": "로그 구성",
|
"query_log_configuration": "로그 구성",
|
||||||
"query_log_disabled": "쿼리 로그가 비활성화되어 있으며 <0>설정</0>에서 설정할 수 있습니다",
|
"query_log_disabled": "쿼리 로그가 비활성화되어 있으며 <0>설정</0>에서 설정할 수 있습니다",
|
||||||
"query_log_strict_search": "검색을 제한하려면 쌍따옴표를 사용해주세요",
|
"query_log_strict_search": "검색을 제한하려면 쌍따옴표를 사용해주세요",
|
||||||
"query_log_retention_confirm": "정말로 쿼리 로그 저장 기간을 변경하시겠습니까? 저장 주기를 낮출 경우, 일부 데이터가 손실됩니다",
|
"query_log_retention_confirm": "쿼리 로그 로테이션을 변경하시겠습니까? 간격 값을 줄이면 일부 데이터가 손실됩니다.",
|
||||||
"anonymize_client_ip": "클라이언트 IP 익명화",
|
"anonymize_client_ip": "클라이언트 IP 익명화",
|
||||||
"anonymize_client_ip_desc": "클라이언트의 전체 IP 주소를 로그와 통계에 저장하저장하지 마세요",
|
"anonymize_client_ip_desc": "클라이언트의 전체 IP 주소를 로그와 통계에 저장하저장하지 마세요",
|
||||||
"dns_config": "DNS 서버 설정",
|
"dns_config": "DNS 서버 설정",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "한도 제한",
|
"rate_limit": "한도 제한",
|
||||||
"edns_enable": "EDNS 클라이언트 서브넷 활성화",
|
"edns_enable": "EDNS 클라이언트 서브넷 활성화",
|
||||||
"edns_cs_desc": "업스트림 요청에 EDNS 클라이언트 서브넷 옵션(ECS)을 추가하고 쿼리 로그에 클라이언트가 보낸 값을 기록합니다.",
|
"edns_cs_desc": "업스트림 요청에 EDNS 클라이언트 서브넷 옵션(ECS)을 추가하고 쿼리 로그에 클라이언트가 보낸 값을 기록합니다.",
|
||||||
|
"edns_use_custom_ip": "EDNS에 사용자 지정 IP 사용",
|
||||||
|
"edns_use_custom_ip_desc": "EDNS에 사용자 지정 IP 사용하도록 허용합니다.",
|
||||||
"rate_limit_desc": "단일 클라이언트에서 허용 가능한 초 당 요청 생성 숫자 (0: 무제한)",
|
"rate_limit_desc": "단일 클라이언트에서 허용 가능한 초 당 요청 생성 숫자 (0: 무제한)",
|
||||||
"blocking_ipv4_desc": "차단된 A 요청에 대해서 반환할 IP 주소",
|
"blocking_ipv4_desc": "차단된 A 요청에 대해서 반환할 IP 주소",
|
||||||
"blocking_ipv6_desc": "차단된 AAAA 요청에 대해서 반환할 IP 주소",
|
"blocking_ipv6_desc": "차단된 AAAA 요청에 대해서 반환할 IP 주소",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: NXDOMAIN 코드로 응답",
|
"blocking_mode_nxdomain": "NXDOMAIN: NXDOMAIN 코드로 응답",
|
||||||
"blocking_mode_null_ip": "Null IP: 제로 IP 주소 (A는 0.0.0.0; AAAA는 ::) 로 응답합니다",
|
"blocking_mode_null_ip": "Null IP: 제로 IP 주소 (A는 0.0.0.0; AAAA는 ::) 로 응답합니다",
|
||||||
"blocking_mode_custom_ip": "커스텀 IP: 직접 설정한 IP 주소로 응답합니다",
|
"blocking_mode_custom_ip": "커스텀 IP: 직접 설정한 IP 주소로 응답합니다",
|
||||||
|
"theme_auto": "자동",
|
||||||
|
"theme_light": "라이트 테마",
|
||||||
|
"theme_dark": "다크 테마",
|
||||||
"upstream_dns_client_desc": "이 값을 비워둔다면 AdGuard Home은 <0>DNS 설정</0>에 설정되어 있는 값을 사용합니다.",
|
"upstream_dns_client_desc": "이 값을 비워둔다면 AdGuard Home은 <0>DNS 설정</0>에 설정되어 있는 값을 사용합니다.",
|
||||||
"tracker_source": "추적기 소스",
|
"tracker_source": "추적기 소스",
|
||||||
"source_label": "소스",
|
"source_label": "소스",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "암호화 구성이 저장되었습니다",
|
"encryption_config_saved": "암호화 구성이 저장되었습니다",
|
||||||
"encryption_server": "서버 이름",
|
"encryption_server": "서버 이름",
|
||||||
"encryption_server_enter": "도메인 이름을 입력하세요.",
|
"encryption_server_enter": "도메인 이름을 입력하세요.",
|
||||||
"encryption_server_desc": "HTTPS를 사용하려면 SSL 인증서와 일치하는 서버 이름을 입력해야 합니다.",
|
"encryption_server_desc": "설정된 경우 AdGuard Home은 ClientID를 감지하고 DDR 쿼리에 응답하고 추가 연결 유효성 검사를 수행합니다. 설정하지 않으면 이러한 기능이 비활성화됩니다. 인증서의 DNS 이름 중 하나와 일치해야 합니다.",
|
||||||
"encryption_redirect": "HTTPS로 자동 리디렉션",
|
"encryption_redirect": "HTTPS로 자동 리디렉션",
|
||||||
"encryption_redirect_desc": "상자를 체크하면 AdGuard Home 자동으로 사용자를 HTTP에서 HTTPS 주소로 리디렉션합니다.",
|
"encryption_redirect_desc": "상자를 체크하면 AdGuard Home 자동으로 사용자를 HTTP에서 HTTPS 주소로 리디렉션합니다.",
|
||||||
"encryption_https": "HTTP 포트",
|
"encryption_https": "HTTP 포트",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "발행자",
|
"encryption_issuer": "발행자",
|
||||||
"encryption_hostnames": "호스트 이름",
|
"encryption_hostnames": "호스트 이름",
|
||||||
"encryption_reset": "암호화 설정을 재설정하시겠습니까?",
|
"encryption_reset": "암호화 설정을 재설정하시겠습니까?",
|
||||||
|
"encryption_warning": "경고",
|
||||||
"topline_expiring_certificate": "SSL 인증서가 곧 만료됩니다. 업데이트<0> 암호화 설정</0>.",
|
"topline_expiring_certificate": "SSL 인증서가 곧 만료됩니다. 업데이트<0> 암호화 설정</0>.",
|
||||||
"topline_expired_certificate": "SSL 인증서가 만료되었습니다. 업데이트<0> 암호화 설정</0>.",
|
"topline_expired_certificate": "SSL 인증서가 만료되었습니다. 업데이트<0> 암호화 설정</0>.",
|
||||||
"form_error_port_range": "80-65535 범위의 포트 번호를 입력하세요",
|
"form_error_port_range": "80-65535 범위의 포트 번호를 입력하세요",
|
||||||
@@ -422,18 +430,18 @@
|
|||||||
"ip_address": "IP 주소",
|
"ip_address": "IP 주소",
|
||||||
"client_identifier_desc": "클라이언트는 IP 주소, CIDR, MAC 주소 또는 ClientID(DoT/DoH/DoQ에 사용 가능)로 식별할 수 있습니다. <0>여기에서</0> 클라이언트를 식별하는 방법에 대한 자세한 내용은 확인하실 수 있습니다.",
|
"client_identifier_desc": "클라이언트는 IP 주소, CIDR, MAC 주소 또는 ClientID(DoT/DoH/DoQ에 사용 가능)로 식별할 수 있습니다. <0>여기에서</0> 클라이언트를 식별하는 방법에 대한 자세한 내용은 확인하실 수 있습니다.",
|
||||||
"form_enter_ip": "IP 입력",
|
"form_enter_ip": "IP 입력",
|
||||||
"form_enter_subnet_ip": "서브넷 \"{{cidr}}\" 내의 IP 주소 입력",
|
"form_enter_subnet_ip": "서브넷 '{{cidr}}' 내의 IP 주소 입력",
|
||||||
"form_enter_mac": "MAC 입력",
|
"form_enter_mac": "MAC 입력",
|
||||||
"form_enter_id": "식별자 입력",
|
"form_enter_id": "식별자 입력",
|
||||||
"form_add_id": "식별자 추가",
|
"form_add_id": "식별자 추가",
|
||||||
"form_client_name": "클라이언트 이름 입력",
|
"form_client_name": "클라이언트 이름 입력",
|
||||||
"name": "이름",
|
"name": "이름",
|
||||||
"client_global_settings": "글로벌 설정 사용",
|
"client_global_settings": "글로벌 설정 사용",
|
||||||
"client_deleted": "클라이언트 \"{{key}}\"가 정상적으로 삭제되었습니다",
|
"client_deleted": "클라이언트 '{{key}}'이(가) 정상적으로 삭제되었습니다",
|
||||||
"client_added": "클라이언트 \"{{key}}\"가 정상적으로 추가되었습니다",
|
"client_added": "클라이언트 '{{key}}'이(가) 정상적으로 추가되었습니다",
|
||||||
"client_updated": "클라이언트 \"{{key}}\"가 정상적으로 업데이트되었습니다",
|
"client_updated": "클라이언트 '{{key}}'이(가) 정상적으로 업데이트되었습니다",
|
||||||
"clients_not_found": "클라이언트 없음",
|
"clients_not_found": "클라이언트 없음",
|
||||||
"client_confirm_delete": "정말 클라이언트 \"{{key}}\" 삭제하시겠습니까?",
|
"client_confirm_delete": "정말 클라이언트 '{{key}}'을(를) 삭제하시겠습니까?",
|
||||||
"list_confirm_delete": "정말로 이 목록을 제거하시겠습니까?",
|
"list_confirm_delete": "정말로 이 목록을 제거하시겠습니까?",
|
||||||
"auto_clients_title": "런타임 클라이언트",
|
"auto_clients_title": "런타임 클라이언트",
|
||||||
"auto_clients_desc": "AdGuard Home을 계속 사용할 수 있는 영구 클라이언트 목록에 없는 디바이스입니다",
|
"auto_clients_desc": "AdGuard Home을 계속 사용할 수 있는 영구 클라이언트 목록에 없는 디바이스입니다",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "AdGuard Home의 새 버전을 사용할 수 있습니다",
|
"updates_checked": "AdGuard Home의 새 버전을 사용할 수 있습니다",
|
||||||
"updates_version_equal": "AdGuard Home 최신 상태입니다.",
|
"updates_version_equal": "AdGuard Home 최신 상태입니다.",
|
||||||
"check_updates_now": "지금 업데이트 확인",
|
"check_updates_now": "지금 업데이트 확인",
|
||||||
|
"version_request_error": "업데이트 체크에 실패했습니다. 인터넷 연결 상태를 확인해주세요.",
|
||||||
"dns_privacy": "DNS 프라이버시",
|
"dns_privacy": "DNS 프라이버시",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> <1>{{address}}</1> 사용하세요.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> <1>{{address}}</1> 사용하세요.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> <1>{{address}}</1> 사용하세요.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> <1>{{address}}</1> 사용하세요.",
|
||||||
@@ -467,11 +476,11 @@
|
|||||||
"setup_dns_privacy_other_5": "<0>이곳이나</0> <1>이곳을</1> 클릭하여 더 많은 구현에 대한 정보를 확인하세요.",
|
"setup_dns_privacy_other_5": "<0>이곳이나</0> <1>이곳을</1> 클릭하여 더 많은 구현에 대한 정보를 확인하세요.",
|
||||||
"setup_dns_privacy_ioc_mac": "iOS 및 macOS 설정",
|
"setup_dns_privacy_ioc_mac": "iOS 및 macOS 설정",
|
||||||
"setup_dns_notice": "<1>DNS-over-HTTPS</1> 또는 <1>DNS-over-TLS를</1> 사용하려면 AdGuard Home 설정에서 <0>암호화를 구성해야 합니다.</0>",
|
"setup_dns_notice": "<1>DNS-over-HTTPS</1> 또는 <1>DNS-over-TLS를</1> 사용하려면 AdGuard Home 설정에서 <0>암호화를 구성해야 합니다.</0>",
|
||||||
"rewrite_added": "\"{{key}}\"에 대한 DNS 수정 정보를 성공적으로 추가 됩니다.",
|
"rewrite_added": "'{{key}}'에 대한 DNS 수정 정보를 성공적으로 추가 됩니다",
|
||||||
"rewrite_deleted": "\"{{key}}\"에 대한 DNS 수정 정보를 성공적으로 삭제 됩니다.",
|
"rewrite_deleted": "'{{key}}'에 대한 DNS 수정 정보를 성공적으로 삭제 됩니다",
|
||||||
"rewrite_add": "DNS 변환 정보를 추가합니다",
|
"rewrite_add": "DNS 변환 정보를 추가합니다",
|
||||||
"rewrite_not_found": "DNS 변경 정보를 찾을 수 없습니다",
|
"rewrite_not_found": "DNS 변경 정보를 찾을 수 없습니다",
|
||||||
"rewrite_confirm_delete": "\"{{key}}\"에 대한 DNS 변경 정보를 삭제하시겠습니까?",
|
"rewrite_confirm_delete": "'{{key}}'에 대한 DNS 변경 정보를 삭제하시겠습니까?",
|
||||||
"rewrite_desc": "특정 도메인 이름에 대한 사용자 지정 DNS 응답을 쉽게 구성할 수 있습니다.",
|
"rewrite_desc": "특정 도메인 이름에 대한 사용자 지정 DNS 응답을 쉽게 구성할 수 있습니다.",
|
||||||
"rewrite_applied": "리디렉션 규칙이 적용됩니다",
|
"rewrite_applied": "리디렉션 규칙이 적용됩니다",
|
||||||
"rewrite_hosts_applied": "호스트 파일 규칙에 따라 재작성",
|
"rewrite_hosts_applied": "호스트 파일 규칙에 따라 재작성",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "정말로 통계 저장 기간을 변경하시겠습니까? 저장 주기를 낮출 경우, 일부 데이터가 손실됩니다",
|
"statistics_retention_confirm": "정말로 통계 저장 기간을 변경하시겠습니까? 저장 주기를 낮출 경우, 일부 데이터가 손실됩니다",
|
||||||
"statistics_cleared": "통계를 성공적으로 초기화했습니다.",
|
"statistics_cleared": "통계를 성공적으로 초기화했습니다.",
|
||||||
"statistics_enable": "통계 활성화",
|
"statistics_enable": "통계 활성화",
|
||||||
|
"ignore_domains": "무시된 도메인(줄 바꿈으로 구분)",
|
||||||
|
"ignore_domains_title": "무시된 도메인",
|
||||||
|
"ignore_domains_desc_stats": "이러한 도메인에 대한 쿼리는 통계에 기록되지 않습니다.",
|
||||||
|
"ignore_domains_desc_query": "이러한 도메인에 대한 쿼리는 쿼리 로그에 기록되지 않습니다.",
|
||||||
"interval_hours": "{{count}} 시간",
|
"interval_hours": "{{count}} 시간",
|
||||||
"interval_hours_plural": "{{count}} 시간",
|
"interval_hours_plural": "{{count}} 시간",
|
||||||
"filters_configuration": "필터 구성",
|
"filters_configuration": "필터 구성",
|
||||||
@@ -552,7 +565,7 @@
|
|||||||
"disable_ipv6_desc": "IPv6 주소(타입 AAAA)의 모든 DNS 쿼리가 무시됩니다.",
|
"disable_ipv6_desc": "IPv6 주소(타입 AAAA)의 모든 DNS 쿼리가 무시됩니다.",
|
||||||
"fastest_addr": "가장 빠른 IP 주소",
|
"fastest_addr": "가장 빠른 IP 주소",
|
||||||
"fastest_addr_desc": "모든 DNS 서버에 쿼리를 수행한 다음 반응이 가장 빠른 IP주소를 반송합니다. AdGuard Home이 모든 DNS 서버의 응답을 기다려야 하기 때문에 DNS 쿼리 속도가 느려지지만 전반적인 연결이 향상됩니다.",
|
"fastest_addr_desc": "모든 DNS 서버에 쿼리를 수행한 다음 반응이 가장 빠른 IP주소를 반송합니다. AdGuard Home이 모든 DNS 서버의 응답을 기다려야 하기 때문에 DNS 쿼리 속도가 느려지지만 전반적인 연결이 향상됩니다.",
|
||||||
"autofix_warning_text": "\"Fix\"를 클릭한다면 AdGuard Home은 시스템이 AdGuard Home의 DNS 서버를 사용하도록 설정합니다.",
|
"autofix_warning_text": "'수정'을 클릭하면 AdGuard Home이 AdGuard Home DNS 서버를 사용하도록 시스템을 설정합니다.",
|
||||||
"autofix_warning_list": "다음 작업을 진행합니다: <0>DNSStubListener 시스템 비활성화</0> <0>DNS 서버 주소를 127.0.0.1로 설정</0> <0>/etc/resolv.conf의 심볼릭 링크 타겟을 /run/systemd/resolve/resolv.conf로 변경</0> <0>DNSStubListener 중지 (systemd-resolved 서비스 새로고침)</0>",
|
"autofix_warning_list": "다음 작업을 진행합니다: <0>DNSStubListener 시스템 비활성화</0> <0>DNS 서버 주소를 127.0.0.1로 설정</0> <0>/etc/resolv.conf의 심볼릭 링크 타겟을 /run/systemd/resolve/resolv.conf로 변경</0> <0>DNSStubListener 중지 (systemd-resolved 서비스 새로고침)</0>",
|
||||||
"autofix_warning_result": "결과적으로 시스템의 모든 DNS 요청은 기본적으로 AdGuard Home에 의해 처리됩니다.",
|
"autofix_warning_result": "결과적으로 시스템의 모든 DNS 요청은 기본적으로 AdGuard Home에 의해 처리됩니다.",
|
||||||
"tags_title": "태그",
|
"tags_title": "태그",
|
||||||
@@ -572,10 +585,10 @@
|
|||||||
"check_service": "서비스 이름: {{service}}",
|
"check_service": "서비스 이름: {{service}}",
|
||||||
"service_name": "서비스 이름",
|
"service_name": "서비스 이름",
|
||||||
"check_not_found": "필터 목록에서 찾을 수 없음",
|
"check_not_found": "필터 목록에서 찾을 수 없음",
|
||||||
"client_confirm_block": "정말로 클라이언트 \"{{ip}}\"을(를) 차단하시겠습니까?",
|
"client_confirm_block": "정말로 클라이언트 '{{ip}}'을(를) 차단하시겠습니까?",
|
||||||
"client_confirm_unblock": "정말로 클라이언트 \"{{ip}}\"의 차단을 해제하시겠습니까?",
|
"client_confirm_unblock": "정말로 클라이언트 '{{ip}}'의 차단을 해제하시겠습니까?",
|
||||||
"client_blocked": "클라이언트 \"{{ip}}\"(이)가 성공적으로 차단되었습니다",
|
"client_blocked": "클라이언트 '{{ip}}'(이)가 성공적으로 차단되었습니다",
|
||||||
"client_unblocked": "클라이언트 \"{{ip}}\"의 차단을 성공적으로 해제했습니다",
|
"client_unblocked": "클라이언트 '{{ip}}'의 차단을 성공적으로 해제했습니다",
|
||||||
"static_ip": "고정 IP 주소",
|
"static_ip": "고정 IP 주소",
|
||||||
"static_ip_desc": "AdGuard Home는 서버라서 정상적으로 작동하려면 고정 IP 주소가 필요합니다. 그렇지 않다면 라우터가 언젠가 이 기기에 다른 IP 주소를 할당할 수도 있습니다.",
|
"static_ip_desc": "AdGuard Home는 서버라서 정상적으로 작동하려면 고정 IP 주소가 필요합니다. 그렇지 않다면 라우터가 언젠가 이 기기에 다른 IP 주소를 할당할 수도 있습니다.",
|
||||||
"set_static_ip": "고정 IP 주소 설정",
|
"set_static_ip": "고정 IP 주소 설정",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "차단 목록",
|
"blocklist": "차단 목록",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "캐시 크기",
|
"cache_size": "캐시 크기",
|
||||||
"cache_size_desc": "DNS 캐시 크기 (바이트).",
|
"cache_size_desc": "DNS 캐시 크기(바이트). 캐싱을 비활성화하려면 비워 둡니다.",
|
||||||
"cache_ttl_min_override": "최소 TTL (초) 무시",
|
"cache_ttl_min_override": "최소 TTL (초) 무시",
|
||||||
"cache_ttl_max_override": "최대 TTL (초) 무시",
|
"cache_ttl_max_override": "최대 TTL (초) 무시",
|
||||||
"enter_cache_size": "캐시 크기를 입력하세요",
|
"enter_cache_size": "캐시 크기를 입력하세요",
|
||||||
@@ -624,7 +637,7 @@
|
|||||||
"setup_config_to_enable_dhcp_server": "DHCP 서버를 활성화하기 위한 설정 구성",
|
"setup_config_to_enable_dhcp_server": "DHCP 서버를 활성화하기 위한 설정 구성",
|
||||||
"original_response": "원래 응답",
|
"original_response": "원래 응답",
|
||||||
"click_to_view_queries": "쿼리를 보려면 클릭합니다",
|
"click_to_view_queries": "쿼리를 보려면 클릭합니다",
|
||||||
"port_53_faq_link": "53번 포트는 보통 \"DNSStubListener\"나 \"systemd-resolved\" 서비스가 이미 사용하고 있습니다. 이 문제에 대한 해결 방법을 <0>설명</0>에서 찾아보세요.",
|
"port_53_faq_link": "53번 포트는 보통 'DNSStubListener나 'systemd-resolved' 서비스가 이미 사용하고 있습니다. 이 문제에 대한 해결 방법을 <0>설명</0>에서 찾아보세요.",
|
||||||
"adg_will_drop_dns_queries": "AdGuard Home은 이 클라이언트에서 모든 DNS 쿼리를 삭제합니다.",
|
"adg_will_drop_dns_queries": "AdGuard Home은 이 클라이언트에서 모든 DNS 쿼리를 삭제합니다.",
|
||||||
"filter_allowlist": "경고: 이 경우 허용된 클라이언트 목록에서 '{{disallowed_rule}}' 규칙 또한 제외됩니다.",
|
"filter_allowlist": "경고: 이 경우 허용된 클라이언트 목록에서 '{{disallowed_rule}}' 규칙 또한 제외됩니다.",
|
||||||
"last_rule_in_allowlist": "'{{disallowed_rule}}' 규칙을 제외하면 '허용된 클라이언트' 목록이 꺼지므로 해당 클라이언트를 제외할 수 없습니다.",
|
"last_rule_in_allowlist": "'{{disallowed_rule}}' 규칙을 제외하면 '허용된 클라이언트' 목록이 꺼지므로 해당 클라이언트를 제외할 수 없습니다.",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "자녀 보호",
|
"parental_control": "자녀 보호",
|
||||||
"safe_browsing": "세이프 브라우징",
|
"safe_browsing": "세이프 브라우징",
|
||||||
"served_from_cache": "{{value}} <i>(캐시에서 제공)</i>",
|
"served_from_cache": "{{value}} <i>(캐시에서 제공)</i>",
|
||||||
"form_error_password_length": "비밀번호는 {{value}}자 이상이어야 합니다"
|
"form_error_password_length": "비밀번호는 {{value}}자 이상이어야 합니다",
|
||||||
|
"anonymizer_notification": "<0>참고:</0> IP 익명화가 활성화되었습니다. <1>일반 설정</1>에서 비활성화할 수 있습니다.",
|
||||||
|
"confirm_dns_cache_clear": "정말로 DNS 캐시를 지우시겠습니까?",
|
||||||
|
"cache_cleared": "DNS 캐시를 성공적으로 지웠습니다",
|
||||||
|
"clear_cache": "캐시 지우기",
|
||||||
|
"make_static": "정적으로 만들기",
|
||||||
|
"theme_auto_desc": "자동(기기의 색 구성표에 따라 설정)",
|
||||||
|
"theme_dark_desc": "다크 테마",
|
||||||
|
"theme_light_desc": "라이트 테마",
|
||||||
|
"disable_for_seconds": "{{count}}초",
|
||||||
|
"disable_for_seconds_plural": "{{count}}초",
|
||||||
|
"disable_for_minutes": "{{count}}분",
|
||||||
|
"disable_for_minutes_plural": "{{count}}분간",
|
||||||
|
"disable_for_hours": "{{count}}시간",
|
||||||
|
"disable_for_hours_plural": "{{count}}시간",
|
||||||
|
"disable_until_tomorrow": "내일까지",
|
||||||
|
"disable_notify_for_seconds": "{{count}}초 동안 보호 기능 비활성화",
|
||||||
|
"disable_notify_for_seconds_plural": "{{count}}초 동안 보호 기능 비활성화",
|
||||||
|
"disable_notify_for_minutes": "{{count}}분 동안 보호 기능 비활성화",
|
||||||
|
"disable_notify_for_minutes_plural": "{{count}}분 동안 보호 기능 비활성화",
|
||||||
|
"disable_notify_for_hours": "{{count}}시간 동안 보호 기능 비활성화",
|
||||||
|
"disable_notify_for_hours_plural": "{{count}}시간 동안 보호 기능 비활성화",
|
||||||
|
"disable_notify_until_tomorrow": "내일까지 보호 기능 비활성화",
|
||||||
|
"enable_protection_timer": "{{time}}에 보호 기능이 활성화됩니다.",
|
||||||
|
"custom_retention_input": "시간 단위로 보존 기간 입력",
|
||||||
|
"custom_rotation_input": "시간 단위로 로테이션 입력",
|
||||||
|
"protection_section_label": "보호",
|
||||||
|
"log_and_stats_section_label": "쿼리 로그 및 통계",
|
||||||
|
"ignore_query_log": "쿼리 로그에서 이 클라이언트 무시",
|
||||||
|
"ignore_statistics": "통계에서 이 클라이언트 무시"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6 instellingen",
|
"dhcp_ipv6_settings": "DHCP IPv6 instellingen",
|
||||||
"form_error_required": "Vereist veld",
|
"form_error_required": "Vereist veld",
|
||||||
"form_error_ip4_format": "Ongeldig IPv4-adres",
|
"form_error_ip4_format": "Ongeldig IPv4-adres",
|
||||||
"form_error_ip4_range_start_format": "Ongeldig IPv4-adres start bereik",
|
|
||||||
"form_error_ip4_range_end_format": "Ongeldig IPv4-adres einde bereik",
|
|
||||||
"form_error_ip4_gateway_format": "Ongeldig IPv4-adres van de gateway",
|
"form_error_ip4_gateway_format": "Ongeldig IPv4-adres van de gateway",
|
||||||
"form_error_ip6_format": "Ongeldig IPv6-adres",
|
"form_error_ip6_format": "Ongeldig IPv6-adres",
|
||||||
"form_error_ip_format": "Ongeldig IP-adres",
|
"form_error_ip_format": "Ongeldig IP-adres",
|
||||||
@@ -51,9 +49,8 @@
|
|||||||
"out_of_range_error": "Moet buiten bereik zijn \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Moet buiten bereik zijn \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Moet lager zijn dan begin reeks",
|
"lower_range_start_error": "Moet lager zijn dan begin reeks",
|
||||||
"greater_range_start_error": "Moet groter zijn dan begin reeks",
|
"greater_range_start_error": "Moet groter zijn dan begin reeks",
|
||||||
"greater_range_end_error": "Moet groter zijn dan einde reeks",
|
|
||||||
"subnet_error": "Adressen moeten in één subnet vallen",
|
"subnet_error": "Adressen moeten in één subnet vallen",
|
||||||
"gateway_or_subnet_invalid": "Subnetmasker ongeldig",
|
"gateway_or_subnet_invalid": "Ongeldig subnetmasker",
|
||||||
"dhcp_form_gateway_input": "Gateway IP",
|
"dhcp_form_gateway_input": "Gateway IP",
|
||||||
"dhcp_form_subnet_input": "Subnet mask",
|
"dhcp_form_subnet_input": "Subnet mask",
|
||||||
"dhcp_form_range_title": "Bereik van IP adressen",
|
"dhcp_form_range_title": "Bereik van IP adressen",
|
||||||
@@ -150,9 +147,9 @@
|
|||||||
"general_settings": "Algemene instellingen",
|
"general_settings": "Algemene instellingen",
|
||||||
"dns_settings": "DNS instellingen",
|
"dns_settings": "DNS instellingen",
|
||||||
"dns_blocklists": "DNS blokkeerlijsten",
|
"dns_blocklists": "DNS blokkeerlijsten",
|
||||||
"dns_allowlists": "DNS toestemmingslijsten",
|
"dns_allowlists": "DNS-toelatingslijsten",
|
||||||
"dns_blocklists_desc": "AdGuard Home zal domeinen blokkeren die voorkomen in de blokkeerlijsten.",
|
"dns_blocklists_desc": "AdGuard Home zal domeinen blokkeren die voorkomen in de blokkeerlijsten.",
|
||||||
"dns_allowlists_desc": "Domeinen in de DNS toestemmingslijsten worden toegestaan zelfs al komen ze voor in de blokkeerlijsten.",
|
"dns_allowlists_desc": "Domeinen van DNS-toelatingslijsten zijn toegestaan, zelfs als ze op een van de blokkeerlijsten staan.",
|
||||||
"custom_filtering_rules": "Aangepaste filter regels",
|
"custom_filtering_rules": "Aangepaste filter regels",
|
||||||
"encryption_settings": "Encryptie instellingen",
|
"encryption_settings": "Encryptie instellingen",
|
||||||
"dhcp_settings": "DHCP instellingen",
|
"dhcp_settings": "DHCP instellingen",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Ingeschakeld Ouderlijk toezicht",
|
"enabled_parental_toast": "Ingeschakeld Ouderlijk toezicht",
|
||||||
"disabled_safe_search_toast": "Uitgeschakeld Veilig zoeken",
|
"disabled_safe_search_toast": "Uitgeschakeld Veilig zoeken",
|
||||||
"enabled_save_search_toast": "Ingeschakeld Veilig zoeken",
|
"enabled_save_search_toast": "Ingeschakeld Veilig zoeken",
|
||||||
|
"updated_save_search_toast": "Safe Search-instellingen bijgewerkt",
|
||||||
"enabled_table_header": "Ingeschakeld",
|
"enabled_table_header": "Ingeschakeld",
|
||||||
"name_table_header": "Naam",
|
"name_table_header": "Naam",
|
||||||
"list_url_table_header": "URL lijst",
|
"list_url_table_header": "URL lijst",
|
||||||
@@ -182,21 +180,21 @@
|
|||||||
"elapsed": "Verstreken",
|
"elapsed": "Verstreken",
|
||||||
"filters_and_hosts_hint": "AdGuard Home kan overweg met basic adblock regels en hosts bestanden syntaxis.",
|
"filters_and_hosts_hint": "AdGuard Home kan overweg met basic adblock regels en hosts bestanden syntaxis.",
|
||||||
"no_blocklist_added": "Geen blokkeerlijsten toegevoegd",
|
"no_blocklist_added": "Geen blokkeerlijsten toegevoegd",
|
||||||
"no_whitelist_added": "Geen toestemmingslijsten toegevoegd",
|
"no_whitelist_added": "Geen toelatingslijsten toegevoegd",
|
||||||
"add_blocklist": "Blokkeerlijst toevoegen",
|
"add_blocklist": "Blokkeerlijst toevoegen",
|
||||||
"add_allowlist": "Toestemmingslijst toevoegen",
|
"add_allowlist": "Toelatingslijst toevoegen",
|
||||||
"cancel_btn": "Annuleren",
|
"cancel_btn": "Annuleren",
|
||||||
"enter_name_hint": "Voeg naam toe",
|
"enter_name_hint": "Voeg naam toe",
|
||||||
"enter_url_or_path_hint": "Voer een URL in of het pad van de lijst",
|
"enter_url_or_path_hint": "Voer een URL in of het pad van de lijst",
|
||||||
"check_updates_btn": "Controleer op updates",
|
"check_updates_btn": "Controleer op updates",
|
||||||
"new_blocklist": "Nieuwe blokkeerlijst",
|
"new_blocklist": "Nieuwe blokkeerlijst",
|
||||||
"new_allowlist": "Nieuwe toestemmingslijst",
|
"new_allowlist": "Nieuwe toelatingslijst",
|
||||||
"edit_blocklist": "Blokkeerlijst beheren",
|
"edit_blocklist": "Blokkeerlijst beheren",
|
||||||
"edit_allowlist": "Toestemmingslijst beheren",
|
"edit_allowlist": "Toelatingslijst bewerken",
|
||||||
"choose_blocklist": "Blokkeringslijsten selecteren",
|
"choose_blocklist": "Blokkeringslijsten selecteren",
|
||||||
"choose_allowlist": "Toestemmingslijsten selecteren",
|
"choose_allowlist": "Toelatingslijsten selecteren",
|
||||||
"enter_valid_blocklist": "Voer een geldige URL in voor de blokkeerlijst.",
|
"enter_valid_blocklist": "Voer een geldige URL in voor de blokkeerlijst.",
|
||||||
"enter_valid_allowlist": "Voer een geldige URL in voor de toestemmingslijst.",
|
"enter_valid_allowlist": "Voer een geldige URL naar de toelatingslijst in.",
|
||||||
"form_error_url_format": "Ongeldig URL-opmaak",
|
"form_error_url_format": "Ongeldig URL-opmaak",
|
||||||
"form_error_url_or_path_format": "Ongeldig URL of pad van de lijst",
|
"form_error_url_or_path_format": "Ongeldig URL of pad van de lijst",
|
||||||
"custom_filter_rules": "Aangepaste filterregels",
|
"custom_filter_rules": "Aangepaste filterregels",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Ook een opmerking.",
|
"example_comment_hash": "# Ook een opmerking.",
|
||||||
"example_regex_meaning": "toegang blokkeren tot de domeinen die overeenkomen met de opgegeven reguliere expressie.",
|
"example_regex_meaning": "toegang blokkeren tot de domeinen die overeenkomen met de opgegeven reguliere expressie.",
|
||||||
"example_upstream_regular": "standaard DNS (over UDP);",
|
"example_upstream_regular": "standaard DNS (over UDP);",
|
||||||
|
"example_upstream_regular_port": "standaard DNS (via UDP, met poort);",
|
||||||
"example_upstream_udp": "standaard DNS (via UDP, hostnaam);",
|
"example_upstream_udp": "standaard DNS (via UDP, hostnaam);",
|
||||||
"example_upstream_dot": "versleutelde <0>DNS-via-TLS</0>;",
|
"example_upstream_dot": "versleutelde <0>DNS-via-TLS</0>;",
|
||||||
"example_upstream_doh": "versleutelde <0>DNS-via-HTTPS</0>;",
|
"example_upstream_doh": "versleutelde <0>DNS-via-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "versleutelde DNS-over-HTTPS met geforceerde <0>HTTP/3</0> en geen terugval naar HTTP/2 of lager;",
|
||||||
"example_upstream_doq": "versleutelde <0>DNS-via-QUIC</0>;",
|
"example_upstream_doq": "versleutelde <0>DNS-via-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> voor <1>DNSCrypt</1> of <2>DNS-via-HTTPS</2> oplossingen;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> voor <1>DNSCrypt</1> of <2>DNS-via-HTTPS</2> oplossingen;",
|
||||||
"example_upstream_tcp": "standaard DNS (over TCP);",
|
"example_upstream_tcp": "standaard DNS (over TCP);",
|
||||||
|
"example_upstream_tcp_port": "standaard DNS (via TCP, met poort);",
|
||||||
"example_upstream_tcp_hostname": "standaard DNS (via TCP, hostnaam);",
|
"example_upstream_tcp_hostname": "standaard DNS (via TCP, hostnaam);",
|
||||||
"all_lists_up_to_date_toast": "Alle lijsten zijn reeds actueel",
|
"all_lists_up_to_date_toast": "Alle lijsten zijn reeds actueel",
|
||||||
"updated_upstream_dns_toast": "Upstream-servers succesvol opgeslagen",
|
"updated_upstream_dns_toast": "Upstream-servers succesvol opgeslagen",
|
||||||
"dns_test_ok_toast": "Opgegeven DNS-servers werken correct",
|
"dns_test_ok_toast": "Opgegeven DNS-servers werken correct",
|
||||||
"dns_test_not_ok_toast": "Server \"{{key}}\": kon niet worden gebruikt, controleer of je het correct hebt geschreven",
|
"dns_test_not_ok_toast": "Server \"{{key}}\": kon niet worden gebruikt, controleer of je het correct hebt geschreven",
|
||||||
|
"dns_test_warning_toast": "Upstream \"{{key}}\" reageert niet op testverzoeken en werkt mogelijk niet goed",
|
||||||
"unblock": "Deblokkeren",
|
"unblock": "Deblokkeren",
|
||||||
"block": "Blokkeren",
|
"block": "Blokkeren",
|
||||||
"disallow_this_client": "Toepassing/systeem niet toelaten",
|
"disallow_this_client": "Toepassing/systeem niet toelaten",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "Het query logboek is succesvol geleegd",
|
"query_log_cleared": "Het query logboek is succesvol geleegd",
|
||||||
"query_log_updated": "Het query logboek is succesvol bijgewerkt",
|
"query_log_updated": "Het query logboek is succesvol bijgewerkt",
|
||||||
"query_log_clear": "Leeg query logs",
|
"query_log_clear": "Leeg query logs",
|
||||||
"query_log_retention": "Query logs bewaartermijn",
|
"query_log_retention": "Query logs rotatie",
|
||||||
"query_log_enable": "Log bestanden inschakelen",
|
"query_log_enable": "Log bestanden inschakelen",
|
||||||
"query_log_configuration": "Logbestanden instellingen",
|
"query_log_configuration": "Logbestanden instellingen",
|
||||||
"query_log_disabled": "Het query logboek is uitgeschakeld en kan worden geconfigureerd in de <0>instellingen</0>",
|
"query_log_disabled": "Het query logboek is uitgeschakeld en kan worden geconfigureerd in de <0>instellingen</0>",
|
||||||
"query_log_strict_search": "Gebruik dubbele aanhalingstekens voor strikt zoeken",
|
"query_log_strict_search": "Gebruik dubbele aanhalingstekens voor strikt zoeken",
|
||||||
"query_log_retention_confirm": "Weet u zeker dat u de bewaartermijn van het query logboek wilt wijzigen? Als u de intervalwaarde verlaagt, gaan sommige gegevens verloren",
|
"query_log_retention_confirm": "Weet u zeker dat u de rotatie van het querylogboek wilt wijzigen? Als u de intervalwaarde verlaagt, gaan sommige gegevens verloren",
|
||||||
"anonymize_client_ip": "Cliënt IP anonimiseren",
|
"anonymize_client_ip": "Cliënt IP anonimiseren",
|
||||||
"anonymize_client_ip_desc": "Het volledige IP-adres van de cliënt niet opnemen in logboeken en statistiekbestanden",
|
"anonymize_client_ip_desc": "Het volledige IP-adres van de cliënt niet opnemen in logboeken en statistiekbestanden",
|
||||||
"dns_config": "DNS-server configuratie",
|
"dns_config": "DNS-server configuratie",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Ratio limiet",
|
"rate_limit": "Ratio limiet",
|
||||||
"edns_enable": "EDNS client subnet inschakelen",
|
"edns_enable": "EDNS client subnet inschakelen",
|
||||||
"edns_cs_desc": "De EDNS Client Subnet-optie (ECS) toevoegen aan upstream-verzoeken en de waarden die door de clients zijn verzonden registreren in het querylogboek.",
|
"edns_cs_desc": "De EDNS Client Subnet-optie (ECS) toevoegen aan upstream-verzoeken en de waarden die door de clients zijn verzonden registreren in het querylogboek.",
|
||||||
|
"edns_use_custom_ip": "Aangepast IP-adres gebruiken voor EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Toestaan om aangepast IP-adres voor EDNS te gebruiken",
|
||||||
"rate_limit_desc": "Het aantal verzoeken per seconde toegelaten per toestel. 0 betekent onbeperkt.",
|
"rate_limit_desc": "Het aantal verzoeken per seconde toegelaten per toestel. 0 betekent onbeperkt.",
|
||||||
"blocking_ipv4_desc": "IP-adres dat moet worden teruggegeven voor een geblokkeerd A-verzoek",
|
"blocking_ipv4_desc": "IP-adres dat moet worden teruggegeven voor een geblokkeerd A-verzoek",
|
||||||
"blocking_ipv6_desc": "IP-adres dat moet worden teruggegeven voor een geblokkeerd A-verzoek",
|
"blocking_ipv6_desc": "IP-adres dat moet worden teruggegeven voor een geblokkeerd A-verzoek",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Reageer met NXDOMAIN code",
|
"blocking_mode_nxdomain": "NXDOMAIN: Reageer met NXDOMAIN code",
|
||||||
"blocking_mode_null_ip": "Nul IP: Reageer met een nul IP address (0.0.0.0 voor A; :: voor AAAA)",
|
"blocking_mode_null_ip": "Nul IP: Reageer met een nul IP address (0.0.0.0 voor A; :: voor AAAA)",
|
||||||
"blocking_mode_custom_ip": "Aangepast IP: Reageer met een handmatige ingesteld IP adres",
|
"blocking_mode_custom_ip": "Aangepast IP: Reageer met een handmatige ingesteld IP adres",
|
||||||
|
"theme_auto": "Automatisch",
|
||||||
|
"theme_light": "Licht",
|
||||||
|
"theme_dark": "Donker",
|
||||||
"upstream_dns_client_desc": "Indien je dit veld leeglaat zal AdGuard Home de servers welke zijn ingesteld in de <0>DNS instellingen</0> gebruiken.",
|
"upstream_dns_client_desc": "Indien je dit veld leeglaat zal AdGuard Home de servers welke zijn ingesteld in de <0>DNS instellingen</0> gebruiken.",
|
||||||
"tracker_source": "Bron volger",
|
"tracker_source": "Bron volger",
|
||||||
"source_label": "Bron",
|
"source_label": "Bron",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Versleuteling configuratie opgeslagen",
|
"encryption_config_saved": "Versleuteling configuratie opgeslagen",
|
||||||
"encryption_server": "Server naam",
|
"encryption_server": "Server naam",
|
||||||
"encryption_server_enter": "Voer domein naam in",
|
"encryption_server_enter": "Voer domein naam in",
|
||||||
"encryption_server_desc": "Om HTTPS te gebruiken, moet je de servernaam invoeren die overeenkomt met je SSL-certificaat of jokerteken-certificaat. Als het veld niet is ingesteld, accepteert het TLS-verbindingen voor elk domein.",
|
"encryption_server_desc": "Indien ingesteld, detecteert AdGuard Home Client-ID's, reageert op DDR-zoekopdrachten en voert aanvullende verbindingsvalidaties uit. Indien niet ingesteld, zijn deze functies uitgeschakeld. Moet overeenkomen met een van de DNS-namen in het certificaat.",
|
||||||
"encryption_redirect": "Herleid automatisch naar HTTPS",
|
"encryption_redirect": "Herleid automatisch naar HTTPS",
|
||||||
"encryption_redirect_desc": "Indien ingeschakeld, zal AdGuard Home je automatisch herleiden van HTTP naar HTTPS.",
|
"encryption_redirect_desc": "Indien ingeschakeld, zal AdGuard Home je automatisch herleiden van HTTP naar HTTPS.",
|
||||||
"encryption_https": "HTTPS poort",
|
"encryption_https": "HTTPS poort",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Uitgever",
|
"encryption_issuer": "Uitgever",
|
||||||
"encryption_hostnames": "Hostnamen",
|
"encryption_hostnames": "Hostnamen",
|
||||||
"encryption_reset": "Ben je zeker dat je de encryptie instellingen wil resetten?",
|
"encryption_reset": "Ben je zeker dat je de encryptie instellingen wil resetten?",
|
||||||
|
"encryption_warning": "Waarschuwing",
|
||||||
"topline_expiring_certificate": "Jouw SSL-certificaat vervalt binnenkort. Werk de <0>encryptie-instellingen</0> bij.",
|
"topline_expiring_certificate": "Jouw SSL-certificaat vervalt binnenkort. Werk de <0>encryptie-instellingen</0> bij.",
|
||||||
"topline_expired_certificate": "Jouw SSL-certificaat is vervallen. Werk de <0>encryptie-instellingen</0> bij.",
|
"topline_expired_certificate": "Jouw SSL-certificaat is vervallen. Werk de <0>encryptie-instellingen</0> bij.",
|
||||||
"form_error_port_range": "Poortnummer invoeren tussen 80 en 65535",
|
"form_error_port_range": "Poortnummer invoeren tussen 80 en 65535",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "Een nieuwe versie van AdGuard Home is beschikbaar\n",
|
"updates_checked": "Een nieuwe versie van AdGuard Home is beschikbaar\n",
|
||||||
"updates_version_equal": "AdGuard Home is actueel",
|
"updates_version_equal": "AdGuard Home is actueel",
|
||||||
"check_updates_now": "Controleer op updates",
|
"check_updates_now": "Controleer op updates",
|
||||||
|
"version_request_error": "Updatecontrole mislukt. Controleer je internetverbinding.",
|
||||||
"dns_privacy": "DNS Privacy",
|
"dns_privacy": "DNS Privacy",
|
||||||
"setup_dns_privacy_1": "<0>DNS-via-TLS:</0> Gebruik <1>{{address}}</1> string.",
|
"setup_dns_privacy_1": "<0>DNS-via-TLS:</0> Gebruik <1>{{address}}</1> string.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-via-HTTPS:</0> Gebruik <1>{{address}}</1> string.",
|
"setup_dns_privacy_2": "<0>DNS-via-HTTPS:</0> Gebruik <1>{{address}}</1> string.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Weet u zeker dat u de bewaartermijn van de statistieken wilt wijzigen? Als u de intervalwaarde verlaagt, gaan sommige gegevens verloren",
|
"statistics_retention_confirm": "Weet u zeker dat u de bewaartermijn van de statistieken wilt wijzigen? Als u de intervalwaarde verlaagt, gaan sommige gegevens verloren",
|
||||||
"statistics_cleared": "Statistieken succesvol gewist",
|
"statistics_cleared": "Statistieken succesvol gewist",
|
||||||
"statistics_enable": "Statistieken inschakelen",
|
"statistics_enable": "Statistieken inschakelen",
|
||||||
|
"ignore_domains": "Genegeerde domeinen (gescheiden door nieuwe regel)",
|
||||||
|
"ignore_domains_title": "Genegeerde domeinen",
|
||||||
|
"ignore_domains_desc_stats": "Zoekopdrachten voor deze domeinen worden niet naar de statistieken geschreven",
|
||||||
|
"ignore_domains_desc_query": "Zoekopdrachten voor deze domeinen worden niet naar het zoeklogboek geschreven",
|
||||||
"interval_hours": "{{count}} uur",
|
"interval_hours": "{{count}} uur",
|
||||||
"interval_hours_plural": "{{count}} uren",
|
"interval_hours_plural": "{{count}} uren",
|
||||||
"filters_configuration": "Filters instellingen",
|
"filters_configuration": "Filters instellingen",
|
||||||
@@ -554,7 +567,7 @@
|
|||||||
"fastest_addr_desc": "Alle DNS-servers bevragen en het snelste IP adres terugkoppelen. Dit zal de DNS verzoeken vertragen omdat AdGuard Home moet wachten op de antwoorden van alles DNS-servers, maar verbetert wel de connectiviteit.",
|
"fastest_addr_desc": "Alle DNS-servers bevragen en het snelste IP adres terugkoppelen. Dit zal de DNS verzoeken vertragen omdat AdGuard Home moet wachten op de antwoorden van alles DNS-servers, maar verbetert wel de connectiviteit.",
|
||||||
"autofix_warning_text": "Als je op \"Repareren\" klikt, configureert AdGuard Home jouw systeem om de AdGuard Home DNS-server te gebruiken.",
|
"autofix_warning_text": "Als je op \"Repareren\" klikt, configureert AdGuard Home jouw systeem om de AdGuard Home DNS-server te gebruiken.",
|
||||||
"autofix_warning_list": "De volgende taken worden uitgevoerd: <0> Deactiveren van Systeem DNSStubListener</0> <0> DNS-serveradres instellen op 127.0.0.1 </0> <0> Symbolisch koppelingsdoel van /etc/resolv.conf vervangen door /run/systemd/resolve/resolv.conf </0> <0> Stop DNSStubListener (herlaad systemd-resolved service) </0>",
|
"autofix_warning_list": "De volgende taken worden uitgevoerd: <0> Deactiveren van Systeem DNSStubListener</0> <0> DNS-serveradres instellen op 127.0.0.1 </0> <0> Symbolisch koppelingsdoel van /etc/resolv.conf vervangen door /run/systemd/resolve/resolv.conf </0> <0> Stop DNSStubListener (herlaad systemd-resolved service) </0>",
|
||||||
"autofix_warning_result": "Als gevolg hiervan worden alle DNS-verzoeken van je systeem standaard door AdGuard Home verwerkt.",
|
"autofix_warning_result": "Als gevolg hiervan worden alle DNS-aanvragen van je systeem standaard door AdGuard Home verwerkt.",
|
||||||
"tags_title": "Labels",
|
"tags_title": "Labels",
|
||||||
"tags_desc": "Je kunt labels selecteren die overeenkomen met de client. Labels kunnen worden opgenomen in de filterregels om ze \n nauwkeuriger toe te passen. <0>Meer informatie</0>.",
|
"tags_desc": "Je kunt labels selecteren die overeenkomen met de client. Labels kunnen worden opgenomen in de filterregels om ze \n nauwkeuriger toe te passen. <0>Meer informatie</0>.",
|
||||||
"form_select_tags": "Client tags selecteren",
|
"form_select_tags": "Client tags selecteren",
|
||||||
@@ -565,7 +578,7 @@
|
|||||||
"filtered_custom_rules": "Gefilterd door aangepaste filterregels",
|
"filtered_custom_rules": "Gefilterd door aangepaste filterregels",
|
||||||
"choose_from_list": "Uit de lijst selecteren",
|
"choose_from_list": "Uit de lijst selecteren",
|
||||||
"add_custom_list": "Aangepaste lijst toevoegen",
|
"add_custom_list": "Aangepaste lijst toevoegen",
|
||||||
"host_whitelisted": "De host staat op de toestemmingslijst",
|
"host_whitelisted": "De host staat op de toelatingslijst",
|
||||||
"check_ip": "IP-adressen: {{ip}}",
|
"check_ip": "IP-adressen: {{ip}}",
|
||||||
"check_cname": "CNAME: {{cname}}",
|
"check_cname": "CNAME: {{cname}}",
|
||||||
"check_reason": "Reden: {{reason}}",
|
"check_reason": "Reden: {{reason}}",
|
||||||
@@ -590,7 +603,7 @@
|
|||||||
"validated_with_dnssec": "Gevalideerd met DNSSEC",
|
"validated_with_dnssec": "Gevalideerd met DNSSEC",
|
||||||
"all_queries": "Alle vragen",
|
"all_queries": "Alle vragen",
|
||||||
"show_blocked_responses": "Geblokkeerd",
|
"show_blocked_responses": "Geblokkeerd",
|
||||||
"show_whitelisted_responses": "Op toestemmingslijst",
|
"show_whitelisted_responses": "Op toelatingslijst",
|
||||||
"show_processed_responses": "Verwerkt",
|
"show_processed_responses": "Verwerkt",
|
||||||
"blocked_safebrowsing": "Geblokkeerd door Veilig browsen",
|
"blocked_safebrowsing": "Geblokkeerd door Veilig browsen",
|
||||||
"blocked_adult_websites": "Geblokkeerd door ouderlijk toezicht",
|
"blocked_adult_websites": "Geblokkeerd door ouderlijk toezicht",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Blokkeerlijst",
|
"blocklist": "Blokkeerlijst",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Cache grootte",
|
"cache_size": "Cache grootte",
|
||||||
"cache_size_desc": "DNS-cache grootte (in bytes).",
|
"cache_size_desc": "DNS-cachegrootte (in bytes). Leeg laten om caching uit te schakelen.",
|
||||||
"cache_ttl_min_override": "Minimale TTL overschrijven",
|
"cache_ttl_min_override": "Minimale TTL overschrijven",
|
||||||
"cache_ttl_max_override": "Maximale TTL overschrijven",
|
"cache_ttl_max_override": "Maximale TTL overschrijven",
|
||||||
"enter_cache_size": "Cache grootte invoeren (bytes)",
|
"enter_cache_size": "Cache grootte invoeren (bytes)",
|
||||||
@@ -625,12 +638,41 @@
|
|||||||
"original_response": "Oorspronkelijke reactie",
|
"original_response": "Oorspronkelijke reactie",
|
||||||
"click_to_view_queries": "Klik om queries te bekijken",
|
"click_to_view_queries": "Klik om queries te bekijken",
|
||||||
"port_53_faq_link": "Poort 53 wordt vaak gebruikt door services als DNSStubListener- of de systeem DNS-resolver. Lees a.u.b. <0>deze instructie</0> hoe dit is op te lossen.",
|
"port_53_faq_link": "Poort 53 wordt vaak gebruikt door services als DNSStubListener- of de systeem DNS-resolver. Lees a.u.b. <0>deze instructie</0> hoe dit is op te lossen.",
|
||||||
"adg_will_drop_dns_queries": "AdGuard Home zal alle DNS-verzoeken van deze cliënt laten vervallen.",
|
"adg_will_drop_dns_queries": "AdGuard Home zal alle DNS-aanvragen van deze cliënt laten vervallen.",
|
||||||
"filter_allowlist": "WAARSCHUWING: Deze actie zal ook de regel \"{{disallowed_rule}}\" uitsluiten van de lijst met toegestane clients.",
|
"filter_allowlist": "WAARSCHUWING: Deze actie zal ook de regel \"{{disallowed_rule}}\" uitsluiten van de lijst met toegestane clients.",
|
||||||
"last_rule_in_allowlist": "Kan deze client niet weigeren omdat het uitsluiten van de regel \"{{disallowed_rule}}\" de lijst \"Toegestane clients\" zal UITSCHAKELEN.",
|
"last_rule_in_allowlist": "Kan deze client niet weigeren omdat het uitsluiten van de regel \"{{disallowed_rule}}\" de lijst \"Toegestane clients\" zal UITSCHAKELEN.",
|
||||||
"use_saved_key": "De eerder opgeslagen sleutel gebruiken",
|
"use_saved_key": "De eerder opgeslagen sleutel gebruiken",
|
||||||
"parental_control": "Ouderlijk toezicht",
|
"parental_control": "Ouderlijk toezicht",
|
||||||
"safe_browsing": "Veilig browsen",
|
"safe_browsing": "Veilig browsen",
|
||||||
"served_from_cache": "{{value}} <i>(geleverd vanuit cache)</i>",
|
"served_from_cache": "{{value}} <i>(geleverd vanuit cache)</i>",
|
||||||
"form_error_password_length": "Wachtwoord moet minimaal {{value}} tekens lang zijn"
|
"form_error_password_length": "Wachtwoord moet minimaal {{value}} tekens lang zijn",
|
||||||
|
"anonymizer_notification": "<0>Opmerking:</0> IP-anonimisering is ingeschakeld. Je kunt het uitschakelen in <1>Algemene instellingen</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Weet je zeker dat je de DNS-cache wilt wissen?",
|
||||||
|
"cache_cleared": "DNS-cache succesvol gewist",
|
||||||
|
"clear_cache": "Cache wissen",
|
||||||
|
"make_static": "Statisch maken",
|
||||||
|
"theme_auto_desc": "Automatisch (op basis van het kleurenschema van jouw apparaat)",
|
||||||
|
"theme_dark_desc": "Donker thema",
|
||||||
|
"theme_light_desc": "Licht thema",
|
||||||
|
"disable_for_seconds": "Voor {{count}} seconde",
|
||||||
|
"disable_for_seconds_plural": "Voor {{count}} seconden",
|
||||||
|
"disable_for_minutes": "Voor {{count}} minuut",
|
||||||
|
"disable_for_minutes_plural": "Voor {{count}} minuten",
|
||||||
|
"disable_for_hours": "Voor {{count}} uur",
|
||||||
|
"disable_for_hours_plural": "Voor {{count}} uren",
|
||||||
|
"disable_until_tomorrow": "Tot morgen",
|
||||||
|
"disable_notify_for_seconds": "Beveiliging uitschakelen voor {{count}} seconde",
|
||||||
|
"disable_notify_for_seconds_plural": "Beveiliging uitschakelen voor {{count}} seconden",
|
||||||
|
"disable_notify_for_minutes": "Beveiliging uitschakelen voor {{count}} minuut",
|
||||||
|
"disable_notify_for_minutes_plural": "Beveiliging uitschakelen voor {{count}} minuten",
|
||||||
|
"disable_notify_for_hours": "Beveiliging uitschakelen voor {{count}} uur",
|
||||||
|
"disable_notify_for_hours_plural": "Beveiliging uitschakelen voor {{count}} uren",
|
||||||
|
"disable_notify_until_tomorrow": "Beveiliging uitschakelen tot morgen",
|
||||||
|
"enable_protection_timer": "Bescherming wordt ingeschakeld over {{time}}",
|
||||||
|
"custom_retention_input": "Voer retentie in uren in",
|
||||||
|
"custom_rotation_input": "Voer rotatie in uren in",
|
||||||
|
"protection_section_label": "Bescherming",
|
||||||
|
"log_and_stats_section_label": "Aanvragenlogboek en statistieken",
|
||||||
|
"ignore_query_log": "Deze client negeren in het aanvragenlogboek",
|
||||||
|
"ignore_statistics": "Deze client negeren in de statistieken"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -281,6 +281,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Svar med NXDOMAIN-koden",
|
"blocking_mode_nxdomain": "NXDOMAIN: Svar med NXDOMAIN-koden",
|
||||||
"blocking_mode_null_ip": "Null IP: Svar med en 0-IP-adresse (0.0.0.0 for A; :: for AAAA)",
|
"blocking_mode_null_ip": "Null IP: Svar med en 0-IP-adresse (0.0.0.0 for A; :: for AAAA)",
|
||||||
"blocking_mode_custom_ip": "Tilpasset IP: Svar med en manuelt valgt IP-adresse",
|
"blocking_mode_custom_ip": "Tilpasset IP: Svar med en manuelt valgt IP-adresse",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Lyst tema",
|
||||||
|
"theme_dark": "Mørkt tema",
|
||||||
"upstream_dns_client_desc": "Hvis dette feltet holdes tomt, vil AdGuard Home bruke tjenerne som er satt opp i <0>DNS-innstillingene</0>.",
|
"upstream_dns_client_desc": "Hvis dette feltet holdes tomt, vil AdGuard Home bruke tjenerne som er satt opp i <0>DNS-innstillingene</0>.",
|
||||||
"tracker_source": "Sporerkilde",
|
"tracker_source": "Sporerkilde",
|
||||||
"source_label": "Kilde",
|
"source_label": "Kilde",
|
||||||
@@ -347,7 +350,7 @@
|
|||||||
"encryption_config_saved": "Krypteringsoppsettet ble lagret",
|
"encryption_config_saved": "Krypteringsoppsettet ble lagret",
|
||||||
"encryption_server": "Tjenerens navn",
|
"encryption_server": "Tjenerens navn",
|
||||||
"encryption_server_enter": "Skriv inn domenenavnet ditt",
|
"encryption_server_enter": "Skriv inn domenenavnet ditt",
|
||||||
"encryption_server_desc": "For å kunne bruke HTTPS, må du skrive inn tjenernavnet som samsvarer med ditt SSL-sertifikat eller jokertegnsertifikat. Hvis feltet er tomt, vil den akseptere TLS-tilkoblinger til ethvert domene.",
|
"encryption_server_desc": "Hvis angitt, oppdager AdGuard Home klient-IDer, svarer på DDR-spørringer og utfører ytterligere tilkoblingsvalideringer. Hvis ikke angitt, er disse funksjonene deaktivert. Må samsvare med ett av DNS-navnene i sertifikatet.",
|
||||||
"encryption_redirect": "Automatisk omdiriger til HTTPS",
|
"encryption_redirect": "Automatisk omdiriger til HTTPS",
|
||||||
"encryption_redirect_desc": "Dersom dette er valgt, vil AdGuard Home automatisk omdirigere deg fra HTTP til HTTPS-adresser.",
|
"encryption_redirect_desc": "Dersom dette er valgt, vil AdGuard Home automatisk omdirigere deg fra HTTP til HTTPS-adresser.",
|
||||||
"encryption_https": "HTTPS-port",
|
"encryption_https": "HTTPS-port",
|
||||||
@@ -373,6 +376,7 @@
|
|||||||
"encryption_issuer": "Utsteder",
|
"encryption_issuer": "Utsteder",
|
||||||
"encryption_hostnames": "Vertsnavn",
|
"encryption_hostnames": "Vertsnavn",
|
||||||
"encryption_reset": "Er du sikker på at du vil tilbakestille krypteringsinnstillingene?",
|
"encryption_reset": "Er du sikker på at du vil tilbakestille krypteringsinnstillingene?",
|
||||||
|
"encryption_warning": "Advarsel",
|
||||||
"topline_expiring_certificate": "Ditt SSL-sertifikat er i ferd med å utløpe. Oppdater <0>Krypteringsinnstillinger</0>.",
|
"topline_expiring_certificate": "Ditt SSL-sertifikat er i ferd med å utløpe. Oppdater <0>Krypteringsinnstillinger</0>.",
|
||||||
"topline_expired_certificate": "SSL-sertifikatet har utløpt. Oppdater <0>Krypteringsinnstillinger</0>.",
|
"topline_expired_certificate": "SSL-sertifikatet har utløpt. Oppdater <0>Krypteringsinnstillinger</0>.",
|
||||||
"form_error_port_range": "Skriv inn et portnummer i området 80-65535",
|
"form_error_port_range": "Skriv inn et portnummer i området 80-65535",
|
||||||
@@ -432,6 +436,7 @@
|
|||||||
"updates_checked": "En ny versjon av AdGuard Home er tilgjengelig",
|
"updates_checked": "En ny versjon av AdGuard Home er tilgjengelig",
|
||||||
"updates_version_equal": "AdGuard Home er fullt oppdatert",
|
"updates_version_equal": "AdGuard Home er fullt oppdatert",
|
||||||
"check_updates_now": "Se etter oppdateringer nå",
|
"check_updates_now": "Se etter oppdateringer nå",
|
||||||
|
"version_request_error": "Oppdateringssjekken mislyktes. Vennligst sjekk internettforbindelsen din.",
|
||||||
"dns_privacy": "DNS-privatliv",
|
"dns_privacy": "DNS-privatliv",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Benytt <1>{{address}}</1>-strengen.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Benytt <1>{{address}}</1>-strengen.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Benytt <1>{{address}}</1>-strengen.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Benytt <1>{{address}}</1>-strengen.",
|
||||||
@@ -584,7 +589,7 @@
|
|||||||
"blocklist": "Blokkeringsliste",
|
"blocklist": "Blokkeringsliste",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Mellomlagerstørrelse",
|
"cache_size": "Mellomlagerstørrelse",
|
||||||
"cache_size_desc": "DNS-mellomlagerstørrelse (i bytes)",
|
"cache_size_desc": "DNS-bufferstørrelse (i byte). For å deaktivere caching, la stå tomt.",
|
||||||
"cache_ttl_min_override": "Overstyr minimumslevetiden",
|
"cache_ttl_min_override": "Overstyr minimumslevetiden",
|
||||||
"cache_ttl_max_override": "Overstyr maksimallevetiden",
|
"cache_ttl_max_override": "Overstyr maksimallevetiden",
|
||||||
"enter_cache_size": "Skriv inn mellomlagerstørrelse (i bytes)",
|
"enter_cache_size": "Skriv inn mellomlagerstørrelse (i bytes)",
|
||||||
@@ -611,5 +616,6 @@
|
|||||||
"use_saved_key": "Bruk den tidligere lagrede nøkkelen",
|
"use_saved_key": "Bruk den tidligere lagrede nøkkelen",
|
||||||
"parental_control": "Foreldrekontroll",
|
"parental_control": "Foreldrekontroll",
|
||||||
"safe_browsing": "Sikker surfing",
|
"safe_browsing": "Sikker surfing",
|
||||||
"served_from_cache": "{{value}} <i>(formidlet fra mellomlageret)</i>"
|
"served_from_cache": "{{value}} <i>(formidlet fra mellomlageret)</i>",
|
||||||
|
"protection_section_label": "Beskyttelse"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Ustawienia serwera DHCP IPv6",
|
"dhcp_ipv6_settings": "Ustawienia serwera DHCP IPv6",
|
||||||
"form_error_required": "Pole wymagane",
|
"form_error_required": "Pole wymagane",
|
||||||
"form_error_ip4_format": "Nieprawidłowy adres IPv4",
|
"form_error_ip4_format": "Nieprawidłowy adres IPv4",
|
||||||
"form_error_ip4_range_start_format": "Nieprawidłowy adres IPv4 początku zakresu",
|
|
||||||
"form_error_ip4_range_end_format": "Nieprawidłowy adres IPv4 końca zakresu",
|
|
||||||
"form_error_ip4_gateway_format": "Nieprawidłowy adres IPv4 bramy",
|
"form_error_ip4_gateway_format": "Nieprawidłowy adres IPv4 bramy",
|
||||||
"form_error_ip6_format": "Nieprawidłowy adres IPv6",
|
"form_error_ip6_format": "Nieprawidłowy adres IPv6",
|
||||||
"form_error_ip_format": "Nieprawidłowy adres IP",
|
"form_error_ip_format": "Nieprawidłowy adres IP",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Musi być spoza zakresu \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Musi być spoza zakresu \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Musi być niższy niż początek zakresu",
|
"lower_range_start_error": "Musi być niższy niż początek zakresu",
|
||||||
"greater_range_start_error": "Musi być większy niż początek zakresu",
|
"greater_range_start_error": "Musi być większy niż początek zakresu",
|
||||||
"greater_range_end_error": "Musi być większy niż koniec zakresu",
|
|
||||||
"subnet_error": "Adresy muszą należeć do jednej podsieci",
|
"subnet_error": "Adresy muszą należeć do jednej podsieci",
|
||||||
"gateway_or_subnet_invalid": "Nieprawidłowa maska podsieci",
|
"gateway_or_subnet_invalid": "Nieprawidłowa maska podsieci",
|
||||||
"dhcp_form_gateway_input": "Adres IP bramy",
|
"dhcp_form_gateway_input": "Adres IP bramy",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Włączona Kontrola Rodzicielska",
|
"enabled_parental_toast": "Włączona Kontrola Rodzicielska",
|
||||||
"disabled_safe_search_toast": "Wyłączone bezpieczne wyszukiwanie",
|
"disabled_safe_search_toast": "Wyłączone bezpieczne wyszukiwanie",
|
||||||
"enabled_save_search_toast": "Włączone bezpieczne wyszukiwanie",
|
"enabled_save_search_toast": "Włączone bezpieczne wyszukiwanie",
|
||||||
|
"updated_save_search_toast": "Zaktualizowano ustawienia bezpiecznego wyszukiwania",
|
||||||
"enabled_table_header": "Włączone",
|
"enabled_table_header": "Włączone",
|
||||||
"name_table_header": "Nazwa",
|
"name_table_header": "Nazwa",
|
||||||
"list_url_table_header": "Adres URL listy",
|
"list_url_table_header": "Adres URL listy",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Również komentarz.",
|
"example_comment_hash": "# Również komentarz.",
|
||||||
"example_regex_meaning": "zablokuj dostęp do domen pasujących do określonego wyrażenia regularnego.",
|
"example_regex_meaning": "zablokuj dostęp do domen pasujących do określonego wyrażenia regularnego.",
|
||||||
"example_upstream_regular": "normalny DNS (przez UDP);",
|
"example_upstream_regular": "normalny DNS (przez UDP);",
|
||||||
|
"example_upstream_regular_port": "zwykły DNS (przez UDP, z portem);",
|
||||||
"example_upstream_udp": "zwykły DNS (przez UDP, nazwa hosta);",
|
"example_upstream_udp": "zwykły DNS (przez UDP, nazwa hosta);",
|
||||||
"example_upstream_dot": "zaszyfrowany <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "zaszyfrowany <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "zaszyfrowany <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "zaszyfrowany <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "szyfrowany DNS-over-HTTPS z wymuszonym <0>HTTP/3</0> i nie ma powrotu do HTTP/2 lub niższego;",
|
||||||
"example_upstream_doq": "zaszyfrowany <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "zaszyfrowany <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>Stempel DNS</0> dla resolwerów <1>DNSCrypt</1> lub <2>DNS-over-HTTPS</2>;",
|
"example_upstream_sdns": "<0>Stempel DNS</0> dla resolwerów <1>DNSCrypt</1> lub <2>DNS-over-HTTPS</2>;",
|
||||||
"example_upstream_tcp": "zwykły DNS (przez TCP);",
|
"example_upstream_tcp": "zwykły DNS (przez TCP);",
|
||||||
|
"example_upstream_tcp_port": "zwykły DNS (przez TCP, z portem);",
|
||||||
"example_upstream_tcp_hostname": "zwykły DNS (przez TCP, nazwa hosta);",
|
"example_upstream_tcp_hostname": "zwykły DNS (przez TCP, nazwa hosta);",
|
||||||
"all_lists_up_to_date_toast": "Wszystkie listy są już aktualne",
|
"all_lists_up_to_date_toast": "Wszystkie listy są już aktualne",
|
||||||
"updated_upstream_dns_toast": "Serwery nadrzędne zostały pomyślnie zapisane",
|
"updated_upstream_dns_toast": "Serwery nadrzędne zostały pomyślnie zapisane",
|
||||||
"dns_test_ok_toast": "Określone serwery DNS działają poprawnie",
|
"dns_test_ok_toast": "Określone serwery DNS działają poprawnie",
|
||||||
"dns_test_not_ok_toast": "Serwer \"{{key}}\": nie można go użyć, sprawdź, czy napisałeś go poprawnie",
|
"dns_test_not_ok_toast": "Serwer \"{{key}}\": nie może być użyte, sprawdź, czy zapisano go poprawnie",
|
||||||
|
"dns_test_warning_toast": "Upstream \"{{key}}\" nie odpowiada na zapytania testowe i może nie działać prawidłowo",
|
||||||
"unblock": "Odblokuj",
|
"unblock": "Odblokuj",
|
||||||
"block": "Zablokuj",
|
"block": "Zablokuj",
|
||||||
"disallow_this_client": "Odrzuć tego klienta",
|
"disallow_this_client": "Odrzuć tego klienta",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "Dziennik zapytań został pomyślnie wyczyszczony",
|
"query_log_cleared": "Dziennik zapytań został pomyślnie wyczyszczony",
|
||||||
"query_log_updated": "Dziennik zapytań został zaktualizowany",
|
"query_log_updated": "Dziennik zapytań został zaktualizowany",
|
||||||
"query_log_clear": "Wyczyść dzienniki zapytań",
|
"query_log_clear": "Wyczyść dzienniki zapytań",
|
||||||
"query_log_retention": "Przechowywanie dzienników zapytań",
|
"query_log_retention": "Rotacja dzienników zapytań",
|
||||||
"query_log_enable": "Włącz dziennik",
|
"query_log_enable": "Włącz dziennik",
|
||||||
"query_log_configuration": "Konfiguracja dzienników",
|
"query_log_configuration": "Konfiguracja dzienników",
|
||||||
"query_log_disabled": "Dziennik zapytań jest wyłączony i można go skonfigurować w <0>ustawieniach</0>",
|
"query_log_disabled": "Dziennik zapytań jest wyłączony i można go skonfigurować w <0>ustawieniach</0>",
|
||||||
"query_log_strict_search": "Używaj podwójnych cudzysłowów do ścisłego wyszukiwania",
|
"query_log_strict_search": "Używaj podwójnych cudzysłowów do ścisłego wyszukiwania",
|
||||||
"query_log_retention_confirm": "Czy na pewno chcesz zmienić sposób przechowywania dziennika zapytań? Jeśli zmniejszysz wartość interwału, niektóre dane zostaną utracone",
|
"query_log_retention_confirm": "Czy na pewno chcesz zmienić rotację dziennika zapytań? Jeśli zmniejszysz wartość interwału, niektóre dane zostaną utracone",
|
||||||
"anonymize_client_ip": "Anonimizuj adres IP klienta",
|
"anonymize_client_ip": "Anonimizuj adres IP klienta",
|
||||||
"anonymize_client_ip_desc": "Nie zapisuj pełnego adresu IP w dziennikach i statystykach",
|
"anonymize_client_ip_desc": "Nie zapisuj pełnego adresu IP w dziennikach i statystykach",
|
||||||
"dns_config": "Konfiguracja serwera DNS",
|
"dns_config": "Konfiguracja serwera DNS",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Limit ilościowy",
|
"rate_limit": "Limit ilościowy",
|
||||||
"edns_enable": "Włącz podsieć klienta EDNS",
|
"edns_enable": "Włącz podsieć klienta EDNS",
|
||||||
"edns_cs_desc": "Dodaj opcję podsieci klienta EDNS (ECS) do żądań nadrzędnych i rejestruj wartości wysyłane przez klientów w dzienniku zapytań.",
|
"edns_cs_desc": "Dodaj opcję podsieci klienta EDNS (ECS) do żądań nadrzędnych i rejestruj wartości wysyłane przez klientów w dzienniku zapytań.",
|
||||||
|
"edns_use_custom_ip": "Użyj niestandardowego adresu IP dla EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Zezwól na użycie niestandardowego adresu IP dla EDNS",
|
||||||
"rate_limit_desc": "Liczba żądań na sekundę dozwolona na klienta. Ustawienie wartości 0 oznacza brak ograniczeń.",
|
"rate_limit_desc": "Liczba żądań na sekundę dozwolona na klienta. Ustawienie wartości 0 oznacza brak ograniczeń.",
|
||||||
"blocking_ipv4_desc": "Adres IP, który ma zostać zwrócony w przypadku zablokowanego żądania A",
|
"blocking_ipv4_desc": "Adres IP, który ma zostać zwrócony w przypadku zablokowanego żądania A",
|
||||||
"blocking_ipv6_desc": "Adres IP, który ma zostać zwrócony w przypadku zablokowanego żądania AAAA",
|
"blocking_ipv6_desc": "Adres IP, który ma zostać zwrócony w przypadku zablokowanego żądania AAAA",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Odpowiedz kodem NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Odpowiedz kodem NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "Null IP: Odpowiedz z zerowym adresem IP (0.0.0.0 dla A; :: dla AAAA)",
|
"blocking_mode_null_ip": "Null IP: Odpowiedz z zerowym adresem IP (0.0.0.0 dla A; :: dla AAAA)",
|
||||||
"blocking_mode_custom_ip": "Niestandardowy adres IP: Odpowiedz ręcznie ustawionym adresem IP",
|
"blocking_mode_custom_ip": "Niestandardowy adres IP: Odpowiedz ręcznie ustawionym adresem IP",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Jasny",
|
||||||
|
"theme_dark": "Ciemny",
|
||||||
"upstream_dns_client_desc": "Jeśli to pole pozostanie puste, AdGuard Home użyje serwerów skonfigurowanych w <0>Ustawieniach DNS</0>.",
|
"upstream_dns_client_desc": "Jeśli to pole pozostanie puste, AdGuard Home użyje serwerów skonfigurowanych w <0>Ustawieniach DNS</0>.",
|
||||||
"tracker_source": "Źródło skryptu śledzącego",
|
"tracker_source": "Źródło skryptu śledzącego",
|
||||||
"source_label": "Źródło",
|
"source_label": "Źródło",
|
||||||
@@ -339,7 +346,7 @@
|
|||||||
"install_devices_windows_list_2": "Przejdź do kategorii Sieć i Internet, a następnie do Centrum sieci i udostępniania.",
|
"install_devices_windows_list_2": "Przejdź do kategorii Sieć i Internet, a następnie do Centrum sieci i udostępniania.",
|
||||||
"install_devices_windows_list_3": "W lewym panelu kliknij \"Zmień ustawienia adaptera\".",
|
"install_devices_windows_list_3": "W lewym panelu kliknij \"Zmień ustawienia adaptera\".",
|
||||||
"install_devices_windows_list_4": "Kliknij prawym przyciskiem myszy aktywne połączenie i wybierz Właściwości.",
|
"install_devices_windows_list_4": "Kliknij prawym przyciskiem myszy aktywne połączenie i wybierz Właściwości.",
|
||||||
"install_devices_windows_list_5": "Znajdź na liście \"Protokół internetowy w wersji 4 (TCP/IPv4)\" (lub w przypadku IPv6 \"Protokół internetowy w wersji 6 (TCP/IPv6)\"), zaznacz go i ponownie kliknij na Właściwości.",
|
"install_devices_windows_list_5": "Znajdź na liście \"Protokół internetowy w wersji 4 (TCP/IPv4)\" (lub w przypadku IPv6 \"Protokół internetowy w wersji 6 (TCP/IPv6)\"), zaznacz go i ponownie kliknij Właściwości.",
|
||||||
"install_devices_windows_list_6": "Wybierz opcję \"Użyj następujących adresów serwerów DNS\" i wprowadź adresy serwerów AdGuard Home.",
|
"install_devices_windows_list_6": "Wybierz opcję \"Użyj następujących adresów serwerów DNS\" i wprowadź adresy serwerów AdGuard Home.",
|
||||||
"install_devices_macos_list_1": "Kliknij ikonę Apple i przejdź do Preferencje systemowe.",
|
"install_devices_macos_list_1": "Kliknij ikonę Apple i przejdź do Preferencje systemowe.",
|
||||||
"install_devices_macos_list_2": "Kliknij Sieć.",
|
"install_devices_macos_list_2": "Kliknij Sieć.",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Konfiguracja szyfrowania została zapisana",
|
"encryption_config_saved": "Konfiguracja szyfrowania została zapisana",
|
||||||
"encryption_server": "Nazwa serwera",
|
"encryption_server": "Nazwa serwera",
|
||||||
"encryption_server_enter": "Wpisz swoją nazwę domeny",
|
"encryption_server_enter": "Wpisz swoją nazwę domeny",
|
||||||
"encryption_server_desc": "Aby korzystać z protokołu HTTPS, musisz wprowadzić nazwę serwera, która jest zgodna z certyfikatem SSL lub certyfikatem typu wildcard. Jeśli pole nie jest ustawione, będzie akceptować połączenia TLS dla dowolnej domeny.",
|
"encryption_server_desc": "Jeśli jest ustawiony, AdGuard Home wykrywa ClientID, odpowiada na zapytania DDR i wykonuje dodatkowe walidacje połączeń. Jeśli nie jest ustawiony, funkcje te są wyłączone. Musi odpowiadać jednej z nazw DNS w certyfikacie.",
|
||||||
"encryption_redirect": "Przekieruj automatycznie do HTTPS",
|
"encryption_redirect": "Przekieruj automatycznie do HTTPS",
|
||||||
"encryption_redirect_desc": "Jeśli zaznaczone, AdGuard Home automatycznie przekieruje Cię z adresów HTTP na HTTPS.",
|
"encryption_redirect_desc": "Jeśli zaznaczone, AdGuard Home automatycznie przekieruje Cię z adresów HTTP na HTTPS.",
|
||||||
"encryption_https": "Port HTTPS",
|
"encryption_https": "Port HTTPS",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Zgłaszający",
|
"encryption_issuer": "Zgłaszający",
|
||||||
"encryption_hostnames": "Nazwy hostów",
|
"encryption_hostnames": "Nazwy hostów",
|
||||||
"encryption_reset": "Czy na pewno chcesz zresetować ustawienia szyfrowania?",
|
"encryption_reset": "Czy na pewno chcesz zresetować ustawienia szyfrowania?",
|
||||||
|
"encryption_warning": "Uwaga",
|
||||||
"topline_expiring_certificate": "Twój certyfikat SSL wkrótce wygaśnie. Zaktualizuj <0>Ustawienia szyfrowania</0>.",
|
"topline_expiring_certificate": "Twój certyfikat SSL wkrótce wygaśnie. Zaktualizuj <0>Ustawienia szyfrowania</0>.",
|
||||||
"topline_expired_certificate": "Twój certyfikat SSL wygasł. Zaktualizuj <0>Ustawienia szyfrowania</0>.",
|
"topline_expired_certificate": "Twój certyfikat SSL wygasł. Zaktualizuj <0>Ustawienia szyfrowania</0>.",
|
||||||
"form_error_port_range": "Wpisz numer portu z zakresu 80-65535",
|
"form_error_port_range": "Wpisz numer portu z zakresu 80-65535",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "Dostępna jest nowa wersja programu AdGuard Home\n",
|
"updates_checked": "Dostępna jest nowa wersja programu AdGuard Home\n",
|
||||||
"updates_version_equal": "AdGuard Home jest aktualny",
|
"updates_version_equal": "AdGuard Home jest aktualny",
|
||||||
"check_updates_now": "Sprawdź aktualizacje teraz",
|
"check_updates_now": "Sprawdź aktualizacje teraz",
|
||||||
|
"version_request_error": "Sprawdzanie aktualizacji zakończone niepowodzeniem. Sprawdź swoje połączenie z internetem.",
|
||||||
"dns_privacy": "Prywatny DNS",
|
"dns_privacy": "Prywatny DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Skorzystaj z adresu <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Skorzystaj z adresu <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Skorzystaj z adresu <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Skorzystaj z adresu <1>{{address}}</1>.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Czy chcesz zmienić sposób przechowania statystyk? Jeżeli obniżysz wartość interwału, niektóre dane będą utracone",
|
"statistics_retention_confirm": "Czy chcesz zmienić sposób przechowania statystyk? Jeżeli obniżysz wartość interwału, niektóre dane będą utracone",
|
||||||
"statistics_cleared": "Statystyki zostały pomyślnie wyczyszczone",
|
"statistics_cleared": "Statystyki zostały pomyślnie wyczyszczone",
|
||||||
"statistics_enable": "Włącz statystyki",
|
"statistics_enable": "Włącz statystyki",
|
||||||
|
"ignore_domains": "Ignorowane domeny (każda w nowym wierszu)",
|
||||||
|
"ignore_domains_title": "Ignorowane domeny",
|
||||||
|
"ignore_domains_desc_stats": "Zapytania dla tych domen nie są zapisywane do statystyk",
|
||||||
|
"ignore_domains_desc_query": "Zapytania dla tych domen nie są zapisywane do dziennika",
|
||||||
"interval_hours": "{{count}} godzina",
|
"interval_hours": "{{count}} godzina",
|
||||||
"interval_hours_plural": "{{count}} godziny",
|
"interval_hours_plural": "{{count}} godziny",
|
||||||
"filters_configuration": "Konfiguracja filtrów",
|
"filters_configuration": "Konfiguracja filtrów",
|
||||||
@@ -529,7 +542,7 @@
|
|||||||
"password_placeholder": "Wpisz hasło",
|
"password_placeholder": "Wpisz hasło",
|
||||||
"sign_in": "Zaloguj się",
|
"sign_in": "Zaloguj się",
|
||||||
"sign_out": "Wyloguj się",
|
"sign_out": "Wyloguj się",
|
||||||
"forgot_password": "Zapomniałeś hasła?",
|
"forgot_password": "Zapomniano hasła?",
|
||||||
"forgot_password_desc": "Wykonaj <0>te kroki</0>, aby utworzyć nowe hasło do konta użytkownika.",
|
"forgot_password_desc": "Wykonaj <0>te kroki</0>, aby utworzyć nowe hasło do konta użytkownika.",
|
||||||
"location": "Lokalizacja",
|
"location": "Lokalizacja",
|
||||||
"orgname": "Nazwa firmy",
|
"orgname": "Nazwa firmy",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Lista zablokowanych",
|
"blocklist": "Lista zablokowanych",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Rozmiar pamięci podręcznej",
|
"cache_size": "Rozmiar pamięci podręcznej",
|
||||||
"cache_size_desc": "Rozmiar pamięci podręcznej DNS (w bajtach).",
|
"cache_size_desc": "Rozmiar pamięci podręcznej DNS (w bajtach). Aby wyłączyć buforowanie, pozostaw puste.",
|
||||||
"cache_ttl_min_override": "Nadpisz minimalną wartość TTL",
|
"cache_ttl_min_override": "Nadpisz minimalną wartość TTL",
|
||||||
"cache_ttl_max_override": "Nadpisz maksymalną wartość TTL",
|
"cache_ttl_max_override": "Nadpisz maksymalną wartość TTL",
|
||||||
"enter_cache_size": "Wpisz rozmiar pamięci podręcznej (w bajtach)",
|
"enter_cache_size": "Wpisz rozmiar pamięci podręcznej (w bajtach)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Kontrola rodzicielska",
|
"parental_control": "Kontrola rodzicielska",
|
||||||
"safe_browsing": "Bezpieczne przeglądanie",
|
"safe_browsing": "Bezpieczne przeglądanie",
|
||||||
"served_from_cache": "{{value}} <i>(podawane z pamięci podręcznej)</i>",
|
"served_from_cache": "{{value}} <i>(podawane z pamięci podręcznej)</i>",
|
||||||
"form_error_password_length": "Hasło musi mieć co najmniej {{value}} znaków"
|
"form_error_password_length": "Hasło musi mieć co najmniej {{value}} znaków",
|
||||||
|
"anonymizer_notification": "<0>Uwaga:</0> Anonimizacja IP jest włączona. Możesz ją wyłączyć w <1>Ustawieniach ogólnych</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Czy na pewno chcesz wyczyścić pamięć podręczną DNS?",
|
||||||
|
"cache_cleared": "Pamięć podręczna DNS została pomyślnie wyczyszczona",
|
||||||
|
"clear_cache": "Wyczyść pamięć podręczną",
|
||||||
|
"make_static": "Ustaw adres statyczny",
|
||||||
|
"theme_auto_desc": "Automatycznie (na podstawie schematu kolorów Twojego urządzenia)",
|
||||||
|
"theme_dark_desc": "Ciemny motyw",
|
||||||
|
"theme_light_desc": "Jasny motyw",
|
||||||
|
"disable_for_seconds": "Na {{count}} sekundę",
|
||||||
|
"disable_for_seconds_plural": "Na {{count}} sekund",
|
||||||
|
"disable_for_minutes": "Na {{count}} minutę",
|
||||||
|
"disable_for_minutes_plural": "Na {{count}} minut",
|
||||||
|
"disable_for_hours": "Na {{count}} godzinę",
|
||||||
|
"disable_for_hours_plural": "Na {{count}} godziny",
|
||||||
|
"disable_until_tomorrow": "Do jutra",
|
||||||
|
"disable_notify_for_seconds": "Wyłącz ochronę na {{count}} sekundę",
|
||||||
|
"disable_notify_for_seconds_plural": "Wyłącz ochronę na {{count}} sekund",
|
||||||
|
"disable_notify_for_minutes": "Wyłącz ochronę na {{count}} minutę",
|
||||||
|
"disable_notify_for_minutes_plural": "Wyłącz ochronę na {{count}} minut",
|
||||||
|
"disable_notify_for_hours": "Wyłącz ochronę na {{count}} godzinę",
|
||||||
|
"disable_notify_for_hours_plural": "Wyłącz ochronę na {{count}} godziny",
|
||||||
|
"disable_notify_until_tomorrow": "Wyłącz ochronę do jutra",
|
||||||
|
"enable_protection_timer": "Ochrona zostanie włączona za {{time}}",
|
||||||
|
"custom_retention_input": "Wprowadź retencję w godzinach",
|
||||||
|
"custom_rotation_input": "Wprowadź rotację w godzinach",
|
||||||
|
"protection_section_label": "Ochrona",
|
||||||
|
"log_and_stats_section_label": "Dziennik zapytań i statystyki",
|
||||||
|
"ignore_query_log": "Zignoruj tego klienta w dzienniku zapytań",
|
||||||
|
"ignore_statistics": "Ignoruj tego klienta w statystykach"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Configurações DHCP IPv6",
|
"dhcp_ipv6_settings": "Configurações DHCP IPv6",
|
||||||
"form_error_required": "Campo obrigatório",
|
"form_error_required": "Campo obrigatório",
|
||||||
"form_error_ip4_format": "Endereço de IPv4 inválido",
|
"form_error_ip4_format": "Endereço de IPv4 inválido",
|
||||||
"form_error_ip4_range_start_format": "Endereço IPv4 de início de intervalo inválido",
|
|
||||||
"form_error_ip4_range_end_format": "Endereço IPv4 de fim de intervalo inválido.",
|
|
||||||
"form_error_ip4_gateway_format": "Endereço IPv4 de gateway inválido",
|
"form_error_ip4_gateway_format": "Endereço IPv4 de gateway inválido",
|
||||||
"form_error_ip6_format": "Endereço de IPv6 inválido",
|
"form_error_ip6_format": "Endereço de IPv6 inválido",
|
||||||
"form_error_ip_format": "Endereço de IP inválido",
|
"form_error_ip_format": "Endereço de IP inválido",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Deve estar fora do intervalo \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Deve estar fora do intervalo \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Deve ser inferior ao início do intervalo",
|
"lower_range_start_error": "Deve ser inferior ao início do intervalo",
|
||||||
"greater_range_start_error": "Deve ser maior que o início do intervalo",
|
"greater_range_start_error": "Deve ser maior que o início do intervalo",
|
||||||
"greater_range_end_error": "Deve ser maior que o fim do intervalo",
|
|
||||||
"subnet_error": "Endereços devem estar em uma sub-rede",
|
"subnet_error": "Endereços devem estar em uma sub-rede",
|
||||||
"gateway_or_subnet_invalid": "Máscara de sub-rede inválida",
|
"gateway_or_subnet_invalid": "Máscara de sub-rede inválida",
|
||||||
"dhcp_form_gateway_input": "IP do gateway",
|
"dhcp_form_gateway_input": "IP do gateway",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Controle parental ativado",
|
"enabled_parental_toast": "Controle parental ativado",
|
||||||
"disabled_safe_search_toast": "Pesquisa segura desativada",
|
"disabled_safe_search_toast": "Pesquisa segura desativada",
|
||||||
"enabled_save_search_toast": "Pesquisa segura ativada",
|
"enabled_save_search_toast": "Pesquisa segura ativada",
|
||||||
|
"updated_save_search_toast": "Configurações de Pesquisa Segura atualizadas",
|
||||||
"enabled_table_header": "Ativado",
|
"enabled_table_header": "Ativado",
|
||||||
"name_table_header": "Nome",
|
"name_table_header": "Nome",
|
||||||
"list_url_table_header": "URL da lista",
|
"list_url_table_header": "URL da lista",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Também um comentário.",
|
"example_comment_hash": "# Também um comentário.",
|
||||||
"example_regex_meaning": "bloqueia o acesso aos domínios que correspondem à expressão regular especificada.",
|
"example_regex_meaning": "bloqueia o acesso aos domínios que correspondem à expressão regular especificada.",
|
||||||
"example_upstream_regular": "dNS regular (através do UDP);",
|
"example_upstream_regular": "dNS regular (através do UDP);",
|
||||||
|
"example_upstream_regular_port": "DNS normal (através do UDP, com porta);",
|
||||||
"example_upstream_udp": "DNS normal (através do UDP, nome do servidor);",
|
"example_upstream_udp": "DNS normal (através do UDP, nome do servidor);",
|
||||||
"example_upstream_dot": "<0>DNS-sobre-TLS</0> criptografado;",
|
"example_upstream_dot": "<0>DNS-sobre-TLS</0> criptografado;",
|
||||||
"example_upstream_doh": "<0>DNS-sobre-HTTPS</0> criptografado;",
|
"example_upstream_doh": "<0>DNS-sobre-HTTPS</0> criptografado;",
|
||||||
|
"example_upstream_doh3": "DNS-over-HTTPS criptografado com <0>HTTP/3 forçado</0> e sem fallback para HTTP/2 ou inferior;",
|
||||||
"example_upstream_doq": "<0>DNS-sobre-QUIC</0> criptografado;",
|
"example_upstream_doq": "<0>DNS-sobre-QUIC</0> criptografado;",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> para o <1>DNSCrypt</1> ou usar os resolvedores <2>DNS-sobre-HTTPS</2>;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> para o <1>DNSCrypt</1> ou usar os resolvedores <2>DNS-sobre-HTTPS</2>;",
|
||||||
"example_upstream_tcp": "DNS regular (através do TCP);",
|
"example_upstream_tcp": "DNS regular (através do TCP);",
|
||||||
|
"example_upstream_tcp_port": "dNS normal (através do TCP, com porta);",
|
||||||
"example_upstream_tcp_hostname": "DNS normal (através do TCP, nome do servidor);",
|
"example_upstream_tcp_hostname": "DNS normal (através do TCP, nome do servidor);",
|
||||||
"all_lists_up_to_date_toast": "Todas as listas já estão atualizadas",
|
"all_lists_up_to_date_toast": "Todas as listas já estão atualizadas",
|
||||||
"updated_upstream_dns_toast": "Servidores DNS primário salvos com sucesso",
|
"updated_upstream_dns_toast": "Servidores DNS primário salvos com sucesso",
|
||||||
"dns_test_ok_toast": "Os servidores DNS especificados estão funcionando corretamente",
|
"dns_test_ok_toast": "Os servidores DNS especificados estão funcionando corretamente",
|
||||||
"dns_test_not_ok_toast": "O servidor \"{{key}}\": não pôde ser utilizado. Por favor, verifique se você escreveu corretamente",
|
"dns_test_not_ok_toast": "O servidor \"{{key}}\": não pôde ser utilizado. Por favor, verifique se você escreveu corretamente",
|
||||||
|
"dns_test_warning_toast": "Servidor DNS primário \"{{key}}\" não responde aos Solicitações de teste e pode não funcionar corretamente",
|
||||||
"unblock": "Desbloquear",
|
"unblock": "Desbloquear",
|
||||||
"block": "Bloquear",
|
"block": "Bloquear",
|
||||||
"disallow_this_client": "Não permitir este cliente",
|
"disallow_this_client": "Não permitir este cliente",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "O registro de consulta foi limpo com sucesso",
|
"query_log_cleared": "O registro de consulta foi limpo com sucesso",
|
||||||
"query_log_updated": "O registro da consulta foi atualizado com sucesso",
|
"query_log_updated": "O registro da consulta foi atualizado com sucesso",
|
||||||
"query_log_clear": "Limpar registros de consulta",
|
"query_log_clear": "Limpar registros de consulta",
|
||||||
"query_log_retention": "Arquivamento de registros de consultas",
|
"query_log_retention": "Rotação de registros de consulta",
|
||||||
"query_log_enable": "Ativar registro",
|
"query_log_enable": "Ativar registro",
|
||||||
"query_log_configuration": "Configuração de registros",
|
"query_log_configuration": "Configuração de registros",
|
||||||
"query_log_disabled": "O registro de consulta está desativado e pode ser configurado em <0>configurações</0>",
|
"query_log_disabled": "O registro de consulta está desativado e pode ser configurado em <0>configurações</0>",
|
||||||
"query_log_strict_search": "Use aspas duplas para uma pesquisa mais criteriosa",
|
"query_log_strict_search": "Use aspas duplas para uma pesquisa mais criteriosa",
|
||||||
"query_log_retention_confirm": "Você tem certeza de que deseja alterar o arquivamento do registro de consulta? Se diminuir o valor de intervalo, alguns dados serão perdidos",
|
"query_log_retention_confirm": "Tem a certeza de que quer alterar a rotação do registo de consulta? Se diminuir o valor do intervalo, alguns dados serão perdidos",
|
||||||
"anonymize_client_ip": "Tornar anônimo o IP do cliente",
|
"anonymize_client_ip": "Tornar anônimo o IP do cliente",
|
||||||
"anonymize_client_ip_desc": "Não salva o endereço de IP completo do cliente em registros ou estatísticas",
|
"anonymize_client_ip_desc": "Não salva o endereço de IP completo do cliente em registros ou estatísticas",
|
||||||
"dns_config": "Configuração do servidor DNS",
|
"dns_config": "Configuração do servidor DNS",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Taxa limite",
|
"rate_limit": "Taxa limite",
|
||||||
"edns_enable": "Ativar a sub-rede do cliente EDNS",
|
"edns_enable": "Ativar a sub-rede do cliente EDNS",
|
||||||
"edns_cs_desc": "Adicione a opção de sub-rede de cliente EDNS (ECS) às solicitações de servidor DNS primário e registre os valores enviados pelos clientes no registro de consulta.",
|
"edns_cs_desc": "Adicione a opção de sub-rede de cliente EDNS (ECS) às solicitações de servidor DNS primário e registre os valores enviados pelos clientes no registro de consulta.",
|
||||||
|
"edns_use_custom_ip": "Usar IP personalizado para EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Permitir o uso de IP personalizado para EDNS",
|
||||||
"rate_limit_desc": "O número de solicitações por segundo permitidas por cliente. Definir como 0 significa que não há limite.",
|
"rate_limit_desc": "O número de solicitações por segundo permitidas por cliente. Definir como 0 significa que não há limite.",
|
||||||
"blocking_ipv4_desc": "Endereço de IP a ser retornado para uma solicitação bloqueada",
|
"blocking_ipv4_desc": "Endereço de IP a ser retornado para uma solicitação bloqueada",
|
||||||
"blocking_ipv6_desc": "Endereço de IP a ser retornado para uma solicitação AAAA bloqueada",
|
"blocking_ipv6_desc": "Endereço de IP a ser retornado para uma solicitação AAAA bloqueada",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Responder com o código NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Responder com o código NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "IP nulo: Responder com endereço IP zero (0.0.0.0 para A; :: para AAAA)",
|
"blocking_mode_null_ip": "IP nulo: Responder com endereço IP zero (0.0.0.0 para A; :: para AAAA)",
|
||||||
"blocking_mode_custom_ip": "IP personalizado: Responder com um endereço IP definido manualmente",
|
"blocking_mode_custom_ip": "IP personalizado: Responder com um endereço IP definido manualmente",
|
||||||
|
"theme_auto": "Automático",
|
||||||
|
"theme_light": "Claro",
|
||||||
|
"theme_dark": "Escuro",
|
||||||
"upstream_dns_client_desc": "Se você mantiver este campo vazio, o AdGuard Home usará os servidores configurados nas configurações <0>DNS</0>.",
|
"upstream_dns_client_desc": "Se você mantiver este campo vazio, o AdGuard Home usará os servidores configurados nas configurações <0>DNS</0>.",
|
||||||
"tracker_source": "Fonte do rastreador",
|
"tracker_source": "Fonte do rastreador",
|
||||||
"source_label": "Fonte",
|
"source_label": "Fonte",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Configuração de criptografia salva",
|
"encryption_config_saved": "Configuração de criptografia salva",
|
||||||
"encryption_server": "Nome do servidor",
|
"encryption_server": "Nome do servidor",
|
||||||
"encryption_server_enter": "Digite seu nome de domínio",
|
"encryption_server_enter": "Digite seu nome de domínio",
|
||||||
"encryption_server_desc": "Para usar HTTPS, você precisa inserir o nome do servidor que corresponda ao seu certificado SSL ou certificado curinga. Se o campo não estiver definido, ele aceitará conexões TLS para qualquer domínio.",
|
"encryption_server_desc": "Se definido, AdGuard Home detecta ClientIDs, responde a consultas DDR, e executa validações de ligações adicionais. Se não estiver definido, estas características são desactivadas. Devem corresponder a um dos Nomes DNS no certificado.",
|
||||||
"encryption_redirect": "Redirecionar automaticamente para HTTPS",
|
"encryption_redirect": "Redirecionar automaticamente para HTTPS",
|
||||||
"encryption_redirect_desc": "Se marcado, o AdGuard Home irá redirecionar automaticamente os endereços HTTP para HTTPS.",
|
"encryption_redirect_desc": "Se marcado, o AdGuard Home irá redirecionar automaticamente os endereços HTTP para HTTPS.",
|
||||||
"encryption_https": "Porta HTTPS",
|
"encryption_https": "Porta HTTPS",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Emissor",
|
"encryption_issuer": "Emissor",
|
||||||
"encryption_hostnames": "Nomes dos servidores",
|
"encryption_hostnames": "Nomes dos servidores",
|
||||||
"encryption_reset": "Você tem certeza de que deseja redefinir a configuração de criptografia?",
|
"encryption_reset": "Você tem certeza de que deseja redefinir a configuração de criptografia?",
|
||||||
|
"encryption_warning": "Aviso",
|
||||||
"topline_expiring_certificate": "Seu certificado SSL está prestes a expirar. Atualize suas <0>configurações de criptografia</]0>",
|
"topline_expiring_certificate": "Seu certificado SSL está prestes a expirar. Atualize suas <0>configurações de criptografia</]0>",
|
||||||
"topline_expired_certificate": "Seu certificado SSL está expirado. Atualize suas <0>configurações de criptografia</0>",
|
"topline_expired_certificate": "Seu certificado SSL está expirado. Atualize suas <0>configurações de criptografia</0>",
|
||||||
"form_error_port_range": "Digite um número de porta entre 80 e 65535",
|
"form_error_port_range": "Digite um número de porta entre 80 e 65535",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "Uma nova versão do AdGuard Home está disponível\n",
|
"updates_checked": "Uma nova versão do AdGuard Home está disponível\n",
|
||||||
"updates_version_equal": "O AdGuard Home está atualizado.",
|
"updates_version_equal": "O AdGuard Home está atualizado.",
|
||||||
"check_updates_now": "Verificar atualizações",
|
"check_updates_now": "Verificar atualizações",
|
||||||
|
"version_request_error": "A verificação de atualização falhou. Por favor, verifique sua conexão com a internet.",
|
||||||
"dns_privacy": "Privacidade de DNS",
|
"dns_privacy": "Privacidade de DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS-sobre-TLS:</0> Use <1>{{address}}</1> string.",
|
"setup_dns_privacy_1": "<0>DNS-sobre-TLS:</0> Use <1>{{address}}</1> string.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-sobre-HTTPS:</0> Use <1>{{address}}</1> string.",
|
"setup_dns_privacy_2": "<0>DNS-sobre-HTTPS:</0> Use <1>{{address}}</1> string.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Você tem certeza que quer alterar o arquivamento das estatísticas? Se diminuir o valor do intervalo, alguns dados serão perdidos",
|
"statistics_retention_confirm": "Você tem certeza que quer alterar o arquivamento das estatísticas? Se diminuir o valor do intervalo, alguns dados serão perdidos",
|
||||||
"statistics_cleared": "As estatísticas foram limpas com sucesso",
|
"statistics_cleared": "As estatísticas foram limpas com sucesso",
|
||||||
"statistics_enable": "Ativar estatísticas",
|
"statistics_enable": "Ativar estatísticas",
|
||||||
|
"ignore_domains": "Domínios ignorados (separados por nova linha)",
|
||||||
|
"ignore_domains_title": "Domínios ignorados",
|
||||||
|
"ignore_domains_desc_stats": "As consultas para esses domínios não são gravadas nas estatísticas",
|
||||||
|
"ignore_domains_desc_query": "As consultas para esses domínios não são gravadas no registro de consulta",
|
||||||
"interval_hours": "{{count}} hora",
|
"interval_hours": "{{count}} hora",
|
||||||
"interval_hours_plural": "{{count}} horas",
|
"interval_hours_plural": "{{count}} horas",
|
||||||
"filters_configuration": "Configuração de filtros",
|
"filters_configuration": "Configuração de filtros",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Lista de bloqueio",
|
"blocklist": "Lista de bloqueio",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Tamanho do cache",
|
"cache_size": "Tamanho do cache",
|
||||||
"cache_size_desc": "Tamanho do cache do DNS (em bytes).",
|
"cache_size_desc": "Tamanho do cache do DNS (em bytes). Para desativar o cache, deixe em branco.",
|
||||||
"cache_ttl_min_override": "Sobrepor o TTL mínimo",
|
"cache_ttl_min_override": "Sobrepor o TTL mínimo",
|
||||||
"cache_ttl_max_override": "Sobrepor o TTL máximo",
|
"cache_ttl_max_override": "Sobrepor o TTL máximo",
|
||||||
"enter_cache_size": "Digite o tamanho do cache (bytes)",
|
"enter_cache_size": "Digite o tamanho do cache (bytes)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Controle parental",
|
"parental_control": "Controle parental",
|
||||||
"safe_browsing": "Navegação segura",
|
"safe_browsing": "Navegação segura",
|
||||||
"served_from_cache": "{{value}} <i>(servido do cache)</i>",
|
"served_from_cache": "{{value}} <i>(servido do cache)</i>",
|
||||||
"form_error_password_length": "A senha deve ter pelo menos {{value}} caracteres"
|
"form_error_password_length": "A senha deve ter pelo menos {{value}} caracteres",
|
||||||
|
"anonymizer_notification": "<0>Observação:</0> A anonimização de IP está ativada. Você pode desativá-lo em <1>Configurações gerais</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Tem certeza de que deseja limpar o cache DNS?",
|
||||||
|
"cache_cleared": "Cache DNS limpo com sucesso",
|
||||||
|
"clear_cache": "Limpar cache",
|
||||||
|
"make_static": "Tornar estático",
|
||||||
|
"theme_auto_desc": "Automático (com base no esquema de cores do seu dispositivo)",
|
||||||
|
"theme_dark_desc": "Tema escuro",
|
||||||
|
"theme_light_desc": "Tema claro",
|
||||||
|
"disable_for_seconds": "Por {{count}} segundo",
|
||||||
|
"disable_for_seconds_plural": "Por {{count}} segundos",
|
||||||
|
"disable_for_minutes": "Por {{count}} minuto",
|
||||||
|
"disable_for_minutes_plural": "Por {{count}} minutos",
|
||||||
|
"disable_for_hours": "Por {{count}} hora",
|
||||||
|
"disable_for_hours_plural": "Por {{count}} horas",
|
||||||
|
"disable_until_tomorrow": "Até amanhã",
|
||||||
|
"disable_notify_for_seconds": "Desativar proteção por {{count}} segundo",
|
||||||
|
"disable_notify_for_seconds_plural": "Desativar proteção por {{count}} segundos",
|
||||||
|
"disable_notify_for_minutes": "Desativar proteção por {{count}} minuto",
|
||||||
|
"disable_notify_for_minutes_plural": "Desativar proteção por {{count}} minutos",
|
||||||
|
"disable_notify_for_hours": "Desativar proteção por {{count}} hora",
|
||||||
|
"disable_notify_for_hours_plural": "Desativar proteção por {{count}} horas",
|
||||||
|
"disable_notify_until_tomorrow": "Desativar a proteção até amanhã",
|
||||||
|
"enable_protection_timer": "A proteção será ativada em {{time}}",
|
||||||
|
"custom_retention_input": "Insira a retenção em horas",
|
||||||
|
"custom_rotation_input": "Insira a rotação em horas",
|
||||||
|
"protection_section_label": "Proteção",
|
||||||
|
"log_and_stats_section_label": "Registro de consultas e estatísticas",
|
||||||
|
"ignore_query_log": "Ignorar este cliente no registo de consultas",
|
||||||
|
"ignore_statistics": "Ignorar este cliente nas estatísticas"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Definições DHCP IPv6",
|
"dhcp_ipv6_settings": "Definições DHCP IPv6",
|
||||||
"form_error_required": "Campo obrigatório",
|
"form_error_required": "Campo obrigatório",
|
||||||
"form_error_ip4_format": "Endereço de IPv4 inválido",
|
"form_error_ip4_format": "Endereço de IPv4 inválido",
|
||||||
"form_error_ip4_range_start_format": "Endereço IPv4 de início de intervalo inválido",
|
|
||||||
"form_error_ip4_range_end_format": "Endereço IPv4 de fim de intervalo inválido",
|
|
||||||
"form_error_ip4_gateway_format": "Endereço IPv4 de gateway inválido",
|
"form_error_ip4_gateway_format": "Endereço IPv4 de gateway inválido",
|
||||||
"form_error_ip6_format": "Endereço de IPv6 inválido",
|
"form_error_ip6_format": "Endereço de IPv6 inválido",
|
||||||
"form_error_ip_format": "Endereço de email inválido",
|
"form_error_ip_format": "Endereço de email inválido",
|
||||||
@@ -51,8 +49,7 @@
|
|||||||
"out_of_range_error": "Deve estar fora do intervalo \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Deve estar fora do intervalo \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Deve ser inferior ao início do intervalo",
|
"lower_range_start_error": "Deve ser inferior ao início do intervalo",
|
||||||
"greater_range_start_error": "Deve ser maior que o início do intervalo",
|
"greater_range_start_error": "Deve ser maior que o início do intervalo",
|
||||||
"greater_range_end_error": "Deve ser maior que o fim do intervalo",
|
"subnet_error": "Os endereços devem estar numa sub-rede",
|
||||||
"subnet_error": "Os endereços devem estar em uma sub-rede",
|
|
||||||
"gateway_or_subnet_invalid": "Máscara de sub-rede inválida",
|
"gateway_or_subnet_invalid": "Máscara de sub-rede inválida",
|
||||||
"dhcp_form_gateway_input": "IP do gateway",
|
"dhcp_form_gateway_input": "IP do gateway",
|
||||||
"dhcp_form_subnet_input": "Máscara de sub-rede",
|
"dhcp_form_subnet_input": "Máscara de sub-rede",
|
||||||
@@ -111,7 +108,7 @@
|
|||||||
"enabled_protection": "Ativar proteção",
|
"enabled_protection": "Ativar proteção",
|
||||||
"disable_protection": "Desativar proteção",
|
"disable_protection": "Desativar proteção",
|
||||||
"disabled_protection": "Desativar proteção",
|
"disabled_protection": "Desativar proteção",
|
||||||
"refresh_statics": "Actualizar estatísticas",
|
"refresh_statics": "Atualizar estatísticas",
|
||||||
"dns_query": "Consultas de DNS",
|
"dns_query": "Consultas de DNS",
|
||||||
"blocked_by": "<0>Bloqueado por filtros</0>",
|
"blocked_by": "<0>Bloqueado por filtros</0>",
|
||||||
"stats_malware_phishing": "Malware/phishing bloqueados",
|
"stats_malware_phishing": "Malware/phishing bloqueados",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Controlo parental ativado",
|
"enabled_parental_toast": "Controlo parental ativado",
|
||||||
"disabled_safe_search_toast": "Pesquisa segura desativada",
|
"disabled_safe_search_toast": "Pesquisa segura desativada",
|
||||||
"enabled_save_search_toast": "Pesquisa segura ativada",
|
"enabled_save_search_toast": "Pesquisa segura ativada",
|
||||||
|
"updated_save_search_toast": "Configurações de pesquisa segura actualizadas",
|
||||||
"enabled_table_header": "Ativado",
|
"enabled_table_header": "Ativado",
|
||||||
"name_table_header": "Nome",
|
"name_table_header": "Nome",
|
||||||
"list_url_table_header": "URL da lista",
|
"list_url_table_header": "URL da lista",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Também um comentário.",
|
"example_comment_hash": "# Também um comentário.",
|
||||||
"example_regex_meaning": "bloquear o acesso aos domínios que correspondam à expressão regular especificada.",
|
"example_regex_meaning": "bloquear o acesso aos domínios que correspondam à expressão regular especificada.",
|
||||||
"example_upstream_regular": "DNS regular (através do UDP)",
|
"example_upstream_regular": "DNS regular (através do UDP)",
|
||||||
|
"example_upstream_regular_port": "DNS normal (através do UDP, com porta);",
|
||||||
"example_upstream_udp": "DNS normal (através do UDP, nome do servidor);",
|
"example_upstream_udp": "DNS normal (através do UDP, nome do servidor);",
|
||||||
"example_upstream_dot": "<0>DNS-sobre-TLS</0> criptografado;",
|
"example_upstream_dot": "<0>DNS-sobre-TLS</0> criptografado;",
|
||||||
"example_upstream_doh": "<0>DNS-sobre-HTTPS</0> criptografado;",
|
"example_upstream_doh": "<0>DNS-sobre-HTTPS</0> criptografado;",
|
||||||
|
"example_upstream_doh3": "DNS-over-HTTPS encriptado com <0>HTTP/3</0> forçado e sem retorno para HTTP/2 ou inferior;",
|
||||||
"example_upstream_doq": "<0>DNS-sobre-QUIC</0> criptografado;",
|
"example_upstream_doq": "<0>DNS-sobre-QUIC</0> criptografado;",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> para o <1>DNSCrypt</1> ou usar os resolvedores <2>DNS-sobre-HTTPS</2>;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> para o <1>DNSCrypt</1> ou usar os resolvedores <2>DNS-sobre-HTTPS</2>;",
|
||||||
"example_upstream_tcp": "DNS regular (através do TCP);",
|
"example_upstream_tcp": "DNS regular (através do TCP);",
|
||||||
|
"example_upstream_tcp_port": "dNS normal (através do TCP, com porta);",
|
||||||
"example_upstream_tcp_hostname": "DNS normal (através do TCP, nome do servidor);",
|
"example_upstream_tcp_hostname": "DNS normal (através do TCP, nome do servidor);",
|
||||||
"all_lists_up_to_date_toast": "Todas as listas já estão atualizadas",
|
"all_lists_up_to_date_toast": "Todas as listas já estão atualizadas",
|
||||||
"updated_upstream_dns_toast": "Servidores DNS primário guardados com sucesso",
|
"updated_upstream_dns_toast": "Servidores DNS primário guardados com sucesso",
|
||||||
"dns_test_ok_toast": "Os servidores DNS especificados estão a funcionar corretamente",
|
"dns_test_ok_toast": "Os servidores DNS especificados estão a funcionar corretamente",
|
||||||
"dns_test_not_ok_toast": "O servidor \"{{key}}\": não pôde ser utilizado. Por favor, verifique se o escreveu corretamente",
|
"dns_test_not_ok_toast": "O servidor \"{{key}}\": não pôde ser utilizado. Por favor, verifique se o escreveu corretamente",
|
||||||
|
"dns_test_warning_toast": "Servidor DNS primário \"{{key}}\" não responde aos solicitações de teste e pode não funcionar corretamente",
|
||||||
"unblock": "Desbloquear",
|
"unblock": "Desbloquear",
|
||||||
"block": "Bloquear",
|
"block": "Bloquear",
|
||||||
"disallow_this_client": "Não permitir este cliente",
|
"disallow_this_client": "Não permitir este cliente",
|
||||||
@@ -253,16 +255,16 @@
|
|||||||
"query_log_filtered": "Filtrado por {{filter}}",
|
"query_log_filtered": "Filtrado por {{filter}}",
|
||||||
"query_log_confirm_clear": "Tem a certeza de que deseja limpar todo o registo de consulta?",
|
"query_log_confirm_clear": "Tem a certeza de que deseja limpar todo o registo de consulta?",
|
||||||
"query_log_cleared": "O registo de consulta foi limpo com sucesso",
|
"query_log_cleared": "O registo de consulta foi limpo com sucesso",
|
||||||
"query_log_updated": "O registro da consulta foi atualizado com sucesso",
|
"query_log_updated": "O registo da consulta foi atualizado com sucesso",
|
||||||
"query_log_clear": "Limpar registos de consulta",
|
"query_log_clear": "Limpar registos de consulta",
|
||||||
"query_log_retention": "Retenção de registos de consulta",
|
"query_log_retention": "Rotação de registros de consulta",
|
||||||
"query_log_enable": "Ativar registo",
|
"query_log_enable": "Ativar registo",
|
||||||
"query_log_configuration": "Definições do registo",
|
"query_log_configuration": "Definições do registo",
|
||||||
"query_log_disabled": "O registo de consulta está desativado e pode ser configurado em <0>definições</0>",
|
"query_log_disabled": "O registo de consulta está desativado e pode ser configurado em <0>definições</0>",
|
||||||
"query_log_strict_search": "Usar aspas duplas para uma pesquisa rigorosa",
|
"query_log_strict_search": "Usar aspas duplas para uma pesquisa rigorosa",
|
||||||
"query_log_retention_confirm": "Tem a certeza de que deseja alterar a retenção do registo de consulta? Se diminuir o valor do intervalo, alguns dados serão perdidos",
|
"query_log_retention_confirm": "Tem a certeza de que quer alterar a rotação do registo de consulta? Se diminuir o valor do intervalo, alguns dados serão perdidos",
|
||||||
"anonymize_client_ip": "Tornar anónimo o IP do cliente",
|
"anonymize_client_ip": "Tornar anónimo o IP do cliente",
|
||||||
"anonymize_client_ip_desc": "Não gurda o endereço de IP completo do cliente em registros ou estatísticas",
|
"anonymize_client_ip_desc": "Não gurda o endereço de IP completo do cliente em registo ou estatísticas",
|
||||||
"dns_config": "Definição do servidor DNS",
|
"dns_config": "Definição do servidor DNS",
|
||||||
"dns_cache_config": "Definição de cache DNS",
|
"dns_cache_config": "Definição de cache DNS",
|
||||||
"dns_cache_config_desc": "Aqui você pode configurar o cache do DNS",
|
"dns_cache_config_desc": "Aqui você pode configurar o cache do DNS",
|
||||||
@@ -288,7 +290,9 @@
|
|||||||
"form_enter_rate_limit": "Insira o limite de taxa",
|
"form_enter_rate_limit": "Insira o limite de taxa",
|
||||||
"rate_limit": "Limite de taxa",
|
"rate_limit": "Limite de taxa",
|
||||||
"edns_enable": "Ativar a sub-rede do cliente EDNS",
|
"edns_enable": "Ativar a sub-rede do cliente EDNS",
|
||||||
"edns_cs_desc": "Adicione a opção de sub-rede de cliente EDNS (ECS) às solicitações de servidor DNS primário e registre os valores enviados pelos clientes no registro de consulta.",
|
"edns_cs_desc": "Adicione a opção de sub-rede de cliente EDNS (ECS) às solicitações de servidor DNS primário e registre os valores enviados pelos clientes no registo de consulta.",
|
||||||
|
"edns_use_custom_ip": "Usar IP personalizado para EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Permitir a utilização de IP personalizado para EDNS",
|
||||||
"rate_limit_desc": "O número de solicitações por segundo permitido por cliente. Configurando para 0 significa sem limite.",
|
"rate_limit_desc": "O número de solicitações por segundo permitido por cliente. Configurando para 0 significa sem limite.",
|
||||||
"blocking_ipv4_desc": "Endereço IP a ser devolvido para uma solicitação A bloqueada",
|
"blocking_ipv4_desc": "Endereço IP a ser devolvido para uma solicitação A bloqueada",
|
||||||
"blocking_ipv6_desc": "Endereço IP a ser devolvido para uma solicitação AAAA bloqueada",
|
"blocking_ipv6_desc": "Endereço IP a ser devolvido para uma solicitação AAAA bloqueada",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Responder com o código NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Responder com o código NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "IP nulo: Responder com endereço IP zero (0.0.0.0 para A; :: para AAAA)",
|
"blocking_mode_null_ip": "IP nulo: Responder com endereço IP zero (0.0.0.0 para A; :: para AAAA)",
|
||||||
"blocking_mode_custom_ip": "IP personalizado: Responder com um endereço IP definido manualmente",
|
"blocking_mode_custom_ip": "IP personalizado: Responder com um endereço IP definido manualmente",
|
||||||
|
"theme_auto": "Automático",
|
||||||
|
"theme_light": "Claro",
|
||||||
|
"theme_dark": "Escuro",
|
||||||
"upstream_dns_client_desc": "Se mantiver esse campo vazio, o AdGuard Home usará os servidores configurados nas <0>Definições de DNS</0>.",
|
"upstream_dns_client_desc": "Se mantiver esse campo vazio, o AdGuard Home usará os servidores configurados nas <0>Definições de DNS</0>.",
|
||||||
"tracker_source": "Fonte do rastreador",
|
"tracker_source": "Fonte do rastreador",
|
||||||
"source_label": "Fonte",
|
"source_label": "Fonte",
|
||||||
@@ -331,10 +338,10 @@
|
|||||||
"install_devices_router": "Router",
|
"install_devices_router": "Router",
|
||||||
"install_devices_router_desc": "Esta configuração cobre automaticamente todos os dispositivos conectados ao seu router doméstico, sem a necessidade de configurar cada um deles manualmente.",
|
"install_devices_router_desc": "Esta configuração cobre automaticamente todos os dispositivos conectados ao seu router doméstico, sem a necessidade de configurar cada um deles manualmente.",
|
||||||
"install_devices_address": "O servidor de DNS do AdGuard Home está a capturar os seguintes endereços",
|
"install_devices_address": "O servidor de DNS do AdGuard Home está a capturar os seguintes endereços",
|
||||||
"install_devices_router_list_1": "Abra as preferências do seu roteador. Normalmente, tu podes acessá-lo de teu navegador por meio de um URL, como http://192.168.0.1/ ou http://192.168.1.1/. Tu podes ser solicitado a inserir uma palavra-passe. Se tu não se lembrar, muitas vezes tu podes repor a palavra-passe pressionando um botão no próprio roteador, mas esteja ciente de que se esse procedimento for escolhido, tu provavelmente perderás toda a definição do roteador. Se o teu roteador requer uma aplicação para configurá-lo, instale a aplicação no seu telefone ou PC e use-o para acessar as definições do roteador.",
|
"install_devices_router_list_1": "Abra as preferências do seu router. Normalmente, tu podes acessá-lo de teu navegador por meio de um URL, como http://192.168.0.1/ ou http://192.168.1.1/. Tu podes ser solicitado a inserir uma palavra-passe. Se tu não se lembrar, muitas vezes tu podes repor a palavra-passe pressionando um botão no próprio roteador, mas esteja ciente de que se esse procedimento for escolhido, tu provavelmente perderás toda a definição do router. Se o teu router requer uma aplicação para configurá-lo, instale a aplicação no seu telefone ou PC e use-o para acessar as definições do router.",
|
||||||
"install_devices_router_list_2": "Encontre as configurações de DNS. Procure as letras DNS ao lado de um campo que permite dois ou três conjuntos de números, cada um dividido em quatro grupos de um a três números.",
|
"install_devices_router_list_2": "Encontre as configurações de DNS. Procure as letras DNS ao lado de um campo que permite dois ou três conjuntos de números, cada um dividido em quatro grupos de um a três números.",
|
||||||
"install_devices_router_list_3": "Insira aqui seu servidor do AdGuard Home.",
|
"install_devices_router_list_3": "Insira aqui seu servidor do AdGuard Home.",
|
||||||
"install_devices_router_list_4": "Em alguns tipos de roteador, um servidor DNS personalizado não pode ser configurado. Nesse caso, configurar o AdGuard Home como um <0>Servidor DHCP</0> pode ajudar. Caso contrário, tu deve verificar o manual do router sobre como personalizar os servidores DNS em seu modelo de router específico.",
|
"install_devices_router_list_4": "Em alguns tipos de router, um servidor DNS personalizado não pode ser configurado. Nesse caso, configurar o AdGuard Home como um <0>Servidor DHCP</0> pode ajudar. Caso contrário, tu deves verificar o manual do router sobre como personalizar os servidores DNS no seu modelo de router específico.",
|
||||||
"install_devices_windows_list_1": "Abra o Painel de Controlo através do Menu Iniciar ou pela Pesquisa do Windows.",
|
"install_devices_windows_list_1": "Abra o Painel de Controlo através do Menu Iniciar ou pela Pesquisa do Windows.",
|
||||||
"install_devices_windows_list_2": "Entre na categoria Rede e Internet e depois clique em Central de Rede e Partilha.",
|
"install_devices_windows_list_2": "Entre na categoria Rede e Internet e depois clique em Central de Rede e Partilha.",
|
||||||
"install_devices_windows_list_3": "No painel esquerdo, clique em \"Alterar configurações do adaptador\".",
|
"install_devices_windows_list_3": "No painel esquerdo, clique em \"Alterar configurações do adaptador\".",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Definição de criptografia guardada",
|
"encryption_config_saved": "Definição de criptografia guardada",
|
||||||
"encryption_server": "Nome do servidor",
|
"encryption_server": "Nome do servidor",
|
||||||
"encryption_server_enter": "Insira o seu nome de domínio",
|
"encryption_server_enter": "Insira o seu nome de domínio",
|
||||||
"encryption_server_desc": "Para usar HTTPS, você precisa inserir o nome do servidor que corresponda ao seu certificado SSL ou certificado curinga. Se o campo não estiver definido, ele aceitará conexões TLS para qualquer domínio.",
|
"encryption_server_desc": "Se definido, AdGuard Home detecta ClientIDs, responde a consultas DDR, e executa validações de ligações adicionais. Se não estiver definido, estas características são desactivadas. Devem corresponder a um dos Nomes DNS no certificado.",
|
||||||
"encryption_redirect": "Redirecionar automaticamente para HTTPS",
|
"encryption_redirect": "Redirecionar automaticamente para HTTPS",
|
||||||
"encryption_redirect_desc": "Se marcado, o AdGuard Home irá redirecionar automaticamente os endereços HTTP para HTTPS.",
|
"encryption_redirect_desc": "Se marcado, o AdGuard Home irá redirecionar automaticamente os endereços HTTP para HTTPS.",
|
||||||
"encryption_https": "Porta HTTPS",
|
"encryption_https": "Porta HTTPS",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Emissor",
|
"encryption_issuer": "Emissor",
|
||||||
"encryption_hostnames": "Nomes dos servidores",
|
"encryption_hostnames": "Nomes dos servidores",
|
||||||
"encryption_reset": "Tem a certeza de que deseja repor a definição de criptografia?",
|
"encryption_reset": "Tem a certeza de que deseja repor a definição de criptografia?",
|
||||||
|
"encryption_warning": "Aviso",
|
||||||
"topline_expiring_certificate": "O seu certificado SSL está prestes a expirar. Atualize as suas <0>definições de criptografia</0>.",
|
"topline_expiring_certificate": "O seu certificado SSL está prestes a expirar. Atualize as suas <0>definições de criptografia</0>.",
|
||||||
"topline_expired_certificate": "O seu certificado SSL está expirado. Atualize as suas <0>definições de criptografia</0>.",
|
"topline_expired_certificate": "O seu certificado SSL está expirado. Atualize as suas <0>definições de criptografia</0>.",
|
||||||
"form_error_port_range": "Digite um numero de porta entre 80 e 65535",
|
"form_error_port_range": "Digite um numero de porta entre 80 e 65535",
|
||||||
@@ -409,7 +417,7 @@
|
|||||||
"manual_update": "Por favor, <a>siga estes passos</a> para atualizar manualmente.",
|
"manual_update": "Por favor, <a>siga estes passos</a> para atualizar manualmente.",
|
||||||
"processing_update": "Por favor espere, o AdGuard Home está a atualizar-se",
|
"processing_update": "Por favor espere, o AdGuard Home está a atualizar-se",
|
||||||
"clients_title": "Clientes persistentes",
|
"clients_title": "Clientes persistentes",
|
||||||
"clients_desc": "Configure registros de cliente persistentes para dispositivos conectados ao AdGuard Home",
|
"clients_desc": "Configure registos de cliente persistentes para dispositivos conectados ao AdGuard Home",
|
||||||
"settings_global": "Global",
|
"settings_global": "Global",
|
||||||
"settings_custom": "Personalizar",
|
"settings_custom": "Personalizar",
|
||||||
"table_client": "Cliente",
|
"table_client": "Cliente",
|
||||||
@@ -444,11 +452,12 @@
|
|||||||
"access_disallowed_title": "Clientes não permitidos",
|
"access_disallowed_title": "Clientes não permitidos",
|
||||||
"access_disallowed_desc": "Uma lista de CIDRs, endereços IP ou <a>IDs de cliente</a>. Se essa lista tiver entradas, o AdGuard Home descartará as solicitações desses clientes. Este campo é ignorado se houver entradas em clientes permitidos.",
|
"access_disallowed_desc": "Uma lista de CIDRs, endereços IP ou <a>IDs de cliente</a>. Se essa lista tiver entradas, o AdGuard Home descartará as solicitações desses clientes. Este campo é ignorado se houver entradas em clientes permitidos.",
|
||||||
"access_blocked_title": "Domínios bloqueados",
|
"access_blocked_title": "Domínios bloqueados",
|
||||||
"access_blocked_desc": "Não deve ser confundido com filtros. O AdGuard Home elimina as consultas DNS que correspondem a esses domínios, e essas consultas nem aparecem no registro de consultas. Você pode especificar nomes de domínio exatos, caracteres curinga ou regras de filtro de URL, por exemplo \"exemplo.org\", \"*.exemplo.org\", ou \"||exemplo.org^\" correspondentemente.",
|
"access_blocked_desc": "Não deve ser confundido com filtros. O AdGuard Home elimina as consultas DNS que correspondem a esses domínios, e essas consultas nem aparecem no registo de consultas. Você pode especificar nomes de domínio exatos, caracteres curinga ou regras de filtro de URL, por exemplo \"exemplo.org\", \"*.exemplo.org\", ou \"||exemplo.org^\" correspondentemente.",
|
||||||
"access_settings_saved": "Definições de acesso foram guardadas com sucesso",
|
"access_settings_saved": "Definições de acesso foram guardadas com sucesso",
|
||||||
"updates_checked": "Uma nova versão do AdGuard Home está disponível\n",
|
"updates_checked": "Uma nova versão do AdGuard Home está disponível\n",
|
||||||
"updates_version_equal": "O AdGuard Home está atualizado",
|
"updates_version_equal": "O AdGuard Home está atualizado",
|
||||||
"check_updates_now": "Verificar atualizações",
|
"check_updates_now": "Verificar atualizações",
|
||||||
|
"version_request_error": "A verificação de atualização falhou. Verifique a sua ligação à internet.",
|
||||||
"dns_privacy": "Privacidade de DNS",
|
"dns_privacy": "Privacidade de DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS-sobre-TLS:</0> Use <1>{{address}}</1> string.",
|
"setup_dns_privacy_1": "<0>DNS-sobre-TLS:</0> Use <1>{{address}}</1> string.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-sobre-HTTPS:</0> Use <1>{{address}}</1> string.",
|
"setup_dns_privacy_2": "<0>DNS-sobre-HTTPS:</0> Use <1>{{address}}</1> string.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Tem a certeza que quer alterar a retenção de estatísticas? Se diminuir o valor do intervalo, alguns dados serão perdidos",
|
"statistics_retention_confirm": "Tem a certeza que quer alterar a retenção de estatísticas? Se diminuir o valor do intervalo, alguns dados serão perdidos",
|
||||||
"statistics_cleared": "As estatísticas foram apagadas com sucesso",
|
"statistics_cleared": "As estatísticas foram apagadas com sucesso",
|
||||||
"statistics_enable": "Ativar estatísticas",
|
"statistics_enable": "Ativar estatísticas",
|
||||||
|
"ignore_domains": "Domínios ignorados (separados por nova linha)",
|
||||||
|
"ignore_domains_title": "Domínios ignorados",
|
||||||
|
"ignore_domains_desc_stats": "As consultas para estes domínios não aparecem nas estatísticas",
|
||||||
|
"ignore_domains_desc_query": "As consultas para estes domínios não aparecem no registo de consultas",
|
||||||
"interval_hours": "{{count}} hora",
|
"interval_hours": "{{count}} hora",
|
||||||
"interval_hours_plural": "{{count}} horas",
|
"interval_hours_plural": "{{count}} horas",
|
||||||
"filters_configuration": "Definição dos filtros",
|
"filters_configuration": "Definição dos filtros",
|
||||||
@@ -545,9 +558,9 @@
|
|||||||
"example_rewrite_domain": "reescrever resposta apenas para este domínio.",
|
"example_rewrite_domain": "reescrever resposta apenas para este domínio.",
|
||||||
"example_rewrite_wildcard": "reescrever resposta para todos <0>example.org</0> sub-domínios.",
|
"example_rewrite_wildcard": "reescrever resposta para todos <0>example.org</0> sub-domínios.",
|
||||||
"rewrite_ip_address": "Endereço IP: use esse IP em uma resposta A ou AAAA",
|
"rewrite_ip_address": "Endereço IP: use esse IP em uma resposta A ou AAAA",
|
||||||
"rewrite_domain_name": "Nome de domínio: adicione um registro CNAME",
|
"rewrite_domain_name": "Nome de domínio: adicione um registo CNAME",
|
||||||
"rewrite_A": "<0>A</0>: valor especial, mantenha <0>A</0> nos registros do upstream",
|
"rewrite_A": "<0>A</0>: valor especial, mantenha <0>A</0> nos registos do upstream",
|
||||||
"rewrite_AAAA": "<0>AAAA</0>: valor especial, mantenha <0>AAAA</0> nos registros do servidor DNS primário",
|
"rewrite_AAAA": "<0>AAAA</0>: valor especial, mantenha <0>AAAA</0> nos registos do servidor DNS primário",
|
||||||
"disable_ipv6": "Desativar resolução de endereços IPv6",
|
"disable_ipv6": "Desativar resolução de endereços IPv6",
|
||||||
"disable_ipv6_desc": "Descarta todas as consultas DNS para endereços IPv6 (tipo AAAA).",
|
"disable_ipv6_desc": "Descarta todas as consultas DNS para endereços IPv6 (tipo AAAA).",
|
||||||
"fastest_addr": "Endereço de IP mais rápido",
|
"fastest_addr": "Endereço de IP mais rápido",
|
||||||
@@ -577,7 +590,7 @@
|
|||||||
"client_blocked": "Cliente \"{{ip}}\" foi bloqueado com sucesso",
|
"client_blocked": "Cliente \"{{ip}}\" foi bloqueado com sucesso",
|
||||||
"client_unblocked": "Cliente \"{{ip}}\" foi desbloqueado com sucesso",
|
"client_unblocked": "Cliente \"{{ip}}\" foi desbloqueado com sucesso",
|
||||||
"static_ip": "Endereço de IP estático",
|
"static_ip": "Endereço de IP estático",
|
||||||
"static_ip_desc": "O AdGuard Home é um servidor, portanto, ele precisa de um endereço de IP estático para funcionar corretamente. Caso contrário, em algum momento, seu roteador poderá atribuir um novo endereço de IP neste dispositivo.",
|
"static_ip_desc": "O AdGuard Home é um servidor, portanto, ele precisa de um endereço de IP estático para funcionar corretamente. Caso contrário, em algum momento, seu router poderá atribuir um novo endereço de IP neste dispositivo.",
|
||||||
"set_static_ip": "Definir um endereço de IP estático",
|
"set_static_ip": "Definir um endereço de IP estático",
|
||||||
"install_static_ok": "Boas notícias! O endereço de IP estático já está configurado",
|
"install_static_ok": "Boas notícias! O endereço de IP estático já está configurado",
|
||||||
"install_static_error": "O AdGuard Home não pode configurar automaticamente para esta interface de rede. Por favor, procure uma instrução sobre como fazer isso manualmente.",
|
"install_static_error": "O AdGuard Home não pode configurar automaticamente para esta interface de rede. Por favor, procure uma instrução sobre como fazer isso manualmente.",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Lista de bloqueio",
|
"blocklist": "Lista de bloqueio",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Tamanho do cache",
|
"cache_size": "Tamanho do cache",
|
||||||
"cache_size_desc": "Tamanho do cache do DNS (em bytes).",
|
"cache_size_desc": "Tamanho do cache DNS (em bytes). Para desativar o cache, deixar o campo vazio.",
|
||||||
"cache_ttl_min_override": "Sobrepor o TTL mínimo",
|
"cache_ttl_min_override": "Sobrepor o TTL mínimo",
|
||||||
"cache_ttl_max_override": "Sobrepor o TTL máximo",
|
"cache_ttl_max_override": "Sobrepor o TTL máximo",
|
||||||
"enter_cache_size": "Digite o tamanho do cache (bytes)",
|
"enter_cache_size": "Digite o tamanho do cache (bytes)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Controlo parental",
|
"parental_control": "Controlo parental",
|
||||||
"safe_browsing": "Navegação segura",
|
"safe_browsing": "Navegação segura",
|
||||||
"served_from_cache": "{{value}} <i>(servido do cache)</i>",
|
"served_from_cache": "{{value}} <i>(servido do cache)</i>",
|
||||||
"form_error_password_length": "A palavra-passe deve ter pelo menos {{value}} caracteres"
|
"form_error_password_length": "A palavra-passe deve ter pelo menos {{value}} caracteres",
|
||||||
|
"anonymizer_notification": "<0>Observação:</0> A anonimização de IP está ativada. Você pode desativá-la em <1>Definições gerais</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Tem certeza de que quer limpar a cache DNS?",
|
||||||
|
"cache_cleared": "O cache DNS foi apagado com sucesso",
|
||||||
|
"clear_cache": "Limpar cache",
|
||||||
|
"make_static": "Tornar estático",
|
||||||
|
"theme_auto_desc": "Automático (com base no esquema de cores do seu dispositivo)",
|
||||||
|
"theme_dark_desc": "Tema escuro",
|
||||||
|
"theme_light_desc": "Tema claro",
|
||||||
|
"disable_for_seconds": "Por {{count}} segundo",
|
||||||
|
"disable_for_seconds_plural": "Por {{count}} segundos",
|
||||||
|
"disable_for_minutes": "Por {{count}} minuto",
|
||||||
|
"disable_for_minutes_plural": "Por {{count}} minutos",
|
||||||
|
"disable_for_hours": "Por {{count}} hora",
|
||||||
|
"disable_for_hours_plural": "Por {{count}} horas",
|
||||||
|
"disable_until_tomorrow": "Até amanhã",
|
||||||
|
"disable_notify_for_seconds": "Desativar proteção por {{count}} segundo",
|
||||||
|
"disable_notify_for_seconds_plural": "Desativar proteção por {{count}} segundos",
|
||||||
|
"disable_notify_for_minutes": "Desativar proteção por {{count}} minuto",
|
||||||
|
"disable_notify_for_minutes_plural": "Desativar proteção por {{count}} minutos",
|
||||||
|
"disable_notify_for_hours": "Desativar proteção por {{count}} hora",
|
||||||
|
"disable_notify_for_hours_plural": "Desativar proteção por {{count}} horas",
|
||||||
|
"disable_notify_until_tomorrow": "Desativar a proteção até amanhã",
|
||||||
|
"enable_protection_timer": "A proteção será habilitada em {{time}}",
|
||||||
|
"custom_retention_input": "Insira a retenção em horas",
|
||||||
|
"custom_rotation_input": "Insira a rotação em horas",
|
||||||
|
"protection_section_label": "Proteção",
|
||||||
|
"log_and_stats_section_label": "Log de consulta e estatísticas",
|
||||||
|
"ignore_query_log": "Ignorar este cliente no log de consulta",
|
||||||
|
"ignore_statistics": "Ignorar este cliente nas estatísticas"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Setări DHCP IPv6",
|
"dhcp_ipv6_settings": "Setări DHCP IPv6",
|
||||||
"form_error_required": "Câmp obligatoriu",
|
"form_error_required": "Câmp obligatoriu",
|
||||||
"form_error_ip4_format": "Adresă IPv4 nevalidă",
|
"form_error_ip4_format": "Adresă IPv4 nevalidă",
|
||||||
"form_error_ip4_range_start_format": "Adresă IPv4 nevalidă pentru începutul intervalului",
|
|
||||||
"form_error_ip4_range_end_format": "Adresă IPv4 nevalidă a sfârșitului intervalului",
|
|
||||||
"form_error_ip4_gateway_format": "Adresă IPv4 nevalidă a gateway-ului",
|
"form_error_ip4_gateway_format": "Adresă IPv4 nevalidă a gateway-ului",
|
||||||
"form_error_ip6_format": "Adresa IPv6 nevalidă",
|
"form_error_ip6_format": "Adresa IPv6 nevalidă",
|
||||||
"form_error_ip_format": "Adresă IP nevalidă",
|
"form_error_ip_format": "Adresă IP nevalidă",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Trebuie să fie în afara intervalului „{{start}}”-„{{end}}”",
|
"out_of_range_error": "Trebuie să fie în afara intervalului „{{start}}”-„{{end}}”",
|
||||||
"lower_range_start_error": "Trebuie să fie mai mică decât începutul intervalului",
|
"lower_range_start_error": "Trebuie să fie mai mică decât începutul intervalului",
|
||||||
"greater_range_start_error": "Trebuie să fie mai mare decât începutul intervalului",
|
"greater_range_start_error": "Trebuie să fie mai mare decât începutul intervalului",
|
||||||
"greater_range_end_error": "Trebuie să fie mai mare decât sfârșitul intervalului",
|
|
||||||
"subnet_error": "Adresele trebuie să fie în aceeași subrețea",
|
"subnet_error": "Adresele trebuie să fie în aceeași subrețea",
|
||||||
"gateway_or_subnet_invalid": "Mască de subrețea nevalidă",
|
"gateway_or_subnet_invalid": "Mască de subrețea nevalidă",
|
||||||
"dhcp_form_gateway_input": "IP Gateway",
|
"dhcp_form_gateway_input": "IP Gateway",
|
||||||
@@ -211,17 +208,21 @@
|
|||||||
"example_comment_hash": "# De asemenea, un comentariu.",
|
"example_comment_hash": "# De asemenea, un comentariu.",
|
||||||
"example_regex_meaning": "blochează accesul la domeniile care corespund expresiei regulate specificate.",
|
"example_regex_meaning": "blochează accesul la domeniile care corespund expresiei regulate specificate.",
|
||||||
"example_upstream_regular": "DNS clasic (over UDP);",
|
"example_upstream_regular": "DNS clasic (over UDP);",
|
||||||
|
"example_upstream_regular_port": "DNS obișnuit (over UDP, cu port);",
|
||||||
"example_upstream_udp": "DNS obișnuit (over UDP, nume de gazdă);",
|
"example_upstream_udp": "DNS obișnuit (over UDP, nume de gazdă);",
|
||||||
"example_upstream_dot": "<0>DNS-over-TLS</0> criptat;",
|
"example_upstream_dot": "<0>DNS-over-TLS</0> criptat;",
|
||||||
"example_upstream_doh": "<0>DNS-over-HTTPS</0> criptat;",
|
"example_upstream_doh": "<0>DNS-over-HTTPS</0> criptat;",
|
||||||
|
"example_upstream_doh3": "DNS-over-HTTPS criptat cu <0>HTTP/3</0> forțat și fără revenire la HTTP/2 sau inferior;",
|
||||||
"example_upstream_doq": "criptat <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "criptat <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> pentru <1>DNSCrypt</1> sau rezolvatori <2>DNS-over-HTTPS</2>;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> pentru <1>DNSCrypt</1> sau rezolvatori <2>DNS-over-HTTPS</2>;",
|
||||||
"example_upstream_tcp": "DNS clasic (over TCP);",
|
"example_upstream_tcp": "DNS clasic (over TCP);",
|
||||||
|
"example_upstream_tcp_port": "DNS obișnuit (over TCP, cu port);",
|
||||||
"example_upstream_tcp_hostname": "DNS obișnuit (over TCP, nume de gazdă);",
|
"example_upstream_tcp_hostname": "DNS obișnuit (over TCP, nume de gazdă);",
|
||||||
"all_lists_up_to_date_toast": "Toate listele sunt deja la zi",
|
"all_lists_up_to_date_toast": "Toate listele sunt deja la zi",
|
||||||
"updated_upstream_dns_toast": "Serverele din amonte au fost salvate cu succes",
|
"updated_upstream_dns_toast": "Serverele din amonte au fost salvate cu succes",
|
||||||
"dns_test_ok_toast": "Serverele DNS specificate funcționează corect",
|
"dns_test_ok_toast": "Serverele DNS specificate funcționează corect",
|
||||||
"dns_test_not_ok_toast": "Serverul \"{{key}}\": nu a putut fi utilizat, verificați dacă l-ați scris corect",
|
"dns_test_not_ok_toast": "Serverul \"{{key}}\": nu a putut fi utilizat, verificați dacă l-ați scris corect",
|
||||||
|
"dns_test_warning_toast": "„{{key}}” în amonte nu răspunde la solicitările de testare și s-ar putea să nu funcționeze corect",
|
||||||
"unblock": "Deblocați",
|
"unblock": "Deblocați",
|
||||||
"block": "Blocați",
|
"block": "Blocați",
|
||||||
"disallow_this_client": "Nu permiteți acest client",
|
"disallow_this_client": "Nu permiteți acest client",
|
||||||
@@ -297,6 +298,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Răspunde cu codul NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Răspunde cu codul NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "IP nul: răspunde cu o adresă IP zero (0.0.0.0 pentru A; :: pentru AAAA)",
|
"blocking_mode_null_ip": "IP nul: răspunde cu o adresă IP zero (0.0.0.0 pentru A; :: pentru AAAA)",
|
||||||
"blocking_mode_custom_ip": "IP personalizat: răspunde cu o adresă IP setată manual",
|
"blocking_mode_custom_ip": "IP personalizat: răspunde cu o adresă IP setată manual",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Luminoasă",
|
||||||
|
"theme_dark": "Sombră",
|
||||||
"upstream_dns_client_desc": "Dacă mențineți acest câmp gol, AdGuard Home va folosi serverele configurate în <0>setările DNS</0>.",
|
"upstream_dns_client_desc": "Dacă mențineți acest câmp gol, AdGuard Home va folosi serverele configurate în <0>setările DNS</0>.",
|
||||||
"tracker_source": "Sursă tracker",
|
"tracker_source": "Sursă tracker",
|
||||||
"source_label": "Sursă",
|
"source_label": "Sursă",
|
||||||
@@ -363,7 +367,7 @@
|
|||||||
"encryption_config_saved": "Configurația de criptare salvată",
|
"encryption_config_saved": "Configurația de criptare salvată",
|
||||||
"encryption_server": "Nume de server",
|
"encryption_server": "Nume de server",
|
||||||
"encryption_server_enter": "Introduceți numele domeniului",
|
"encryption_server_enter": "Introduceți numele domeniului",
|
||||||
"encryption_server_desc": "Pentru a utiliza HTTPS, trebuie să introduceți numele serverului care se potrivește cu certificatul SSL sau certificatul wildcard al dvs. În cazul în care câmpul nu este setat, va accepta conexiuni TLS pentru orice domeniu.",
|
"encryption_server_desc": "Dacă este setat, AdGuard Home detectează ID-urile de client, răspunde la interogările DDR și efectuează validări suplimentare ale conexiunii. Dacă nu este setat, aceste caracteristici sunt dezactivate. Trebuie să corespundă cu unul dintre numele DNS din certificat.",
|
||||||
"encryption_redirect": "Redirecționați automat la HTTPS",
|
"encryption_redirect": "Redirecționați automat la HTTPS",
|
||||||
"encryption_redirect_desc": "Dacă este bifat, AdGuard Home vă va redirecționa automat de la adrese HTTP la HTTPS.",
|
"encryption_redirect_desc": "Dacă este bifat, AdGuard Home vă va redirecționa automat de la adrese HTTP la HTTPS.",
|
||||||
"encryption_https": "Port HTTPS",
|
"encryption_https": "Port HTTPS",
|
||||||
@@ -389,6 +393,7 @@
|
|||||||
"encryption_issuer": "Emitent",
|
"encryption_issuer": "Emitent",
|
||||||
"encryption_hostnames": "Nume de host",
|
"encryption_hostnames": "Nume de host",
|
||||||
"encryption_reset": "Sunteți sigur că doriți să resetați setările de criptare?",
|
"encryption_reset": "Sunteți sigur că doriți să resetați setările de criptare?",
|
||||||
|
"encryption_warning": "Avertisment",
|
||||||
"topline_expiring_certificate": "Certificatul dvs. SSL este pe cale să expire. Actualizați <0>Setările de criptare</0>.",
|
"topline_expiring_certificate": "Certificatul dvs. SSL este pe cale să expire. Actualizați <0>Setările de criptare</0>.",
|
||||||
"topline_expired_certificate": "Certificatul dvs. SSL a expirat. Actualizați <0>Setările de criptare</0>.",
|
"topline_expired_certificate": "Certificatul dvs. SSL a expirat. Actualizați <0>Setările de criptare</0>.",
|
||||||
"form_error_port_range": "Introduceți valoarea portului între 80-65535",
|
"form_error_port_range": "Introduceți valoarea portului între 80-65535",
|
||||||
@@ -449,6 +454,7 @@
|
|||||||
"updates_checked": "Este disponibilă o nouă versiune de AdGuard Home\n",
|
"updates_checked": "Este disponibilă o nouă versiune de AdGuard Home\n",
|
||||||
"updates_version_equal": "AdGuard Home este la zi",
|
"updates_version_equal": "AdGuard Home este la zi",
|
||||||
"check_updates_now": "Verificați actualizările acum",
|
"check_updates_now": "Verificați actualizările acum",
|
||||||
|
"version_request_error": "Verificarea actualizării nu a reușit. Verificați conexiunea internet.",
|
||||||
"dns_privacy": "Confidențialitate DNS",
|
"dns_privacy": "Confidențialitate DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Folosiți stringul <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Folosiți stringul <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Folosiți stringul <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Folosiți stringul <1>{{address}}</1>.",
|
||||||
@@ -602,7 +608,7 @@
|
|||||||
"blocklist": "Lista de blocări",
|
"blocklist": "Lista de blocări",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Mărime cache",
|
"cache_size": "Mărime cache",
|
||||||
"cache_size_desc": "Mărime cache DNS (în octeți).",
|
"cache_size_desc": "Mărimea cache-ului DNS (în bytes). Pentru a dezactiva caching-ul, lăsați gol.",
|
||||||
"cache_ttl_min_override": "Suprascrieți minimum TTL",
|
"cache_ttl_min_override": "Suprascrieți minimum TTL",
|
||||||
"cache_ttl_max_override": "Suprascrieți maximum TTL",
|
"cache_ttl_max_override": "Suprascrieți maximum TTL",
|
||||||
"enter_cache_size": "Introduceți mărimea cache-ului (bytes)",
|
"enter_cache_size": "Introduceți mărimea cache-ului (bytes)",
|
||||||
@@ -632,5 +638,10 @@
|
|||||||
"parental_control": "Control Parental",
|
"parental_control": "Control Parental",
|
||||||
"safe_browsing": "Navigare în siguranță",
|
"safe_browsing": "Navigare în siguranță",
|
||||||
"served_from_cache": "{{value}} <i>(furnizat din cache)</i>",
|
"served_from_cache": "{{value}} <i>(furnizat din cache)</i>",
|
||||||
"form_error_password_length": "Parola trebuie să aibă cel puțin {{value}} caractere"
|
"form_error_password_length": "Parola trebuie să aibă cel puțin {{value}} caractere",
|
||||||
|
"anonymizer_notification": "<0>Nota:</0> Anonimizarea IP este activată. Puteți să o dezactivați în <1>Setări generale</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Sunteți sigur că doriți să ștergeți memoria cache DNS?",
|
||||||
|
"cache_cleared": "Cache-ul DNS a fost golit cu succes",
|
||||||
|
"clear_cache": "Goliți memoria cache",
|
||||||
|
"protection_section_label": "Protecție"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Настройки DHCP IPv6",
|
"dhcp_ipv6_settings": "Настройки DHCP IPv6",
|
||||||
"form_error_required": "Обязательное поле",
|
"form_error_required": "Обязательное поле",
|
||||||
"form_error_ip4_format": "Некорректный IPv4-адрес",
|
"form_error_ip4_format": "Некорректный IPv4-адрес",
|
||||||
"form_error_ip4_range_start_format": "Некорректный IPv4-адрес начала диапазона",
|
|
||||||
"form_error_ip4_range_end_format": "Некорректный IPv4-адрес конца диапазона",
|
|
||||||
"form_error_ip4_gateway_format": "Некорректный IPv4-адрес шлюза",
|
"form_error_ip4_gateway_format": "Некорректный IPv4-адрес шлюза",
|
||||||
"form_error_ip6_format": "Некорректный IPv6-адрес",
|
"form_error_ip6_format": "Некорректный IPv6-адрес",
|
||||||
"form_error_ip_format": "Некорректный IP-адрес",
|
"form_error_ip_format": "Некорректный IP-адрес",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Должно быть вне диапазона «{{start}}»-«{{end}}»",
|
"out_of_range_error": "Должно быть вне диапазона «{{start}}»-«{{end}}»",
|
||||||
"lower_range_start_error": "Должно быть меньше начала диапазона",
|
"lower_range_start_error": "Должно быть меньше начала диапазона",
|
||||||
"greater_range_start_error": "Должно быть больше начала диапазона",
|
"greater_range_start_error": "Должно быть больше начала диапазона",
|
||||||
"greater_range_end_error": "Должно быть больше конца диапазона",
|
|
||||||
"subnet_error": "Адреса должны быть внутри одной подсети",
|
"subnet_error": "Адреса должны быть внутри одной подсети",
|
||||||
"gateway_or_subnet_invalid": "Некорректная маска подсети",
|
"gateway_or_subnet_invalid": "Некорректная маска подсети",
|
||||||
"dhcp_form_gateway_input": "IP-адрес шлюза",
|
"dhcp_form_gateway_input": "IP-адрес шлюза",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Родительский контроль вкл.",
|
"enabled_parental_toast": "Родительский контроль вкл.",
|
||||||
"disabled_safe_search_toast": "Безопасный поиск выкл.",
|
"disabled_safe_search_toast": "Безопасный поиск выкл.",
|
||||||
"enabled_save_search_toast": "Безопасный поиск вкл.",
|
"enabled_save_search_toast": "Безопасный поиск вкл.",
|
||||||
|
"updated_save_search_toast": "Настройки безопасного поиска обновлены",
|
||||||
"enabled_table_header": "Вкл.",
|
"enabled_table_header": "Вкл.",
|
||||||
"name_table_header": "Имя",
|
"name_table_header": "Имя",
|
||||||
"list_url_table_header": "URL-адрес списка",
|
"list_url_table_header": "URL-адрес списка",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# И вот так тоже.",
|
"example_comment_hash": "# И вот так тоже.",
|
||||||
"example_regex_meaning": "блокировать доступ к доменам, соответствующим заданному регулярному выражению.",
|
"example_regex_meaning": "блокировать доступ к доменам, соответствующим заданному регулярному выражению.",
|
||||||
"example_upstream_regular": "обычный DNS (поверх UDP);",
|
"example_upstream_regular": "обычный DNS (поверх UDP);",
|
||||||
|
"example_upstream_regular_port": "обычный DNS (поверх UDP, с портом);",
|
||||||
"example_upstream_udp": "обычный DNS (поверх UDP, с именем хоста);",
|
"example_upstream_udp": "обычный DNS (поверх UDP, с именем хоста);",
|
||||||
"example_upstream_dot": "зашифрованный <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "зашифрованный <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "зашифрованный <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "зашифрованный <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "зашифрованный DNS-over-HTTPS с принудительным <0>HTTP/3</0> без отката к HTTP/2 или ниже;",
|
||||||
"example_upstream_doq": "зашифрован <0>DNS-over-QUIC</0>",
|
"example_upstream_doq": "зашифрован <0>DNS-over-QUIC</0>",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> для <1>DNSCrypt</1> или <2>DNS-over-HTTPS</2> серверов;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> для <1>DNSCrypt</1> или <2>DNS-over-HTTPS</2> серверов;",
|
||||||
"example_upstream_tcp": "обычный DNS (поверх TCP);",
|
"example_upstream_tcp": "обычный DNS (поверх TCP);",
|
||||||
|
"example_upstream_tcp_port": "обычный DNS (поверх TCP, с портом);",
|
||||||
"example_upstream_tcp_hostname": "обычный DNS (поверх TCP, с именем хоста);",
|
"example_upstream_tcp_hostname": "обычный DNS (поверх TCP, с именем хоста);",
|
||||||
"all_lists_up_to_date_toast": "Все списки уже обновлены",
|
"all_lists_up_to_date_toast": "Все списки уже обновлены",
|
||||||
"updated_upstream_dns_toast": "DNS-серверы успешно обновлены",
|
"updated_upstream_dns_toast": "DNS-серверы успешно обновлены",
|
||||||
"dns_test_ok_toast": "Указанные серверы DNS работают корректно",
|
"dns_test_ok_toast": "Указанные серверы DNS работают корректно",
|
||||||
"dns_test_not_ok_toast": "Сервер «{{key}}»: невозможно использовать, проверьте правильность написания",
|
"dns_test_not_ok_toast": "Сервер «{{key}}»: невозможно использовать, проверьте правильность написания",
|
||||||
|
"dns_test_warning_toast": "Upstream «{{key}}» не отвечает на тестовые запросы и может работать некорректно",
|
||||||
"unblock": "Разблокировать",
|
"unblock": "Разблокировать",
|
||||||
"block": "Заблокировать",
|
"block": "Заблокировать",
|
||||||
"disallow_this_client": "Запретить доступ клиенту",
|
"disallow_this_client": "Запретить доступ клиенту",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "Журнал запросов успешно очищен",
|
"query_log_cleared": "Журнал запросов успешно очищен",
|
||||||
"query_log_updated": "Журнал запросов успешно обновлён",
|
"query_log_updated": "Журнал запросов успешно обновлён",
|
||||||
"query_log_clear": "Очистить журнал запросов",
|
"query_log_clear": "Очистить журнал запросов",
|
||||||
"query_log_retention": "Сохранение журнала запросов",
|
"query_log_retention": "Частота ротации журнала запросов",
|
||||||
"query_log_enable": "Включить журнал",
|
"query_log_enable": "Включить журнал",
|
||||||
"query_log_configuration": "Настройка журнала",
|
"query_log_configuration": "Настройка журнала",
|
||||||
"query_log_disabled": "Журнал запросов выключен, его можно включить в <0>настройках</0>",
|
"query_log_disabled": "Журнал запросов выключен, его можно включить в <0>настройках</0>",
|
||||||
"query_log_strict_search": "Используйте двойные кавычки для строгого поиска",
|
"query_log_strict_search": "Используйте двойные кавычки для строгого поиска",
|
||||||
"query_log_retention_confirm": "Вы уверены, что хотите изменить срок хранения запросов? При сокращении интервала данные могут быть утеряны",
|
"query_log_retention_confirm": "Вы уверены, что хотите изменить частоту ротации журнала запросов? При сокращении срока данные могут быть утеряны",
|
||||||
"anonymize_client_ip": "Анонимизировать IP-адрес клиента",
|
"anonymize_client_ip": "Анонимизировать IP-адрес клиента",
|
||||||
"anonymize_client_ip_desc": "Не сохранять полный IP-адрес клиента в журналах и статистике",
|
"anonymize_client_ip_desc": "Не сохранять полный IP-адрес клиента в журналах и статистике",
|
||||||
"dns_config": "Настройки DNS-сервера",
|
"dns_config": "Настройки DNS-сервера",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Rate limit",
|
"rate_limit": "Rate limit",
|
||||||
"edns_enable": "Включить отправку EDNS Client Subnet",
|
"edns_enable": "Включить отправку EDNS Client Subnet",
|
||||||
"edns_cs_desc": "Добавлять опцию EDNS Client Subnet (ECS) к запросам к upstream-серверам, а также записывать присланные клиентами значения в журнал.",
|
"edns_cs_desc": "Добавлять опцию EDNS Client Subnet (ECS) к запросам к upstream-серверам, а также записывать присланные клиентами значения в журнал.",
|
||||||
|
"edns_use_custom_ip": "Использовать указанный IP для EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Разрешить использовать собственный IP для EDNS",
|
||||||
"rate_limit_desc": "Ограничение на количество запросов в секунду для каждого клиента (0 — неограниченно).",
|
"rate_limit_desc": "Ограничение на количество запросов в секунду для каждого клиента (0 — неограниченно).",
|
||||||
"blocking_ipv4_desc": "IP-адрес, возвращаемый при блокировке A-запроса",
|
"blocking_ipv4_desc": "IP-адрес, возвращаемый при блокировке A-запроса",
|
||||||
"blocking_ipv6_desc": "IP-адрес, возвращаемый при блокировке AAAA-запроса",
|
"blocking_ipv6_desc": "IP-адрес, возвращаемый при блокировке AAAA-запроса",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Отвечает с кодом NXDOMAIN\n",
|
"blocking_mode_nxdomain": "NXDOMAIN: Отвечает с кодом NXDOMAIN\n",
|
||||||
"blocking_mode_null_ip": "Нулевой IP: Отвечает с нулевым IP-адресом (0.0.0.0 для A; :: для AAAA)",
|
"blocking_mode_null_ip": "Нулевой IP: Отвечает с нулевым IP-адресом (0.0.0.0 для A; :: для AAAA)",
|
||||||
"blocking_mode_custom_ip": "Пользовательский IP: Отвечает с вручную настроенным IP-адресом",
|
"blocking_mode_custom_ip": "Пользовательский IP: Отвечает с вручную настроенным IP-адресом",
|
||||||
|
"theme_auto": "Авто",
|
||||||
|
"theme_light": "Светлая",
|
||||||
|
"theme_dark": "Тёмная",
|
||||||
"upstream_dns_client_desc": "Если оставить поле пустым, AdGuard Home будет обращаться к серверам, указанным в <0>настройках DNS</0>.",
|
"upstream_dns_client_desc": "Если оставить поле пустым, AdGuard Home будет обращаться к серверам, указанным в <0>настройках DNS</0>.",
|
||||||
"tracker_source": "Источник трекинга",
|
"tracker_source": "Источник трекинга",
|
||||||
"source_label": "Источник",
|
"source_label": "Источник",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Настройки шифрования сохранены",
|
"encryption_config_saved": "Настройки шифрования сохранены",
|
||||||
"encryption_server": "Имя сервера",
|
"encryption_server": "Имя сервера",
|
||||||
"encryption_server_enter": "Введите ваше доменное имя",
|
"encryption_server_enter": "Введите ваше доменное имя",
|
||||||
"encryption_server_desc": "Для использования HTTPS вам необходимо ввести имя сервера, которое подходит вашему SSL-сертификату или сертификату с поддержкой поддоменов. Если это поле не задано, сервер будет принимать TLS-соединения для любого домена.",
|
"encryption_server_desc": "Если задано, AdGuard Home распознаёт ClientID, отвечает на DDR-запросы, и дополнительно проверяет соединения. Если не задано, этот функционал отключён. Должно соответствовать одному из параметров DNS Names в сертификате.",
|
||||||
"encryption_redirect": "Автоматически перенаправлять на HTTPS",
|
"encryption_redirect": "Автоматически перенаправлять на HTTPS",
|
||||||
"encryption_redirect_desc": "Если включено, AdGuard Home будет автоматически перенаправлять вас с HTTP на HTTPS адрес.",
|
"encryption_redirect_desc": "Если включено, AdGuard Home будет автоматически перенаправлять вас с HTTP на HTTPS адрес.",
|
||||||
"encryption_https": "Порт HTTPS",
|
"encryption_https": "Порт HTTPS",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Издатель",
|
"encryption_issuer": "Издатель",
|
||||||
"encryption_hostnames": "Имена хостов",
|
"encryption_hostnames": "Имена хостов",
|
||||||
"encryption_reset": "Вы уверены, что хотите сбросить настройки шифрования?",
|
"encryption_reset": "Вы уверены, что хотите сбросить настройки шифрования?",
|
||||||
|
"encryption_warning": "Предупреждение",
|
||||||
"topline_expiring_certificate": "Ваш SSL-сертификат скоро истекает. Обновите <0>Настройки шифрования</0>.",
|
"topline_expiring_certificate": "Ваш SSL-сертификат скоро истекает. Обновите <0>Настройки шифрования</0>.",
|
||||||
"topline_expired_certificate": "Ваш SSL-сертификат истёк. Обновите <0>Настройки шифрования</0>.",
|
"topline_expired_certificate": "Ваш SSL-сертификат истёк. Обновите <0>Настройки шифрования</0>.",
|
||||||
"form_error_port_range": "Введите номер порта из интервала 80-65535",
|
"form_error_port_range": "Введите номер порта из интервала 80-65535",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "Доступна новая версия AdGuard Home",
|
"updates_checked": "Доступна новая версия AdGuard Home",
|
||||||
"updates_version_equal": "Версия AdGuard Home актуальна",
|
"updates_version_equal": "Версия AdGuard Home актуальна",
|
||||||
"check_updates_now": "Проверить обновления",
|
"check_updates_now": "Проверить обновления",
|
||||||
|
"version_request_error": "Ошибка при проверке наличия обновлений. Проверьте ваше интернет-соединение.",
|
||||||
"dns_privacy": "Зашифрованный DNS",
|
"dns_privacy": "Зашифрованный DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Используйте строку <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Используйте строку <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Используйте строку <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Используйте строку <1>{{address}}</1>.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Вы уверены, что хотите изменить срок хранения статистики? При сокращении интервала данные могут быть утеряны",
|
"statistics_retention_confirm": "Вы уверены, что хотите изменить срок хранения статистики? При сокращении интервала данные могут быть утеряны",
|
||||||
"statistics_cleared": "Статистика успешно очищена",
|
"statistics_cleared": "Статистика успешно очищена",
|
||||||
"statistics_enable": "Включить статистику",
|
"statistics_enable": "Включить статистику",
|
||||||
|
"ignore_domains": "Игнорируемые домены (построчно)",
|
||||||
|
"ignore_domains_title": "Игнорируемые домены",
|
||||||
|
"ignore_domains_desc_stats": "Запросы для этих доменов не записываются в статистику",
|
||||||
|
"ignore_domains_desc_query": "Запросы для этих доменов не записываются в журнал запросов",
|
||||||
"interval_hours": "{{count}} час",
|
"interval_hours": "{{count}} час",
|
||||||
"interval_hours_plural": "{{count}} часов",
|
"interval_hours_plural": "{{count}} часов",
|
||||||
"filters_configuration": "Настройка фильтров",
|
"filters_configuration": "Настройка фильтров",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Чёрный список",
|
"blocklist": "Чёрный список",
|
||||||
"milliseconds_abbreviation": "мс",
|
"milliseconds_abbreviation": "мс",
|
||||||
"cache_size": "Размер кеша",
|
"cache_size": "Размер кеша",
|
||||||
"cache_size_desc": "Размера кеша DNS (в байтах).",
|
"cache_size_desc": "Размера кеша DNS (в байтах). Чтобы отключить кэширование, оставьте поле пустым.",
|
||||||
"cache_ttl_min_override": "Переопределить минимальный TTL",
|
"cache_ttl_min_override": "Переопределить минимальный TTL",
|
||||||
"cache_ttl_max_override": "Переопределить максимальный TTL",
|
"cache_ttl_max_override": "Переопределить максимальный TTL",
|
||||||
"enter_cache_size": "Введите размер кеша (в байтах)",
|
"enter_cache_size": "Введите размер кеша (в байтах)",
|
||||||
@@ -625,12 +638,41 @@
|
|||||||
"original_response": "Первоначальный ответ",
|
"original_response": "Первоначальный ответ",
|
||||||
"click_to_view_queries": "Нажмите, чтобы просмотреть запросы",
|
"click_to_view_queries": "Нажмите, чтобы просмотреть запросы",
|
||||||
"port_53_faq_link": "Порт 53 часто занят службами «DNSStubListener» или «systemd-resolved». Ознакомьтесь с <0>инструкцией</0> о том, как это разрешить.",
|
"port_53_faq_link": "Порт 53 часто занят службами «DNSStubListener» или «systemd-resolved». Ознакомьтесь с <0>инструкцией</0> о том, как это разрешить.",
|
||||||
"adg_will_drop_dns_queries": "AdGuard Home AdGuard Home сбросит все DNS-запросы от этого клиента.",
|
"adg_will_drop_dns_queries": "AdGuard Home сбросит все DNS-запросы от этого клиента.",
|
||||||
"filter_allowlist": "ВНИМАНИЕ: Это действие также исключит правило «{{disallowed_rule}}» из списка разрешённых клиентов.",
|
"filter_allowlist": "ВНИМАНИЕ: Это действие также исключит правило «{{disallowed_rule}}» из списка разрешённых клиентов.",
|
||||||
"last_rule_in_allowlist": "Нельзя заблокировать этого клиента, так как исключение правила «{{disallowed_rule}}» ОТКЛЮЧИТ режим белого списка.",
|
"last_rule_in_allowlist": "Нельзя заблокировать этого клиента, так как исключение правила «{{disallowed_rule}}» ОТКЛЮЧИТ режим белого списка.",
|
||||||
"use_saved_key": "Использовать сохранённый ранее ключ",
|
"use_saved_key": "Использовать сохранённый ранее ключ",
|
||||||
"parental_control": "Родительский контроль",
|
"parental_control": "Родительский контроль",
|
||||||
"safe_browsing": "Безопасный интернет",
|
"safe_browsing": "Безопасный интернет",
|
||||||
"served_from_cache": "{{value}} <i>(получено из кеша)</i>",
|
"served_from_cache": "{{value}} <i>(получено из кеша)</i>",
|
||||||
"form_error_password_length": "Пароль должен быть длиной не меньше {{value}} символов"
|
"form_error_password_length": "Пароль должен быть длиной не меньше {{value}} символов",
|
||||||
|
"anonymizer_notification": "<0>Внимание:</0> включена анонимизация IP-адресов. Вы можете отключить её в разделе <1>Основные настройки</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Вы уверены, что хотите очистить кеш DNS?",
|
||||||
|
"cache_cleared": "Кеш DNS успешно очищен",
|
||||||
|
"clear_cache": "Очистить кеш",
|
||||||
|
"make_static": "Сделать статической",
|
||||||
|
"theme_auto_desc": "Авто (на основе цветовой схемы вашего устройства)",
|
||||||
|
"theme_dark_desc": "Тёмная тема",
|
||||||
|
"theme_light_desc": "Светлая тема",
|
||||||
|
"disable_for_seconds": "На {{count}} секунд",
|
||||||
|
"disable_for_seconds_plural": "На {{count}} секунд",
|
||||||
|
"disable_for_minutes": "На {{count}} минуту",
|
||||||
|
"disable_for_minutes_plural": "На {{count}} минут",
|
||||||
|
"disable_for_hours": "На {{count}} час",
|
||||||
|
"disable_for_hours_plural": "На {{count}} часов",
|
||||||
|
"disable_until_tomorrow": "До завтра",
|
||||||
|
"disable_notify_for_seconds": "Отключить защиту на {{count}} секунд",
|
||||||
|
"disable_notify_for_seconds_plural": "Отключить защиту на {{count}} секунд",
|
||||||
|
"disable_notify_for_minutes": "Отключить защиту на {{count}} минуту",
|
||||||
|
"disable_notify_for_minutes_plural": "Отключить защиту на {{count}} минут",
|
||||||
|
"disable_notify_for_hours": "Отключить защиту на {{count}} час",
|
||||||
|
"disable_notify_for_hours_plural": "Отключить защиту на {{count}} часов",
|
||||||
|
"disable_notify_until_tomorrow": "Отключить защиту до завтра",
|
||||||
|
"enable_protection_timer": "Защита будет включена в {{time}}",
|
||||||
|
"custom_retention_input": "Введите срок хранения в часах",
|
||||||
|
"custom_rotation_input": "Введите частоту ротации в часах",
|
||||||
|
"protection_section_label": "Защита",
|
||||||
|
"log_and_stats_section_label": "Журнал запросов и статистика",
|
||||||
|
"ignore_query_log": "Игнорировать этого клиента в журнале запросов",
|
||||||
|
"ignore_statistics": "Игнорировать этого клиента в статистике"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,10 +5,11 @@
|
|||||||
"load_balancing": "ධාරිතාව තුලනය",
|
"load_balancing": "ධාරිතාව තුලනය",
|
||||||
"local_ptr_title": "පෞද්ගලික ප්රතිවර්ත ව.නා.ප. සේවාදායක",
|
"local_ptr_title": "පෞද්ගලික ප්රතිවර්ත ව.නා.ප. සේවාදායක",
|
||||||
"local_ptr_desc": "ස්ථානීය PTR විමසුම් සඳහා ඇඩ්ගාර්ඩ් හෝම් භාවිතා කරන ව.නා.ප. සේවාදායක. මෙම සේවාදායක පුද්ගලික අ.ජා.කෙ. ලිපින සහිත අනුග්රාහකවල සත්කාරක නාම විසඳීමට භාවිතා කරයි, උදාහරණයක් ලෙස ප්රතිවර්ත ව.නා.ප. භාවිතයෙන් \"192.168.12.34\". නැති නම්, ඇඩ්ගාර්ඩ් හෝම් හි ලිපින සඳහා හැරුනු විට ඔබගේ මෙහෙයුම් පද්ධතියේ පෙරනිමි ව.නා.ප. විසදුම්වල ලිපින භාවිතා කරයි.",
|
"local_ptr_desc": "ස්ථානීය PTR විමසුම් සඳහා ඇඩ්ගාර්ඩ් හෝම් භාවිතා කරන ව.නා.ප. සේවාදායක. මෙම සේවාදායක පුද්ගලික අ.ජා.කෙ. ලිපින සහිත අනුග්රාහකවල සත්කාරක නාම විසඳීමට භාවිතා කරයි, උදාහරණයක් ලෙස ප්රතිවර්ත ව.නා.ප. භාවිතයෙන් \"192.168.12.34\". නැති නම්, ඇඩ්ගාර්ඩ් හෝම් හි ලිපින සඳහා හැරුනු විට ඔබගේ මෙහෙයුම් පද්ධතියේ පෙරනිමි ව.නා.ප. විසදුම්වල ලිපින භාවිතා කරයි.",
|
||||||
"local_ptr_default_resolver": "පෙරනිමි ලෙස, ඇඩ්ගාර්ඩ් හෝම් පහත ප්රතිවර්තත ව.නා.ප. විසඳුම් භාවිතා කරයි: {{ip}}.",
|
"local_ptr_default_resolver": "පෙරනිමි ලෙස, ඇඩ්ගාර්ඩ් හෝම් පහත ප්රතිවර්තත ව.නා.ප. පිළිවිසඳු භාවිතා කරයි: {{ip}}.",
|
||||||
"local_ptr_no_default_resolver": "ඇඩ්ගාර්ඩ් හෝම් හට මෙම පද්ධතිය සඳහා සුදුසු පුද්ගලික ප්රතිවර්ත ව.නා.ප. විසඳුම් නිශ්චය කරගත නොහැකි විය.",
|
"local_ptr_no_default_resolver": "ඇඩ්ගාර්ඩ් හෝම් හට මෙම පද්ධතිය සඳහා සුදුසු පුද්ගලික ප්රතිවර්ත ව.නා.ප. පිළිවිසඳු නිශ්චය කරගත නොහැකි විය.",
|
||||||
"local_ptr_placeholder": "පේළියකට එක් සේවාදායක ලිපිනය බැගින් යොදන්න",
|
"local_ptr_placeholder": "පේළියකට එක් සේවාදායක ලිපිනය බැගින් යොදන්න",
|
||||||
"resolve_clients_title": "අනුග්රාහකවල අ.ජා.කෙ. ලිපින ප්රතිවර්ත විසඳීම සබල කරන්න",
|
"resolve_clients_title": "අනුග්රාහකවල අ.ජා.කෙ. ලිපින ප්රතිවර්ත විසඳීම සබල කරන්න",
|
||||||
|
"use_private_ptr_resolvers_title": "පෞද්. ප්රතිවර්ත ව.නා.ප. පිළිවිසඳු භාවිතය",
|
||||||
"check_dhcp_servers": "ග.ධා.වි.කෙ. සේවාදායක සඳහා පරීක්ෂා කරන්න",
|
"check_dhcp_servers": "ග.ධා.වි.කෙ. සේවාදායක සඳහා පරීක්ෂා කරන්න",
|
||||||
"save_config": "වින්යාසය සුරකින්න",
|
"save_config": "වින්යාසය සුරකින්න",
|
||||||
"enabled_dhcp": "ග.ධා.වි.කෙ. සේවාදායකය සබල කෙරිණි",
|
"enabled_dhcp": "ග.ධා.වි.කෙ. සේවාදායකය සබල කෙරිණි",
|
||||||
@@ -16,30 +17,35 @@
|
|||||||
"unavailable_dhcp": "ග.ධා.වි.කෙ. නැත",
|
"unavailable_dhcp": "ග.ධා.වි.කෙ. නැත",
|
||||||
"unavailable_dhcp_desc": "ඇඩ්ගාර්ඩ් හෝම් හට ඔබගේ මෙහෙයුම් පද්ධතියේ ග.ධා.වි.කෙ. සේවාදායකයක් ධාවනය කිරීමට නොහැකිය",
|
"unavailable_dhcp_desc": "ඇඩ්ගාර්ඩ් හෝම් හට ඔබගේ මෙහෙයුම් පද්ධතියේ ග.ධා.වි.කෙ. සේවාදායකයක් ධාවනය කිරීමට නොහැකිය",
|
||||||
"dhcp_title": "ග.ධා.වි.කෙ. සේවාදායකය (පර්යේෂණාත්මක!)",
|
"dhcp_title": "ග.ධා.වි.කෙ. සේවාදායකය (පර්යේෂණාත්මක!)",
|
||||||
"dhcp_description": "ඔබගේ මාර්ගකාරකය ග.ධා.වි.කෙ. (DHCP) සැකසුම් ලබා නොදෙන්නේ නම්, ඔබට ඇඩ්ගාර්ඩ් හි ඇති ග.ධා.වි.කෙ. සේවාදායකය භාවිතා කළ හැකිය.",
|
"dhcp_description": "ඔබගේ මාර්ගකාරකය ග.ධා.වි.කෙ. (DHCP) සැකසුම් ලබා නොදෙන්නේ නම්, ඔබට ඇඩ්ගාර්ඩ් හි තිළෑලි ග.ධා.වි.කෙ. සේවාදායකය භාවිතා කළ හැකිය.",
|
||||||
"dhcp_enable": "ග.ධා.වි.කෙ. සේවාදායකය සබල කරන්න",
|
"dhcp_enable": "ග.ධා.වි.කෙ. සේවාදායකය සබල කරන්න",
|
||||||
"dhcp_disable": "ග.ධා.වි.කෙ. සේවාදායකය අබල කරන්න",
|
"dhcp_disable": "ග.ධා.වි.කෙ. සේවාදායකය අබල කරන්න",
|
||||||
|
"dhcp_not_found": "ඇඩ්ගාර්ඩ් හෝම් සඳහා ජාලයෙහි කිසිදු ක්රියාත්මක ග.ධා.වි.කෙ. සේවාදායකයක් හමු නොවූ නිසා තිළෑලි සේවාදායකය සබල කිරීම ආරක්ෂිත වේ. කෙසේ වෙතත්, ස්වයංක්රීය ඒෂණය ඉතා නිවැරදි නොවිය හැකි බැවින් ඔබ එය අතින් නැවත පරීක්ෂා කළ යුතුය.",
|
||||||
|
"dhcp_found": "ක්රියාත්මක ග.ධා.වි.කෙ සේවාදායකයක් ජාලය තුළ හමු විය. තිළෑලි ග.ධා.වි.කෙ සේවාදායකය සබල කිරීම ආරක්ෂිත නොවේ.",
|
||||||
|
"dhcp_leases": "ග.ධා.වි.කෙ. කල්පැවරීම",
|
||||||
|
"dhcp_static_leases": "ස්ථිර ග.ධා.වි.කෙ. කල්පැවරීම",
|
||||||
|
"dhcp_leases_not_found": "ග.ධා.වි.කෙ. කල්පැවරීම් නැත",
|
||||||
"dhcp_config_saved": "ග.ධා.වි.කෙ. වින්යාසය සාර්ථකව සුරකින ලදි",
|
"dhcp_config_saved": "ග.ධා.වි.කෙ. වින්යාසය සාර්ථකව සුරකින ලදි",
|
||||||
"dhcp_ipv4_settings": "ග.ධා.වි.කෙ. අ.ජා.කෙ. 4 සැකසුම්",
|
"dhcp_ipv4_settings": "ග.ධා.වි.කෙ. අ.ජා.කෙ. 4 සැකසුම්",
|
||||||
"dhcp_ipv6_settings": "ග.ධා.වි.කෙ. අ.ජා.කෙ. 6 සැකසුම්",
|
"dhcp_ipv6_settings": "ග.ධා.වි.කෙ. අ.ජා.කෙ. 6 සැකසුම්",
|
||||||
"form_error_required": "ඇවැසි ක්ෂේත්රයකි",
|
"form_error_required": "ඇවැසි ක්ෂේත්රයකි",
|
||||||
"form_error_ip4_format": "IPv4 ලිපිනය වලංගු නොවේ",
|
"form_error_ip4_format": "IPv4 ලිපිනය වලංගු නොවේ",
|
||||||
"form_error_ip4_range_start_format": "පරාසය ආරම්භයේ වලංගු නොවන අ.ජා.කෙ.4 ලිපිනයකි",
|
|
||||||
"form_error_ip4_range_end_format": "පරාසය අවසානයේ වලංගු නොවන අ.ජා.කෙ.4 ලිපිනයකි",
|
|
||||||
"form_error_ip6_format": "වලංගු නොවන අ.ජා.කෙ.6 ලිපිනයකි",
|
"form_error_ip6_format": "වලංගු නොවන අ.ජා.කෙ.6 ලිපිනයකි",
|
||||||
"form_error_ip_format": "අ.ජා.කෙ. (IP) ලිපිනය වලංගු නොවේ",
|
"form_error_ip_format": "අ.ජා.කෙ. (IP) ලිපිනය වලංගු නොවේ",
|
||||||
"form_error_mac_format": "මා.ප්ර.පා. ලිපිනය වලංගු නොවේ",
|
"form_error_mac_format": "මා.ප්ර.පා. ලිපිනය වලංගු නොවේ",
|
||||||
"form_error_client_id_format": "අනුග්රාහකයේ හැඳු. වලංගු නොවේ",
|
"form_error_client_id_format": "අනුග්රාහකයේ හැඳු. වලංගු නොවේ",
|
||||||
"form_error_server_name": "සේවාදායකයේ නම වලංගු නොවේ",
|
"form_error_server_name": "සේවාදායකයේ නම වලංගු නොවේ",
|
||||||
|
"form_error_subnet": "\"{{cidr}}\" අනුජාලය හි \"{{ip}}\" අ.ජා.කෙ. ලිපිනය අඩංගු නොවේ",
|
||||||
"form_error_positive": "0 ට වඩා වැඩි විය යුතුය",
|
"form_error_positive": "0 ට වඩා වැඩි විය යුතුය",
|
||||||
"out_of_range_error": "\"{{start}}\"-\"{{end}}\" පරාසයෙන් පිට විය යුතුය",
|
"out_of_range_error": "\"{{start}}\"-\"{{end}}\" පරාසයෙන් පිට විය යුතුය",
|
||||||
"lower_range_start_error": "පරාසය ආරම්භයට වඩා අඩු විය යුතුය",
|
"lower_range_start_error": "පරාසය ආරම්භයට වඩා අඩු විය යුතුය",
|
||||||
"greater_range_start_error": "පරාසය ආරම්භයට වඩා වැඩි විය යුතුය",
|
"greater_range_start_error": "පරාසය ආරම්භයට වඩා වැඩි විය යුතුය",
|
||||||
"greater_range_end_error": "පරාසය අවසානයට වඩා වැඩි විය යුතුය",
|
|
||||||
"subnet_error": "ලිපින එක් අනුජාලයක තිබිය යුතුය",
|
"subnet_error": "ලිපින එක් අනුජාලයක තිබිය යුතුය",
|
||||||
"dhcp_form_range_title": "අ.ජා. කෙ. (IP) ලිපින පරාසය",
|
"dhcp_form_range_title": "අ.ජා. කෙ. (IP) ලිපින පරාසය",
|
||||||
"dhcp_form_range_start": "පරාසය ආරම්භය",
|
"dhcp_form_range_start": "පරාසය ආරම්භය",
|
||||||
"dhcp_form_range_end": "පරාසය අවසානය",
|
"dhcp_form_range_end": "පරාසය අවසානය",
|
||||||
|
"dhcp_form_lease_title": "ග.ධා.වි.කෙ. කල්පැවරීම (තත්. වලින්)",
|
||||||
|
"dhcp_form_lease_input": "කල්පැවරීමේ පරාසය",
|
||||||
"dhcp_interface_select": "ග.ධා.වි.කෙ. අතුරුමුහුණත තෝරන්න",
|
"dhcp_interface_select": "ග.ධා.වි.කෙ. අතුරුමුහුණත තෝරන්න",
|
||||||
"dhcp_hardware_address": "දෘඩාංග ලිපිනය",
|
"dhcp_hardware_address": "දෘඩාංග ලිපිනය",
|
||||||
"dhcp_ip_addresses": "අ.ජා.කෙ. (IP) ලිපින",
|
"dhcp_ip_addresses": "අ.ජා.කෙ. (IP) ලිපින",
|
||||||
@@ -50,6 +56,14 @@
|
|||||||
"dhcp_error": "ජාලයේ තවත් ක්රියාත්මක ග.ධා.වි.කෙ. සේවාදායකයක් තිබේද යන්න නිශ්චය කළ නොහැකි විය",
|
"dhcp_error": "ජාලයේ තවත් ක්රියාත්මක ග.ධා.වි.කෙ. සේවාදායකයක් තිබේද යන්න නිශ්චය කළ නොහැකි විය",
|
||||||
"dhcp_static_ip_error": "ග.ධා.වි.කෙ. සේවාදායකය භාවිතා කිරීම සඳහා ස්ථිතික අන්තර්ජාල කෙටුම්පත් (IP) ලිපිනයක් සැකසිය යුතුය. මෙම ජාල අතුරුමුහුණත ස්ථිතික අ.ජා. කෙ. ලිපිනයක් භාවිතයෙන් වින්යාසගත කර තිබේද යන්න තීරණය කිරීමට ඇඩ්ගාර්ඩ් හෝම් අසමත් විය. කරුණාකර ස්ථිතික අ.ජා. කෙ. ලිපිනයක් අතින් සකසන්න.",
|
"dhcp_static_ip_error": "ග.ධා.වි.කෙ. සේවාදායකය භාවිතා කිරීම සඳහා ස්ථිතික අන්තර්ජාල කෙටුම්පත් (IP) ලිපිනයක් සැකසිය යුතුය. මෙම ජාල අතුරුමුහුණත ස්ථිතික අ.ජා. කෙ. ලිපිනයක් භාවිතයෙන් වින්යාසගත කර තිබේද යන්න තීරණය කිරීමට ඇඩ්ගාර්ඩ් හෝම් අසමත් විය. කරුණාකර ස්ථිතික අ.ජා. කෙ. ලිපිනයක් අතින් සකසන්න.",
|
||||||
"dhcp_dynamic_ip_found": "ඔබගේ පද්ධතිය <0>{{interfaceName}}</0> අතුරු මුහුණත සඳහා ගතික අන්තර්ජාල කෙටුම්පත් (IP) ලිපින වින්යාසය භාවිතා කරයි. ග.ධා.වි.කෙ. සේවාදායකය භාවිතා කිරීම සඳහා ස්ථිතික අ.ජා. කෙ. ලිපිනයක් සැකසිය යුතුය. ඔබගේ වර්තමාන අ.ජා. කෙ. ලිපිනය <0>{{ipAddress}}</0> වේ. ඔබ \"ග.ධා.වි.කෙ. සබල කරන්න\" බොත්තම එබුවහොත් ඇඩ්ගාර්ඩ් හෝම් ස්වයංක්රීයව මෙම අ.ජා. කෙ. ලිපිනය ස්ථිතික ලෙස සකසනු ඇත.",
|
"dhcp_dynamic_ip_found": "ඔබගේ පද්ධතිය <0>{{interfaceName}}</0> අතුරු මුහුණත සඳහා ගතික අන්තර්ජාල කෙටුම්පත් (IP) ලිපින වින්යාසය භාවිතා කරයි. ග.ධා.වි.කෙ. සේවාදායකය භාවිතා කිරීම සඳහා ස්ථිතික අ.ජා. කෙ. ලිපිනයක් සැකසිය යුතුය. ඔබගේ වර්තමාන අ.ජා. කෙ. ලිපිනය <0>{{ipAddress}}</0> වේ. ඔබ \"ග.ධා.වි.කෙ. සබල කරන්න\" බොත්තම එබුවහොත් ඇඩ්ගාර්ඩ් හෝම් ස්වයංක්රීයව මෙම අ.ජා. කෙ. ලිපිනය ස්ථිතික ලෙස සකසනු ඇත.",
|
||||||
|
"dhcp_lease_added": "\"{{key}}\" ස්ථිර කල්පැවරීම එකතු කෙරිණි",
|
||||||
|
"dhcp_lease_deleted": "\"{{key}}\" ස්ථිර කල්පැවරීම මකා දැමිණි",
|
||||||
|
"dhcp_new_static_lease": "නව ස්ථිර කල්පැවරීම",
|
||||||
|
"dhcp_static_leases_not_found": "ග.ධා.වි.කෙ. ස්ථිර කල්පැවරීම් නැත",
|
||||||
|
"dhcp_add_static_lease": "ස්ථිර කල්පැවරීමක් යොදන්න",
|
||||||
|
"dhcp_reset_leases": "කල්පැවරීම් යළි සකසන්න",
|
||||||
|
"dhcp_reset_leases_confirm": "සියළු කල්පැවරීම් යළි සැකසීමට වුවමනා ද?",
|
||||||
|
"dhcp_reset_leases_success": "ග.ධා.වි.කෙ. කල්පැවරීම් යළි සැකසිණි",
|
||||||
"dhcp_reset": "ග.ධා.වි.කෙ. වින්යාසය යළි පිහිටුවීමට අවශ්ය බව ඔබට විශ්වාස ද?",
|
"dhcp_reset": "ග.ධා.වි.කෙ. වින්යාසය යළි පිහිටුවීමට අවශ්ය බව ඔබට විශ්වාස ද?",
|
||||||
"country": "රට",
|
"country": "රට",
|
||||||
"city": "නගරය",
|
"city": "නගරය",
|
||||||
@@ -109,9 +123,10 @@
|
|||||||
"number_of_dns_query_to_safe_search": "ආරක්ෂිත සෙවීම බලාත්මක කළ සෙවුම් යන්ත්ර සඳහා ව.නා.ප. ඉල්ලීම් ගණන",
|
"number_of_dns_query_to_safe_search": "ආරක්ෂිත සෙවීම බලාත්මක කළ සෙවුම් යන්ත්ර සඳහා ව.නා.ප. ඉල්ලීම් ගණන",
|
||||||
"average_processing_time": "සාමාන්ය සැකසුම් කාලය",
|
"average_processing_time": "සාමාන්ය සැකසුම් කාලය",
|
||||||
"average_processing_time_hint": "ව.නා.ප. ඉල්ලීමක් සැකසීමේ සාමාන්ය කාලය මිලි තත්පර වලින්",
|
"average_processing_time_hint": "ව.නා.ප. ඉල්ලීමක් සැකසීමේ සාමාන්ය කාලය මිලි තත්පර වලින්",
|
||||||
"block_domain_use_filters_and_hosts": "පෙරහන් සහ ධාරක ගොනු භාවිතා කරමින් වසම් අවහිර කරන්න",
|
"block_domain_use_filters_and_hosts": "පෙරහන් හා සත්කාරක ගොනු භාවිතයෙන් වසම් අවහිර කරන්න",
|
||||||
"filters_block_toggle_hint": "ඔබට අවහිර කිරීමේ නීති <a>පෙරහන්</a> තුළ පිහිටුවිය හැකිය.",
|
"filters_block_toggle_hint": "ඔබට අවහිර කිරීමේ නීති <a>පෙරහන්</a> තුළ පිහිටුවිය හැකිය.",
|
||||||
"use_adguard_browsing_sec": "ඇඩ්ගාර්ඩ් පිරික්සුම් ආරක්ෂණ වියමන සේවාව භාවිතා කරන්න",
|
"use_adguard_browsing_sec": "ඇඩ්ගාර්ඩ් පිරික්සුම් ආරක්ෂණ වියමන සේවාව භාවිතා කරන්න",
|
||||||
|
"use_adguard_browsing_sec_hint": "ඇඩ්ගාර්ඩ් හෝම් විසින් පිරික්සුම් ආරක්ෂණ වියමන සේවාව මගින් වසම අවහිර කර ඇත්දැයි පරීක්ෂා කරයි. එය සිදු කිරීමට රහස්යතා-හිතකාමී බැලීමේ යෙ.ක්ර.මු. භාවිතා කෙරේ: වසමේ කෙටි උපසර්ගයක SHA256 පූරකයක් පමණක් සේවාදායකය වෙත යවනු ලැබේ.",
|
||||||
"use_adguard_parental": "ඇඩ්ගාර්ඩ් දෙමාපිය පාලන වියමන සේවාව භාවිතා කරන්න",
|
"use_adguard_parental": "ඇඩ්ගාර්ඩ් දෙමාපිය පාලන වියමන සේවාව භාවිතා කරන්න",
|
||||||
"use_adguard_parental_hint": "වසමේ වැඩිහිටියන්ට අදාල කරුණු අඩංගු දැයි ඇඩ්ගාර්ඩ් හෝම් විසින් පරීක්ෂා කරනු ඇත. එය පිරික්සුම් ආරක්ෂණ වියමන සේවාව මෙන් රහස්යතා හිතකාමී යෙ.ක්ර. අ.මු. (API) භාවිතා කරයි.",
|
"use_adguard_parental_hint": "වසමේ වැඩිහිටියන්ට අදාල කරුණු අඩංගු දැයි ඇඩ්ගාර්ඩ් හෝම් විසින් පරීක්ෂා කරනු ඇත. එය පිරික්සුම් ආරක්ෂණ වියමන සේවාව මෙන් රහස්යතා හිතකාමී යෙ.ක්ර. අ.මු. (API) භාවිතා කරයි.",
|
||||||
"enforce_safe_search": "ආරක්ෂිත සෙවුම භාවිතා කරන්න",
|
"enforce_safe_search": "ආරක්ෂිත සෙවුම භාවිතා කරන්න",
|
||||||
@@ -179,13 +194,13 @@
|
|||||||
"example_comment_hash": "# එසේම අදහස් දැක්වීමක්.",
|
"example_comment_hash": "# එසේම අදහස් දැක්වීමක්.",
|
||||||
"example_regex_meaning": "නිශ්චිතව දක්වා ඇති නිත්ය වාක්යවිධියට ගැළපෙන වසම් වෙත ප්රවේශය අවහිර කරයි.",
|
"example_regex_meaning": "නිශ්චිතව දක්වා ඇති නිත්ය වාක්යවිධියට ගැළපෙන වසම් වෙත ප්රවේශය අවහිර කරයි.",
|
||||||
"example_upstream_regular": "සාමාන්ය ව.නා.ප. (UDP හරහා);",
|
"example_upstream_regular": "සාමාන්ය ව.නා.ප. (UDP හරහා);",
|
||||||
"example_upstream_udp": "සාමාන්ය ව.නා.ප. (UDP, සත්කාරක නම හරහා);",
|
"example_upstream_udp": "සාමාන්ය ව.නා.ප. (UDP, සත්කාරක-නම හරහා);",
|
||||||
"example_upstream_dot": "සංකේතිත <0>DNS-over-TLS</0>",
|
"example_upstream_dot": "සංකේතිත <0>TLS-මගින්-ව.නා.ප.</0>;",
|
||||||
"example_upstream_doh": "සංකේතිත <0>DNS-over-HTTPS</0>",
|
"example_upstream_doh": "සංකේතිත <0>HTTPS-මගින්-ව.නා.ප.</0>;",
|
||||||
"example_upstream_doq": "සංකේතිත <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "සංකේතිත <0>QUIC-මගින්-ව.නා.ප.</0>;",
|
||||||
"example_upstream_sdns": "<1>DNSCrypt</1> හෝ <2>HTTPS-හරහා-ව.නා.ප.</2> විසඳුම් සඳහා <0>ව.නා.ප. මුද්දර</0>;",
|
"example_upstream_sdns": "<1>DNSCrypt</1> හෝ <2>HTTPS-මගින්-ව.නා.ප.</2> පිළිවිසඳු සඳහා <0>ව.නා.ප. මුද්දර</0>;",
|
||||||
"example_upstream_tcp": "සාමාන්ය ව.නා.ප. (TCP/ස.පා.කෙ. හරහා);",
|
"example_upstream_tcp": "සාමාන්ය ව.නා.ප. (TCP/ස.පා.කෙ. හරහා);",
|
||||||
"example_upstream_tcp_hostname": "සාමාන්ය ව.නා.ප. (ස.පා.කෙ., සත්කාරක නම හරහා);",
|
"example_upstream_tcp_hostname": "සාමාන්ය ව.නා.ප. (ස.පා.කෙ., සත්කාරක-නම හරහා);",
|
||||||
"all_lists_up_to_date_toast": "සියළුම ලැයිස්තු දැනටමත් යාවත්කාලීනයි",
|
"all_lists_up_to_date_toast": "සියළුම ලැයිස්තු දැනටමත් යාවත්කාලීනයි",
|
||||||
"dns_test_ok_toast": "සඳහන් කළ ව.නා.ප. සේවාදායක නිවැරදිව ක්රියා කරයි",
|
"dns_test_ok_toast": "සඳහන් කළ ව.නා.ප. සේවාදායක නිවැරදිව ක්රියා කරයි",
|
||||||
"dns_test_not_ok_toast": "\"{{key}}\" සේවාදායක(ය): භාවිතා කිරීමට නොහැකි විය, ඔබ එය නිවැරදිව ලියා ඇතිදැයි පරීක්ෂා කරන්න",
|
"dns_test_not_ok_toast": "\"{{key}}\" සේවාදායක(ය): භාවිතා කිරීමට නොහැකි විය, ඔබ එය නිවැරදිව ලියා ඇතිදැයි පරීක්ෂා කරන්න",
|
||||||
@@ -242,14 +257,14 @@
|
|||||||
"blocking_ipv4": "අ.ජා.කෙ.4 අවහිර කිරීම",
|
"blocking_ipv4": "අ.ජා.කෙ.4 අවහිර කිරීම",
|
||||||
"blocking_ipv6": "අ.ජා.කෙ.6 අවහිර කිරීම",
|
"blocking_ipv6": "අ.ජා.කෙ.6 අවහිර කිරීම",
|
||||||
"dnscrypt": "DNSCrypt",
|
"dnscrypt": "DNSCrypt",
|
||||||
"dns_over_https": "HTTPS-හරහා-ව.නා.ප.",
|
"dns_over_https": "HTTPS-මගින්-ව.නා.ප.",
|
||||||
"dns_over_tls": "TLS-හරහා-ව.නා.ප.",
|
"dns_over_tls": "TLS-මගින්-ව.නා.ප.",
|
||||||
"dns_over_quic": "QUIC-හරහා-ව.නා.ප.",
|
"dns_over_quic": "QUIC-මගින්-ව.නා.ප.",
|
||||||
"client_id": "අනුග්රාහකයේ හැඳු.",
|
"client_id": "අනුග්රාහකයේ හැඳු.",
|
||||||
"client_id_placeholder": "අනුග්රාහකයක හැඳු. යොදන්න",
|
"client_id_placeholder": "අනුග්රාහකයක හැඳු. යොදන්න",
|
||||||
"client_id_desc": "අනුග්රාහක හැඳු. මගින් අනුග්රාහක හඳුනාගත හැකිය. කෙසේදැයි <a>මෙතැනින්</a> දැන ගන්න.",
|
"client_id_desc": "අනුග්රාහක හැඳු. මගින් අනුග්රාහක හඳුනාගත හැකිය. කෙසේදැයි <a>මෙතැනින්</a> දැන ගන්න.",
|
||||||
"download_mobileconfig_doh": "HTTPS-හරහා-ව.නා.ප. සඳහා .ජංගමවින්යාසය බාගන්න",
|
"download_mobileconfig_doh": "HTTPS-මගින්-ව.නා.ප. සඳහා .ජංගමවින්යාසය බාගන්න",
|
||||||
"download_mobileconfig_dot": "TLS-හරහා-ව.නා.ප. සඳහා .ජංගමවින්යාසය බාගන්න",
|
"download_mobileconfig_dot": "TLS-මගින්-ව.නා.ප. සඳහා .ජංගමවින්යාසය බාගන්න",
|
||||||
"download_mobileconfig": "වින්යාසගත ගොනුව බාගන්න",
|
"download_mobileconfig": "වින්යාසගත ගොනුව බාගන්න",
|
||||||
"plain_dns": "සරල ව.නා.ප.",
|
"plain_dns": "සරල ව.නා.ප.",
|
||||||
"form_enter_rate_limit": "අනුපාත සීමාව ඇතුල් කරන්න",
|
"form_enter_rate_limit": "අනුපාත සීමාව ඇතුල් කරන්න",
|
||||||
@@ -295,23 +310,24 @@
|
|||||||
"install_submit_title": "සුභ පැතුම්!",
|
"install_submit_title": "සුභ පැතුම්!",
|
||||||
"install_submit_desc": "පිහිටුවීමේ ක්රියා පටිපාටිය අවසන් වී ඇති අතර ඔබ දැන් ඇඩ්ගාර්ඩ් හෝම් භාවිතය ආරම්භ කිරීමට සූදානම්ය.",
|
"install_submit_desc": "පිහිටුවීමේ ක්රියා පටිපාටිය අවසන් වී ඇති අතර ඔබ දැන් ඇඩ්ගාර්ඩ් හෝම් භාවිතය ආරම්භ කිරීමට සූදානම්ය.",
|
||||||
"install_devices_router": "මාර්ගකාරකය",
|
"install_devices_router": "මාර්ගකාරකය",
|
||||||
"install_devices_router_desc": "මෙම පිහිටුම ඔබගේ නිවසේ මාර්ගකාරකයට සම්බන්ධ සියළුම උපාංග ස්වයංක්රීයව ආවරණය කරන අතර ඔබට ඒ සෑම එකක්ම අතින් වින්යාසගත කිරීමට අවශ්ය නොවේ.",
|
"install_devices_router_desc": "මෙම පිහිටුම ඔබගේ නිවසේ මාර්ගකාරකයට සම්බන්ධිත සියළුම උපාංග ස්වයංක්රීයව ආවරණය කරන අතර ඔබට ඒ සෑම එකක්ම අතින් වින්යාසගත කිරීමට අවශ්ය නොවේ.",
|
||||||
"install_devices_address": "ඇඩ්ගාර්ඩ් හෝම් ව.නා.ප. සේවාදායකය පහත ලිපිනයන්ට සවන් දෙමින් පවතී",
|
"install_devices_address": "ඇඩ්ගාර්ඩ් හෝම් ව.නා.ප. සේවාදායකය පහත ලිපිනයන්ට සවන් දෙමින් පවතී",
|
||||||
"install_devices_router_list_1": "ඔබගේ මාර්ගකාරකය සඳහා වූ මනාපයන් විවෘත කරන්න. සාමාන්යයෙන්, එය ඔබගේ අතිරික්සුවෙන් ඒ.ස.නි.(URL) ක් හරහා (http://192.168.0.1/ හෝ http://192.168.1.1/ වැනි) ප්රවේශ විය හැකිය. මුරපදය ඇතුල් කිරීමට සිදු විය හැකි නමුත් එය මතක නැතිනම් බොහෝ විට මාර්ගකාරකයේ බොත්තමක් එබීමෙන් මුරපදය නැවත සැකසිය හැකිය. නමුත් මෙම ක්රියා පටිපාටිය තෝරා ගන්නේ නම්, බොහෝ විට ඔබගේ මාර්ගකාරකයේ සමස්ථ වින්යාසය අහිමි වනු ඇති බව මතක තබා ගන්න.එය පිහිටුවීමට ඔබගේ මාර්ගකාරකයට යෙදුමක් ඇවැසි නම්, කරුණාකර එය ඔබගේ පරිගණකයේ හෝ දුරකථනයේ ස්ථාපනය කර මාර්ගකාරකයේ සැකසුම් වෙත ප්රවේශ වීමට භාවිතා කරන්න.",
|
"install_devices_router_list_1": "ඔබගේ මාර්ගකාරකයෙහි අභිප්රේත විවෘත කරන්න. සාමාන්යයෙන්, එය ඔබගේ අතිරික්සුවෙන් ඒ.ස.නි.(URL) ක් හරහා (http://192.168.0.1/ හෝ http://192.168.1.1/ වැනි) ප්රවේශ විය හැකිය. මුරපදය ඇතුල් කිරීමට සිදු විය හැකි නමුත් එය මතක නැතිනම් බොහෝ විට මාර්ගකාරකයේ බොත්තමක් එබීමෙන් මුරපදය නැවත සැකසීමට හැකිය. නමුත් මෙම ක්රියා පටිපාටිය තෝරා ගන්නේ නම්, බොහෝ විට ඔබගේ මාර්ගකාරකයේ සමස්ථ වින්යාසය අහිමි වනු ඇති බව මතක තබා ගන්න. මෙය පිහිටුවීමට ඔබගේ මාර්ගකාරකයට යෙදුමක් ඇවැසි නම්, කරුණාකර එය ඔබගේ පරිගණකයේ හෝ දුරකථනයේ ස්ථාපනය කර මාර්ගකාරකයේ සැකසුම් වෙත ප්රවේශ වීමට භාවිතා කරන්න.",
|
||||||
"install_devices_router_list_2": "ග.ධා.වි.කෙ. (DHCP)/ ව.නා.ප. (DNS) සැකසුම් සොයා ගන්න. අංක කට්ටල දෙකකට හෝ තුනකට ඉඩ දෙන ක්ෂේත්රයක් අසල ඇති ව.නා.ප. අකුරු බලන්න, සෑම එකක්ම ඉලක්කම් එකේ සිට තුන දක්වා කාණ්ඩ හතරකට බෙදා ඇත.",
|
"install_devices_router_list_2": "ග.ධා.වි.කෙ. (DHCP)/ ව.නා.ප. (DNS) සැකසුම් සොයා ගන්න. අංක කට්ටල දෙකකට හෝ තුනකට ඉඩ දෙන ක්ෂේත්රයක් අසල ඇති ව.නා.ප. අකුරු බලන්න, සෑම එකක්ම ඉලක්කම් එකේ සිට තුන දක්වා කාණ්ඩ හතරකට බෙදා ඇත.",
|
||||||
"install_devices_router_list_3": "ඔබගේ ඇඩ්ගාර්ඩ් හෝම් සේවාදායක ලිපින එහි ඇතුල් කරන්න.",
|
"install_devices_router_list_3": "ඔබගේ ඇඩ්ගාර්ඩ් හෝම් සේවාදායක ලිපින එහි ඇතුල් කරන්න.",
|
||||||
"install_devices_router_list_4": "සමහර වර්ගයේ මාර්ගකාරක වල අභිරුචි ව.නා.ප. සේවාදායකයක් සැකසීමට නොහැකිය. මෙම අවස්ථාවේදී ඇඩ්ගාර්ඩ් හෝම් <0>ග.ධා.වි.කෙ. සේවාදායකයක්</0> ලෙස පිහිටුවන්නේ නම් එය උපකාර වනු ඇත. එසේ නැතිනම්, ඔබගේ විශේෂිත මාර්ගකාරකය සඳහා වූ ව.නා.ප. සේවාදායක රිසිකරණය කරන්නේ කෙසේද යන්න පිළිබඳ අත්පොත පරීක්ෂා කළ යුතුය.",
|
"install_devices_router_list_4": "සමහර වර්ගයේ මාර්ගකාරක වල අභිරුචි ව.නා.ප. සේවාදායකයක් සැකසීමට නොහැකිය. මෙම අවස්ථාවේදී ඇඩ්ගාර්ඩ් හෝම් <0>ග.ධා.වි.කෙ. සේවාදායකයක්</0> ලෙස පිහිටුවන්නේ නම් එය උපකාර වනු ඇත. එසේ නැතිනම්, ඔබගේ විශේෂිත මාර්ගකාරකය සඳහා වූ ව.නා.ප. සේවාදායක රිසිකරණය කරන්නේ කෙසේද යන්න පිළිබඳ අත්පොත පරීක්ෂා කළ යුතුය.",
|
||||||
|
"install_devices_windows_list_1": "පාලන වට්ටෝරුව හෝ වින්ඩෝස් සෙවුම හරහා පාලන මඬල අරින්න.",
|
||||||
"install_devices_windows_list_2": "ජාල සහ අන්තර්ජාල ප්රවර්ගයට ගොස් පසුව ජාල සහ බෙදාගැනීමේ මධ්යස්ථානය වෙත යන්න.",
|
"install_devices_windows_list_2": "ජාල සහ අන්තර්ජාල ප්රවර්ගයට ගොස් පසුව ජාල සහ බෙදාගැනීමේ මධ්යස්ථානය වෙත යන්න.",
|
||||||
"install_devices_windows_list_3": "වම් තීරුවෙහි \"උපයුක්තකයෙහි සැකසුම් වෙනස් කිරීම\" ඔබන්න.",
|
"install_devices_windows_list_3": "වම් තීරුවෙහි \"උපයුක්තකයෙහි සැකසුම් වෙනස් කිරීම\" ඔබන්න.",
|
||||||
"install_devices_windows_list_4": "ඔබගේ ක්රියාකාරී සම්බන්ධතාවය මත දකුණු-ක්ලික් කර ගුණාංග තෝරන්න.",
|
"install_devices_windows_list_4": "ඔබගේ ක්රියාකාරී සම්බන්ධතාවය මත දකුණු-ක්ලික් කර ගුණාංග තෝරන්න.",
|
||||||
"install_devices_windows_list_5": "ලැයිස්තුවෙන් \"අන්තර්ජාල කෙටුම්පත් අනුවාදය 4 (TCP/IPv4)\" (හෝ, IPv6 සඳහා, \"අන්තර්ජාල කෙටුම්පත් අනුවාදය 6 (TCP/IPv6)\") සොයාගෙන එය තෝරා ඉන්පසු ගුණාංග මත නැවත ඔබන්න.",
|
"install_devices_windows_list_5": "ලැයිස්තුවෙන් \"අන්තර්ජාල කෙටුම්පත් අනුවාදය 4 (TCP/IPv4)\" (හෝ, IPv6 සඳහා, \"අන්තර්ජාල කෙටුම්පත් අනුවාදය 6 (TCP/IPv6)\") සොයාගෙන එය තෝරා ඉන්පසු ගුණාංග මත නැවත ඔබන්න.",
|
||||||
"install_devices_windows_list_6": "'පහත සඳහන් ව.නා.ප. සේවාදායක ලිපින භාවිතා කරන්න' යන්න තෝරා ඔබගේ ඇඩ්ගාර්ඩ් හෝම් සේවාදායක ලිපින ඇතුල් කරන්න.",
|
"install_devices_windows_list_6": "'පහත සඳහන් ව.නා.ප. සේවාදායක ලිපින භාවිතා කරන්න' යන්න තෝරා ඔබගේ ඇඩ්ගාර්ඩ් හෝම් සේවාදායක ලිපින ඇතුල් කරන්න.",
|
||||||
"install_devices_macos_list_1": "ඇපල් නිරූපකය එබීමෙන් පසු පද්ධතියේ මනාප වෙත යන්න.",
|
"install_devices_macos_list_1": "ඇපල් නිරූපකය එබීමෙන් පසු පද්ධතියේ අභිප්රේත වෙත යන්න.",
|
||||||
"install_devices_macos_list_2": "ජාලය මත ඔබන්න.",
|
"install_devices_macos_list_2": "ජාලය මත ඔබන්න.",
|
||||||
"install_devices_macos_list_3": "ඔබගේ ලැයිස්තුවේ පළමු සම්බන්ධතාවය තෝරා වැඩිදුර යන්න ඔබන්න.",
|
"install_devices_macos_list_3": "ඔබගේ ලැයිස්තුවේ පළමු සම්බන්ධතාවය තෝරා වැඩිදුර යන්න ඔබන්න.",
|
||||||
"install_devices_macos_list_4": "ව.නා.ප. (DNS) තීරුව තෝරා ඔබගේ ඇඩ්ගාර්ඩ් හෝම් සේවාදායක ලිපින ඇතුල් කරන්න.",
|
"install_devices_macos_list_4": "ව.නා.ප. (DNS) තීරුව තෝරා ඔබගේ ඇඩ්ගාර්ඩ් හෝම් සේවාදායක ලිපින ඇතුල් කරන්න.",
|
||||||
"install_devices_android_list_1": "ඇන්ඩ්රොයිඩ් මෙනුවෙහි මුල් තිරයෙන්, සැකසීම් මත තට්ටු කරන්න.",
|
"install_devices_android_list_1": "ඇන්ඩ්රොයිඩ් මුල් තිරයෙන්, සැකසුම් මත තට්ටු කරන්න.",
|
||||||
"install_devices_android_list_2": "මෙනුවේ වයි-ෆයි මත තට්ටු කරන්න. පවතින සියලුම ජාල ලැයිස්තුගත කර ඇති තිරය පෙන්වනු ඇත (ජංගම සම්බන්ධතාවය සඳහා අභිරුචි ව.නා.ප. සැකසිය නොහැක).",
|
"install_devices_android_list_2": "වට්ටෝරුවෙහි වයි-ෆයි මත තට්ටු කරන්න. පවතින සියළුම ජාල ලේඛන ගතවී තිබෙන තිරය පෙන්වනු ඇත (ජංගම සම්බන්ධතාවය සඳහා අභිරුචි ව.නා.ප. සැකසීමට නොහැකිය).",
|
||||||
"install_devices_android_list_3": "සම්බන්ධිත ජාලය මත දිගු වේලාවක් ඔබන්න, ඉන්පසුව ජාලය වෙනස් කිරීම මත තට්ටු කරන්න.",
|
"install_devices_android_list_3": "සම්බන්ධිත ජාලය මත දිගු වේලාවක් ඔබන්න, ඉන්පසුව ජාලය වෙනස් කිරීම මත තට්ටු කරන්න.",
|
||||||
"install_devices_android_list_4": "ඔබට සමහර උපාංගවල සියළු සැකසුම් බැලීමට \"වැඩිදුර\" සඳහා වූ කොටුව සලකුණු කිරීමට අවශ්ය විය හැකිය. එමෙන්ම ඔබගේ ඇන්ඩ්රොයිඩ් ව.නා.ප. (DNS) සැකසුම් වෙනස් කිරීමට අ.ජා.කෙ. (IP) සැකසුම්, ග.ධා.වි.කෙ. (DHCP) සිට ස්ථිතික වෙත මාරු කළ යුතුය.",
|
"install_devices_android_list_4": "ඔබට සමහර උපාංගවල සියළු සැකසුම් බැලීමට \"වැඩිදුර\" සඳහා වූ කොටුව සලකුණු කිරීමට අවශ්ය විය හැකිය. එමෙන්ම ඔබගේ ඇන්ඩ්රොයිඩ් ව.නා.ප. (DNS) සැකසුම් වෙනස් කිරීමට අ.ජා.කෙ. (IP) සැකසුම්, ග.ධා.වි.කෙ. (DHCP) සිට ස්ථිතික වෙත මාරු කළ යුතුය.",
|
||||||
"install_devices_android_list_5": "ව.නා.ප. 1 සහ ව.නා.ප. 2 පිහිටුවීම් අගයන් ඔබගේ ඇඩ්ගාර්ඩ් හෝම් සේවාදායක ලිපින වලට වෙනස් කරන්න.",
|
"install_devices_android_list_5": "ව.නා.ප. 1 සහ ව.නා.ප. 2 පිහිටුවීම් අගයන් ඔබගේ ඇඩ්ගාර්ඩ් හෝම් සේවාදායක ලිපින වලට වෙනස් කරන්න.",
|
||||||
@@ -328,22 +344,24 @@
|
|||||||
"encryption_config_saved": "සංකේතන වින්යාසය සුරකින ලදි",
|
"encryption_config_saved": "සංකේතන වින්යාසය සුරකින ලදි",
|
||||||
"encryption_server": "සේවාදායකයේ නම",
|
"encryption_server": "සේවාදායකයේ නම",
|
||||||
"encryption_server_enter": "ඔබගේ වසම් නාමය ඇතුල් කරන්න",
|
"encryption_server_enter": "ඔබගේ වසම් නාමය ඇතුල් කරන්න",
|
||||||
|
"encryption_server_desc": "සැකසා ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් විසින් අනුග්රාහක හැඳුනුම් හඳුනා ගැනෙයි, සෘ.ද.ඉ. (DDR) විමසුම්වලට ප්රතිචාර දක්වයි, සහ අතිරේක සම්බන්ධතා වලංගුකරණය සිදු කරයි. නොඑසේ නම්, මෙම විශේෂාංග අබලව ඇත. සහතිකයේ තිබෙන ව.නා.ප. නම් වලින් එකකට ගැළපිය යුතුය.",
|
||||||
"encryption_redirect": "ස්වයංක්රීයව HTTPS වෙත හරවා යවන්න",
|
"encryption_redirect": "ස්වයංක්රීයව HTTPS වෙත හරවා යවන්න",
|
||||||
"encryption_redirect_desc": "සබල කර ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් ඔබව ස්වයංක්රීයව HTTP සිට HTTPS ලිපින වෙත හරවා යවනු ඇත.",
|
"encryption_redirect_desc": "සබල කර ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් ඔබව ස්වයංක්රීයව HTTP සිට HTTPS ලිපින වෙත හරවා යවනු ඇත.",
|
||||||
"encryption_https": "HTTPS තොට",
|
"encryption_https": "HTTPS තොට",
|
||||||
"encryption_https_desc": "HTTPS තොට වින්යාසගත කර ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් පරිපාලක අතුරුමුහුණත HTTPS හරහා ප්රවේශ විය හැකි අතර එය '/dns-query' ස්ථානයේ HTTPS-හරහා-ව.නා.ප. ද ලබා දෙනු ඇත.",
|
"encryption_https_desc": "HTTPS තොට වින්යාසගත නම්, ඇඩ්ගාර්ඩ් හෝම් පරිපාලක අතුරුමුහුණත HTTPS හරහා ප්රවේශ විය හැකි අතර එය '/dns-query' ස්ථානයේ HTTPS-මගින්-ව.නා.ප. ද ලබා දෙනු ඇත.",
|
||||||
"encryption_dot": "TLS-හරහා-ව.නා.ප. තොට",
|
"encryption_dot": "TLS-මගින්-ව.නා.ප. තොට",
|
||||||
"encryption_dot_desc": "මෙම තොට වින්යාසගත කර ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් විසින් මෙම කවුළුව හරහා TLS-හරහා-ව.නා.ප. සේවාදායකයක් ධාවනය කරනු ඇත.",
|
"encryption_dot_desc": "මෙම තොට වින්යාසගත නම්, ඇඩ්ගාර්ඩ් හෝම් විසින් මෙම කවුළුව හරහා TLS-මගින්-ව.නා.ප. සේවාදායකයක් ධාවනය කෙරේ.",
|
||||||
"encryption_doq": "QUIC-හරහා-ව.නා.ප. තොට",
|
"encryption_doq": "QUIC-මගින්-ව.නා.ප. තොට",
|
||||||
"encryption_doq_desc": "මෙම තොට වින්යාසගත කර ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් විසින් මෙම තොට හරහා QUIC-හරහා-ව.නා.ප. සේවාදායකයක් ධාවනය කරනු ඇත.",
|
"encryption_doq_desc": "මෙම තොට වින්යාසගත නම්, ඇඩ්ගාර්ඩ් හෝම් විසින් මෙම තොට හරහා QUIC-මගින්-ව.නා.ප. සේවාදායකයක් ධාවනය කෙරේ.",
|
||||||
"encryption_certificates": "සහතික",
|
"encryption_certificates": "සහතික",
|
||||||
|
"encryption_certificates_desc": "සංකේතනය භාවිතයට, ඔබගේ වසම සඳහා වලංගු SSL සහතික දාමයක් සැපයිය යුතුය. <0>{{link}}</0> වෙතින් නොමිලේ සහතිකයක් ලබා ගැනීමට හැකිය හෝ විශ්වාසදායක සහතික අධිකාරියකින් මිලදී ගන්න.",
|
||||||
"encryption_certificates_input": "ඔබගේ PEM-කේතනය කළ සහතික පිටපත් කර මෙහි අලවන්න.",
|
"encryption_certificates_input": "ඔබගේ PEM-කේතනය කළ සහතික පිටපත් කර මෙහි අලවන්න.",
|
||||||
"encryption_status": "තත්වය",
|
"encryption_status": "තත්වය",
|
||||||
"encryption_expire": "කල් ඉකුත් වීම",
|
"encryption_expire": "කල් ඉකුත් වීම",
|
||||||
"encryption_key": "පුද්ගලික යතුර",
|
"encryption_key": "පුද්ගලික යතුර",
|
||||||
"encryption_key_input": "ඔබගේ සහතිකය සඳහා PEM-කේතනය කළ පුද්ගලික යතුර පිටපත් කර මෙහි අලවන්න.",
|
"encryption_key_input": "ඔබගේ සහතිකය සඳහා PEM-කේතනය කළ පුද්ගලික යතුර පිටපත් කර මෙහි අලවන්න.",
|
||||||
"encryption_enable": "සංකේතනය සබල කරන්න (HTTPS, DNS-over-HTTPS සහ DNS-over-TLS)",
|
"encryption_enable": "සංකේතනය සබල කරන්න (HTTPS, HTTPS-මගින්-ව.නා.ප. සහ TLS-මගින්-ව.නා.ප.)",
|
||||||
"encryption_enable_desc": "සංකේතනය සබල කර ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් පරිපාලක අතුරුමුහුණත HTTPS හරහා ක්රියා කරනු ඇති අතර ව.නා.ප. සේවාදායකය DNS-over-HTTPS සහ DNS-over-TLS හරහා ලැබෙන ඉල්ලීම් සඳහා සවන් දෙනු ඇත.",
|
"encryption_enable_desc": "සංකේතනය සබල කර ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් පරිපාලක අතුරුමුහුණත HTTPS හරහා ක්රියා කරනු ඇති අතර ව.නා.ප. සේවාදායකය HTTPS-මගින්-ව.නා.ප. සහ TLS-මගින්-ව.නා.ප. හරහා ලැබෙන ඉල්ලීම් සඳහා සවන් දෙනු ඇත.",
|
||||||
"encryption_chain_valid": "සහතික දාමය වලංගු ය",
|
"encryption_chain_valid": "සහතික දාමය වලංගු ය",
|
||||||
"encryption_chain_invalid": "සහතික දාමය වලංගු නොවේ",
|
"encryption_chain_invalid": "සහතික දාමය වලංගු නොවේ",
|
||||||
"encryption_key_valid": "මෙය වලංගු {{type}} පුද්ගලික යතුරකි",
|
"encryption_key_valid": "මෙය වලංගු {{type}} පුද්ගලික යතුරකි",
|
||||||
@@ -383,6 +401,7 @@
|
|||||||
"client_edit": "අනුග්රාහකය සංස්කරණය",
|
"client_edit": "අනුග්රාහකය සංස්කරණය",
|
||||||
"client_identifier": "හඳුන්වනය",
|
"client_identifier": "හඳුන්වනය",
|
||||||
"ip_address": "අ.ජා.කෙ. ලිපිනය",
|
"ip_address": "අ.ජා.කෙ. ලිපිනය",
|
||||||
|
"client_identifier_desc": "අ.ජා.කෙ. (IP) ලිපින, අන.ජා. (CIDR), මා.ප්ර.පා. (MAC) ලිපින හෝ අනුග්රාහක හැඳුනුමක් (DoT/DoH/DoQ සඳහා භාවිතා කළ හැකිය) මගින් අනුග්රාහක හඳුනාගත හැකිය. අනුග්රාහක හඳුනා ගන්නේ කෙසේද යන්න පිළිබඳව <0>මෙතැනින්</0> තව දැනගන්න.",
|
||||||
"form_enter_ip": "අ.ජා.කෙ. (IP) ඇතුල් කරන්න",
|
"form_enter_ip": "අ.ජා.කෙ. (IP) ඇතුල් කරන්න",
|
||||||
"form_enter_subnet_ip": "\"{{cidr}}\" අනුජාලයෙහි අ.ජා.කෙ. ලිපිනයක් යොදන්න.",
|
"form_enter_subnet_ip": "\"{{cidr}}\" අනුජාලයෙහි අ.ජා.කෙ. ලිපිනයක් යොදන්න.",
|
||||||
"form_enter_mac": "මා.ප්ර.පා. (MAC) යොදන්න",
|
"form_enter_mac": "මා.ප්ර.පා. (MAC) යොදන්න",
|
||||||
@@ -401,25 +420,32 @@
|
|||||||
"access_title": "ප්රවේශවීමට සැකසුම්",
|
"access_title": "ප්රවේශවීමට සැකසුම්",
|
||||||
"access_desc": "මෙහිදී ඔබට ඇඩ්ගාර්ඩ් හෝම් ව.නා.ප. සේවාදායකයට ප්රවේශ වීමේ නීති වින්යාසගත කළ හැකිය",
|
"access_desc": "මෙහිදී ඔබට ඇඩ්ගාර්ඩ් හෝම් ව.නා.ප. සේවාදායකයට ප්රවේශ වීමේ නීති වින්යාසගත කළ හැකිය",
|
||||||
"access_allowed_title": "ඉඩ ලත් අනුග්රාහකයින්",
|
"access_allowed_title": "ඉඩ ලත් අනුග්රාහකයින්",
|
||||||
"access_allowed_desc": "CIDR හෝ අ.ජා. කෙ. ලිපින ලැයිස්තුවක් වින්යාසගත කර ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් විසින් එම අ.ජා. කෙ. ලිපින වලින් පමණක් ඉල්ලීම් පිළිගනු ඇත.",
|
"access_allowed_desc": "අන.ජා.(CIDR), අ.ජා.කෙ. ලිපින හෝ <a>අනුග්රාහක හැඳු.</a> ලේඛනයකි. මෙහි නිවේශිත ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් විසින් එම අනුග්රාහක වලින් පමණක් ඉල්ලීම් පිළිගනු ඇත.",
|
||||||
"access_disallowed_title": "නොඉඩ ලත් අනුග්රාහකයින්",
|
"access_disallowed_title": "නොඉඩ ලත් අනුග්රාහකයින්",
|
||||||
"access_disallowed_desc": "CIDR හෝ අ.ජා. කෙ. ලිපින ලැයිස්තුවක් වින්යාසගත කර ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් විසින් එම අ.ජා. කෙ. ලිපින වලින් ඉල්ලීම් අත්හරිනු ඇත.",
|
"access_disallowed_desc": "අන.ජා.(CIDR), අ.ජා.කෙ. ලිපින හෝ <a>අනුග්රාහක හැඳු.</a> ලේඛනයකි. මෙහි නිවේශිත ඇත්නම්, ඇඩ්ගාර්ඩ් හෝම් විසින් එම අනුග්රාහක වලින් ඉල්ලීම් අත්හරිනු ඇත. ඉඩ ලත් අනුග්රාහකවල නිවේශිත තිබේ නම්, මෙම ක්ෂේත්රය නොසලකා හරිනු ඇත.",
|
||||||
"access_blocked_title": "නොඉඩ ලත් වසම්",
|
"access_blocked_title": "නොඉඩ ලත් වසම්",
|
||||||
"access_settings_saved": "ප්රවේශ වීමේ සැකසුම් සාර්ථකව සුරකින ලදි",
|
"access_settings_saved": "ප්රවේශ වීමේ සැකසුම් සාර්ථකව සුරකින ලදි",
|
||||||
"updates_checked": "ඇඩ්ගාර්ඩ් හෝම් හි නව අනුවාදයක් තිබේ",
|
"updates_checked": "ඇඩ්ගාර්ඩ් හෝම් හි නව අනුවාදයක් තිබේ",
|
||||||
"updates_version_equal": "ඇඩ්ගාර්ඩ් හෝම් යාවත්කාලීනයි",
|
"updates_version_equal": "ඇඩ්ගාර්ඩ් හෝම් යාවත්කාලීනයි",
|
||||||
"check_updates_now": "දැන් යාවත්කාල පරීක්ෂා කරන්න",
|
"check_updates_now": "දැන් යාවත්කාල පරීක්ෂා කරන්න",
|
||||||
"dns_privacy": "ව.නා.ප. රහස්යතා",
|
"dns_privacy": "ව.නා.ප. රහස්යතා",
|
||||||
|
"setup_dns_privacy_1": "<0>TLS-මගින්-ව.නා.ප.</0> සඳහා <1>{{address}}</1>.",
|
||||||
|
"setup_dns_privacy_2": "<0>HTTPS-මගින්-ව.නා.ප.</0> සඳහා <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_3": "<0>මෙහි ඔබට භාවිතා කළ හැකි මෘදුකාංග ලැයිස්තුවක් ඇත.</0>",
|
"setup_dns_privacy_3": "<0>මෙහි ඔබට භාවිතා කළ හැකි මෘදුකාංග ලැයිස්තුවක් ඇත.</0>",
|
||||||
"setup_dns_privacy_android_2": "<1>HTTPS-හරහා-ව.නා.ප.</1> සහ <1>TLS-හරහා-ව.නා.ප.</1> සඳහා <0>ඇන්ඩ්රොයිඩ් සඳහා ඇඩ්ගාර්ඩ්</0> සහාය දක්වයි.",
|
"setup_dns_privacy_android_1": "TLS-මගින්-ව.නා.ප සහාය සමගම ඇන්ඩ්රොයිඩ් 9 පැමිණේ. එය වින්යාස කිරීමට, සැකසුම් → ජාලය හා අන්තර්ජාලය → වැඩිදුර → පෞද්. ව.නා.ප. වෙත ගොස් එහි ඔබගේ වසමේ නම යොදන්න.",
|
||||||
|
"setup_dns_privacy_android_2": "<1>HTTPS-මගින්-ව.නා.ප.</1> හා <1>TLS-මගින්-ව.නා.ප.</1> සඳහා <0>ඇන්ඩ්රොයිඩ් සඳහා ඇඩ්ගාර්ඩ්</0> සහාය දක්වයි.",
|
||||||
|
"setup_dns_privacy_android_3": "<0>ඉන්ට්රා</0> විසින් <1>HTTPS-මගින්-ව.නා.ප</1> සහාය ඇන්ඩ්රොයිඩ් සඳහා එකතු කරයි.",
|
||||||
|
"setup_dns_privacy_ios_2": "<1>HTTPS-මගින්-ව.නා.ප.</1> හා <1>TLS-මගින්-ව.නා.ප.</1> සඳහා <0>අයිඕඑස් සඳහා ඇඩ්ගාර්ඩ්</0> සහාය දක්වයි.",
|
||||||
"setup_dns_privacy_other_title": "වෙනත් ක්රියාවට නැංවූ දෑ",
|
"setup_dns_privacy_other_title": "වෙනත් ක්රියාවට නැංවූ දෑ",
|
||||||
"setup_dns_privacy_other_2": "<0>ඩීඑන්එස්ප්රොක්සි</0> දන්නා සියලුම ආරක්ෂිත ව.නා.ප. කෙටුම්පත් සඳහා සහාය දක්වයි.",
|
"setup_dns_privacy_other_1": "ඇඩ්ගාර්ඩ් හෝම් මෘදුකාංගයට ඕනෑම වේදිකාවක ආරක්ෂිත ව.නා.ප. අනුග්රාහකයක් ලෙස ක්රියාත්මක වීමට ද හැකිය.",
|
||||||
"setup_dns_privacy_other_4": "<1>DNS-over-HTTPS</1> සඳහා <0>මොසිල්ලා ෆයර්ෆොක්ස්</0> සහාය දක්වයි.",
|
"setup_dns_privacy_other_2": "<0>ව.නා.ප. ප්රතියුක්තය</0> දන්නා සියළුම ආරක්ෂිත ව.නා.ප. කෙටුම්පත් සඳහා සහාය දක්වයි.",
|
||||||
|
"setup_dns_privacy_other_3": "<1>HTTPS-මගින්-ව.නා.ප.</1> සඳහා <0>dnscrypt-ප්රතියුක්තය</0> සහාය දක්වයි.",
|
||||||
|
"setup_dns_privacy_other_4": "<1>HTTPS-මගින්-ව.නා.ප.</1> සඳහා <0>මොසිල්ලා ෆයර්ෆොක්ස්</0> සහාය දක්වයි.",
|
||||||
"setup_dns_privacy_other_5": "<0>මෙහි</0> සහ <1>මෙහි</1> තවත් ක්රියාවට නැංවූ දෑ ඔබට හමුවනු ඇත.",
|
"setup_dns_privacy_other_5": "<0>මෙහි</0> සහ <1>මෙහි</1> තවත් ක්රියාවට නැංවූ දෑ ඔබට හමුවනු ඇත.",
|
||||||
"setup_dns_privacy_ioc_mac": "අයිඕඑස් සහ මැක්ඕඑස් වින්යාසය",
|
"setup_dns_privacy_ioc_mac": "අයිඕඑස් සහ මැක්ඕඑස් වින්යාසය",
|
||||||
"setup_dns_notice": "ඔබට <1>DNS-over-HTTPS</1> හෝ <1>DNS-over-TLS</1> භාවිතයට ඇඩ්ගාර්ඩ් හෝම් සැකසුම් තුළ <0>සංකේතනය වින්යාසගත</0> කිරීමට ඇවැසිය.",
|
"setup_dns_notice": "ඔබට <1>HTTPS-මගින්-ව.නා.ප.</1> හෝ <1>DNS-මගින්-ව.නා.ප.</1> භාවිතයට ඇඩ්ගාර්ඩ් හෝම් සැකසුම් තුළ <0>සංකේතනය වින්යාසගත</0> කළ යුතුය.",
|
||||||
"rewrite_added": "\"{{key}}\" සඳහා ව.නා.ප. නැවත ලිවීම සාර්ථකව එකතු කෙරිණි",
|
"rewrite_added": "\"{{key}}\" සඳහා ව.නා.ප. නැවත ලිවීම සාර්ථකව එකතු කෙරිණි",
|
||||||
"rewrite_deleted": "\"{{key}}\" සඳහා ව. නා. ප. නැවත ලිවීම සාර්ථකව ඉවත් කෙරිණි",
|
"rewrite_deleted": "\"{{key}}\" සඳහා ව.නා.ප. නැවත ලිවීම ඉවත් කෙරිණි",
|
||||||
"rewrite_add": "ව.නා.ප. නැවත ලිවීමක් එකතු කරන්න",
|
"rewrite_add": "ව.නා.ප. නැවත ලිවීමක් එකතු කරන්න",
|
||||||
"rewrite_not_found": "ව.නා.ප. නැවත ලිවීම් හමු නොවිණි",
|
"rewrite_not_found": "ව.නා.ප. නැවත ලිවීම් හමු නොවිණි",
|
||||||
"rewrite_confirm_delete": "\"{{key}}\" සඳහා ව.නා.ප. නැවත ලිවීම ඉවත් කිරීමට අවශ්ය බව ඔබට විශ්වාසද?",
|
"rewrite_confirm_delete": "\"{{key}}\" සඳහා ව.නා.ප. නැවත ලිවීම ඉවත් කිරීමට අවශ්ය බව ඔබට විශ්වාසද?",
|
||||||
@@ -462,7 +488,7 @@
|
|||||||
"statistics_retention": "සංඛ්යාලේඛන රඳවා තබා ගැනීම",
|
"statistics_retention": "සංඛ්යාලේඛන රඳවා තබා ගැනීම",
|
||||||
"statistics_retention_desc": "ඔබ කාල පරතරය අඩු කළහොත් සමහර දත්ත නැති වනු ඇත",
|
"statistics_retention_desc": "ඔබ කාල පරතරය අඩු කළහොත් සමහර දත්ත නැති වනු ඇත",
|
||||||
"statistics_clear": "සංඛ්යාලේඛන හිස් කරන්න",
|
"statistics_clear": "සංඛ්යාලේඛන හිස් කරන්න",
|
||||||
"statistics_clear_confirm": "සංඛ්යාලේඛන ඉවත් කිරීමට අවශ්ය බව ඔබට විශ්වාස ද?",
|
"statistics_clear_confirm": "සංඛ්යාලේඛන ඉවත් කිරීමට වුවමනා ද?",
|
||||||
"statistics_retention_confirm": "සංඛ්යාලේඛන රඳවා තබා ගැනීම වෙනස් කිරීමට අවශ්ය බව ඔබට විශ්වාසද? ඔබ කාල පරතරයෙහි අගය අඩු කළහොත් සමහර දත්ත නැති වී යනු ඇත",
|
"statistics_retention_confirm": "සංඛ්යාලේඛන රඳවා තබා ගැනීම වෙනස් කිරීමට අවශ්ය බව ඔබට විශ්වාසද? ඔබ කාල පරතරයෙහි අගය අඩු කළහොත් සමහර දත්ත නැති වී යනු ඇත",
|
||||||
"statistics_cleared": "සංඛ්යාලේඛන සාර්ථකව ඉවත් කෙරිණි",
|
"statistics_cleared": "සංඛ්යාලේඛන සාර්ථකව ඉවත් කෙරිණි",
|
||||||
"statistics_enable": "සංඛ්යාලේඛන සබල කරන්න",
|
"statistics_enable": "සංඛ්යාලේඛන සබල කරන්න",
|
||||||
@@ -531,6 +557,7 @@
|
|||||||
"list_updated": "ලැයිස්තු {{count}} ක් යාවත්කාල කෙරිණි",
|
"list_updated": "ලැයිස්තු {{count}} ක් යාවත්කාල කෙරිණි",
|
||||||
"list_updated_plural": "ලැයිස්තු {{count}} ක් යාවත්කාල කෙරිණි",
|
"list_updated_plural": "ලැයිස්තු {{count}} ක් යාවත්කාල කෙරිණි",
|
||||||
"dnssec_enable": "DNSSEC සබල කරන්න",
|
"dnssec_enable": "DNSSEC සබල කරන්න",
|
||||||
|
"validated_with_dnssec": "DNSSEC සමඟ වලංගු කෙරිණි",
|
||||||
"all_queries": "සියළුම විමසුම්",
|
"all_queries": "සියළුම විමසුම්",
|
||||||
"show_blocked_responses": "අවහිර කර ඇත",
|
"show_blocked_responses": "අවහිර කර ඇත",
|
||||||
"show_whitelisted_responses": "ඉඩ දී ඇත",
|
"show_whitelisted_responses": "ඉඩ දී ඇත",
|
||||||
@@ -545,7 +572,7 @@
|
|||||||
"blocklist": "අවහිර කිරීමේ ලැයිස්තුව",
|
"blocklist": "අවහිර කිරීමේ ලැයිස්තුව",
|
||||||
"milliseconds_abbreviation": "මිලි තත්.",
|
"milliseconds_abbreviation": "මිලි තත්.",
|
||||||
"cache_size": "නිහිතයෙහි ප්රමාණය",
|
"cache_size": "නිහිතයෙහි ප්රමාණය",
|
||||||
"cache_size_desc": "ව.නා.ප. නිහිතයෙහි ප්රමාණය (බයිට)",
|
"cache_size_desc": "ව.නා.ප. නිහිතයෙහි ප්රමාණය (බයිට). නිහිතය අබල කිරීමට, හිස්ව තබන්න.",
|
||||||
"cache_ttl_min_override": "අවම පව. කා. අභිබවන්න",
|
"cache_ttl_min_override": "අවම පව. කා. අභිබවන්න",
|
||||||
"cache_ttl_max_override": "උපරිම පව. කා. අභිබවන්න",
|
"cache_ttl_max_override": "උපරිම පව. කා. අභිබවන්න",
|
||||||
"enter_cache_size": "ව.නා.ප. නිහිතයෙහි ප්රමාණය යොදන්න (බයිට)",
|
"enter_cache_size": "ව.නා.ප. නිහිතයෙහි ප්රමාණය යොදන්න (බයිට)",
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Nastavenia DHCP IPv6",
|
"dhcp_ipv6_settings": "Nastavenia DHCP IPv6",
|
||||||
"form_error_required": "Povinná položka.",
|
"form_error_required": "Povinná položka.",
|
||||||
"form_error_ip4_format": "Neplatná IPv4 adresa",
|
"form_error_ip4_format": "Neplatná IPv4 adresa",
|
||||||
"form_error_ip4_range_start_format": "Neplatný začiatok rozsahu IPv4 formátu",
|
|
||||||
"form_error_ip4_range_end_format": "Neplatný koniec rozsahu IPv4 formátu",
|
|
||||||
"form_error_ip4_gateway_format": "Neplatná IPv4 adresa brány",
|
"form_error_ip4_gateway_format": "Neplatná IPv4 adresa brány",
|
||||||
"form_error_ip6_format": "Neplatná IPv6 adresa",
|
"form_error_ip6_format": "Neplatná IPv6 adresa",
|
||||||
"form_error_ip_format": "Neplatná IP adresa",
|
"form_error_ip_format": "Neplatná IP adresa",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Musí byť mimo rozsahu \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Musí byť mimo rozsahu \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Musí byť nižšie ako začiatok rozsahu",
|
"lower_range_start_error": "Musí byť nižšie ako začiatok rozsahu",
|
||||||
"greater_range_start_error": "Musí byť väčšie ako začiatok rozsahu",
|
"greater_range_start_error": "Musí byť väčšie ako začiatok rozsahu",
|
||||||
"greater_range_end_error": "Musí byť väčšie ako koniec rozsahu",
|
|
||||||
"subnet_error": "Adresy musia byť v spoločnej podsieti",
|
"subnet_error": "Adresy musia byť v spoločnej podsieti",
|
||||||
"gateway_or_subnet_invalid": "Maska podsiete je neplatná",
|
"gateway_or_subnet_invalid": "Maska podsiete je neplatná",
|
||||||
"dhcp_form_gateway_input": "IP brána",
|
"dhcp_form_gateway_input": "IP brána",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Zapnutá Rodičovská kontrola",
|
"enabled_parental_toast": "Zapnutá Rodičovská kontrola",
|
||||||
"disabled_safe_search_toast": "Vypnuté Bezpečné vyhľadávanie",
|
"disabled_safe_search_toast": "Vypnuté Bezpečné vyhľadávanie",
|
||||||
"enabled_save_search_toast": "Zapnuté Bezpečné vyhľadávanie",
|
"enabled_save_search_toast": "Zapnuté Bezpečné vyhľadávanie",
|
||||||
|
"updated_save_search_toast": "Nastavenia Bezpečného vyhľadávania boli aktualizované",
|
||||||
"enabled_table_header": "Zapnuté",
|
"enabled_table_header": "Zapnuté",
|
||||||
"name_table_header": "Meno",
|
"name_table_header": "Meno",
|
||||||
"list_url_table_header": "Zoznam URL adries",
|
"list_url_table_header": "Zoznam URL adries",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Tiež komentár.",
|
"example_comment_hash": "# Tiež komentár.",
|
||||||
"example_regex_meaning": "zablokovať prístup k doménam zodpovedajúcim zadanému regulárnemu výrazu.",
|
"example_regex_meaning": "zablokovať prístup k doménam zodpovedajúcim zadanému regulárnemu výrazu.",
|
||||||
"example_upstream_regular": "obyčajná DNS (cez UDP);",
|
"example_upstream_regular": "obyčajná DNS (cez UDP);",
|
||||||
|
"example_upstream_regular_port": "bežný DNS (cez UDP, s portom);",
|
||||||
"example_upstream_udp": "štandardné DNS (cez UDP, hostname);",
|
"example_upstream_udp": "štandardné DNS (cez UDP, hostname);",
|
||||||
"example_upstream_dot": "šifrované <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "šifrované <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "šifrované <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "šifrované <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "šifrované DNS-over-HTTPS s vynúteným <0>HTTP/3</0> a bez spätného prechodu na HTTP/2 alebo nižšie;",
|
||||||
"example_upstream_doq": "šifrované <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "šifrované <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS pečiatky</0> pre <1>DNSCrypt</1> alebo <2>DNS-over-HTTPS</2> rezolvery;",
|
"example_upstream_sdns": "<0>DNS pečiatky</0> pre <1>DNSCrypt</1> alebo <2>DNS-over-HTTPS</2> rezolvery;",
|
||||||
"example_upstream_tcp": "obyčajná DNS (cez TCP);",
|
"example_upstream_tcp": "obyčajná DNS (cez TCP);",
|
||||||
|
"example_upstream_tcp_port": "bežný DNS (cez TCP, s portom);",
|
||||||
"example_upstream_tcp_hostname": "štandardné DNS (cez TCP, hostname);",
|
"example_upstream_tcp_hostname": "štandardné DNS (cez TCP, hostname);",
|
||||||
"all_lists_up_to_date_toast": "Všetky zoznamy sú už aktuálne",
|
"all_lists_up_to_date_toast": "Všetky zoznamy sú už aktuálne",
|
||||||
"updated_upstream_dns_toast": "Upstream servery boli úspešne uložené",
|
"updated_upstream_dns_toast": "Upstream servery boli úspešne uložené",
|
||||||
"dns_test_ok_toast": "Špecifikované DNS servery pracujú korektne",
|
"dns_test_ok_toast": "Špecifikované DNS servery pracujú korektne",
|
||||||
"dns_test_not_ok_toast": "Server \"{{key}}\": nemohol byť použitý, skontrolujte, či ste ho správne napísali",
|
"dns_test_not_ok_toast": "Server \"{{key}}\": nemohol byť použitý, skontrolujte, či ste ho správne napísali",
|
||||||
|
"dns_test_warning_toast": "Upstream \"{{key}}\" neodpovedá na testovacie dopyty a nemusí fungovať správne",
|
||||||
"unblock": "Odblokovať",
|
"unblock": "Odblokovať",
|
||||||
"block": "Blokovať",
|
"block": "Blokovať",
|
||||||
"disallow_this_client": "Zablokovať tohto klienta",
|
"disallow_this_client": "Zablokovať tohto klienta",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "Denník dopytov bol úspešne vymazaný",
|
"query_log_cleared": "Denník dopytov bol úspešne vymazaný",
|
||||||
"query_log_updated": "Denník dopytov bol úspešne aktualizovaný",
|
"query_log_updated": "Denník dopytov bol úspešne aktualizovaný",
|
||||||
"query_log_clear": "Vymazať denníky dopytov",
|
"query_log_clear": "Vymazať denníky dopytov",
|
||||||
"query_log_retention": "Obdobie záznamu denníka dopytov",
|
"query_log_retention": "Rotácia denníkov dopytov",
|
||||||
"query_log_enable": "Zapnúť denník",
|
"query_log_enable": "Zapnúť denník",
|
||||||
"query_log_configuration": "Konfigurácia denníka",
|
"query_log_configuration": "Konfigurácia denníka",
|
||||||
"query_log_disabled": "Protokol dopytov je vypnutý a možno ho nakonfigurovať v <0>nastaveniach</0>",
|
"query_log_disabled": "Protokol dopytov je vypnutý a možno ho nakonfigurovať v <0>nastaveniach</0>",
|
||||||
"query_log_strict_search": "Na prísne vyhľadávanie použite dvojité úvodzovky",
|
"query_log_strict_search": "Na prísne vyhľadávanie použite dvojité úvodzovky",
|
||||||
"query_log_retention_confirm": "Naozaj chcete zmeniť uchovávanie denníku dopytov? Ak znížite hodnotu intervalu, niektoré údaje sa stratia",
|
"query_log_retention_confirm": "Naozaj chcete zmeniť rotáciu denníka dopytov? Ak znížite hodnotu intervalu, niektoré údaje sa stratia",
|
||||||
"anonymize_client_ip": "Anonymizujte IP klienta",
|
"anonymize_client_ip": "Anonymizujte IP klienta",
|
||||||
"anonymize_client_ip_desc": "Neukladať úplnú IP adresu klienta do protokolov a štatistík",
|
"anonymize_client_ip_desc": "Neukladať úplnú IP adresu klienta do protokolov a štatistík",
|
||||||
"dns_config": "Konfigurácia DNS servera",
|
"dns_config": "Konfigurácia DNS servera",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Rýchlostný limit",
|
"rate_limit": "Rýchlostný limit",
|
||||||
"edns_enable": "Povoliť klientsku podsiete EDNS",
|
"edns_enable": "Povoliť klientsku podsiete EDNS",
|
||||||
"edns_cs_desc": "Pridáva možnosť EDNS Client Subnet (ECS) do upstream požiadaviek a zapíše hodnoty odoslané klientmi do denníka dopytov.",
|
"edns_cs_desc": "Pridáva možnosť EDNS Client Subnet (ECS) do upstream požiadaviek a zapíše hodnoty odoslané klientmi do denníka dopytov.",
|
||||||
|
"edns_use_custom_ip": "Použiť vlastnú IP adresu pre EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Povoliť používanie vlastnej IP adresy pre EDNS",
|
||||||
"rate_limit_desc": "Počet požiadaviek za sekundu, ktoré môže jeden klient vykonať. Nastavenie na hodnotu 0 znamená neobmedzene.",
|
"rate_limit_desc": "Počet požiadaviek za sekundu, ktoré môže jeden klient vykonať. Nastavenie na hodnotu 0 znamená neobmedzene.",
|
||||||
"blocking_ipv4_desc": "IP adresa, ktorá sa má vrátiť v prípade blokovanej žiadosti A",
|
"blocking_ipv4_desc": "IP adresa, ktorá sa má vrátiť v prípade blokovanej žiadosti A",
|
||||||
"blocking_ipv6_desc": "IP adresa, ktorá sa má vrátiť v prípade blokovanej žiadosti AAAA",
|
"blocking_ipv6_desc": "IP adresa, ktorá sa má vrátiť v prípade blokovanej žiadosti AAAA",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Odpovedať kódom NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Odpovedať kódom NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "Null IP: Odpoveď s nulovou IP adresou (0.0.0.0 pre A; :: pre AAAA)",
|
"blocking_mode_null_ip": "Null IP: Odpoveď s nulovou IP adresou (0.0.0.0 pre A; :: pre AAAA)",
|
||||||
"blocking_mode_custom_ip": "Vlastná IP adresa: Odpovedzte s manuálne nastavenou IP adresou",
|
"blocking_mode_custom_ip": "Vlastná IP adresa: Odpovedzte s manuálne nastavenou IP adresou",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Svetlá",
|
||||||
|
"theme_dark": "Tmavá",
|
||||||
"upstream_dns_client_desc": "Ak ponecháte toto pole prázdne, AdGuard Home použije servery nakonfigurované v <0>nastaveniach DNS</0>.",
|
"upstream_dns_client_desc": "Ak ponecháte toto pole prázdne, AdGuard Home použije servery nakonfigurované v <0>nastaveniach DNS</0>.",
|
||||||
"tracker_source": "Zdroj sledovania",
|
"tracker_source": "Zdroj sledovania",
|
||||||
"source_label": "Zdroj",
|
"source_label": "Zdroj",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Konfigurácia šifrovania uložená",
|
"encryption_config_saved": "Konfigurácia šifrovania uložená",
|
||||||
"encryption_server": "Meno servera",
|
"encryption_server": "Meno servera",
|
||||||
"encryption_server_enter": "Zadajte meno Vašej domény",
|
"encryption_server_enter": "Zadajte meno Vašej domény",
|
||||||
"encryption_server_desc": "Ak chcete používať protokol HTTPS, musíte zadať názov servera, ktorý zodpovedá Vášmu certifikátu SSL alebo certifikátu so zástupnými znakmi. Ak pole nie je nastavené, bude akceptovať TLS pripojenia pre ľubovoľnú doménu.",
|
"encryption_server_desc": "Ak je nastavené, AdGuard Home zisťuje ClientID, odpovedá na dotazy DDR a vykonáva ďalšie overenia pripojenia. Ak nie je nastavená, tieto funkcie sú vypnuté. Musí sa zhodovať s jedným z názvov DNS v certifikáte.",
|
||||||
"encryption_redirect": "Automaticky presmerovať na HTTPS",
|
"encryption_redirect": "Automaticky presmerovať na HTTPS",
|
||||||
"encryption_redirect_desc": "Ak je táto možnosť začiarknutá, služba AdGuard Home Vás automaticky presmeruje z adresy HTTP na adresy HTTPS.",
|
"encryption_redirect_desc": "Ak je táto možnosť začiarknutá, služba AdGuard Home Vás automaticky presmeruje z adresy HTTP na adresy HTTPS.",
|
||||||
"encryption_https": "HTTPS port",
|
"encryption_https": "HTTPS port",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Vydavateľ",
|
"encryption_issuer": "Vydavateľ",
|
||||||
"encryption_hostnames": "Názvy hostiteľov",
|
"encryption_hostnames": "Názvy hostiteľov",
|
||||||
"encryption_reset": "Naozaj chcete obnoviť nastavenia šifrovania?",
|
"encryption_reset": "Naozaj chcete obnoviť nastavenia šifrovania?",
|
||||||
|
"encryption_warning": "Varovanie",
|
||||||
"topline_expiring_certificate": "Váš SSL certifikát čoskoro vyprší. Aktualizujte <0>Nastavenia šifrovania</0>.",
|
"topline_expiring_certificate": "Váš SSL certifikát čoskoro vyprší. Aktualizujte <0>Nastavenia šifrovania</0>.",
|
||||||
"topline_expired_certificate": "Váš SSL certifikát vypršal. Aktualizujte <0>Nastavenia šifrovania</0>.",
|
"topline_expired_certificate": "Váš SSL certifikát vypršal. Aktualizujte <0>Nastavenia šifrovania</0>.",
|
||||||
"form_error_port_range": "Zadajte číslo portu v rozsahu 80-65535",
|
"form_error_port_range": "Zadajte číslo portu v rozsahu 80-65535",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "K dispozícii je nová verzia aplikácie AdGuard Home\n",
|
"updates_checked": "K dispozícii je nová verzia aplikácie AdGuard Home\n",
|
||||||
"updates_version_equal": "AdGuard Home je aktuálny",
|
"updates_version_equal": "AdGuard Home je aktuálny",
|
||||||
"check_updates_now": "Skontrolovať aktualizácie teraz",
|
"check_updates_now": "Skontrolovať aktualizácie teraz",
|
||||||
|
"version_request_error": "Kontrola aktualizácie zlyhala. Skontrolujte svoje internetové pripojenie.",
|
||||||
"dns_privacy": "DNS súkromie",
|
"dns_privacy": "DNS súkromie",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Použiť <1>{{address}}</1> reťazec.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Použiť <1>{{address}}</1> reťazec.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Použiť <1>{{address}}</1> reťazec.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Použiť <1>{{address}}</1> reťazec.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Naozaj chcete zmeniť uchovávanie štatistík? Ak znížite hodnotu intervalu, niektoré údaje sa stratia",
|
"statistics_retention_confirm": "Naozaj chcete zmeniť uchovávanie štatistík? Ak znížite hodnotu intervalu, niektoré údaje sa stratia",
|
||||||
"statistics_cleared": "Štatistika bola úspešne vynulovaná",
|
"statistics_cleared": "Štatistika bola úspešne vynulovaná",
|
||||||
"statistics_enable": "Zapnúť štatistiku",
|
"statistics_enable": "Zapnúť štatistiku",
|
||||||
|
"ignore_domains": "Ignorované domény (oddelené novým riadkom)",
|
||||||
|
"ignore_domains_title": "Ignorované domény",
|
||||||
|
"ignore_domains_desc_stats": "Dopyty pre tieto domény sa nezapisujú do štatistík",
|
||||||
|
"ignore_domains_desc_query": "Dopyty pre tieto domény sa nezapisujú do denníka dopytov",
|
||||||
"interval_hours": "{{count}} hodina",
|
"interval_hours": "{{count}} hodina",
|
||||||
"interval_hours_plural": "{{count}} hodín",
|
"interval_hours_plural": "{{count}} hodín",
|
||||||
"filters_configuration": "Konfigurácia filtrov",
|
"filters_configuration": "Konfigurácia filtrov",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Zoznam blokovaní",
|
"blocklist": "Zoznam blokovaní",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Veľkosť cache",
|
"cache_size": "Veľkosť cache",
|
||||||
"cache_size_desc": "Veľkosť DNS cache (v bajtoch)",
|
"cache_size_desc": "Veľkosť vyrovnávacej pamäte DNS (v bajtoch). Ak chcete zakázať ukladanie do vyrovnávacej pamäte, ponechajte pole prázdne.",
|
||||||
"cache_ttl_min_override": "Prepísať minimálne TTL",
|
"cache_ttl_min_override": "Prepísať minimálne TTL",
|
||||||
"cache_ttl_max_override": "Prepísať maximálne TTL",
|
"cache_ttl_max_override": "Prepísať maximálne TTL",
|
||||||
"enter_cache_size": "Zadať veľkosť cache (v bajtoch)",
|
"enter_cache_size": "Zadať veľkosť cache (v bajtoch)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Rodičovská kontrola",
|
"parental_control": "Rodičovská kontrola",
|
||||||
"safe_browsing": "Bezpečné prehliadanie",
|
"safe_browsing": "Bezpečné prehliadanie",
|
||||||
"served_from_cache": "{{value}} <i>(prevzatá z cache pamäte)</i>",
|
"served_from_cache": "{{value}} <i>(prevzatá z cache pamäte)</i>",
|
||||||
"form_error_password_length": "Heslo musí mať dĺžku aspoň {{value}} znakov"
|
"form_error_password_length": "Heslo musí mať dĺžku aspoň {{value}} znakov",
|
||||||
|
"anonymizer_notification": "<0>Poznámka:</0> Anonymizácia IP je zapnutá. Môžete ju vypnúť vo <1>Všeobecných nastaveniach</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Naozaj chcete vymazať vyrovnávaciu pamäť DNS?",
|
||||||
|
"cache_cleared": "Vyrovnávacia pamäť DNS bola úspešne vymazaná",
|
||||||
|
"clear_cache": "Vymazať vyrovnávaciu pamäť",
|
||||||
|
"make_static": "Vytvárať štatistiku",
|
||||||
|
"theme_auto_desc": "Automaticky (na základe farebnej schémy Vášho zariadenia)",
|
||||||
|
"theme_dark_desc": "Tmavá téma",
|
||||||
|
"theme_light_desc": "Svetlá téma",
|
||||||
|
"disable_for_seconds": "Na {{count}} sekundu",
|
||||||
|
"disable_for_seconds_plural": "Na {{count}} sekúnd",
|
||||||
|
"disable_for_minutes": "Na {{count}} minútu",
|
||||||
|
"disable_for_minutes_plural": "Na {{count}} minút",
|
||||||
|
"disable_for_hours": "Na {{count}} hodinu",
|
||||||
|
"disable_for_hours_plural": "Na {{count}} hodín",
|
||||||
|
"disable_until_tomorrow": "Do zajtra",
|
||||||
|
"disable_notify_for_seconds": "Vypnite ochranu na {{count}} sekundu",
|
||||||
|
"disable_notify_for_seconds_plural": "Vypnite ochranu na {{count}} sekúnd",
|
||||||
|
"disable_notify_for_minutes": "Vypnite ochranu na {{count}} minútu",
|
||||||
|
"disable_notify_for_minutes_plural": "Vypnite ochranu na {{count}} minút",
|
||||||
|
"disable_notify_for_hours": "Vypnite ochranu na {{count}} hodinu",
|
||||||
|
"disable_notify_for_hours_plural": "Vypnite ochranu na {{count}} hodín",
|
||||||
|
"disable_notify_until_tomorrow": "Vypnúť ochranu do zajtra",
|
||||||
|
"enable_protection_timer": "Ochrana bude zapnutá o {{time}}",
|
||||||
|
"custom_retention_input": "Zadajte retenciu v hodinách",
|
||||||
|
"custom_rotation_input": "Zadajte rotáciu v hodinách",
|
||||||
|
"protection_section_label": "Ochrana",
|
||||||
|
"log_and_stats_section_label": "Protokol dopytov a štatistiky",
|
||||||
|
"ignore_query_log": "Ignorovať tohto klienta v denníku dopytov",
|
||||||
|
"ignore_statistics": "Ignorovanie tohto klienta v štatistikách"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Nastavitve DHCP IPv6",
|
"dhcp_ipv6_settings": "Nastavitve DHCP IPv6",
|
||||||
"form_error_required": "Zahtevano polje.",
|
"form_error_required": "Zahtevano polje.",
|
||||||
"form_error_ip4_format": "Neveljaven naslov IPv4.",
|
"form_error_ip4_format": "Neveljaven naslov IPv4.",
|
||||||
"form_error_ip4_range_start_format": "Neveljaven začetek razpona naslova IPv4",
|
|
||||||
"form_error_ip4_range_end_format": "Neveljaven konec razpona naslova IPv4",
|
|
||||||
"form_error_ip4_gateway_format": "Neveljaven naslov IPv4 prehoda",
|
"form_error_ip4_gateway_format": "Neveljaven naslov IPv4 prehoda",
|
||||||
"form_error_ip6_format": "Neveljaven naslov IPv6",
|
"form_error_ip6_format": "Neveljaven naslov IPv6",
|
||||||
"form_error_ip_format": "Neveljaven naslov IP",
|
"form_error_ip_format": "Neveljaven naslov IP",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Mora biti izven razpona \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Mora biti izven razpona \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Mora biti manjši od začetka razpona",
|
"lower_range_start_error": "Mora biti manjši od začetka razpona",
|
||||||
"greater_range_start_error": "Mora biti večji od začetka razpona",
|
"greater_range_start_error": "Mora biti večji od začetka razpona",
|
||||||
"greater_range_end_error": "Mora biti večji od konca razpona",
|
|
||||||
"subnet_error": "Naslovi morajo biti v enem podomrežju",
|
"subnet_error": "Naslovi morajo biti v enem podomrežju",
|
||||||
"gateway_or_subnet_invalid": "Maska podomrežja ni veljavna",
|
"gateway_or_subnet_invalid": "Maska podomrežja ni veljavna",
|
||||||
"dhcp_form_gateway_input": "IP prehoda",
|
"dhcp_form_gateway_input": "IP prehoda",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "Omogočen starševski nadzor",
|
"enabled_parental_toast": "Omogočen starševski nadzor",
|
||||||
"disabled_safe_search_toast": "Onemogočeno Varno iskanje",
|
"disabled_safe_search_toast": "Onemogočeno Varno iskanje",
|
||||||
"enabled_save_search_toast": "Omogočeno Varno iskanje",
|
"enabled_save_search_toast": "Omogočeno Varno iskanje",
|
||||||
|
"updated_save_search_toast": "Nastavitve varnega iskanja so posodobljene",
|
||||||
"enabled_table_header": "Omogočeno",
|
"enabled_table_header": "Omogočeno",
|
||||||
"name_table_header": "Ime",
|
"name_table_header": "Ime",
|
||||||
"list_url_table_header": "Seznam URL naslovov",
|
"list_url_table_header": "Seznam URL naslovov",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Tudi komentar.",
|
"example_comment_hash": "# Tudi komentar.",
|
||||||
"example_regex_meaning": "onemogoča dostop do domen, ki se ujemajo z določenim regularnim izrazom.",
|
"example_regex_meaning": "onemogoča dostop do domen, ki se ujemajo z določenim regularnim izrazom.",
|
||||||
"example_upstream_regular": "redni DNS (nad UDP);",
|
"example_upstream_regular": "redni DNS (nad UDP);",
|
||||||
|
"example_upstream_regular_port": "redni DNS (nad UDP, z vrati);",
|
||||||
"example_upstream_udp": "redni DNS (nad UDP, ime gostitelja);",
|
"example_upstream_udp": "redni DNS (nad UDP, ime gostitelja);",
|
||||||
"example_upstream_dot": "šifriran <0>DNS-prek-TLS</0>;",
|
"example_upstream_dot": "šifriran <0>DNS-prek-TLS</0>;",
|
||||||
"example_upstream_doh": "šifriran <0>DNS-prek-HTTPS</0>;",
|
"example_upstream_doh": "šifriran <0>DNS-prek-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "šifriran DNS prek HTTPS s prisilnim <0>HTTP/3</0> in brez povratne možnosti za HTTP/2 ali nižjim;",
|
||||||
"example_upstream_doq": "šifriran <0>DNS-prek-QUIC</0>;",
|
"example_upstream_doq": "šifriran <0>DNS-prek-QUIC</0>;",
|
||||||
"example_upstream_sdns": "lahko uporabite <0>DNS Žige</0> za reševalce <1>DNSCrypt</1> ali <2>DNS-prek-HTTPS</2>;",
|
"example_upstream_sdns": "lahko uporabite <0>DNS Žige</0> za reševalce <1>DNSCrypt</1> ali <2>DNS-prek-HTTPS</2>;",
|
||||||
"example_upstream_tcp": "redni DNS (nad TCP);",
|
"example_upstream_tcp": "redni DNS (nad TCP);",
|
||||||
|
"example_upstream_tcp_port": "redni DNS (nad TCP, z vrati);",
|
||||||
"example_upstream_tcp_hostname": "redni DNS (nad TCP, ime gostitelja);",
|
"example_upstream_tcp_hostname": "redni DNS (nad TCP, ime gostitelja);",
|
||||||
"all_lists_up_to_date_toast": "Vsi seznami so že posodobljeni",
|
"all_lists_up_to_date_toast": "Vsi seznami so že posodobljeni",
|
||||||
"updated_upstream_dns_toast": "Gorvodni trežniki so uspešno shranjeni",
|
"updated_upstream_dns_toast": "Gorvodni trežniki so uspešno shranjeni",
|
||||||
"dns_test_ok_toast": "Navedeni strežniki DNS delujejo pravilno",
|
"dns_test_ok_toast": "Navedeni strežniki DNS delujejo pravilno",
|
||||||
"dns_test_not_ok_toast": "Ni mogoče uporabiti: strežnika \"{{key}}\". Preverite, ali ste ga pravilno napisali",
|
"dns_test_not_ok_toast": "Ni mogoče uporabiti: strežnika \"{{key}}\". Preverite, ali ste ga pravilno napisali",
|
||||||
|
"dns_test_warning_toast": "Upstream \"{{key}}\" se ne odziva na testne zahteve in morda ne deluje pravilno",
|
||||||
"unblock": "Omogoči",
|
"unblock": "Omogoči",
|
||||||
"block": "Onemogoči",
|
"block": "Onemogoči",
|
||||||
"disallow_this_client": "Onemogoči tega odjemalca",
|
"disallow_this_client": "Onemogoči tega odjemalca",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "Dnevnik poizvedb je uspešno izbrisan",
|
"query_log_cleared": "Dnevnik poizvedb je uspešno izbrisan",
|
||||||
"query_log_updated": "Dnevnik poizvedb je bil uspešno posodobljen",
|
"query_log_updated": "Dnevnik poizvedb je bil uspešno posodobljen",
|
||||||
"query_log_clear": "Počisti dnevnike poizvedb",
|
"query_log_clear": "Počisti dnevnike poizvedb",
|
||||||
"query_log_retention": "Zadrževanje dnevnikov poizvedb",
|
"query_log_retention": "Rotacija dnevnikov poizvedb",
|
||||||
"query_log_enable": "Omogoči dnevni",
|
"query_log_enable": "Omogoči dnevni",
|
||||||
"query_log_configuration": "Konfiguracija dnevnikov",
|
"query_log_configuration": "Konfiguracija dnevnikov",
|
||||||
"query_log_disabled": "Dnevnik poizvedb je onemogočen in ga je mogoče konfigurirati v <0>nastavitvah</0>",
|
"query_log_disabled": "Dnevnik poizvedb je onemogočen in ga je mogoče konfigurirati v <0>nastavitvah</0>",
|
||||||
"query_log_strict_search": "Za strogo iskanje uporabite dvojne narekovaje",
|
"query_log_strict_search": "Za strogo iskanje uporabite dvojne narekovaje",
|
||||||
"query_log_retention_confirm": "Ali ste prepričani, da želite spremeniti zadrževanje dnevnika poizvedb? Če zmanjšate vrednost intervala, bodo nekateri podatki izgubljeni",
|
"query_log_retention_confirm": "Ali ste prepričani, da želite spremeniti rotacijo dnevnika poizvedb? Če zmanjšate vrednost intervala, bodo nekateri podatki izgubljeni",
|
||||||
"anonymize_client_ip": "Anonimiziraj odjemalca IP",
|
"anonymize_client_ip": "Anonimiziraj odjemalca IP",
|
||||||
"anonymize_client_ip_desc": "Ne shrani celotnega naslova IP odjemalca v dnevnikih ali statistiki",
|
"anonymize_client_ip_desc": "Ne shrani celotnega naslova IP odjemalca v dnevnikih ali statistiki",
|
||||||
"dns_config": "Konfiguracija strežnika DNS",
|
"dns_config": "Konfiguracija strežnika DNS",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Omejitev hitrosti",
|
"rate_limit": "Omejitev hitrosti",
|
||||||
"edns_enable": "Omogoči odjemalsko podomrežje EDNS",
|
"edns_enable": "Omogoči odjemalsko podomrežje EDNS",
|
||||||
"edns_cs_desc": "Dodaj možnost podomrežja odjemalca EDNS (ECS) zahtevam v gorvodnem toku in zabeleži vrednosti, ki jih pošljejo odjemalci, v dnevnik poizvedb.",
|
"edns_cs_desc": "Dodaj možnost podomrežja odjemalca EDNS (ECS) zahtevam v gorvodnem toku in zabeleži vrednosti, ki jih pošljejo odjemalci, v dnevnik poizvedb.",
|
||||||
|
"edns_use_custom_ip": "Uporabi IP po meri za EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Dovoli uporabo naslova IP po meri za EDNS",
|
||||||
"rate_limit_desc": "Dovoljeno število zahtev na sekundo na odjemalca. Nastavitev na 0 pomeni brez omejitve.",
|
"rate_limit_desc": "Dovoljeno število zahtev na sekundo na odjemalca. Nastavitev na 0 pomeni brez omejitve.",
|
||||||
"blocking_ipv4_desc": "IP naslov, ki mora biti vrnjen za onemogočeno zahtevo A",
|
"blocking_ipv4_desc": "IP naslov, ki mora biti vrnjen za onemogočeno zahtevo A",
|
||||||
"blocking_ipv6_desc": "IP naslov, ki mora biti vrnjen za onemogočeno zahtevo AAAA",
|
"blocking_ipv6_desc": "IP naslov, ki mora biti vrnjen za onemogočeno zahtevo AAAA",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Odziv s kodo NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Odziv s kodo NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "Prazen IP: Odziv z ničelnim naslovom IP (0.0.0.0 za A; :: za AAAA)",
|
"blocking_mode_null_ip": "Prazen IP: Odziv z ničelnim naslovom IP (0.0.0.0 za A; :: za AAAA)",
|
||||||
"blocking_mode_custom_ip": "IP po meri: Odziv z ročno nastavljenim naslovom IP",
|
"blocking_mode_custom_ip": "IP po meri: Odziv z ročno nastavljenim naslovom IP",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Svetla tema",
|
||||||
|
"theme_dark": "Temna tema",
|
||||||
"upstream_dns_client_desc": "Če pustite to polje prazno, bo AdGuard Home uporabil strežnike, konfigurirane v <0>nastavitvah DNS</0>.",
|
"upstream_dns_client_desc": "Če pustite to polje prazno, bo AdGuard Home uporabil strežnike, konfigurirane v <0>nastavitvah DNS</0>.",
|
||||||
"tracker_source": "Vir sledilca",
|
"tracker_source": "Vir sledilca",
|
||||||
"source_label": "Vir",
|
"source_label": "Vir",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "Nastavitve šifriranja so shranjene",
|
"encryption_config_saved": "Nastavitve šifriranja so shranjene",
|
||||||
"encryption_server": "Ime strežnika",
|
"encryption_server": "Ime strežnika",
|
||||||
"encryption_server_enter": "Vnesite ime vaše domene",
|
"encryption_server_enter": "Vnesite ime vaše domene",
|
||||||
"encryption_server_desc": "Za uporabo HTTPS morate vnesti ime strežnika, ki se ujema z vašim digitalnim certifikatom SSL.\n",
|
"encryption_server_desc": "Če je nastavljeno, AdGuard Home zazna ClientID-je, odgovori na poizvedbe DDR in izvede dodatna preverjanja povezave. Če ni nastavljeno, so te funkcije onemogočene. Ujemati se mora z enim od imen DNS v potrdilu.",
|
||||||
"encryption_redirect": "Samodejno preusmeri na HTTPS",
|
"encryption_redirect": "Samodejno preusmeri na HTTPS",
|
||||||
"encryption_redirect_desc": "Če je označeno, vas bo AdGuard Home samodejno preusmeril iz naslovov HTTP na naslove HTTPS.",
|
"encryption_redirect_desc": "Če je označeno, vas bo AdGuard Home samodejno preusmeril iz naslovov HTTP na naslove HTTPS.",
|
||||||
"encryption_https": "Vrata HTTPS",
|
"encryption_https": "Vrata HTTPS",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Izdajatelj",
|
"encryption_issuer": "Izdajatelj",
|
||||||
"encryption_hostnames": "Imena gostiteljev",
|
"encryption_hostnames": "Imena gostiteljev",
|
||||||
"encryption_reset": "Ali ste prepričani, da želite ponastaviti nastavitve šifriranja?",
|
"encryption_reset": "Ali ste prepričani, da želite ponastaviti nastavitve šifriranja?",
|
||||||
|
"encryption_warning": "Opozorilo",
|
||||||
"topline_expiring_certificate": "Vaš e digitalno potrdilo SSL bo kmalu poteklol. Posodobite <0>Nastavitve šifriranja</0>.",
|
"topline_expiring_certificate": "Vaš e digitalno potrdilo SSL bo kmalu poteklol. Posodobite <0>Nastavitve šifriranja</0>.",
|
||||||
"topline_expired_certificate": "Vaše digitalno potrdilo SSL je poteklo. Posodobi <0>Nastavitve šifriranja</0>.",
|
"topline_expired_certificate": "Vaše digitalno potrdilo SSL je poteklo. Posodobi <0>Nastavitve šifriranja</0>.",
|
||||||
"form_error_port_range": "Vnesite številko vrat v razponu med 80-65535",
|
"form_error_port_range": "Vnesite številko vrat v razponu med 80-65535",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "Na voljo je nova različica programa AdGuard Home\n",
|
"updates_checked": "Na voljo je nova različica programa AdGuard Home\n",
|
||||||
"updates_version_equal": "AdGuard Home je posodobljen",
|
"updates_version_equal": "AdGuard Home je posodobljen",
|
||||||
"check_updates_now": "Preveri obstoj posodobitev zdaj",
|
"check_updates_now": "Preveri obstoj posodobitev zdaj",
|
||||||
|
"version_request_error": "Posodobitev ni uspela. Preverite vašo internetno povezavo.",
|
||||||
"dns_privacy": "Zasebnost DNS",
|
"dns_privacy": "Zasebnost DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS-prek-TLS:</0> Uporabite niz <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS-prek-TLS:</0> Uporabite niz <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-prek-HTTPS:</0> Uporabite niz <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS-prek-HTTPS:</0> Uporabite niz <1>{{address}}</1>.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Ali ste prepričani, da želite spremeniti zadrževanje statistike? Če zmanjšate vrednost intervala, bodo nekateri podatki izgubljeni",
|
"statistics_retention_confirm": "Ali ste prepričani, da želite spremeniti zadrževanje statistike? Če zmanjšate vrednost intervala, bodo nekateri podatki izgubljeni",
|
||||||
"statistics_cleared": "Statistika je bila uspešno počiščena",
|
"statistics_cleared": "Statistika je bila uspešno počiščena",
|
||||||
"statistics_enable": "Omogoči statistiko",
|
"statistics_enable": "Omogoči statistiko",
|
||||||
|
"ignore_domains": "Prezrte domene (ločene z novo vrstico)",
|
||||||
|
"ignore_domains_title": "Prezrte domene",
|
||||||
|
"ignore_domains_desc_stats": "Poizvedbe za te domene niso zapisane v statistiko",
|
||||||
|
"ignore_domains_desc_query": "Poizvedbe za te domene niso zapisane v dnevnik poizvedb",
|
||||||
"interval_hours": "{{count}} ur",
|
"interval_hours": "{{count}} ur",
|
||||||
"interval_hours_plural": "{{count}} ur",
|
"interval_hours_plural": "{{count}} ur",
|
||||||
"filters_configuration": "Nastavitve filtrov",
|
"filters_configuration": "Nastavitve filtrov",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Seznam nedovoljenih",
|
"blocklist": "Seznam nedovoljenih",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Velikost predpomnilnika",
|
"cache_size": "Velikost predpomnilnika",
|
||||||
"cache_size_desc": "Velikost predpomnilnika DNS (v bajtih).",
|
"cache_size_desc": "Velikost predpomnilnika DNS (v bajtih). Če želite onemogočiti predpomnjenje, pustite prazno.",
|
||||||
"cache_ttl_min_override": "Preglasi najmanjši TTL",
|
"cache_ttl_min_override": "Preglasi najmanjši TTL",
|
||||||
"cache_ttl_max_override": "Preglasi največji TTL",
|
"cache_ttl_max_override": "Preglasi največji TTL",
|
||||||
"enter_cache_size": "Vnesite velikost predpomnilnika (v bajtih)",
|
"enter_cache_size": "Vnesite velikost predpomnilnika (v bajtih)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Starševski nadzor",
|
"parental_control": "Starševski nadzor",
|
||||||
"safe_browsing": "Varno brskanje",
|
"safe_browsing": "Varno brskanje",
|
||||||
"served_from_cache": "{{value}} <i>(postreženo iz predpomnilnika)</i>",
|
"served_from_cache": "{{value}} <i>(postreženo iz predpomnilnika)</i>",
|
||||||
"form_error_password_length": "Geslo mora vsebovati najmanj {{value}} znakov"
|
"form_error_password_length": "Geslo mora vsebovati najmanj {{value}} znakov",
|
||||||
|
"anonymizer_notification": "<0>Opomba:</0> Anonimizacija IP je omogočena. Onemogočite ga lahko v <1>Splošnih nastavitvah</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Ali ste prepričani, da želite počistiti predpomnilnik DNS?",
|
||||||
|
"cache_cleared": "Predpomnilnik DNS je bil uspešno počiščen",
|
||||||
|
"clear_cache": "Počisti predpomnilnik",
|
||||||
|
"make_static": "Naredi statično",
|
||||||
|
"theme_auto_desc": "Samodejno (glede na barvno shemo vaše naprave)",
|
||||||
|
"theme_dark_desc": "Temna tema",
|
||||||
|
"theme_light_desc": "Svetla tema",
|
||||||
|
"disable_for_seconds": "Za {{count}} sekundo",
|
||||||
|
"disable_for_seconds_plural": "Za {{count}} sekund",
|
||||||
|
"disable_for_minutes": "Za {{count}} minuto",
|
||||||
|
"disable_for_minutes_plural": "Za {{count}} minut",
|
||||||
|
"disable_for_hours": "Za {{count}} uro",
|
||||||
|
"disable_for_hours_plural": "Za {{count}} ur",
|
||||||
|
"disable_until_tomorrow": "Do jutri",
|
||||||
|
"disable_notify_for_seconds": "Onemogoči zaščito za {{count}} sekundo",
|
||||||
|
"disable_notify_for_seconds_plural": "Onemogoči zaščito za {{count}} sekund",
|
||||||
|
"disable_notify_for_minutes": "Onemogoči zaščito za {{count}} minuto",
|
||||||
|
"disable_notify_for_minutes_plural": "Onemogoči zaščito za {{count}} minut",
|
||||||
|
"disable_notify_for_hours": "Onemogoči zaščito za {{count}} uro",
|
||||||
|
"disable_notify_for_hours_plural": "Onemogoči zaščito za {{count}} ur",
|
||||||
|
"disable_notify_until_tomorrow": "Onemogoči zaščito do jutri",
|
||||||
|
"enable_protection_timer": "Zaščita bo omogočena ob {{time}}",
|
||||||
|
"custom_retention_input": "Vnesite zadrževanje v urah",
|
||||||
|
"custom_rotation_input": "Vnesite rotacijo v urah",
|
||||||
|
"protection_section_label": "Zaščita",
|
||||||
|
"log_and_stats_section_label": "Dnevnik poizvedb in statistika",
|
||||||
|
"ignore_query_log": "Ignorirajte tega odjemalca v dnevniku poizvedb",
|
||||||
|
"ignore_statistics": "Ignoriranje tega odjemalca v statistiki"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6 postavke",
|
"dhcp_ipv6_settings": "DHCP IPv6 postavke",
|
||||||
"form_error_required": "Obavezno polje",
|
"form_error_required": "Obavezno polje",
|
||||||
"form_error_ip4_format": "Nevažeća IPv4 adresa",
|
"form_error_ip4_format": "Nevažeća IPv4 adresa",
|
||||||
"form_error_ip4_range_start_format": "Nevažeća IPv4 addresa početnog opsega",
|
|
||||||
"form_error_ip4_range_end_format": "Nevažeća IPv4 addresa završnog opsega",
|
|
||||||
"form_error_ip4_gateway_format": "Nevažeća IPv4 addresa prozala",
|
"form_error_ip4_gateway_format": "Nevažeća IPv4 addresa prozala",
|
||||||
"form_error_ip6_format": "Nevažeća IPv6 adresa",
|
"form_error_ip6_format": "Nevažeća IPv6 adresa",
|
||||||
"form_error_ip_format": "Nevažeća IP adresa",
|
"form_error_ip_format": "Nevažeća IP adresa",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Mora biti izvan opsega \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Mora biti izvan opsega \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Mora biti manje od početnog opsega",
|
"lower_range_start_error": "Mora biti manje od početnog opsega",
|
||||||
"greater_range_start_error": "Mora biti veće od početnog opsega",
|
"greater_range_start_error": "Mora biti veće od početnog opsega",
|
||||||
"greater_range_end_error": "Mora biti veće od završnog opsega",
|
|
||||||
"subnet_error": "Asrese moraju biti u jednoj subnet",
|
"subnet_error": "Asrese moraju biti u jednoj subnet",
|
||||||
"gateway_or_subnet_invalid": "Subnet mask nevažeća",
|
"gateway_or_subnet_invalid": "Subnet mask nevažeća",
|
||||||
"dhcp_form_gateway_input": "IP mrežnog prolaza",
|
"dhcp_form_gateway_input": "IP mrežnog prolaza",
|
||||||
@@ -211,17 +208,21 @@
|
|||||||
"example_comment_hash": "# Takođe komentar.",
|
"example_comment_hash": "# Takođe komentar.",
|
||||||
"example_regex_meaning": "blokiranje pristupa domenima koji odgovaraju određenom uobičajenom izrazu.",
|
"example_regex_meaning": "blokiranje pristupa domenima koji odgovaraju određenom uobičajenom izrazu.",
|
||||||
"example_upstream_regular": "uobičajeno DNS (preko UDP);",
|
"example_upstream_regular": "uobičajeno DNS (preko UDP);",
|
||||||
|
"example_upstream_regular_port": "uobičajen DNS (preko UDP, sa portom);",
|
||||||
"example_upstream_udp": "uobičajen DNS (preko UDP, imena domaćina);",
|
"example_upstream_udp": "uobičajen DNS (preko UDP, imena domaćina);",
|
||||||
"example_upstream_dot": "šifrovano <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "šifrovano <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "šifrovano <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "šifrovano <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "šifrovani DNS-over-HTTPS sa prinudnim <0>HTTP/3</0> bez povratka na HTTP/2 ili ispod;",
|
||||||
"example_upstream_doq": "šifrovano <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "šifrovano <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS brojeve</0> za <1>DNSCrypt</1> ili <2>DNS-over-HTTPS</2> razrešivače;",
|
"example_upstream_sdns": "<0>DNS brojeve</0> za <1>DNSCrypt</1> ili <2>DNS-over-HTTPS</2> razrešivače;",
|
||||||
"example_upstream_tcp": "uobičajeni DNS (preko TCP);",
|
"example_upstream_tcp": "uobičajeni DNS (preko TCP);",
|
||||||
|
"example_upstream_tcp_port": "uobičajen DNS (preko TCP, sa portom);",
|
||||||
"example_upstream_tcp_hostname": "uobičajen DNS (preko TCP, imena domaćina);",
|
"example_upstream_tcp_hostname": "uobičajen DNS (preko TCP, imena domaćina);",
|
||||||
"all_lists_up_to_date_toast": "Sve liste su već ažurirane",
|
"all_lists_up_to_date_toast": "Sve liste su već ažurirane",
|
||||||
"updated_upstream_dns_toast": "Upstream serveri su uspešno sačuvani",
|
"updated_upstream_dns_toast": "Upstream serveri su uspešno sačuvani",
|
||||||
"dns_test_ok_toast": "Dati DNS serveri rade ispravno",
|
"dns_test_ok_toast": "Dati DNS serveri rade ispravno",
|
||||||
"dns_test_not_ok_toast": "Server \"{{key}}\": se ne može koristiti. Proverite da li ste ga ispravno uneli",
|
"dns_test_not_ok_toast": "Server \"{{key}}\": se ne može koristiti. Proverite da li ste ga ispravno uneli",
|
||||||
|
"dns_test_warning_toast": "Apstrim \"{{key}}\" ne odgovara na zahteve za testiranje i možda neće raditi kako treba",
|
||||||
"unblock": "Odblokiraj",
|
"unblock": "Odblokiraj",
|
||||||
"block": "Blokiraj",
|
"block": "Blokiraj",
|
||||||
"disallow_this_client": "Zabrani ovaj klijent",
|
"disallow_this_client": "Zabrani ovaj klijent",
|
||||||
@@ -297,6 +298,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Odgovara sa NXDOMAIN kodom",
|
"blocking_mode_nxdomain": "NXDOMAIN: Odgovara sa NXDOMAIN kodom",
|
||||||
"blocking_mode_null_ip": "Null IP: Odgovara sa zero IP adresom (0.0.0.0 za A; :: za AAAA)",
|
"blocking_mode_null_ip": "Null IP: Odgovara sa zero IP adresom (0.0.0.0 za A; :: za AAAA)",
|
||||||
"blocking_mode_custom_ip": "Prilagođeni IP: Odgovara sa ručno podešenom IP adresom",
|
"blocking_mode_custom_ip": "Prilagođeni IP: Odgovara sa ručno podešenom IP adresom",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Svetla tema",
|
||||||
|
"theme_dark": "Tamna tema",
|
||||||
"upstream_dns_client_desc": "AKo ovo polje ostavite prazno, AdGuard Home će koristiti servere konfigurisane u <0>DNS postavkama</0>.",
|
"upstream_dns_client_desc": "AKo ovo polje ostavite prazno, AdGuard Home će koristiti servere konfigurisane u <0>DNS postavkama</0>.",
|
||||||
"tracker_source": "Izvor praćenja",
|
"tracker_source": "Izvor praćenja",
|
||||||
"source_label": "Izvor",
|
"source_label": "Izvor",
|
||||||
@@ -363,7 +367,7 @@
|
|||||||
"encryption_config_saved": "Konfiguracija šifrovanja je sačuvana",
|
"encryption_config_saved": "Konfiguracija šifrovanja je sačuvana",
|
||||||
"encryption_server": "Ime servera",
|
"encryption_server": "Ime servera",
|
||||||
"encryption_server_enter": "Unesite vaše ime domena",
|
"encryption_server_enter": "Unesite vaše ime domena",
|
||||||
"encryption_server_desc": "Da biste koristili HTTPS, potrebno je da unesete ime servera koje se podudara sa SSL certifikatom ili džoker certifikatom. Ako polje nije postavljeno, prihvatiće TLS veze za bilo koji domen.",
|
"encryption_server_desc": "Ako je podešen, AdGuard Home otkriva ID-ove klijenta, odgovara na DDR upite i izvršava dodatne provere valjanosti veze. Ako se ne postave, ove funkcije su onemogućene. Mora se podudarati sa DNS imenima u certifikatu.",
|
||||||
"encryption_redirect": "Automatski preusmeri na HTTPS",
|
"encryption_redirect": "Automatski preusmeri na HTTPS",
|
||||||
"encryption_redirect_desc": "Ako je označeno, AdGuard Home će vas automatski preusmeravati sa HTTP na HTTPS adrese.",
|
"encryption_redirect_desc": "Ako je označeno, AdGuard Home će vas automatski preusmeravati sa HTTP na HTTPS adrese.",
|
||||||
"encryption_https": "HTTPS port",
|
"encryption_https": "HTTPS port",
|
||||||
@@ -389,6 +393,7 @@
|
|||||||
"encryption_issuer": "Izdavač",
|
"encryption_issuer": "Izdavač",
|
||||||
"encryption_hostnames": "Imena hostova",
|
"encryption_hostnames": "Imena hostova",
|
||||||
"encryption_reset": "Jeste li sigurni da želite dda resetujete postavke šifrovanja?",
|
"encryption_reset": "Jeste li sigurni da želite dda resetujete postavke šifrovanja?",
|
||||||
|
"encryption_warning": "Upozorenje",
|
||||||
"topline_expiring_certificate": "Vaš SSL sertifikat uskoro ističe. Ažurirajte <0>postavke šifrovanja</0>.",
|
"topline_expiring_certificate": "Vaš SSL sertifikat uskoro ističe. Ažurirajte <0>postavke šifrovanja</0>.",
|
||||||
"topline_expired_certificate": "Vaš SSL sertifikat je istekao. Ažurirajte <0>postavke šifrovanja</0>.",
|
"topline_expired_certificate": "Vaš SSL sertifikat je istekao. Ažurirajte <0>postavke šifrovanja</0>.",
|
||||||
"form_error_port_range": "Unesite vrednost porta u opsegu od 80-65535",
|
"form_error_port_range": "Unesite vrednost porta u opsegu od 80-65535",
|
||||||
@@ -449,6 +454,7 @@
|
|||||||
"updates_checked": "Dostupna je nova verzija AdGuard Home-a",
|
"updates_checked": "Dostupna je nova verzija AdGuard Home-a",
|
||||||
"updates_version_equal": "AdGuard Home je ažuriran na najnoviju verziju",
|
"updates_version_equal": "AdGuard Home je ažuriran na najnoviju verziju",
|
||||||
"check_updates_now": "Proveri da li postoje ispravke",
|
"check_updates_now": "Proveri da li postoje ispravke",
|
||||||
|
"version_request_error": "Provera ažuriranja nije uspela. Proverite svoju vezu sa internetom.",
|
||||||
"dns_privacy": "DNS privatnost",
|
"dns_privacy": "DNS privatnost",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> koristi <1>{{address}}</1> string.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> koristi <1>{{address}}</1> string.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> koristi <1>{{address}}</1> string.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> koristi <1>{{address}}</1> string.",
|
||||||
@@ -602,7 +608,7 @@
|
|||||||
"blocklist": "Lista blokiranih",
|
"blocklist": "Lista blokiranih",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Veličina predmemorije",
|
"cache_size": "Veličina predmemorije",
|
||||||
"cache_size_desc": "Veličina DNS predmemorije (u bitovima).",
|
"cache_size_desc": "Veličina DNS keša (u bajtovima). Da biste onemogućili keširanje, ostavite prazno.",
|
||||||
"cache_ttl_min_override": "Prepiši najmanji TTL",
|
"cache_ttl_min_override": "Prepiši najmanji TTL",
|
||||||
"cache_ttl_max_override": "Prepiši najveći TTL",
|
"cache_ttl_max_override": "Prepiši najveći TTL",
|
||||||
"enter_cache_size": "Unesite veličinu predmemorije",
|
"enter_cache_size": "Unesite veličinu predmemorije",
|
||||||
@@ -632,5 +638,10 @@
|
|||||||
"parental_control": "Roditeljska kontrola",
|
"parental_control": "Roditeljska kontrola",
|
||||||
"safe_browsing": "Sigurno pregledanje",
|
"safe_browsing": "Sigurno pregledanje",
|
||||||
"served_from_cache": "{{value}} <i>(posluženo iz predmemorije)</i>",
|
"served_from_cache": "{{value}} <i>(posluženo iz predmemorije)</i>",
|
||||||
"form_error_password_length": "Lozinka mora imati najmanje {{value}} znakova"
|
"form_error_password_length": "Lozinka mora imati najmanje {{value}} znakova",
|
||||||
|
"anonymizer_notification": "<0>Nota:</0> IP prepoznavanje je omogućeno. Možete ga onemogućiti u opštim <1>postavkama</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Želite li zaista da obrišite DNS keš?",
|
||||||
|
"cache_cleared": "DNS keš je uspešno očišćen",
|
||||||
|
"clear_cache": "Obriši keš memoriju",
|
||||||
|
"protection_section_label": "Zaštita"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6 inställningar",
|
"dhcp_ipv6_settings": "DHCP IPv6 inställningar",
|
||||||
"form_error_required": "Obligatoriskt fält",
|
"form_error_required": "Obligatoriskt fält",
|
||||||
"form_error_ip4_format": "Ogiltig IPv4-adress",
|
"form_error_ip4_format": "Ogiltig IPv4-adress",
|
||||||
"form_error_ip4_range_start_format": "Ogiltig IPv4-adress för starten av intervallet",
|
|
||||||
"form_error_ip4_range_end_format": "Ogiltig IPv4-adress för slutet av intervallet",
|
|
||||||
"form_error_ip4_gateway_format": "Ogiltig IPv4 adress för gatewayen",
|
"form_error_ip4_gateway_format": "Ogiltig IPv4 adress för gatewayen",
|
||||||
"form_error_ip6_format": "Ogiltig IPv6-adress",
|
"form_error_ip6_format": "Ogiltig IPv6-adress",
|
||||||
"form_error_ip_format": "Ogiltig IP-adress",
|
"form_error_ip_format": "Ogiltig IP-adress",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Måste vara utanför intervallet \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Måste vara utanför intervallet \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Måste vara lägre än starten på intervallet",
|
"lower_range_start_error": "Måste vara lägre än starten på intervallet",
|
||||||
"greater_range_start_error": "Måste vara högre än starten på intervallet",
|
"greater_range_start_error": "Måste vara högre än starten på intervallet",
|
||||||
"greater_range_end_error": "Måste vara större än intervallets slut",
|
|
||||||
"subnet_error": "Adresser måste finnas i ett subnät",
|
"subnet_error": "Adresser måste finnas i ett subnät",
|
||||||
"gateway_or_subnet_invalid": "Subnätmask ogiltig",
|
"gateway_or_subnet_invalid": "Subnätmask ogiltig",
|
||||||
"dhcp_form_gateway_input": "Gateway-IP",
|
"dhcp_form_gateway_input": "Gateway-IP",
|
||||||
@@ -211,17 +208,21 @@
|
|||||||
"example_comment_hash": "# Också en kommentar",
|
"example_comment_hash": "# Också en kommentar",
|
||||||
"example_regex_meaning": "blockera åtkomst till domäner som matchar det angivna uttrycket",
|
"example_regex_meaning": "blockera åtkomst till domäner som matchar det angivna uttrycket",
|
||||||
"example_upstream_regular": "vanlig DNS (över UDP)",
|
"example_upstream_regular": "vanlig DNS (över UDP)",
|
||||||
|
"example_upstream_regular_port": "vanlig DNS (via UDP, med port);",
|
||||||
"example_upstream_udp": "vanlig DNS (över UDP, värdnamn);",
|
"example_upstream_udp": "vanlig DNS (över UDP, värdnamn);",
|
||||||
"example_upstream_dot": "krypterat <0>DNS-over-TLS</0>",
|
"example_upstream_dot": "krypterat <0>DNS-over-TLS</0>",
|
||||||
"example_upstream_doh": "krypterat <0>DNS-over-HTTPS</0>",
|
"example_upstream_doh": "krypterat <0>DNS-over-HTTPS</0>",
|
||||||
|
"example_upstream_doh3": "krypterad DNS-över-HTTPS med påtvingad <0>HTTP/3</0> och ingen reserv till HTTP/2 eller lägre;",
|
||||||
"example_upstream_doq": "krypterat <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "krypterat <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "Du kan använda <0>DNS-stamps</0> för <1>DNSCrypt</1> eller <2>DNS-over-HTTPS</2>-resolvers",
|
"example_upstream_sdns": "Du kan använda <0>DNS-stamps</0> för <1>DNSCrypt</1> eller <2>DNS-over-HTTPS</2>-resolvers",
|
||||||
"example_upstream_tcp": "vanlig DNS (över UDP)",
|
"example_upstream_tcp": "vanlig DNS (över UDP)",
|
||||||
|
"example_upstream_tcp_port": "vanlig DNS (via TCP, med port);",
|
||||||
"example_upstream_tcp_hostname": "vanlig DNS (över TCP, värdnamn);",
|
"example_upstream_tcp_hostname": "vanlig DNS (över TCP, värdnamn);",
|
||||||
"all_lists_up_to_date_toast": "Alla listor är redan uppdaterade",
|
"all_lists_up_to_date_toast": "Alla listor är redan uppdaterade",
|
||||||
"updated_upstream_dns_toast": "Sparade uppströms dns-servrar",
|
"updated_upstream_dns_toast": "Sparade uppströms dns-servrar",
|
||||||
"dns_test_ok_toast": "Angivna DNS servrar fungerar korrekt",
|
"dns_test_ok_toast": "Angivna DNS servrar fungerar korrekt",
|
||||||
"dns_test_not_ok_toast": "Server \"{{key}}\": kunde inte användas. Var snäll och kolla att du skrivit in rätt",
|
"dns_test_not_ok_toast": "Server \"{{key}}\": kunde inte användas. Var snäll och kolla att du skrivit in rätt",
|
||||||
|
"dns_test_warning_toast": "Uppströms \"{{key}}\" svarar inte på testförfrågningar och kanske inte fungerar korrekt",
|
||||||
"unblock": "Avblockera",
|
"unblock": "Avblockera",
|
||||||
"block": "Blockera",
|
"block": "Blockera",
|
||||||
"disallow_this_client": "Tillåt inte den här klienten",
|
"disallow_this_client": "Tillåt inte den här klienten",
|
||||||
@@ -297,6 +298,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Svara med NXDOMAIN kod",
|
"blocking_mode_nxdomain": "NXDOMAIN: Svara med NXDOMAIN kod",
|
||||||
"blocking_mode_null_ip": "Null IP: Svara med noll IP adress (0.0.0.0 för A; :: för AAAA)",
|
"blocking_mode_null_ip": "Null IP: Svara med noll IP adress (0.0.0.0 för A; :: för AAAA)",
|
||||||
"blocking_mode_custom_ip": "Anpassad IP: Svara med en manuellt inställd IP adress",
|
"blocking_mode_custom_ip": "Anpassad IP: Svara med en manuellt inställd IP adress",
|
||||||
|
"theme_auto": "Auto",
|
||||||
|
"theme_light": "Ljust",
|
||||||
|
"theme_dark": "Mörkt",
|
||||||
"upstream_dns_client_desc": "Om detta fält är tomt kommer AdGuard Home att använda de servrar som konfigurerats i <0>DNS inställningarna</0>.",
|
"upstream_dns_client_desc": "Om detta fält är tomt kommer AdGuard Home att använda de servrar som konfigurerats i <0>DNS inställningarna</0>.",
|
||||||
"tracker_source": "Spårningskälla",
|
"tracker_source": "Spårningskälla",
|
||||||
"source_label": "Källa",
|
"source_label": "Källa",
|
||||||
@@ -363,7 +367,7 @@
|
|||||||
"encryption_config_saved": "Krypteringsinställningar sparade",
|
"encryption_config_saved": "Krypteringsinställningar sparade",
|
||||||
"encryption_server": "Servernamn",
|
"encryption_server": "Servernamn",
|
||||||
"encryption_server_enter": "Skriv in ditt domännamn",
|
"encryption_server_enter": "Skriv in ditt domännamn",
|
||||||
"encryption_server_desc": "För att kunna använda HTTPS måste du ange servernamnet som matchar ditt SSL-certifikat eller jokerteckencertifikat. Om fältet inte är inställt kommer det att acceptera TLS-anslutningar för alla domäner.",
|
"encryption_server_desc": "För att använda HTTPS behöver du skriva in servernamnet som stämmer överens med ditt SSL-certifikat.",
|
||||||
"encryption_redirect": "Omdirigera till HTTPS automatiskt",
|
"encryption_redirect": "Omdirigera till HTTPS automatiskt",
|
||||||
"encryption_redirect_desc": "Om bockad kommer AdGuard Home automatiskt att omdirigera dig från HTTP till HTTPS-adresser.",
|
"encryption_redirect_desc": "Om bockad kommer AdGuard Home automatiskt att omdirigera dig från HTTP till HTTPS-adresser.",
|
||||||
"encryption_https": "HTTPS-port",
|
"encryption_https": "HTTPS-port",
|
||||||
@@ -389,6 +393,7 @@
|
|||||||
"encryption_issuer": "Utgivare",
|
"encryption_issuer": "Utgivare",
|
||||||
"encryption_hostnames": "Värdnamn",
|
"encryption_hostnames": "Värdnamn",
|
||||||
"encryption_reset": "Är du säker på att du vill återställa krypteringsinställningarna?",
|
"encryption_reset": "Är du säker på att du vill återställa krypteringsinställningarna?",
|
||||||
|
"encryption_warning": "Varning",
|
||||||
"topline_expiring_certificate": "Ditt SSL-certifikat håller på att gå ut. <0>Krypteringsinställningar</0>.",
|
"topline_expiring_certificate": "Ditt SSL-certifikat håller på att gå ut. <0>Krypteringsinställningar</0>.",
|
||||||
"topline_expired_certificate": "Ditt SSL-certifikat har gått ut. Uppdatera <0>Krypteringsinställningar</0>-",
|
"topline_expired_certificate": "Ditt SSL-certifikat har gått ut. Uppdatera <0>Krypteringsinställningar</0>-",
|
||||||
"form_error_port_range": "Ange ett portnummer inom värdena 80-65535",
|
"form_error_port_range": "Ange ett portnummer inom värdena 80-65535",
|
||||||
@@ -449,6 +454,7 @@
|
|||||||
"updates_checked": "En ny version av AdGuard Home är tillgänglig\n",
|
"updates_checked": "En ny version av AdGuard Home är tillgänglig\n",
|
||||||
"updates_version_equal": "AdGuard Home är uppdaterat",
|
"updates_version_equal": "AdGuard Home är uppdaterat",
|
||||||
"check_updates_now": "Sök efter uppdateringar nu",
|
"check_updates_now": "Sök efter uppdateringar nu",
|
||||||
|
"version_request_error": "Uppdateringskontroll misslyckades. Kontrollera din internetanslutning.",
|
||||||
"dns_privacy": "DNS-Integritet",
|
"dns_privacy": "DNS-Integritet",
|
||||||
"setup_dns_privacy_1": "<0>DNS-över-TLS:</0> Använd: <1>{{address}}</1>",
|
"setup_dns_privacy_1": "<0>DNS-över-TLS:</0> Använd: <1>{{address}}</1>",
|
||||||
"setup_dns_privacy_2": "<0>DNS-över-HTTPS:</0> Använd: <1>{{address}}</1>",
|
"setup_dns_privacy_2": "<0>DNS-över-HTTPS:</0> Använd: <1>{{address}}</1>",
|
||||||
@@ -517,6 +523,7 @@
|
|||||||
"statistics_retention_confirm": "Är du säker på att du vill ändra retentionstiden för statistik? Om du minskar intervallet kommer viss data att gå förlorad",
|
"statistics_retention_confirm": "Är du säker på att du vill ändra retentionstiden för statistik? Om du minskar intervallet kommer viss data att gå förlorad",
|
||||||
"statistics_cleared": "Statistiken har rensats",
|
"statistics_cleared": "Statistiken har rensats",
|
||||||
"statistics_enable": "Aktivera statistik",
|
"statistics_enable": "Aktivera statistik",
|
||||||
|
"ignore_domains_title": "Ignorerade domäner",
|
||||||
"interval_hours": "{{count}} timme",
|
"interval_hours": "{{count}} timme",
|
||||||
"interval_hours_plural": "{{count}} timmar",
|
"interval_hours_plural": "{{count}} timmar",
|
||||||
"filters_configuration": "Filterinställningar",
|
"filters_configuration": "Filterinställningar",
|
||||||
@@ -602,7 +609,7 @@
|
|||||||
"blocklist": "Blocklista",
|
"blocklist": "Blocklista",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Cachestorlek",
|
"cache_size": "Cachestorlek",
|
||||||
"cache_size_desc": "DNS cachestorlek (i byte).",
|
"cache_size_desc": "DNS-cachestorlek (i byte). Lämna tomt om du vill inaktivera cachelagring.",
|
||||||
"cache_ttl_min_override": "Åsidosätt minsta TTL",
|
"cache_ttl_min_override": "Åsidosätt minsta TTL",
|
||||||
"cache_ttl_max_override": "Åsidosätt maximal TTL",
|
"cache_ttl_max_override": "Åsidosätt maximal TTL",
|
||||||
"enter_cache_size": "Ange cachestorlek (byte)",
|
"enter_cache_size": "Ange cachestorlek (byte)",
|
||||||
@@ -613,7 +620,7 @@
|
|||||||
"ttl_cache_validation": "Minsta cache TTL-värde måste vara mindre än eller lika med maxvärdet",
|
"ttl_cache_validation": "Minsta cache TTL-värde måste vara mindre än eller lika med maxvärdet",
|
||||||
"cache_optimistic": "Optimistisk cachning",
|
"cache_optimistic": "Optimistisk cachning",
|
||||||
"cache_optimistic_desc": "Få AdGuard Home att svara från cachen även när posterna har gått ut och försök även uppdatera dem.",
|
"cache_optimistic_desc": "Få AdGuard Home att svara från cachen även när posterna har gått ut och försök även uppdatera dem.",
|
||||||
"filter_category_general": "General",
|
"filter_category_general": "Allmänt",
|
||||||
"filter_category_security": "säkerhet",
|
"filter_category_security": "säkerhet",
|
||||||
"filter_category_regional": "Regional",
|
"filter_category_regional": "Regional",
|
||||||
"filter_category_other": "Övrigt",
|
"filter_category_other": "Övrigt",
|
||||||
@@ -632,5 +639,18 @@
|
|||||||
"parental_control": "Föräldrakontroll",
|
"parental_control": "Föräldrakontroll",
|
||||||
"safe_browsing": "Säker surfning",
|
"safe_browsing": "Säker surfning",
|
||||||
"served_from_cache": "{{value}} <i>(levereras från cache)</i>",
|
"served_from_cache": "{{value}} <i>(levereras från cache)</i>",
|
||||||
"form_error_password_length": "Lösenordet måste vara minst {{value}} tecken långt"
|
"form_error_password_length": "Lösenordet måste vara minst {{value}} tecken långt",
|
||||||
|
"anonymizer_notification": "<0>Observera:</0> IP-anonymisering är aktiverad. Du kan inaktivera den i <1>Allmänna inställningar</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Är du säker på att du vill rensa DNS-cache?",
|
||||||
|
"cache_cleared": "DNS-cacheminnet har rensats",
|
||||||
|
"clear_cache": "Rensa cache",
|
||||||
|
"theme_dark_desc": "Mörkt tema",
|
||||||
|
"theme_light_desc": "Ljust tema",
|
||||||
|
"disable_for_seconds": "I {{count}} sekund",
|
||||||
|
"disable_for_seconds_plural": "I {{count}} sekunder",
|
||||||
|
"disable_for_minutes": "I {{count}} minut",
|
||||||
|
"disable_for_minutes_plural": "I {{count}} minuter",
|
||||||
|
"disable_for_hours": "I {{count}} timme",
|
||||||
|
"disable_for_hours_plural": "I {{count}} timmar",
|
||||||
|
"disable_until_tomorrow": "Tills imorgon"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -262,6 +262,7 @@
|
|||||||
"encryption_issuer": "ผู้ออกใบรับรอง:",
|
"encryption_issuer": "ผู้ออกใบรับรอง:",
|
||||||
"encryption_hostnames": "ชื่อโฮส",
|
"encryption_hostnames": "ชื่อโฮส",
|
||||||
"encryption_reset": "คุณแน่ใจนะว่าจะล้างค่าการเข้ารหัส?",
|
"encryption_reset": "คุณแน่ใจนะว่าจะล้างค่าการเข้ารหัส?",
|
||||||
|
"encryption_warning": "คำเตือน",
|
||||||
"topline_expiring_certificate": "ใบรับรอง SSL ของคุณกำลังจะหมดอายุ กรุณาอัปเดท <0>การตั้งค่าเข้ารหัส</0>.",
|
"topline_expiring_certificate": "ใบรับรอง SSL ของคุณกำลังจะหมดอายุ กรุณาอัปเดท <0>การตั้งค่าเข้ารหัส</0>.",
|
||||||
"topline_expired_certificate": "ใบรับรอง SSL ของคุณหมดอายุแล้ว กรุณาอัปเดท <0>การตั้งค่าเข้ารหัส</0>.",
|
"topline_expired_certificate": "ใบรับรอง SSL ของคุณหมดอายุแล้ว กรุณาอัปเดท <0>การตั้งค่าเข้ารหัส</0>.",
|
||||||
"form_error_port_unsafe": "เป็นพอร์ทที่ไม่ปลอดภัย",
|
"form_error_port_unsafe": "เป็นพอร์ทที่ไม่ปลอดภัย",
|
||||||
|
|||||||
@@ -37,29 +37,26 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6 Ayarları",
|
"dhcp_ipv6_settings": "DHCP IPv6 Ayarları",
|
||||||
"form_error_required": "Gerekli alan",
|
"form_error_required": "Gerekli alan",
|
||||||
"form_error_ip4_format": "Geçersiz IPv4 adresi",
|
"form_error_ip4_format": "Geçersiz IPv4 adresi",
|
||||||
"form_error_ip4_range_start_format": "Geçersiz başlangıç aralığı IPv4 biçimi",
|
|
||||||
"form_error_ip4_range_end_format": "Geçersiz bitiş aralığı IPv4 adresi",
|
|
||||||
"form_error_ip4_gateway_format": "Geçersiz ağ geçidi IPv4 adresi",
|
"form_error_ip4_gateway_format": "Geçersiz ağ geçidi IPv4 adresi",
|
||||||
"form_error_ip6_format": "Geçersiz IPv6 adresi",
|
"form_error_ip6_format": "Geçersiz IPv6 adresi",
|
||||||
"form_error_ip_format": "Geçersiz IP adresi",
|
"form_error_ip_format": "Geçersiz IP adresi",
|
||||||
"form_error_mac_format": "Geçersiz MAC adresi",
|
"form_error_mac_format": "Geçersiz MAC adresi",
|
||||||
"form_error_client_id_format": "İstemci Kimliği yalnızca sayılar, küçük harfler ve kısa çizgiler içermelidir",
|
"form_error_client_id_format": "İstemci Kimliği yalnızca sayılar, küçük harfler ve kısa çizgiler içermelidir",
|
||||||
"form_error_server_name": "Geçersiz sunucu adı",
|
"form_error_server_name": "Sunucu adı geçersiz",
|
||||||
"form_error_subnet": "\"{{cidr}}\" alt ağı, \"{{ip}}\" IP adresini içermiyor",
|
"form_error_subnet": "\"{{cidr}}\" alt ağı, \"{{ip}}\" IP adresini içermiyor",
|
||||||
"form_error_positive": "0'dan büyük olmalıdır",
|
"form_error_positive": "0'dan büyük olmalıdır",
|
||||||
"form_error_gateway_ip": "Kiralama, ağ geçidinin IP adresine sahip olamaz",
|
"form_error_gateway_ip": "Kiralama, ağ geçidinin IP adresiyle aynı olamaz",
|
||||||
"out_of_range_error": "\"{{start}}\"-\"{{end}}\" aralığının dışında olmalıdır",
|
"out_of_range_error": "\"{{start}}\"-\"{{end}}\" aralığının dışında olmalıdır",
|
||||||
"lower_range_start_error": "Başlangıç aralığından daha düşük olmalıdır",
|
"lower_range_start_error": "Başlangıç aralığından daha düşük olmalıdır",
|
||||||
"greater_range_start_error": "Başlangıç aralığından daha büyük olmalıdır",
|
"greater_range_start_error": "Başlangıç aralığından daha büyük olmalıdır",
|
||||||
"greater_range_end_error": "Bitiş aralığından daha büyük olmalıdır",
|
|
||||||
"subnet_error": "Adresler bir alt ağda olmalıdır",
|
"subnet_error": "Adresler bir alt ağda olmalıdır",
|
||||||
"gateway_or_subnet_invalid": "Alt ağ maskesi geçersiz.",
|
"gateway_or_subnet_invalid": "Geçersiz alt ağ maskesi",
|
||||||
"dhcp_form_gateway_input": "Ağ geçidi IP",
|
"dhcp_form_gateway_input": "Ağ geçidi IP",
|
||||||
"dhcp_form_subnet_input": "Alt ağ maskesi",
|
"dhcp_form_subnet_input": "Alt ağ maskesi",
|
||||||
"dhcp_form_range_title": "IP adresi aralığı",
|
"dhcp_form_range_title": "IP adresi aralığı",
|
||||||
"dhcp_form_range_start": "Başlangıç aralığı",
|
"dhcp_form_range_start": "Başlangıç aralığı",
|
||||||
"dhcp_form_range_end": "Bitiş aralığı",
|
"dhcp_form_range_end": "Bitiş aralığı",
|
||||||
"dhcp_form_lease_title": "DHCP kira süresi (saniye olarak)",
|
"dhcp_form_lease_title": "DHCP kiralama süresi (saniye cinsinden)",
|
||||||
"dhcp_form_lease_input": "Kira süresi",
|
"dhcp_form_lease_input": "Kira süresi",
|
||||||
"dhcp_interface_select": "DHCP arayüzünü seç",
|
"dhcp_interface_select": "DHCP arayüzünü seç",
|
||||||
"dhcp_hardware_address": "Donanım adresi",
|
"dhcp_hardware_address": "Donanım adresi",
|
||||||
@@ -108,9 +105,9 @@
|
|||||||
"report_an_issue": "Bir sorun bildir",
|
"report_an_issue": "Bir sorun bildir",
|
||||||
"privacy_policy": "Gizlilik Politikası",
|
"privacy_policy": "Gizlilik Politikası",
|
||||||
"enable_protection": "Korumayı etkinleştir",
|
"enable_protection": "Korumayı etkinleştir",
|
||||||
"enabled_protection": "Koruma etkileştirildi",
|
"enabled_protection": "Koruma etkinleştirildi",
|
||||||
"disable_protection": "Korumayı devre dışı bırak",
|
"disable_protection": "Korumayı devre dışı bırak",
|
||||||
"disabled_protection": "Koruma durduruldu",
|
"disabled_protection": "Koruma devre dışı bırakıldı",
|
||||||
"refresh_statics": "İstatistikleri yenile",
|
"refresh_statics": "İstatistikleri yenile",
|
||||||
"dns_query": "DNS Sorguları",
|
"dns_query": "DNS Sorguları",
|
||||||
"blocked_by": "<0>Filtreler tarafından engellenen</0>",
|
"blocked_by": "<0>Filtreler tarafından engellenen</0>",
|
||||||
@@ -131,14 +128,14 @@
|
|||||||
"number_of_dns_query_days": "Son {{count}} gün boyunca işlenen DNS sorgularının sayısı",
|
"number_of_dns_query_days": "Son {{count}} gün boyunca işlenen DNS sorgularının sayısı",
|
||||||
"number_of_dns_query_days_plural": "Son {{count}} gün boyunca işlenen DNS sorgularının sayısı",
|
"number_of_dns_query_days_plural": "Son {{count}} gün boyunca işlenen DNS sorgularının sayısı",
|
||||||
"number_of_dns_query_24_hours": "Son 24 saat içinde işlenen DNS sorgularının sayısı",
|
"number_of_dns_query_24_hours": "Son 24 saat içinde işlenen DNS sorgularının sayısı",
|
||||||
"number_of_dns_query_blocked_24_hours": "Reklam engelleme filtreleri ve ana makine engel listeleri tarafından engellenen DNS isteklerinin sayısı",
|
"number_of_dns_query_blocked_24_hours": "Reklam engelleme filtreleri ve hosts engel listeleri tarafından engellenen DNS isteklerinin sayısı",
|
||||||
"number_of_dns_query_blocked_24_hours_by_sec": "AdGuard gezinti koruması modülü tarafından engellenen DNS isteklerinin sayısı",
|
"number_of_dns_query_blocked_24_hours_by_sec": "AdGuard gezinti koruması modülü tarafından engellenen DNS isteklerinin sayısı",
|
||||||
"number_of_dns_query_blocked_24_hours_adult": "Engellenen yetişkin içerikli sitelerin sayısı",
|
"number_of_dns_query_blocked_24_hours_adult": "Engellenen yetişkin içerikli sitelerin sayısı",
|
||||||
"enforced_save_search": "Uygulanan güvenli arama",
|
"enforced_save_search": "Uygulanan güvenli arama",
|
||||||
"number_of_dns_query_to_safe_search": "Güvenli Aramanın uygulandığı arama motorlarına gönderilen DNS isteklerinin sayısı",
|
"number_of_dns_query_to_safe_search": "Güvenli Aramanın uygulandığı arama motorlarına gönderilen DNS isteklerinin sayısı",
|
||||||
"average_processing_time": "Ortalama işlem süresi",
|
"average_processing_time": "Ortalama işlem süresi",
|
||||||
"average_processing_time_hint": "Bir DNS isteğinin milisaniye cinsinden ortalama işlem süresi",
|
"average_processing_time_hint": "Bir DNS isteğinin milisaniye cinsinden ortalama işlem süresi",
|
||||||
"block_domain_use_filters_and_hosts": "Filtre ve ana makine listelerini kullanarak alan adlarını engelle",
|
"block_domain_use_filters_and_hosts": "Filtre ve hosts dosyalarını kullanarak alan adlarını engelle",
|
||||||
"filters_block_toggle_hint": "<a>Filtreler</a> ayarlarında engelleme kuralları oluşturabilirsiniz.",
|
"filters_block_toggle_hint": "<a>Filtreler</a> ayarlarında engelleme kuralları oluşturabilirsiniz.",
|
||||||
"use_adguard_browsing_sec": "AdGuard gezinti koruması web hizmetini kullan",
|
"use_adguard_browsing_sec": "AdGuard gezinti koruması web hizmetini kullan",
|
||||||
"use_adguard_browsing_sec_hint": "AdGuard Home, alan adının gezinti koruması web hizmeti tarafından engellenip engellenmediğini kontrol eder. Kontrolü gerçekleştirmek için gizlilik dostu arama API'sini kullanır: sunucuya yalnızca SHA256 karma alan adının kısa bir ön eki gönderilir.",
|
"use_adguard_browsing_sec_hint": "AdGuard Home, alan adının gezinti koruması web hizmeti tarafından engellenip engellenmediğini kontrol eder. Kontrolü gerçekleştirmek için gizlilik dostu arama API'sini kullanır: sunucuya yalnızca SHA256 karma alan adının kısa bir ön eki gönderilir.",
|
||||||
@@ -170,8 +167,9 @@
|
|||||||
"enabled_parental_toast": "Ebeveyn Denetimi etkinleştirildi",
|
"enabled_parental_toast": "Ebeveyn Denetimi etkinleştirildi",
|
||||||
"disabled_safe_search_toast": "Güvenli Arama devre dışı bırakıldı",
|
"disabled_safe_search_toast": "Güvenli Arama devre dışı bırakıldı",
|
||||||
"enabled_save_search_toast": "Güvenli Arama etkinleştirildi",
|
"enabled_save_search_toast": "Güvenli Arama etkinleştirildi",
|
||||||
|
"updated_save_search_toast": "Güvenli Arama ayarları güncellendi",
|
||||||
"enabled_table_header": "Etkin",
|
"enabled_table_header": "Etkin",
|
||||||
"name_table_header": "İsim",
|
"name_table_header": "Ad",
|
||||||
"list_url_table_header": "Liste URL'si",
|
"list_url_table_header": "Liste URL'si",
|
||||||
"rules_count_table_header": "Kural sayısı",
|
"rules_count_table_header": "Kural sayısı",
|
||||||
"last_time_updated_table_header": "Son güncelleme zamanı",
|
"last_time_updated_table_header": "Son güncelleme zamanı",
|
||||||
@@ -180,13 +178,13 @@
|
|||||||
"edit_table_action": "Düzenle",
|
"edit_table_action": "Düzenle",
|
||||||
"delete_table_action": "Sil",
|
"delete_table_action": "Sil",
|
||||||
"elapsed": "Geçen süre",
|
"elapsed": "Geçen süre",
|
||||||
"filters_and_hosts_hint": "AdGuard Home, temel reklam engelleme kurallarını ve ana makine engelleme dosyalarının söz dizimini anlar.",
|
"filters_and_hosts_hint": "AdGuard Home, temel reklam engelleme kurallarını ve hosts dosyalarının söz dizimini anlar.",
|
||||||
"no_blocklist_added": "Engel listesi eklenmedi",
|
"no_blocklist_added": "Engel listesi eklenmedi",
|
||||||
"no_whitelist_added": "İzin listesi eklenmedi",
|
"no_whitelist_added": "İzin listesi eklenmedi",
|
||||||
"add_blocklist": "Engel listesi ekle",
|
"add_blocklist": "Engel listesi ekle",
|
||||||
"add_allowlist": "İzin listesi ekle",
|
"add_allowlist": "İzin listesi ekle",
|
||||||
"cancel_btn": "İptal",
|
"cancel_btn": "İptal",
|
||||||
"enter_name_hint": "İsim girin",
|
"enter_name_hint": "Ad girin",
|
||||||
"enter_url_or_path_hint": "Listenin URL adresini veya dosya yolunu girin",
|
"enter_url_or_path_hint": "Listenin URL adresini veya dosya yolunu girin",
|
||||||
"check_updates_btn": "Güncellemeleri denetle",
|
"check_updates_btn": "Güncellemeleri denetle",
|
||||||
"new_blocklist": "Yeni engel listesi",
|
"new_blocklist": "Yeni engel listesi",
|
||||||
@@ -200,8 +198,8 @@
|
|||||||
"form_error_url_format": "Geçersiz URL biçimi",
|
"form_error_url_format": "Geçersiz URL biçimi",
|
||||||
"form_error_url_or_path_format": "Geçersiz URL adresi veya dosya yolu",
|
"form_error_url_or_path_format": "Geçersiz URL adresi veya dosya yolu",
|
||||||
"custom_filter_rules": "Özel filtreleme kuralları",
|
"custom_filter_rules": "Özel filtreleme kuralları",
|
||||||
"custom_filter_rules_hint": "Her satıra bir kural girin. Reklam engelleme kuralı veya ana makine dosyası söz dizimi kullanabilirsiniz.",
|
"custom_filter_rules_hint": "Her satıra bir kural girin. Reklam engelleme kuralı veya hosts dosyası söz dizimi kullanabilirsiniz.",
|
||||||
"system_host_files": "Sistem ana makine dosyaları",
|
"system_host_files": "Sistem hosts dosyaları",
|
||||||
"examples_title": "Örnekler",
|
"examples_title": "Örnekler",
|
||||||
"example_meaning_filter_block": "example.org'a ve tüm alt alanlarına erişimi engeller;",
|
"example_meaning_filter_block": "example.org'a ve tüm alt alanlarına erişimi engeller;",
|
||||||
"example_meaning_filter_whitelist": "example.org'a ve tüm alt alanlarına erişimin engelini kaldırır;",
|
"example_meaning_filter_whitelist": "example.org'a ve tüm alt alanlarına erişimin engelini kaldırır;",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Ayrıca bir yorum.",
|
"example_comment_hash": "# Ayrıca bir yorum.",
|
||||||
"example_regex_meaning": "belirtilen düzenli ifadelerle eşleşen alan adlarına erişimi engelle.",
|
"example_regex_meaning": "belirtilen düzenli ifadelerle eşleşen alan adlarına erişimi engelle.",
|
||||||
"example_upstream_regular": "normal DNS (UDP üzerinden);",
|
"example_upstream_regular": "normal DNS (UDP üzerinden);",
|
||||||
|
"example_upstream_regular_port": "normal DNS (UDP üzerinden, bağlantı noktası ile);",
|
||||||
"example_upstream_udp": "normal DNS (UDP üzerinden, ana makine adı);",
|
"example_upstream_udp": "normal DNS (UDP üzerinden, ana makine adı);",
|
||||||
"example_upstream_dot": "şifrelenmiş <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "şifrelenmiş <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "şifrelenmiş <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "şifrelenmiş <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "<0>HTTP/3</0> uygulanmış ve HTTP/2 veya aşağısı için yedek olmayan şifrelenmiş DNS-over-HTTPS;",
|
||||||
"example_upstream_doq": "şifrelenmiş <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "şifrelenmiş <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<1>DNSCrypt</1> veya <2>DNS-over-HTTPS</2> çözümleyicileri için <0>DNS Damgaları</0>;",
|
"example_upstream_sdns": "<1>DNSCrypt</1> veya <2>DNS-over-HTTPS</2> çözümleyicileri için <0>DNS Damgaları</0>;",
|
||||||
"example_upstream_tcp": "normal DNS (TCP üzerinden);",
|
"example_upstream_tcp": "normal DNS (TCP üzerinden);",
|
||||||
|
"example_upstream_tcp_port": "normal DNS (TCP üzerinden, bağlantı noktası ile);",
|
||||||
"example_upstream_tcp_hostname": "normal DNS (TCP üzerinden, ana makine adı);",
|
"example_upstream_tcp_hostname": "normal DNS (TCP üzerinden, ana makine adı);",
|
||||||
"all_lists_up_to_date_toast": "Tüm listeler güncel durumda",
|
"all_lists_up_to_date_toast": "Tüm listeler güncel durumda",
|
||||||
"updated_upstream_dns_toast": "Üst sunucular başarıyla kaydedildi",
|
"updated_upstream_dns_toast": "Üst sunucular başarıyla kaydedildi",
|
||||||
"dns_test_ok_toast": "Belirtilen DNS sunucuları düzgün çalışıyor",
|
"dns_test_ok_toast": "Belirtilen DNS sunucuları düzgün çalışıyor",
|
||||||
"dns_test_not_ok_toast": "Sunucu \"{{key}}\": kullanılamıyor, lütfen doğru yazdığınızdan emin olun",
|
"dns_test_not_ok_toast": "Sunucu \"{{key}}\": kullanılamıyor, lütfen doğru yazdığınızdan emin olun",
|
||||||
|
"dns_test_warning_toast": "Üst kaynak \"{{key}}\", test isteklerine yanıt vermiyor ve düzgün çalışmayabilir",
|
||||||
"unblock": "Engeli kaldır",
|
"unblock": "Engeli kaldır",
|
||||||
"block": "Engelle",
|
"block": "Engelle",
|
||||||
"disallow_this_client": "Bu istemciye izin verme",
|
"disallow_this_client": "Bu istemciye izin verme",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "Sorgu günlüğü başarıyla temizlendi",
|
"query_log_cleared": "Sorgu günlüğü başarıyla temizlendi",
|
||||||
"query_log_updated": "Sorgu günlüğü başarıyla güncellendi",
|
"query_log_updated": "Sorgu günlüğü başarıyla güncellendi",
|
||||||
"query_log_clear": "Sorgu günlüklerini temizle",
|
"query_log_clear": "Sorgu günlüklerini temizle",
|
||||||
"query_log_retention": "Sorgu günlüklerini sakla",
|
"query_log_retention": "Sorgu günlükleri rotasyonu",
|
||||||
"query_log_enable": "Günlüğü etkinleştir",
|
"query_log_enable": "Günlüğü etkinleştir",
|
||||||
"query_log_configuration": "Günlük yapılandırması",
|
"query_log_configuration": "Günlük yapılandırması",
|
||||||
"query_log_disabled": "Sorgu günlüğü devre dışı bırakıldı, bunu <0>ayarlar</0> kısmından yapılandırılabilirsiniz",
|
"query_log_disabled": "Sorgu günlüğü devre dışı bırakıldı, bunu <0>ayarlar</0> kısmından yapılandırılabilirsiniz",
|
||||||
"query_log_strict_search": "Tam arama için çift tırnak işareti kullanın",
|
"query_log_strict_search": "Tam arama için çift tırnak işareti kullanın",
|
||||||
"query_log_retention_confirm": "Sorgu günlüğü saklama süresini değiştirmek istediğinize emin misiniz? Aralık değerini azaltırsanız, bazı veriler kaybolacaktır",
|
"query_log_retention_confirm": "Sorgu günlüğü rotasyonunu değiştirmek istediğinizden emin misiniz? Aralık değerini düşürürseniz, bazı veriler kaybolacaktır.",
|
||||||
"anonymize_client_ip": "İstemcinin IP adresini gizle",
|
"anonymize_client_ip": "İstemcinin IP adresini gizle",
|
||||||
"anonymize_client_ip_desc": "İstemcinin tam IP adresini günlüklere veya istatistiklere kaydetmeyin",
|
"anonymize_client_ip_desc": "İstemcinin tam IP adresini günlüklere veya istatistiklere kaydetmeyin",
|
||||||
"dns_config": "DNS sunucu yapılandırması",
|
"dns_config": "DNS sunucu yapılandırması",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Sıklık limiti",
|
"rate_limit": "Sıklık limiti",
|
||||||
"edns_enable": "EDNS istemci alt ağını etkinleştir",
|
"edns_enable": "EDNS istemci alt ağını etkinleştir",
|
||||||
"edns_cs_desc": "Kaynak yönü isteklerine EDNS İstemci Alt Ağı seçeneğini (ECS) ekleyin ve istemciler tarafından gönderilen değerleri sorgu günlüğüne kaydedin.",
|
"edns_cs_desc": "Kaynak yönü isteklerine EDNS İstemci Alt Ağı seçeneğini (ECS) ekleyin ve istemciler tarafından gönderilen değerleri sorgu günlüğüne kaydedin.",
|
||||||
|
"edns_use_custom_ip": "EDNS için özel IP kullan",
|
||||||
|
"edns_use_custom_ip_desc": "EDNS için özel IP kullanımına izin ver",
|
||||||
"rate_limit_desc": "İstemci başına izin verilen saniyedeki istek sayısı. 0 olarak ayarlamak, sınır olmadığı anlamına gelir.",
|
"rate_limit_desc": "İstemci başına izin verilen saniyedeki istek sayısı. 0 olarak ayarlamak, sınır olmadığı anlamına gelir.",
|
||||||
"blocking_ipv4_desc": "Engellenen bir A isteği için geri döndürülecek IP adresi",
|
"blocking_ipv4_desc": "Engellenen bir A isteği için geri döndürülecek IP adresi",
|
||||||
"blocking_ipv6_desc": "Engellenen bir AAAA isteği için geri döndürülecek IP adresi",
|
"blocking_ipv6_desc": "Engellenen bir AAAA isteği için geri döndürülecek IP adresi",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: NXDOMAIN koduyla yanıt verin",
|
"blocking_mode_nxdomain": "NXDOMAIN: NXDOMAIN koduyla yanıt verin",
|
||||||
"blocking_mode_null_ip": "Boş IP: Sıfır IP adresiyle yanıt verin (A için 0.0.0.0; :: AAAA için)",
|
"blocking_mode_null_ip": "Boş IP: Sıfır IP adresiyle yanıt verin (A için 0.0.0.0; :: AAAA için)",
|
||||||
"blocking_mode_custom_ip": "Özel IP: El ile ayarlanmış bir IP adresiyle yanıt verin",
|
"blocking_mode_custom_ip": "Özel IP: El ile ayarlanmış bir IP adresiyle yanıt verin",
|
||||||
|
"theme_auto": "Otomatik",
|
||||||
|
"theme_light": "Açık",
|
||||||
|
"theme_dark": "Koyu",
|
||||||
"upstream_dns_client_desc": "Bu alanı boş bırakırsanız, AdGuard Home, <0>DNS ayarlarında</0> yapılandırılan sunucuları kullanır.",
|
"upstream_dns_client_desc": "Bu alanı boş bırakırsanız, AdGuard Home, <0>DNS ayarlarında</0> yapılandırılan sunucuları kullanır.",
|
||||||
"tracker_source": "İzleyici kaynağı",
|
"tracker_source": "İzleyici kaynağı",
|
||||||
"source_label": "Kaynak",
|
"source_label": "Kaynak",
|
||||||
@@ -314,7 +321,7 @@
|
|||||||
"install_settings_interface_link": "AdGuard Home yönetici web arayüzünüz aşağıdaki adreslerde bulunacaktır:",
|
"install_settings_interface_link": "AdGuard Home yönetici web arayüzünüz aşağıdaki adreslerde bulunacaktır:",
|
||||||
"form_error_port": "Geçerli bir bağlantı noktası değeri girin",
|
"form_error_port": "Geçerli bir bağlantı noktası değeri girin",
|
||||||
"install_settings_dns": "DNS sunucusu",
|
"install_settings_dns": "DNS sunucusu",
|
||||||
"install_settings_dns_desc": "Cihazlarınızı veya yönlendiricinizi şu adresteki DNS sunucusunu kullanması için ayarlamanız gerekecek:",
|
"install_settings_dns_desc": "Aşağıdaki adreslerde DNS sunucusunu kullanmak için cihazlarınızı veya yönlendiricinizi yapılandırmanız gerekir:",
|
||||||
"install_settings_all_interfaces": "Tüm arayüzler",
|
"install_settings_all_interfaces": "Tüm arayüzler",
|
||||||
"install_auth_title": "Kimlik Doğrulama",
|
"install_auth_title": "Kimlik Doğrulama",
|
||||||
"install_auth_desc": "AdGuard Home yönetim web arayüzü için şifre doğrulaması yapılandırılmalıdır. AdGuard Home'a yalnızca yerel ağınızdan erişilebilir olsa bile, onu sınırsız erişimden korumak yine de önemlidir.",
|
"install_auth_desc": "AdGuard Home yönetim web arayüzü için şifre doğrulaması yapılandırılmalıdır. AdGuard Home'a yalnızca yerel ağınızdan erişilebilir olsa bile, onu sınırsız erişimden korumak yine de önemlidir.",
|
||||||
@@ -346,12 +353,12 @@
|
|||||||
"install_devices_macos_list_3": "Listedeki ilk bağlantıyı seçin ve Gelişmiş öğesine tıklayın.",
|
"install_devices_macos_list_3": "Listedeki ilk bağlantıyı seçin ve Gelişmiş öğesine tıklayın.",
|
||||||
"install_devices_macos_list_4": "DNS sekmesini seçin ve AdGuard Home sunucunuzun adreslerini girin.",
|
"install_devices_macos_list_4": "DNS sekmesini seçin ve AdGuard Home sunucunuzun adreslerini girin.",
|
||||||
"install_devices_android_list_1": "Android Menüsü ana ekranından Ayarlar'a dokunun.",
|
"install_devices_android_list_1": "Android Menüsü ana ekranından Ayarlar'a dokunun.",
|
||||||
"install_devices_android_list_2": "Menüde bulunan Wi-Fi öğesine dokunun. Mevcut tüm ağlar listelenecektir (mobil ağlar için özel DNS sunucusu ayarlanamaz).",
|
"install_devices_android_list_2": "Menüde bulunan Wi-Fi öğesine dokunun. Mevcut tüm ağlar listelenecektir (telefon ağlar için özel DNS sunucusu ayarlanamaz).",
|
||||||
"install_devices_android_list_3": "Bağlı olduğunuz ağın üzerine basılı tutun ve Ağı Değiştir'e dokunun.",
|
"install_devices_android_list_3": "Bağlı olduğunuz ağın üzerine basılı tutun ve Ağı Değiştir'e dokunun.",
|
||||||
"install_devices_android_list_4": "Bazı cihazlarda, diğer ayarları görmek için \"Gelişmiş\" seçeneğini seçmeniz gerekebilir. Android DNS ayarlarınızı yapmak için IP ayarlarını DHCP modundan Statik moda almanız gerekecektir.",
|
"install_devices_android_list_4": "Bazı cihazlarda, diğer ayarları görmek için \"Gelişmiş\" seçeneğini seçmeniz gerekebilir. Android DNS ayarlarınızı yapmak için IP ayarlarını DHCP modundan Statik moda değiştirmeniz gerekir.",
|
||||||
"install_devices_android_list_5": "DNS 1 ve DNS 2 değerlerini AdGuard Home sunucunuzun adresleriyle değiştirin.",
|
"install_devices_android_list_5": "DNS 1 ve DNS 2 değerlerini AdGuard Home sunucunuzun adresleriyle değiştirin.",
|
||||||
"install_devices_ios_list_1": "Ana ekrandan Ayarlar'a dokunun.",
|
"install_devices_ios_list_1": "Ana ekrandan Ayarlar'a dokunun.",
|
||||||
"install_devices_ios_list_2": "Sol menüde bulunan Wi-Fi bölümüne girin (mobil ağlar için özel DNS sunucusu ayarlanamaz).",
|
"install_devices_ios_list_2": "Sol menüde bulunan Wi-Fi bölümüne girin (telefon ağlar için özel DNS sunucusu ayarlanamaz).",
|
||||||
"install_devices_ios_list_3": "O anda aktif olan ağın adına dokunun.",
|
"install_devices_ios_list_3": "O anda aktif olan ağın adına dokunun.",
|
||||||
"install_devices_ios_list_4": "DNS alanına AdGuard Home sunucunuzun adreslerini girin.",
|
"install_devices_ios_list_4": "DNS alanına AdGuard Home sunucunuzun adreslerini girin.",
|
||||||
"get_started": "Başlayın",
|
"get_started": "Başlayın",
|
||||||
@@ -363,15 +370,15 @@
|
|||||||
"encryption_config_saved": "Şifreleme yapılandırması kaydedildi",
|
"encryption_config_saved": "Şifreleme yapılandırması kaydedildi",
|
||||||
"encryption_server": "Sunucu adı",
|
"encryption_server": "Sunucu adı",
|
||||||
"encryption_server_enter": "Alan adınızı girin",
|
"encryption_server_enter": "Alan adınızı girin",
|
||||||
"encryption_server_desc": "HTTPS kullanmak için SSL sertifikanızla veya joker sertifikanızla eşleşen sunucu adını girmeniz gerekir. Bu alan ayarlanmazsa, herhangi bir alan adının TLS bağlantılarını kabul eder.",
|
"encryption_server_desc": "Ayarlanırsa, AdGuard Home ClientID'leri algılar, DDR sorgularına yanıt verir ve ek bağlantı doğrulamaları gerçekleştirir. Ayarlanmazsa, bu özellikler devre dışı bırakılır. Sertifikadaki DNS Adlarından biriyle eşleşmelidir.",
|
||||||
"encryption_redirect": "Otomatik olarak HTTPS'e yönlendir",
|
"encryption_redirect": "Otomatik olarak HTTPS'e yönlendir",
|
||||||
"encryption_redirect_desc": "Etkinleştirirseniz, AdGuard Home sizi HTTP adresi yerine HTTPS adresine yönlendirir.",
|
"encryption_redirect_desc": "İşaretlenirse, AdGuard Home sizi otomatik olarak HTTP adresinden HTTPS adreslerine yönlendirir.",
|
||||||
"encryption_https": "HTTPS bağlantı noktası",
|
"encryption_https": "HTTPS bağlantı noktası",
|
||||||
"encryption_https_desc": "HTTPS bağlantı noktası yapılandırılırsa, AdGuard Home yönetici arayüzüne HTTPS aracılığıyla erişilebilir olacak ve ayrıca '/dns-query' üzerinden DNS-over-HTTPS bağlantısı sağlayacaktır.",
|
"encryption_https_desc": "HTTPS bağlantı noktası yapılandırılırsa, AdGuard Home yönetici arayüzüne HTTPS aracılığıyla erişilebilir olacak ve ayrıca '/dns-query' üzerinden DNS-over-HTTPS bağlantısı sağlar.",
|
||||||
"encryption_dot": "DNS-over-TLS bağlantı noktası",
|
"encryption_dot": "DNS-over-TLS bağlantı noktası",
|
||||||
"encryption_dot_desc": "Bu bağlantı noktası yapılandırılırsa, AdGuard Home, DNS-over-TLS sunucusunu bu bağlantı noktası üzerinden çalıştıracaktır.",
|
"encryption_dot_desc": "Bu bağlantı noktası yapılandırılırsa, AdGuard Home, DNS-over-TLS sunucusunu bu bağlantı noktası üzerinden çalıştırır.",
|
||||||
"encryption_doq": "DNS-over-QUIC bağlantı noktası",
|
"encryption_doq": "DNS-over-QUIC bağlantı noktası",
|
||||||
"encryption_doq_desc": "Bu bağlantı noktası yapılandırılırsa, AdGuard Home, bu bağlantı noktasında bir DNS-over-QUIC sunucusu çalıştıracaktır.",
|
"encryption_doq_desc": "Bu bağlantı noktası yapılandırılırsa, AdGuard Home, bu bağlantı noktasında bir DNS-over-QUIC sunucusu çalıştırır.",
|
||||||
"encryption_certificates": "Sertifikalar",
|
"encryption_certificates": "Sertifikalar",
|
||||||
"encryption_certificates_desc": "Şifrelemeyi kullanmak için alan adınıza geçerli bir SSL sertifika zinciri sağlamanız gerekir. <0>{{link}}</0> adresinden ücretsiz bir sertifika alabilir veya güvenilir Sertifika Yetkililerinden satın alabilirsiniz.",
|
"encryption_certificates_desc": "Şifrelemeyi kullanmak için alan adınıza geçerli bir SSL sertifika zinciri sağlamanız gerekir. <0>{{link}}</0> adresinden ücretsiz bir sertifika alabilir veya güvenilir Sertifika Yetkililerinden satın alabilirsiniz.",
|
||||||
"encryption_certificates_input": "PEM biçimindeki sertifikalarınızı kopyalayıp buraya yapıştırın.",
|
"encryption_certificates_input": "PEM biçimindeki sertifikalarınızı kopyalayıp buraya yapıştırın.",
|
||||||
@@ -383,12 +390,13 @@
|
|||||||
"encryption_enable_desc": "Şifrelemeyi etkinleştirirseniz, AdGuard Home yönetici arayüzü HTTPS üzerinden çalışır ve DNS sunucusu, DNS-over-HTTPS ve DNS-over-TLS üzerinden gelen istekleri dinler.",
|
"encryption_enable_desc": "Şifrelemeyi etkinleştirirseniz, AdGuard Home yönetici arayüzü HTTPS üzerinden çalışır ve DNS sunucusu, DNS-over-HTTPS ve DNS-over-TLS üzerinden gelen istekleri dinler.",
|
||||||
"encryption_chain_valid": "Sertifika zinciri geçerli",
|
"encryption_chain_valid": "Sertifika zinciri geçerli",
|
||||||
"encryption_chain_invalid": "Sertifika zinciri geçersiz.",
|
"encryption_chain_invalid": "Sertifika zinciri geçersiz.",
|
||||||
"encryption_key_valid": "Bu geçerli bir {{type}} özel anahtar.",
|
"encryption_key_valid": "Bu geçerli bir {{type}} özel anahtarıdır",
|
||||||
"encryption_key_invalid": "Bu geçersiz bir {{type}} özel anahtar.",
|
"encryption_key_invalid": "Bu geçersiz bir {{type}} özel anahtarıdır",
|
||||||
"encryption_subject": "Konu",
|
"encryption_subject": "Konu",
|
||||||
"encryption_issuer": "Sağlayan",
|
"encryption_issuer": "Sağlayan",
|
||||||
"encryption_hostnames": "Ana makine adları",
|
"encryption_hostnames": "Ana makine adları",
|
||||||
"encryption_reset": "Şifreleme ayarlarını sıfırlamak istediğinizden emin misiniz?",
|
"encryption_reset": "Şifreleme ayarlarını sıfırlamak istediğinizden emin misiniz?",
|
||||||
|
"encryption_warning": "Uyarı",
|
||||||
"topline_expiring_certificate": "SSL sertifikanızın süresi sona üzere. <0>Şifreleme ayarlarını</0> güncelleyin.",
|
"topline_expiring_certificate": "SSL sertifikanızın süresi sona üzere. <0>Şifreleme ayarlarını</0> güncelleyin.",
|
||||||
"topline_expired_certificate": "SSL sertifikanızın süresi sona erdi. <0>Şifreleme ayarlarını</0> güncelleyin.",
|
"topline_expired_certificate": "SSL sertifikanızın süresi sona erdi. <0>Şifreleme ayarlarını</0> güncelleyin.",
|
||||||
"form_error_port_range": "80-65535 aralığında geçerli bir bağlantı noktası değeri girin",
|
"form_error_port_range": "80-65535 aralığında geçerli bir bağlantı noktası değeri girin",
|
||||||
@@ -396,7 +404,7 @@
|
|||||||
"form_error_equal": "Aynı olmamalıdır",
|
"form_error_equal": "Aynı olmamalıdır",
|
||||||
"form_error_password": "Parolalar uyuşmuyor",
|
"form_error_password": "Parolalar uyuşmuyor",
|
||||||
"reset_settings": "Ayarları sıfırla",
|
"reset_settings": "Ayarları sıfırla",
|
||||||
"update_announcement": "AdGuard Home {{version}} sürümü mevcut! Daha fazla bilgi için <0>buraya tıklayın.</0>",
|
"update_announcement": "AdGuard Home {{version}} sürümü artık mevcut! Daha fazla bilgi için <0>buraya tıklayın</0>.",
|
||||||
"setup_guide": "Kurulum Rehberi",
|
"setup_guide": "Kurulum Rehberi",
|
||||||
"dns_addresses": "DNS adresleri",
|
"dns_addresses": "DNS adresleri",
|
||||||
"dns_start": "DNS sunucusu başlatılıyor",
|
"dns_start": "DNS sunucusu başlatılıyor",
|
||||||
@@ -405,7 +413,7 @@
|
|||||||
"fix": "Düzelt",
|
"fix": "Düzelt",
|
||||||
"dns_providers": "Aralarından seçim yapabileceğiniz, bilinen <0>DNS sağlayıcıların listesi</0>.",
|
"dns_providers": "Aralarından seçim yapabileceğiniz, bilinen <0>DNS sağlayıcıların listesi</0>.",
|
||||||
"update_now": "Şimdi güncelle",
|
"update_now": "Şimdi güncelle",
|
||||||
"update_failed": "Otomatik güncelleme başarısız oldu. Elle güncellemek için lütfen <a>bu adımları uygulayın</a>.",
|
"update_failed": "Otomatik güncellenemedi. Elle güncellemek için lütfen <a>bu adımları izleyin</a>.",
|
||||||
"manual_update": "Elle güncellemek için lütfen <a>bu adımları uygulayın</a>.",
|
"manual_update": "Elle güncellemek için lütfen <a>bu adımları uygulayın</a>.",
|
||||||
"processing_update": "Lütfen bekleyin, AdGuard Home güncelleniyor",
|
"processing_update": "Lütfen bekleyin, AdGuard Home güncelleniyor",
|
||||||
"clients_title": "Kalıcı istemciler",
|
"clients_title": "Kalıcı istemciler",
|
||||||
@@ -413,7 +421,7 @@
|
|||||||
"settings_global": "Genel",
|
"settings_global": "Genel",
|
||||||
"settings_custom": "Özel",
|
"settings_custom": "Özel",
|
||||||
"table_client": "İstemci",
|
"table_client": "İstemci",
|
||||||
"table_name": "İsim",
|
"table_name": "Ad",
|
||||||
"save_btn": "Kaydet",
|
"save_btn": "Kaydet",
|
||||||
"client_add": "İstemci Ekle",
|
"client_add": "İstemci Ekle",
|
||||||
"client_new": "Yeni İstemci",
|
"client_new": "Yeni İstemci",
|
||||||
@@ -427,7 +435,7 @@
|
|||||||
"form_enter_id": "Tanımlayıcı girin",
|
"form_enter_id": "Tanımlayıcı girin",
|
||||||
"form_add_id": "Tanımlayıcı ekle",
|
"form_add_id": "Tanımlayıcı ekle",
|
||||||
"form_client_name": "İstemci ismi girin",
|
"form_client_name": "İstemci ismi girin",
|
||||||
"name": "İsim",
|
"name": "Ad",
|
||||||
"client_global_settings": "Genel ayarları kullan",
|
"client_global_settings": "Genel ayarları kullan",
|
||||||
"client_deleted": "\"{{key}}\" istemcisi başarıyla silindi",
|
"client_deleted": "\"{{key}}\" istemcisi başarıyla silindi",
|
||||||
"client_added": "\"{{key}}\" istemcisi başarıyla eklendi",
|
"client_added": "\"{{key}}\" istemcisi başarıyla eklendi",
|
||||||
@@ -444,11 +452,12 @@
|
|||||||
"access_disallowed_title": "İzin verilmeyen istemciler",
|
"access_disallowed_title": "İzin verilmeyen istemciler",
|
||||||
"access_disallowed_desc": "CIDR'lerin, IP adreslerinin veya <a>İstemci Kimliklerin</a> listesi. Bu listede girişler varsa, AdGuard Home bu istemcilerden gelen istekleri keser. İzin verilen istemcilerde girişler varsa, bu alan yok sayılır.",
|
"access_disallowed_desc": "CIDR'lerin, IP adreslerinin veya <a>İstemci Kimliklerin</a> listesi. Bu listede girişler varsa, AdGuard Home bu istemcilerden gelen istekleri keser. İzin verilen istemcilerde girişler varsa, bu alan yok sayılır.",
|
||||||
"access_blocked_title": "İzin verilmeyen alan adları",
|
"access_blocked_title": "İzin verilmeyen alan adları",
|
||||||
"access_blocked_desc": "Bu işlem filtrelerle ilgili değildir. AdGuard Home, bu alan adlarından gelen DNS sorgularını yanıtsız bırakır ve bu sorgular sorgu günlüğünde görünmez. Tam alan adlarını, joker karakterleri veya URL filtre kurallarını belirtebilirsiniz, ör. \"example.org\", \"*.example.org\" veya \"||example.org^\".",
|
"access_blocked_desc": "Bu işlem filtrelerle ilgili değildir. AdGuard Home, bu alan adlarından gelen DNS sorgularını yanıtsız bırakır ve bu sorgular sorgu günlüğünde görünmez. Tam alan adlarını, joker karakterleri veya URL filtre kurallarını belirtebilirsiniz, örn. \"example.org\", \"*.example.org\" veya \"||example.org^\".",
|
||||||
"access_settings_saved": "Erişim ayarları başarıyla kaydedildi!",
|
"access_settings_saved": "Erişim ayarları başarıyla kaydedildi!",
|
||||||
"updates_checked": "AdGuard Home'un yeni bir sürümü mevcut",
|
"updates_checked": "AdGuard Home'un yeni bir sürümü mevcut",
|
||||||
"updates_version_equal": "AdGuard Home yazılımı güncel durumda",
|
"updates_version_equal": "AdGuard Home yazılımı güncel durumda",
|
||||||
"check_updates_now": "Güncellemeleri şimdi denetle",
|
"check_updates_now": "Güncellemeleri şimdi denetle",
|
||||||
|
"version_request_error": "Güncelleme denetimi başarısız. Lütfen internet bağlantınızı kontrol edin.",
|
||||||
"dns_privacy": "DNS Gizliliği",
|
"dns_privacy": "DNS Gizliliği",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> <1>{{address}}</1> dizesini kullan.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> <1>{{address}}</1> dizesini kullan.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> <1>{{address}}</1> dizesini kullan.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> <1>{{address}}</1> dizesini kullan.",
|
||||||
@@ -464,7 +473,7 @@
|
|||||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0>, bilinen tüm güvenli DNS protokollerini destekler.",
|
"setup_dns_privacy_other_2": "<0>dnsproxy</0>, bilinen tüm güvenli DNS protokollerini destekler.",
|
||||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0>, <1>DNS-over-HTTPS</1> protokolünü destekler.",
|
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0>, <1>DNS-over-HTTPS</1> protokolünü destekler.",
|
||||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0>, <1>DNS-over-HTTPS</1> protokolünü destekler.",
|
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0>, <1>DNS-over-HTTPS</1> protokolünü destekler.",
|
||||||
"setup_dns_privacy_other_5": "<0>Burada</0> ve <1>burada</1> daha fazla kullanım alanı bulacaksınız.",
|
"setup_dns_privacy_other_5": "<0>Burada</0> ve <1>burada</1> daha fazla kullanım alanı bulabilirsiniz.",
|
||||||
"setup_dns_privacy_ioc_mac": "iOS ve macOS yapılandırması",
|
"setup_dns_privacy_ioc_mac": "iOS ve macOS yapılandırması",
|
||||||
"setup_dns_notice": "<1>DNS-over-HTTPS</1> veya <1>DNS-over-TLS</1> protokolünü kullanmak için AdGuard Home üzerinde <0>Şifreleme ayarları</0> bölümünden ayarları yapmanız gerekir.",
|
"setup_dns_notice": "<1>DNS-over-HTTPS</1> veya <1>DNS-over-TLS</1> protokolünü kullanmak için AdGuard Home üzerinde <0>Şifreleme ayarları</0> bölümünden ayarları yapmanız gerekir.",
|
||||||
"rewrite_added": "\"{{key}}\" için DNS yeniden yazımı başarıyla eklendi",
|
"rewrite_added": "\"{{key}}\" için DNS yeniden yazımı başarıyla eklendi",
|
||||||
@@ -474,7 +483,7 @@
|
|||||||
"rewrite_confirm_delete": "\"{{key}}\" için DNS yeniden yazımını silmek istediğinize emin misiniz?",
|
"rewrite_confirm_delete": "\"{{key}}\" için DNS yeniden yazımını silmek istediğinize emin misiniz?",
|
||||||
"rewrite_desc": "Belirli bir alan adı için özel DNS yanıtını kolayca yapılandırmanızı sağlar.",
|
"rewrite_desc": "Belirli bir alan adı için özel DNS yanıtını kolayca yapılandırmanızı sağlar.",
|
||||||
"rewrite_applied": "Yeniden yazım kuralı uygulandı",
|
"rewrite_applied": "Yeniden yazım kuralı uygulandı",
|
||||||
"rewrite_hosts_applied": "Ana makine dosyası kuralı tarafından yeniden yazıldı",
|
"rewrite_hosts_applied": "Hosts dosyası kuralı tarafından yeniden yazıldı",
|
||||||
"dns_rewrites": "DNS yeniden yazımları",
|
"dns_rewrites": "DNS yeniden yazımları",
|
||||||
"form_domain": "Alan adı veya joker karakter girin",
|
"form_domain": "Alan adı veya joker karakter girin",
|
||||||
"form_answer": "IP adresi veya alan adı girin",
|
"form_answer": "IP adresi veya alan adı girin",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "İstatistik saklama süresini değiştirmek istediğinizden emin misiniz? Aralık değerini azaltırsanız, bazı veriler kaybolacaktır",
|
"statistics_retention_confirm": "İstatistik saklama süresini değiştirmek istediğinizden emin misiniz? Aralık değerini azaltırsanız, bazı veriler kaybolacaktır",
|
||||||
"statistics_cleared": "İstatistikler başarıyla temizlendi",
|
"statistics_cleared": "İstatistikler başarıyla temizlendi",
|
||||||
"statistics_enable": "İstatistikleri etkinleştir",
|
"statistics_enable": "İstatistikleri etkinleştir",
|
||||||
|
"ignore_domains": "Yok sayılan alan adları (yeni satırla ayrılmış)",
|
||||||
|
"ignore_domains_title": "Yok sayılan alan adları",
|
||||||
|
"ignore_domains_desc_stats": "Bu alan adları için yapılan sorgular istatistiklere yazılmaz",
|
||||||
|
"ignore_domains_desc_query": "Bu alan adları için yapılan sorgular sorgu günlüğüne yazılmaz",
|
||||||
"interval_hours": "{{count}} saat",
|
"interval_hours": "{{count}} saat",
|
||||||
"interval_hours_plural": "{{count}} saat",
|
"interval_hours_plural": "{{count}} saat",
|
||||||
"filters_configuration": "Filtre yapılandırması",
|
"filters_configuration": "Filtre yapılandırması",
|
||||||
@@ -537,7 +550,7 @@
|
|||||||
"network": "Ağ",
|
"network": "Ağ",
|
||||||
"descr": "Açıklama",
|
"descr": "Açıklama",
|
||||||
"whois": "WHOIS",
|
"whois": "WHOIS",
|
||||||
"filtering_rules_learn_more": "Kendi ana makine listelerinizi oluşturma hakkında <0>daha fazla bilgi edinin</0>.",
|
"filtering_rules_learn_more": "Kendi hosts listelerinizi oluşturma hakkında <0>daha fazla bilgi edinin</0>.",
|
||||||
"blocked_by_response": "Yanıt olarak CNAME veya IP tarafından engellendi",
|
"blocked_by_response": "Yanıt olarak CNAME veya IP tarafından engellendi",
|
||||||
"blocked_by_cname_or_ip": "CNAME veya IP tarafından engellendi",
|
"blocked_by_cname_or_ip": "CNAME veya IP tarafından engellendi",
|
||||||
"try_again": "Tekrar dene",
|
"try_again": "Tekrar dene",
|
||||||
@@ -553,7 +566,7 @@
|
|||||||
"fastest_addr": "En hızlı IP adresi",
|
"fastest_addr": "En hızlı IP adresi",
|
||||||
"fastest_addr_desc": "Tüm DNS sunucularını sorgulayın ve tüm yanıtlar arasından en hızlı olan IP adresini döndürün. AdGuard Home'un tüm DNS sunucularından yanıt beklemesi gerektiği için DNS sorgularını yavaşlatır, ancak genel bağlantıyı iyileştirir.",
|
"fastest_addr_desc": "Tüm DNS sunucularını sorgulayın ve tüm yanıtlar arasından en hızlı olan IP adresini döndürün. AdGuard Home'un tüm DNS sunucularından yanıt beklemesi gerektiği için DNS sorgularını yavaşlatır, ancak genel bağlantıyı iyileştirir.",
|
||||||
"autofix_warning_text": "\"Düzelt\" seçeneğine tıklarsanız, AdGuard Home, sisteminizi AdGuard Home DNS sunucusunu kullanacak şekilde yapılandırır.",
|
"autofix_warning_text": "\"Düzelt\" seçeneğine tıklarsanız, AdGuard Home, sisteminizi AdGuard Home DNS sunucusunu kullanacak şekilde yapılandırır.",
|
||||||
"autofix_warning_list": "Bu görevleri gerçekleştirecek: <0>Sistem DNSStubListener'ı devre dışı bırakın</0> <0>DNS sunucusu adresini 127.0.0.1 olarak ayarlayın</0> <0>/etc/resolv.conf'un sembolik bağlantı hedefini /run/systemd/resolve/resolv.conf ile değiştirin<0> <0>DNSStubListener'ı durdurun (systemd çözümlenmiş hizmeti yeniden yükleyin)</0>",
|
"autofix_warning_list": "Bu görevleri gerçekleştirir: <0>Sistem DNSStubListener'ı devre dışı bırakın</0> <0>DNS sunucusu adresini 127.0.0.1 olarak ayarlayın</0> <0>/etc/resolv.conf'un sembolik bağlantı hedefini /run/systemd/resolve/resolv.conf ile değiştirin<0> <0>DNSStubListener'ı durdurun (systemd çözümlenmiş hizmeti yeniden yükleyin)</0>",
|
||||||
"autofix_warning_result": "Sonuç olarak, sisteminizden gelen tüm DNS istekleri varsayılan olarak AdGuard Home tarafından işlenecektir.",
|
"autofix_warning_result": "Sonuç olarak, sisteminizden gelen tüm DNS istekleri varsayılan olarak AdGuard Home tarafından işlenecektir.",
|
||||||
"tags_title": "Etiketler",
|
"tags_title": "Etiketler",
|
||||||
"tags_desc": "İstemciye karşılık gelen etiketleri seçebilirsiniz. Etiketleri daha kesin olarak uygulamak için filtreleme kurallarına dahil edin. <0>Daha fazla bilgi edinin</0>.",
|
"tags_desc": "İstemciye karşılık gelen etiketleri seçebilirsiniz. Etiketleri daha kesin olarak uygulamak için filtreleme kurallarına dahil edin. <0>Daha fazla bilgi edinin</0>.",
|
||||||
@@ -582,7 +595,7 @@
|
|||||||
"install_static_ok": "Güzel haber! Sabit IP adresi zaten yapılandırılmış",
|
"install_static_ok": "Güzel haber! Sabit IP adresi zaten yapılandırılmış",
|
||||||
"install_static_error": "AdGuard Home, bu ağ arayüzü için otomatik olarak yapılandıramıyor. Lütfen bunu elle nasıl yapacağınızla ilgili talimatlara bakın.",
|
"install_static_error": "AdGuard Home, bu ağ arayüzü için otomatik olarak yapılandıramıyor. Lütfen bunu elle nasıl yapacağınızla ilgili talimatlara bakın.",
|
||||||
"install_static_configure": "AdGuard Home, <0>{{ip}}</0> dinamik IP adresinin kullanıldığını tespit etti. Sabit adresiniz olarak ayarlanmasını ister misiniz?",
|
"install_static_configure": "AdGuard Home, <0>{{ip}}</0> dinamik IP adresinin kullanıldığını tespit etti. Sabit adresiniz olarak ayarlanmasını ister misiniz?",
|
||||||
"confirm_static_ip": "AdGuard Home, {{ip}} adresini sabit IP adresiniz olacak şekilde yapılandıracaktır. Devam etmek istiyor musunuz?",
|
"confirm_static_ip": "AdGuard Home, {{ip}} adresini sabit IP adresiniz olacak şekilde yapılandırır. Devam etmek istiyor musunuz?",
|
||||||
"list_updated": "{{count}} liste güncellendi",
|
"list_updated": "{{count}} liste güncellendi",
|
||||||
"list_updated_plural": "{{count}} liste güncellendi",
|
"list_updated_plural": "{{count}} liste güncellendi",
|
||||||
"dnssec_enable": "DNSSEC'i etkinleştir",
|
"dnssec_enable": "DNSSEC'i etkinleştir",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Engel listesi",
|
"blocklist": "Engel listesi",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Önbellek boyutu",
|
"cache_size": "Önbellek boyutu",
|
||||||
"cache_size_desc": "DNS önbellek boyutu (bayt cinsinden).",
|
"cache_size_desc": "DNS önbellek boyutu (bayt cinsinden). Önbelleğe almayı devre dışı bırakmak için boş bırakın.",
|
||||||
"cache_ttl_min_override": "Minimum kullanım süresini geçersiz kıl",
|
"cache_ttl_min_override": "Minimum kullanım süresini geçersiz kıl",
|
||||||
"cache_ttl_max_override": "Maksimum kullanım süresini geçersiz kıl",
|
"cache_ttl_max_override": "Maksimum kullanım süresini geçersiz kıl",
|
||||||
"enter_cache_size": "Önbellek boyutunu girin (bayt)",
|
"enter_cache_size": "Önbellek boyutunu girin (bayt)",
|
||||||
@@ -626,11 +639,40 @@
|
|||||||
"click_to_view_queries": "Sorguları görmek için tıklayın",
|
"click_to_view_queries": "Sorguları görmek için tıklayın",
|
||||||
"port_53_faq_link": "53 numaralı bağlantı noktası genellikle \"DNSStubListener\" veya \"systemd-resolved\" hizmetleri tarafından kullanılır. Lütfen bu sorunun nasıl çözüleceğine ilişkin <0>bu talimatı</0> okuyun.",
|
"port_53_faq_link": "53 numaralı bağlantı noktası genellikle \"DNSStubListener\" veya \"systemd-resolved\" hizmetleri tarafından kullanılır. Lütfen bu sorunun nasıl çözüleceğine ilişkin <0>bu talimatı</0> okuyun.",
|
||||||
"adg_will_drop_dns_queries": "AdGuard Home, bu istemciden gelen tüm DNS sorgularını yok sayacaktır.",
|
"adg_will_drop_dns_queries": "AdGuard Home, bu istemciden gelen tüm DNS sorgularını yok sayacaktır.",
|
||||||
"filter_allowlist": "UYARI: Bu işlem ayrıca \"{{disallowed_rule}}\" kuralını izin verilen istemciler listesinden hariç tutacaktır.",
|
"filter_allowlist": "UYARI: Bu işlem ayrıca \"{{disallowed_rule}}\" kuralını izin verilen istemciler listesinden hariç tutar.",
|
||||||
"last_rule_in_allowlist": "\"{{disallowed_rule}}\" kuralı hariç tutulduğunda \"İzin verilen istemciler\" listesi DEVRE DIŞI bırakılacağı için bu istemciye izin verilemez.",
|
"last_rule_in_allowlist": "\"{{disallowed_rule}}\" kuralı hariç tutulduğunda \"İzin verilen istemciler\" listesi DEVRE DIŞI bırakılacağı için bu istemciye izin verilemez.",
|
||||||
"use_saved_key": "Önceden kaydedilmiş anahtarı kullan",
|
"use_saved_key": "Önceden kaydedilmiş anahtarı kullan",
|
||||||
"parental_control": "Ebeveyn Denetimi",
|
"parental_control": "Ebeveyn Denetimi",
|
||||||
"safe_browsing": "Güvenli Gezinti",
|
"safe_browsing": "Güvenli Gezinti",
|
||||||
"served_from_cache": "{{value}} <i>(önbellekten kullanıldı)</i>",
|
"served_from_cache": "{{value}} <i>(önbellekten kullanıldı)</i>",
|
||||||
"form_error_password_length": "Parola en az {{value}} karakter uzunluğunda olmalıdır"
|
"form_error_password_length": "Parola en az {{value}} karakter uzunluğunda olmalıdır",
|
||||||
|
"anonymizer_notification": "<0>Not:</0> IP anonimleştirme etkinleştirildi. Bunu <1>Genel ayarlardan</1> devre dışı bırakabilirsiniz.",
|
||||||
|
"confirm_dns_cache_clear": "DNS önbelleğini temizlemek istediğinizden emin misiniz?",
|
||||||
|
"cache_cleared": "DNS önbelleği başarıyla temizlendi",
|
||||||
|
"clear_cache": "Önbelleği temizle",
|
||||||
|
"make_static": "Statik yap",
|
||||||
|
"theme_auto_desc": "Otomatik (cihazınızın renk düzenine göre)",
|
||||||
|
"theme_dark_desc": "Koyu tema",
|
||||||
|
"theme_light_desc": "Açık tema",
|
||||||
|
"disable_for_seconds": "{{count}} saniye için",
|
||||||
|
"disable_for_seconds_plural": "{{count}} saniye için",
|
||||||
|
"disable_for_minutes": "{{count}} dakika için",
|
||||||
|
"disable_for_minutes_plural": "{{count}} dakika için",
|
||||||
|
"disable_for_hours": "{{count}} saat için",
|
||||||
|
"disable_for_hours_plural": "{{count}} saat için",
|
||||||
|
"disable_until_tomorrow": "Yarına kadar",
|
||||||
|
"disable_notify_for_seconds": "Korumayı {{count}} saniyeliğine devre dışı bırak",
|
||||||
|
"disable_notify_for_seconds_plural": "Korumayı {{count}} saniyeliğine devre dışı bırak",
|
||||||
|
"disable_notify_for_minutes": "Korumayı {{count}} dakiklığına devre dışı bırak",
|
||||||
|
"disable_notify_for_minutes_plural": "Korumayı {{count}} dakiklığına devre dışı bırak",
|
||||||
|
"disable_notify_for_hours": "Korumayı {{count}} saatliğine devre dışı bırak",
|
||||||
|
"disable_notify_for_hours_plural": "Korumayı {{count}} saatliğine devre dışı bırak",
|
||||||
|
"disable_notify_until_tomorrow": "Korumayı yarına kadar devre dışı bırak",
|
||||||
|
"enable_protection_timer": "Koruma {{time}} içinde etkinleştirilecektir",
|
||||||
|
"custom_retention_input": "Saklama süresini saat olarak girin",
|
||||||
|
"custom_rotation_input": "Rotasyonu saat cinsinden girin",
|
||||||
|
"protection_section_label": "Koruma",
|
||||||
|
"log_and_stats_section_label": "Sorgu günlüğü ve istatistikler",
|
||||||
|
"ignore_query_log": "Sorgu günlüğünde bu istemciyi yoksay",
|
||||||
|
"ignore_statistics": "İstatistiklerde bu istemciyi yoksay"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Налаштування DHCP IPv6",
|
"dhcp_ipv6_settings": "Налаштування DHCP IPv6",
|
||||||
"form_error_required": "Обов'язкове поле",
|
"form_error_required": "Обов'язкове поле",
|
||||||
"form_error_ip4_format": "Неправильна IPv4-адреса",
|
"form_error_ip4_format": "Неправильна IPv4-адреса",
|
||||||
"form_error_ip4_range_start_format": "Неправильна IPv4-адреса початку діапазону",
|
|
||||||
"form_error_ip4_range_end_format": "Неправильна IPv4-адреса кінця діапазону",
|
|
||||||
"form_error_ip4_gateway_format": "Неправильна IPv4-адреса шлюзу",
|
"form_error_ip4_gateway_format": "Неправильна IPv4-адреса шлюзу",
|
||||||
"form_error_ip6_format": "Неправильна IPv6-адреса",
|
"form_error_ip6_format": "Неправильна IPv6-адреса",
|
||||||
"form_error_ip_format": "Неправильна IP-адреса",
|
"form_error_ip_format": "Неправильна IP-адреса",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "Не повинна бути в діапазоні «{{start}}»−«{{end}}»",
|
"out_of_range_error": "Не повинна бути в діапазоні «{{start}}»−«{{end}}»",
|
||||||
"lower_range_start_error": "Має бути меншим за початкову адресу",
|
"lower_range_start_error": "Має бути меншим за початкову адресу",
|
||||||
"greater_range_start_error": "Має бути більшим за початкову адресу",
|
"greater_range_start_error": "Має бути більшим за початкову адресу",
|
||||||
"greater_range_end_error": "Має бути більшим за кінцеву адресу",
|
|
||||||
"subnet_error": "Адреси повинні бути в одній підмережі",
|
"subnet_error": "Адреси повинні бути в одній підмережі",
|
||||||
"gateway_or_subnet_invalid": "Неправильна маска підмережі",
|
"gateway_or_subnet_invalid": "Неправильна маска підмережі",
|
||||||
"dhcp_form_gateway_input": "IP-адреса шлюзу",
|
"dhcp_form_gateway_input": "IP-адреса шлюзу",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "«Батьківський контроль» увімкнено",
|
"enabled_parental_toast": "«Батьківський контроль» увімкнено",
|
||||||
"disabled_safe_search_toast": "Безпечний пошук вимкнено",
|
"disabled_safe_search_toast": "Безпечний пошук вимкнено",
|
||||||
"enabled_save_search_toast": "Безпечний пошук увімкнено",
|
"enabled_save_search_toast": "Безпечний пошук увімкнено",
|
||||||
|
"updated_save_search_toast": "Налаштування Безпечного пошуку оновлено",
|
||||||
"enabled_table_header": "Увімкнено",
|
"enabled_table_header": "Увімкнено",
|
||||||
"name_table_header": "Назва",
|
"name_table_header": "Назва",
|
||||||
"list_url_table_header": "URL списку",
|
"list_url_table_header": "URL списку",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# Також коментар.",
|
"example_comment_hash": "# Також коментар.",
|
||||||
"example_regex_meaning": "блокувати доступ до доменів, що відповідають вказаному регулярному виразу.",
|
"example_regex_meaning": "блокувати доступ до доменів, що відповідають вказаному регулярному виразу.",
|
||||||
"example_upstream_regular": "звичайний DNS (через UDP);",
|
"example_upstream_regular": "звичайний DNS (через UDP);",
|
||||||
|
"example_upstream_regular_port": "звичайний DNS (поверх UDP, з портом);",
|
||||||
"example_upstream_udp": "звичайний DNS (поверх UDP, з назвою вузла);",
|
"example_upstream_udp": "звичайний DNS (поверх UDP, з назвою вузла);",
|
||||||
"example_upstream_dot": "зашифрований <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "зашифрований <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "зашифрований <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "зашифрований <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "зашифрований DNS через HTTPS із примусовим <0>HTTP/3</0> і без повернення до HTTP/2 або нижче;",
|
||||||
"example_upstream_doq": "зашифрований <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "зашифрований <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "<0>DNS Stamps</0> для <1>DNSCrypt-</1> або <2>DNS-over-HTTPS-</2>вирішувачів;",
|
"example_upstream_sdns": "<0>DNS Stamps</0> для <1>DNSCrypt-</1> або <2>DNS-over-HTTPS-</2>вирішувачів;",
|
||||||
"example_upstream_tcp": "звичайний DNS (через TCP);",
|
"example_upstream_tcp": "звичайний DNS (через TCP);",
|
||||||
|
"example_upstream_tcp_port": "звичайний DNS (поверх TCP, з портом);",
|
||||||
"example_upstream_tcp_hostname": "звичайний DNS (поверх TCP, з назвою вузла);",
|
"example_upstream_tcp_hostname": "звичайний DNS (поверх TCP, з назвою вузла);",
|
||||||
"all_lists_up_to_date_toast": "Всі списки вже оновлені",
|
"all_lists_up_to_date_toast": "Всі списки вже оновлені",
|
||||||
"updated_upstream_dns_toast": "DNS-сервери успішно збережено",
|
"updated_upstream_dns_toast": "DNS-сервери успішно збережено",
|
||||||
"dns_test_ok_toast": "Вказані DNS сервери працюють правильно",
|
"dns_test_ok_toast": "Вказані DNS сервери працюють правильно",
|
||||||
"dns_test_not_ok_toast": "Сервер «{{key}}»: неможливо використати. Перевірте правильність введення",
|
"dns_test_not_ok_toast": "Сервер «{{key}}»: неможливо використати. Перевірте правильність введення",
|
||||||
|
"dns_test_warning_toast": "Upstream «{{key}}» не відповідає на тестові запити та може працювати не правильно",
|
||||||
"unblock": "Дозволити",
|
"unblock": "Дозволити",
|
||||||
"block": "Заборонити",
|
"block": "Заборонити",
|
||||||
"disallow_this_client": "Заборонити цього клієнта",
|
"disallow_this_client": "Заборонити цього клієнта",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "Обмеження швидкості",
|
"rate_limit": "Обмеження швидкості",
|
||||||
"edns_enable": "Увімкнути відправку EDNS Client Subnet",
|
"edns_enable": "Увімкнути відправку EDNS Client Subnet",
|
||||||
"edns_cs_desc": "Додавати параметр EDNS Client Subnet (ECS) до запитів до upstream-серверів, а також записувати в журнал значення, що надсилаються клієнтами.",
|
"edns_cs_desc": "Додавати параметр EDNS Client Subnet (ECS) до запитів до upstream-серверів, а також записувати в журнал значення, що надсилаються клієнтами.",
|
||||||
|
"edns_use_custom_ip": "Використання користувацької IP-адреси для EDNS",
|
||||||
|
"edns_use_custom_ip_desc": "Дозволити використовувати користувацьку IP-адресу для EDNS",
|
||||||
"rate_limit_desc": "Кількість запитів в секунду, які може робити один клієнт. Встановлене значення «0» означатиме необмежену кількість.",
|
"rate_limit_desc": "Кількість запитів в секунду, які може робити один клієнт. Встановлене значення «0» означатиме необмежену кількість.",
|
||||||
"blocking_ipv4_desc": "IP-адреса, яку потрібно видати для заблокованого A запиту",
|
"blocking_ipv4_desc": "IP-адреса, яку потрібно видати для заблокованого A запиту",
|
||||||
"blocking_ipv6_desc": "IP-адреса, яку потрібно видати для заблокованого АААА запиту",
|
"blocking_ipv6_desc": "IP-адреса, яку потрібно видати для заблокованого АААА запиту",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Відповісти з кодом NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Відповісти з кодом NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "Нульовий IP: Відповісти з нульовою IP-адресою (0.0.0.0 для A; :: для AAAA)",
|
"blocking_mode_null_ip": "Нульовий IP: Відповісти з нульовою IP-адресою (0.0.0.0 для A; :: для AAAA)",
|
||||||
"blocking_mode_custom_ip": "Спеціальна IP-адреса: Відповісти із вручну встановленою IP-адресою",
|
"blocking_mode_custom_ip": "Спеціальна IP-адреса: Відповісти із вручну встановленою IP-адресою",
|
||||||
|
"theme_auto": "Авто",
|
||||||
|
"theme_light": "Світла",
|
||||||
|
"theme_dark": "Темна",
|
||||||
"upstream_dns_client_desc": "Якщо це поле залишатиметься порожнім, AdGuard Home використовуватиме сервери, вказані в <0>налаштуваннях DNS</0>.",
|
"upstream_dns_client_desc": "Якщо це поле залишатиметься порожнім, AdGuard Home використовуватиме сервери, вказані в <0>налаштуваннях DNS</0>.",
|
||||||
"tracker_source": "Джерело відстежувача",
|
"tracker_source": "Джерело відстежувача",
|
||||||
"source_label": "Джерело",
|
"source_label": "Джерело",
|
||||||
@@ -363,11 +370,11 @@
|
|||||||
"encryption_config_saved": "Конфігурацію шифрування збережено",
|
"encryption_config_saved": "Конфігурацію шифрування збережено",
|
||||||
"encryption_server": "Назва сервера",
|
"encryption_server": "Назва сервера",
|
||||||
"encryption_server_enter": "Введіть ваше доменне ім'я",
|
"encryption_server_enter": "Введіть ваше доменне ім'я",
|
||||||
"encryption_server_desc": "Для використання HTTPS вам потрібно ввести назву сервера, який відповідає вашому SSL-сертифікату або сертифікату з підтримкою піддоменів. Якщо значення не вказано, то сервер буде приймати TLS-з'єднання для будь-якого домену.",
|
"encryption_server_desc": "Якщо встановлено, AdGuard Home розпізнає ClientID, відповідає на DDR-запити та додатково перевіряє з'єднання. Якщо не встановлено, то цей функціонал вимкнено. Мусить відповідати одному з параметрів DNS Names в сертифікаті.",
|
||||||
"encryption_redirect": "Автоматично перенаправляти на HTTPS",
|
"encryption_redirect": "Автоматично перенаправляти на HTTPS",
|
||||||
"encryption_redirect_desc": "Якщо встановлено, AdGuard Home автоматично перенаправить вас з HTTP на адреси HTTPS.",
|
"encryption_redirect_desc": "Якщо встановлено, AdGuard Home автоматично перенаправить вас з HTTP на адреси HTTPS.",
|
||||||
"encryption_https": "Порт HTTPS",
|
"encryption_https": "Порт HTTPS",
|
||||||
"encryption_https_desc": "Якщо HTTPS-порт налаштовано, інтерфейс адміністратора AdGuard Home буде доступний через HTTPS, а також DNS-over-HTTPS-сервер буде доступний за адресою /dns-query.",
|
"encryption_https_desc": "Якщо HTTPS-порт налаштовано, інтерфейс адміністратора AdGuard Home буде доступний через HTTPS, а також сервер DNS-over-HTTPS буде доступний за адресою '/dns-query'.",
|
||||||
"encryption_dot": "Порт DNS-over-TLS",
|
"encryption_dot": "Порт DNS-over-TLS",
|
||||||
"encryption_dot_desc": "Якщо цей порт налаштовано, AdGuard Home запустить на цьому порту сервер DNS-over-TLS.",
|
"encryption_dot_desc": "Якщо цей порт налаштовано, AdGuard Home запустить на цьому порту сервер DNS-over-TLS.",
|
||||||
"encryption_doq": "Порт DNS-over-QUIC",
|
"encryption_doq": "Порт DNS-over-QUIC",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "Видавець",
|
"encryption_issuer": "Видавець",
|
||||||
"encryption_hostnames": "Назви вузлів",
|
"encryption_hostnames": "Назви вузлів",
|
||||||
"encryption_reset": "Ви впевнені, що хочете скинути налаштування шифрування?",
|
"encryption_reset": "Ви впевнені, що хочете скинути налаштування шифрування?",
|
||||||
|
"encryption_warning": "Попередження",
|
||||||
"topline_expiring_certificate": "Ваш сертифікат SSL скоро закінчиться. Оновіть <0>Налаштування шифрування</0>.",
|
"topline_expiring_certificate": "Ваш сертифікат SSL скоро закінчиться. Оновіть <0>Налаштування шифрування</0>.",
|
||||||
"topline_expired_certificate": "Термін дії вашого сертифіката SSL закінчився. Оновіть <0>Налаштування шифрування</0>.",
|
"topline_expired_certificate": "Термін дії вашого сертифіката SSL закінчився. Оновіть <0>Налаштування шифрування</0>.",
|
||||||
"form_error_port_range": "Введіть значення порту в діапазоні 80−65535",
|
"form_error_port_range": "Введіть значення порту в діапазоні 80−65535",
|
||||||
@@ -444,11 +452,12 @@
|
|||||||
"access_disallowed_title": "Заборонені клієнти",
|
"access_disallowed_title": "Заборонені клієнти",
|
||||||
"access_disallowed_desc": "Перелік CIDR, IP-адрес та <a>ClientIDs</a>. Якщо налаштовано, AdGuard Home буде скасовувати запити від цих клієнтів. Проте якщо налаштовано список Дозволених клієнтів, то це поле проігнорується.",
|
"access_disallowed_desc": "Перелік CIDR, IP-адрес та <a>ClientIDs</a>. Якщо налаштовано, AdGuard Home буде скасовувати запити від цих клієнтів. Проте якщо налаштовано список Дозволених клієнтів, то це поле проігнорується.",
|
||||||
"access_blocked_title": "Заборонені домени",
|
"access_blocked_title": "Заборонені домени",
|
||||||
"access_blocked_desc": "Не плутайте з фільтрами. AdGuard Home буде ігнорувати DNS-запити з цими доменами, такі запити навіть не будуть записані до журналу. Ви можете вказати точні доменні імена, замінні знаки та правила фільтрування URL-адрес, наприклад, 'example.org', '*.example.org' або '||example.org^' відповідно.",
|
"access_blocked_desc": "Не плутайте з фільтрами. AdGuard Home буде ігнорувати DNS-запити з цими доменами, такі запити навіть не будуть записані до журналу. Ви можете вказати точні доменні імена, замінні знаки та правила фільтрування URL-адрес, наприклад, «example.org», «*.example.org» або «||example.org^» відповідно.",
|
||||||
"access_settings_saved": "Налаштування доступу успішно збережено",
|
"access_settings_saved": "Налаштування доступу успішно збережено",
|
||||||
"updates_checked": "Доступна нова версія AdGuard Home",
|
"updates_checked": "Доступна нова версія AdGuard Home",
|
||||||
"updates_version_equal": "AdGuard Home останньої версії",
|
"updates_version_equal": "AdGuard Home останньої версії",
|
||||||
"check_updates_now": "Перевірити наявність оновлень",
|
"check_updates_now": "Перевірити наявність оновлень",
|
||||||
|
"version_request_error": "Не вдалося перевірити оновлення. Будь ласка, перевірте з'єднання з інтернетом.",
|
||||||
"dns_privacy": "Конфіденційність DNS",
|
"dns_privacy": "Конфіденційність DNS",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS: </0>Використайте рядок <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS: </0>Використайте рядок <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Використайте рядок <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Використайте рядок <1>{{address}}</1>.",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "Ви впевнені, що хочете змінити тривалість статистики? Якщо зменшити значення інтервалу, деякі дані будуть втрачені",
|
"statistics_retention_confirm": "Ви впевнені, що хочете змінити тривалість статистики? Якщо зменшити значення інтервалу, деякі дані будуть втрачені",
|
||||||
"statistics_cleared": "Статистику успішно очищено",
|
"statistics_cleared": "Статистику успішно очищено",
|
||||||
"statistics_enable": "Увімкнути статистику",
|
"statistics_enable": "Увімкнути статистику",
|
||||||
|
"ignore_domains": "Ігноровані домени (по одному на рядок)",
|
||||||
|
"ignore_domains_title": "Ігноровані домени",
|
||||||
|
"ignore_domains_desc_stats": "Запити для цих доменів в статистику не пишуться",
|
||||||
|
"ignore_domains_desc_query": "Запити для цих доменів не записуються до журналу запитів",
|
||||||
"interval_hours": "{{count}} година",
|
"interval_hours": "{{count}} година",
|
||||||
"interval_hours_plural": "{{count}} годин(и)",
|
"interval_hours_plural": "{{count}} годин(и)",
|
||||||
"filters_configuration": "Конфігурація фільтрів",
|
"filters_configuration": "Конфігурація фільтрів",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "Список блокування",
|
"blocklist": "Список блокування",
|
||||||
"milliseconds_abbreviation": "мс",
|
"milliseconds_abbreviation": "мс",
|
||||||
"cache_size": "Розмір кешу",
|
"cache_size": "Розмір кешу",
|
||||||
"cache_size_desc": "Розмір кешу DNS (у байтах).",
|
"cache_size_desc": "Розмір кешу DNS (у байтах). Щоб вимкнути кешування, залиште пустим.",
|
||||||
"cache_ttl_min_override": "Змінити мінімальний TTL",
|
"cache_ttl_min_override": "Змінити мінімальний TTL",
|
||||||
"cache_ttl_max_override": "Змінити максимальний TTL",
|
"cache_ttl_max_override": "Змінити максимальний TTL",
|
||||||
"enter_cache_size": "Введіть розмір кешу (байт)",
|
"enter_cache_size": "Введіть розмір кешу (байт)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "Батьківський контроль",
|
"parental_control": "Батьківський контроль",
|
||||||
"safe_browsing": "Безпечний перегляд",
|
"safe_browsing": "Безпечний перегляд",
|
||||||
"served_from_cache": "{{value}} <i>(отримано з кешу)</i>",
|
"served_from_cache": "{{value}} <i>(отримано з кешу)</i>",
|
||||||
"form_error_password_length": "Пароль мусить мати принаймні {{value}} символів"
|
"form_error_password_length": "Пароль мусить мати принаймні {{value}} символів",
|
||||||
|
"anonymizer_notification": "<0>Примітка:</0> IP-анонімізацію ввімкнено. Ви можете вимкнути його в <1>Загальні налаштування</1> .",
|
||||||
|
"confirm_dns_cache_clear": "Ви впевнені, що бажаєте очистити кеш DNS?",
|
||||||
|
"cache_cleared": "Кеш DNS успішно очищено",
|
||||||
|
"clear_cache": "Очистити кеш",
|
||||||
|
"make_static": "Зробити статичним",
|
||||||
|
"theme_auto_desc": "Автоматична (на основі теми вашого пристрою)",
|
||||||
|
"theme_dark_desc": "Темна тема",
|
||||||
|
"theme_light_desc": "Світла тема",
|
||||||
|
"disable_for_seconds": "На {{count}} секунду",
|
||||||
|
"disable_for_seconds_plural": "На {{count}} секунд",
|
||||||
|
"disable_for_minutes": "На {{count}} хвилину",
|
||||||
|
"disable_for_minutes_plural": "На {{count}} хвилин",
|
||||||
|
"disable_for_hours": "На {{count}} годину",
|
||||||
|
"disable_for_hours_plural": "На {{count}} годин",
|
||||||
|
"disable_until_tomorrow": "До завтра",
|
||||||
|
"disable_notify_for_seconds": "Вимкнення захисту на {{count}} секунду",
|
||||||
|
"disable_notify_for_seconds_plural": "Вимкнення захисту на {{count}} секунд",
|
||||||
|
"disable_notify_for_minutes": "Вимкнення захисту на {{count}} хвилину",
|
||||||
|
"disable_notify_for_minutes_plural": "Вимкнення захисту на {{count}} хвилин",
|
||||||
|
"disable_notify_for_hours": "Вимкнення захисту на {{count}} годину",
|
||||||
|
"disable_notify_for_hours_plural": "Вимкнення захисту на {{count}} годин",
|
||||||
|
"disable_notify_until_tomorrow": "Відключення захисту до завтра",
|
||||||
|
"enable_protection_timer": "Захист буде ввімкнено о {{time}}",
|
||||||
|
"custom_retention_input": "Введіть час в годинах",
|
||||||
|
"custom_rotation_input": "Введіть час в годинах",
|
||||||
|
"protection_section_label": "Захист",
|
||||||
|
"log_and_stats_section_label": "Журнал запитів і статистика",
|
||||||
|
"ignore_query_log": "Ігнорувати цей клієнт у журналі запитів",
|
||||||
|
"ignore_statistics": "Ігноруйте цей клієнт в статистиці"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "Cài đặt DHCP IPv6",
|
"dhcp_ipv6_settings": "Cài đặt DHCP IPv6",
|
||||||
"form_error_required": "Trường bắt buộc",
|
"form_error_required": "Trường bắt buộc",
|
||||||
"form_error_ip4_format": "Địa chỉ IPv4 không hợp lệ",
|
"form_error_ip4_format": "Địa chỉ IPv4 không hợp lệ",
|
||||||
"form_error_ip4_range_start_format": "Địa chỉ IPv4 không hợp lệ của phạm vi bắt đầu",
|
|
||||||
"form_error_ip4_range_end_format": "Địa chỉ IPv4 không hợp lệ của cuối phạm vi",
|
|
||||||
"form_error_ip4_gateway_format": "Địa chỉ IPv4 không hợp lệ của cổng kết nối",
|
"form_error_ip4_gateway_format": "Địa chỉ IPv4 không hợp lệ của cổng kết nối",
|
||||||
"form_error_ip6_format": "Địa chỉ IPv6 không hợp lệ",
|
"form_error_ip6_format": "Địa chỉ IPv6 không hợp lệ",
|
||||||
"form_error_ip_format": "Địa chỉ IP không hợp lệ",
|
"form_error_ip_format": "Địa chỉ IP không hợp lệ",
|
||||||
@@ -47,10 +45,10 @@
|
|||||||
"form_error_server_name": "Tên máy chủ không hợp lệ",
|
"form_error_server_name": "Tên máy chủ không hợp lệ",
|
||||||
"form_error_subnet": "Mạng con \"{{cidr}}\" không chứa địa chỉ IP \"{{ip}}\"",
|
"form_error_subnet": "Mạng con \"{{cidr}}\" không chứa địa chỉ IP \"{{ip}}\"",
|
||||||
"form_error_positive": "Phải lớn hơn 0",
|
"form_error_positive": "Phải lớn hơn 0",
|
||||||
|
"form_error_gateway_ip": "Cho thuê không thể có địa chỉ IP của cổng",
|
||||||
"out_of_range_error": "Phải nằm ngoài phạm vi \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "Phải nằm ngoài phạm vi \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "Phải thấp hơn khởi động phạm vi",
|
"lower_range_start_error": "Phải thấp hơn khởi động phạm vi",
|
||||||
"greater_range_start_error": "Phải lớn hơn khoảng bắt đầu",
|
"greater_range_start_error": "Phải lớn hơn khoảng bắt đầu",
|
||||||
"greater_range_end_error": "Phải lớn hơn phạm vi kết thúc",
|
|
||||||
"subnet_error": "Địa chỉ phải nằm trong một mạng con",
|
"subnet_error": "Địa chỉ phải nằm trong một mạng con",
|
||||||
"gateway_or_subnet_invalid": "Mặt nạ mạng con không hợp lệ",
|
"gateway_or_subnet_invalid": "Mặt nạ mạng con không hợp lệ",
|
||||||
"dhcp_form_gateway_input": "Cổng IP",
|
"dhcp_form_gateway_input": "Cổng IP",
|
||||||
@@ -210,17 +208,21 @@
|
|||||||
"example_comment_hash": "# Cũng là một chú thích.",
|
"example_comment_hash": "# Cũng là một chú thích.",
|
||||||
"example_regex_meaning": "chặn quyền truy cập vào các miền khớp với biểu thức chính được quy định.",
|
"example_regex_meaning": "chặn quyền truy cập vào các miền khớp với biểu thức chính được quy định.",
|
||||||
"example_upstream_regular": "DNS thông thường (dùng UDP);",
|
"example_upstream_regular": "DNS thông thường (dùng UDP);",
|
||||||
|
"example_upstream_regular_port": "DNS thông thường (qua UDP, với cổng);",
|
||||||
"example_upstream_udp": "DNS thông thường (qua UDP, tên máy chủ);",
|
"example_upstream_udp": "DNS thông thường (qua UDP, tên máy chủ);",
|
||||||
"example_upstream_dot": "được mã hoá <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "được mã hoá <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "được mã hoá <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "được mã hoá <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "DNS-over-HTTPS được mã hóa với <0>HTTP/3</0> bắt buộc và không có dự phòng cho HTTP/2 trở xuống;",
|
||||||
"example_upstream_doq": "được mã hoá <0>DNS-over-QUIC</0>;",
|
"example_upstream_doq": "được mã hoá <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "bạn có thể sử dụng <0>DNS Stamps</0> for <1>DNSCrypt</1> hoặc <2>DNS-over-HTTPS</2> ",
|
"example_upstream_sdns": "bạn có thể sử dụng <0>DNS Stamps</0> for <1>DNSCrypt</1> hoặc <2>DNS-over-HTTPS</2> ",
|
||||||
"example_upstream_tcp": "DNS thông thường(dùng TCP);",
|
"example_upstream_tcp": "DNS thông thường(dùng TCP);",
|
||||||
|
"example_upstream_tcp_port": "DNS thông thường (qua TCP, với cổng);",
|
||||||
"example_upstream_tcp_hostname": "DNS thông thường (qua TCP, tên máy chủ);",
|
"example_upstream_tcp_hostname": "DNS thông thường (qua TCP, tên máy chủ);",
|
||||||
"all_lists_up_to_date_toast": "Tất cả danh sách đã ở phiên bản mới nhất",
|
"all_lists_up_to_date_toast": "Tất cả danh sách đã ở phiên bản mới nhất",
|
||||||
"updated_upstream_dns_toast": "Các máy chủ thượng nguồn đã được lưu thành công",
|
"updated_upstream_dns_toast": "Các máy chủ thượng nguồn đã được lưu thành công",
|
||||||
"dns_test_ok_toast": "Máy chủ DNS có thể sử dụng",
|
"dns_test_ok_toast": "Máy chủ DNS có thể sử dụng",
|
||||||
"dns_test_not_ok_toast": "Máy chủ \"{{key}}\"': không thể sử dụng, vui lòng kiểm tra lại",
|
"dns_test_not_ok_toast": "Máy chủ \"{{key}}\"': không thể sử dụng, vui lòng kiểm tra lại",
|
||||||
|
"dns_test_warning_toast": "Ngược lại \"{{key}}\" không phản hồi các yêu cầu kiểm tra và có thể không hoạt động bình thường",
|
||||||
"unblock": "Bỏ chặn",
|
"unblock": "Bỏ chặn",
|
||||||
"block": "Chặn",
|
"block": "Chặn",
|
||||||
"disallow_this_client": "Không cho phép client này",
|
"disallow_this_client": "Không cho phép client này",
|
||||||
@@ -296,6 +298,9 @@
|
|||||||
"blocking_mode_nxdomain": "NXDOMAIN: Phản hổi với mã NXDOMAIN",
|
"blocking_mode_nxdomain": "NXDOMAIN: Phản hổi với mã NXDOMAIN",
|
||||||
"blocking_mode_null_ip": "Null IP: Trả lời bằng không địa chỉ IP (0.0.0.0 cho A; :: cho AAAA)",
|
"blocking_mode_null_ip": "Null IP: Trả lời bằng không địa chỉ IP (0.0.0.0 cho A; :: cho AAAA)",
|
||||||
"blocking_mode_custom_ip": "IP tùy chỉnh: Phản hồi với địa chỉ IP đã được tiết lập",
|
"blocking_mode_custom_ip": "IP tùy chỉnh: Phản hồi với địa chỉ IP đã được tiết lập",
|
||||||
|
"theme_auto": "Tự động",
|
||||||
|
"theme_light": "Light theme",
|
||||||
|
"theme_dark": "Dark theme",
|
||||||
"upstream_dns_client_desc": "Nếu để trống trường này, AdGuardHome sẽ sử dụng nhũng máy chủ được cấu hình ở <0>Cấu hình DNS</0>.",
|
"upstream_dns_client_desc": "Nếu để trống trường này, AdGuardHome sẽ sử dụng nhũng máy chủ được cấu hình ở <0>Cấu hình DNS</0>.",
|
||||||
"tracker_source": "Nguồn theo dõi",
|
"tracker_source": "Nguồn theo dõi",
|
||||||
"source_label": "Nguồn",
|
"source_label": "Nguồn",
|
||||||
@@ -362,7 +367,7 @@
|
|||||||
"encryption_config_saved": "Đã lưu cấu hình mã hóa",
|
"encryption_config_saved": "Đã lưu cấu hình mã hóa",
|
||||||
"encryption_server": "Tên máy chủ",
|
"encryption_server": "Tên máy chủ",
|
||||||
"encryption_server_enter": "Nhập tên miền của bạn",
|
"encryption_server_enter": "Nhập tên miền của bạn",
|
||||||
"encryption_server_desc": "Để sử dụng HTTPS, bạn cần nhập tên máy chủ phù hợp với chứng chỉ SSL của bạn. Nếu trường này bị bỏ trống, nó sẽ chấp nhận kết nối TLS với tất cả tên miền.",
|
"encryption_server_desc": "Nếu được đặt, AdGuard Home sẽ phát hiện ClientID, phản hồi các truy vấn DDR và thực hiện xác thực kết nối bổ sung. Nếu không được đặt, các tính năng này sẽ bị vô hiệu hóa. Phải khớp với một trong các Tên DNS trong chứng chỉ.",
|
||||||
"encryption_redirect": "Tự động chuyển hướng đến HTTPS",
|
"encryption_redirect": "Tự động chuyển hướng đến HTTPS",
|
||||||
"encryption_redirect_desc": "Nếu được chọn, AdGuard Home sẽ tự động chuyển hướng bạn từ địa chỉ HTTP sang địa chỉ HTTPS.",
|
"encryption_redirect_desc": "Nếu được chọn, AdGuard Home sẽ tự động chuyển hướng bạn từ địa chỉ HTTP sang địa chỉ HTTPS.",
|
||||||
"encryption_https": "Cổng HTTPS",
|
"encryption_https": "Cổng HTTPS",
|
||||||
@@ -388,6 +393,7 @@
|
|||||||
"encryption_issuer": "Phát hành",
|
"encryption_issuer": "Phát hành",
|
||||||
"encryption_hostnames": "Tên máy chủ",
|
"encryption_hostnames": "Tên máy chủ",
|
||||||
"encryption_reset": "Bạn có chắc chắn muốn đặt lại cài đặt mã hóa?",
|
"encryption_reset": "Bạn có chắc chắn muốn đặt lại cài đặt mã hóa?",
|
||||||
|
"encryption_warning": "Cảnh báo",
|
||||||
"topline_expiring_certificate": "Chứng chỉ SSL của bạn sắp hết hạn. Cập nhật <0>Cài đặt mã hóa</0>.",
|
"topline_expiring_certificate": "Chứng chỉ SSL của bạn sắp hết hạn. Cập nhật <0>Cài đặt mã hóa</0>.",
|
||||||
"topline_expired_certificate": "Chứng chỉ SSL của bạn đã hết hạn. Cập nhật <0>Cài đặt mã hóa</0>.",
|
"topline_expired_certificate": "Chứng chỉ SSL của bạn đã hết hạn. Cập nhật <0>Cài đặt mã hóa</0>.",
|
||||||
"form_error_port_range": "Nhập giá trị cổng trong phạm vi 80-65535",
|
"form_error_port_range": "Nhập giá trị cổng trong phạm vi 80-65535",
|
||||||
@@ -448,6 +454,7 @@
|
|||||||
"updates_checked": "Phiên bản mới của AdGuard Home có sẵn",
|
"updates_checked": "Phiên bản mới của AdGuard Home có sẵn",
|
||||||
"updates_version_equal": "AdGuard Home đã được cập nhật",
|
"updates_version_equal": "AdGuard Home đã được cập nhật",
|
||||||
"check_updates_now": "Kiểm tra cập nhật ngay bây giờ",
|
"check_updates_now": "Kiểm tra cập nhật ngay bây giờ",
|
||||||
|
"version_request_error": "Cập nhật không thành công. Hãy kiểm tra kết nối internet của bạn.",
|
||||||
"dns_privacy": "DNS Riêng Tư",
|
"dns_privacy": "DNS Riêng Tư",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Sử dụng chuỗi <1>{{address}}</1>.",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Sử dụng chuỗi <1>{{address}}</1>.",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Sử dụng chuỗi <1>{{address}}</1>.",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Sử dụng chuỗi <1>{{address}}</1>.",
|
||||||
@@ -601,7 +608,7 @@
|
|||||||
"blocklist": "Danh sách chặn",
|
"blocklist": "Danh sách chặn",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "Kích thước cache",
|
"cache_size": "Kích thước cache",
|
||||||
"cache_size_desc": "Kích thước cache DNS (bytes).",
|
"cache_size_desc": "Kích thước bộ nhớ cache DNS (tính bằng byte). Để tắt bộ nhớ đệm, hãy để trống.",
|
||||||
"cache_ttl_min_override": "Ghi đè TTL tối thiểu",
|
"cache_ttl_min_override": "Ghi đè TTL tối thiểu",
|
||||||
"cache_ttl_max_override": "Ghi đè TTL tối đa",
|
"cache_ttl_max_override": "Ghi đè TTL tối đa",
|
||||||
"enter_cache_size": "Nhập kích thước bộ nhớ cache (byte)",
|
"enter_cache_size": "Nhập kích thước bộ nhớ cache (byte)",
|
||||||
@@ -631,5 +638,10 @@
|
|||||||
"parental_control": "Quản lý của phụ huynh",
|
"parental_control": "Quản lý của phụ huynh",
|
||||||
"safe_browsing": "Duyệt web an toàn",
|
"safe_browsing": "Duyệt web an toàn",
|
||||||
"served_from_cache": "{{value}} <i>(được phục vụ từ bộ nhớ cache)</i>",
|
"served_from_cache": "{{value}} <i>(được phục vụ từ bộ nhớ cache)</i>",
|
||||||
"form_error_password_length": "Mật khẩu phải có ít nhất {{value}} ký tự"
|
"form_error_password_length": "Mật khẩu phải có ít nhất {{value}} ký tự",
|
||||||
|
"anonymizer_notification": "<0> Lưu ý:</0> Tính năng ẩn danh IP được bật. Bạn có thể tắt nó trong <1> Cài đặt chung</1>.",
|
||||||
|
"confirm_dns_cache_clear": "Bạn có chắc chắn muốn xóa bộ đệm ẩn DNS không?",
|
||||||
|
"cache_cleared": "Đã xóa thành công bộ đệm DNS",
|
||||||
|
"clear_cache": "Xóa bộ nhớ cache",
|
||||||
|
"protection_section_label": "Sự bảo vệ"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"resolve_clients_title": "启用客户端的 IP 地址的反向解析",
|
"resolve_clients_title": "启用客户端的 IP 地址的反向解析",
|
||||||
"resolve_clients_desc": "通过发送 PTR 查询到对应的解析器 (本地客户端的私人 DNS 服务器,公共 IP 客户端的上游服务器) 将 IP 地址反向解析成其客户端主机名。",
|
"resolve_clients_desc": "通过发送 PTR 查询到对应的解析器 (本地客户端的私人 DNS 服务器,公共 IP 客户端的上游服务器) 将 IP 地址反向解析成其客户端主机名。",
|
||||||
"use_private_ptr_resolvers_title": "使用私人反向 DNS 解析器",
|
"use_private_ptr_resolvers_title": "使用私人反向 DNS 解析器",
|
||||||
"use_private_ptr_resolvers_desc": "使用这些上游服务器对本地服务的地址执行反向 DNS 查找。 如果禁用,则 AdGuard Home会以 NXDOMAIN 响应所有此类PTR请求,从 DHCP、/ etc / hosts 等获知的客户端除外。",
|
"use_private_ptr_resolvers_desc": "使用这些上游服务器对本地服务的地址执行反向 DNS 查找。 如果禁用,则 AdGuard Home 会以 NXDOMAIN 响应所有此类 PTR 请求,从 DHCP、/etc/hosts 等获知的客户端除外。",
|
||||||
"check_dhcp_servers": "检查 DHCP 服务器",
|
"check_dhcp_servers": "检查 DHCP 服务器",
|
||||||
"save_config": "保存配置",
|
"save_config": "保存配置",
|
||||||
"enabled_dhcp": "DHCP 服务器已启用",
|
"enabled_dhcp": "DHCP 服务器已启用",
|
||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6设置",
|
"dhcp_ipv6_settings": "DHCP IPv6设置",
|
||||||
"form_error_required": "必填字段",
|
"form_error_required": "必填字段",
|
||||||
"form_error_ip4_format": "无效的 IPv4 地址",
|
"form_error_ip4_format": "无效的 IPv4 地址",
|
||||||
"form_error_ip4_range_start_format": "范围起始值的 IPv4 地址无效",
|
|
||||||
"form_error_ip4_range_end_format": "范围终值的 IPv4 地址无效",
|
|
||||||
"form_error_ip4_gateway_format": "网关 IPv4 地址无效",
|
"form_error_ip4_gateway_format": "网关 IPv4 地址无效",
|
||||||
"form_error_ip6_format": "无效的 IPv6 地址",
|
"form_error_ip6_format": "无效的 IPv6 地址",
|
||||||
"form_error_ip_format": "无效的 IP 地址",
|
"form_error_ip_format": "无效的 IP 地址",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "必定超出了范围 \"{{start}}\"-\"{{end}}\"",
|
"out_of_range_error": "必定超出了范围 \"{{start}}\"-\"{{end}}\"",
|
||||||
"lower_range_start_error": "必须小于范围起始值",
|
"lower_range_start_error": "必须小于范围起始值",
|
||||||
"greater_range_start_error": "必须大于范围起始值",
|
"greater_range_start_error": "必须大于范围起始值",
|
||||||
"greater_range_end_error": "必须大于范围终值",
|
|
||||||
"subnet_error": "地址必须在一个子网内",
|
"subnet_error": "地址必须在一个子网内",
|
||||||
"gateway_or_subnet_invalid": "子网掩码无效",
|
"gateway_or_subnet_invalid": "子网掩码无效",
|
||||||
"dhcp_form_gateway_input": "网关 IP",
|
"dhcp_form_gateway_input": "网关 IP",
|
||||||
@@ -70,7 +67,7 @@
|
|||||||
"dhcp_warning": "如果你想要启用内置的 DHCP 服务器,请确保在当前网络中没有其它起作用的 DHCP 服务器。否则,此操作可能会破坏已连接设备的网络连接!",
|
"dhcp_warning": "如果你想要启用内置的 DHCP 服务器,请确保在当前网络中没有其它起作用的 DHCP 服务器。否则,此操作可能会破坏已连接设备的网络连接!",
|
||||||
"dhcp_error": "AdGuard Home 无法确定在当前网络中是否存在其它 DHCP 服务器",
|
"dhcp_error": "AdGuard Home 无法确定在当前网络中是否存在其它 DHCP 服务器",
|
||||||
"dhcp_static_ip_error": "要使用 DHCP 服务器,则必须设置静态 IP 地址。AdGuard Home 无法确定此网络接口是否已被配置为使用静态 IP 地址。请手动为此网络接口设置静态 IP 地址。",
|
"dhcp_static_ip_error": "要使用 DHCP 服务器,则必须设置静态 IP 地址。AdGuard Home 无法确定此网络接口是否已被配置为使用静态 IP 地址。请手动为此网络接口设置静态 IP 地址。",
|
||||||
"dhcp_dynamic_ip_found": "您的系统对网络接口 <0>{{interfaceName}}</0> 使用了动态 IP 地址配置。要使用 DHCP 服务器,则必须对此网络接口使用静态 IP 地址配置。此网络接口当前的 IP 地址为 <0>{{ipAddress}}</0>。如您点击“启用 DHCP 服务器” 按钮,AdGuard Home 将自动修改此网络接口以使用静态 IP 地址。",
|
"dhcp_dynamic_ip_found": "您的系统对网络接口 <0>{{interfaceName}}</0> 使用了动态 IP 地址配置。要使用 DHCP 服务器,则必须对此网络接口使用静态 IP 地址配置。此网络接口当前的 IP 地址为 <0>{{ipAddress}}</0>。如您点击「启用 DHCP 服务器」按钮,AdGuard Home 将自动修改此网络接口以使用静态 IP 地址。",
|
||||||
"dhcp_lease_added": "静态租约 \"{{key}}\" 已成功添加",
|
"dhcp_lease_added": "静态租约 \"{{key}}\" 已成功添加",
|
||||||
"dhcp_lease_deleted": "静态租约 \"{{key}}\" 已成功删除",
|
"dhcp_lease_deleted": "静态租约 \"{{key}}\" 已成功删除",
|
||||||
"dhcp_new_static_lease": "新建静态租约",
|
"dhcp_new_static_lease": "新建静态租约",
|
||||||
@@ -131,7 +128,7 @@
|
|||||||
"number_of_dns_query_days": "过去 {{count}} 天内处理的 DNS 查询总数",
|
"number_of_dns_query_days": "过去 {{count}} 天内处理的 DNS 查询总数",
|
||||||
"number_of_dns_query_days_plural": "在过去的 {{count}} 天内处理了多少个 DNS 查询",
|
"number_of_dns_query_days_plural": "在过去的 {{count}} 天内处理了多少个 DNS 查询",
|
||||||
"number_of_dns_query_24_hours": "过去 24 小时内处理的 DNS 请求总数",
|
"number_of_dns_query_24_hours": "过去 24 小时内处理的 DNS 请求总数",
|
||||||
"number_of_dns_query_blocked_24_hours": "被广告过滤器和 Hosts 拦截清单阻止的 DNS 请求总数",
|
"number_of_dns_query_blocked_24_hours": "被广告过滤器和 Hosts 黑名单阻止的 DNS 请求总数",
|
||||||
"number_of_dns_query_blocked_24_hours_by_sec": "被 AdGuard 安全浏览模块阻止的 DNS 请求总数",
|
"number_of_dns_query_blocked_24_hours_by_sec": "被 AdGuard 安全浏览模块阻止的 DNS 请求总数",
|
||||||
"number_of_dns_query_blocked_24_hours_adult": "被阻止的成人网站总数",
|
"number_of_dns_query_blocked_24_hours_adult": "被阻止的成人网站总数",
|
||||||
"enforced_save_search": "强制安全搜索",
|
"enforced_save_search": "强制安全搜索",
|
||||||
@@ -149,10 +146,10 @@
|
|||||||
"no_servers_specified": "未找到指定的服务器",
|
"no_servers_specified": "未找到指定的服务器",
|
||||||
"general_settings": "常规设置",
|
"general_settings": "常规设置",
|
||||||
"dns_settings": "DNS 设置",
|
"dns_settings": "DNS 设置",
|
||||||
"dns_blocklists": "DNS 拦截列表",
|
"dns_blocklists": "DNS 黑名单",
|
||||||
"dns_allowlists": "DNS 允许列表",
|
"dns_allowlists": "DNS 白名单",
|
||||||
"dns_blocklists_desc": "AdGuard Home将阻止匹配DNS拦截清单的域名",
|
"dns_blocklists_desc": "AdGuard Home将阻止匹配DNS拦截清单的域名",
|
||||||
"dns_allowlists_desc": "来自DNS允许列表的域将被允许,即使它们位于任意阻止列表中也是如此",
|
"dns_allowlists_desc": "来自 DNS 白名单的域名将被允许,即使它们位于任意黑名单中也是如此。",
|
||||||
"custom_filtering_rules": "自定义过滤规则",
|
"custom_filtering_rules": "自定义过滤规则",
|
||||||
"encryption_settings": "加密设置",
|
"encryption_settings": "加密设置",
|
||||||
"dhcp_settings": "DHCP 设置",
|
"dhcp_settings": "DHCP 设置",
|
||||||
@@ -170,33 +167,34 @@
|
|||||||
"enabled_parental_toast": "家长控制已启用",
|
"enabled_parental_toast": "家长控制已启用",
|
||||||
"disabled_safe_search_toast": "安全搜索已禁用",
|
"disabled_safe_search_toast": "安全搜索已禁用",
|
||||||
"enabled_save_search_toast": "安全搜索已启用",
|
"enabled_save_search_toast": "安全搜索已启用",
|
||||||
|
"updated_save_search_toast": "安全搜索设置更新成功",
|
||||||
"enabled_table_header": "已启用",
|
"enabled_table_header": "已启用",
|
||||||
"name_table_header": "名称",
|
"name_table_header": "名称",
|
||||||
"list_url_table_header": "清单网址",
|
"list_url_table_header": "清单网址",
|
||||||
"rules_count_table_header": "规则数",
|
"rules_count_table_header": "规则数",
|
||||||
"last_time_updated_table_header": "上次更新时间",
|
"last_time_updated_table_header": "上次更新时间",
|
||||||
"actions_table_header": "活跃状态",
|
"actions_table_header": "操作",
|
||||||
"request_table_header": "请求",
|
"request_table_header": "请求",
|
||||||
"edit_table_action": "编辑",
|
"edit_table_action": "编辑",
|
||||||
"delete_table_action": "删除",
|
"delete_table_action": "删除",
|
||||||
"elapsed": "耗时",
|
"elapsed": "耗时",
|
||||||
"filters_and_hosts_hint": "AdGuard Home 可以解析基础的 adblock 规则和 Hosts 语法。",
|
"filters_and_hosts_hint": "AdGuard Home 可以解析基础的 adblock 规则和 Hosts 语法。",
|
||||||
"no_blocklist_added": "未添加阻止列表",
|
"no_blocklist_added": "未添加黑名单",
|
||||||
"no_whitelist_added": "未添加允许列表",
|
"no_whitelist_added": "未添加白名单",
|
||||||
"add_blocklist": "添加阻止列表",
|
"add_blocklist": "添加黑名单",
|
||||||
"add_allowlist": "添加允许列表",
|
"add_allowlist": "添加白名单",
|
||||||
"cancel_btn": "取消",
|
"cancel_btn": "取消",
|
||||||
"enter_name_hint": "输入名称",
|
"enter_name_hint": "输入名称",
|
||||||
"enter_url_or_path_hint": "请输入URL或列表的绝对路径",
|
"enter_url_or_path_hint": "请输入URL或列表的绝对路径",
|
||||||
"check_updates_btn": "检查更新",
|
"check_updates_btn": "检查更新",
|
||||||
"new_blocklist": "新封锁清单",
|
"new_blocklist": "新封锁清单",
|
||||||
"new_allowlist": "新的允许清单",
|
"new_allowlist": "新增白名单",
|
||||||
"edit_blocklist": "编辑阻止列表",
|
"edit_blocklist": "编辑黑名单",
|
||||||
"edit_allowlist": "编辑允许列表",
|
"edit_allowlist": "编辑白名单",
|
||||||
"choose_blocklist": "选择拦截列表",
|
"choose_blocklist": "选择黑名单",
|
||||||
"choose_allowlist": "选择允许列表",
|
"choose_allowlist": "选择白名单",
|
||||||
"enter_valid_blocklist": "输入有效的阻止列表URL",
|
"enter_valid_blocklist": "输入有效的黑名单 URL",
|
||||||
"enter_valid_allowlist": "输入有效的允许列表URL",
|
"enter_valid_allowlist": "输入有效的白名单 URL",
|
||||||
"form_error_url_format": "无效的 URL 格式",
|
"form_error_url_format": "无效的 URL 格式",
|
||||||
"form_error_url_or_path_format": "无效的 URL 或列表的绝对路径",
|
"form_error_url_or_path_format": "无效的 URL 或列表的绝对路径",
|
||||||
"custom_filter_rules": "自定义过滤器规则",
|
"custom_filter_rules": "自定义过滤器规则",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# 这也是一行注释。",
|
"example_comment_hash": "# 这也是一行注释。",
|
||||||
"example_regex_meaning": "阻止访问与指定的正则表达式匹配的域名。",
|
"example_regex_meaning": "阻止访问与指定的正则表达式匹配的域名。",
|
||||||
"example_upstream_regular": "常规 DNS(基于 UDP);",
|
"example_upstream_regular": "常规 DNS(基于 UDP);",
|
||||||
|
"example_upstream_regular_port": "常规 DNS(通过 UDP,带端口);",
|
||||||
"example_upstream_udp": "常规 DNS(通过 UDP、主机名);",
|
"example_upstream_udp": "常规 DNS(通过 UDP、主机名);",
|
||||||
"example_upstream_dot": "加密 <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "加密 <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "加密 <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "加密 <0>DNS-over-HTTPS</0>;",
|
||||||
|
"example_upstream_doh3": "带有强制 <0>HTTP/3</0> 的加密 DNS-over-HTTPS,并且没有回退到 HTTP/2 或更低版本;",
|
||||||
"example_upstream_doq": "加密 <0>DNS-over-QUIC</0>",
|
"example_upstream_doq": "加密 <0>DNS-over-QUIC</0>",
|
||||||
"example_upstream_sdns": "<1>DNSCrypt</1> 的 <0>DNS Stamps</0> 或者 <2>DNS-over-HTTPS</2> 解析器;",
|
"example_upstream_sdns": "<1>DNSCrypt</1> 的 <0>DNS Stamps</0> 或者 <2>DNS-over-HTTPS</2> 解析器;",
|
||||||
"example_upstream_tcp": "常规 DNS(基于 TCP );",
|
"example_upstream_tcp": "常规 DNS(基于 TCP );",
|
||||||
|
"example_upstream_tcp_port": "常规 DNS(通过 TCP,带端口);",
|
||||||
"example_upstream_tcp_hostname": "常规 DNS(通过 TCP、主机名);",
|
"example_upstream_tcp_hostname": "常规 DNS(通过 TCP、主机名);",
|
||||||
"all_lists_up_to_date_toast": "所有列表都是最新的",
|
"all_lists_up_to_date_toast": "所有列表都是最新的",
|
||||||
"updated_upstream_dns_toast": "上游服务器保存成功",
|
"updated_upstream_dns_toast": "上游服务器保存成功",
|
||||||
"dns_test_ok_toast": "指定的 DNS 服务器现已正常运行",
|
"dns_test_ok_toast": "指定的 DNS 服务器现已正常运行",
|
||||||
"dns_test_not_ok_toast": "服务器 \"{{key}}\":无法使用,请检查你输入的是否正确",
|
"dns_test_not_ok_toast": "服务器 \"{{key}}\":无法使用,请检查你输入的是否正确",
|
||||||
|
"dns_test_warning_toast": "上游 “{{key}}” 不响应测试请求,可能无法正常工作",
|
||||||
"unblock": "放行",
|
"unblock": "放行",
|
||||||
"block": "拦截",
|
"block": "拦截",
|
||||||
"disallow_this_client": "不允许这个客户端",
|
"disallow_this_client": "不允许这个客户端",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "查询日志已成功清除",
|
"query_log_cleared": "查询日志已成功清除",
|
||||||
"query_log_updated": "已成功更新查询日志",
|
"query_log_updated": "已成功更新查询日志",
|
||||||
"query_log_clear": "清除查询日志",
|
"query_log_clear": "清除查询日志",
|
||||||
"query_log_retention": "查询记录保留时间",
|
"query_log_retention": "查询日志保留时间",
|
||||||
"query_log_enable": "启用日志",
|
"query_log_enable": "启用日志",
|
||||||
"query_log_configuration": "日志配置",
|
"query_log_configuration": "日志配置",
|
||||||
"query_log_disabled": "查询日志已禁用,在<0>这些设置</0>中能配置它们",
|
"query_log_disabled": "查询日志已禁用,在<0>这些设置</0>中能配置它们",
|
||||||
"query_log_strict_search": "使用双引号进行严谨搜索",
|
"query_log_strict_search": "使用双引号进行严谨搜索",
|
||||||
"query_log_retention_confirm": "您确定要更改查询记录保留时间吗? 如果您减少间隔时间的值, 某些数据可能会丢失。",
|
"query_log_retention_confirm": "您确定要更改查询记录保留时间吗?如果减少时间间隔数值,某些数据可能会丢失",
|
||||||
"anonymize_client_ip": "匿名化客户端IP",
|
"anonymize_client_ip": "匿名化客户端IP",
|
||||||
"anonymize_client_ip_desc": "不要在日志和统计信息中保存客户端的完整 IP 地址",
|
"anonymize_client_ip_desc": "不要在日志和统计信息中保存客户端的完整 IP 地址",
|
||||||
"dns_config": "DNS 服务配置",
|
"dns_config": "DNS 服务配置",
|
||||||
@@ -268,9 +270,9 @@
|
|||||||
"dns_cache_config_desc": "您可以在此处配置 DNS 缓存",
|
"dns_cache_config_desc": "您可以在此处配置 DNS 缓存",
|
||||||
"blocking_mode": "拦截模式",
|
"blocking_mode": "拦截模式",
|
||||||
"default": "默认",
|
"default": "默认",
|
||||||
"nxdomain": "无效域名",
|
"nxdomain": "NXDOMAIN",
|
||||||
"refused": "REFUSED",
|
"refused": "REFUSED",
|
||||||
"null_ip": "无效 IP",
|
"null_ip": "空 IP",
|
||||||
"custom_ip": "自定义 IP",
|
"custom_ip": "自定义 IP",
|
||||||
"blocking_ipv4": "拦截 IPv4",
|
"blocking_ipv4": "拦截 IPv4",
|
||||||
"blocking_ipv6": "拦截 IPv6",
|
"blocking_ipv6": "拦截 IPv6",
|
||||||
@@ -289,14 +291,19 @@
|
|||||||
"rate_limit": "速度限制",
|
"rate_limit": "速度限制",
|
||||||
"edns_enable": "启用 EDNS 客户端子网",
|
"edns_enable": "启用 EDNS 客户端子网",
|
||||||
"edns_cs_desc": "在上游请求中加入 EDNS 客户端子网(“EDNS Client Subnet”,即 ECS)选项,并在查询日志中记录客户端发送的数值。",
|
"edns_cs_desc": "在上游请求中加入 EDNS 客户端子网(“EDNS Client Subnet”,即 ECS)选项,并在查询日志中记录客户端发送的数值。",
|
||||||
|
"edns_use_custom_ip": "为 EDNS 使用自定义 IP",
|
||||||
|
"edns_use_custom_ip_desc": "允许为 EDNS 使用自定义 IP",
|
||||||
"rate_limit_desc": "每个客户端每秒钟查询次数的限制。设置为 0 意味着不限制。",
|
"rate_limit_desc": "每个客户端每秒钟查询次数的限制。设置为 0 意味着不限制。",
|
||||||
"blocking_ipv4_desc": "拦截 A 记录请求返回的 IP 地址",
|
"blocking_ipv4_desc": "拦截 A 记录请求返回的 IP 地址",
|
||||||
"blocking_ipv6_desc": "拦截 AAAA 记录请求返回的 IP 地址",
|
"blocking_ipv6_desc": "拦截 AAAA 记录请求返回的 IP 地址",
|
||||||
"blocking_mode_default": "默认:被 Adblock 规则拦截时反应为零 IP 地址(A记录:0.0.0.0;AAAA记录:::);被/etc/hosts 规则拦截时反应为规则中指定 IP 地址",
|
"blocking_mode_default": "默认:被 Adblock 规则拦截时反应为零 IP 地址(A记录:0.0.0.0;AAAA记录:::);被/etc/hosts 规则拦截时反应为规则中指定 IP 地址",
|
||||||
"blocking_mode_refused": "REFUSED:以 REFUSED 码响应请求",
|
"blocking_mode_refused": "REFUSED:以 REFUSED 码响应请求",
|
||||||
"blocking_mode_nxdomain": "NXDOMAIN:以NXDOMAIN码响应",
|
"blocking_mode_nxdomain": "NXDOMAIN:以NXDOMAIN码响应",
|
||||||
"blocking_mode_null_ip": "空IP:以零IP地址响应(A记录 0.0.0.0;AAAA记录 ::)",
|
"blocking_mode_null_ip": "空 IP:以零 IP 地址响应(A 记录 0.0.0.0;AAAA 记录 ::)",
|
||||||
"blocking_mode_custom_ip": "自定IP:以手动设置的IP地址响应",
|
"blocking_mode_custom_ip": "自定IP:以手动设置的IP地址响应",
|
||||||
|
"theme_auto": "自动",
|
||||||
|
"theme_light": "浅色主题",
|
||||||
|
"theme_dark": "深色主题",
|
||||||
"upstream_dns_client_desc": "如果将此字段留空,AdGuard Home 将使用在<0>DNS设置</0>中配置的服务器。",
|
"upstream_dns_client_desc": "如果将此字段留空,AdGuard Home 将使用在<0>DNS设置</0>中配置的服务器。",
|
||||||
"tracker_source": "追踪器来源",
|
"tracker_source": "追踪器来源",
|
||||||
"source_label": "源",
|
"source_label": "源",
|
||||||
@@ -340,7 +347,7 @@
|
|||||||
"install_devices_windows_list_3": "在窗口的左侧点击「更改适配器设置」。",
|
"install_devices_windows_list_3": "在窗口的左侧点击「更改适配器设置」。",
|
||||||
"install_devices_windows_list_4": "选择您正在连接的网络设备,右击它并选择「属性”」。",
|
"install_devices_windows_list_4": "选择您正在连接的网络设备,右击它并选择「属性”」。",
|
||||||
"install_devices_windows_list_5": "在列表中找到「Internet 协议版本 4 (TCP/IPv4)」,选择并再次点击「属性」。",
|
"install_devices_windows_list_5": "在列表中找到「Internet 协议版本 4 (TCP/IPv4)」,选择并再次点击「属性」。",
|
||||||
"install_devices_windows_list_6": "选择“使用下面的 DNS 服务器地址”,并输入您的 AdGuard Home 服务器地址。",
|
"install_devices_windows_list_6": "选择「使用下面的 DNS 服务器地址」,并输入您的 AdGuard Home 服务器地址。",
|
||||||
"install_devices_macos_list_1": "点击苹果图标,进入「系统首选项」。",
|
"install_devices_macos_list_1": "点击苹果图标,进入「系统首选项」。",
|
||||||
"install_devices_macos_list_2": "点击「网络」。",
|
"install_devices_macos_list_2": "点击「网络」。",
|
||||||
"install_devices_macos_list_3": "选择在列表中的第一个连接,并点击「高级」。",
|
"install_devices_macos_list_3": "选择在列表中的第一个连接,并点击「高级」。",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "加密配置已保存",
|
"encryption_config_saved": "加密配置已保存",
|
||||||
"encryption_server": "服务器名称",
|
"encryption_server": "服务器名称",
|
||||||
"encryption_server_enter": "输入您的域名",
|
"encryption_server_enter": "输入您的域名",
|
||||||
"encryption_server_desc": "为了使用 HTTPS,请您输入与 SSL 证书或通配证书相匹配的服务器名称。如此字段未设置,服务器将要为所有域名接受 TLS 连接。",
|
"encryption_server_desc": "设置后,AdGuard Home 检测客户端标识号,对 DDR 查询作出反应,以及进一步检查连接。在没有设置的情况下,该功能被禁用。必须与证书里的一个 DNS 名称相匹配。",
|
||||||
"encryption_redirect": "HTTPS 自动重定向",
|
"encryption_redirect": "HTTPS 自动重定向",
|
||||||
"encryption_redirect_desc": "如果勾选此选项,AdGuard Home 将自动将您从 HTTP 重定向到 HTTPS 地址。",
|
"encryption_redirect_desc": "如果勾选此选项,AdGuard Home 将自动将您从 HTTP 重定向到 HTTPS 地址。",
|
||||||
"encryption_https": "HTTPS 端口",
|
"encryption_https": "HTTPS 端口",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "颁发者",
|
"encryption_issuer": "颁发者",
|
||||||
"encryption_hostnames": "主机名",
|
"encryption_hostnames": "主机名",
|
||||||
"encryption_reset": "您确定想要重置加密设置?",
|
"encryption_reset": "您确定想要重置加密设置?",
|
||||||
|
"encryption_warning": "警告",
|
||||||
"topline_expiring_certificate": "您的 SSL 证书即将过期。请更新 <0>加密设置</0> 。",
|
"topline_expiring_certificate": "您的 SSL 证书即将过期。请更新 <0>加密设置</0> 。",
|
||||||
"topline_expired_certificate": "您的 SSL 证书已过期。请更新 <0>加密设置</0> 。",
|
"topline_expired_certificate": "您的 SSL 证书已过期。请更新 <0>加密设置</0> 。",
|
||||||
"form_error_port_range": "输入 80 - 65535 范围内的端口值",
|
"form_error_port_range": "输入 80 - 65535 范围内的端口值",
|
||||||
@@ -396,7 +404,7 @@
|
|||||||
"form_error_equal": "不可相同",
|
"form_error_equal": "不可相同",
|
||||||
"form_error_password": "密码不匹配",
|
"form_error_password": "密码不匹配",
|
||||||
"reset_settings": "重置设置",
|
"reset_settings": "重置设置",
|
||||||
"update_announcement": "AdGuard Home {{version}} 现已发布! <0>点击此处</0> 以获取详细信息。",
|
"update_announcement": "AdGuard Home {{version}} 现已发布! <0>点击此处</0>以获取详细信息。",
|
||||||
"setup_guide": "设置指导",
|
"setup_guide": "设置指导",
|
||||||
"dns_addresses": "DNS 地址",
|
"dns_addresses": "DNS 地址",
|
||||||
"dns_start": "正在启动DNS服务",
|
"dns_start": "正在启动DNS服务",
|
||||||
@@ -422,7 +430,7 @@
|
|||||||
"ip_address": "IP 地址",
|
"ip_address": "IP 地址",
|
||||||
"client_identifier_desc": "客户端可通过 IP 、MAC 地址、CIDR 或客户端 ID(可用于 DoT/DoH/DoQ)被识别。<0>这里</0>您可多了解如何识别客户端。",
|
"client_identifier_desc": "客户端可通过 IP 、MAC 地址、CIDR 或客户端 ID(可用于 DoT/DoH/DoQ)被识别。<0>这里</0>您可多了解如何识别客户端。",
|
||||||
"form_enter_ip": "输入 IP",
|
"form_enter_ip": "输入 IP",
|
||||||
"form_enter_subnet_ip": "输入一个 IP 地址,其须位于子网\"{{cidr}}\"",
|
"form_enter_subnet_ip": "输入一个 IP 地址,其须位于子网 \"{{cidr}}\"",
|
||||||
"form_enter_mac": "输入 MAC",
|
"form_enter_mac": "输入 MAC",
|
||||||
"form_enter_id": "输入标识符",
|
"form_enter_id": "输入标识符",
|
||||||
"form_add_id": "添加标识符",
|
"form_add_id": "添加标识符",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "AdGuard Home 的新版本现在可用",
|
"updates_checked": "AdGuard Home 的新版本现在可用",
|
||||||
"updates_version_equal": "AdGuard Home已经是最新版本",
|
"updates_version_equal": "AdGuard Home已经是最新版本",
|
||||||
"check_updates_now": "立即检查更新",
|
"check_updates_now": "立即检查更新",
|
||||||
|
"version_request_error": "检查更新失败。请检查您的因特网连接。",
|
||||||
"dns_privacy": "DNS 隐私",
|
"dns_privacy": "DNS 隐私",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> 使用 <1>{{address}}</1> 字符串。",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> 使用 <1>{{address}}</1> 字符串。",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> 使用 <1>{{address}}</1> 字符串。",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> 使用 <1>{{address}}</1> 字符串。",
|
||||||
@@ -472,7 +481,7 @@
|
|||||||
"rewrite_add": "添加 DNS 重写",
|
"rewrite_add": "添加 DNS 重写",
|
||||||
"rewrite_not_found": "未找到 DNS 重写",
|
"rewrite_not_found": "未找到 DNS 重写",
|
||||||
"rewrite_confirm_delete": "您确定要删除 \"{{key}}\" 的 DNS 重写?",
|
"rewrite_confirm_delete": "您确定要删除 \"{{key}}\" 的 DNS 重写?",
|
||||||
"rewrite_desc": "可以轻松地配置特定的域名的自定义 DNS 响应。",
|
"rewrite_desc": "可以轻松地为特定域名配置自定义 DNS 响应。",
|
||||||
"rewrite_applied": " 重定向规则已应用",
|
"rewrite_applied": " 重定向规则已应用",
|
||||||
"rewrite_hosts_applied": "根据hosts文件规则已被重写",
|
"rewrite_hosts_applied": "根据hosts文件规则已被重写",
|
||||||
"dns_rewrites": "DNS 重写",
|
"dns_rewrites": "DNS 重写",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "您确定要更改统计记录保留时间吗? 如果您减少间隔时间的值, 某些数据可能会丢失。",
|
"statistics_retention_confirm": "您确定要更改统计记录保留时间吗? 如果您减少间隔时间的值, 某些数据可能会丢失。",
|
||||||
"statistics_cleared": "统计数据已成功清除",
|
"statistics_cleared": "统计数据已成功清除",
|
||||||
"statistics_enable": "启用统计数据",
|
"statistics_enable": "启用统计数据",
|
||||||
|
"ignore_domains": "忽略的网域(以换行符分隔)",
|
||||||
|
"ignore_domains_title": "被忽略的网域",
|
||||||
|
"ignore_domains_desc_stats": "这些网域的查询不在统计信息",
|
||||||
|
"ignore_domains_desc_query": "这些网域的查询不在查询日志记录",
|
||||||
"interval_hours": "{{count}} 小时",
|
"interval_hours": "{{count}} 小时",
|
||||||
"interval_hours_plural": "{{count}} 小时",
|
"interval_hours_plural": "{{count}} 小时",
|
||||||
"filters_configuration": "过滤器配置",
|
"filters_configuration": "过滤器配置",
|
||||||
@@ -552,7 +565,7 @@
|
|||||||
"disable_ipv6_desc": "丢弃所有 IPv6 地址 (AAAA) 的 DNS 查询。",
|
"disable_ipv6_desc": "丢弃所有 IPv6 地址 (AAAA) 的 DNS 查询。",
|
||||||
"fastest_addr": "最快的 IP 地址",
|
"fastest_addr": "最快的 IP 地址",
|
||||||
"fastest_addr_desc": "查询所有 DNS 服务器并返回所有响应中速度最快的 IP 地址。因 AdGuard Home 必须等待全部 DNS 服务器均有所回应,因而会降低 DNS 查询的速度,但同时,此举将会改善总体的连接。",
|
"fastest_addr_desc": "查询所有 DNS 服务器并返回所有响应中速度最快的 IP 地址。因 AdGuard Home 必须等待全部 DNS 服务器均有所回应,因而会降低 DNS 查询的速度,但同时,此举将会改善总体的连接。",
|
||||||
"autofix_warning_text": "若您单击“修复”,AdGuardHome将会配置您的系统以使用AdGuardHome的DNS服务器",
|
"autofix_warning_text": "若您单击「修复」,AdGuardHome 将会配置您的系统以使用 AdGuardHome 的 DNS 服务器。",
|
||||||
"autofix_warning_list": "其将会进行如下工作:<0>停用系统DNSStubListener</0><0>设置DNS服务器地址为127.0.0.1</0><0>将/etc/resolv.conf的符号链接目标替换为/run/systemd/resolv/resolv.conf</0><0>停止DNSStubListener(重新加载系统解析服务)</0>",
|
"autofix_warning_list": "其将会进行如下工作:<0>停用系统DNSStubListener</0><0>设置DNS服务器地址为127.0.0.1</0><0>将/etc/resolv.conf的符号链接目标替换为/run/systemd/resolv/resolv.conf</0><0>停止DNSStubListener(重新加载系统解析服务)</0>",
|
||||||
"autofix_warning_result": "因此,默认情况下所有来自系统的DNS请求都将由AdGuardHome处理。",
|
"autofix_warning_result": "因此,默认情况下所有来自系统的DNS请求都将由AdGuardHome处理。",
|
||||||
"tags_title": "标签",
|
"tags_title": "标签",
|
||||||
@@ -572,14 +585,14 @@
|
|||||||
"check_service": "服务名称:{{service}}",
|
"check_service": "服务名称:{{service}}",
|
||||||
"service_name": "服务名称",
|
"service_name": "服务名称",
|
||||||
"check_not_found": "未在您的筛选列表中找到",
|
"check_not_found": "未在您的筛选列表中找到",
|
||||||
"client_confirm_block": "您确定要阻止客户端\"{{ip}}\"?",
|
"client_confirm_block": "您确定要阻止客户端 \"{{ip}}\"?",
|
||||||
"client_confirm_unblock": "您确定要解除对客户端\"{{ip}}\"的封锁吗?",
|
"client_confirm_unblock": "您确定要解除对客户端 \"{{ip}}\" 的封锁吗?",
|
||||||
"client_blocked": "客户端 \"{{ip}}\"被成功拦截",
|
"client_blocked": "客户端 \"{{ip}}\" 被成功拦截",
|
||||||
"client_unblocked": "成功解锁客户端\"{{ip}}\"",
|
"client_unblocked": "成功解锁客户端 \"{{ip}}\"",
|
||||||
"static_ip": "静态IP地址",
|
"static_ip": "静态IP地址",
|
||||||
"static_ip_desc": "AdGuard Home 是一个服务器,所以它需要一个静态IP地址才能正常工作。否则,在某些情况下,你的路由器可能会给这个设备分配一个不同的IP地址。",
|
"static_ip_desc": "AdGuard Home 是一个服务器,所以它需要一个静态IP地址才能正常工作。否则,在某些情况下,你的路由器可能会给这个设备分配一个不同的IP地址。",
|
||||||
"set_static_ip": "设置一个静态IP",
|
"set_static_ip": "设置一个静态IP",
|
||||||
"install_static_ok": "好消息!静态IP地址已经配置",
|
"install_static_ok": "好消息!静态 IP 地址已经配置",
|
||||||
"install_static_error": "AdGuard Home 无法为这个网络接口自动配置它。请参阅如何手动完成此操作的说明。",
|
"install_static_error": "AdGuard Home 无法为这个网络接口自动配置它。请参阅如何手动完成此操作的说明。",
|
||||||
"install_static_configure": "AdGuard Home 检测到一个动态 IP 地址 <0>{{ip}}</0> 被使用。您想把它作为您的静态地址吗?",
|
"install_static_configure": "AdGuard Home 检测到一个动态 IP 地址 <0>{{ip}}</0> 被使用。您想把它作为您的静态地址吗?",
|
||||||
"confirm_static_ip": "AdGuard Home 将把{{ip}} 配置为您的静态IP地址。您想要继续吗?",
|
"confirm_static_ip": "AdGuard Home 将把{{ip}} 配置为您的静态IP地址。您想要继续吗?",
|
||||||
@@ -599,10 +612,10 @@
|
|||||||
"filtered": "已过滤",
|
"filtered": "已过滤",
|
||||||
"rewritten": "重写项",
|
"rewritten": "重写项",
|
||||||
"safe_search": "安全搜索",
|
"safe_search": "安全搜索",
|
||||||
"blocklist": "拦截列表",
|
"blocklist": "黑名单",
|
||||||
"milliseconds_abbreviation": "毫秒",
|
"milliseconds_abbreviation": "毫秒",
|
||||||
"cache_size": "缓存大小",
|
"cache_size": "缓存大小",
|
||||||
"cache_size_desc": "DNS 缓存大小(单位:字节)。",
|
"cache_size_desc": "DNS 缓存大小(单位:字节)。要关闭缓存,请留空。",
|
||||||
"cache_ttl_min_override": "覆盖最小TTL值",
|
"cache_ttl_min_override": "覆盖最小TTL值",
|
||||||
"cache_ttl_max_override": "覆盖最大TTL值",
|
"cache_ttl_max_override": "覆盖最大TTL值",
|
||||||
"enter_cache_size": "输入缓存大小(字节)",
|
"enter_cache_size": "输入缓存大小(字节)",
|
||||||
@@ -620,17 +633,46 @@
|
|||||||
"filter_category_general_desc": "在大多数设备上阻止跟踪和广告的列表",
|
"filter_category_general_desc": "在大多数设备上阻止跟踪和广告的列表",
|
||||||
"filter_category_security_desc": "专用于拦截恶意软件、钓鱼或欺诈域名的列表",
|
"filter_category_security_desc": "专用于拦截恶意软件、钓鱼或欺诈域名的列表",
|
||||||
"filter_category_regional_desc": "专注于区域广告和跟踪服务器的列表",
|
"filter_category_regional_desc": "专注于区域广告和跟踪服务器的列表",
|
||||||
"filter_category_other_desc": "其他阻止列表",
|
"filter_category_other_desc": "其他黑名单",
|
||||||
"setup_config_to_enable_dhcp_server": "设置配置以启用 DHCP 服务器",
|
"setup_config_to_enable_dhcp_server": "设置配置以启用 DHCP 服务器",
|
||||||
"original_response": "原始响应",
|
"original_response": "原始响应",
|
||||||
"click_to_view_queries": "点击查看查询",
|
"click_to_view_queries": "点击查看查询",
|
||||||
"port_53_faq_link": "53端口常被DNSStubListener或systemdn解析的服务占用。请阅读<0>这份关于如何解决这一问题的说明</0>",
|
"port_53_faq_link": "53端口常被 DNSStubListener 或 systemdn 解析的服务占用。请阅读<0>这份关于如何解决这一问题的说明</0>。",
|
||||||
"adg_will_drop_dns_queries": "AdGuard Home 会终止所有来自此客户端的DNS查询。",
|
"adg_will_drop_dns_queries": "AdGuard Home 会丢弃所有来自此客户端的 DNS 查询。",
|
||||||
"filter_allowlist": "警告:此操作将把规则 \"{{disallowed_rule}}\" 排除在允许客户端的列表之外。",
|
"filter_allowlist": "警告:此操作将把规则 \"{{disallowed_rule}}\" 排除在允许客户端的列表之外。",
|
||||||
"last_rule_in_allowlist": "无法禁止此客户端,因为排除 “{{disallowed_rule}}” 规则将禁用“允许客户端”的列表。",
|
"last_rule_in_allowlist": "无法禁止此客户端,因为排除 “{{disallowed_rule}}” 规则将禁用“允许客户端”的列表。",
|
||||||
"use_saved_key": "使用之前保存的密钥",
|
"use_saved_key": "使用之前保存的密钥",
|
||||||
"parental_control": "家长控制",
|
"parental_control": "家长控制",
|
||||||
"safe_browsing": "安全浏览",
|
"safe_browsing": "安全浏览",
|
||||||
"served_from_cache": "{{value}}<i>(由缓存提供)</i>",
|
"served_from_cache": "{{value}}<i>(由缓存提供)</i>",
|
||||||
"form_error_password_length": "密码必须至少有 {{value}} 个字符"
|
"form_error_password_length": "密码必须至少有 {{value}} 个字符",
|
||||||
|
"anonymizer_notification": "<0>注意:</0> IP 匿名化已启用。您可以在<1>常规设置</1>中禁用它。",
|
||||||
|
"confirm_dns_cache_clear": "您确定要清除 DNS 缓存吗?",
|
||||||
|
"cache_cleared": "已成功清除 DNS 缓存",
|
||||||
|
"clear_cache": "清除缓存",
|
||||||
|
"make_static": "静态化",
|
||||||
|
"theme_auto_desc": "自动(基于设备的配色方案)",
|
||||||
|
"theme_dark_desc": "暗黑主题",
|
||||||
|
"theme_light_desc": "浅色主题",
|
||||||
|
"disable_for_seconds": "{{count}} 秒",
|
||||||
|
"disable_for_seconds_plural": "{{count}} 秒",
|
||||||
|
"disable_for_minutes": "{{count}} 分钟",
|
||||||
|
"disable_for_minutes_plural": "{{count}} 分钟",
|
||||||
|
"disable_for_hours": "{{count}} 小时",
|
||||||
|
"disable_for_hours_plural": "{{count}} 小时",
|
||||||
|
"disable_until_tomorrow": "直到明天",
|
||||||
|
"disable_notify_for_seconds": "禁用保护 {{count}} 秒",
|
||||||
|
"disable_notify_for_seconds_plural": "禁用保护 {{count}} 秒",
|
||||||
|
"disable_notify_for_minutes": "禁用保护 {{count}} 分钟",
|
||||||
|
"disable_notify_for_minutes_plural": "禁用保护 {{count}} 分钟",
|
||||||
|
"disable_notify_for_hours": "禁用保护 {{count}} 小时",
|
||||||
|
"disable_notify_for_hours_plural": "禁用保护 {{count}} 小时",
|
||||||
|
"disable_notify_until_tomorrow": "禁用保护直到明天",
|
||||||
|
"enable_protection_timer": "保护将于 {{time}} 启用",
|
||||||
|
"custom_retention_input": "输入保留时间(小时)",
|
||||||
|
"custom_rotation_input": "输入旋转时间(小时)",
|
||||||
|
"protection_section_label": "防护",
|
||||||
|
"log_and_stats_section_label": "查询日志和统计数据",
|
||||||
|
"ignore_query_log": "在查询日志中忽略此客户端",
|
||||||
|
"ignore_statistics": "在统计数据中忽略此客户端"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,8 +38,6 @@
|
|||||||
"form_error_required": "必要欄位",
|
"form_error_required": "必要欄位",
|
||||||
"form_error_ip4_format": "無效的 IPv4 格式",
|
"form_error_ip4_format": "無效的 IPv4 格式",
|
||||||
"form_error_ip6_format": "無效的 IPv6 格式",
|
"form_error_ip6_format": "無效的 IPv6 格式",
|
||||||
"form_error_ip4_range_start_format": "無效的 IPv4 範圍起始位址",
|
|
||||||
"form_error_ip4_range_end_format": "無效的 IPv4 範圍結束位址",
|
|
||||||
"form_error_ip4_gateway_format": "閘道的 IPv4 位址無效",
|
"form_error_ip4_gateway_format": "閘道的 IPv4 位址無效",
|
||||||
"form_error_ip_format": "無效的 IP 位址",
|
"form_error_ip_format": "無效的 IP 位址",
|
||||||
"form_error_mac_format": "無效的 「MAC 位址」格式",
|
"form_error_mac_format": "無效的 「MAC 位址」格式",
|
||||||
@@ -381,6 +379,7 @@
|
|||||||
"encryption_issuer": "簽發者",
|
"encryption_issuer": "簽發者",
|
||||||
"encryption_hostnames": "主機名稱",
|
"encryption_hostnames": "主機名稱",
|
||||||
"encryption_reset": "您確定要重設加密設定嗎?",
|
"encryption_reset": "您確定要重設加密設定嗎?",
|
||||||
|
"encryption_warning": "警告",
|
||||||
"topline_expiring_certificate": "您的 SSL 憑證即將到期。請前往<0>加密設定</0>更新。",
|
"topline_expiring_certificate": "您的 SSL 憑證即將到期。請前往<0>加密設定</0>更新。",
|
||||||
"topline_expired_certificate": "您的 SSL 憑證已到期。請前往<0>加密設定</0>更新。",
|
"topline_expired_certificate": "您的 SSL 憑證已到期。請前往<0>加密設定</0>更新。",
|
||||||
"form_error_port_range": "輸入範圍 80-65535 中的值",
|
"form_error_port_range": "輸入範圍 80-65535 中的值",
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
"dhcp_ipv6_settings": "DHCP IPv6 設定",
|
"dhcp_ipv6_settings": "DHCP IPv6 設定",
|
||||||
"form_error_required": "必填的欄位",
|
"form_error_required": "必填的欄位",
|
||||||
"form_error_ip4_format": "無效的 IPv4 位址",
|
"form_error_ip4_format": "無效的 IPv4 位址",
|
||||||
"form_error_ip4_range_start_format": "無效起始範圍的 IPv4 位址",
|
|
||||||
"form_error_ip4_range_end_format": "無效結束範圍的 IPv4 位址",
|
|
||||||
"form_error_ip4_gateway_format": "無效閘道的 IPv4 位址",
|
"form_error_ip4_gateway_format": "無效閘道的 IPv4 位址",
|
||||||
"form_error_ip6_format": "無效的 IPv6 位址",
|
"form_error_ip6_format": "無效的 IPv6 位址",
|
||||||
"form_error_ip_format": "無效的 IP 位址",
|
"form_error_ip_format": "無效的 IP 位址",
|
||||||
@@ -51,7 +49,6 @@
|
|||||||
"out_of_range_error": "必須在\"{{start}}\"-\"{{end}}\"範圍之外",
|
"out_of_range_error": "必須在\"{{start}}\"-\"{{end}}\"範圍之外",
|
||||||
"lower_range_start_error": "必須低於起始範圍",
|
"lower_range_start_error": "必須低於起始範圍",
|
||||||
"greater_range_start_error": "必須大於起始範圍",
|
"greater_range_start_error": "必須大於起始範圍",
|
||||||
"greater_range_end_error": "必須大於結束範圍",
|
|
||||||
"subnet_error": "位址必須在子網路中",
|
"subnet_error": "位址必須在子網路中",
|
||||||
"gateway_or_subnet_invalid": "無效的子網路遮罩",
|
"gateway_or_subnet_invalid": "無效的子網路遮罩",
|
||||||
"dhcp_form_gateway_input": "閘道 IP",
|
"dhcp_form_gateway_input": "閘道 IP",
|
||||||
@@ -170,6 +167,7 @@
|
|||||||
"enabled_parental_toast": "已啟用家長控制",
|
"enabled_parental_toast": "已啟用家長控制",
|
||||||
"disabled_safe_search_toast": "已禁用安全搜尋",
|
"disabled_safe_search_toast": "已禁用安全搜尋",
|
||||||
"enabled_save_search_toast": "已啟用安全搜尋",
|
"enabled_save_search_toast": "已啟用安全搜尋",
|
||||||
|
"updated_save_search_toast": "安全搜尋設定更新成功",
|
||||||
"enabled_table_header": "已啟用",
|
"enabled_table_header": "已啟用",
|
||||||
"name_table_header": "名稱",
|
"name_table_header": "名稱",
|
||||||
"list_url_table_header": "清單網址",
|
"list_url_table_header": "清單網址",
|
||||||
@@ -211,17 +209,21 @@
|
|||||||
"example_comment_hash": "# 也是一個註解。",
|
"example_comment_hash": "# 也是一個註解。",
|
||||||
"example_regex_meaning": "封鎖至與該已明確指定的規則運算式(Regular Expression)相符的網域之存取。",
|
"example_regex_meaning": "封鎖至與該已明確指定的規則運算式(Regular Expression)相符的網域之存取。",
|
||||||
"example_upstream_regular": "常規 DNS(透過 UDP);",
|
"example_upstream_regular": "常規 DNS(透過 UDP);",
|
||||||
|
"example_upstream_regular_port": "常規 DNS(透過 UDP,含連接埠);",
|
||||||
"example_upstream_udp": "常規 DNS(透過 UDP,主機名稱);",
|
"example_upstream_udp": "常規 DNS(透過 UDP,主機名稱);",
|
||||||
"example_upstream_dot": "加密的 <0>DNS-over-TLS</0>;",
|
"example_upstream_dot": "加密的 <0>DNS-over-TLS</0>;",
|
||||||
"example_upstream_doh": "加密的 <0>DNS-over-HTTPS</0>;",
|
"example_upstream_doh": "加密的 <0>DNS-over-HTTPS</0>;",
|
||||||
"example_upstream_doq": "加密的 <0>DNS-over-QUIC</0>;",
|
"example_upstream_doh3": "有強制的 <0>HTTP/3</0> 且無退回到 HTTP/2 或更低版本之加密的 DNS-over-HTTPS;",
|
||||||
|
"example_upstream_doq": "加密的 <0>DNS-over-QUIC</0>;",
|
||||||
"example_upstream_sdns": "關於 <1>DNSCrypt</1> 或 <2>DNS-over-HTTPS</2> 解析器之 <0>DNS 戳記</0>;",
|
"example_upstream_sdns": "關於 <1>DNSCrypt</1> 或 <2>DNS-over-HTTPS</2> 解析器之 <0>DNS 戳記</0>;",
|
||||||
"example_upstream_tcp": "常規 DNS(透過 TCP);",
|
"example_upstream_tcp": "常規 DNS(透過 TCP);",
|
||||||
|
"example_upstream_tcp_port": "常規 DNS(透過 TCP,含連接埠);",
|
||||||
"example_upstream_tcp_hostname": "常規 DNS(透過 TCP,主機名稱);",
|
"example_upstream_tcp_hostname": "常規 DNS(透過 TCP,主機名稱);",
|
||||||
"all_lists_up_to_date_toast": "所有的清單已是最新的",
|
"all_lists_up_to_date_toast": "所有的清單已是最新的",
|
||||||
"updated_upstream_dns_toast": "上游的伺服器被成功地儲存",
|
"updated_upstream_dns_toast": "上游的伺服器被成功地儲存",
|
||||||
"dns_test_ok_toast": "已明確指定的 DNS 伺服器正在正確地運作",
|
"dns_test_ok_toast": "已明確指定的 DNS 伺服器正在正確地運作",
|
||||||
"dns_test_not_ok_toast": "伺服器 \"{{key}}\":無法被使用,請檢查您已正確地填寫它",
|
"dns_test_not_ok_toast": "伺服器 \"{{key}}\":無法被使用,請檢查您已正確地填寫它",
|
||||||
|
"dns_test_warning_toast": "上游 “{{key}}” 不回應測試請求,可能無法正常工作",
|
||||||
"unblock": "解除封鎖",
|
"unblock": "解除封鎖",
|
||||||
"block": "封鎖",
|
"block": "封鎖",
|
||||||
"disallow_this_client": "不允許此用戶端",
|
"disallow_this_client": "不允許此用戶端",
|
||||||
@@ -255,12 +257,12 @@
|
|||||||
"query_log_cleared": "該查詢記錄已被成功地清除",
|
"query_log_cleared": "該查詢記錄已被成功地清除",
|
||||||
"query_log_updated": "該查詢記錄已被成功地更新",
|
"query_log_updated": "該查詢記錄已被成功地更新",
|
||||||
"query_log_clear": "清除查詢記錄",
|
"query_log_clear": "清除查詢記錄",
|
||||||
"query_log_retention": "查詢記錄保留",
|
"query_log_retention": "查詢記錄保留時間",
|
||||||
"query_log_enable": "啟用記錄",
|
"query_log_enable": "啟用記錄",
|
||||||
"query_log_configuration": "記錄配置",
|
"query_log_configuration": "記錄配置",
|
||||||
"query_log_disabled": "查詢記錄被禁用並可在<0>設定</0>中被配置",
|
"query_log_disabled": "查詢記錄被禁用並可在<0>設定</0>中被配置",
|
||||||
"query_log_strict_search": "使用雙引號於嚴謹的搜尋",
|
"query_log_strict_search": "使用雙引號於嚴謹的搜尋",
|
||||||
"query_log_retention_confirm": "您確定您想要更改查詢記錄保留嗎?如果您減少該間隔值,某些資料將被丟失",
|
"query_log_retention_confirm": "您確定要更改記錄檔保存期限嗎?如果您縮短期限部分資料可能將會遺失",
|
||||||
"anonymize_client_ip": "將用戶端 IP 匿名",
|
"anonymize_client_ip": "將用戶端 IP 匿名",
|
||||||
"anonymize_client_ip_desc": "不要儲存用戶端之完整的 IP 位址到記錄或統計資料裡",
|
"anonymize_client_ip_desc": "不要儲存用戶端之完整的 IP 位址到記錄或統計資料裡",
|
||||||
"dns_config": "DNS 伺服器配置",
|
"dns_config": "DNS 伺服器配置",
|
||||||
@@ -289,6 +291,8 @@
|
|||||||
"rate_limit": "速率限制",
|
"rate_limit": "速率限制",
|
||||||
"edns_enable": "啟用對於 DNS 的擴充機制(EDNS)用戶端子網路",
|
"edns_enable": "啟用對於 DNS 的擴充機制(EDNS)用戶端子網路",
|
||||||
"edns_cs_desc": "新增對於 DNS 的擴充機制(EDNS)用戶端子網路選項到上游的請求,並在查詢記錄中記錄由用戶端傳送的數值。",
|
"edns_cs_desc": "新增對於 DNS 的擴充機制(EDNS)用戶端子網路選項到上游的請求,並在查詢記錄中記錄由用戶端傳送的數值。",
|
||||||
|
"edns_use_custom_ip": "為 EDNS 使用自訂的 IP",
|
||||||
|
"edns_use_custom_ip_desc": "允許為 EDNS 使用自訂的 IP",
|
||||||
"rate_limit_desc": "每個用戶端被允許的每秒請求之數量。設定它為 0 表示無限制。",
|
"rate_limit_desc": "每個用戶端被允許的每秒請求之數量。設定它為 0 表示無限制。",
|
||||||
"blocking_ipv4_desc": "要被返回給已封鎖的 A 請求之 IP 位址",
|
"blocking_ipv4_desc": "要被返回給已封鎖的 A 請求之 IP 位址",
|
||||||
"blocking_ipv6_desc": "要被返回給已封鎖的 AAAA 請求之 IP 位址",
|
"blocking_ipv6_desc": "要被返回給已封鎖的 AAAA 請求之 IP 位址",
|
||||||
@@ -297,6 +301,9 @@
|
|||||||
"blocking_mode_nxdomain": "不存在的網域(NXDOMAIN):以 NXDOMAIN 碼回覆",
|
"blocking_mode_nxdomain": "不存在的網域(NXDOMAIN):以 NXDOMAIN 碼回覆",
|
||||||
"blocking_mode_null_ip": "無效的 IP:以零值 IP 位址(0.0.0.0 供 A;:: 供 AAAA)回覆",
|
"blocking_mode_null_ip": "無效的 IP:以零值 IP 位址(0.0.0.0 供 A;:: 供 AAAA)回覆",
|
||||||
"blocking_mode_custom_ip": "自訂的 IP:以一組手動地被設定的 IP 位址回覆",
|
"blocking_mode_custom_ip": "自訂的 IP:以一組手動地被設定的 IP 位址回覆",
|
||||||
|
"theme_auto": "自動",
|
||||||
|
"theme_light": "淺色",
|
||||||
|
"theme_dark": "深色",
|
||||||
"upstream_dns_client_desc": "如果您將此欄位留空,AdGuard Home 將使用在 <0>DNS 設定</0>中被配置的伺服器。",
|
"upstream_dns_client_desc": "如果您將此欄位留空,AdGuard Home 將使用在 <0>DNS 設定</0>中被配置的伺服器。",
|
||||||
"tracker_source": "追蹤器來源",
|
"tracker_source": "追蹤器來源",
|
||||||
"source_label": "來源",
|
"source_label": "來源",
|
||||||
@@ -363,7 +370,7 @@
|
|||||||
"encryption_config_saved": "加密配置被儲存",
|
"encryption_config_saved": "加密配置被儲存",
|
||||||
"encryption_server": "伺服器名稱",
|
"encryption_server": "伺服器名稱",
|
||||||
"encryption_server_enter": "輸入您的域名",
|
"encryption_server_enter": "輸入您的域名",
|
||||||
"encryption_server_desc": "為了使用 HTTPS,您需要輸入與您的安全通訊端層(SSL)憑證或萬用字元憑證相符的伺服器名稱。如果此欄位未被設定,它將接受向任何網域的傳輸層安全性協定(TLS)連線。",
|
"encryption_server_desc": "如果被設定,AdGuard Home 檢測用戶端 IDs,回覆 DDR 查詢,並執行額外的連線驗證。如果未被設定,這些功能被禁用。必須與在該憑證裡的 DNS 名稱其中之一相符。",
|
||||||
"encryption_redirect": "自動地重新導向到 HTTPS",
|
"encryption_redirect": "自動地重新導向到 HTTPS",
|
||||||
"encryption_redirect_desc": "如果被勾選,AdGuard Home 將自動地重新導向您從 HTTP 到 HTTPS 位址。",
|
"encryption_redirect_desc": "如果被勾選,AdGuard Home 將自動地重新導向您從 HTTP 到 HTTPS 位址。",
|
||||||
"encryption_https": "HTTPS 連接埠",
|
"encryption_https": "HTTPS 連接埠",
|
||||||
@@ -389,6 +396,7 @@
|
|||||||
"encryption_issuer": "簽發者",
|
"encryption_issuer": "簽發者",
|
||||||
"encryption_hostnames": "主機名稱",
|
"encryption_hostnames": "主機名稱",
|
||||||
"encryption_reset": "您確定您想要重置加密設定嗎?",
|
"encryption_reset": "您確定您想要重置加密設定嗎?",
|
||||||
|
"encryption_warning": "警告",
|
||||||
"topline_expiring_certificate": "您的安全通訊端層(SSL)憑證即將到期。更新<0>加密設定</0>。",
|
"topline_expiring_certificate": "您的安全通訊端層(SSL)憑證即將到期。更新<0>加密設定</0>。",
|
||||||
"topline_expired_certificate": "您的安全通訊端層(SSL)憑證為已到期的。更新<0>加密設定</0>。",
|
"topline_expired_certificate": "您的安全通訊端層(SSL)憑證為已到期的。更新<0>加密設定</0>。",
|
||||||
"form_error_port_range": "輸入在 80-65535 之範圍內的連接埠號碼",
|
"form_error_port_range": "輸入在 80-65535 之範圍內的連接埠號碼",
|
||||||
@@ -449,6 +457,7 @@
|
|||||||
"updates_checked": "AdGuard Home 的新版本為可用的",
|
"updates_checked": "AdGuard Home 的新版本為可用的",
|
||||||
"updates_version_equal": "AdGuard Home 為最新的",
|
"updates_version_equal": "AdGuard Home 為最新的",
|
||||||
"check_updates_now": "立即檢查更新",
|
"check_updates_now": "立即檢查更新",
|
||||||
|
"version_request_error": "更新檢查已失敗。請檢查您的網際網路連線。",
|
||||||
"dns_privacy": "DNS 隱私",
|
"dns_privacy": "DNS 隱私",
|
||||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0>使用 <1>{{address}}</1> 字串。",
|
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0>使用 <1>{{address}}</1> 字串。",
|
||||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0>使用 <1>{{address}}</1> 字串。",
|
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0>使用 <1>{{address}}</1> 字串。",
|
||||||
@@ -517,6 +526,10 @@
|
|||||||
"statistics_retention_confirm": "您確定您想要更改統計資料保留嗎?如果您減少該間隔值,某些資料將被丟失",
|
"statistics_retention_confirm": "您確定您想要更改統計資料保留嗎?如果您減少該間隔值,某些資料將被丟失",
|
||||||
"statistics_cleared": "統計資料被成功地清除",
|
"statistics_cleared": "統計資料被成功地清除",
|
||||||
"statistics_enable": "啟用統計資料",
|
"statistics_enable": "啟用統計資料",
|
||||||
|
"ignore_domains": "忽略的網域(以換行符分隔)",
|
||||||
|
"ignore_domains_title": "被忽略的網域",
|
||||||
|
"ignore_domains_desc_stats": "這些網域的查詢不在統計資料",
|
||||||
|
"ignore_domains_desc_query": "這些網域的查詢不在查詢記錄",
|
||||||
"interval_hours": "{{count}} 小時",
|
"interval_hours": "{{count}} 小時",
|
||||||
"interval_hours_plural": "{{count}} 小時",
|
"interval_hours_plural": "{{count}} 小時",
|
||||||
"filters_configuration": "過濾器配置",
|
"filters_configuration": "過濾器配置",
|
||||||
@@ -602,7 +615,7 @@
|
|||||||
"blocklist": "封鎖清單",
|
"blocklist": "封鎖清單",
|
||||||
"milliseconds_abbreviation": "ms",
|
"milliseconds_abbreviation": "ms",
|
||||||
"cache_size": "快取大小",
|
"cache_size": "快取大小",
|
||||||
"cache_size_desc": "DNS 快取大小(以位元組)。",
|
"cache_size_desc": "DNS 快取大小(以位元組)。要禁用快取,留空。",
|
||||||
"cache_ttl_min_override": "覆寫最小的存活時間(TTL)",
|
"cache_ttl_min_override": "覆寫最小的存活時間(TTL)",
|
||||||
"cache_ttl_max_override": "覆寫最大的存活時間(TTL)",
|
"cache_ttl_max_override": "覆寫最大的存活時間(TTL)",
|
||||||
"enter_cache_size": "輸入快取大小(位元組)",
|
"enter_cache_size": "輸入快取大小(位元組)",
|
||||||
@@ -632,5 +645,34 @@
|
|||||||
"parental_control": "家長控制",
|
"parental_control": "家長控制",
|
||||||
"safe_browsing": "安全瀏覽",
|
"safe_browsing": "安全瀏覽",
|
||||||
"served_from_cache": "{{value}} <i>(由快取提供)</i>",
|
"served_from_cache": "{{value}} <i>(由快取提供)</i>",
|
||||||
"form_error_password_length": "密碼必須為至少長 {{value}} 個字元"
|
"form_error_password_length": "密碼必須為至少長 {{value}} 個字元",
|
||||||
|
"anonymizer_notification": "<0>注意:</0>IP 匿名化被啟用。您可在<1>一般設定</1>中禁用它。",
|
||||||
|
"confirm_dns_cache_clear": "您確定您想要清除 DNS 快取嗎?",
|
||||||
|
"cache_cleared": "DNS 快取被成功地清除",
|
||||||
|
"clear_cache": "清除快取",
|
||||||
|
"make_static": "靜態化",
|
||||||
|
"theme_auto_desc": "自動(基於裝置的配色方案)",
|
||||||
|
"theme_dark_desc": "深色主題",
|
||||||
|
"theme_light_desc": "淺色主題",
|
||||||
|
"disable_for_seconds": "{{count}} 秒",
|
||||||
|
"disable_for_seconds_plural": "{{count}} 秒",
|
||||||
|
"disable_for_minutes": "{{count}} 分鐘",
|
||||||
|
"disable_for_minutes_plural": "{{count}} 分鐘",
|
||||||
|
"disable_for_hours": "{{count}} 小時",
|
||||||
|
"disable_for_hours_plural": "{{count}} 小時",
|
||||||
|
"disable_until_tomorrow": "直到明天",
|
||||||
|
"disable_notify_for_seconds": "計 {{count}} 秒禁用防護",
|
||||||
|
"disable_notify_for_seconds_plural": "計 {{count}} 秒禁用防護",
|
||||||
|
"disable_notify_for_minutes": "計 {{count}} 分鐘禁用防護",
|
||||||
|
"disable_notify_for_minutes_plural": "計 {{count}} 分鐘禁用防護",
|
||||||
|
"disable_notify_for_hours": "計 {{count}} 小時禁用防護",
|
||||||
|
"disable_notify_for_hours_plural": "計 {{count}} 小時禁用防護",
|
||||||
|
"disable_notify_until_tomorrow": "禁用防護直到明天",
|
||||||
|
"enable_protection_timer": "防護將於 {{time}} 被啟用",
|
||||||
|
"custom_retention_input": "輸入保留時間(小時)",
|
||||||
|
"custom_rotation_input": "輸入旋轉時間(小時)",
|
||||||
|
"protection_section_label": "防護",
|
||||||
|
"log_and_stats_section_label": "查詢記錄和統計資料",
|
||||||
|
"ignore_query_log": "在查詢記錄中忽略此用戶端",
|
||||||
|
"ignore_statistics": "在統計資料中忽略此用戶端"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { createAction } from 'redux-actions';
|
import { createAction } from 'redux-actions';
|
||||||
|
import i18next from 'i18next';
|
||||||
|
|
||||||
import apiClient from '../api/Api';
|
import apiClient from '../api/Api';
|
||||||
import { splitByNewLine } from '../helpers/helpers';
|
import { splitByNewLine } from '../helpers/helpers';
|
||||||
@@ -19,6 +20,22 @@ export const getDnsConfig = () => async (dispatch) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const clearDnsCacheRequest = createAction('CLEAR_DNS_CACHE_REQUEST');
|
||||||
|
export const clearDnsCacheFailure = createAction('CLEAR_DNS_CACHE_FAILURE');
|
||||||
|
export const clearDnsCacheSuccess = createAction('CLEAR_DNS_CACHE_SUCCESS');
|
||||||
|
|
||||||
|
export const clearDnsCache = () => async (dispatch) => {
|
||||||
|
dispatch(clearDnsCacheRequest());
|
||||||
|
try {
|
||||||
|
const data = await apiClient.clearCache();
|
||||||
|
dispatch(clearDnsCacheSuccess(data));
|
||||||
|
dispatch(addSuccessToast(i18next.t('cache_cleared')));
|
||||||
|
} catch (error) {
|
||||||
|
dispatch(addErrorToast({ error }));
|
||||||
|
dispatch(clearDnsCacheFailure());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
export const setDnsConfigRequest = createAction('SET_DNS_CONFIG_REQUEST');
|
export const setDnsConfigRequest = createAction('SET_DNS_CONFIG_REQUEST');
|
||||||
export const setDnsConfigFailure = createAction('SET_DNS_CONFIG_FAILURE');
|
export const setDnsConfigFailure = createAction('SET_DNS_CONFIG_FAILURE');
|
||||||
export const setDnsConfigSuccess = createAction('SET_DNS_CONFIG_SUCCESS');
|
export const setDnsConfigSuccess = createAction('SET_DNS_CONFIG_SUCCESS');
|
||||||
|
|||||||
@@ -41,14 +41,22 @@ export const setTlsConfig = (config) => async (dispatch, getState) => {
|
|||||||
response.certificate_chain = atob(response.certificate_chain);
|
response.certificate_chain = atob(response.certificate_chain);
|
||||||
response.private_key = atob(response.private_key);
|
response.private_key = atob(response.private_key);
|
||||||
|
|
||||||
|
if (values.enabled && values.force_https && window.location.protocol === 'http:') {
|
||||||
|
window.location.reload();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
redirectToCurrentProtocol(response, httpPort);
|
||||||
|
|
||||||
const dnsStatus = await apiClient.getGlobalStatus();
|
const dnsStatus = await apiClient.getGlobalStatus();
|
||||||
if (dnsStatus) {
|
if (dnsStatus) {
|
||||||
|
if (dnsStatus.protection_disabled_duration === 0) {
|
||||||
|
dnsStatus.protection_disabled_duration = null;
|
||||||
|
}
|
||||||
dispatch(dnsStatusSuccess(dnsStatus));
|
dispatch(dnsStatusSuccess(dnsStatus));
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(setTlsConfigSuccess(response));
|
dispatch(setTlsConfigSuccess(response));
|
||||||
dispatch(addSuccessToast('encryption_config_saved'));
|
dispatch(addSuccessToast('encryption_config_saved'));
|
||||||
redirectToCurrentProtocol(response, httpPort);
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(addErrorToast({ error }));
|
dispatch(addErrorToast({ error }));
|
||||||
dispatch(setTlsConfigFailure());
|
dispatch(setTlsConfigFailure());
|
||||||
|
|||||||
@@ -31,7 +31,9 @@ export const setRulesSuccess = createAction('SET_RULES_SUCCESS');
|
|||||||
export const setRules = (rules) => async (dispatch) => {
|
export const setRules = (rules) => async (dispatch) => {
|
||||||
dispatch(setRulesRequest());
|
dispatch(setRulesRequest());
|
||||||
try {
|
try {
|
||||||
const normalizedRules = normalizeRulesTextarea(rules);
|
const normalizedRules = {
|
||||||
|
rules: normalizeRulesTextarea(rules)?.split('\n'),
|
||||||
|
};
|
||||||
await apiClient.setRules(normalizedRules);
|
await apiClient.setRules(normalizedRules);
|
||||||
dispatch(addSuccessToast('updated_custom_filtering_toast'));
|
dispatch(addSuccessToast('updated_custom_filtering_toast'));
|
||||||
dispatch(setRulesSuccess());
|
dispatch(setRulesSuccess());
|
||||||
|
|||||||
@@ -6,7 +6,14 @@ import endsWith from 'lodash/endsWith';
|
|||||||
import escapeRegExp from 'lodash/escapeRegExp';
|
import escapeRegExp from 'lodash/escapeRegExp';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { compose } from 'redux';
|
import { compose } from 'redux';
|
||||||
import { splitByNewLine, sortClients, filterOutComments } from '../helpers/helpers';
|
import {
|
||||||
|
splitByNewLine,
|
||||||
|
sortClients,
|
||||||
|
filterOutComments,
|
||||||
|
msToSeconds,
|
||||||
|
msToMinutes,
|
||||||
|
msToHours,
|
||||||
|
} from '../helpers/helpers';
|
||||||
import {
|
import {
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
CHECK_TIMEOUT,
|
CHECK_TIMEOUT,
|
||||||
@@ -14,6 +21,7 @@ import {
|
|||||||
SETTINGS_NAMES,
|
SETTINGS_NAMES,
|
||||||
FORM_NAME,
|
FORM_NAME,
|
||||||
MANUAL_UPDATE_LINK,
|
MANUAL_UPDATE_LINK,
|
||||||
|
DISABLE_PROTECTION_TIMINGS,
|
||||||
} from '../helpers/constants';
|
} from '../helpers/constants';
|
||||||
import { areEqualVersions } from '../helpers/version';
|
import { areEqualVersions } from '../helpers/version';
|
||||||
import { getTlsStatus } from './encryption';
|
import { getTlsStatus } from './encryption';
|
||||||
@@ -24,6 +32,12 @@ import { getFilteringStatus, setRules } from './filtering';
|
|||||||
export const toggleSettingStatus = createAction('SETTING_STATUS_TOGGLE');
|
export const toggleSettingStatus = createAction('SETTING_STATUS_TOGGLE');
|
||||||
export const showSettingsFailure = createAction('SETTINGS_FAILURE_SHOW');
|
export const showSettingsFailure = createAction('SETTINGS_FAILURE_SHOW');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {*} settingKey = SETTINGS_NAMES
|
||||||
|
* @param {*} status: boolean | SafeSearchConfig
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
export const toggleSetting = (settingKey, status) => async (dispatch) => {
|
export const toggleSetting = (settingKey, status) => async (dispatch) => {
|
||||||
let successMessage = '';
|
let successMessage = '';
|
||||||
try {
|
try {
|
||||||
@@ -49,14 +63,9 @@ export const toggleSetting = (settingKey, status) => async (dispatch) => {
|
|||||||
dispatch(toggleSettingStatus({ settingKey }));
|
dispatch(toggleSettingStatus({ settingKey }));
|
||||||
break;
|
break;
|
||||||
case SETTINGS_NAMES.safesearch:
|
case SETTINGS_NAMES.safesearch:
|
||||||
if (status) {
|
successMessage = 'updated_save_search_toast';
|
||||||
successMessage = 'disabled_safe_search_toast';
|
await apiClient.updateSafesearch(status);
|
||||||
await apiClient.disableSafesearch();
|
dispatch(toggleSettingStatus({ settingKey, value: status }));
|
||||||
} else {
|
|
||||||
successMessage = 'enabled_save_search_toast';
|
|
||||||
await apiClient.enableSafesearch();
|
|
||||||
}
|
|
||||||
dispatch(toggleSettingStatus({ settingKey }));
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -71,7 +80,9 @@ export const initSettingsRequest = createAction('SETTINGS_INIT_REQUEST');
|
|||||||
export const initSettingsFailure = createAction('SETTINGS_INIT_FAILURE');
|
export const initSettingsFailure = createAction('SETTINGS_INIT_FAILURE');
|
||||||
export const initSettingsSuccess = createAction('SETTINGS_INIT_SUCCESS');
|
export const initSettingsSuccess = createAction('SETTINGS_INIT_SUCCESS');
|
||||||
|
|
||||||
export const initSettings = (settingsList) => async (dispatch) => {
|
export const initSettings = (settingsList = {
|
||||||
|
safebrowsing: {}, parental: {},
|
||||||
|
}) => async (dispatch) => {
|
||||||
dispatch(initSettingsRequest());
|
dispatch(initSettingsRequest());
|
||||||
try {
|
try {
|
||||||
const safebrowsingStatus = await apiClient.getSafebrowsingStatus();
|
const safebrowsingStatus = await apiClient.getSafebrowsingStatus();
|
||||||
@@ -80,7 +91,6 @@ export const initSettings = (settingsList) => async (dispatch) => {
|
|||||||
const {
|
const {
|
||||||
safebrowsing,
|
safebrowsing,
|
||||||
parental,
|
parental,
|
||||||
safesearch,
|
|
||||||
} = settingsList;
|
} = settingsList;
|
||||||
const newSettingsList = {
|
const newSettingsList = {
|
||||||
safebrowsing: {
|
safebrowsing: {
|
||||||
@@ -92,8 +102,7 @@ export const initSettings = (settingsList) => async (dispatch) => {
|
|||||||
enabled: parentalStatus.enabled,
|
enabled: parentalStatus.enabled,
|
||||||
},
|
},
|
||||||
safesearch: {
|
safesearch: {
|
||||||
...safesearch,
|
...safesearchStatus,
|
||||||
enabled: safesearchStatus.enabled,
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
dispatch(initSettingsSuccess({ settingsList: newSettingsList }));
|
dispatch(initSettingsSuccess({ settingsList: newSettingsList }));
|
||||||
@@ -107,19 +116,54 @@ export const toggleProtectionRequest = createAction('TOGGLE_PROTECTION_REQUEST')
|
|||||||
export const toggleProtectionFailure = createAction('TOGGLE_PROTECTION_FAILURE');
|
export const toggleProtectionFailure = createAction('TOGGLE_PROTECTION_FAILURE');
|
||||||
export const toggleProtectionSuccess = createAction('TOGGLE_PROTECTION_SUCCESS');
|
export const toggleProtectionSuccess = createAction('TOGGLE_PROTECTION_SUCCESS');
|
||||||
|
|
||||||
export const toggleProtection = (status) => async (dispatch) => {
|
const getDisabledMessage = (time) => {
|
||||||
|
switch (time) {
|
||||||
|
case DISABLE_PROTECTION_TIMINGS.HALF_MINUTE:
|
||||||
|
return i18next.t(
|
||||||
|
'disable_notify_for_seconds',
|
||||||
|
{ count: msToSeconds(DISABLE_PROTECTION_TIMINGS.HALF_MINUTE) },
|
||||||
|
);
|
||||||
|
case DISABLE_PROTECTION_TIMINGS.MINUTE:
|
||||||
|
return i18next.t(
|
||||||
|
'disable_notify_for_minutes',
|
||||||
|
{ count: msToMinutes(DISABLE_PROTECTION_TIMINGS.MINUTE) },
|
||||||
|
);
|
||||||
|
case DISABLE_PROTECTION_TIMINGS.TEN_MINUTES:
|
||||||
|
return i18next.t(
|
||||||
|
'disable_notify_for_minutes',
|
||||||
|
{ count: msToMinutes(DISABLE_PROTECTION_TIMINGS.TEN_MINUTES) },
|
||||||
|
);
|
||||||
|
case DISABLE_PROTECTION_TIMINGS.HOUR:
|
||||||
|
return i18next.t(
|
||||||
|
'disable_notify_for_hours',
|
||||||
|
{ count: msToHours(DISABLE_PROTECTION_TIMINGS.HOUR) },
|
||||||
|
);
|
||||||
|
case DISABLE_PROTECTION_TIMINGS.TOMORROW:
|
||||||
|
return i18next.t('disable_notify_until_tomorrow');
|
||||||
|
default:
|
||||||
|
return 'disabled_protection';
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const toggleProtection = (status, time = null) => async (dispatch) => {
|
||||||
dispatch(toggleProtectionRequest());
|
dispatch(toggleProtectionRequest());
|
||||||
try {
|
try {
|
||||||
const successMessage = status ? 'disabled_protection' : 'enabled_protection';
|
const successMessage = status ? getDisabledMessage(time) : 'enabled_protection';
|
||||||
await apiClient.setDnsConfig({ protection_enabled: !status });
|
await apiClient.setProtection({ enabled: !status, duration: time });
|
||||||
dispatch(addSuccessToast(successMessage));
|
dispatch(addSuccessToast(successMessage));
|
||||||
dispatch(toggleProtectionSuccess());
|
dispatch(toggleProtectionSuccess({ disabledDuration: time }));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(addErrorToast({ error }));
|
dispatch(addErrorToast({ error }));
|
||||||
dispatch(toggleProtectionFailure());
|
dispatch(toggleProtectionFailure());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const setDisableDurationTime = createAction('SET_DISABLED_DURATION_TIME');
|
||||||
|
|
||||||
|
export const setProtectionTimerTime = (updatedTime) => async (dispatch) => {
|
||||||
|
dispatch(setDisableDurationTime({ timeToEnableProtection: updatedTime }));
|
||||||
|
};
|
||||||
|
|
||||||
export const getVersionRequest = createAction('GET_VERSION_REQUEST');
|
export const getVersionRequest = createAction('GET_VERSION_REQUEST');
|
||||||
export const getVersionFailure = createAction('GET_VERSION_FAILURE');
|
export const getVersionFailure = createAction('GET_VERSION_FAILURE');
|
||||||
export const getVersionSuccess = createAction('GET_VERSION_SUCCESS');
|
export const getVersionSuccess = createAction('GET_VERSION_SUCCESS');
|
||||||
@@ -141,7 +185,7 @@ export const getVersion = (recheck = false) => async (dispatch, getState) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(addErrorToast({ error }));
|
dispatch(addErrorToast({ error: 'version_request_error' }));
|
||||||
dispatch(getVersionFailure());
|
dispatch(getVersionFailure());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -272,6 +316,9 @@ export const getDnsStatus = () => async (dispatch) => {
|
|||||||
|
|
||||||
const handleRequestSuccess = (response) => {
|
const handleRequestSuccess = (response) => {
|
||||||
const dnsStatus = response.data;
|
const dnsStatus = response.data;
|
||||||
|
if (dnsStatus.protection_disabled_duration === 0) {
|
||||||
|
dnsStatus.protection_disabled_duration = null;
|
||||||
|
}
|
||||||
const { running } = dnsStatus;
|
const { running } = dnsStatus;
|
||||||
const runningStatus = dnsStatus && running;
|
const runningStatus = dnsStatus && running;
|
||||||
if (runningStatus === true) {
|
if (runningStatus === true) {
|
||||||
@@ -314,13 +361,15 @@ export const testUpstream = (
|
|||||||
const testMessages = Object.keys(upstreamResponse)
|
const testMessages = Object.keys(upstreamResponse)
|
||||||
.map((key) => {
|
.map((key) => {
|
||||||
const message = upstreamResponse[key];
|
const message = upstreamResponse[key];
|
||||||
if (message !== 'OK') {
|
if (message.startsWith('WARNING:')) {
|
||||||
|
dispatch(addErrorToast({ error: i18next.t('dns_test_warning_toast', { key }) }));
|
||||||
|
} else if (message !== 'OK') {
|
||||||
dispatch(addErrorToast({ error: i18next.t('dns_test_not_ok_toast', { key }) }));
|
dispatch(addErrorToast({ error: i18next.t('dns_test_not_ok_toast', { key }) }));
|
||||||
}
|
}
|
||||||
return message;
|
return message;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (testMessages.every((message) => message === 'OK')) {
|
if (testMessages.every((message) => message === 'OK' || message.startsWith('WARNING:'))) {
|
||||||
dispatch(addSuccessToast('dns_test_ok_toast'));
|
dispatch(addSuccessToast('dns_test_ok_toast'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -353,7 +402,7 @@ export const changeLanguageSuccess = createAction('CHANGE_LANGUAGE_SUCCESS');
|
|||||||
export const changeLanguage = (lang) => async (dispatch) => {
|
export const changeLanguage = (lang) => async (dispatch) => {
|
||||||
dispatch(changeLanguageRequest());
|
dispatch(changeLanguageRequest());
|
||||||
try {
|
try {
|
||||||
await apiClient.changeLanguage(lang);
|
await apiClient.changeLanguage({ language: lang });
|
||||||
dispatch(changeLanguageSuccess());
|
dispatch(changeLanguageSuccess());
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(addErrorToast({ error }));
|
dispatch(addErrorToast({ error }));
|
||||||
@@ -361,18 +410,18 @@ export const changeLanguage = (lang) => async (dispatch) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getLanguageRequest = createAction('GET_LANGUAGE_REQUEST');
|
export const changeThemeRequest = createAction('CHANGE_THEME_REQUEST');
|
||||||
export const getLanguageFailure = createAction('GET_LANGUAGE_FAILURE');
|
export const changeThemeFailure = createAction('CHANGE_THEME_FAILURE');
|
||||||
export const getLanguageSuccess = createAction('GET_LANGUAGE_SUCCESS');
|
export const changeThemeSuccess = createAction('CHANGE_THEME_SUCCESS');
|
||||||
|
|
||||||
export const getLanguage = () => async (dispatch) => {
|
export const changeTheme = (theme) => async (dispatch) => {
|
||||||
dispatch(getLanguageRequest());
|
dispatch(changeThemeRequest());
|
||||||
try {
|
try {
|
||||||
const language = await apiClient.getCurrentLanguage();
|
await apiClient.changeTheme({ theme });
|
||||||
dispatch(getLanguageSuccess(language));
|
dispatch(changeThemeSuccess({ theme }));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(addErrorToast({ error }));
|
dispatch(addErrorToast({ error }));
|
||||||
dispatch(getLanguageFailure());
|
dispatch(changeThemeFailure());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -419,7 +468,10 @@ export const findActiveDhcpFailure = createAction('FIND_ACTIVE_DHCP_FAILURE');
|
|||||||
export const findActiveDhcp = (name) => async (dispatch, getState) => {
|
export const findActiveDhcp = (name) => async (dispatch, getState) => {
|
||||||
dispatch(findActiveDhcpRequest());
|
dispatch(findActiveDhcpRequest());
|
||||||
try {
|
try {
|
||||||
const activeDhcp = await apiClient.findActiveDhcp(name);
|
const req = {
|
||||||
|
interface: name,
|
||||||
|
};
|
||||||
|
const activeDhcp = await apiClient.findActiveDhcp(req);
|
||||||
dispatch(findActiveDhcpSuccess(activeDhcp));
|
dispatch(findActiveDhcpSuccess(activeDhcp));
|
||||||
const { check, interface_name, interfaces } = getState().dhcp;
|
const { check, interface_name, interfaces } = getState().dhcp;
|
||||||
const selectedInterface = getState().form[FORM_NAME.DHCP_INTERFACES].values.interface_name;
|
const selectedInterface = getState().form[FORM_NAME.DHCP_INTERFACES].values.interface_name;
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ export const getLogsConfigSuccess = createAction('GET_LOGS_CONFIG_SUCCESS');
|
|||||||
export const getLogsConfig = () => async (dispatch) => {
|
export const getLogsConfig = () => async (dispatch) => {
|
||||||
dispatch(getLogsConfigRequest());
|
dispatch(getLogsConfigRequest());
|
||||||
try {
|
try {
|
||||||
const data = await apiClient.getQueryLogInfo();
|
const data = await apiClient.getQueryLogConfig();
|
||||||
dispatch(getLogsConfigSuccess(data));
|
dispatch(getLogsConfigSuccess(data));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(addErrorToast({ error }));
|
dispatch(addErrorToast({ error }));
|
||||||
|
|||||||
@@ -17,6 +17,21 @@ export const getBlockedServices = () => async (dispatch) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getAllBlockedServicesRequest = createAction('GET_ALL_BLOCKED_SERVICES_REQUEST');
|
||||||
|
export const getAllBlockedServicesFailure = createAction('GET_ALL_BLOCKED_SERVICES_FAILURE');
|
||||||
|
export const getAllBlockedServicesSuccess = createAction('GET_ALL_BLOCKED_SERVICES_SUCCESS');
|
||||||
|
|
||||||
|
export const getAllBlockedServices = () => async (dispatch) => {
|
||||||
|
dispatch(getAllBlockedServicesRequest());
|
||||||
|
try {
|
||||||
|
const data = await apiClient.getAllBlockedServices();
|
||||||
|
dispatch(getAllBlockedServicesSuccess(data));
|
||||||
|
} catch (error) {
|
||||||
|
dispatch(addErrorToast({ error }));
|
||||||
|
dispatch(getAllBlockedServicesFailure());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
export const setBlockedServicesRequest = createAction('SET_BLOCKED_SERVICES_REQUEST');
|
export const setBlockedServicesRequest = createAction('SET_BLOCKED_SERVICES_REQUEST');
|
||||||
export const setBlockedServicesFailure = createAction('SET_BLOCKED_SERVICES_FAILURE');
|
export const setBlockedServicesFailure = createAction('SET_BLOCKED_SERVICES_FAILURE');
|
||||||
export const setBlockedServicesSuccess = createAction('SET_BLOCKED_SERVICES_SUCCESS');
|
export const setBlockedServicesSuccess = createAction('SET_BLOCKED_SERVICES_SUCCESS');
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export const getStatsConfigSuccess = createAction('GET_STATS_CONFIG_SUCCESS');
|
|||||||
export const getStatsConfig = () => async (dispatch) => {
|
export const getStatsConfig = () => async (dispatch) => {
|
||||||
dispatch(getStatsConfigRequest());
|
dispatch(getStatsConfigRequest());
|
||||||
try {
|
try {
|
||||||
const data = await apiClient.getStatsInfo();
|
const data = await apiClient.getStatsConfig();
|
||||||
dispatch(getStatsConfigSuccess(data));
|
dispatch(getStatsConfigSuccess(data));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(addErrorToast({ error }));
|
dispatch(addErrorToast({ error }));
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
import { getPathWithQueryString } from '../helpers/helpers';
|
import { getPathWithQueryString } from '../helpers/helpers';
|
||||||
import { QUERY_LOGS_PAGE_LIMIT, HTML_PAGES, R_PATH_LAST_PART } from '../helpers/constants';
|
import {
|
||||||
|
QUERY_LOGS_PAGE_LIMIT, HTML_PAGES, R_PATH_LAST_PART, THEMES,
|
||||||
|
} from '../helpers/constants';
|
||||||
import { BASE_URL } from '../../constants';
|
import { BASE_URL } from '../../constants';
|
||||||
|
import i18n from '../i18n';
|
||||||
|
import { LANGUAGES } from '../helpers/twosky';
|
||||||
|
|
||||||
class Api {
|
class Api {
|
||||||
baseUrl = BASE_URL;
|
baseUrl = BASE_URL;
|
||||||
@@ -10,11 +14,17 @@ class Api {
|
|||||||
async makeRequest(path, method = 'POST', config) {
|
async makeRequest(path, method = 'POST', config) {
|
||||||
const url = `${this.baseUrl}/${path}`;
|
const url = `${this.baseUrl}/${path}`;
|
||||||
|
|
||||||
|
const axiosConfig = config || {};
|
||||||
|
if (method !== 'GET' && axiosConfig.data) {
|
||||||
|
axiosConfig.headers = axiosConfig.headers || {};
|
||||||
|
axiosConfig.headers['Content-Type'] = axiosConfig.headers['Content-Type'] || 'application/json';
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await axios({
|
const response = await axios({
|
||||||
url,
|
url,
|
||||||
method,
|
method,
|
||||||
...config,
|
...axiosConfig,
|
||||||
});
|
});
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -55,7 +65,6 @@ class Api {
|
|||||||
const { path, method } = this.GLOBAL_TEST_UPSTREAM_DNS;
|
const { path, method } = this.GLOBAL_TEST_UPSTREAM_DNS;
|
||||||
const config = {
|
const config = {
|
||||||
data: servers,
|
data: servers,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, config);
|
return this.makeRequest(path, method, config);
|
||||||
}
|
}
|
||||||
@@ -64,7 +73,6 @@ class Api {
|
|||||||
const { path, method } = this.GLOBAL_VERSION;
|
const { path, method } = this.GLOBAL_VERSION;
|
||||||
const config = {
|
const config = {
|
||||||
data,
|
data,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, config);
|
return this.makeRequest(path, method, config);
|
||||||
}
|
}
|
||||||
@@ -100,7 +108,6 @@ class Api {
|
|||||||
const { path, method } = this.FILTERING_REFRESH;
|
const { path, method } = this.FILTERING_REFRESH;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
@@ -110,7 +117,6 @@ class Api {
|
|||||||
const { path, method } = this.FILTERING_ADD_FILTER;
|
const { path, method } = this.FILTERING_ADD_FILTER;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
@@ -120,7 +126,6 @@ class Api {
|
|||||||
const { path, method } = this.FILTERING_REMOVE_FILTER;
|
const { path, method } = this.FILTERING_REMOVE_FILTER;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
@@ -130,7 +135,6 @@ class Api {
|
|||||||
const { path, method } = this.FILTERING_SET_RULES;
|
const { path, method } = this.FILTERING_SET_RULES;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: rules,
|
data: rules,
|
||||||
headers: { 'Content-Type': 'text/plain' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -139,7 +143,6 @@ class Api {
|
|||||||
const { path, method } = this.FILTERING_CONFIG;
|
const { path, method } = this.FILTERING_CONFIG;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -148,7 +151,6 @@ class Api {
|
|||||||
const { path, method } = this.FILTERING_SET_URL;
|
const { path, method } = this.FILTERING_SET_URL;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -173,12 +175,7 @@ class Api {
|
|||||||
|
|
||||||
enableParentalControl() {
|
enableParentalControl() {
|
||||||
const { path, method } = this.PARENTAL_ENABLE;
|
const { path, method } = this.PARENTAL_ENABLE;
|
||||||
const parameter = 'sensitivity=TEEN'; // this parameter TEEN is hardcoded
|
return this.makeRequest(path, method);
|
||||||
const config = {
|
|
||||||
data: parameter,
|
|
||||||
headers: { 'Content-Type': 'text/plain' },
|
|
||||||
};
|
|
||||||
return this.makeRequest(path, method, config);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
disableParentalControl() {
|
disableParentalControl() {
|
||||||
@@ -211,42 +208,57 @@ class Api {
|
|||||||
// Safesearch
|
// Safesearch
|
||||||
SAFESEARCH_STATUS = { path: 'safesearch/status', method: 'GET' };
|
SAFESEARCH_STATUS = { path: 'safesearch/status', method: 'GET' };
|
||||||
|
|
||||||
SAFESEARCH_ENABLE = { path: 'safesearch/enable', method: 'POST' };
|
SAFESEARCH_UPDATE = { path: 'safesearch/settings', method: 'PUT' };
|
||||||
|
|
||||||
SAFESEARCH_DISABLE = { path: 'safesearch/disable', method: 'POST' };
|
|
||||||
|
|
||||||
getSafesearchStatus() {
|
getSafesearchStatus() {
|
||||||
const { path, method } = this.SAFESEARCH_STATUS;
|
const { path, method } = this.SAFESEARCH_STATUS;
|
||||||
return this.makeRequest(path, method);
|
return this.makeRequest(path, method);
|
||||||
}
|
}
|
||||||
|
|
||||||
enableSafesearch() {
|
/**
|
||||||
const { path, method } = this.SAFESEARCH_ENABLE;
|
* interface SafeSearchConfig {
|
||||||
return this.makeRequest(path, method);
|
"enabled": boolean,
|
||||||
|
"bing": boolean,
|
||||||
|
"duckduckgo": boolean,
|
||||||
|
"google": boolean,
|
||||||
|
"pixabay": boolean,
|
||||||
|
"yandex": boolean,
|
||||||
|
"youtube": boolean
|
||||||
|
* }
|
||||||
|
* @param {*} data - SafeSearchConfig
|
||||||
|
* @returns 200 ok
|
||||||
|
*/
|
||||||
|
updateSafesearch(data) {
|
||||||
|
const { path, method } = this.SAFESEARCH_UPDATE;
|
||||||
|
return this.makeRequest(path, method, { data });
|
||||||
}
|
}
|
||||||
|
|
||||||
disableSafesearch() {
|
// enableSafesearch() {
|
||||||
const { path, method } = this.SAFESEARCH_DISABLE;
|
// const { path, method } = this.SAFESEARCH_ENABLE;
|
||||||
return this.makeRequest(path, method);
|
// return this.makeRequest(path, method);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
// disableSafesearch() {
|
||||||
|
// const { path, method } = this.SAFESEARCH_DISABLE;
|
||||||
|
// return this.makeRequest(path, method);
|
||||||
|
// }
|
||||||
|
|
||||||
// Language
|
// Language
|
||||||
CURRENT_LANGUAGE = { path: 'i18n/current_language', method: 'GET' };
|
|
||||||
|
|
||||||
CHANGE_LANGUAGE = { path: 'i18n/change_language', method: 'POST' };
|
async changeLanguage(config) {
|
||||||
|
const profile = await this.getProfile();
|
||||||
|
profile.language = config.language;
|
||||||
|
|
||||||
getCurrentLanguage() {
|
return this.setProfile(profile);
|
||||||
const { path, method } = this.CURRENT_LANGUAGE;
|
|
||||||
return this.makeRequest(path, method);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
changeLanguage(lang) {
|
// Theme
|
||||||
const { path, method } = this.CHANGE_LANGUAGE;
|
|
||||||
const parameters = {
|
async changeTheme(config) {
|
||||||
data: lang,
|
const profile = await this.getProfile();
|
||||||
headers: { 'Content-Type': 'text/plain' },
|
profile.theme = config.theme;
|
||||||
};
|
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.setProfile(profile);
|
||||||
}
|
}
|
||||||
|
|
||||||
// DHCP
|
// DHCP
|
||||||
@@ -280,16 +292,14 @@ class Api {
|
|||||||
const { path, method } = this.DHCP_SET_CONFIG;
|
const { path, method } = this.DHCP_SET_CONFIG;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
findActiveDhcp(name) {
|
findActiveDhcp(req) {
|
||||||
const { path, method } = this.DHCP_FIND_ACTIVE;
|
const { path, method } = this.DHCP_FIND_ACTIVE;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: name,
|
data: req,
|
||||||
headers: { 'Content-Type': 'text/plain' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -298,7 +308,6 @@ class Api {
|
|||||||
const { path, method } = this.DHCP_ADD_STATIC_LEASE;
|
const { path, method } = this.DHCP_ADD_STATIC_LEASE;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -307,7 +316,6 @@ class Api {
|
|||||||
const { path, method } = this.DHCP_REMOVE_STATIC_LEASE;
|
const { path, method } = this.DHCP_REMOVE_STATIC_LEASE;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -338,7 +346,6 @@ class Api {
|
|||||||
const { path, method } = this.INSTALL_CONFIGURE;
|
const { path, method } = this.INSTALL_CONFIGURE;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -347,7 +354,6 @@ class Api {
|
|||||||
const { path, method } = this.INSTALL_CHECK_CONFIG;
|
const { path, method } = this.INSTALL_CHECK_CONFIG;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -368,7 +374,6 @@ class Api {
|
|||||||
const { path, method } = this.TLS_CONFIG;
|
const { path, method } = this.TLS_CONFIG;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -377,7 +382,6 @@ class Api {
|
|||||||
const { path, method } = this.TLS_VALIDATE;
|
const { path, method } = this.TLS_VALIDATE;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -402,7 +406,6 @@ class Api {
|
|||||||
const { path, method } = this.ADD_CLIENT;
|
const { path, method } = this.ADD_CLIENT;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -411,7 +414,6 @@ class Api {
|
|||||||
const { path, method } = this.DELETE_CLIENT;
|
const { path, method } = this.DELETE_CLIENT;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -420,7 +422,6 @@ class Api {
|
|||||||
const { path, method } = this.UPDATE_CLIENT;
|
const { path, method } = this.UPDATE_CLIENT;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -445,7 +446,6 @@ class Api {
|
|||||||
const { path, method } = this.ACCESS_SET;
|
const { path, method } = this.ACCESS_SET;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -466,7 +466,6 @@ class Api {
|
|||||||
const { path, method } = this.REWRITE_ADD;
|
const { path, method } = this.REWRITE_ADD;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -475,7 +474,6 @@ class Api {
|
|||||||
const { path, method } = this.REWRITE_DELETE;
|
const { path, method } = this.REWRITE_DELETE;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -485,6 +483,13 @@ class Api {
|
|||||||
|
|
||||||
BLOCKED_SERVICES_SET = { path: 'blocked_services/set', method: 'POST' };
|
BLOCKED_SERVICES_SET = { path: 'blocked_services/set', method: 'POST' };
|
||||||
|
|
||||||
|
BLOCKED_SERVICES_ALL = { path: 'blocked_services/all', method: 'GET' };
|
||||||
|
|
||||||
|
getAllBlockedServices() {
|
||||||
|
const { path, method } = this.BLOCKED_SERVICES_ALL;
|
||||||
|
return this.makeRequest(path, method);
|
||||||
|
}
|
||||||
|
|
||||||
getBlockedServices() {
|
getBlockedServices() {
|
||||||
const { path, method } = this.BLOCKED_SERVICES_LIST;
|
const { path, method } = this.BLOCKED_SERVICES_LIST;
|
||||||
return this.makeRequest(path, method);
|
return this.makeRequest(path, method);
|
||||||
@@ -494,7 +499,6 @@ class Api {
|
|||||||
const { path, method } = this.BLOCKED_SERVICES_SET;
|
const { path, method } = this.BLOCKED_SERVICES_SET;
|
||||||
const parameters = {
|
const parameters = {
|
||||||
data: config,
|
data: config,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, parameters);
|
return this.makeRequest(path, method, parameters);
|
||||||
}
|
}
|
||||||
@@ -502,9 +506,9 @@ class Api {
|
|||||||
// Settings for statistics
|
// Settings for statistics
|
||||||
GET_STATS = { path: 'stats', method: 'GET' };
|
GET_STATS = { path: 'stats', method: 'GET' };
|
||||||
|
|
||||||
STATS_INFO = { path: 'stats_info', method: 'GET' };
|
GET_STATS_CONFIG = { path: 'stats/config', method: 'GET' };
|
||||||
|
|
||||||
STATS_CONFIG = { path: 'stats_config', method: 'POST' };
|
UPDATE_STATS_CONFIG = { path: 'stats/config/update', method: 'PUT' };
|
||||||
|
|
||||||
STATS_RESET = { path: 'stats_reset', method: 'POST' };
|
STATS_RESET = { path: 'stats_reset', method: 'POST' };
|
||||||
|
|
||||||
@@ -513,16 +517,15 @@ class Api {
|
|||||||
return this.makeRequest(path, method);
|
return this.makeRequest(path, method);
|
||||||
}
|
}
|
||||||
|
|
||||||
getStatsInfo() {
|
getStatsConfig() {
|
||||||
const { path, method } = this.STATS_INFO;
|
const { path, method } = this.GET_STATS_CONFIG;
|
||||||
return this.makeRequest(path, method);
|
return this.makeRequest(path, method);
|
||||||
}
|
}
|
||||||
|
|
||||||
setStatsConfig(data) {
|
setStatsConfig(data) {
|
||||||
const { path, method } = this.STATS_CONFIG;
|
const { path, method } = this.UPDATE_STATS_CONFIG;
|
||||||
const config = {
|
const config = {
|
||||||
data,
|
data,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, config);
|
return this.makeRequest(path, method, config);
|
||||||
}
|
}
|
||||||
@@ -535,9 +538,9 @@ class Api {
|
|||||||
// Query log
|
// Query log
|
||||||
GET_QUERY_LOG = { path: 'querylog', method: 'GET' };
|
GET_QUERY_LOG = { path: 'querylog', method: 'GET' };
|
||||||
|
|
||||||
QUERY_LOG_CONFIG = { path: 'querylog_config', method: 'POST' };
|
UPDATE_QUERY_LOG_CONFIG = { path: 'querylog/config/update', method: 'PUT' };
|
||||||
|
|
||||||
QUERY_LOG_INFO = { path: 'querylog_info', method: 'GET' };
|
GET_QUERY_LOG_CONFIG = { path: 'querylog/config', method: 'GET' };
|
||||||
|
|
||||||
QUERY_LOG_CLEAR = { path: 'querylog_clear', method: 'POST' };
|
QUERY_LOG_CLEAR = { path: 'querylog_clear', method: 'POST' };
|
||||||
|
|
||||||
@@ -549,16 +552,15 @@ class Api {
|
|||||||
return this.makeRequest(url, method);
|
return this.makeRequest(url, method);
|
||||||
}
|
}
|
||||||
|
|
||||||
getQueryLogInfo() {
|
getQueryLogConfig() {
|
||||||
const { path, method } = this.QUERY_LOG_INFO;
|
const { path, method } = this.GET_QUERY_LOG_CONFIG;
|
||||||
return this.makeRequest(path, method);
|
return this.makeRequest(path, method);
|
||||||
}
|
}
|
||||||
|
|
||||||
setQueryLogConfig(data) {
|
setQueryLogConfig(data) {
|
||||||
const { path, method } = this.QUERY_LOG_CONFIG;
|
const { path, method } = this.UPDATE_QUERY_LOG_CONFIG;
|
||||||
const config = {
|
const config = {
|
||||||
data,
|
data,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, config);
|
return this.makeRequest(path, method, config);
|
||||||
}
|
}
|
||||||
@@ -575,7 +577,6 @@ class Api {
|
|||||||
const { path, method } = this.LOGIN;
|
const { path, method } = this.LOGIN;
|
||||||
const config = {
|
const config = {
|
||||||
data,
|
data,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, config);
|
return this.makeRequest(path, method, config);
|
||||||
}
|
}
|
||||||
@@ -583,11 +584,24 @@ class Api {
|
|||||||
// Profile
|
// Profile
|
||||||
GET_PROFILE = { path: 'profile', method: 'GET' };
|
GET_PROFILE = { path: 'profile', method: 'GET' };
|
||||||
|
|
||||||
|
UPDATE_PROFILE = { path: 'profile/update', method: 'PUT' };
|
||||||
|
|
||||||
getProfile() {
|
getProfile() {
|
||||||
const { path, method } = this.GET_PROFILE;
|
const { path, method } = this.GET_PROFILE;
|
||||||
return this.makeRequest(path, method);
|
return this.makeRequest(path, method);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setProfile(data) {
|
||||||
|
const theme = data.theme ? data.theme : THEMES.auto;
|
||||||
|
const defaultLanguage = i18n.language ? i18n.language : LANGUAGES.en;
|
||||||
|
const language = data.language ? data.language : defaultLanguage;
|
||||||
|
|
||||||
|
const { path, method } = this.UPDATE_PROFILE;
|
||||||
|
const config = { data: { theme, language } };
|
||||||
|
|
||||||
|
return this.makeRequest(path, method, config);
|
||||||
|
}
|
||||||
|
|
||||||
// DNS config
|
// DNS config
|
||||||
GET_DNS_CONFIG = { path: 'dns_info', method: 'GET' };
|
GET_DNS_CONFIG = { path: 'dns_info', method: 'GET' };
|
||||||
|
|
||||||
@@ -602,10 +616,26 @@ class Api {
|
|||||||
const { path, method } = this.SET_DNS_CONFIG;
|
const { path, method } = this.SET_DNS_CONFIG;
|
||||||
const config = {
|
const config = {
|
||||||
data,
|
data,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
|
||||||
};
|
};
|
||||||
return this.makeRequest(path, method, config);
|
return this.makeRequest(path, method, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SET_PROTECTION = { path: 'protection', method: 'POST' };
|
||||||
|
|
||||||
|
setProtection(data) {
|
||||||
|
const { enabled, duration } = data;
|
||||||
|
const { path, method } = this.SET_PROTECTION;
|
||||||
|
|
||||||
|
return this.makeRequest(path, method, { data: { enabled, duration } });
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cache
|
||||||
|
CLEAR_CACHE = { path: 'cache_clear', method: 'POST' };
|
||||||
|
|
||||||
|
clearCache() {
|
||||||
|
const { path, method } = this.CLEAR_CACHE;
|
||||||
|
return this.makeRequest(path, method);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const apiClient = new Api();
|
const apiClient = new Api();
|
||||||
|
|||||||
@@ -1,11 +1,74 @@
|
|||||||
:root {
|
:root {
|
||||||
|
--black: #131313;
|
||||||
|
--bgcolor: #f5f7fb;
|
||||||
|
--mcolor: #495057;
|
||||||
|
--scolor: rgba(74, 74, 74, 0.7);
|
||||||
|
--border-color: rgba(0, 40, 100, 0.12);
|
||||||
|
--header-bgcolor: #fff;
|
||||||
|
--card-bgcolor: #fff;
|
||||||
|
--card-border-color: rgba(0, 40, 100, 0.12);
|
||||||
|
--ctrl-bgcolor: #fff;
|
||||||
|
--ctrl-select-bgcolor: rgba(69, 79, 94, 0.12);
|
||||||
|
--ctrl-dropdown-color: #212529;
|
||||||
|
--ctrl-dropdown-bgcolor-focus: #f8f9fa;
|
||||||
|
--ctrl-dropdown-color-focus: #16181b;
|
||||||
|
--btn-success-bgcolor: #5eba00;
|
||||||
|
--form-disabled-bgcolor: #f8f9fa;
|
||||||
|
--form-disabled-color: #495057;
|
||||||
|
--rt-nodata-bgcolor: rgba(255,255,255,0.8);
|
||||||
|
--rt-nodata-color: rgba(0,0,0,0.5);
|
||||||
|
--modal-overlay-bgcolor: rgba(255, 255, 255, 0.75);
|
||||||
|
--logs__table-bgcolor: #fff;
|
||||||
|
--logs__row--blue-bgcolor: #e5effd;
|
||||||
|
--logs__row--white-bgcolor: #fff;
|
||||||
|
--detailed-info-color: #888888;
|
||||||
--yellow-pale: rgba(247, 181, 0, 0.1);
|
--yellow-pale: rgba(247, 181, 0, 0.1);
|
||||||
--green79: #67b279;
|
--green79: #67b279;
|
||||||
--gray-a5: #a5a5a5;
|
--gray-a5: #a5a5a5;
|
||||||
--gray-d8: #d8d8d8;
|
--gray-d8: #d8d8d8;
|
||||||
--gray-f3: #f3f3f3;
|
--gray-f3: #f3f3f3;
|
||||||
|
--loading-bg: rgba(255, 255, 255, 0.48);
|
||||||
--font-family-monospace: Monaco, Menlo, "Ubuntu Mono", Consolas, source-code-pro, monospace;
|
--font-family-monospace: Monaco, Menlo, "Ubuntu Mono", Consolas, source-code-pro, monospace;
|
||||||
--font-size-disable-autozoom: 1rem;
|
--font-size-disable-autozoom: 1rem;
|
||||||
|
--alert-message-color: #24426c;
|
||||||
|
--alert-message-border: #cbdbf2;
|
||||||
|
--alert-message-bg: #dae5f5;
|
||||||
|
--checkbox-bg: #e2e2e2;
|
||||||
|
--radio-bg: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-theme="dark"] {
|
||||||
|
--black: #ffffff;
|
||||||
|
--bgcolor: #131313;
|
||||||
|
--mcolor: #e6e6e6;
|
||||||
|
--scolor: #a5a5a5;
|
||||||
|
--header-bgcolor: #131313;
|
||||||
|
--border-color: #222;
|
||||||
|
--card-bgcolor: #1c1c1c;
|
||||||
|
--card-border-color: #3d3d3d;
|
||||||
|
--ctrl-bgcolor: #1c1c1c;
|
||||||
|
--ctrl-select-bgcolor: #3d3d3d;
|
||||||
|
--ctrl-dropdown-color: #fff;
|
||||||
|
--ctrl-dropdown-bgcolor-focus: #000;
|
||||||
|
--ctrl-dropdown-color-focus: #fff;
|
||||||
|
--btn-success-bgcolor: #67b279;
|
||||||
|
--form-disabled-bgcolor: #2d2d2d;
|
||||||
|
--form-disabled-color: #a5a5a5;
|
||||||
|
--logs__text-color: #f3f3f3;
|
||||||
|
--rt-nodata-bgcolor: #1c1c1c;
|
||||||
|
--rt-nodata-color: #fff;
|
||||||
|
--modal-overlay-bgcolor: rgba(19, 19, 19, 0.75);
|
||||||
|
--logs__table-bgcolor: #3d3d3d;
|
||||||
|
--logs__row--blue-bgcolor: #467fcf;
|
||||||
|
--logs__row--white-bgcolor: #1c1c1c;
|
||||||
|
--detailed-info-color: #fff;
|
||||||
|
--gray300: #f3f3f3;
|
||||||
|
--loading-bg: #131313;
|
||||||
|
--alert-message-color: #e6e6e6;
|
||||||
|
--alert-message-border: #363648;
|
||||||
|
--alert-message-bg: #363648;
|
||||||
|
--checkbox-bg: #a4a4a4;
|
||||||
|
--radio-bg: #a4a4a4;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
|
|||||||
@@ -20,8 +20,13 @@ import EncryptionTopline from '../ui/EncryptionTopline';
|
|||||||
import Icons from '../ui/Icons';
|
import Icons from '../ui/Icons';
|
||||||
import i18n from '../../i18n';
|
import i18n from '../../i18n';
|
||||||
import Loading from '../ui/Loading';
|
import Loading from '../ui/Loading';
|
||||||
import { FILTERS_URLS, MENU_URLS, SETTINGS_URLS } from '../../helpers/constants';
|
import {
|
||||||
import { getLogsUrlParams, setHtmlLangAttr } from '../../helpers/helpers';
|
FILTERS_URLS,
|
||||||
|
MENU_URLS,
|
||||||
|
SETTINGS_URLS,
|
||||||
|
THEMES,
|
||||||
|
} from '../../helpers/constants';
|
||||||
|
import { getLogsUrlParams, setHtmlLangAttr, setUITheme } from '../../helpers/helpers';
|
||||||
import Header from '../Header';
|
import Header from '../Header';
|
||||||
import { changeLanguage, getDnsStatus } from '../../actions';
|
import { changeLanguage, getDnsStatus } from '../../actions';
|
||||||
|
|
||||||
@@ -38,6 +43,7 @@ import DnsRewrites from '../../containers/DnsRewrites';
|
|||||||
import CustomRules from '../../containers/CustomRules';
|
import CustomRules from '../../containers/CustomRules';
|
||||||
import Services from '../Filters/Services';
|
import Services from '../Filters/Services';
|
||||||
import Logs from '../Logs';
|
import Logs from '../Logs';
|
||||||
|
import ProtectionTimer from '../ProtectionTimer';
|
||||||
|
|
||||||
const ROUTES = [
|
const ROUTES = [
|
||||||
{
|
{
|
||||||
@@ -109,6 +115,7 @@ const App = () => {
|
|||||||
isCoreRunning,
|
isCoreRunning,
|
||||||
isUpdateAvailable,
|
isUpdateAvailable,
|
||||||
processing,
|
processing,
|
||||||
|
theme,
|
||||||
} = useSelector((state) => state.dashboard, shallowEqual);
|
} = useSelector((state) => state.dashboard, shallowEqual);
|
||||||
|
|
||||||
const { processing: processingEncryption } = useSelector((
|
const { processing: processingEncryption } = useSelector((
|
||||||
@@ -138,6 +145,40 @@ const App = () => {
|
|||||||
setLanguage();
|
setLanguage();
|
||||||
}, [language]);
|
}, [language]);
|
||||||
|
|
||||||
|
const handleAutoTheme = (e, accountTheme) => {
|
||||||
|
if (accountTheme !== THEMES.auto) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.matches) {
|
||||||
|
setUITheme(THEMES.dark);
|
||||||
|
} else {
|
||||||
|
setUITheme(THEMES.light);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (theme !== THEMES.auto) {
|
||||||
|
setUITheme(theme);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const colorSchemeMedia = window.matchMedia('(prefers-color-scheme: dark)');
|
||||||
|
setUITheme(theme);
|
||||||
|
|
||||||
|
if (colorSchemeMedia.addEventListener !== undefined) {
|
||||||
|
colorSchemeMedia.addEventListener('change', (e) => {
|
||||||
|
handleAutoTheme(e, theme);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// Deprecated addListener for older versions of Safari.
|
||||||
|
colorSchemeMedia.addListener((e) => {
|
||||||
|
handleAutoTheme(e, theme);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, [theme]);
|
||||||
|
|
||||||
const reloadPage = () => {
|
const reloadPage = () => {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
};
|
};
|
||||||
@@ -150,6 +191,7 @@ const App = () => {
|
|||||||
{!processingEncryption && <EncryptionTopline />}
|
{!processingEncryption && <EncryptionTopline />}
|
||||||
<LoadingBar className="loading-bar" updateTime={1000} />
|
<LoadingBar className="loading-bar" updateTime={1000} />
|
||||||
<Header />
|
<Header />
|
||||||
|
<ProtectionTimer />
|
||||||
<div className="container container--wrap pb-5">
|
<div className="container container--wrap pb-5">
|
||||||
{processing && <Loading />}
|
{processing && <Loading />}
|
||||||
{!isCoreRunning && <div className="row row-cards">
|
{!isCoreRunning && <div className="row row-cards">
|
||||||
|
|||||||
@@ -29,8 +29,11 @@ const BlockedDomains = ({
|
|||||||
blockedFiltering,
|
blockedFiltering,
|
||||||
replacedSafebrowsing,
|
replacedSafebrowsing,
|
||||||
replacedParental,
|
replacedParental,
|
||||||
|
replacedSafesearch,
|
||||||
}) => {
|
}) => {
|
||||||
const totalBlocked = blockedFiltering + replacedSafebrowsing + replacedParental;
|
const totalBlocked = (
|
||||||
|
blockedFiltering + replacedSafebrowsing + replacedParental + replacedSafesearch
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card
|
<Card
|
||||||
@@ -71,6 +74,7 @@ BlockedDomains.propTypes = {
|
|||||||
topBlockedDomains: PropTypes.array.isRequired,
|
topBlockedDomains: PropTypes.array.isRequired,
|
||||||
blockedFiltering: PropTypes.number.isRequired,
|
blockedFiltering: PropTypes.number.isRequired,
|
||||||
replacedSafebrowsing: PropTypes.number.isRequired,
|
replacedSafebrowsing: PropTypes.number.isRequired,
|
||||||
|
replacedSafesearch: PropTypes.number.isRequired,
|
||||||
replacedParental: PropTypes.number.isRequired,
|
replacedParental: PropTypes.number.isRequired,
|
||||||
refreshButton: PropTypes.node.isRequired,
|
refreshButton: PropTypes.node.isRequired,
|
||||||
subtitle: PropTypes.string.isRequired,
|
subtitle: PropTypes.string.isRequired,
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
.dashboard-protection-button.btn-gray {
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
border-right-color: #a4a4a4;
|
||||||
|
}
|
||||||
|
|
||||||
.stats__table .popover__body {
|
.stats__table .popover__body {
|
||||||
left: -10px;
|
left: -10px;
|
||||||
min-width: 270px;
|
min-width: 270px;
|
||||||
@@ -34,27 +40,18 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dashboard-title__button {
|
|
||||||
margin: 0 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 767.98px) {
|
@media (max-width: 767.98px) {
|
||||||
.page-title--dashboard {
|
.page-title--dashboard {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dashboard-title__button {
|
|
||||||
margin: 0.5rem 0;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.counters__row {
|
.counters__row {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
border-top: 1px solid #dee2e6;
|
border-top: 1px solid var(--card-border-color);
|
||||||
padding: 0.75rem 1.5rem;
|
padding: 0.75rem 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,18 +9,25 @@ import Counters from './Counters';
|
|||||||
import Clients from './Clients';
|
import Clients from './Clients';
|
||||||
import QueriedDomains from './QueriedDomains';
|
import QueriedDomains from './QueriedDomains';
|
||||||
import BlockedDomains from './BlockedDomains';
|
import BlockedDomains from './BlockedDomains';
|
||||||
import { SETTINGS_URLS } from '../../helpers/constants';
|
import { DISABLE_PROTECTION_TIMINGS, ONE_SECOND_IN_MS, SETTINGS_URLS } from '../../helpers/constants';
|
||||||
|
import {
|
||||||
|
msToSeconds,
|
||||||
|
msToMinutes,
|
||||||
|
msToHours,
|
||||||
|
msToDays,
|
||||||
|
} from '../../helpers/helpers';
|
||||||
|
|
||||||
import PageTitle from '../ui/PageTitle';
|
import PageTitle from '../ui/PageTitle';
|
||||||
import Loading from '../ui/Loading';
|
import Loading from '../ui/Loading';
|
||||||
import './Dashboard.css';
|
import './Dashboard.css';
|
||||||
|
import Dropdown from '../ui/Dropdown';
|
||||||
|
|
||||||
const Dashboard = ({
|
const Dashboard = ({
|
||||||
getAccessList,
|
getAccessList,
|
||||||
getStats,
|
getStats,
|
||||||
getStatsConfig,
|
getStatsConfig,
|
||||||
dashboard,
|
dashboard,
|
||||||
dashboard: { protectionEnabled, processingProtection },
|
dashboard: { protectionEnabled, processingProtection, protectionDisabledDuration },
|
||||||
toggleProtection,
|
toggleProtection,
|
||||||
stats,
|
stats,
|
||||||
access,
|
access,
|
||||||
@@ -36,20 +43,20 @@ const Dashboard = ({
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getAllStats();
|
getAllStats();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const getSubtitle = () => {
|
const getSubtitle = () => {
|
||||||
if (stats.interval === 0) {
|
const ONE_DAY = 1;
|
||||||
|
const intervalInDays = msToDays(stats.interval);
|
||||||
|
|
||||||
|
if (intervalInDays < ONE_DAY) {
|
||||||
return t('stats_disabled_short');
|
return t('stats_disabled_short');
|
||||||
}
|
}
|
||||||
|
|
||||||
return stats.interval === 1
|
return intervalInDays === ONE_DAY
|
||||||
? t('for_last_24_hours')
|
? t('for_last_24_hours')
|
||||||
: t('for_last_days', { count: stats.interval });
|
: t('for_last_days', { count: msToDays(stats.interval) });
|
||||||
};
|
};
|
||||||
|
|
||||||
const buttonText = protectionEnabled ? 'disable_protection' : 'enable_protection';
|
const buttonClass = classNames('btn btn-sm dashboard-protection-button', {
|
||||||
|
|
||||||
const buttonClass = classNames('btn btn-sm dashboard-title__button', {
|
|
||||||
'btn-gray': protectionEnabled,
|
'btn-gray': protectionEnabled,
|
||||||
'btn-success': !protectionEnabled,
|
'btn-success': !protectionEnabled,
|
||||||
});
|
});
|
||||||
@@ -60,7 +67,7 @@ const Dashboard = ({
|
|||||||
title={t('refresh_btn')}
|
title={t('refresh_btn')}
|
||||||
onClick={() => getAllStats()}
|
onClick={() => getAllStats()}
|
||||||
>
|
>
|
||||||
<svg className="icons">
|
<svg className="icons icon12">
|
||||||
<use xlinkHref="#refresh" />
|
<use xlinkHref="#refresh" />
|
||||||
</svg>
|
</svg>
|
||||||
</button>;
|
</button>;
|
||||||
@@ -71,16 +78,87 @@ const Dashboard = ({
|
|||||||
|
|
||||||
const subtitle = getSubtitle();
|
const subtitle = getSubtitle();
|
||||||
|
|
||||||
|
const DISABLE_PROTECTION_ITEMS = [
|
||||||
|
{
|
||||||
|
text: t('disable_for_seconds', { count: msToSeconds(DISABLE_PROTECTION_TIMINGS.HALF_MINUTE) }),
|
||||||
|
disableTime: DISABLE_PROTECTION_TIMINGS.HALF_MINUTE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: t('disable_for_minutes', { count: msToMinutes(DISABLE_PROTECTION_TIMINGS.MINUTE) }),
|
||||||
|
disableTime: DISABLE_PROTECTION_TIMINGS.MINUTE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: t('disable_for_minutes', { count: msToMinutes(DISABLE_PROTECTION_TIMINGS.TEN_MINUTES) }),
|
||||||
|
disableTime: DISABLE_PROTECTION_TIMINGS.TEN_MINUTES,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: t('disable_for_hours', { count: msToHours(DISABLE_PROTECTION_TIMINGS.HOUR) }),
|
||||||
|
disableTime: DISABLE_PROTECTION_TIMINGS.HOUR,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: t('disable_until_tomorrow'),
|
||||||
|
disableTime: DISABLE_PROTECTION_TIMINGS.TOMORROW,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const getDisableProtectionItems = () => (
|
||||||
|
Object.values(DISABLE_PROTECTION_ITEMS)
|
||||||
|
.map((item, index) => (
|
||||||
|
<div
|
||||||
|
key={`disable_timings_${index}`}
|
||||||
|
className="dropdown-item"
|
||||||
|
onClick={() => {
|
||||||
|
toggleProtection(protectionEnabled, item.disableTime - ONE_SECOND_IN_MS);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{item.text}
|
||||||
|
</div>
|
||||||
|
))
|
||||||
|
);
|
||||||
|
|
||||||
|
const getRemaningTimeText = (milliseconds) => {
|
||||||
|
if (!milliseconds) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
const date = new Date(milliseconds);
|
||||||
|
const hh = date.getUTCHours();
|
||||||
|
const mm = `0${date.getUTCMinutes()}`.slice(-2);
|
||||||
|
const ss = `0${date.getUTCSeconds()}`.slice(-2);
|
||||||
|
const formattedHH = `0${hh}`.slice(-2);
|
||||||
|
|
||||||
|
return hh ? `${formattedHH}:${mm}:${ss}` : `${mm}:${ss}`;
|
||||||
|
};
|
||||||
|
|
||||||
|
const getProtectionBtnText = (status) => (status ? t('disable_protection') : t('enable_protection'));
|
||||||
|
|
||||||
return <>
|
return <>
|
||||||
<PageTitle title={t('dashboard')} containerClass="page-title--dashboard">
|
<PageTitle title={t('dashboard')} containerClass="page-title--dashboard">
|
||||||
<button
|
<div className="page-title__protection">
|
||||||
type="button"
|
<button
|
||||||
className={buttonClass}
|
type="button"
|
||||||
onClick={() => toggleProtection(protectionEnabled)}
|
className={buttonClass}
|
||||||
disabled={processingProtection}
|
onClick={() => {
|
||||||
>
|
toggleProtection(protectionEnabled);
|
||||||
<Trans>{buttonText}</Trans>
|
}}
|
||||||
</button>
|
disabled={processingProtection}
|
||||||
|
>
|
||||||
|
{protectionDisabledDuration
|
||||||
|
? `${t('enable_protection_timer')} ${getRemaningTimeText(protectionDisabledDuration)}`
|
||||||
|
: getProtectionBtnText(protectionEnabled)
|
||||||
|
}
|
||||||
|
</button>
|
||||||
|
|
||||||
|
{protectionEnabled && <Dropdown
|
||||||
|
label=""
|
||||||
|
baseClassName="dropdown-protection"
|
||||||
|
icon="arrow-down"
|
||||||
|
controlClassName="dropdown-protection__toggle"
|
||||||
|
menuClassName="dropdown-menu dropdown-menu-arrow dropdown-menu--protection"
|
||||||
|
>
|
||||||
|
{getDisableProtectionItems()}
|
||||||
|
</Dropdown>}
|
||||||
|
</div>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="btn btn-outline-primary btn-sm"
|
className="btn btn-outline-primary btn-sm"
|
||||||
@@ -107,7 +185,7 @@ const Dashboard = ({
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<Statistics
|
<Statistics
|
||||||
interval={stats.interval}
|
interval={msToDays(stats.interval)}
|
||||||
dnsQueries={stats.dnsQueries}
|
dnsQueries={stats.dnsQueries}
|
||||||
blockedFiltering={stats.blockedFiltering}
|
blockedFiltering={stats.blockedFiltering}
|
||||||
replacedSafebrowsing={stats.replacedSafebrowsing}
|
replacedSafebrowsing={stats.replacedSafebrowsing}
|
||||||
@@ -151,6 +229,7 @@ const Dashboard = ({
|
|||||||
topBlockedDomains={stats.topBlockedDomains}
|
topBlockedDomains={stats.topBlockedDomains}
|
||||||
blockedFiltering={stats.numBlockedFiltering}
|
blockedFiltering={stats.numBlockedFiltering}
|
||||||
replacedSafebrowsing={stats.numReplacedSafebrowsing}
|
replacedSafebrowsing={stats.numReplacedSafebrowsing}
|
||||||
|
replacedSafesearch={stats.numReplacedSafesearch}
|
||||||
replacedParental={stats.numReplacedParental}
|
replacedParental={stats.numReplacedParental}
|
||||||
refreshButton={refreshButton}
|
refreshButton={refreshButton}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -12,17 +12,16 @@ import { MODAL_TYPE } from '../../helpers/constants';
|
|||||||
|
|
||||||
import {
|
import {
|
||||||
getCurrentFilter,
|
getCurrentFilter,
|
||||||
getObjDiff,
|
|
||||||
} from '../../helpers/helpers';
|
} from '../../helpers/helpers';
|
||||||
|
|
||||||
const filtersCatalog = require('../../helpers/filters/filters.json');
|
import filtersCatalog from '../../helpers/filters/filters';
|
||||||
|
|
||||||
class DnsBlocklist extends Component {
|
class DnsBlocklist extends Component {
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.props.getFilteringStatus();
|
this.props.getFilteringStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
handleSubmit = (values, _, { initialValues }) => {
|
handleSubmit = (values) => {
|
||||||
const { modalFilterUrl, modalType } = this.props.filtering;
|
const { modalFilterUrl, modalType } = this.props.filtering;
|
||||||
|
|
||||||
switch (modalType) {
|
switch (modalType) {
|
||||||
@@ -35,7 +34,12 @@ class DnsBlocklist extends Component {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MODAL_TYPE.CHOOSE_FILTERING_LIST: {
|
case MODAL_TYPE.CHOOSE_FILTERING_LIST: {
|
||||||
const changedValues = getObjDiff(initialValues, values);
|
const changedValues = Object.entries(values)?.reduce((acc, [key, value]) => {
|
||||||
|
if (value && key in filtersCatalog.filters) {
|
||||||
|
acc[key] = value;
|
||||||
|
}
|
||||||
|
return acc;
|
||||||
|
}, {});
|
||||||
|
|
||||||
Object.keys(changedValues)
|
Object.keys(changedValues)
|
||||||
.forEach((fieldName) => {
|
.forEach((fieldName) => {
|
||||||
|
|||||||
@@ -7,8 +7,7 @@ import classNames from 'classnames';
|
|||||||
import { validatePath, validateRequiredValue } from '../../helpers/validators';
|
import { validatePath, validateRequiredValue } from '../../helpers/validators';
|
||||||
import { CheckboxField, renderInputField } from '../../helpers/form';
|
import { CheckboxField, renderInputField } from '../../helpers/form';
|
||||||
import { MODAL_OPEN_TIMEOUT, MODAL_TYPE, FORM_NAME } from '../../helpers/constants';
|
import { MODAL_OPEN_TIMEOUT, MODAL_TYPE, FORM_NAME } from '../../helpers/constants';
|
||||||
|
import filtersCatalog from '../../helpers/filters/filters';
|
||||||
const filtersCatalog = require('../../helpers/filters/filters.json');
|
|
||||||
|
|
||||||
const getIconsData = (homepage, source) => ([
|
const getIconsData = (homepage, source) => ([
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,10 +6,11 @@ import flow from 'lodash/flow';
|
|||||||
|
|
||||||
import { toggleAllServices } from '../../../helpers/helpers';
|
import { toggleAllServices } from '../../../helpers/helpers';
|
||||||
import { renderServiceField } from '../../../helpers/form';
|
import { renderServiceField } from '../../../helpers/form';
|
||||||
import { FORM_NAME, SERVICES } from '../../../helpers/constants';
|
import { FORM_NAME } from '../../../helpers/constants';
|
||||||
|
|
||||||
const Form = (props) => {
|
const Form = (props) => {
|
||||||
const {
|
const {
|
||||||
|
blockedServices,
|
||||||
handleSubmit,
|
handleSubmit,
|
||||||
change,
|
change,
|
||||||
pristine,
|
pristine,
|
||||||
@@ -27,7 +28,7 @@ const Form = (props) => {
|
|||||||
type="button"
|
type="button"
|
||||||
className="btn btn-secondary btn-block"
|
className="btn btn-secondary btn-block"
|
||||||
disabled={processing || processingSet}
|
disabled={processing || processingSet}
|
||||||
onClick={() => toggleAllServices(SERVICES, change, true)}
|
onClick={() => toggleAllServices(blockedServices, change, true)}
|
||||||
>
|
>
|
||||||
<Trans>block_all</Trans>
|
<Trans>block_all</Trans>
|
||||||
</button>
|
</button>
|
||||||
@@ -37,17 +38,17 @@ const Form = (props) => {
|
|||||||
type="button"
|
type="button"
|
||||||
className="btn btn-secondary btn-block"
|
className="btn btn-secondary btn-block"
|
||||||
disabled={processing || processingSet}
|
disabled={processing || processingSet}
|
||||||
onClick={() => toggleAllServices(SERVICES, change, false)}
|
onClick={() => toggleAllServices(blockedServices, change, false)}
|
||||||
>
|
>
|
||||||
<Trans>unblock_all</Trans>
|
<Trans>unblock_all</Trans>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="services">
|
<div className="services">
|
||||||
{SERVICES.map((service) => (
|
{blockedServices.map((service) => (
|
||||||
<Field
|
<Field
|
||||||
key={service.id}
|
key={service.id}
|
||||||
icon={`service_${service.id}`}
|
icon={service.icon_svg}
|
||||||
name={`blocked_services.${service.id}`}
|
name={`blocked_services.${service.id}`}
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
component={renderServiceField}
|
component={renderServiceField}
|
||||||
@@ -72,6 +73,7 @@ const Form = (props) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Form.propTypes = {
|
Form.propTypes = {
|
||||||
|
blockedServices: PropTypes.array.isRequired,
|
||||||
pristine: PropTypes.bool.isRequired,
|
pristine: PropTypes.bool.isRequired,
|
||||||
handleSubmit: PropTypes.func.isRequired,
|
handleSubmit: PropTypes.func.isRequired,
|
||||||
change: PropTypes.func.isRequired,
|
change: PropTypes.func.isRequired,
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next';
|
|||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
import Form from './Form';
|
import Form from './Form';
|
||||||
import Card from '../../ui/Card';
|
import Card from '../../ui/Card';
|
||||||
import { getBlockedServices, setBlockedServices } from '../../../actions/services';
|
import { getBlockedServices, getAllBlockedServices, setBlockedServices } from '../../../actions/services';
|
||||||
import PageTitle from '../../ui/PageTitle';
|
import PageTitle from '../../ui/PageTitle';
|
||||||
|
|
||||||
const getInitialDataForServices = (initial) => (initial ? initial.reduce(
|
const getInitialDataForServices = (initial) => (initial ? initial.reduce(
|
||||||
@@ -21,6 +21,7 @@ const Services = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
dispatch(getBlockedServices());
|
dispatch(getBlockedServices());
|
||||||
|
dispatch(getAllBlockedServices());
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const handleSubmit = (values) => {
|
const handleSubmit = (values) => {
|
||||||
@@ -49,6 +50,7 @@ const Services = () => {
|
|||||||
<div className="form">
|
<div className="form">
|
||||||
<Form
|
<Form
|
||||||
initialValues={initialValues}
|
initialValues={initialValues}
|
||||||
|
blockedServices={services.allServices}
|
||||||
processing={services.processing}
|
processing={services.processing}
|
||||||
processingSet={services.processingSet}
|
processingSet={services.processingSet}
|
||||||
onSubmit={handleSubmit}
|
onSubmit={handleSubmit}
|
||||||
|
|||||||
@@ -41,13 +41,13 @@ class Table extends Component {
|
|||||||
{
|
{
|
||||||
Header: <Trans>name_table_header</Trans>,
|
Header: <Trans>name_table_header</Trans>,
|
||||||
accessor: 'name',
|
accessor: 'name',
|
||||||
minWidth: 200,
|
minWidth: 180,
|
||||||
Cell: CellWrap,
|
Cell: CellWrap,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Header: <Trans>list_url_table_header</Trans>,
|
Header: <Trans>list_url_table_header</Trans>,
|
||||||
accessor: 'url',
|
accessor: 'url',
|
||||||
minWidth: 200,
|
minWidth: 180,
|
||||||
Cell: ({ value }) => (
|
Cell: ({ value }) => (
|
||||||
<div className="logs__row">
|
<div className="logs__row">
|
||||||
{isValidAbsolutePath(value) ? value
|
{isValidAbsolutePath(value) ? value
|
||||||
@@ -73,7 +73,7 @@ class Table extends Component {
|
|||||||
Header: <Trans>last_time_updated_table_header</Trans>,
|
Header: <Trans>last_time_updated_table_header</Trans>,
|
||||||
accessor: 'lastUpdated',
|
accessor: 'lastUpdated',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
minWidth: 150,
|
minWidth: 180,
|
||||||
Cell: this.getDateCell,
|
Cell: this.getDateCell,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -100,7 +100,7 @@ class Table extends Component {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<svg className="icons">
|
<svg className="icons icon12">
|
||||||
<use xlinkHref="#edit" />
|
<use xlinkHref="#edit" />
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
@@ -110,7 +110,7 @@ class Table extends Component {
|
|||||||
onClick={() => handleDelete(url)}
|
onClick={() => handleDelete(url)}
|
||||||
title={t('delete_table_action')}
|
title={t('delete_table_action')}
|
||||||
>
|
>
|
||||||
<svg className="icons">
|
<svg className="icons icon12">
|
||||||
<use xlinkHref="#delete" />
|
<use xlinkHref="#delete" />
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
.nav-tabs .nav-link.active {
|
.nav-tabs .nav-link.active {
|
||||||
border-color: var(--green-74);
|
border-color: var(--btn-success-bgcolor);
|
||||||
color: var(--green-74);
|
color: var(--btn-success-bgcolor);
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-tabs .nav-link.active:hover {
|
.nav-tabs .nav-link.active:hover {
|
||||||
border-color: #58a273;
|
border-color: #4b9400;
|
||||||
color: #58a273;
|
color: #4b9400;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-icon {
|
.nav-icon {
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
width: 250px;
|
width: 250px;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
transition: transform 0.3s ease;
|
transition: transform 0.3s ease;
|
||||||
background-color: #fff;
|
background-color: var(--header-bgcolor);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
16
client/src/components/Logs/AnonymizerNotification.js
Normal file
16
client/src/components/Logs/AnonymizerNotification.js
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import { Trans } from 'react-i18next';
|
||||||
|
import { HashLink as Link } from 'react-router-hash-link';
|
||||||
|
|
||||||
|
const AnonymizerNotification = () => (
|
||||||
|
<div className="alert alert-primary mt-6">
|
||||||
|
<Trans components={[
|
||||||
|
<strong key="0">text</strong>,
|
||||||
|
<Link to="/settings#logs-config" key="1">link</Link>,
|
||||||
|
]}>
|
||||||
|
anonymizer_notification
|
||||||
|
</Trans>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
export default AnonymizerNotification;
|
||||||
@@ -62,7 +62,7 @@ const ClientCell = ({
|
|||||||
'white-space--nowrap': isDetailed,
|
'white-space--nowrap': isDetailed,
|
||||||
});
|
});
|
||||||
|
|
||||||
const hintClass = classNames('icons mr-4 icon--24 icon--lightgray', {
|
const hintClass = classNames('icons mr-4 icon--24 logs__question icon--lightgray', {
|
||||||
'my-3': isDetailed,
|
'my-3': isDetailed,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@ const ClientCell = ({
|
|||||||
{options.map(({ name, onClick, disabled }) => (
|
{options.map(({ name, onClick, disabled }) => (
|
||||||
<button
|
<button
|
||||||
key={name}
|
key={name}
|
||||||
className="button-action--arrow-option px-4 py-2"
|
className="button-action--arrow-option px-4 py-1"
|
||||||
onClick={onClick}
|
onClick={onClick}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
>
|
>
|
||||||
@@ -162,7 +162,7 @@ const ClientCell = ({
|
|||||||
{content && (
|
{content && (
|
||||||
<button className={buttonArrowClass} disabled={processingRules}>
|
<button className={buttonArrowClass} disabled={processingRules}>
|
||||||
<IconTooltip
|
<IconTooltip
|
||||||
className="h-100"
|
className="icon24"
|
||||||
tooltipClass="button-action--arrow-option-container"
|
tooltipClass="button-action--arrow-option-container"
|
||||||
xlinkHref="chevron-down"
|
xlinkHref="chevron-down"
|
||||||
triggerClass="button-action--icon"
|
triggerClass="button-action--icon"
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ const DomainCell = ({
|
|||||||
'my-3': isDetailed,
|
'my-3': isDetailed,
|
||||||
});
|
});
|
||||||
|
|
||||||
const privacyIconClass = classNames('icons mx-2 icon--24 d-none d-sm-block', {
|
const privacyIconClass = classNames('icons mx-2 icon--24 d-none d-sm-block logs__question', {
|
||||||
'icon--green': hasTracker,
|
'icon--green': hasTracker,
|
||||||
'icon--disabled': !hasTracker,
|
'icon--disabled': !hasTracker,
|
||||||
'my-3': isDetailed,
|
'my-3': isDetailed,
|
||||||
@@ -147,11 +147,11 @@ const DomainCell = ({
|
|||||||
/>
|
/>
|
||||||
<div className={valueClass}>
|
<div className={valueClass}>
|
||||||
{unicodeName ? (
|
{unicodeName ? (
|
||||||
<div className="text-truncate" title={unicodeName}>
|
<div className="text-truncate overflow-break-mobile" title={unicodeName}>
|
||||||
{unicodeName}
|
{unicodeName}
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="text-truncate" title={domain}>
|
<div className="text-truncate overflow-break-mobile" title={domain}>
|
||||||
{domain}
|
{domain}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -4,7 +4,8 @@
|
|||||||
box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.2);
|
box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.2);
|
||||||
border-radius: 4px !important;
|
border-radius: 4px !important;
|
||||||
pointer-events: auto !important;
|
pointer-events: auto !important;
|
||||||
background-color: var(--white);
|
background-color: var(--ctrl-bgcolor);
|
||||||
|
color: var(--mcolor);
|
||||||
z-index: 102;
|
z-index: 102;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
@@ -19,6 +20,13 @@
|
|||||||
overflow-wrap: break-word;
|
overflow-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 991.98px) {
|
||||||
|
.overflow-break-mobile {
|
||||||
|
white-space: normal !important;
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.grid {
|
.grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(2, min-content);
|
grid-template-columns: repeat(2, min-content);
|
||||||
@@ -42,6 +50,33 @@
|
|||||||
padding-top: 1rem;
|
padding-top: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1024px) {
|
||||||
|
.grid .title--border {
|
||||||
|
margin-bottom: 4px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid .key-colon {
|
||||||
|
margin-right: 4px;
|
||||||
|
color: var(--gray-8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid__row {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
font-size: 14px;
|
||||||
|
word-break: break-all;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid__row .filteringRules__filter,
|
||||||
|
.grid__row .filteringRules {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 767.98px) {
|
@media (max-width: 767.98px) {
|
||||||
.grid {
|
.grid {
|
||||||
grid-template-columns: 35% 55%;
|
grid-template-columns: 35% 55%;
|
||||||
@@ -63,10 +98,6 @@
|
|||||||
grid-column: 2 / span 1;
|
grid-column: 2 / span 1;
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid .key-colon, .grid .title--border {
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid .key-colon:nth-child(odd)::after {
|
.grid .key-colon:nth-child(odd)::after {
|
||||||
@@ -91,7 +122,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.title--border {
|
.title--border {
|
||||||
padding-top: 2rem;
|
padding-top: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title--border:before {
|
.title--border:before {
|
||||||
@@ -100,7 +131,7 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
border-top: 0.5px solid var(--gray-d8) !important;
|
border-top: 0.5px solid var(--gray-d8) !important;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: -1rem;
|
margin-top: -0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-cross {
|
.icon-cross {
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ const ResponseCell = ({
|
|||||||
const filters = useSelector((state) => state.filtering.filters, shallowEqual);
|
const filters = useSelector((state) => state.filtering.filters, shallowEqual);
|
||||||
const whitelistFilters = useSelector((state) => state.filtering.whitelistFilters, shallowEqual);
|
const whitelistFilters = useSelector((state) => state.filtering.whitelistFilters, shallowEqual);
|
||||||
const isDetailed = useSelector((state) => state.queryLogs.isDetailed);
|
const isDetailed = useSelector((state) => state.queryLogs.isDetailed);
|
||||||
|
const services = useSelector((store) => store?.services);
|
||||||
|
|
||||||
const formattedElapsedMs = formatElapsedMs(elapsedMs, t);
|
const formattedElapsedMs = formatElapsedMs(elapsedMs, t);
|
||||||
|
|
||||||
@@ -60,8 +61,8 @@ const ResponseCell = ({
|
|||||||
install_settings_dns: upstreamString,
|
install_settings_dns: upstreamString,
|
||||||
elapsed: formattedElapsedMs,
|
elapsed: formattedElapsedMs,
|
||||||
response_code: status,
|
response_code: status,
|
||||||
...(service_name
|
...(service_name && services.allServices
|
||||||
&& { service_name: getServiceName(service_name) }
|
&& { service_name: getServiceName(services.allServices, service_name) }
|
||||||
),
|
),
|
||||||
...(rules.length > 0
|
...(rules.length > 0
|
||||||
&& { rule_label: getRulesToFilterList(rules, filters, whitelistFilters) }
|
&& { rule_label: getRulesToFilterList(rules, filters, whitelistFilters) }
|
||||||
@@ -80,10 +81,10 @@ const ResponseCell = ({
|
|||||||
const getDetailedInfo = (reason) => {
|
const getDetailedInfo = (reason) => {
|
||||||
switch (reason) {
|
switch (reason) {
|
||||||
case FILTERED_STATUS.FILTERED_BLOCKED_SERVICE:
|
case FILTERED_STATUS.FILTERED_BLOCKED_SERVICE:
|
||||||
if (!service_name) {
|
if (!service_name || !services.allServices) {
|
||||||
return formattedElapsedMs;
|
return formattedElapsedMs;
|
||||||
}
|
}
|
||||||
return getServiceName(service_name);
|
return getServiceName(services.allServices, service_name);
|
||||||
case FILTERED_STATUS.FILTERED_BLACK_LIST:
|
case FILTERED_STATUS.FILTERED_BLACK_LIST:
|
||||||
case FILTERED_STATUS.NOT_FILTERED_WHITE_LIST:
|
case FILTERED_STATUS.NOT_FILTERED_WHITE_LIST:
|
||||||
return getFilterNames(rules, filters, whitelistFilters).join(', ');
|
return getFilterNames(rules, filters, whitelistFilters).join(', ');
|
||||||
@@ -97,7 +98,7 @@ const ResponseCell = ({
|
|||||||
return (
|
return (
|
||||||
<div className="logs__cell logs__cell--response" role="gridcell">
|
<div className="logs__cell logs__cell--response" role="gridcell">
|
||||||
<IconTooltip
|
<IconTooltip
|
||||||
className={classNames('icons mr-4 icon--24 icon--lightgray', { 'my-3': isDetailed })}
|
className={classNames('icons mr-4 icon--24 icon--lightgray logs__question', { 'my-3': isDetailed })}
|
||||||
columnClass='grid grid--limited'
|
columnClass='grid grid--limited'
|
||||||
tooltipClass='px-5 pb-5 pt-4 mw-75 custom-tooltip__response-details'
|
tooltipClass='px-5 pb-5 pt-4 mw-75 custom-tooltip__response-details'
|
||||||
contentItemClass='text-truncate key-colon o-hidden'
|
contentItemClass='text-truncate key-colon o-hidden'
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ const Row = memo(({
|
|||||||
const autoClients = useSelector((state) => state.dashboard.autoClients, shallowEqual);
|
const autoClients = useSelector((state) => state.dashboard.autoClients, shallowEqual);
|
||||||
const processingSet = useSelector((state) => state.access.processingSet);
|
const processingSet = useSelector((state) => state.access.processingSet);
|
||||||
const allowedСlients = useSelector((state) => state.access.allowed_clients, shallowEqual);
|
const allowedСlients = useSelector((state) => state.access.allowed_clients, shallowEqual);
|
||||||
|
const services = useSelector((store) => store?.services);
|
||||||
|
|
||||||
const clients = useSelector((state) => state.dashboard.clients);
|
const clients = useSelector((state) => state.dashboard.clients);
|
||||||
|
|
||||||
@@ -139,20 +140,32 @@ const Row = memo(({
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const blockButton = <button
|
const blockButton = (
|
||||||
className={classNames('title--border text-center button-action--arrow-option', { 'bg--danger': !isBlocked })}
|
<>
|
||||||
onClick={onToggleBlock}>
|
<div className="title--border" />
|
||||||
{t(buttonType)}
|
<button
|
||||||
</button>;
|
type="button"
|
||||||
|
className={
|
||||||
|
classNames(
|
||||||
|
'button-action--arrow-option mb-1',
|
||||||
|
{ 'bg--danger': !isBlocked },
|
||||||
|
{ 'bg--green': isFiltered },
|
||||||
|
)}
|
||||||
|
onClick={onToggleBlock}
|
||||||
|
>
|
||||||
|
{t(buttonType)}
|
||||||
|
</button>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|
||||||
const blockForClientButton = <button
|
const blockForClientButton = <button
|
||||||
className='text-center font-weight-bold py-2 button-action--arrow-option'
|
className='text-center font-weight-bold py-1 button-action--arrow-option'
|
||||||
onClick={onBlockingForClientClick}>
|
onClick={onBlockingForClientClick}>
|
||||||
{t(blockingForClientKey)}
|
{t(blockingForClientKey)}
|
||||||
</button>;
|
</button>;
|
||||||
|
|
||||||
const blockClientButton = <button
|
const blockClientButton = <button
|
||||||
className='text-center font-weight-bold py-2 button-action--arrow-option'
|
className='text-center font-weight-bold py-1 button-action--arrow-option'
|
||||||
onClick={onBlockingClientClick}
|
onClick={onBlockingClientClick}
|
||||||
disabled={processingSet || lastRuleInAllowlist}>
|
disabled={processingSet || lastRuleInAllowlist}>
|
||||||
{t(blockingClientKey)}
|
{t(blockingClientKey)}
|
||||||
@@ -163,8 +176,8 @@ const Row = memo(({
|
|||||||
date: formatDateTime(time, DEFAULT_SHORT_DATE_FORMAT_OPTIONS),
|
date: formatDateTime(time, DEFAULT_SHORT_DATE_FORMAT_OPTIONS),
|
||||||
encryption_status: isBlocked
|
encryption_status: isBlocked
|
||||||
? <div className="bg--danger">{requestStatus}</div> : requestStatus,
|
? <div className="bg--danger">{requestStatus}</div> : requestStatus,
|
||||||
...(FILTERED_STATUS.FILTERED_BLOCKED_SERVICE && service_name
|
...(FILTERED_STATUS.FILTERED_BLOCKED_SERVICE && service_name && services.allServices
|
||||||
&& { service_name: getServiceName(service_name) }),
|
&& { service_name: getServiceName(services.allServices, service_name) }),
|
||||||
domain,
|
domain,
|
||||||
type_table_header: type,
|
type_table_header: type,
|
||||||
protocol,
|
protocol,
|
||||||
|
|||||||
@@ -129,7 +129,6 @@ const Form = (props) => {
|
|||||||
|
|
||||||
const onInputClear = async () => {
|
const onInputClear = async () => {
|
||||||
setIsLoading(true);
|
setIsLoading(true);
|
||||||
setDebouncedSearch(DEFAULT_LOGS_FILTER[FORM_NAMES.search]);
|
|
||||||
change(FORM_NAMES.search, DEFAULT_LOGS_FILTER[FORM_NAMES.search]);
|
change(FORM_NAMES.search, DEFAULT_LOGS_FILTER[FORM_NAMES.search]);
|
||||||
setIsLoading(false);
|
setIsLoading(false);
|
||||||
};
|
};
|
||||||
@@ -155,7 +154,7 @@ const Form = (props) => {
|
|||||||
name={FORM_NAMES.search}
|
name={FORM_NAMES.search}
|
||||||
component={renderFilterField}
|
component={renderFilterField}
|
||||||
type="text"
|
type="text"
|
||||||
className={classNames('form-control--search form-control--transparent', className)}
|
className={classNames('form-control form-control--search form-control--transparent', className)}
|
||||||
placeholder={t('domain_or_client')}
|
placeholder={t('domain_or_client')}
|
||||||
tooltip={t('query_log_strict_search')}
|
tooltip={t('query_log_strict_search')}
|
||||||
onClearInputClick={onInputClear}
|
onClearInputClick={onInputClear}
|
||||||
|
|||||||
@@ -24,6 +24,12 @@
|
|||||||
--option-border-radius: 4px;
|
--option-border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[data-theme="dark"] {
|
||||||
|
--red: rgba(223, 56, 18, 0.25);
|
||||||
|
--green-pale: rgba(103, 178, 121, 0.25);
|
||||||
|
--yellow: rgba(247, 181, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
.logs__text {
|
.logs__text {
|
||||||
padding: 0 1px;
|
padding: 0 1px;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
@@ -31,11 +37,19 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
font-family: var(--font-family-sans-serif);
|
font-family: var(--font-family-sans-serif);
|
||||||
color: var(--gray-4d);
|
color: var(--logs__text-color);
|
||||||
letter-spacing: 0;
|
letter-spacing: 0;
|
||||||
line-height: 1.5rem;
|
line-height: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[data-theme="dark"] .logs__text a {
|
||||||
|
color: var(--gray-f3);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-theme="dark"] .logs__text a:hover {
|
||||||
|
color: var(--gray-f3);
|
||||||
|
}
|
||||||
|
|
||||||
.logs__text--bold {
|
.logs__text--bold {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
@@ -48,7 +62,7 @@
|
|||||||
.detailed-info {
|
.detailed-info {
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
color: #888888;
|
color: var(--detailed-info-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.logs__text--link {
|
.logs__text--link {
|
||||||
@@ -66,6 +80,10 @@
|
|||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[data-theme=dark] .icon--selected {
|
||||||
|
opacity: 0.75;
|
||||||
|
}
|
||||||
|
|
||||||
.text-pre {
|
.text-pre {
|
||||||
white-space: pre-wrap !important;
|
white-space: pre-wrap !important;
|
||||||
overflow-wrap: break-word;
|
overflow-wrap: break-word;
|
||||||
@@ -88,6 +106,16 @@
|
|||||||
max-height: 100% !important;
|
max-height: 100% !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.icon24 {
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon12 {
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
.cursor--pointer {
|
.cursor--pointer {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
@@ -102,22 +130,20 @@
|
|||||||
padding: 0.5rem 0.75rem 0.5rem 2rem !important;
|
padding: 0.5rem 0.75rem 0.5rem 2rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg--danger {
|
|
||||||
color: var(--danger) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-control--search {
|
.form-control--search {
|
||||||
box-shadow: 0 1px 0 #ddd;
|
|
||||||
padding: 0 2.5rem;
|
padding: 0 2.5rem;
|
||||||
height: 2.25rem;
|
height: 2.25rem;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-control--transparent {
|
.form-control--transparent {
|
||||||
border: 0 solid transparent !important;
|
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[data-theme="dark"] .form-control--transparent option {
|
||||||
|
background-color: var(--card-bgcolor);
|
||||||
|
}
|
||||||
|
|
||||||
.input-group-search {
|
.input-group-search {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -178,10 +204,8 @@
|
|||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
width: 2.5rem;
|
||||||
--size: 2.5rem;
|
height: 2.5rem;
|
||||||
width: var(--size);
|
|
||||||
height: var(--size);
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin-left: 0.9375rem;
|
margin-left: 0.9375rem;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
@@ -213,6 +237,12 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 1025px) {
|
||||||
|
.logs__cell--client {
|
||||||
|
width: 13rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.logs__cell--header__container > .logs__cell--header__item {
|
.logs__cell--header__container > .logs__cell--header__item {
|
||||||
border-right: 0;
|
border-right: 0;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
@@ -230,6 +260,12 @@
|
|||||||
height: 1.6rem;
|
height: 1.6rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 1024px) {
|
||||||
|
.button-action__container {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.button-action__container--detailed {
|
.button-action__container--detailed {
|
||||||
bottom: 1.3rem;
|
bottom: 1.3rem;
|
||||||
}
|
}
|
||||||
@@ -285,7 +321,6 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-action:active {
|
.button-action:active {
|
||||||
@@ -310,20 +345,42 @@
|
|||||||
border: 0;
|
border: 0;
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: left;
|
padding-top: 0.2rem;
|
||||||
|
padding-bottom: 0.2rem;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 700;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-action--arrow-option:hover,
|
||||||
|
.button-action--arrow-option:focus {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-action--arrow-option:focus-visible {
|
||||||
|
outline: 2px solid #295a9f;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-action--arrow-option:disabled {
|
.button-action--arrow-option:disabled {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tooltip-custom__container .button-action--arrow-option {
|
||||||
|
padding-bottom: 0;
|
||||||
|
text-align: left;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
.tooltip-custom__container .button-action--arrow-option:not(:disabled):hover {
|
.tooltip-custom__container .button-action--arrow-option:not(:disabled):hover {
|
||||||
cursor: pointer;
|
|
||||||
background: var(--gray-f3);
|
background: var(--gray-f3);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[data-theme="dark"] .tooltip-custom__container .button-action--arrow-option:not(:disabled):hover {
|
||||||
|
background: var(--ctrl-dropdown-bgcolor-focus);
|
||||||
|
}
|
||||||
|
|
||||||
.button-action--arrow-option-container {
|
.button-action--arrow-option-container {
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
transform-origin: left;
|
transform-origin: left;
|
||||||
@@ -353,7 +410,11 @@
|
|||||||
|
|
||||||
/* QUERY_STATUS_COLORS */
|
/* QUERY_STATUS_COLORS */
|
||||||
.logs__row--blue {
|
.logs__row--blue {
|
||||||
background-color: var(--blue);
|
background-color: var(--logs__row--blue-bgcolor);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-theme="dark"] .logs__row--blue .logs__text--link {
|
||||||
|
color: var(--white);
|
||||||
}
|
}
|
||||||
|
|
||||||
.logs__row--green {
|
.logs__row--green {
|
||||||
@@ -365,7 +426,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.logs__row--white {
|
.logs__row--white {
|
||||||
background-color: var(--white);
|
background-color: var(--logs__row--white-bgcolor);
|
||||||
}
|
}
|
||||||
|
|
||||||
.logs__row--yellow {
|
.logs__row--yellow {
|
||||||
@@ -373,8 +434,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.logs__no-data {
|
.logs__no-data {
|
||||||
color: var(--gray-4d);
|
color: var(--mcolor);
|
||||||
background-color: var(--white80);
|
background-color: var(--logs__table-bgcolor);
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -387,7 +448,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.logs__table {
|
.logs__table {
|
||||||
background-color: var(--white);
|
background-color: var(--logs__table-bgcolor);
|
||||||
border: 0;
|
border: 0;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
min-height: 43rem;
|
min-height: 43rem;
|
||||||
@@ -454,6 +515,33 @@
|
|||||||
|
|
||||||
.filteringRules__filter {
|
.filteringRules__filter {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: normal;
|
font-weight: 400;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bg--danger {
|
||||||
|
color: var(--danger);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg--green {
|
||||||
|
color: var(--green79);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-theme="dark"] .logs__question.icon--lightgray {
|
||||||
|
color: var(--gray-f3);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1024px) {
|
||||||
|
.logs__question {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.logs__modal {
|
||||||
|
max-width: 720px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logs__modal-wrap {
|
||||||
|
padding: 1rem 1.5rem;
|
||||||
|
background-color: var(--card-bgcolor);
|
||||||
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import queryString from 'query-string';
|
|||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import {
|
import {
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
SMALL_SCREEN_SIZE,
|
MEDIUM_SCREEN_SIZE,
|
||||||
} from '../../helpers/constants';
|
} from '../../helpers/constants';
|
||||||
import Loading from '../ui/Loading';
|
import Loading from '../ui/Loading';
|
||||||
import Filters from './Filters';
|
import Filters from './Filters';
|
||||||
@@ -16,6 +16,7 @@ import { getFilteringStatus } from '../../actions/filtering';
|
|||||||
import { getClients } from '../../actions';
|
import { getClients } from '../../actions';
|
||||||
import { getDnsConfig } from '../../actions/dnsConfig';
|
import { getDnsConfig } from '../../actions/dnsConfig';
|
||||||
import { getAccessList } from '../../actions/access';
|
import { getAccessList } from '../../actions/access';
|
||||||
|
import { getAllBlockedServices } from '../../actions/services';
|
||||||
import {
|
import {
|
||||||
getLogsConfig,
|
getLogsConfig,
|
||||||
resetFilteredLogs,
|
resetFilteredLogs,
|
||||||
@@ -25,6 +26,7 @@ import {
|
|||||||
import InfiniteTable from './InfiniteTable';
|
import InfiniteTable from './InfiniteTable';
|
||||||
import './Logs.css';
|
import './Logs.css';
|
||||||
import { BUTTON_PREFIX } from './Cells/helpers';
|
import { BUTTON_PREFIX } from './Cells/helpers';
|
||||||
|
import AnonymizerNotification from './AnonymizerNotification';
|
||||||
|
|
||||||
const processContent = (data) => Object.entries(data)
|
const processContent = (data) => Object.entries(data)
|
||||||
.map(([key, value]) => {
|
.map(([key, value]) => {
|
||||||
@@ -46,17 +48,20 @@ const processContent = (data) => Object.entries(data)
|
|||||||
keyClass = '';
|
keyClass = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
return isHidden ? null : <div key={key}>
|
return isHidden ? null : (
|
||||||
<div
|
<div className="grid__row" key={key}>
|
||||||
|
<div
|
||||||
className={classNames(`key__${key}`, keyClass, {
|
className={classNames(`key__${key}`, keyClass, {
|
||||||
'font-weight-bold': isBoolean && value === true,
|
'font-weight-bold': isBoolean && value === true,
|
||||||
})}>
|
})}
|
||||||
<Trans>{isButton ? value : key}</Trans>
|
>
|
||||||
|
<Trans>{isButton ? value : key}</Trans>
|
||||||
|
</div>
|
||||||
|
<div className={`value__${key} text-pre text-truncate`}>
|
||||||
|
<Trans>{(isTitle || isButton || isBoolean) ? '' : value || '—'}</Trans>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className={`value__${key} text-pre text-truncate`}>
|
);
|
||||||
<Trans>{(isTitle || isButton || isBoolean) ? '' : value || '—'}</Trans>
|
|
||||||
</div>
|
|
||||||
</div>;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const Logs = () => {
|
const Logs = () => {
|
||||||
@@ -73,6 +78,7 @@ const Logs = () => {
|
|||||||
processingGetConfig,
|
processingGetConfig,
|
||||||
processingAdditionalLogs,
|
processingAdditionalLogs,
|
||||||
processingGetLogs,
|
processingGetLogs,
|
||||||
|
anonymize_client_ip: anonymizeClientIp,
|
||||||
} = useSelector((state) => state.queryLogs, shallowEqual);
|
} = useSelector((state) => state.queryLogs, shallowEqual);
|
||||||
const filter = useSelector((state) => state.queryLogs.filter, shallowEqual);
|
const filter = useSelector((state) => state.queryLogs.filter, shallowEqual);
|
||||||
const logs = useSelector((state) => state.queryLogs.logs, shallowEqual);
|
const logs = useSelector((state) => state.queryLogs.logs, shallowEqual);
|
||||||
@@ -80,7 +86,7 @@ const Logs = () => {
|
|||||||
const search = search_url_param || filter?.search || '';
|
const search = search_url_param || filter?.search || '';
|
||||||
const response_status = response_status_url_param || filter?.response_status || '';
|
const response_status = response_status_url_param || filter?.response_status || '';
|
||||||
|
|
||||||
const [isSmallScreen, setIsSmallScreen] = useState(window.innerWidth < SMALL_SCREEN_SIZE);
|
const [isSmallScreen, setIsSmallScreen] = useState(window.innerWidth <= MEDIUM_SCREEN_SIZE);
|
||||||
const [detailedDataCurrent, setDetailedDataCurrent] = useState({});
|
const [detailedDataCurrent, setDetailedDataCurrent] = useState({});
|
||||||
const [buttonType, setButtonType] = useState(BLOCK_ACTIONS.BLOCK);
|
const [buttonType, setButtonType] = useState(BLOCK_ACTIONS.BLOCK);
|
||||||
const [isModalOpened, setModalOpened] = useState(false);
|
const [isModalOpened, setModalOpened] = useState(false);
|
||||||
@@ -99,11 +105,13 @@ const Logs = () => {
|
|||||||
})();
|
})();
|
||||||
}, [response_status, search]);
|
}, [response_status, search]);
|
||||||
|
|
||||||
const mediaQuery = window.matchMedia(`(max-width: ${SMALL_SCREEN_SIZE}px)`);
|
const mediaQuery = window.matchMedia(`(max-width: ${MEDIUM_SCREEN_SIZE}px)`);
|
||||||
const mediaQueryHandler = (e) => {
|
const mediaQueryHandler = (e) => {
|
||||||
setIsSmallScreen(e.matches);
|
setIsSmallScreen(e.matches);
|
||||||
if (e.matches) {
|
if (e.matches) {
|
||||||
dispatch(toggleDetailedLogs(false));
|
dispatch(toggleDetailedLogs(false));
|
||||||
|
} else {
|
||||||
|
dispatch(toggleDetailedLogs(true));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -123,6 +131,7 @@ const Logs = () => {
|
|||||||
setIsLoading(true);
|
setIsLoading(true);
|
||||||
dispatch(getFilteringStatus());
|
dispatch(getFilteringStatus());
|
||||||
dispatch(getClients());
|
dispatch(getClients());
|
||||||
|
dispatch(getAllBlockedServices());
|
||||||
try {
|
try {
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
dispatch(getLogsConfig()),
|
dispatch(getLogsConfig()),
|
||||||
@@ -180,35 +189,49 @@ const Logs = () => {
|
|||||||
setButtonType={setButtonType}
|
setButtonType={setButtonType}
|
||||||
setModalOpened={setModalOpened}
|
setModalOpened={setModalOpened}
|
||||||
/>
|
/>
|
||||||
<Modal portalClassName='grid' isOpen={isSmallScreen && isModalOpened}
|
<Modal
|
||||||
onRequestClose={closeModal}
|
portalClassName='grid'
|
||||||
style={{
|
isOpen={isSmallScreen && isModalOpened}
|
||||||
content: {
|
onRequestClose={closeModal}
|
||||||
width: '100%',
|
style={{
|
||||||
height: 'fit-content',
|
content: {
|
||||||
left: 0,
|
width: 'calc(100% - 32px)',
|
||||||
top: 47,
|
height: 'fit-content',
|
||||||
padding: '1rem 1.5rem 1rem',
|
left: '50%',
|
||||||
},
|
top: 47,
|
||||||
overlay: {
|
padding: '0',
|
||||||
backgroundColor: 'rgba(0,0,0,0.5)',
|
maxWidth: '720px',
|
||||||
},
|
transform: 'translateX(-50%)',
|
||||||
}}
|
},
|
||||||
|
overlay: {
|
||||||
|
backgroundColor: 'rgba(0,0,0,0.5)',
|
||||||
|
},
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<svg
|
<div className="logs__modal-wrap">
|
||||||
className="icon icon--24 icon-cross d-block d-md-none cursor--pointer"
|
<svg
|
||||||
onClick={closeModal}>
|
className="icon icon--24 icon-cross d-block cursor--pointer"
|
||||||
<use xlinkHref="#cross" />
|
onClick={closeModal}
|
||||||
</svg>
|
>
|
||||||
{processContent(detailedDataCurrent, buttonType)}
|
<use xlinkHref="#cross" />
|
||||||
|
</svg>
|
||||||
|
{processContent(detailedDataCurrent, buttonType)}
|
||||||
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
</>;
|
</>;
|
||||||
|
|
||||||
return <>
|
return (
|
||||||
{enabled && processingGetConfig && <Loading />}
|
<>
|
||||||
{enabled && !processingGetConfig && renderPage()}
|
{enabled && (
|
||||||
{!enabled && !processingGetConfig && <Disabled />}
|
<>
|
||||||
</>;
|
{processingGetConfig && <Loading />}
|
||||||
|
{anonymizeClientIp && <AnonymizerNotification />}
|
||||||
|
{!processingGetConfig && renderPage()}
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
{!enabled && !processingGetConfig && <Disabled />}
|
||||||
|
</>
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Logs;
|
export default Logs;
|
||||||
|
|||||||
52
client/src/components/ProtectionTimer/index.js
Normal file
52
client/src/components/ProtectionTimer/index.js
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
import { useEffect } from 'react';
|
||||||
|
import { connect } from 'react-redux';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { ONE_SECOND_IN_MS } from '../../helpers/constants';
|
||||||
|
import { setProtectionTimerTime, toggleProtectionSuccess } from '../../actions';
|
||||||
|
|
||||||
|
let interval = null;
|
||||||
|
|
||||||
|
const ProtectionTimer = ({
|
||||||
|
protectionDisabledDuration,
|
||||||
|
toggleProtectionSuccess,
|
||||||
|
setProtectionTimerTime,
|
||||||
|
}) => {
|
||||||
|
useEffect(() => {
|
||||||
|
if (protectionDisabledDuration !== null && protectionDisabledDuration < ONE_SECOND_IN_MS) {
|
||||||
|
toggleProtectionSuccess({ disabledDuration: null });
|
||||||
|
}
|
||||||
|
|
||||||
|
if (protectionDisabledDuration) {
|
||||||
|
interval = setInterval(() => {
|
||||||
|
setProtectionTimerTime(protectionDisabledDuration - ONE_SECOND_IN_MS);
|
||||||
|
}, ONE_SECOND_IN_MS);
|
||||||
|
}
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
clearInterval(interval);
|
||||||
|
};
|
||||||
|
}, [protectionDisabledDuration]);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
|
ProtectionTimer.propTypes = {
|
||||||
|
setProtectionTimerTime: PropTypes.func.isRequired,
|
||||||
|
};
|
||||||
|
|
||||||
|
const mapStateToProps = (state) => {
|
||||||
|
const { dashboard } = state;
|
||||||
|
const { protectionEnabled, protectionDisabledDuration } = dashboard;
|
||||||
|
return { protectionEnabled, protectionDisabledDuration };
|
||||||
|
};
|
||||||
|
|
||||||
|
const mapDispatchToProps = {
|
||||||
|
toggleProtectionSuccess,
|
||||||
|
setProtectionTimerTime,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default connect(
|
||||||
|
mapStateToProps,
|
||||||
|
mapDispatchToProps,
|
||||||
|
)(ProtectionTimer);
|
||||||
@@ -1,25 +1,62 @@
|
|||||||
import React, { Component, Fragment } from 'react';
|
/* eslint-disable react/display-name */
|
||||||
|
/* eslint-disable react/prop-types */
|
||||||
|
import React, { useEffect } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { Trans, withTranslation } from 'react-i18next';
|
import { Trans, useTranslation } from 'react-i18next';
|
||||||
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
import ReactTable from 'react-table';
|
import ReactTable from 'react-table';
|
||||||
|
|
||||||
import { MODAL_TYPE } from '../../../helpers/constants';
|
import { getAllBlockedServices } from '../../../../actions/services';
|
||||||
import { splitByNewLine, countClientsStatistics, sortIp } from '../../../helpers/helpers';
|
import { initSettings } from '../../../../actions';
|
||||||
import Card from '../../ui/Card';
|
import {
|
||||||
import Modal from './Modal';
|
splitByNewLine,
|
||||||
import CellWrap from '../../ui/CellWrap';
|
countClientsStatistics,
|
||||||
import LogsSearchLink from '../../ui/LogsSearchLink';
|
sortIp,
|
||||||
|
getService,
|
||||||
|
} from '../../../../helpers/helpers';
|
||||||
|
import { MODAL_TYPE } from '../../../../helpers/constants';
|
||||||
|
import Card from '../../../ui/Card';
|
||||||
|
import CellWrap from '../../../ui/CellWrap';
|
||||||
|
import LogsSearchLink from '../../../ui/LogsSearchLink';
|
||||||
|
import Modal from '../Modal';
|
||||||
|
|
||||||
class ClientsTable extends Component {
|
const ClientsTable = ({
|
||||||
handleFormAdd = (values) => {
|
clients,
|
||||||
this.props.addClient(values);
|
normalizedTopClients,
|
||||||
|
isModalOpen,
|
||||||
|
modalClientName,
|
||||||
|
modalType,
|
||||||
|
addClient,
|
||||||
|
updateClient,
|
||||||
|
deleteClient,
|
||||||
|
toggleClientModal,
|
||||||
|
processingAdding,
|
||||||
|
processingDeleting,
|
||||||
|
processingUpdating,
|
||||||
|
getStats,
|
||||||
|
supportedTags,
|
||||||
|
}) => {
|
||||||
|
const [t] = useTranslation();
|
||||||
|
const dispatch = useDispatch();
|
||||||
|
const services = useSelector((store) => store?.services);
|
||||||
|
const globalSettings = useSelector((store) => store?.settings.settingsList) || {};
|
||||||
|
|
||||||
|
const { safesearch } = globalSettings;
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
dispatch(getAllBlockedServices());
|
||||||
|
dispatch(initSettings());
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const handleFormAdd = (values) => {
|
||||||
|
addClient(values);
|
||||||
};
|
};
|
||||||
|
|
||||||
handleFormUpdate = (values, name) => {
|
const handleFormUpdate = (values, name) => {
|
||||||
this.props.updateClient(values, name);
|
updateClient(values, name);
|
||||||
};
|
};
|
||||||
|
|
||||||
handleSubmit = (values) => {
|
const handleSubmit = (values) => {
|
||||||
const config = values;
|
const config = values;
|
||||||
|
|
||||||
if (values) {
|
if (values) {
|
||||||
@@ -42,21 +79,21 @@ class ClientsTable extends Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.props.modalType === MODAL_TYPE.EDIT_FILTERS) {
|
if (modalType === MODAL_TYPE.EDIT_FILTERS) {
|
||||||
this.handleFormUpdate(config, this.props.modalClientName);
|
handleFormUpdate(config, modalClientName);
|
||||||
} else {
|
} else {
|
||||||
this.handleFormAdd(config);
|
handleFormAdd(config);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
getOptionsWithLabels = (options) => (
|
const getOptionsWithLabels = (options) => (
|
||||||
options.map((option) => ({
|
options.map((option) => ({
|
||||||
value: option,
|
value: option,
|
||||||
label: option,
|
label: option,
|
||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
|
|
||||||
getClient = (name, clients) => {
|
const getClient = (name, clients) => {
|
||||||
const client = clients.find((item) => name === item.name);
|
const client = clients.find((item) => name === item.name);
|
||||||
|
|
||||||
if (client) {
|
if (client) {
|
||||||
@@ -65,7 +102,7 @@ class ClientsTable extends Component {
|
|||||||
} = client;
|
} = client;
|
||||||
return {
|
return {
|
||||||
upstreams: (upstreams && upstreams.join('\n')) || '',
|
upstreams: (upstreams && upstreams.join('\n')) || '',
|
||||||
tags: (tags && this.getOptionsWithLabels(tags)) || [],
|
tags: (tags && getOptionsWithLabels(tags)) || [],
|
||||||
...values,
|
...values,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -75,20 +112,21 @@ class ClientsTable extends Component {
|
|||||||
tags: [],
|
tags: [],
|
||||||
use_global_settings: true,
|
use_global_settings: true,
|
||||||
use_global_blocked_services: true,
|
use_global_blocked_services: true,
|
||||||
|
safe_search: { ...(safesearch || {}) },
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
handleDelete = (data) => {
|
const handleDelete = (data) => {
|
||||||
// eslint-disable-next-line no-alert
|
// eslint-disable-next-line no-alert
|
||||||
if (window.confirm(this.props.t('client_confirm_delete', { key: data.name }))) {
|
if (window.confirm(t('client_confirm_delete', { key: data.name }))) {
|
||||||
this.props.deleteClient(data);
|
deleteClient(data);
|
||||||
this.props.getStats();
|
getStats();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
columns = [
|
const columns = [
|
||||||
{
|
{
|
||||||
Header: this.props.t('table_client'),
|
Header: t('table_client'),
|
||||||
accessor: 'ids',
|
accessor: 'ids',
|
||||||
minWidth: 150,
|
minWidth: 150,
|
||||||
Cell: (row) => {
|
Cell: (row) => {
|
||||||
@@ -109,13 +147,13 @@ class ClientsTable extends Component {
|
|||||||
sortMethod: sortIp,
|
sortMethod: sortIp,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Header: this.props.t('table_name'),
|
Header: t('table_name'),
|
||||||
accessor: 'name',
|
accessor: 'name',
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
Cell: CellWrap,
|
Cell: CellWrap,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Header: this.props.t('settings'),
|
Header: t('settings'),
|
||||||
accessor: 'use_global_settings',
|
accessor: 'use_global_settings',
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
Cell: ({ value }) => {
|
Cell: ({ value }) => {
|
||||||
@@ -133,7 +171,7 @@ class ClientsTable extends Component {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Header: this.props.t('blocked_services'),
|
Header: t('blocked_services'),
|
||||||
accessor: 'blocked_services',
|
accessor: 'blocked_services',
|
||||||
minWidth: 180,
|
minWidth: 180,
|
||||||
Cell: (row) => {
|
Cell: (row) => {
|
||||||
@@ -143,25 +181,40 @@ class ClientsTable extends Component {
|
|||||||
return <Trans>settings_global</Trans>;
|
return <Trans>settings_global</Trans>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (value && services.allServices) {
|
||||||
|
return (
|
||||||
|
<div className="logs__row logs__row--icons">
|
||||||
|
{value.map((service) => {
|
||||||
|
const serviceInfo = getService(services.allServices, service);
|
||||||
|
|
||||||
|
if (serviceInfo?.icon_svg) {
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
key={serviceInfo.name}
|
||||||
|
dangerouslySetInnerHTML={{
|
||||||
|
__html: window.atob(serviceInfo.icon_svg),
|
||||||
|
}}
|
||||||
|
className="service__icon service__icon--table"
|
||||||
|
title={serviceInfo.name}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="logs__row logs__row--icons">
|
<div className="logs__row logs__row--icons">
|
||||||
{value && value.length > 0
|
–
|
||||||
? value.map((service) => (
|
|
||||||
<svg
|
|
||||||
className="service__icon service__icon--table"
|
|
||||||
title={service}
|
|
||||||
key={service}
|
|
||||||
>
|
|
||||||
<use xlinkHref={`#service_${service}`} />
|
|
||||||
</svg>
|
|
||||||
))
|
|
||||||
: '–'}
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Header: this.props.t('upstreams'),
|
Header: t('upstreams'),
|
||||||
accessor: 'upstreams',
|
accessor: 'upstreams',
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
Cell: ({ value }) => {
|
Cell: ({ value }) => {
|
||||||
@@ -179,7 +232,7 @@ class ClientsTable extends Component {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Header: this.props.t('tags_title'),
|
Header: t('tags_title'),
|
||||||
accessor: 'tags',
|
accessor: 'tags',
|
||||||
minWidth: 140,
|
minWidth: 140,
|
||||||
Cell: (row) => {
|
Cell: (row) => {
|
||||||
@@ -203,11 +256,11 @@ class ClientsTable extends Component {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Header: this.props.t('requests_count'),
|
Header: t('requests_count'),
|
||||||
id: 'statistics',
|
id: 'statistics',
|
||||||
accessor: (row) => countClientsStatistics(
|
accessor: (row) => countClientsStatistics(
|
||||||
row.ids,
|
row.ids,
|
||||||
this.props.normalizedTopClients.auto,
|
normalizedTopClients.auto,
|
||||||
),
|
),
|
||||||
sortMethod: (a, b) => b - a,
|
sortMethod: (a, b) => b - a,
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
@@ -222,16 +275,13 @@ class ClientsTable extends Component {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Header: this.props.t('actions_table_header'),
|
Header: t('actions_table_header'),
|
||||||
accessor: 'actions',
|
accessor: 'actions',
|
||||||
maxWidth: 100,
|
maxWidth: 100,
|
||||||
sortable: false,
|
sortable: false,
|
||||||
resizable: false,
|
resizable: false,
|
||||||
Cell: (row) => {
|
Cell: (row) => {
|
||||||
const clientName = row.original.name;
|
const clientName = row.original.name;
|
||||||
const {
|
|
||||||
toggleClientModal, processingDeleting, processingUpdating, t,
|
|
||||||
} = this.props;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="logs__row logs__row--center">
|
<div className="logs__row logs__row--center">
|
||||||
@@ -246,18 +296,18 @@ class ClientsTable extends Component {
|
|||||||
disabled={processingUpdating}
|
disabled={processingUpdating}
|
||||||
title={t('edit_table_action')}
|
title={t('edit_table_action')}
|
||||||
>
|
>
|
||||||
<svg className="icons">
|
<svg className="icons icon12">
|
||||||
<use xlinkHref="#edit" />
|
<use xlinkHref="#edit" />
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="btn btn-icon btn-outline-secondary btn-sm"
|
className="btn btn-icon btn-outline-secondary btn-sm"
|
||||||
onClick={() => this.handleDelete({ name: clientName })}
|
onClick={() => handleDelete({ name: clientName })}
|
||||||
disabled={processingDeleting}
|
disabled={processingDeleting}
|
||||||
title={t('delete_table_action')}
|
title={t('delete_table_action')}
|
||||||
>
|
>
|
||||||
<svg className="icons">
|
<svg className="icons icon12">
|
||||||
<use xlinkHref="#delete" />
|
<use xlinkHref="#delete" />
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
@@ -267,76 +317,61 @@ class ClientsTable extends Component {
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
render() {
|
const currentClientData = getClient(modalClientName, clients);
|
||||||
const {
|
const tagsOptions = getOptionsWithLabels(supportedTags);
|
||||||
t,
|
|
||||||
clients,
|
|
||||||
isModalOpen,
|
|
||||||
modalType,
|
|
||||||
modalClientName,
|
|
||||||
toggleClientModal,
|
|
||||||
processingAdding,
|
|
||||||
processingUpdating,
|
|
||||||
supportedTags,
|
|
||||||
} = this.props;
|
|
||||||
|
|
||||||
const currentClientData = this.getClient(modalClientName, clients);
|
return (
|
||||||
const tagsOptions = this.getOptionsWithLabels(supportedTags);
|
<Card
|
||||||
|
title={t('clients_title')}
|
||||||
return (
|
subtitle={t('clients_desc')}
|
||||||
<Card
|
bodyType="card-body box-body--settings"
|
||||||
title={t('clients_title')}
|
>
|
||||||
subtitle={t('clients_desc')}
|
<>
|
||||||
bodyType="card-body box-body--settings"
|
<ReactTable
|
||||||
>
|
data={clients || []}
|
||||||
<Fragment>
|
columns={columns}
|
||||||
<ReactTable
|
defaultSorted={[
|
||||||
data={clients || []}
|
{
|
||||||
columns={this.columns}
|
id: 'statistics',
|
||||||
defaultSorted={[
|
asc: true,
|
||||||
{
|
},
|
||||||
id: 'statistics',
|
]}
|
||||||
asc: true,
|
className="-striped -highlight card-table-overflow"
|
||||||
},
|
showPagination
|
||||||
]}
|
defaultPageSize={10}
|
||||||
className="-striped -highlight card-table-overflow"
|
minRows={5}
|
||||||
showPagination
|
ofText="/"
|
||||||
defaultPageSize={10}
|
previousText={t('previous_btn')}
|
||||||
minRows={5}
|
nextText={t('next_btn')}
|
||||||
ofText="/"
|
pageText={t('page_table_footer_text')}
|
||||||
previousText={t('previous_btn')}
|
rowsText={t('rows_table_footer_text')}
|
||||||
nextText={t('next_btn')}
|
loadingText={t('loading_table_status')}
|
||||||
pageText={t('page_table_footer_text')}
|
noDataText={t('clients_not_found')}
|
||||||
rowsText={t('rows_table_footer_text')}
|
/>
|
||||||
loadingText={t('loading_table_status')}
|
<button
|
||||||
noDataText={t('clients_not_found')}
|
type="button"
|
||||||
/>
|
className="btn btn-success btn-standard mt-3"
|
||||||
<button
|
onClick={() => toggleClientModal(MODAL_TYPE.ADD_FILTERS)}
|
||||||
type="button"
|
disabled={processingAdding}
|
||||||
className="btn btn-success btn-standard mt-3"
|
>
|
||||||
onClick={() => toggleClientModal(MODAL_TYPE.ADD_FILTERS)}
|
<Trans>client_add</Trans>
|
||||||
disabled={processingAdding}
|
</button>
|
||||||
>
|
<Modal
|
||||||
<Trans>client_add</Trans>
|
isModalOpen={isModalOpen}
|
||||||
</button>
|
modalType={modalType}
|
||||||
<Modal
|
toggleClientModal={toggleClientModal}
|
||||||
isModalOpen={isModalOpen}
|
currentClientData={currentClientData}
|
||||||
modalType={modalType}
|
handleSubmit={handleSubmit}
|
||||||
toggleClientModal={toggleClientModal}
|
processingAdding={processingAdding}
|
||||||
currentClientData={currentClientData}
|
processingUpdating={processingUpdating}
|
||||||
handleSubmit={this.handleSubmit}
|
tagsOptions={tagsOptions}
|
||||||
processingAdding={processingAdding}
|
/>
|
||||||
processingUpdating={processingUpdating}
|
</>
|
||||||
tagsOptions={tagsOptions}
|
</Card>
|
||||||
/>
|
);
|
||||||
</Fragment>
|
};
|
||||||
</Card>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ClientsTable.propTypes = {
|
ClientsTable.propTypes = {
|
||||||
t: PropTypes.func.isRequired,
|
|
||||||
clients: PropTypes.array.isRequired,
|
clients: PropTypes.array.isRequired,
|
||||||
normalizedTopClients: PropTypes.object.isRequired,
|
normalizedTopClients: PropTypes.object.isRequired,
|
||||||
toggleClientModal: PropTypes.func.isRequired,
|
toggleClientModal: PropTypes.func.isRequired,
|
||||||
@@ -353,4 +388,4 @@ ClientsTable.propTypes = {
|
|||||||
supportedTags: PropTypes.array.isRequired,
|
supportedTags: PropTypes.array.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default withTranslation()(ClientsTable);
|
export default ClientsTable;
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
export { default as ClientsTable } from './ClientsTable';
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import { connect } from 'react-redux';
|
import { connect, useSelector } from 'react-redux';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import {
|
import {
|
||||||
Field, FieldArray, reduxForm, formValueSelector,
|
Field, FieldArray, reduxForm, formValueSelector,
|
||||||
@@ -11,15 +11,16 @@ import Select from 'react-select';
|
|||||||
import i18n from '../../../i18n';
|
import i18n from '../../../i18n';
|
||||||
import Tabs from '../../ui/Tabs';
|
import Tabs from '../../ui/Tabs';
|
||||||
import Examples from '../Dns/Upstream/Examples';
|
import Examples from '../Dns/Upstream/Examples';
|
||||||
import { toggleAllServices } from '../../../helpers/helpers';
|
import { toggleAllServices, trimLinesAndRemoveEmpty, captitalizeWords } from '../../../helpers/helpers';
|
||||||
import {
|
import {
|
||||||
renderInputField,
|
renderInputField,
|
||||||
renderGroupField,
|
renderGroupField,
|
||||||
CheckboxField,
|
CheckboxField,
|
||||||
renderServiceField,
|
renderServiceField,
|
||||||
|
renderTextareaField,
|
||||||
} from '../../../helpers/form';
|
} from '../../../helpers/form';
|
||||||
import { validateClientId, validateRequiredValue } from '../../../helpers/validators';
|
import { validateClientId, validateRequiredValue } from '../../../helpers/validators';
|
||||||
import { CLIENT_ID_LINK, FORM_NAME, SERVICES } from '../../../helpers/constants';
|
import { CLIENT_ID_LINK, FORM_NAME } from '../../../helpers/constants';
|
||||||
import './Service.css';
|
import './Service.css';
|
||||||
|
|
||||||
const settingsCheckboxes = [
|
const settingsCheckboxes = [
|
||||||
@@ -39,9 +40,16 @@ const settingsCheckboxes = [
|
|||||||
name: 'parental_enabled',
|
name: 'parental_enabled',
|
||||||
placeholder: 'use_adguard_parental',
|
placeholder: 'use_adguard_parental',
|
||||||
},
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const logAndStatsCheckboxes = [
|
||||||
{
|
{
|
||||||
name: 'safesearch_enabled',
|
name: 'ignore_querylog',
|
||||||
placeholder: 'enforce_safe_search',
|
placeholder: 'ignore_query_log',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'ignore_statistics',
|
||||||
|
placeholder: 'ignore_statistics',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
const validate = (values) => {
|
const validate = (values) => {
|
||||||
@@ -138,7 +146,12 @@ let Form = (props) => {
|
|||||||
processingUpdating,
|
processingUpdating,
|
||||||
invalid,
|
invalid,
|
||||||
tagsOptions,
|
tagsOptions,
|
||||||
|
initialValues,
|
||||||
} = props;
|
} = props;
|
||||||
|
const services = useSelector((store) => store?.services);
|
||||||
|
const { safe_search } = initialValues;
|
||||||
|
const safeSearchServices = { ...safe_search };
|
||||||
|
delete safeSearchServices.enabled;
|
||||||
|
|
||||||
const [activeTabLabel, setActiveTabLabel] = useState('settings');
|
const [activeTabLabel, setActiveTabLabel] = useState('settings');
|
||||||
|
|
||||||
@@ -146,6 +159,9 @@ let Form = (props) => {
|
|||||||
settings: {
|
settings: {
|
||||||
title: 'settings',
|
title: 'settings',
|
||||||
component: <div label="settings" title={props.t('main_settings')}>
|
component: <div label="settings" title={props.t('main_settings')}>
|
||||||
|
<div className="form__label--bot form__label--bold">
|
||||||
|
{t('protection_section_label')}
|
||||||
|
</div>
|
||||||
{settingsCheckboxes.map((setting) => (
|
{settingsCheckboxes.map((setting) => (
|
||||||
<div className="form__group" key={setting.name}>
|
<div className="form__group" key={setting.name}>
|
||||||
<Field
|
<Field
|
||||||
@@ -161,6 +177,41 @@ let Form = (props) => {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
<div className="form__group">
|
||||||
|
<Field
|
||||||
|
name="safe_search.enabled"
|
||||||
|
type="checkbox"
|
||||||
|
component={CheckboxField}
|
||||||
|
placeholder={t('enforce_safe_search')}
|
||||||
|
disabled={useGlobalSettings}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className='form__group--inner'>
|
||||||
|
{Object.keys(safeSearchServices).map((searchKey) => (
|
||||||
|
<div key={searchKey}>
|
||||||
|
<Field
|
||||||
|
name={`safe_search.${searchKey}`}
|
||||||
|
type="checkbox"
|
||||||
|
component={CheckboxField}
|
||||||
|
placeholder={captitalizeWords(searchKey)}
|
||||||
|
disabled={useGlobalSettings}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
<div className="form__label--bold form__label--top form__label--bot">
|
||||||
|
{t('log_and_stats_section_label')}
|
||||||
|
</div>
|
||||||
|
{logAndStatsCheckboxes.map((setting) => (
|
||||||
|
<div className="form__group" key={setting.name}>
|
||||||
|
<Field
|
||||||
|
name={setting.name}
|
||||||
|
type="checkbox"
|
||||||
|
component={CheckboxField}
|
||||||
|
placeholder={t(setting.placeholder)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
</div>,
|
</div>,
|
||||||
},
|
},
|
||||||
block_services: {
|
block_services: {
|
||||||
@@ -180,7 +231,9 @@ let Form = (props) => {
|
|||||||
type="button"
|
type="button"
|
||||||
className="btn btn-secondary btn-block"
|
className="btn btn-secondary btn-block"
|
||||||
disabled={useGlobalServices}
|
disabled={useGlobalServices}
|
||||||
onClick={() => toggleAllServices(SERVICES, change, true)}
|
onClick={() => (
|
||||||
|
toggleAllServices(services.allServices, change, true)
|
||||||
|
)}
|
||||||
>
|
>
|
||||||
<Trans>block_all</Trans>
|
<Trans>block_all</Trans>
|
||||||
</button>
|
</button>
|
||||||
@@ -190,25 +243,29 @@ let Form = (props) => {
|
|||||||
type="button"
|
type="button"
|
||||||
className="btn btn-secondary btn-block"
|
className="btn btn-secondary btn-block"
|
||||||
disabled={useGlobalServices}
|
disabled={useGlobalServices}
|
||||||
onClick={() => toggleAllServices(SERVICES, change, false)}
|
onClick={() => (
|
||||||
|
toggleAllServices(services.allServices, change, false)
|
||||||
|
)}
|
||||||
>
|
>
|
||||||
<Trans>unblock_all</Trans>
|
<Trans>unblock_all</Trans>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="services">
|
{services.allServices.length > 0 && (
|
||||||
{SERVICES.map((service) => (
|
<div className="services">
|
||||||
<Field
|
{services.allServices.map((service) => (
|
||||||
key={service.id}
|
<Field
|
||||||
icon={`service_${service.id}`}
|
key={service.id}
|
||||||
name={`blocked_services.${service.id}`}
|
icon={service.icon_svg}
|
||||||
type="checkbox"
|
name={`blocked_services.${service.id}`}
|
||||||
component={renderServiceField}
|
type="checkbox"
|
||||||
placeholder={service.name}
|
component={renderServiceField}
|
||||||
disabled={useGlobalServices}
|
placeholder={service.name}
|
||||||
/>
|
disabled={useGlobalServices}
|
||||||
))}
|
/>
|
||||||
</div>
|
))}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>,
|
</div>,
|
||||||
},
|
},
|
||||||
@@ -223,10 +280,11 @@ let Form = (props) => {
|
|||||||
<Field
|
<Field
|
||||||
id="upstreams"
|
id="upstreams"
|
||||||
name="upstreams"
|
name="upstreams"
|
||||||
component="textarea"
|
component={renderTextareaField}
|
||||||
type="text"
|
type="text"
|
||||||
className="form-control form-control--textarea mb-5"
|
className="form-control form-control--textarea mb-5"
|
||||||
placeholder={t('upstream_dns')}
|
placeholder={t('upstream_dns')}
|
||||||
|
normalizeOnBlur={trimLinesAndRemoveEmpty}
|
||||||
/>
|
/>
|
||||||
<Examples />
|
<Examples />
|
||||||
</div>,
|
</div>,
|
||||||
@@ -349,6 +407,7 @@ Form.propTypes = {
|
|||||||
processingUpdating: PropTypes.bool.isRequired,
|
processingUpdating: PropTypes.bool.isRequired,
|
||||||
invalid: PropTypes.bool.isRequired,
|
invalid: PropTypes.bool.isRequired,
|
||||||
tagsOptions: PropTypes.array.isRequired,
|
tagsOptions: PropTypes.array.isRequired,
|
||||||
|
initialValues: PropTypes.object,
|
||||||
};
|
};
|
||||||
|
|
||||||
const selector = formValueSelector(FORM_NAME.CLIENT);
|
const selector = formValueSelector(FORM_NAME.CLIENT);
|
||||||
|
|||||||
@@ -4,11 +4,17 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
padding: 10px 15px;
|
padding: 10px 15px;
|
||||||
border: 1px solid #eee;
|
border: 1px solid var(--card-border-color);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.service__text {
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
.services {
|
.services {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -48,6 +54,12 @@
|
|||||||
color: #495057;
|
color: #495057;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.service__icon svg {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
fill: #495057;
|
||||||
|
}
|
||||||
|
|
||||||
.service--global .service__icon {
|
.service--global .service__icon {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React, { Component, Fragment } from 'react';
|
|||||||
import { withTranslation } from 'react-i18next';
|
import { withTranslation } from 'react-i18next';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import ClientsTable from './ClientsTable';
|
import { ClientsTable } from './ClientsTable';
|
||||||
import AutoClients from './AutoClients';
|
import AutoClients from './AutoClients';
|
||||||
import PageTitle from '../../ui/PageTitle';
|
import PageTitle from '../../ui/PageTitle';
|
||||||
import Loading from '../../ui/Loading';
|
import Loading from '../../ui/Loading';
|
||||||
|
|||||||
@@ -74,7 +74,6 @@ const FormDHCPv4 = ({
|
|||||||
className="form-control"
|
className="form-control"
|
||||||
placeholder={t(ipv4placeholders.subnet_mask)}
|
placeholder={t(ipv4placeholders.subnet_mask)}
|
||||||
validate={[
|
validate={[
|
||||||
validateIpv4,
|
|
||||||
validateRequired,
|
validateRequired,
|
||||||
validateGatewaySubnetMask,
|
validateGatewaySubnetMask,
|
||||||
]}
|
]}
|
||||||
@@ -97,7 +96,6 @@ const FormDHCPv4 = ({
|
|||||||
placeholder={t(ipv4placeholders.range_start)}
|
placeholder={t(ipv4placeholders.range_start)}
|
||||||
validate={[
|
validate={[
|
||||||
validateIpv4,
|
validateIpv4,
|
||||||
validateGatewaySubnetMask,
|
|
||||||
validateIpForGatewaySubnetMask,
|
validateIpForGatewaySubnetMask,
|
||||||
]}
|
]}
|
||||||
disabled={!isInterfaceIncludesIpv4}
|
disabled={!isInterfaceIncludesIpv4}
|
||||||
@@ -113,7 +111,6 @@ const FormDHCPv4 = ({
|
|||||||
validate={[
|
validate={[
|
||||||
validateIpv4,
|
validateIpv4,
|
||||||
validateIpv4RangeEnd,
|
validateIpv4RangeEnd,
|
||||||
validateGatewaySubnetMask,
|
|
||||||
validateIpForGatewaySubnetMask,
|
validateIpForGatewaySubnetMask,
|
||||||
]}
|
]}
|
||||||
disabled={!isInterfaceIncludesIpv4}
|
disabled={!isInterfaceIncludesIpv4}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
|
import { connect } from 'react-redux';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import ReactTable from 'react-table';
|
import ReactTable from 'react-table';
|
||||||
import { Trans, withTranslation } from 'react-i18next';
|
import { Trans, withTranslation } from 'react-i18next';
|
||||||
import { LEASES_TABLE_DEFAULT_PAGE_SIZE } from '../../../helpers/constants';
|
import { LEASES_TABLE_DEFAULT_PAGE_SIZE } from '../../../helpers/constants';
|
||||||
import { sortIp } from '../../../helpers/helpers';
|
import { sortIp } from '../../../helpers/helpers';
|
||||||
|
import { toggleLeaseModal } from '../../../actions';
|
||||||
|
|
||||||
class Leases extends Component {
|
class Leases extends Component {
|
||||||
cellWrap = ({ value }) => (
|
cellWrap = ({ value }) => (
|
||||||
@@ -14,6 +16,30 @@ class Leases extends Component {
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
convertToStatic = (data) => () => {
|
||||||
|
const { dispatch } = this.props;
|
||||||
|
dispatch(toggleLeaseModal(data));
|
||||||
|
}
|
||||||
|
|
||||||
|
makeStatic = ({ row }) => {
|
||||||
|
const { t, disabledLeasesButton } = this.props;
|
||||||
|
return (
|
||||||
|
<div className="logs__row logs__row--center">
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
className="btn btn-icon btn-icon--green btn-outline-secondary btn-sm"
|
||||||
|
title={t('make_static')}
|
||||||
|
onClick={this.convertToStatic(row)}
|
||||||
|
disabled={disabledLeasesButton}
|
||||||
|
>
|
||||||
|
<svg className="icons icon12">
|
||||||
|
<use xlinkHref="#plus" />
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { leases, t } = this.props;
|
const { leases, t } = this.props;
|
||||||
return (
|
return (
|
||||||
@@ -23,20 +49,27 @@ class Leases extends Component {
|
|||||||
{
|
{
|
||||||
Header: 'MAC',
|
Header: 'MAC',
|
||||||
accessor: 'mac',
|
accessor: 'mac',
|
||||||
|
minWidth: 180,
|
||||||
Cell: this.cellWrap,
|
Cell: this.cellWrap,
|
||||||
}, {
|
}, {
|
||||||
Header: 'IP',
|
Header: 'IP',
|
||||||
accessor: 'ip',
|
accessor: 'ip',
|
||||||
|
minWidth: 230,
|
||||||
Cell: this.cellWrap,
|
Cell: this.cellWrap,
|
||||||
sortMethod: sortIp,
|
sortMethod: sortIp,
|
||||||
}, {
|
}, {
|
||||||
Header: <Trans>dhcp_table_hostname</Trans>,
|
Header: <Trans>dhcp_table_hostname</Trans>,
|
||||||
accessor: 'hostname',
|
accessor: 'hostname',
|
||||||
|
minWidth: 230,
|
||||||
Cell: this.cellWrap,
|
Cell: this.cellWrap,
|
||||||
}, {
|
}, {
|
||||||
Header: <Trans>dhcp_table_expires</Trans>,
|
Header: <Trans>dhcp_table_expires</Trans>,
|
||||||
accessor: 'expires',
|
accessor: 'expires',
|
||||||
|
minWidth: 220,
|
||||||
Cell: this.cellWrap,
|
Cell: this.cellWrap,
|
||||||
|
}, {
|
||||||
|
Header: <Trans>actions_table_header</Trans>,
|
||||||
|
Cell: this.makeStatic,
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
pageSize={LEASES_TABLE_DEFAULT_PAGE_SIZE}
|
pageSize={LEASES_TABLE_DEFAULT_PAGE_SIZE}
|
||||||
@@ -53,6 +86,8 @@ class Leases extends Component {
|
|||||||
Leases.propTypes = {
|
Leases.propTypes = {
|
||||||
leases: PropTypes.array,
|
leases: PropTypes.array,
|
||||||
t: PropTypes.func,
|
t: PropTypes.func,
|
||||||
|
dispatch: PropTypes.func,
|
||||||
|
disabledLeasesButton: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default withTranslation()(Leases);
|
export default withTranslation()(connect(() => ({}), (dispatch) => ({ dispatch }))(Leases));
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React from 'react';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { Field, reduxForm } from 'redux-form';
|
import { Field, reduxForm } from 'redux-form';
|
||||||
import { Trans, useTranslation } from 'react-i18next';
|
import { Trans, useTranslation } from 'react-i18next';
|
||||||
import { useDispatch } from 'react-redux';
|
import { useDispatch, useSelector, shallowEqual } from 'react-redux';
|
||||||
|
|
||||||
import { renderInputField, normalizeMac } from '../../../../helpers/form';
|
import { renderInputField, normalizeMac } from '../../../../helpers/form';
|
||||||
import {
|
import {
|
||||||
@@ -25,6 +25,7 @@ const Form = ({
|
|||||||
}) => {
|
}) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
|
const dynamicLease = useSelector((store) => store.dhcp.leaseModalConfig, shallowEqual);
|
||||||
|
|
||||||
const onClick = () => {
|
const onClick = () => {
|
||||||
reset();
|
reset();
|
||||||
@@ -87,7 +88,7 @@ const Form = ({
|
|||||||
<button
|
<button
|
||||||
type="submit"
|
type="submit"
|
||||||
className="btn btn-success btn-standard"
|
className="btn btn-success btn-standard"
|
||||||
disabled={submitting || pristine || processingAdding}
|
disabled={submitting || processingAdding || (pristine && !dynamicLease)}
|
||||||
>
|
>
|
||||||
<Trans>save_btn</Trans>
|
<Trans>save_btn</Trans>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React from 'react';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { Trans, withTranslation } from 'react-i18next';
|
import { Trans, withTranslation } from 'react-i18next';
|
||||||
import ReactModal from 'react-modal';
|
import ReactModal from 'react-modal';
|
||||||
import { useDispatch } from 'react-redux';
|
import { shallowEqual, useDispatch, useSelector } from 'react-redux';
|
||||||
import Form from './Form';
|
import Form from './Form';
|
||||||
import { toggleLeaseModal } from '../../../../actions';
|
import { toggleLeaseModal } from '../../../../actions';
|
||||||
|
|
||||||
@@ -18,6 +18,9 @@ const Modal = ({
|
|||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
|
|
||||||
const toggleModal = () => dispatch(toggleLeaseModal());
|
const toggleModal = () => dispatch(toggleLeaseModal());
|
||||||
|
const leaseInitialData = useSelector(
|
||||||
|
(state) => state.dhcp.leaseModalConfig, shallowEqual,
|
||||||
|
) || {};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ReactModal
|
<ReactModal
|
||||||
@@ -37,9 +40,9 @@ const Modal = ({
|
|||||||
</div>
|
</div>
|
||||||
<Form
|
<Form
|
||||||
initialValues={{
|
initialValues={{
|
||||||
mac: '',
|
mac: leaseInitialData.mac ?? '',
|
||||||
ip: '',
|
ip: leaseInitialData.ip ?? '',
|
||||||
hostname: '',
|
hostname: leaseInitialData.hostname ?? '',
|
||||||
cidr,
|
cidr,
|
||||||
rangeStart,
|
rangeStart,
|
||||||
rangeEnd,
|
rangeEnd,
|
||||||
|
|||||||
@@ -54,17 +54,20 @@ const StaticLeases = ({
|
|||||||
{
|
{
|
||||||
Header: 'MAC',
|
Header: 'MAC',
|
||||||
accessor: 'mac',
|
accessor: 'mac',
|
||||||
|
minWidth: 180,
|
||||||
Cell: cellWrap,
|
Cell: cellWrap,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Header: 'IP',
|
Header: 'IP',
|
||||||
accessor: 'ip',
|
accessor: 'ip',
|
||||||
|
minWidth: 230,
|
||||||
sortMethod: sortIp,
|
sortMethod: sortIp,
|
||||||
Cell: cellWrap,
|
Cell: cellWrap,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Header: <Trans>dhcp_table_hostname</Trans>,
|
Header: <Trans>dhcp_table_hostname</Trans>,
|
||||||
accessor: 'hostname',
|
accessor: 'hostname',
|
||||||
|
minWidth: 230,
|
||||||
Cell: cellWrap,
|
Cell: cellWrap,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -188,8 +188,8 @@ const Dhcp = () => {
|
|||||||
|
|
||||||
const inputtedIPv4values = dhcp?.values?.v4?.gateway_ip && dhcp?.values?.v4?.subnet_mask;
|
const inputtedIPv4values = dhcp?.values?.v4?.gateway_ip && dhcp?.values?.v4?.subnet_mask;
|
||||||
const isEmptyConfig = !Object.values(dhcp?.values?.v4 ?? {}).some(Boolean);
|
const isEmptyConfig = !Object.values(dhcp?.values?.v4 ?? {}).some(Boolean);
|
||||||
const disabledLeasesButton = dhcp?.syncErrors || interfaces?.syncErrors
|
const disabledLeasesButton = Boolean(dhcp?.syncErrors || interfaces?.syncErrors
|
||||||
|| !isInterfaceIncludesIpv4 || isEmptyConfig || processingConfig || !inputtedIPv4values;
|
|| !isInterfaceIncludesIpv4 || isEmptyConfig || processingConfig || !inputtedIPv4values);
|
||||||
const cidr = inputtedIPv4values ? `${dhcp?.values?.v4?.gateway_ip}/${subnetMaskToBitMask(dhcp?.values?.v4?.subnet_mask)}` : '';
|
const cidr = inputtedIPv4values ? `${dhcp?.values?.v4?.gateway_ip}/${subnetMaskToBitMask(dhcp?.values?.v4?.subnet_mask)}` : '';
|
||||||
|
|
||||||
return <>
|
return <>
|
||||||
@@ -260,7 +260,7 @@ const Dhcp = () => {
|
|||||||
>
|
>
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col">
|
<div className="col">
|
||||||
<Leases leases={leases} />
|
<Leases leases={leases} disabledLeasesButton={disabledLeasesButton}/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Card>}
|
</Card>}
|
||||||
|
|||||||
@@ -2,10 +2,12 @@ import React from 'react';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { Field, reduxForm } from 'redux-form';
|
import { Field, reduxForm } from 'redux-form';
|
||||||
import { Trans, useTranslation } from 'react-i18next';
|
import { Trans, useTranslation } from 'react-i18next';
|
||||||
import { shallowEqual, useSelector } from 'react-redux';
|
import { shallowEqual, useDispatch, useSelector } from 'react-redux';
|
||||||
|
|
||||||
import { renderInputField, toNumber, CheckboxField } from '../../../../helpers/form';
|
import { renderInputField, toNumber, CheckboxField } from '../../../../helpers/form';
|
||||||
import { CACHE_CONFIG_FIELDS, FORM_NAME, UINT32_RANGE } from '../../../../helpers/constants';
|
import { CACHE_CONFIG_FIELDS, FORM_NAME, UINT32_RANGE } from '../../../../helpers/constants';
|
||||||
import { replaceZeroWithEmptyString } from '../../../../helpers/helpers';
|
import { replaceZeroWithEmptyString } from '../../../../helpers/helpers';
|
||||||
|
import { clearDnsCache } from '../../../../actions/dnsConfig';
|
||||||
|
|
||||||
const INPUTS_FIELDS = [
|
const INPUTS_FIELDS = [
|
||||||
{
|
{
|
||||||
@@ -32,6 +34,7 @@ const Form = ({
|
|||||||
handleSubmit, submitting, invalid,
|
handleSubmit, submitting, invalid,
|
||||||
}) => {
|
}) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
const dispatch = useDispatch();
|
||||||
|
|
||||||
const { processingSetConfig } = useSelector((state) => state.dnsConfig, shallowEqual);
|
const { processingSetConfig } = useSelector((state) => state.dnsConfig, shallowEqual);
|
||||||
const {
|
const {
|
||||||
@@ -40,6 +43,12 @@ const Form = ({
|
|||||||
|
|
||||||
const minExceedsMax = cache_ttl_min > cache_ttl_max;
|
const minExceedsMax = cache_ttl_min > cache_ttl_max;
|
||||||
|
|
||||||
|
const handleClearCache = () => {
|
||||||
|
if (window.confirm(t('confirm_dns_cache_clear'))) {
|
||||||
|
dispatch(clearDnsCache());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return <form onSubmit={handleSubmit}>
|
return <form onSubmit={handleSubmit}>
|
||||||
<div className="row">
|
<div className="row">
|
||||||
{INPUTS_FIELDS.map(({
|
{INPUTS_FIELDS.map(({
|
||||||
@@ -97,6 +106,13 @@ const Form = ({
|
|||||||
>
|
>
|
||||||
<Trans>save_btn</Trans>
|
<Trans>save_btn</Trans>
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
className="btn btn-outline-secondary btn-standard form__button"
|
||||||
|
onClick={handleClearCache}
|
||||||
|
>
|
||||||
|
<Trans>clear_cache</Trans>
|
||||||
|
</button>
|
||||||
</form>;
|
</form>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -13,15 +13,11 @@ import {
|
|||||||
validateIpv4,
|
validateIpv4,
|
||||||
validateIpv6,
|
validateIpv6,
|
||||||
validateRequiredValue,
|
validateRequiredValue,
|
||||||
|
validateIp,
|
||||||
} from '../../../../helpers/validators';
|
} from '../../../../helpers/validators';
|
||||||
import { BLOCKING_MODES, FORM_NAME, UINT32_RANGE } from '../../../../helpers/constants';
|
import { BLOCKING_MODES, FORM_NAME, UINT32_RANGE } from '../../../../helpers/constants';
|
||||||
|
|
||||||
const checkboxes = [
|
const checkboxes = [
|
||||||
{
|
|
||||||
name: 'edns_cs_enabled',
|
|
||||||
placeholder: 'edns_enable',
|
|
||||||
subtitle: 'edns_cs_desc',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: 'dnssec_enabled',
|
name: 'dnssec_enabled',
|
||||||
placeholder: 'dnssec_enable',
|
placeholder: 'dnssec_enable',
|
||||||
@@ -66,6 +62,8 @@ const Form = ({
|
|||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const {
|
const {
|
||||||
blocking_mode,
|
blocking_mode,
|
||||||
|
edns_cs_enabled,
|
||||||
|
edns_cs_use_custom,
|
||||||
} = useSelector((state) => state.form[FORM_NAME.BLOCKING_MODE].values ?? {}, shallowEqual);
|
} = useSelector((state) => state.form[FORM_NAME.BLOCKING_MODE].values ?? {}, shallowEqual);
|
||||||
|
|
||||||
return <form onSubmit={handleSubmit}>
|
return <form onSubmit={handleSubmit}>
|
||||||
@@ -92,6 +90,39 @@ const Form = ({
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="col-12">
|
||||||
|
<div className="form__group form__group--settings">
|
||||||
|
<Field
|
||||||
|
name="edns_cs_enabled"
|
||||||
|
type="checkbox"
|
||||||
|
component={CheckboxField}
|
||||||
|
placeholder={t('edns_enable')}
|
||||||
|
disabled={processing}
|
||||||
|
subtitle={t('edns_cs_desc')}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="col-12 form__group form__group--inner">
|
||||||
|
<div className="form__group ">
|
||||||
|
<Field
|
||||||
|
name="edns_cs_use_custom"
|
||||||
|
type="checkbox"
|
||||||
|
component={CheckboxField}
|
||||||
|
placeholder={t('edns_use_custom_ip')}
|
||||||
|
disabled={processing || !edns_cs_enabled}
|
||||||
|
subtitle={t('edns_use_custom_ip_desc')}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{edns_cs_use_custom && (<Field
|
||||||
|
name="edns_cs_custom_ip"
|
||||||
|
component={renderInputField}
|
||||||
|
className="form-control"
|
||||||
|
placeholder={t('form_enter_ip')}
|
||||||
|
validate={[validateIp, validateRequiredValue]}
|
||||||
|
/>)}
|
||||||
|
|
||||||
|
</div>
|
||||||
{checkboxes.map(({ name, placeholder, subtitle }) => <div className="col-12" key={name}>
|
{checkboxes.map(({ name, placeholder, subtitle }) => <div className="col-12" key={name}>
|
||||||
<div className="form__group form__group--settings">
|
<div className="form__group form__group--settings">
|
||||||
<Field
|
<Field
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ const Config = () => {
|
|||||||
blocking_ipv4,
|
blocking_ipv4,
|
||||||
blocking_ipv6,
|
blocking_ipv6,
|
||||||
edns_cs_enabled,
|
edns_cs_enabled,
|
||||||
|
edns_cs_use_custom,
|
||||||
|
edns_cs_custom_ip,
|
||||||
dnssec_enabled,
|
dnssec_enabled,
|
||||||
disable_ipv6,
|
disable_ipv6,
|
||||||
processingSetConfig,
|
processingSetConfig,
|
||||||
@@ -39,6 +41,8 @@ const Config = () => {
|
|||||||
edns_cs_enabled,
|
edns_cs_enabled,
|
||||||
disable_ipv6,
|
disable_ipv6,
|
||||||
dnssec_enabled,
|
dnssec_enabled,
|
||||||
|
edns_cs_use_custom,
|
||||||
|
edns_cs_custom_ip,
|
||||||
}}
|
}}
|
||||||
onSubmit={handleFormSubmit}
|
onSubmit={handleFormSubmit}
|
||||||
processing={processingSetConfig}
|
processing={processingSetConfig}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user