Compare commits
738 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ddb9a2e872 | ||
|
|
cfdfd250a0 | ||
|
|
cb01d05ef4 | ||
|
|
c7e7b76cec | ||
|
|
f5128d27f1 | ||
|
|
005f8fb279 | ||
|
|
244fe093cd | ||
|
|
ff9d1c234c | ||
|
|
1c9d3acaa8 | ||
|
|
0dab36a108 | ||
|
|
611ed94884 | ||
|
|
22935c5fed | ||
|
|
4a8dcbeeed | ||
|
|
1ab650bb86 | ||
|
|
4743743b1f | ||
|
|
dd2c9d96e7 | ||
|
|
946bda37a3 | ||
|
|
ad4e85d8f5 | ||
|
|
4b9ab97271 | ||
|
|
d2bf1e176e | ||
|
|
ffeb88ac0c | ||
|
|
c71b8d3ad2 | ||
|
|
01957bf503 | ||
|
|
1e5419714d | ||
|
|
4f4a688ee6 | ||
|
|
ccf5494f67 | ||
|
|
f2edcca54b | ||
|
|
b4aa791513 | ||
|
|
6d5d183311 | ||
|
|
e3ea2528be | ||
|
|
117ec4dd43 | ||
|
|
0cc0aec5b3 | ||
|
|
3c53a2162c | ||
|
|
1bb183c2aa | ||
|
|
62ccd3fb41 | ||
|
|
a409cdc2bb | ||
|
|
e0aa24e2b7 | ||
|
|
0662769696 | ||
|
|
dc237f10a8 | ||
|
|
4fef0c32cb | ||
|
|
c131ac445a | ||
|
|
87789679f5 | ||
|
|
793194db67 | ||
|
|
4175d82279 | ||
|
|
c1e56c837b | ||
|
|
7d2c7a61f1 | ||
|
|
d794b11e7a | ||
|
|
82858474a5 | ||
|
|
4df02714fd | ||
|
|
1bce871fcb | ||
|
|
2d7be0a1e0 | ||
|
|
177404d157 | ||
|
|
e46db985e8 | ||
|
|
38366ba801 | ||
|
|
a32c1f2ee0 | ||
|
|
95f4128551 | ||
|
|
61981a927b | ||
|
|
54693bb158 | ||
|
|
d38b58cd85 | ||
|
|
b9fca8d0a9 | ||
|
|
da4a1ec23d | ||
|
|
8a417604a9 | ||
|
|
2759d81afe | ||
|
|
44aad1515a | ||
|
|
af5cb5aa5d | ||
|
|
a33164bf18 | ||
|
|
c2642cc58e | ||
|
|
6811d6207a | ||
|
|
1fe568b842 | ||
|
|
f6217e602b | ||
|
|
fdf608904d | ||
|
|
ab401cabe2 | ||
|
|
0be0299135 | ||
|
|
dc5c89795b | ||
|
|
db0283098c | ||
|
|
2bbffffcfc | ||
|
|
632a47d56f | ||
|
|
ff23d7b6d7 | ||
|
|
304a51f17e | ||
|
|
5d08e08a7a | ||
|
|
49646cf706 | ||
|
|
36f3218b1c | ||
|
|
036ab4128d | ||
|
|
4f8138bdce | ||
|
|
73c5d9eaef | ||
|
|
32610840f9 | ||
|
|
2f76f5d048 | ||
|
|
7dd3d944e8 | ||
|
|
48f40d5f01 | ||
|
|
4303b3dd2f | ||
|
|
dab0a9d87a | ||
|
|
6b134469d4 | ||
|
|
0c4905fa2b | ||
|
|
5980db1a2d | ||
|
|
c12309a1b2 | ||
|
|
2d5287fcf3 | ||
|
|
21dfb5ffe8 | ||
|
|
9df7aba9e1 | ||
|
|
9640752d20 | ||
|
|
f5a1f31103 | ||
|
|
205680b71b | ||
|
|
72ce5f57c1 | ||
|
|
250b254c33 | ||
|
|
da6cd57587 | ||
|
|
25a14e98ab | ||
|
|
da5467903e | ||
|
|
4b2c33d12e | ||
|
|
e38a1a5833 | ||
|
|
0297c12911 | ||
|
|
5e0fe8ba3f | ||
|
|
8863e61e8e | ||
|
|
7a77dadab0 | ||
|
|
4f295d41e8 | ||
|
|
7d93457154 | ||
|
|
7b2cc51e35 | ||
|
|
b43223d302 | ||
|
|
6693de9e8e | ||
|
|
890876cb05 | ||
|
|
0ee3505e1f | ||
|
|
49a92605b8 | ||
|
|
caf78ae3a0 | ||
|
|
679b79a89d | ||
|
|
2c47053cfe | ||
|
|
aa7b3c33d5 | ||
|
|
15db9e9c1d | ||
|
|
19c013378d | ||
|
|
7e7103dc08 | ||
|
|
ec6e0bea07 | ||
|
|
523aeb5c98 | ||
|
|
e39fe1b913 | ||
|
|
b1c951fb2c | ||
|
|
4870da7f94 | ||
|
|
a5c0381c46 | ||
|
|
ec6ca93acd | ||
|
|
59c4a2886a | ||
|
|
bbc4eda39e | ||
|
|
15e714350c | ||
|
|
b6052a4cd1 | ||
|
|
5a93c1fb59 | ||
|
|
973c609a85 | ||
|
|
6a0194c7a1 | ||
|
|
d1472afb96 | ||
|
|
1356ac2633 | ||
|
|
cf087fb8ff | ||
|
|
a79dda5566 | ||
|
|
a869ec4cbb | ||
|
|
dae275e6f9 | ||
|
|
c842a68a1b | ||
|
|
4a81abb922 | ||
|
|
5ce98bd2a4 | ||
|
|
539ccb2bf0 | ||
|
|
1b5fb97a02 | ||
|
|
0d343abec0 | ||
|
|
e23b79dda0 | ||
|
|
2ecd38544a | ||
|
|
eac1b80930 | ||
|
|
9a030aa99f | ||
|
|
bb016f07c6 | ||
|
|
67dacdf8ae | ||
|
|
262bcd847f | ||
|
|
620f5c22c7 | ||
|
|
b8032801a2 | ||
|
|
dddcbe77e2 | ||
|
|
72f253f62b | ||
|
|
bccb939346 | ||
|
|
78648649fe | ||
|
|
d971bb9957 | ||
|
|
0904eeffa8 | ||
|
|
83b9b70166 | ||
|
|
0adbce5d38 | ||
|
|
0500aa9591 | ||
|
|
32d1f385ff | ||
|
|
391e619979 | ||
|
|
5c2ca69018 | ||
|
|
355e634f64 | ||
|
|
ee690e3e32 | ||
|
|
16a6aada6f | ||
|
|
605d2ae4d3 | ||
|
|
1d75b2a57f | ||
|
|
ab6be6980a | ||
|
|
8c5a3c55ab | ||
|
|
2825691c85 | ||
|
|
61a24ffc71 | ||
|
|
ceedc2d1ff | ||
|
|
118b170210 | ||
|
|
383507bc0c | ||
|
|
2f5073b720 | ||
|
|
2303bb253a | ||
|
|
2a2b7c6eb5 | ||
|
|
b050165566 | ||
|
|
31fff2ab2e | ||
|
|
6f3cd4e7eb | ||
|
|
8b25a4886e | ||
|
|
8d91e042cc | ||
|
|
53277ee70b | ||
|
|
0848ca0e69 | ||
|
|
b5e78c760a | ||
|
|
653d68718b | ||
|
|
2d1cba67dc | ||
|
|
806f81ede9 | ||
|
|
2f454117ce | ||
|
|
286eb43c56 | ||
|
|
2fca419c7f | ||
|
|
6adf48c938 | ||
|
|
bab7b2dc65 | ||
|
|
332ef250b7 | ||
|
|
3b258e536b | ||
|
|
35a6708ccf | ||
|
|
c64fdf9442 | ||
|
|
502fe3cfc5 | ||
|
|
df1f7ebc8d | ||
|
|
fb79416ebe | ||
|
|
39420c8a00 | ||
|
|
b8567c5b56 | ||
|
|
5d7b3fb7d5 | ||
|
|
5b7871b6b8 | ||
|
|
11d65330a0 | ||
|
|
5f13d4ab4a | ||
|
|
ae51de9335 | ||
|
|
26ac9e4224 | ||
|
|
67a39045fc | ||
|
|
1f954ab673 | ||
|
|
4d66d25fda | ||
|
|
ead5a16b2a | ||
|
|
a09e59a59d | ||
|
|
8d66ede894 | ||
|
|
408a8dea44 | ||
|
|
5df42378d0 | ||
|
|
5ace7894f8 | ||
|
|
cd87169ee4 | ||
|
|
8909599739 | ||
|
|
0311e53ebb | ||
|
|
e95c4f799b | ||
|
|
6d136ee2cb | ||
|
|
b034e25b26 | ||
|
|
8aad02dbf2 | ||
|
|
0a0c82d227 | ||
|
|
694e649355 | ||
|
|
8f77a89fce | ||
|
|
efd2b31104 | ||
|
|
f250fc16a2 | ||
|
|
89920bc518 | ||
|
|
a702eda9d9 | ||
|
|
efc69047a1 | ||
|
|
2837502a7b | ||
|
|
ab1ab30e6f | ||
|
|
b33653ec48 | ||
|
|
c0ebf9e793 | ||
|
|
14ffd1a3f5 | ||
|
|
26f78dcc65 | ||
|
|
08b033dd04 | ||
|
|
cd15bb5cce | ||
|
|
80c3112ab3 | ||
|
|
3b0914715e | ||
|
|
d01407c1a0 | ||
|
|
e24143a196 | ||
|
|
8ab6fa3300 | ||
|
|
8ad9422a48 | ||
|
|
95c5bd35c5 | ||
|
|
9ce2a66c0e | ||
|
|
44353821e6 | ||
|
|
2191c49161 | ||
|
|
c7a2cbe04e | ||
|
|
b5d437c92a | ||
|
|
490784c285 | ||
|
|
25361836bf | ||
|
|
314a0ca27b | ||
|
|
4d73a0148e | ||
|
|
4889f2d00a | ||
|
|
63d525c4d4 | ||
|
|
1041aa8aff | ||
|
|
e2ee2d48df | ||
|
|
4153d973ec | ||
|
|
0ffc0965dc | ||
|
|
e2ddc82d70 | ||
|
|
8170955a07 | ||
|
|
054980bc8b | ||
|
|
47160c16d9 | ||
|
|
daf9af9a22 | ||
|
|
9671050e5b | ||
|
|
093617e6bd | ||
|
|
3ae6043748 | ||
|
|
3fdd3f7cec | ||
|
|
0cb876a71c | ||
|
|
7f224658e0 | ||
|
|
9b7c118103 | ||
|
|
93a597fce4 | ||
|
|
037bf43b40 | ||
|
|
e24e5741fe | ||
|
|
96bee3955c | ||
|
|
158f5e854d | ||
|
|
1a1c09135d | ||
|
|
215e3eeaf6 | ||
|
|
6503bab1aa | ||
|
|
af34500729 | ||
|
|
1a34b96d03 | ||
|
|
4bdf22eadc | ||
|
|
e96fd6e42d | ||
|
|
4b57776976 | ||
|
|
b9b42997af | ||
|
|
344a0336b0 | ||
|
|
814a1f6cb3 | ||
|
|
6cdc59db26 | ||
|
|
ca418de16f | ||
|
|
8d9f68b778 | ||
|
|
102da17f9c | ||
|
|
f59667cef0 | ||
|
|
6f1fe89bd7 | ||
|
|
1739d7975f | ||
|
|
81309c707a | ||
|
|
fcaed16638 | ||
|
|
f61bab5e59 | ||
|
|
321b1a7e9c | ||
|
|
af2adc5b33 | ||
|
|
8911a38f43 | ||
|
|
92376690a4 | ||
|
|
b8d868efe4 | ||
|
|
683121ef90 | ||
|
|
421ad744cb | ||
|
|
d2b58c81f3 | ||
|
|
f2ba8c6657 | ||
|
|
33195b9155 | ||
|
|
e215e92159 | ||
|
|
fc03ca4bb8 | ||
|
|
bcbffd90be | ||
|
|
c7f8f20aad | ||
|
|
2f9bc13ffd | ||
|
|
ea38612a1d | ||
|
|
6690441240 | ||
|
|
31b55028d5 | ||
|
|
e9c94a8c33 | ||
|
|
f0b6340e4f | ||
|
|
a4aa3426d3 | ||
|
|
d0d481dd0e | ||
|
|
39447649d6 | ||
|
|
fe056cfaf0 | ||
|
|
1376d66acb | ||
|
|
59b3a5bc6f | ||
|
|
2b1919137d | ||
|
|
105e2dd1ee | ||
|
|
4370490138 | ||
|
|
6ea93d0b8e | ||
|
|
8f00e1ca5e | ||
|
|
0d66451084 | ||
|
|
8c74f983d1 | ||
|
|
1fa6d74862 | ||
|
|
7b8588afa4 | ||
|
|
d5b826e12f | ||
|
|
e84c753357 | ||
|
|
ed0f457b7d | ||
|
|
c73dd5577f | ||
|
|
7c19221241 | ||
|
|
c16dc6cf62 | ||
|
|
06b3378fd7 | ||
|
|
69e88cf17d | ||
|
|
c8285c41d7 | ||
|
|
63923fa882 | ||
|
|
5fe984741e | ||
|
|
a0be7f5566 | ||
|
|
2e845e4f4d | ||
|
|
a5b9d1d74c | ||
|
|
c5a39b942f | ||
|
|
bebd43923b | ||
|
|
6eadca25d1 | ||
|
|
72c20acb86 | ||
|
|
79bfa6a72b | ||
|
|
a5c2cdaf38 | ||
|
|
7ff743ab32 | ||
|
|
3303d77dad | ||
|
|
58f1831032 | ||
|
|
4dba20941d | ||
|
|
360ee3e392 | ||
|
|
32baa907b6 | ||
|
|
dd7d9dc334 | ||
|
|
db30f27c8f | ||
|
|
8e4bc29103 | ||
|
|
0789e4b20d | ||
|
|
e8129f15c7 | ||
|
|
c77907694d | ||
|
|
fa2f793ac7 | ||
|
|
e5db33705d | ||
|
|
bc9bccc669 | ||
|
|
646725efb7 | ||
|
|
a93652b1c0 | ||
|
|
5f328d20ca | ||
|
|
0e030154ee | ||
|
|
1000aef1d2 | ||
|
|
b345595dbf | ||
|
|
88853b76d9 | ||
|
|
dfa278b845 | ||
|
|
480c6ac753 | ||
|
|
fa07809189 | ||
|
|
7e2ef01039 | ||
|
|
2c50787aa9 | ||
|
|
2e054b6732 | ||
|
|
b600d7b09d | ||
|
|
229d040ee2 | ||
|
|
36ba8380de | ||
|
|
579177fc70 | ||
|
|
5dc7b848df | ||
|
|
01d9078107 | ||
|
|
f5658af484 | ||
|
|
c54fb9a96b | ||
|
|
140d5553e7 | ||
|
|
80df44b316 | ||
|
|
897ff436b1 | ||
|
|
90b25300df | ||
|
|
263a7ca6be | ||
|
|
f84331abde | ||
|
|
d839136fee | ||
|
|
82aa38fce3 | ||
|
|
df427b6822 | ||
|
|
9d8a95f836 | ||
|
|
87c0410914 | ||
|
|
696a6df6ba | ||
|
|
90f2c18353 | ||
|
|
712023112d | ||
|
|
67dc7d7d88 | ||
|
|
34e1147de3 | ||
|
|
9d5f201ddf | ||
|
|
9a81451586 | ||
|
|
d8f8e6b94a | ||
|
|
7a3eda02ce | ||
|
|
57466233cb | ||
|
|
2df5f281c4 | ||
|
|
867bf5457f | ||
|
|
b4649a6b27 | ||
|
|
c27852537d | ||
|
|
f61d5f0f85 | ||
|
|
7afa16fbe7 | ||
|
|
019bff0851 | ||
|
|
df487cbc07 | ||
|
|
61d8ec8dae | ||
|
|
194bed72f5 | ||
|
|
9359f6b55f | ||
|
|
ae2990582d | ||
|
|
d8d48c5386 | ||
|
|
c5ca2a779c | ||
|
|
8d039c572f | ||
|
|
26c47e59dd | ||
|
|
cb12babc46 | ||
|
|
d9001ff848 | ||
|
|
1d213d53c8 | ||
|
|
808618602c | ||
|
|
fc88f59f61 | ||
|
|
54c285001d | ||
|
|
6c18b71010 | ||
|
|
a5c2ad1b2f | ||
|
|
d4069f824a | ||
|
|
ee5456cf8c | ||
|
|
8330f40d51 | ||
|
|
d062acc149 | ||
|
|
8406d7d288 | ||
|
|
d633e45a06 | ||
|
|
4d55f51fee | ||
|
|
2151563757 | ||
|
|
f3b41efff3 | ||
|
|
fb476b0117 | ||
|
|
84b5708e71 | ||
|
|
143a86a28a | ||
|
|
e528522ad5 | ||
|
|
f91cbea9d5 | ||
|
|
8575042c23 | ||
|
|
56f4daeb68 | ||
|
|
eb075198c2 | ||
|
|
cc2d953c9d | ||
|
|
5c385521c4 | ||
|
|
207e0236f7 | ||
|
|
1a88a63415 | ||
|
|
be93dc3482 | ||
|
|
6faf2ce931 | ||
|
|
5c814b29e1 | ||
|
|
76be272787 | ||
|
|
327030789d | ||
|
|
e27cbdf81b | ||
|
|
8ec7c37715 | ||
|
|
0d7c01d50f | ||
|
|
dd37c9651a | ||
|
|
dcc575402b | ||
|
|
5e9c21b0a7 | ||
|
|
26f69e7126 | ||
|
|
f2591e1d8a | ||
|
|
106a7a6017 | ||
|
|
67956597be | ||
|
|
b519c3a83f | ||
|
|
91c2712366 | ||
|
|
bd6431bc29 | ||
|
|
02d30388e5 | ||
|
|
bfd1f3b650 | ||
|
|
56b0dba148 | ||
|
|
ac156b9612 | ||
|
|
ce7f1e231b | ||
|
|
447080b422 | ||
|
|
080e1dd74e | ||
|
|
b5f95fefc8 | ||
|
|
b3bca39de4 | ||
|
|
0b8cba7384 | ||
|
|
e9dea459dd | ||
|
|
3f7e2f7241 | ||
|
|
e7e946faa6 | ||
|
|
b01af453cc | ||
|
|
8daca1a55a | ||
|
|
07ebcc2bf3 | ||
|
|
1b1338fed6 | ||
|
|
3166607540 | ||
|
|
1947f1232e | ||
|
|
af7b9523b5 | ||
|
|
7812ee1861 | ||
|
|
a3020275a2 | ||
|
|
2bc2b342eb | ||
|
|
e5a1026de1 | ||
|
|
749dc30064 | ||
|
|
0ffe53405d | ||
|
|
d31e997041 | ||
|
|
254cab3a23 | ||
|
|
6563886b49 | ||
|
|
a6d7511806 | ||
|
|
e398117d25 | ||
|
|
2c6e3d0e91 | ||
|
|
9b0096dd9d | ||
|
|
7ef2a66011 | ||
|
|
e2f9e29817 | ||
|
|
b046da5db3 | ||
|
|
5773df6f6c | ||
|
|
387ac00edf | ||
|
|
8e30c69e4a | ||
|
|
eb6c4eb132 | ||
|
|
d154502b31 | ||
|
|
47631105c7 | ||
|
|
108cf73a30 | ||
|
|
c23c323b1a | ||
|
|
2d4a73bbcf | ||
|
|
b91753e746 | ||
|
|
7ac5760509 | ||
|
|
e667ec1b60 | ||
|
|
392535ce3a | ||
|
|
fb8d23f51b | ||
|
|
86df748209 | ||
|
|
ba04b38a5f | ||
|
|
600781bb80 | ||
|
|
318ed0dafb | ||
|
|
3b9d758510 | ||
|
|
0ef8e5cdae | ||
|
|
b3ddae7f85 | ||
|
|
995373c74b | ||
|
|
87bcb67f8f | ||
|
|
688a5d84c8 | ||
|
|
0cd25cf598 | ||
|
|
84b11ff7a5 | ||
|
|
1792fd3e0f | ||
|
|
d309a7e33c | ||
|
|
e28fdd37cd | ||
|
|
358a36b138 | ||
|
|
d4789c5d93 | ||
|
|
8d2a9ce923 | ||
|
|
29998a8959 | ||
|
|
4386e8ddde | ||
|
|
94d86eee10 | ||
|
|
d0eb5695df | ||
|
|
4808b33c01 | ||
|
|
b4220722a0 | ||
|
|
5556e34e7e | ||
|
|
1800c65836 | ||
|
|
d8f37093ae | ||
|
|
4aaa006c41 | ||
|
|
1e36deeeda | ||
|
|
dfe47ab33b | ||
|
|
670810c433 | ||
|
|
3a077717ae | ||
|
|
cdd55139fa | ||
|
|
3dd91cf179 | ||
|
|
6bf512f96f | ||
|
|
9b93d43ac6 | ||
|
|
ec7a62e123 | ||
|
|
b4f4111609 | ||
|
|
7c0cf641db | ||
|
|
87a82f5e60 | ||
|
|
abbf8fb87b | ||
|
|
c5537968b1 | ||
|
|
5077f1a2b3 | ||
|
|
482e9fd6f3 | ||
|
|
5ba45b91c9 | ||
|
|
c9478592a2 | ||
|
|
8685584bf5 | ||
|
|
ca79fc98f5 | ||
|
|
28096d6966 | ||
|
|
2e493e0226 | ||
|
|
cddf3ca01e | ||
|
|
24e8ef6b32 | ||
|
|
ceab5d4c41 | ||
|
|
91c3149ee2 | ||
|
|
57c031c1c6 | ||
|
|
ec8fe0b40c | ||
|
|
32f780366e | ||
|
|
041ea65d14 | ||
|
|
d65cdd4544 | ||
|
|
cde15afd90 | ||
|
|
00fabb0ecf | ||
|
|
0736435376 | ||
|
|
f6976f3c7e | ||
|
|
4540a4e94a | ||
|
|
c2f1b2d8f5 | ||
|
|
bf410c81ae | ||
|
|
60cbb93488 | ||
|
|
b54bf94697 | ||
|
|
7fade498b9 | ||
|
|
39640d8190 | ||
|
|
242e5e136f | ||
|
|
b9c0b55356 | ||
|
|
b105f20837 | ||
|
|
8521635f63 | ||
|
|
04de9d0f7b | ||
|
|
6a2430b799 | ||
|
|
d9ee9b88d6 | ||
|
|
864c91e524 | ||
|
|
b00a789ca3 | ||
|
|
42790bf083 | ||
|
|
4942d0c39f | ||
|
|
af7f51d9b9 | ||
|
|
3d280c5d92 | ||
|
|
c8c76ae12b | ||
|
|
aa202277fb | ||
|
|
9cc09274f1 | ||
|
|
ef57f7e192 | ||
|
|
000e842f7b | ||
|
|
e85fdd7f09 | ||
|
|
8c8deb3d3d | ||
|
|
c9ccc53282 | ||
|
|
daf17f16f2 | ||
|
|
0a66913b4d | ||
|
|
fe357d04f7 | ||
|
|
1e429df3bc | ||
|
|
2b14a043a9 | ||
|
|
97e77cab64 | ||
|
|
19a94bf789 | ||
|
|
197d07f32b | ||
|
|
87bb773d3e | ||
|
|
3b13c031a3 | ||
|
|
1b3122dd35 | ||
|
|
4f4da3397c | ||
|
|
26ccee47b5 | ||
|
|
92141e03c4 | ||
|
|
289c6f8c73 | ||
|
|
40763c903b | ||
|
|
d1c47c0dbb | ||
|
|
4f0975bab5 | ||
|
|
9fd27b9add | ||
|
|
6684a120ac | ||
|
|
72ec4d7d7e | ||
|
|
7313c3bc53 | ||
|
|
b6b26c0681 | ||
|
|
56a0c9684b | ||
|
|
47cc025504 | ||
|
|
89cc1715d9 | ||
|
|
8dbdf49c32 | ||
|
|
906f26d7d2 | ||
|
|
07a9c3bd45 | ||
|
|
8cb4d128f5 | ||
|
|
7c0b2d8ede | ||
|
|
e8885dbf3e | ||
|
|
e7727e9f63 | ||
|
|
4d7984cb8b | ||
|
|
acd8da6f0a | ||
|
|
48c70aefaa | ||
|
|
7e45c2fc24 | ||
|
|
82d0c3047b | ||
|
|
d6d0d53761 | ||
|
|
31ffae7717 | ||
|
|
f579c23bc9 | ||
|
|
9b8cccdfcf | ||
|
|
8bf75b54a4 | ||
|
|
19a1c03d3b | ||
|
|
7bb32eae3d | ||
|
|
73d17ffa81 | ||
|
|
9c2e5c3f51 | ||
|
|
a692616981 | ||
|
|
e9cb8666ce | ||
|
|
90ce70225f | ||
|
|
a4dedacf43 | ||
|
|
df92941ae0 | ||
|
|
477a4bbf54 | ||
|
|
149fcc0f2d | ||
|
|
127a68a39f | ||
|
|
f8202a74bd | ||
|
|
a6d6e9ec9e | ||
|
|
fd26af2677 | ||
|
|
1fc70cbc08 | ||
|
|
317a9cc49e | ||
|
|
71ce0c6da9 | ||
|
|
db703283ba | ||
|
|
49e800727b | ||
|
|
d26fed1901 | ||
|
|
f446186db1 | ||
|
|
4751528d69 | ||
|
|
48c0b487e3 | ||
|
|
7a665ff8f0 | ||
|
|
38c7e732a6 | ||
|
|
bdffd8534c | ||
|
|
757e41ce53 | ||
|
|
f19d8c24c3 | ||
|
|
e0be4e8801 | ||
|
|
713613e3b8 | ||
|
|
af3096e23b | ||
|
|
b3614ba62f | ||
|
|
a0fe1e84c0 | ||
|
|
2e5264652e | ||
|
|
a31116635e | ||
|
|
dc2c68b1e4 | ||
|
|
305df63054 | ||
|
|
a78156a7cb | ||
|
|
9675b3776e | ||
|
|
0a09c7eb4d | ||
|
|
6fdffc1203 | ||
|
|
36636867e1 | ||
|
|
c93cdd106e | ||
|
|
ee41c18d53 | ||
|
|
7c81efcbcb | ||
|
|
81e8bbe63c | ||
|
|
0b7ac93076 | ||
|
|
15f6334748 | ||
|
|
044a457579 | ||
|
|
79ea15dce1 | ||
|
|
ca6048f667 | ||
|
|
fa45f8a256 | ||
|
|
e7cf8f222d | ||
|
|
2b0ababdc9 | ||
|
|
d4a3a01f30 | ||
|
|
1b7ef0e4f4 | ||
|
|
b03b36e47e | ||
|
|
c9a6e4e018 | ||
|
|
b1c7497d05 | ||
|
|
c49f62cfe6 | ||
|
|
d468daac76 | ||
|
|
4a59d5a116 | ||
|
|
7c10cefdf9 | ||
|
|
dbf7a083cb | ||
|
|
fab63f167a | ||
|
|
7f69848084 |
40
.dockerignore
Normal file
40
.dockerignore
Normal file
@@ -0,0 +1,40 @@
|
||||
.DS_Store
|
||||
/.git
|
||||
/.github
|
||||
/.vscode
|
||||
.idea
|
||||
/AdGuardHome
|
||||
/AdGuardHome.exe
|
||||
/AdGuardHome.yaml
|
||||
/AdGuardHome.log
|
||||
/data
|
||||
/build
|
||||
/dist
|
||||
/client/node_modules
|
||||
/.gitattributes
|
||||
/.gitignore
|
||||
/.goreleaser.yml
|
||||
/changelog.config.js
|
||||
/coverage.txt
|
||||
/Dockerfile
|
||||
/LICENSE.txt
|
||||
/Makefile
|
||||
/querylog.json
|
||||
/querylog.json.1
|
||||
/*.md
|
||||
|
||||
# Test output
|
||||
dnsfilter/tests/top-1m.csv
|
||||
dnsfilter/tests/dnsfilter.TestLotsOfRules*.pprof
|
||||
|
||||
# Snapcraft build temporary files
|
||||
*.snap
|
||||
launchpad_credentials
|
||||
snapcraft_login
|
||||
snapcraft.yaml.bak
|
||||
|
||||
# IntelliJ IDEA project files
|
||||
*.iml
|
||||
|
||||
# Packr
|
||||
*-packr.go
|
||||
12
.githooks/pre-commit
Executable file
12
.githooks/pre-commit
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
set -e;
|
||||
git diff --cached --name-only | grep -q '.js$' && make lint-js;
|
||||
|
||||
found=0
|
||||
git diff --cached --name-only | grep -q '.go$' && found=1
|
||||
if [ $found == 1 ]; then
|
||||
make lint-go || exit 1
|
||||
go test ./... || exit 1
|
||||
fi
|
||||
|
||||
exit 0;
|
||||
172
.github/workflows/build.yml
vendored
Normal file
172
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,172 @@
|
||||
name: build
|
||||
|
||||
env:
|
||||
GO_VERSION: 1.14
|
||||
NODE_VERSION: 13
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '*'
|
||||
tags:
|
||||
- v*
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
|
||||
test:
|
||||
runs-on: ${{ matrix.os }}
|
||||
env:
|
||||
GO111MODULE: on
|
||||
GOPROXY: https://goproxy.io
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-latest
|
||||
- macOS-latest
|
||||
- windows-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
-
|
||||
name: Set up Go
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
-
|
||||
name: Set up Node
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
-
|
||||
name: Set up Go modules cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-go-
|
||||
-
|
||||
name: Get npm cache directory
|
||||
id: npm-cache
|
||||
run: |
|
||||
echo "::set-output name=dir::$(npm config get cache)"
|
||||
-
|
||||
name: Set up npm cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ steps.npm-cache.outputs.dir }}
|
||||
key: ${{ runner.os }}-node-${{ hashFiles('client/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-node-
|
||||
-
|
||||
name: Run make ci
|
||||
shell: bash
|
||||
run: |
|
||||
make ci
|
||||
-
|
||||
name: Upload coverage
|
||||
uses: codecov/codecov-action@v1
|
||||
if: success() && matrix.os == 'ubuntu-latest'
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
file: ./coverage.txt
|
||||
|
||||
app:
|
||||
runs-on: ubuntu-latest
|
||||
needs: test
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
-
|
||||
name: Set up Go
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
-
|
||||
name: Set up Node
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
-
|
||||
name: Set up Go modules cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-go-
|
||||
-
|
||||
name: Get npm cache directory
|
||||
id: npm-cache
|
||||
run: |
|
||||
echo "::set-output name=dir::$(npm config get cache)"
|
||||
-
|
||||
name: Set up node_modules cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ steps.npm-cache.outputs.dir }}
|
||||
key: ${{ runner.os }}-node-${{ hashFiles('client/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-node-
|
||||
-
|
||||
name: Set up Snapcraft
|
||||
run: |
|
||||
sudo apt-get -yq --no-install-suggests --no-install-recommends install snapcraft
|
||||
-
|
||||
name: Set up GoReleaser
|
||||
run: |
|
||||
curl -sfL https://install.goreleaser.com/github.com/goreleaser/goreleaser.sh | BINDIR="$(go env GOPATH)/bin" sh
|
||||
-
|
||||
name: Run snapshot build
|
||||
run: |
|
||||
make release
|
||||
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
needs: test
|
||||
steps:
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: crazy-max/ghaction-docker-buildx@v1
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
-
|
||||
name: Docker Buildx (build)
|
||||
run: |
|
||||
make docker-multi-arch
|
||||
-
|
||||
name: Clear
|
||||
if: always() && startsWith(github.ref, 'refs/tags/v')
|
||||
run: |
|
||||
rm -f ${HOME}/.docker/config.json
|
||||
|
||||
notify:
|
||||
needs: [app, docker]
|
||||
# Secrets are not passed to workflows that are triggered by a pull request from a fork
|
||||
if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Conclusion
|
||||
uses: technote-space/workflow-conclusion-action@v1
|
||||
-
|
||||
name: Send Slack notif
|
||||
uses: 8398a7/action-slack@v3
|
||||
with:
|
||||
status: ${{ env.WORKFLOW_CONCLUSION }}
|
||||
fields: repo,message,commit,author
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
47
.github/workflows/lint.yml
vendored
Normal file
47
.github/workflows/lint.yml
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
name: golangci-lint
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
branches:
|
||||
- '*'
|
||||
pull_request:
|
||||
jobs:
|
||||
golangci:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: golangci-lint
|
||||
uses: golangci/golangci-lint-action@v1
|
||||
with:
|
||||
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
|
||||
version: v1.27
|
||||
|
||||
eslint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install modules
|
||||
run: npm --prefix client ci
|
||||
- name: Run ESLint
|
||||
run: npm --prefix client run lint
|
||||
|
||||
|
||||
notify:
|
||||
needs: [golangci,eslint]
|
||||
# Secrets are not passed to workflows that are triggered by a pull request from a fork
|
||||
if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Conclusion
|
||||
uses: technote-space/workflow-conclusion-action@v1
|
||||
-
|
||||
name: Send Slack notif
|
||||
uses: 8398a7/action-slack@v3
|
||||
with:
|
||||
status: ${{ env.WORKFLOW_CONCLUSION }}
|
||||
fields: repo,message,commit,author
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
15
.gitignore
vendored
15
.gitignore
vendored
@@ -1,6 +1,6 @@
|
||||
.DS_Store
|
||||
/.vscode
|
||||
/.idea
|
||||
.idea
|
||||
/AdGuardHome
|
||||
/AdGuardHome.exe
|
||||
/AdGuardHome.yaml
|
||||
@@ -11,9 +11,20 @@
|
||||
/client/node_modules/
|
||||
/querylog.json
|
||||
/querylog.json.1
|
||||
/a_main-packr.go
|
||||
coverage.txt
|
||||
|
||||
# Test output
|
||||
dnsfilter/tests/top-1m.csv
|
||||
dnsfilter/tests/dnsfilter.TestLotsOfRules*.pprof
|
||||
|
||||
# Snapcraft build temporary files
|
||||
*.snap
|
||||
launchpad_credentials
|
||||
snapcraft_login
|
||||
snapcraft.yaml.bak
|
||||
|
||||
# IntelliJ IDEA project files
|
||||
*.iml
|
||||
|
||||
# Packr
|
||||
*-packr.go
|
||||
|
||||
@@ -13,7 +13,11 @@ run:
|
||||
skip-files:
|
||||
- ".*generated.*"
|
||||
- dnsfilter/rule_to_regexp.go
|
||||
- util/pprof.go
|
||||
- ".*_test.go"
|
||||
- client/.*
|
||||
- build/.*
|
||||
- dist/.*
|
||||
|
||||
|
||||
# all available settings of specific linters
|
||||
@@ -29,19 +33,26 @@ linters-settings:
|
||||
line-length: 200
|
||||
|
||||
linters:
|
||||
enable-all: true
|
||||
disable:
|
||||
- interfacer
|
||||
- gocritic
|
||||
- scopelint
|
||||
- gochecknoglobals
|
||||
- gochecknoinits
|
||||
- prealloc
|
||||
- maligned
|
||||
- godox
|
||||
- funlen
|
||||
- whitespace
|
||||
- goconst # disabled until it's possible to configure
|
||||
enable:
|
||||
- deadcode
|
||||
- errcheck
|
||||
- govet
|
||||
- ineffassign
|
||||
- staticcheck
|
||||
- structcheck
|
||||
- unused
|
||||
- varcheck
|
||||
- bodyclose
|
||||
- depguard
|
||||
- dupl
|
||||
- gocyclo
|
||||
- goimports
|
||||
- golint
|
||||
- gosec
|
||||
- misspell
|
||||
- stylecheck
|
||||
- unconvert
|
||||
disable-all: true
|
||||
fast: true
|
||||
|
||||
issues:
|
||||
@@ -57,4 +68,12 @@ issues:
|
||||
- Error return value of .s.closeConn. is not checked
|
||||
- Error return value of ..*.Shutdown.
|
||||
# goconst
|
||||
- string .forcesafesearch.google.com. has 3 occurrences
|
||||
- string .forcesafesearch.google.com. has 3 occurrences
|
||||
# gosec: Profiling endpoint is automatically exposed on /debug/pprof
|
||||
- G108
|
||||
# gosec: Subprocess launched with function call as argument or cmd arguments
|
||||
- G204
|
||||
# gosec: Potential DoS vulnerability via decompression bomb
|
||||
- G110
|
||||
# gosec: Expect WriteFile permissions to be 0600 or less
|
||||
- G306
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
{
|
||||
"Vendor": true,
|
||||
"Test": true,
|
||||
"Deadline": "2m",
|
||||
"Sort": ["linter", "severity", "path", "line"],
|
||||
"Exclude": [
|
||||
".*generated.*",
|
||||
"dnsfilter/rule_to_regexp.go"
|
||||
],
|
||||
"EnableGC": true,
|
||||
"Linters": {
|
||||
"nakedret": {
|
||||
"Command": "nakedret",
|
||||
"Pattern": "^(?P<path>.*?\\.go):(?P<line>\\d+)\\s*(?P<message>.*)$"
|
||||
}
|
||||
},
|
||||
"WarnUnmatchedDirective": true,
|
||||
|
||||
"EnableAll": true,
|
||||
"DisableAll": false,
|
||||
"Disable": [
|
||||
"maligned",
|
||||
"goconst",
|
||||
"vetshadow"
|
||||
],
|
||||
|
||||
"Cyclo": 20,
|
||||
"LineLength": 200
|
||||
}
|
||||
100
.goreleaser.yml
Normal file
100
.goreleaser.yml
Normal file
@@ -0,0 +1,100 @@
|
||||
project_name: AdGuardHome
|
||||
|
||||
env:
|
||||
- GO111MODULE=on
|
||||
- GOPROXY=https://goproxy.io
|
||||
|
||||
before:
|
||||
hooks:
|
||||
- go mod download
|
||||
- go generate ./...
|
||||
|
||||
builds:
|
||||
- main: ./main.go
|
||||
ldflags:
|
||||
- -s -w -X main.version={{.Version}} -X main.channel={{.Env.CHANNEL}} -X main.goarm={{.Env.GOARM}}
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
goos:
|
||||
- darwin
|
||||
- linux
|
||||
- freebsd
|
||||
- windows
|
||||
goarch:
|
||||
- 386
|
||||
- amd64
|
||||
- arm
|
||||
- arm64
|
||||
- mips
|
||||
- mipsle
|
||||
- mips64
|
||||
- mips64le
|
||||
goarm:
|
||||
- 5
|
||||
- 6
|
||||
- 7
|
||||
gomips:
|
||||
- softfloat
|
||||
ignore:
|
||||
- goos: freebsd
|
||||
goarch: mips
|
||||
- goos: freebsd
|
||||
goarch: mipsle
|
||||
|
||||
archives:
|
||||
- # Archive name template.
|
||||
# Defaults:
|
||||
# - if format is `tar.gz`, `tar.xz`, `gz` or `zip`:
|
||||
# - `{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}`
|
||||
# - if format is `binary`:
|
||||
# - `{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}`
|
||||
name_template: "{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}"
|
||||
wrap_in_directory: "AdGuardHome"
|
||||
format_overrides:
|
||||
- goos: windows
|
||||
format: zip
|
||||
- goos: darwin
|
||||
format: zip
|
||||
files:
|
||||
- LICENSE.txt
|
||||
- README.md
|
||||
|
||||
snapcrafts:
|
||||
- name: adguard-home
|
||||
base: core18
|
||||
name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
|
||||
summary: Network-wide ads & trackers blocking DNS server
|
||||
description: |
|
||||
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 -- both share a lot
|
||||
of common code.
|
||||
grade: stable
|
||||
confinement: strict
|
||||
publish: false
|
||||
license: GPL-3.0
|
||||
extra_files:
|
||||
- source: scripts/snap/local/adguard-home-web.sh
|
||||
destination: adguard-home-web.sh
|
||||
mode: 0755
|
||||
- source: scripts/snap/gui/adguard-home-web.desktop
|
||||
destination: meta/gui/adguard-home-web.desktop
|
||||
mode: 0644
|
||||
- source: scripts/snap/gui/adguard-home-web.png
|
||||
destination: meta/gui/adguard-home-web.png
|
||||
mode: 0644
|
||||
apps:
|
||||
adguard-home:
|
||||
command: AdGuardHome -w $SNAP_DATA --no-check-update
|
||||
plugs: [ network-bind ]
|
||||
daemon: simple
|
||||
adguard-home-web:
|
||||
command: adguard-home-web.sh
|
||||
plugs: [ desktop ]
|
||||
|
||||
checksum:
|
||||
name_template: 'checksums.txt'
|
||||
78
.travis.yml
78
.travis.yml
@@ -1,78 +0,0 @@
|
||||
language: go
|
||||
sudo: false
|
||||
|
||||
go:
|
||||
- 1.12.x
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
before_install:
|
||||
- nvm install node
|
||||
- npm install -g npm
|
||||
- curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.19.1
|
||||
|
||||
install:
|
||||
- npm --prefix client install
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.cache/go-build
|
||||
- $HOME/gopath/pkg/mod
|
||||
- $HOME/Library/Caches/go-build
|
||||
|
||||
script:
|
||||
- /bin/bash ci.sh
|
||||
|
||||
after_success:
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
|
||||
notifications:
|
||||
slack: performix:yXTihlSzsLFSZiqbXMNzvTSX
|
||||
|
||||
matrix:
|
||||
include:
|
||||
# Release build configuration
|
||||
- name: release
|
||||
go:
|
||||
- 1.12.x
|
||||
os:
|
||||
- linux
|
||||
|
||||
script:
|
||||
- node -v
|
||||
- npm -v
|
||||
# Run tests just in case
|
||||
- go test -race -v -bench=. ./...
|
||||
# Prepare releases
|
||||
- ./release.sh
|
||||
- ls -l dist
|
||||
|
||||
deploy:
|
||||
provider: releases
|
||||
api_key: $GITHUB_TOKEN
|
||||
file:
|
||||
- dist/AdGuardHome_*
|
||||
on:
|
||||
repo: AdguardTeam/AdGuardHome
|
||||
tags: true
|
||||
draft: true
|
||||
file_glob: true
|
||||
skip_cleanup: true
|
||||
|
||||
- name: docker
|
||||
if: type != pull_request AND (branch = master OR tag IS present)
|
||||
go:
|
||||
- 1.12.x
|
||||
os:
|
||||
- linux
|
||||
services:
|
||||
- docker
|
||||
before_script:
|
||||
- nvm install node
|
||||
- npm install -g npm
|
||||
script:
|
||||
- docker login -u="$DOCKER_USER" -p="$DOCKER_PASSWORD"
|
||||
- ./build_docker.sh
|
||||
after_script:
|
||||
- docker images
|
||||
12
.twosky.json
12
.twosky.json
@@ -10,23 +10,29 @@
|
||||
"en": "English",
|
||||
"es": "Español",
|
||||
"fr": "Français",
|
||||
"hr": "Hrvatski",
|
||||
"id": "Indonesian",
|
||||
"it": "Italiano",
|
||||
"no": "Norsk",
|
||||
"pl": "Polski",
|
||||
"pt-br": "Portuguese (BR)",
|
||||
"pt-pt": "Portuguese (PT)",
|
||||
"pt-br": "Português (BR)",
|
||||
"pt-pt": "Português (PT)",
|
||||
"ro": "Română",
|
||||
"sk": "Slovenčina",
|
||||
"sl": "Slovenščina",
|
||||
"sr-cs": "Srpski",
|
||||
"sv": "Svenska",
|
||||
"vi": "Tiếng Việt",
|
||||
"tr": "Türkçe",
|
||||
"cs": "Český",
|
||||
"bg": "Български",
|
||||
"ru": "Русский",
|
||||
"fa": "فارسی",
|
||||
"ja": "日本語",
|
||||
"zh-tw": "正體中文",
|
||||
"zh-cn": "简体中文",
|
||||
"ko": "한국어"
|
||||
"ko": "한국어",
|
||||
"th": "ภาษาไทย"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
525
AGHTechDoc.md
525
AGHTechDoc.md
@@ -21,12 +21,17 @@ Contents:
|
||||
* Add client
|
||||
* Update client
|
||||
* Delete client
|
||||
* API: Find clients by IP
|
||||
* Enable DHCP server
|
||||
* "Show DHCP status" command
|
||||
* "Check DHCP" command
|
||||
* "Enable DHCP" command
|
||||
* Static IP check/set
|
||||
* Add a static lease
|
||||
* API: Reset DHCP configuration
|
||||
* DNS general settings
|
||||
* API: Get DNS general settings
|
||||
* API: Set DNS general settings
|
||||
* DNS access settings
|
||||
* List access settings
|
||||
* Set access settings
|
||||
@@ -50,7 +55,11 @@ Contents:
|
||||
* Filters update mechanism
|
||||
* API: Get filtering parameters
|
||||
* API: Set filtering parameters
|
||||
* API: Refresh filters
|
||||
* API: Add Filter
|
||||
* API: Set URL parameters
|
||||
* API: Delete URL
|
||||
* API: Domain Check
|
||||
* Log-in page
|
||||
* API: Log in
|
||||
* API: Log out
|
||||
@@ -59,8 +68,7 @@ Contents:
|
||||
|
||||
## Relations between subsystems
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
## First startup
|
||||
@@ -132,10 +140,13 @@ Request:
|
||||
{
|
||||
"web":{"port":80,"ip":"192.168.11.33"},
|
||||
"dns":{"port":53,"ip":"127.0.0.1","autofix":false},
|
||||
"set_static_ip": true | false
|
||||
}
|
||||
|
||||
Server should check whether a port is available only in case it itself isn't already listening on that port.
|
||||
|
||||
If `set_static_ip` is `true`, Server attempts to set a static IP for the network interface chosen by `dns.ip` setting. If the operation is successful, `static_ip.static` setting will be `yes`. If it fails, `static_ip.static` setting will be set to `error` and `static_ip.error` will contain the error message.
|
||||
|
||||
Server replies on success:
|
||||
|
||||
200 OK
|
||||
@@ -143,7 +154,14 @@ Server replies on success:
|
||||
{
|
||||
"web":{"status":""},
|
||||
"dns":{"status":""},
|
||||
"static_ip": {
|
||||
"static": "yes|no|error",
|
||||
"ip": "<Current dynamic IP address>", // set if static=no
|
||||
"error": "..." // set if static=error
|
||||
}
|
||||
}
|
||||
|
||||
If `static_ip.static` is `no`, Server has detected that the system uses a dynamic address and it can automatically set a static address if `set_static_ip` in request is `true`. See section `Static IP check/set` for detailed process.
|
||||
|
||||
Server replies on error:
|
||||
|
||||
@@ -166,7 +184,11 @@ Request:
|
||||
POST /control/install/check_config
|
||||
|
||||
{
|
||||
"dns":{"port":53,"ip":"127.0.0.1","autofix":false}
|
||||
"dns":{
|
||||
"port":53,
|
||||
"ip":"127.0.0.1",
|
||||
"autofix":false
|
||||
}
|
||||
}
|
||||
|
||||
Check if DNSStubListener is enabled:
|
||||
@@ -197,9 +219,21 @@ If user clicks on "Fix" button, UI sends request to perform an automatic fix
|
||||
"dns":{"port":53,"ip":"127.0.0.1","autofix":true},
|
||||
}
|
||||
|
||||
Deactivate (save backup as `resolved.conf.orig`) and stop DNSStubListener:
|
||||
Deactivate DNSStubListener and update DNS server address. Create a new file: `/etc/systemd/resolved.conf.d/adguardhome.conf` (create a `/etc/systemd/resolved.conf.d` directory if necessary):
|
||||
|
||||
[Resolve]
|
||||
DNS=127.0.0.1
|
||||
DNSStubListener=no
|
||||
|
||||
Specifying "127.0.0.1" as DNS server address is necessry because otherwise the nameserver will be "127.0.0.53" which doesn't work without DNSStubListener.
|
||||
|
||||
Activate another resolv.conf file:
|
||||
|
||||
mv /etc/resolv.conf /etc/resolv.conf.backup
|
||||
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
|
||||
|
||||
Stop DNSStubListener:
|
||||
|
||||
sed -r -i.orig 's/#?DNSStubListener=yes/DNSStubListener=no/g' /etc/systemd/resolved.conf
|
||||
systemctl reload-or-restart systemd-resolved
|
||||
|
||||
Server replies:
|
||||
@@ -310,10 +344,14 @@ Response:
|
||||
|
||||
If `can_autoupdate` is true, then the server can automatically upgrade to a new version.
|
||||
|
||||
Response with empty body:
|
||||
Response when auto-update is disabled by command-line argument:
|
||||
|
||||
200 OK
|
||||
|
||||
{
|
||||
"disabled":true
|
||||
}
|
||||
|
||||
It means that update check is disabled by user. UI should do nothing.
|
||||
|
||||
|
||||
@@ -481,13 +519,7 @@ which will print:
|
||||
default via 192.168.0.1 proto dhcp metric 100
|
||||
|
||||
|
||||
#### Phase 2
|
||||
|
||||
This method only works on Raspbian.
|
||||
|
||||
On Ubuntu DHCP for a network interface can't be disabled via `dhcpcd.conf`. This must be configured in `/etc/netplan/01-netcfg.yaml`.
|
||||
|
||||
Fedora doesn't use `dhcpcd.conf` configuration at all.
|
||||
#### Phase 2 (Raspbian)
|
||||
|
||||
Step 1.
|
||||
|
||||
@@ -508,6 +540,44 @@ If we would set a different IP address, we'd need to replace the IP address for
|
||||
ip addr replace dev eth0 192.168.0.1/24
|
||||
|
||||
|
||||
#### Phase 2 (Ubuntu)
|
||||
|
||||
`/etc/netplan/01-netcfg.yaml` or `/etc/netplan/01-network-manager-all.yaml`
|
||||
|
||||
This configuration example has a static IP set for `enp0s3` interface:
|
||||
|
||||
network:
|
||||
version: 2
|
||||
renderer: networkd
|
||||
ethernets:
|
||||
enp0s3:
|
||||
dhcp4: no
|
||||
addresses: [192.168.0.2/24]
|
||||
gateway: 192.168.0.1
|
||||
nameservers:
|
||||
addresses: [192.168.0.1,8.8.8.8]
|
||||
|
||||
For dynamic configuration `dhcp4: yes` is set.
|
||||
|
||||
Make a backup copy to `/etc/netplan/01-netcfg.yaml.backup`.
|
||||
|
||||
Apply:
|
||||
|
||||
netplan apply
|
||||
|
||||
Restart network:
|
||||
|
||||
systemctl restart networking
|
||||
|
||||
or:
|
||||
|
||||
systemctl restart network-manager
|
||||
|
||||
or:
|
||||
|
||||
systemctl restart system-networkd
|
||||
|
||||
|
||||
### Add a static lease
|
||||
|
||||
Request:
|
||||
@@ -542,6 +612,20 @@ Response:
|
||||
200 OK
|
||||
|
||||
|
||||
### API: Reset DHCP configuration
|
||||
|
||||
Clear all DHCP leases and configuration settings.
|
||||
DHCP server will be stopped if it's currently running.
|
||||
|
||||
Request:
|
||||
|
||||
POST /control/dhcp/reset
|
||||
|
||||
Response:
|
||||
|
||||
200 OK
|
||||
|
||||
|
||||
## TLS
|
||||
|
||||
|
||||
@@ -618,8 +702,6 @@ Notes:
|
||||
|
||||
* `name`, `ip` and `mac` values are unique.
|
||||
|
||||
* `ip` & `mac` values can't be set both at the same time.
|
||||
|
||||
* If `mac` is set and DHCP server is enabled, IP is taken from DHCP lease table.
|
||||
|
||||
* If `use_global_settings` is true, then DNS responses for this client are processed and filtered using global settings.
|
||||
@@ -643,8 +725,8 @@ Response:
|
||||
clients: [
|
||||
{
|
||||
name: "client1"
|
||||
ip: "..."
|
||||
mac: "..."
|
||||
ids: ["...", ...] // IP, CIDR or MAC
|
||||
tags: ["...", ...]
|
||||
use_global_settings: true
|
||||
filtering_enabled: false
|
||||
parental_enabled: false
|
||||
@@ -656,6 +738,7 @@ Response:
|
||||
key: "value"
|
||||
...
|
||||
}
|
||||
upstreams: ["upstream1", ...]
|
||||
}
|
||||
]
|
||||
auto_clients: [
|
||||
@@ -669,6 +752,7 @@ Response:
|
||||
}
|
||||
}
|
||||
]
|
||||
supported_tags: ["...", ...]
|
||||
}
|
||||
|
||||
Supported keys for `whois_info`: orgname, country, city.
|
||||
@@ -682,8 +766,8 @@ Request:
|
||||
|
||||
{
|
||||
name: "client1"
|
||||
ip: "..."
|
||||
mac: "..."
|
||||
ids: ["...", ...] // IP, CIDR or MAC
|
||||
tags: ["...", ...]
|
||||
use_global_settings: true
|
||||
filtering_enabled: false
|
||||
parental_enabled: false
|
||||
@@ -691,6 +775,7 @@ Request:
|
||||
safesearch_enabled: false
|
||||
use_global_blocked_services: true
|
||||
blocked_services: [ "name1", ... ]
|
||||
upstreams: ["upstream1", ...]
|
||||
}
|
||||
|
||||
Response:
|
||||
@@ -712,8 +797,8 @@ Request:
|
||||
name: "client1"
|
||||
data: {
|
||||
name: "client1"
|
||||
ip: "..."
|
||||
mac: "..."
|
||||
ids: ["...", ...] // IP, CIDR or MAC
|
||||
tags: ["...", ...]
|
||||
use_global_settings: true
|
||||
filtering_enabled: false
|
||||
parental_enabled: false
|
||||
@@ -721,6 +806,7 @@ Request:
|
||||
safesearch_enabled: false
|
||||
use_global_blocked_services: true
|
||||
blocked_services: [ "name1", ... ]
|
||||
upstreams: ["upstream1", ...]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -752,6 +838,109 @@ Error response (Client not found):
|
||||
400
|
||||
|
||||
|
||||
### API: Find clients by IP
|
||||
|
||||
This method returns the list of clients (manual and auto-clients) matching the IP list.
|
||||
For auto-clients only `name`, `ids` and `whois_info` fields are set. Other fields are empty.
|
||||
|
||||
Request:
|
||||
|
||||
GET /control/clients/find?ip0=...&ip1=...&ip2=...
|
||||
|
||||
Response:
|
||||
|
||||
200 OK
|
||||
|
||||
[
|
||||
{
|
||||
"1.2.3.4": {
|
||||
name: "client1"
|
||||
ids: ["...", ...] // IP, CIDR or MAC
|
||||
use_global_settings: true
|
||||
filtering_enabled: false
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: false
|
||||
safesearch_enabled: false
|
||||
use_global_blocked_services: true
|
||||
blocked_services: [ "name1", ... ]
|
||||
whois_info: {
|
||||
key: "value"
|
||||
...
|
||||
}
|
||||
}
|
||||
}
|
||||
...
|
||||
]
|
||||
|
||||
|
||||
## DNS general settings
|
||||
|
||||
### API: Get DNS general settings
|
||||
|
||||
Request:
|
||||
|
||||
GET /control/dns_info
|
||||
|
||||
Response:
|
||||
|
||||
200 OK
|
||||
|
||||
{
|
||||
"upstream_dns": ["tls://...", ...],
|
||||
"bootstrap_dns": ["1.2.3.4", ...],
|
||||
|
||||
"protection_enabled": true | false,
|
||||
"ratelimit": 1234,
|
||||
"blocking_mode": "default" | "nxdomain" | "null_ip" | "custom_ip",
|
||||
"blocking_ipv4": "1.2.3.4",
|
||||
"blocking_ipv6": "1:2:3::4",
|
||||
"edns_cs_enabled": true | false,
|
||||
"dnssec_enabled": true | false
|
||||
"disable_ipv6": true | false,
|
||||
"upstream_mode": "" | "parallel" | "fastest_addr"
|
||||
"cache_size": 1234, // in bytes
|
||||
"cache_ttl_min": 1234, // in seconds
|
||||
"cache_ttl_max": 1234, // in seconds
|
||||
}
|
||||
|
||||
|
||||
### API: Set DNS general settings
|
||||
|
||||
Request:
|
||||
|
||||
POST /control/dns_config
|
||||
|
||||
{
|
||||
"upstream_dns": ["tls://...", ...],
|
||||
"bootstrap_dns": ["1.2.3.4", ...],
|
||||
|
||||
"protection_enabled": true | false,
|
||||
"ratelimit": 1234,
|
||||
"blocking_mode": "default" | "nxdomain" | "null_ip" | "custom_ip",
|
||||
"blocking_ipv4": "1.2.3.4",
|
||||
"blocking_ipv6": "1:2:3::4",
|
||||
"edns_cs_enabled": true | false,
|
||||
"dnssec_enabled": true | false
|
||||
"disable_ipv6": true | false,
|
||||
"upstream_mode": "" | "parallel" | "fastest_addr"
|
||||
"cache_size": 1234, // in bytes
|
||||
"cache_ttl_min": 1234, // in seconds
|
||||
"cache_ttl_max": 1234, // in seconds
|
||||
}
|
||||
|
||||
Response:
|
||||
|
||||
200 OK
|
||||
|
||||
`blocking_mode`:
|
||||
* default: Respond with NXDOMAIN when blocked by Adblock-style rule; respond with the IP address specified in the rule when blocked by /etc/hosts-style rule
|
||||
* NXDOMAIN: Respond with NXDOMAIN code
|
||||
* Null IP: Respond with zero IP address (0.0.0.0 for A; :: for AAAA)
|
||||
* Custom IP: Respond with a manually set IP address
|
||||
|
||||
`blocking_ipv4` and `blocking_ipv6` values are active when `blocking_mode` is set to `custom_ip`.
|
||||
|
||||
|
||||
## DNS access settings
|
||||
|
||||
There are low-level settings that can block undesired DNS requests. "Blocking" means not responding to request.
|
||||
@@ -775,7 +964,7 @@ Response:
|
||||
{
|
||||
allowed_clients: ["127.0.0.1", ...]
|
||||
disallowed_clients: ["127.0.0.1", ...]
|
||||
blocked_hosts: ["host.com", ...]
|
||||
blocked_hosts: ["host.com", ...] // host name or a wildcard
|
||||
}
|
||||
|
||||
|
||||
@@ -801,6 +990,110 @@ Response:
|
||||
This section allows the administrator to easily configure custom DNS response for a specific domain name.
|
||||
A, AAAA and CNAME records are supported.
|
||||
|
||||
Syntax:
|
||||
|
||||
key -> value
|
||||
|
||||
where `key` is a host name or a wild card that matches Question in DNS request
|
||||
and `value` is either:
|
||||
* IPv4 address: use this IP in A response
|
||||
* IPv6 address: use this IP in AAAA response
|
||||
* canonical name: add CNAME record
|
||||
* "<key>": CNAME exception - pass request to upstream
|
||||
* "A": A exception - pass A request to upstream
|
||||
* "AAAA": AAAA exception - pass AAAA request to upstream
|
||||
|
||||
|
||||
#### Example: A record
|
||||
|
||||
host.com -> 1.2.3.4
|
||||
|
||||
Response:
|
||||
|
||||
A:
|
||||
A = 1.2.3.4
|
||||
AAAA:
|
||||
<empty>
|
||||
|
||||
#### Example: AAAA record
|
||||
|
||||
host.com -> ::1
|
||||
|
||||
Response:
|
||||
|
||||
A:
|
||||
<empty>
|
||||
AAAA:
|
||||
AAAA = ::1
|
||||
|
||||
#### Example: CNAME record
|
||||
|
||||
sub.host.com -> host.com
|
||||
|
||||
Response:
|
||||
|
||||
A:
|
||||
CNAME = host.com
|
||||
A = <IPv4 address of host.com>
|
||||
AAAA:
|
||||
CNAME = host.com
|
||||
AAAA = <IPv6 address of host.com>
|
||||
|
||||
#### Example: CNAME+A records
|
||||
|
||||
sub.host.com -> host.com
|
||||
host.com -> 1.2.3.4
|
||||
|
||||
Response:
|
||||
|
||||
A:
|
||||
CNAME = host.com
|
||||
A = 1.2.3.4
|
||||
AAAA:
|
||||
CNAME = host.com
|
||||
|
||||
#### Example: Wildcard CNAME+A record with CNAME exception
|
||||
|
||||
*.host.com -> 1.2.3.4
|
||||
pass.host.com -> pass.host.com
|
||||
|
||||
Response to `my.host.com`:
|
||||
|
||||
A:
|
||||
A = 1.2.3.4
|
||||
AAAA:
|
||||
<empty>
|
||||
|
||||
Response to `pass.host.com`:
|
||||
|
||||
A:
|
||||
A = <IPv4 address of pass.host.com>
|
||||
AAAA:
|
||||
AAAA = <IPv6 address of pass.host.com>
|
||||
|
||||
#### Example: A record with AAAA exception
|
||||
|
||||
host.com -> 1.2.3.4
|
||||
host.com -> AAAA
|
||||
|
||||
Response:
|
||||
|
||||
A:
|
||||
A = 1.2.3.4
|
||||
AAAA:
|
||||
AAAA = <IPv6 address of host.com>
|
||||
|
||||
#### Example: pass A only
|
||||
|
||||
host.com -> A
|
||||
|
||||
Response:
|
||||
|
||||
A:
|
||||
A = <IPv4 address of host.com>
|
||||
AAAA:
|
||||
<empty>
|
||||
|
||||
|
||||
### API: List rewrite entries
|
||||
|
||||
@@ -820,6 +1113,8 @@ Response:
|
||||
...
|
||||
]
|
||||
|
||||
`domain` can be an exact host name (`www.host.com`) or a wildcard (`*.host.com`).
|
||||
|
||||
|
||||
### API: Add a rewrite entry
|
||||
|
||||
@@ -1017,12 +1312,14 @@ When a new DNS request is received and processed, we store information about thi
|
||||
"QH":"...", // target host name without the last dot
|
||||
"QT":"...", // question type
|
||||
"QC":"...", // question class
|
||||
"Answer":"...",
|
||||
"CP":"" | "doh", // client connection protocol
|
||||
"Answer":"base64 data",
|
||||
"OrigAnswer":"base64 data",
|
||||
"Result":{
|
||||
"IsFiltered":true,
|
||||
"Reason":3,
|
||||
"Rule":"...",
|
||||
"FilterID":1
|
||||
"FilterID":1,
|
||||
},
|
||||
"Elapsed":12345,
|
||||
"Upstream":"...",
|
||||
@@ -1050,16 +1347,28 @@ Request:
|
||||
|
||||
GET /control/querylog
|
||||
?older_than=2006-01-02T15:04:05.999999999Z07:00
|
||||
&filter_domain=...
|
||||
&filter_client=...
|
||||
&filter_question_type=A | AAAA
|
||||
&filter_response_status= | filtered
|
||||
&search=...
|
||||
&response_status="..."
|
||||
|
||||
`older_than` setting is used for paging. UI uses an empty value for `older_than` on the first request and gets the latest log entries. To get the older entries, UI sets `older_than` to the `oldest` value from the server's response.
|
||||
`older_than` setting is used for paging. UI uses an empty value for `older_than` on the first request and gets the latest log entries. To get the older entries, UI sets `older_than` to the `oldest` value from the server's response.
|
||||
|
||||
If "filter" settings are set, server returns only entries that match the specified request.
|
||||
If search settings are set, server returns only entries that match the specified request.
|
||||
|
||||
For `filter.domain` and `filter.client` the server matches substrings by default: `adguard.com` matches `www.adguard.com`. Strict matching can be enabled by enclosing the value in double quotes: `"adguard.com"` matches `adguard.com` but doesn't match `www.adguard.com`.
|
||||
`search`:
|
||||
match by domain name or client IP address.
|
||||
The server matches substrings by default: e.g. `adguard.com` matches `www.adguard.com`.
|
||||
Strict matching can be enabled by enclosing the value in double quotes: e.g. `"adguard.com"` matches `adguard.com` but doesn't match `www.adguard.com`.
|
||||
|
||||
`response_status`:
|
||||
* all
|
||||
* filtered - all kinds of filtering
|
||||
* blocked - blocked or blocked service
|
||||
* blocked_safebrowsing - blocked by safebrowsing
|
||||
* blocked_parental - blocked by parental control
|
||||
* whitelisted - whitelisted
|
||||
* rewritten - all kinds of rewrites
|
||||
* safe_search - enforced safe search
|
||||
* processed - not blocked, not white-listed entries
|
||||
|
||||
Response:
|
||||
|
||||
@@ -1075,7 +1384,17 @@ Response:
|
||||
}
|
||||
...
|
||||
],
|
||||
"original_answer":[ // Answer from upstream server (optional)
|
||||
{
|
||||
"type":"AAAA",
|
||||
"value":"::"
|
||||
}
|
||||
...
|
||||
],
|
||||
"upstream":"...", // Upstream URL starting with tcp://, tls://, https://, or with an IP address
|
||||
"answer_dnssec": true,
|
||||
"client":"127.0.0.1",
|
||||
"client_proto": "" (plain) | "doh" | "dot",
|
||||
"elapsedMs":"0.098403",
|
||||
"filterId":1,
|
||||
"question":{
|
||||
@@ -1085,6 +1404,7 @@ Response:
|
||||
},
|
||||
"reason":"FilteredBlackList",
|
||||
"rule":"||doubleclick.net^",
|
||||
"service_name": "...", // set if reason=FilteredBlockedService
|
||||
"status":"NOERROR",
|
||||
"time":"2006-01-02T15:04:05.999999999Z07:00"
|
||||
}
|
||||
@@ -1094,6 +1414,8 @@ Response:
|
||||
|
||||
The most recent entries are at the top of list.
|
||||
|
||||
If there are no more older entries, `"oldest":""` is returned.
|
||||
|
||||
|
||||
### API: Set querylog parameters
|
||||
|
||||
@@ -1104,12 +1426,22 @@ Request:
|
||||
{
|
||||
"enabled": true | false
|
||||
"interval": 1 | 7 | 30 | 90
|
||||
"anonymize_client_ip": true | false // anonymize clients' IP addresses
|
||||
}
|
||||
|
||||
Response:
|
||||
|
||||
200 OK
|
||||
|
||||
`anonymize_client_ip`:
|
||||
1. New log entries written to a log file will contain modified client IP addresses. Note that there's no way to obtain the full IP address later for these entries.
|
||||
2. `GET /control/querylog` response data will contain modified client IP addresses (masked /24 or /112).
|
||||
3. Searching by client IP won't work for the previously stored entries.
|
||||
|
||||
How `anonymize_client_ip` affects Stats:
|
||||
1. After AGH restart, new stats entries will contain modified client IP addresses.
|
||||
2. Existing entries are not affected.
|
||||
|
||||
|
||||
### API: Get querylog parameters
|
||||
|
||||
@@ -1124,11 +1456,35 @@ Response:
|
||||
{
|
||||
"enabled": true | false
|
||||
"interval": 1 | 7 | 30 | 90
|
||||
"anonymize_client_ip": true | false
|
||||
}
|
||||
|
||||
|
||||
## Filtering
|
||||
|
||||

|
||||
|
||||
This is how DNS requests and responses are filtered by AGH:
|
||||
|
||||
* 'dnsproxy' module receives DNS request from client and passes control to AGH
|
||||
* AGH applies filtering logic to the host name in DNS Question:
|
||||
* process Rewrite rules.
|
||||
Can set CNAME and a list of IP addresses.
|
||||
* process /etc/hosts entries.
|
||||
Can set a list of IP addresses or a hostname (for PTR requests).
|
||||
* match host name against filtering lists
|
||||
* match host name against blocked services rules
|
||||
* process SafeSearch rules
|
||||
* request SafeBrowsing & ParentalControl services and process their response
|
||||
* If the handlers above create a successful result that can be immediately sent to a client, it's passed back to 'dnsproxy' module
|
||||
* Otherwise, AGH passes the DNS request to an upstream server via 'dnsproxy' module
|
||||
* After 'dnsproxy' module has received a response from an upstream server, it passes control back to AGH
|
||||
* If the filtering logic for DNS request returned a 'whitelist' flag, AGH passes the response to a client
|
||||
* Otherwise, AGH applies filtering logic to each DNS record in response:
|
||||
* For CNAME records, the target name is matched against filtering lists (ignoring 'whitelist' rules)
|
||||
* For A and AAAA records, the IP address is matched against filtering lists (ignoring 'whitelist' rules)
|
||||
|
||||
|
||||
### Filters update mechanism
|
||||
|
||||
Filters can be updated either manually by request from UI or automatically.
|
||||
@@ -1164,9 +1520,23 @@ Response:
|
||||
}
|
||||
...
|
||||
],
|
||||
"whitelist_filters":[
|
||||
{
|
||||
"id":1
|
||||
"enabled":true,
|
||||
"url":"https://...",
|
||||
"name":"...",
|
||||
"rules_count":1234,
|
||||
"last_updated":"2019-09-04T18:29:30+00:00",
|
||||
}
|
||||
...
|
||||
],
|
||||
"user_rules":["...", ...]
|
||||
}
|
||||
|
||||
For both arrays `filters` and `whitelist_filters` there are unique values: id, url.
|
||||
ID for each filter is assigned by Server - it's used for file names.
|
||||
|
||||
|
||||
### API: Set filtering parameters
|
||||
|
||||
@@ -1184,15 +1554,35 @@ Response:
|
||||
200 OK
|
||||
|
||||
|
||||
### API: Set URL parameters
|
||||
### API: Refresh filters
|
||||
|
||||
Request:
|
||||
|
||||
POST /control/filtering/set_url
|
||||
POST /control/filtering/refresh
|
||||
|
||||
{
|
||||
"url": "..."
|
||||
"enabled": true | false
|
||||
"whitelist": true
|
||||
}
|
||||
|
||||
Response:
|
||||
|
||||
200 OK
|
||||
|
||||
{
|
||||
"updated": 123 // number of filters updated
|
||||
}
|
||||
|
||||
|
||||
### API: Add Filter
|
||||
|
||||
Request:
|
||||
|
||||
POST /control/filtering/add_url
|
||||
|
||||
{
|
||||
"name": "..."
|
||||
"url": "..." // URL or an absolute file path
|
||||
"whitelist": true
|
||||
}
|
||||
|
||||
Response:
|
||||
@@ -1200,9 +1590,72 @@ Response:
|
||||
200 OK
|
||||
|
||||
|
||||
### API: Set URL parameters
|
||||
|
||||
Request:
|
||||
|
||||
POST /control/filtering/set_url
|
||||
|
||||
{
|
||||
"url": "..."
|
||||
"whitelist": true
|
||||
"data": {
|
||||
"name": "..."
|
||||
"url": "..."
|
||||
"enabled": true | false
|
||||
}
|
||||
}
|
||||
|
||||
Response:
|
||||
|
||||
200 OK
|
||||
|
||||
|
||||
### API: Delete URL
|
||||
|
||||
Request:
|
||||
|
||||
POST /control/filtering/remove_url
|
||||
|
||||
{
|
||||
"url": "..."
|
||||
"whitelist": true
|
||||
}
|
||||
|
||||
Response:
|
||||
|
||||
200 OK
|
||||
|
||||
|
||||
### API: Domain Check
|
||||
|
||||
Check if host name is filtered.
|
||||
|
||||
Request:
|
||||
|
||||
GET /control/filtering/check_host?name=hostname
|
||||
|
||||
Response:
|
||||
|
||||
200 OK
|
||||
|
||||
{
|
||||
"reason":"FilteredBlackList",
|
||||
"filter_id":1,
|
||||
"rule":"||doubleclick.net^",
|
||||
"service_name": "...", // set if reason=FilteredBlockedService
|
||||
|
||||
// if reason=ReasonRewrite:
|
||||
"cname": "...",
|
||||
"ip_addrs": ["1.2.3.4", ...],
|
||||
}
|
||||
|
||||
|
||||
## Log-in page
|
||||
|
||||
After user completes the steps of installation wizard, he must log in into dashboard using his name and password. After user successfully logs in, he gets the Cookie which allows the server to authenticate him next time without password. After the Cookie is expired, user needs to perform log-in operation again. All requests without a proper Cookie get redirected to Log-In page with prompt for name and password.
|
||||
After user completes the steps of installation wizard, he must log in into dashboard using his name and password. After user successfully logs in, he gets the Cookie which allows the server to authenticate him next time without password. After the Cookie is expired, user needs to perform log-in operation again.
|
||||
|
||||
Requests to / or /index.html without a proper Cookie get redirected to Log-In page with prompt for name and password. The server responds with 403 to all other requests (including all API methods) without a proper Cookie.
|
||||
|
||||
YAML configuration:
|
||||
|
||||
|
||||
88
Dockerfile
88
Dockerfile
@@ -1,32 +1,78 @@
|
||||
FROM golang:alpine AS build
|
||||
FROM --platform=${BUILDPLATFORM:-linux/amd64} tonistiigi/xx:golang AS xgo
|
||||
FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:1.14-alpine as builder
|
||||
|
||||
RUN apk add --update git make build-base npm && \
|
||||
rm -rf /var/cache/apk/*
|
||||
ARG BUILD_DATE
|
||||
ARG VCS_REF
|
||||
ARG VERSION=dev
|
||||
ARG CHANNEL=release
|
||||
|
||||
WORKDIR /src/AdGuardHome
|
||||
COPY . /src/AdGuardHome
|
||||
RUN make
|
||||
ENV CGO_ENABLED 0
|
||||
ENV GO111MODULE on
|
||||
ENV GOPROXY https://goproxy.io
|
||||
|
||||
FROM alpine:latest
|
||||
LABEL maintainer="AdGuard Team <devteam@adguard.com>"
|
||||
COPY --from=xgo / /
|
||||
RUN go env
|
||||
|
||||
# Update CA certs
|
||||
RUN apk --no-cache --update add ca-certificates libcap && \
|
||||
rm -rf /var/cache/apk/* && \
|
||||
mkdir -p /opt/adguardhome/conf /opt/adguardhome/work && \
|
||||
chown -R nobody: /opt/adguardhome
|
||||
RUN apk --update --no-cache add \
|
||||
build-base \
|
||||
gcc \
|
||||
git \
|
||||
npm \
|
||||
&& rm -rf /tmp/* /var/cache/apk/*
|
||||
|
||||
COPY --from=build --chown=nobody:nogroup /src/AdGuardHome/AdGuardHome /opt/adguardhome/AdGuardHome
|
||||
WORKDIR /app
|
||||
|
||||
RUN setcap 'cap_net_bind_service=+eip' /opt/adguardhome/AdGuardHome
|
||||
COPY . ./
|
||||
|
||||
# Prepare the client code
|
||||
RUN npm --prefix client ci && npm --prefix client run build-prod
|
||||
|
||||
# Download go dependencies
|
||||
RUN go mod download
|
||||
RUN go generate ./...
|
||||
|
||||
# It's important to place TARGET* arguments here to avoid running npm and go mod download for every platform
|
||||
ARG TARGETPLATFORM
|
||||
ARG TARGETOS
|
||||
ARG TARGETARCH
|
||||
RUN go build -ldflags="-s -w -X main.version=${VERSION} -X main.channel=${CHANNEL} -X main.goarm=${GOARM}"
|
||||
|
||||
FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine:latest
|
||||
|
||||
ARG BUILD_DATE
|
||||
ARG VCS_REF
|
||||
ARG VERSION
|
||||
ARG CHANNEL
|
||||
|
||||
LABEL maintainer="AdGuard Team <devteam@adguard.com>" \
|
||||
org.opencontainers.image.created=$BUILD_DATE \
|
||||
org.opencontainers.image.url="https://adguard.com/adguard-home.html" \
|
||||
org.opencontainers.image.source="https://github.com/AdguardTeam/AdGuardHome" \
|
||||
org.opencontainers.image.version=$VERSION \
|
||||
org.opencontainers.image.revision=$VCS_REF \
|
||||
org.opencontainers.image.vendor="AdGuard" \
|
||||
org.opencontainers.image.title="AdGuard Home" \
|
||||
org.opencontainers.image.description="Network-wide ads & trackers blocking DNS server" \
|
||||
org.opencontainers.image.licenses="GPL-3.0"
|
||||
|
||||
RUN apk --update --no-cache add \
|
||||
ca-certificates \
|
||||
libcap \
|
||||
libressl \
|
||||
tzdata \
|
||||
&& rm -rf /tmp/* /var/cache/apk/*
|
||||
|
||||
COPY --from=builder --chown=nobody:nogroup /app/AdGuardHome /opt/adguardhome/AdGuardHome
|
||||
COPY --from=builder --chown=nobody:nogroup /usr/local/go/lib/time/zoneinfo.zip /usr/local/go/lib/time/zoneinfo.zip
|
||||
|
||||
RUN /opt/adguardhome/AdGuardHome --version \
|
||||
&& mkdir -p /opt/adguardhome/conf /opt/adguardhome/work \
|
||||
&& chown -R nobody: /opt/adguardhome \
|
||||
&& setcap 'cap_net_bind_service=+eip' /opt/adguardhome/AdGuardHome
|
||||
|
||||
EXPOSE 53/tcp 53/udp 67/udp 68/udp 80/tcp 443/tcp 853/tcp 3000/tcp
|
||||
|
||||
WORKDIR /opt/adguardhome/work
|
||||
VOLUME ["/opt/adguardhome/conf", "/opt/adguardhome/work"]
|
||||
|
||||
WORKDIR /opt/adguardhome/work
|
||||
|
||||
#USER nobody
|
||||
|
||||
ENTRYPOINT ["/opt/adguardhome/AdGuardHome"]
|
||||
CMD ["-c", "/opt/adguardhome/conf/AdGuardHome.yaml", "-w", "/opt/adguardhome/work", "--no-check-update"]
|
||||
CMD ["-h", "0.0.0.0", "-c", "/opt/adguardhome/conf/AdGuardHome.yaml", "-w", "/opt/adguardhome/work", "--no-check-update"]
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
FROM alpine:latest
|
||||
LABEL maintainer="AdGuard Team <devteam@adguard.com>"
|
||||
|
||||
# Update CA certs
|
||||
RUN apk --no-cache --update add ca-certificates libcap && \
|
||||
rm -rf /var/cache/apk/* && \
|
||||
mkdir -p /opt/adguardhome/conf /opt/adguardhome/work && \
|
||||
chown -R nobody: /opt/adguardhome
|
||||
|
||||
COPY --chown=nobody:nogroup ./AdGuardHome /opt/adguardhome/AdGuardHome
|
||||
|
||||
RUN setcap 'cap_net_bind_service=+eip' /opt/adguardhome/AdGuardHome
|
||||
|
||||
EXPOSE 53/tcp 53/udp 67/udp 68/udp 80/tcp 443/tcp 853/tcp 3000/tcp
|
||||
|
||||
VOLUME ["/opt/adguardhome/conf", "/opt/adguardhome/work"]
|
||||
|
||||
WORKDIR /opt/adguardhome/work
|
||||
|
||||
#USER nobody
|
||||
|
||||
ENTRYPOINT ["/opt/adguardhome/AdGuardHome"]
|
||||
CMD ["-h", "0.0.0.0", "-c", "/opt/adguardhome/conf/AdGuardHome.yaml", "-w", "/opt/adguardhome/work", "--no-check-update"]
|
||||
292
Makefile
292
Makefile
@@ -1,35 +1,275 @@
|
||||
GIT_VERSION := $(shell git describe --abbrev=4 --dirty --always --tags)
|
||||
NATIVE_GOOS = $(shell unset GOOS; go env GOOS)
|
||||
NATIVE_GOARCH = $(shell unset GOARCH; go env GOARCH)
|
||||
#
|
||||
# Available targets
|
||||
#
|
||||
# * build -- builds AdGuardHome for the current platform
|
||||
# * client -- builds client-side code of AdGuard Home
|
||||
# * client-watch -- builds client-side code of AdGuard Home and watches for changes there
|
||||
# * docker -- builds a docker image for the current platform
|
||||
# * clean -- clean everything created by previous builds
|
||||
# * lint -- run all linters
|
||||
# * test -- run all unit-tests
|
||||
# * dependencies -- installs dependencies (go and npm modules)
|
||||
# * ci -- installs dependencies, runs linters and tests, intended to be used by CI/CD
|
||||
#
|
||||
# Building releases:
|
||||
#
|
||||
# * release -- builds AdGuard Home distros. CHANNEL must be specified (edge, release or beta).
|
||||
# * docker-multi-arch -- builds a multi-arch image. If you want it to be pushed to docker hub,
|
||||
# you must specify:
|
||||
# * DOCKER_IMAGE_NAME - adguard/adguard-home
|
||||
# * DOCKER_OUTPUT - type=image,name=adguard/adguard-home,push=true
|
||||
|
||||
GOPATH := $(shell go env GOPATH)
|
||||
JSFILES = $(shell find client -path client/node_modules -prune -o -type f -name '*.js')
|
||||
STATIC = build/static/index.html
|
||||
CHANNEL ?= release
|
||||
|
||||
PWD := $(shell pwd)
|
||||
TARGET=AdGuardHome
|
||||
BASE_URL="https://static.adguard.com/adguardhome/$(CHANNEL)"
|
||||
|
||||
.PHONY: all build clean
|
||||
# See release target
|
||||
DIST_DIR=dist
|
||||
|
||||
# Update channel. Can be release, beta or edge. Uses edge by default.
|
||||
CHANNEL ?= edge
|
||||
|
||||
# Validate channel
|
||||
ifneq ($(CHANNEL),release)
|
||||
ifneq ($(CHANNEL),beta)
|
||||
ifneq ($(CHANNEL),edge)
|
||||
$(error CHANNEL value is not valid. Valid values are release,beta or edge)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# goreleaser command depends on the $CHANNEL
|
||||
GORELEASER_COMMAND=goreleaser release --rm-dist --skip-publish --snapshot
|
||||
ifneq ($(CHANNEL),edge)
|
||||
# If this is not an "edge" build, use normal release command
|
||||
GORELEASER_COMMAND=goreleaser release --rm-dist --skip-publish
|
||||
endif
|
||||
|
||||
# Version properties
|
||||
COMMIT=$(shell git rev-parse --short HEAD)
|
||||
TAG_NAME=$(shell git describe --abbrev=0)
|
||||
RELEASE_VERSION=$(TAG_NAME)
|
||||
SNAPSHOT_VERSION=$(RELEASE_VERSION)-SNAPSHOT-$(COMMIT)
|
||||
|
||||
# Set proper version
|
||||
VERSION=
|
||||
ifeq ($(TAG_NAME),$(shell git describe --abbrev=4))
|
||||
ifeq ($(CHANNEL),edge)
|
||||
VERSION=$(SNAPSHOT_VERSION)
|
||||
else
|
||||
VERSION=$(RELEASE_VERSION)
|
||||
endif
|
||||
else
|
||||
VERSION=$(SNAPSHOT_VERSION)
|
||||
endif
|
||||
|
||||
# Docker target parameters
|
||||
DOCKER_IMAGE_NAME ?= adguardhome-dev
|
||||
DOCKER_IMAGE_FULL_NAME = $(DOCKER_IMAGE_NAME):$(VERSION)
|
||||
DOCKER_PLATFORMS=linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/386,linux/ppc64le
|
||||
DOCKER_OUTPUT ?= type=image,name=$(DOCKER_IMAGE_NAME),push=false
|
||||
BUILD_DATE=$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')
|
||||
|
||||
# Docker tags (can be redefined)
|
||||
DOCKER_TAGS ?=
|
||||
ifndef DOCKER_TAGS
|
||||
ifeq ($(CHANNEL),release)
|
||||
DOCKER_TAGS := --tag $(DOCKER_IMAGE_NAME):latest
|
||||
endif
|
||||
ifeq ($(CHANNEL),beta)
|
||||
DOCKER_TAGS := --tag $(DOCKER_IMAGE_NAME):beta
|
||||
endif
|
||||
ifeq ($(CHANNEL),edge)
|
||||
# Don't set the version tag when pushing to "edge"
|
||||
DOCKER_IMAGE_FULL_NAME := $(DOCKER_IMAGE_NAME):edge
|
||||
# DOCKER_TAGS := --tag $(DOCKER_IMAGE_NAME):edge
|
||||
endif
|
||||
endif
|
||||
|
||||
# Validate docker build arguments
|
||||
ifndef DOCKER_IMAGE_NAME
|
||||
$(error DOCKER_IMAGE_NAME value is not set)
|
||||
endif
|
||||
|
||||
.PHONY: all build client client-watch docker lint lint-js lint-go test dependencies clean release docker-multi-arch
|
||||
all: build
|
||||
|
||||
build: $(TARGET)
|
||||
init:
|
||||
git config core.hooksPath .githooks
|
||||
|
||||
client/node_modules: client/package.json client/package-lock.json
|
||||
npm --prefix client install
|
||||
touch client/node_modules
|
||||
|
||||
$(STATIC): $(JSFILES) client/node_modules
|
||||
npm --prefix client run build-prod
|
||||
|
||||
$(TARGET): $(STATIC) *.go home/*.go dhcpd/*.go dnsfilter/*.go dnsforward/*.go
|
||||
GOOS=$(NATIVE_GOOS) GOARCH=$(NATIVE_GOARCH) GO111MODULE=off go get -v github.com/gobuffalo/packr/...
|
||||
PATH=$(GOPATH)/bin:$(PATH) packr -z
|
||||
CGO_ENABLED=0 go build -ldflags="-s -w -X main.version=$(GIT_VERSION) -X main.channel=$(CHANNEL)" -asmflags="-trimpath=$(PWD)" -gcflags="-trimpath=$(PWD)"
|
||||
build: dependencies client
|
||||
PATH=$(GOPATH)/bin:$(PATH) go generate ./...
|
||||
CGO_ENABLED=0 go build -ldflags="-s -w -X main.version=$(VERSION) -X main.channel=$(CHANNEL) -X main.goarm=$(GOARM)"
|
||||
PATH=$(GOPATH)/bin:$(PATH) packr clean
|
||||
|
||||
clean:
|
||||
$(MAKE) cleanfast
|
||||
rm -rf build
|
||||
rm -rf client/node_modules
|
||||
client:
|
||||
npm --prefix client run build-prod
|
||||
|
||||
cleanfast:
|
||||
rm -f $(TARGET)
|
||||
client-watch:
|
||||
npm --prefix client run watch
|
||||
|
||||
docker:
|
||||
DOCKER_CLI_EXPERIMENTAL=enabled \
|
||||
docker buildx build \
|
||||
--build-arg VERSION=$(VERSION) \
|
||||
--build-arg CHANNEL=$(CHANNEL) \
|
||||
--build-arg VCS_REF=$(COMMIT) \
|
||||
--build-arg BUILD_DATE=$(BUILD_DATE) \
|
||||
$(DOCKER_TAGS) \
|
||||
--load \
|
||||
-t "$(DOCKER_IMAGE_NAME)" -f ./Dockerfile .
|
||||
|
||||
@echo Now you can run the docker image:
|
||||
@echo docker run --name "adguard-home" -p 53:53/tcp -p 53:53/udp -p 80:80/tcp -p 443:443/tcp -p 853:853/tcp -p 3000:3000/tcp $(DOCKER_IMAGE_NAME)
|
||||
|
||||
lint: lint-js lint-go
|
||||
|
||||
lint-js:
|
||||
@echo Running js linter
|
||||
npm --prefix client run lint
|
||||
|
||||
lint-go:
|
||||
@echo Running go linter
|
||||
golangci-lint run
|
||||
|
||||
test:
|
||||
@echo Running JS unit-tests
|
||||
npm run test --prefix client
|
||||
@echo Running Go unit-tests
|
||||
go test -race -v -bench=. -coverprofile=coverage.txt -covermode=atomic ./...
|
||||
|
||||
ci: dependencies client test
|
||||
|
||||
dependencies:
|
||||
npm --prefix client ci
|
||||
go mod download
|
||||
|
||||
clean:
|
||||
# make build output
|
||||
rm -f AdGuardHome
|
||||
rm -f AdGuardHome.exe
|
||||
# tests output
|
||||
rm -rf data
|
||||
rm -f coverage.txt
|
||||
# static build output
|
||||
rm -rf build
|
||||
# dist folder
|
||||
rm -rf $(DIST_DIR)
|
||||
# client deps
|
||||
rm -rf client/node_modules
|
||||
# packr-generated files
|
||||
PATH=$(GOPATH)/bin:$(PATH) packr clean || true
|
||||
|
||||
docker-multi-arch:
|
||||
DOCKER_CLI_EXPERIMENTAL=enabled \
|
||||
docker buildx build \
|
||||
--platform $(DOCKER_PLATFORMS) \
|
||||
--build-arg VERSION=$(VERSION) \
|
||||
--build-arg CHANNEL=$(CHANNEL) \
|
||||
--build-arg VCS_REF=$(COMMIT) \
|
||||
--build-arg BUILD_DATE=$(BUILD_DATE) \
|
||||
$(DOCKER_TAGS) \
|
||||
--output "$(DOCKER_OUTPUT)" \
|
||||
-t "$(DOCKER_IMAGE_FULL_NAME)" -f ./Dockerfile .
|
||||
|
||||
@echo If the image was pushed to the registry, you can now run it:
|
||||
@echo docker run --name "adguard-home" -p 53:53/tcp -p 53:53/udp -p 80:80/tcp -p 443:443/tcp -p 853:853/tcp -p 3000:3000/tcp $(DOCKER_IMAGE_NAME)
|
||||
|
||||
release: dependencies client
|
||||
@echo Starting release build: version $(VERSION), channel $(CHANNEL)
|
||||
CHANNEL=$(CHANNEL) $(GORELEASER_COMMAND)
|
||||
$(call repack_dist)
|
||||
$(call write_version_file,$(VERSION))
|
||||
PATH=$(GOPATH)/bin:$(PATH) packr clean
|
||||
|
||||
define write_version_file
|
||||
$(eval version := $(1))
|
||||
|
||||
@echo Writing version file: $(version)
|
||||
|
||||
# Variables for CI
|
||||
rm -f $(DIST_DIR)/version.txt
|
||||
echo "version=$(version)" > $(DIST_DIR)/version.txt
|
||||
|
||||
# Prepare the version.json file
|
||||
rm -f $(DIST_DIR)/version.json
|
||||
echo "{" >> $(DIST_DIR)/version.json
|
||||
echo " \"version\": \"$(version)\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"announcement\": \"AdGuard Home $(version) is now available!\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"announcement_url\": \"https://github.com/AdguardTeam/AdGuardHome/releases\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"selfupdate_min_version\": \"0.0\"," >> $(DIST_DIR)/version.json
|
||||
|
||||
# Windows builds
|
||||
echo " \"download_windows_amd64\": \"$(BASE_URL)/AdGuardHome_windows_amd64.zip\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_windows_386\": \"$(BASE_URL)/AdGuardHome_windows_386.zip\"," >> $(DIST_DIR)/version.json
|
||||
|
||||
# MacOS builds
|
||||
echo " \"download_darwin_amd64\": \"$(BASE_URL)/AdGuardHome_darwin_amd64.zip\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_darwin_386\": \"$(BASE_URL)/AdGuardHome_darwin_386.zip\"," >> $(DIST_DIR)/version.json
|
||||
|
||||
# Linux
|
||||
echo " \"download_linux_amd64\": \"$(BASE_URL)/AdGuardHome_linux_amd64.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_linux_386\": \"$(BASE_URL)/AdGuardHome_linux_386.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
|
||||
# Linux, all kinds of ARM
|
||||
echo " \"download_linux_arm\": \"$(BASE_URL)/AdGuardHome_linux_armv6.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_linux_armv5\": \"$(BASE_URL)/AdGuardHome_linux_armv5.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_linux_armv6\": \"$(BASE_URL)/AdGuardHome_linux_armv6.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_linux_armv7\": \"$(BASE_URL)/AdGuardHome_linux_armv7.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_linux_arm64\": \"$(BASE_URL)/AdGuardHome_linux_arm64.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
|
||||
# Linux, MIPS
|
||||
echo " \"download_linux_mips\": \"$(BASE_URL)/AdGuardHome_linux_mips_softfloat.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_linux_mipsle\": \"$(BASE_URL)/AdGuardHome_linux_mipsle_softfloat.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_linux_mips64\": \"$(BASE_URL)/AdGuardHome_linux_mips64_softfloat.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_linux_mips64le\": \"$(BASE_URL)/AdGuardHome_linux_mips64le_softfloat.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
|
||||
# FreeBSD
|
||||
echo " \"download_freebsd_386\": \"$(BASE_URL)/AdGuardHome_freebsd_386.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_freebsd_amd64\": \"$(BASE_URL)/AdGuardHome_freebsd_amd64.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
|
||||
# FreeBSD, all kinds of ARM
|
||||
echo " \"download_freebsd_arm\": \"$(BASE_URL)/AdGuardHome_freebsd_armv6.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_freebsd_armv5\": \"$(BASE_URL)/AdGuardHome_freebsd_armv5.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_freebsd_armv6\": \"$(BASE_URL)/AdGuardHome_freebsd_armv6.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_freebsd_armv7\": \"$(BASE_URL)/AdGuardHome_freebsd_armv7.tar.gz\"," >> $(DIST_DIR)/version.json
|
||||
echo " \"download_freebsd_arm64\": \"$(BASE_URL)/AdGuardHome_freebsd_arm64.tar.gz\"" >> $(DIST_DIR)/version.json
|
||||
|
||||
# Finish
|
||||
echo "}" >> $(DIST_DIR)/version.json
|
||||
endef
|
||||
|
||||
define repack_dist
|
||||
# Repack archive files
|
||||
# A temporary solution for our auto-update code to be able to unpack these archive files
|
||||
# The problem is that goreleaser doesn't add directory AdGuardHome/ to the archive file
|
||||
# and we can't create it
|
||||
rm -rf $(DIST_DIR)/AdGuardHome
|
||||
|
||||
# Linux
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_linux_amd64.tar.gz && tar czf AdGuardHome_linux_amd64.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_linux_386.tar.gz && tar czf AdGuardHome_linux_386.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
|
||||
# Linux, all kinds of ARM
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_linux_armv5.tar.gz && tar czf AdGuardHome_linux_armv5.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_linux_armv6.tar.gz && tar czf AdGuardHome_linux_armv6.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_linux_armv7.tar.gz && tar czf AdGuardHome_linux_armv7.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_linux_arm64.tar.gz && tar czf AdGuardHome_linux_arm64.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
|
||||
# Linux, MIPS
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_linux_mips_softfloat.tar.gz && tar czf AdGuardHome_linux_mips_softfloat.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_linux_mipsle_softfloat.tar.gz && tar czf AdGuardHome_linux_mipsle_softfloat.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_linux_mips64_softfloat.tar.gz && tar czf AdGuardHome_linux_mips64_softfloat.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_linux_mips64le_softfloat.tar.gz && tar czf AdGuardHome_linux_mips64le_softfloat.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
|
||||
# FreeBSD
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_freebsd_386.tar.gz && tar czf AdGuardHome_freebsd_386.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_freebsd_amd64.tar.gz && tar czf AdGuardHome_freebsd_amd64.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
|
||||
# FreeBSD, all kinds of ARM
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_freebsd_armv5.tar.gz && tar czf AdGuardHome_freebsd_armv5.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_freebsd_armv6.tar.gz && tar czf AdGuardHome_freebsd_armv6.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_freebsd_armv7.tar.gz && tar czf AdGuardHome_freebsd_armv7.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
cd $(DIST_DIR) && tar xzf AdGuardHome_freebsd_arm64.tar.gz && tar czf AdGuardHome_freebsd_arm64.tar.gz AdGuardHome/ && rm -rf AdGuardHome
|
||||
endef
|
||||
|
||||
164
README.md
164
README.md
@@ -14,9 +14,6 @@
|
||||
<a href="https://twitter.com/AdGuard">Twitter</a> |
|
||||
<a href="https://t.me/adguard_en">Telegram</a>
|
||||
<br /><br />
|
||||
<a href="https://travis-ci.org/AdguardTeam/AdGuardHome">
|
||||
<img src="https://travis-ci.org/AdguardTeam/AdGuardHome.svg" alt="Build status" />
|
||||
</a>
|
||||
<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" />
|
||||
</a>
|
||||
@@ -26,9 +23,19 @@
|
||||
<a href="https://golangci.com/r/github.com/AdguardTeam/AdGuardHome">
|
||||
<img src="https://golangci.com/badges/github.com/AdguardTeam/AdGuardHome.svg" alt="GolangCI" />
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/AdguardTeam/AdGuardHome/releases">
|
||||
<img src="https://img.shields.io/github/release/AdguardTeam/AdGuardHome/all.svg" alt="Latest release" />
|
||||
</a>
|
||||
<a href="https://snapcraft.io/adguard-home">
|
||||
<img alt="adguard-home" src="https://snapcraft.io/adguard-home/badge.svg" />
|
||||
</a>
|
||||
<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" />
|
||||
</a>
|
||||
<a href="https://hub.docker.com/r/adguard/adguardhome">
|
||||
<img alt="Docker Stars" src="https://img.shields.io/docker/stars/adguard/adguardhome.svg?maxAge=604800" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<br />
|
||||
@@ -53,12 +60,16 @@ It operates as a DNS server that re-routes tracking domains to a "black hole," t
|
||||
* [Test unstable versions](#test-unstable-versions)
|
||||
* [Reporting issues](#reporting-issues)
|
||||
* [Help with translations](#translate)
|
||||
* [Other](#help-other)
|
||||
* [Projects that use AdGuardHome](#uses)
|
||||
* [Acknowledgments](#acknowledgments)
|
||||
|
||||
<a id="getting-started"></a>
|
||||
## Getting Started
|
||||
|
||||
Please read the [Getting Started](https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started) article on our Wiki to learn how to install AdGuard Home, and how to configure your devices to use it.
|
||||
Please read the **[Getting Started](https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started)** article on our Wiki to learn how to install AdGuard Home, and how to configure your devices to use it.
|
||||
|
||||
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).
|
||||
|
||||
Alternatively, you can use our [official Docker image](https://hub.docker.com/r/adguard/adguardhome).
|
||||
|
||||
@@ -68,6 +79,7 @@ Alternatively, you can use our [official Docker image](https://hub.docker.com/r/
|
||||
* [AdGuard Home as a DNS-over-HTTPS or DNS-over-TLS server](https://github.com/AdguardTeam/AdGuardHome/wiki/Encryption)
|
||||
* [How to install and run AdGuard Home on 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)
|
||||
* [How to write your own hosts blocklists properly](https://github.com/AdguardTeam/AdGuardHome/wiki/Hosts-Blocklists)
|
||||
|
||||
### API
|
||||
|
||||
@@ -107,10 +119,10 @@ AdGuard Home provides a lot of features out-of-the-box with no need to install a
|
||||
| Encrypted DNS upstream servers (DNS-over-HTTPS, DNS-over-TLS, DNSCrypt) | ✅ | ❌ (requires additional software) |
|
||||
| Cross-platform | ✅ | ❌ (not natively, only via Docker) |
|
||||
| Running as a DNS-over-HTTPS or DNS-over-TLS server | ✅ | ❌ (requires additional software) |
|
||||
| Blocking phishing and malware domains | ✅ | ❌ |
|
||||
| Blocking phishing and malware domains | ✅ | ❌ (requires non-default blocklists) |
|
||||
| Parental control (blocking adult domains) | ✅ | ❌ |
|
||||
| Force Safe search on search engines | ✅ | ❌ |
|
||||
| Per-client (device) configuration | ✅ | ❌ |
|
||||
| Per-client (device) configuration | ✅ | ✅ |
|
||||
| Access settings (choose who can use AGH DNS) | ✅ | ❌ |
|
||||
|
||||
<a id="comparison-adblock"></a>
|
||||
@@ -118,24 +130,34 @@ AdGuard Home provides a lot of features out-of-the-box with no need to install a
|
||||
|
||||
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). However, this level of protection is enough for some users.
|
||||
"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).
|
||||
|
||||
However, 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 tradtional ad blockers).
|
||||
|
||||
**Known limitations**
|
||||
|
||||
Here are some examples of what cannot be blocked by a DNS-level blocker:
|
||||
|
||||
* 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.
|
||||
|
||||
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 complicated configuration.
|
||||
|
||||
<a id="how-to-build"></a>
|
||||
## How to build from source
|
||||
|
||||
### Prerequisites
|
||||
|
||||
You will need:
|
||||
Run `make init` to prepare the development environment.
|
||||
|
||||
* [go](https://golang.org/dl/) v1.12 or later.
|
||||
You will need this to build AdGuard Home:
|
||||
|
||||
* [go](https://golang.org/dl/) v1.14 or later.
|
||||
* [node.js](https://nodejs.org/en/download/) v10 or later.
|
||||
|
||||
You can either install it via the provided links or use [brew.sh](https://brew.sh/) if you're on Mac:
|
||||
|
||||
```bash
|
||||
brew install go node
|
||||
```
|
||||
|
||||
* [golangci-lint](https://github.com/golangci/golangci-lint)
|
||||
|
||||
### Building
|
||||
|
||||
Open Terminal and execute these commands:
|
||||
@@ -146,15 +168,46 @@ cd AdGuardHome
|
||||
make
|
||||
```
|
||||
|
||||
#### (For devs) Upload translations
|
||||
Check the [`Makefile`](https://github.com/AdguardTeam/AdGuardHome/blob/master/Makefile) to learn about other commands.
|
||||
|
||||
**Building for a different platform.** You can build AdGuard for any OS/ARCH just like any other Golang project.
|
||||
In order to do this, specify `GOOS` and `GOARCH` env variables before running make.
|
||||
|
||||
For example:
|
||||
```
|
||||
node upload.js
|
||||
GOOS=linux GOARCH=arm64 make
|
||||
```
|
||||
|
||||
#### (For devs) Download translations
|
||||
```
|
||||
node download.js
|
||||
```
|
||||
#### Preparing release
|
||||
|
||||
You'll need this to prepare a release build:
|
||||
|
||||
* [goreleaser](https://goreleaser.com/)
|
||||
* [snapcraft](https://snapcraft.io/)
|
||||
|
||||
Commands:
|
||||
|
||||
* `make release` - builds a snapshot build (CHANNEL=edge)
|
||||
* `CHANNEL=beta make release` - builds beta version, tag is mandatory.
|
||||
* `CHANNEL=release make release` - builds release version, tag is mandatory.
|
||||
|
||||
#### Docker image
|
||||
|
||||
* Run `make docker` to build the Docker image locally.
|
||||
* Run `make docker-multi-arch` to build the multi-arch Docker image (the one that we publish to Docker Hub).
|
||||
|
||||
Please note, that we're using [Docker Buildx](https://docs.docker.com/buildx/working-with-buildx/) to build our official image.
|
||||
|
||||
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`
|
||||
* Prepare builder: `docker buildx create --name buildx-builder --driver docker-container --use`
|
||||
|
||||
|
||||
### Resources that we update periodically
|
||||
|
||||
* `scripts/translations`
|
||||
* `scripts/whotracksme`
|
||||
|
||||
<a id="contributing"></a>
|
||||
## Contributing
|
||||
@@ -164,22 +217,41 @@ You are welcome to fork this repository, make your changes and submit a pull req
|
||||
<a id="test-unstable-versions"></a>
|
||||
### Test unstable versions
|
||||
|
||||
There are two options how you can install an unstable version.
|
||||
You can either install a beta version of AdGuard Home which we update periodically,
|
||||
or you can use the Docker image from the `edge` tag, which is synced with the repo master branch.
|
||||
There are two update channels that you can use:
|
||||
|
||||
* `beta` - beta version 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.
|
||||
|
||||
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.
|
||||
2. [Docker Hub](https://hub.docker.com/r/adguard/adguardhome) -- look for "beta" and "edge" tags there.
|
||||
3. Standalone builds. Look for the available builds below.
|
||||
|
||||
There are three options how you can install an unstable version.
|
||||
|
||||
1. You can either install a beta or edge version of AdGuard Home which we update periodically. If you're already using stable version of AdGuard Home, just replace the executable with a new one.
|
||||
2. You can use the Docker image from the `edge` tag, which is synced with the repo master branch.
|
||||
3. You can install AdGuard Home from `beta` or `edge` channels on the Snap Store.
|
||||
|
||||
* Beta channel builds
|
||||
* 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 Rapsberry Pi), [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)
|
||||
* 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)
|
||||
|
||||
* Edge channel builds
|
||||
* 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)
|
||||
* Linux ARM: [32-bit ARMv6](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv6.tar.gz) (recommended for Rapsberry Pi), [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)
|
||||
* 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)
|
||||
* 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)
|
||||
* 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)
|
||||
|
||||
* [Docker Hub](https://hub.docker.com/r/adguard/adguardhome)
|
||||
* Beta builds
|
||||
* [Rapsberry Pi (32-bit ARM)](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_arm.tar.gz)
|
||||
* [MacOS](https://static.adguard.com/adguardhome/beta/AdGuardHome_MacOS.zip)
|
||||
* [Windows 64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_Windows_amd64.zip)
|
||||
* [Windows 32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_Windows_386.zip)
|
||||
* [Linux 64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_amd64.tar.gz)
|
||||
* [Linux 32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_386.tar.gz)
|
||||
* [FreeBSD 64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_amd64.tar.gz)
|
||||
* [64-bit ARM](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_arm64.tar.gz)
|
||||
* [MIPS](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mips.tar.gz)
|
||||
* [MIPSLE](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mipsle.tar.gz)
|
||||
|
||||
<a id="reporting-issues"></a>
|
||||
### Report issues
|
||||
@@ -193,6 +265,24 @@ If you want to help with AdGuard Home translations, please learn more about tran
|
||||
|
||||
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:
|
||||
|
||||
1. [Look for issues](https://github.com/AdguardTeam/AdGuardHome/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+) marked as "help wanted".
|
||||
2. Actualize the list of *Blocked services*. It it can be found in [dnsfilter/blocked_services.go](https://github.com/AdguardTeam/AdGuardHome/blob/master/dnsfilter/blocked_services.go).
|
||||
3. Actualize the list of known *trackers*. It it can be found in [client/src/helpers/trackers/adguard.json](https://github.com/AdguardTeam/AdGuardHome/blob/master/client/src/helpers/trackers/adguard.json).
|
||||
4. Actualize the list of vetted *blocklists*. It it can be found in [client/src/helpers/filters/filters.json](https://github.com/AdguardTeam/AdGuardHome/blob/master/client/src/helpers/filters/filters.json).
|
||||
|
||||
<a id="uses"></a>
|
||||
## Projects that use AdGuardHome
|
||||
|
||||
* Python library (https://github.com/frenck/python-adguardhome)
|
||||
* Hass.io add-on (https://github.com/hassio-addons/addon-adguard-home)
|
||||
* OpenWrt LUCI app (https://github.com/rufengsuixing/luci-app-adguardhome)
|
||||
|
||||
|
||||
<a id="acknowledgments"></a>
|
||||
## Acknowledgments
|
||||
|
||||
|
||||
BIN
agh-arch.png
BIN
agh-arch.png
Binary file not shown.
|
Before Width: | Height: | Size: 84 KiB |
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eE
|
||||
set -o pipefail
|
||||
set -x
|
||||
|
||||
DOCKERFILE="Dockerfile.travis"
|
||||
IMAGE_NAME="adguard/adguardhome"
|
||||
|
||||
if [[ "${TRAVIS_BRANCH}" == "master" ]]
|
||||
then
|
||||
VERSION="edge"
|
||||
else
|
||||
VERSION=`git describe --abbrev=4 --dirty --always --tags`
|
||||
fi
|
||||
|
||||
build_image() {
|
||||
from="$(awk '$1 == toupper("FROM") { print $2 }' ${DOCKERFILE})"
|
||||
|
||||
# See https://hub.docker.com/r/multiarch/alpine/tags
|
||||
case "${GOARCH}" in
|
||||
arm64)
|
||||
alpineArch='arm64-edge'
|
||||
imageArch='arm64'
|
||||
;;
|
||||
arm)
|
||||
alpineArch='armhf-edge'
|
||||
imageArch='armhf'
|
||||
;;
|
||||
386)
|
||||
alpineArch='i386-edge'
|
||||
imageArch='i386'
|
||||
;;
|
||||
amd64)
|
||||
alpineArch='amd64-edge'
|
||||
;;
|
||||
*)
|
||||
alpineArch='amd64-edge'
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${GOOS}" == "linux" ]] && [[ "${GOARCH}" == "amd64" ]]
|
||||
then
|
||||
image="${IMAGE_NAME}:${VERSION}"
|
||||
else
|
||||
image="${IMAGE_NAME}:${imageArch}-${VERSION}"
|
||||
fi
|
||||
|
||||
make cleanfast; CGO_DISABLED=1 make
|
||||
|
||||
docker pull "multiarch/alpine:${alpineArch}"
|
||||
docker tag "multiarch/alpine:${alpineArch}" "$from"
|
||||
docker build -t "${image}" -f ${DOCKERFILE} .
|
||||
docker push ${image}
|
||||
if [[ "${VERSION}" != "edge" ]]
|
||||
then
|
||||
latest=${image/$VERSION/latest}
|
||||
docker tag "${image}" "${latest}"
|
||||
docker push ${latest}
|
||||
docker rmi ${latest}
|
||||
fi
|
||||
docker rmi "$from"
|
||||
}
|
||||
|
||||
# prepare qemu
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
|
||||
make clean
|
||||
|
||||
# Prepare releases
|
||||
GOOS=linux GOARCH=amd64 build_image
|
||||
GOOS=linux GOARCH=386 build_image
|
||||
GOOS=linux GOARCH=arm GOARM=6 build_image
|
||||
GOOS=linux GOARCH=arm64 GOARM=6 build_image
|
||||
@@ -1,9 +1,9 @@
|
||||
module.exports = {
|
||||
"disableEmoji": true,
|
||||
"list": [
|
||||
"+",
|
||||
"*",
|
||||
"-",
|
||||
"+ ",
|
||||
"* ",
|
||||
"- ",
|
||||
],
|
||||
"maxMessageLength": 64,
|
||||
"minMessageLength": 3,
|
||||
@@ -12,32 +12,34 @@ module.exports = {
|
||||
"scope",
|
||||
"subject",
|
||||
"body",
|
||||
"issues"
|
||||
"issues",
|
||||
],
|
||||
"scopes": [
|
||||
"",
|
||||
"ui",
|
||||
"global",
|
||||
"dnsfilter",
|
||||
"home",
|
||||
"dnsforward",
|
||||
"dhcpd",
|
||||
"documentation"
|
||||
"querylog",
|
||||
"documentation",
|
||||
],
|
||||
"types": {
|
||||
"+": {
|
||||
"+ ": {
|
||||
"description": "A new feature",
|
||||
"emoji": "",
|
||||
"value": "+"
|
||||
"value": "+ "
|
||||
},
|
||||
"*": {
|
||||
"* ": {
|
||||
"description": "A code change that neither fixes a bug or adds a feature",
|
||||
"emoji": "",
|
||||
"value": "*"
|
||||
"value": "* "
|
||||
},
|
||||
"-": {
|
||||
"- ": {
|
||||
"description": "A bug fix",
|
||||
"emoji": "",
|
||||
"value": "-"
|
||||
"value": "- "
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
36
ci.sh
36
ci.sh
@@ -1,36 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
set -x
|
||||
|
||||
echo "Starting AdGuard Home CI script"
|
||||
|
||||
# Print the current directory contents
|
||||
ls -la
|
||||
|
||||
# Check versions and current directory
|
||||
node -v
|
||||
npm -v
|
||||
go version
|
||||
golangci-lint --version
|
||||
|
||||
# Run linter
|
||||
golangci-lint run
|
||||
|
||||
# Run tests
|
||||
go test -race -v -bench=. -coverprofile=coverage.txt -covermode=atomic ./...
|
||||
|
||||
# Make
|
||||
make clean
|
||||
make build/static/index.html
|
||||
make
|
||||
|
||||
# if [[ -z "$(git status --porcelain)" ]]; then
|
||||
# # Working directory clean
|
||||
# echo "Git status is clean"
|
||||
# else
|
||||
# echo "Git status is not clean and contains uncommited changes"
|
||||
# echo "Please make sure there are no changes"
|
||||
# exit 1
|
||||
# fi
|
||||
|
||||
echo "AdGuard Home CI script finished successfully"
|
||||
8
client/.eslintrc → client/.eslintrc.json
vendored
8
client/.eslintrc → client/.eslintrc.json
vendored
@@ -17,6 +17,11 @@
|
||||
"react": {
|
||||
"pragma": "React",
|
||||
"version": "16.4"
|
||||
},
|
||||
"import/resolver": {
|
||||
"webpack": {
|
||||
"config": "webpack.common.js"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -48,6 +53,7 @@
|
||||
"camelcase": "off",
|
||||
"no-console": ["warn", { "allow": ["warn", "error"] }],
|
||||
"import/no-extraneous-dependencies": ["error", { "devDependencies": true }],
|
||||
"import/prefer-default-export": "off"
|
||||
"import/prefer-default-export": "off",
|
||||
"no-alert": "off"
|
||||
}
|
||||
}
|
||||
1
client/.gitattributes
vendored
Normal file
1
client/.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.js text eol=lf
|
||||
16
client/babel.config.js
vendored
Normal file
16
client/babel.config.js
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
module.exports = (api) => {
|
||||
api.cache(false);
|
||||
return {
|
||||
presets: [
|
||||
'@babel/preset-env',
|
||||
'@babel/preset-react',
|
||||
],
|
||||
plugins: [
|
||||
'@babel/plugin-proposal-class-properties',
|
||||
'@babel/plugin-transform-runtime',
|
||||
'@babel/plugin-proposal-object-rest-spread',
|
||||
'@babel/plugin-proposal-nullish-coalescing-operator',
|
||||
'@babel/plugin-proposal-optional-chaining',
|
||||
],
|
||||
};
|
||||
};
|
||||
5
client/jest.config.js
vendored
Normal file
5
client/jest.config.js
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
transform: {
|
||||
'^.+\\.jsx?$': 'babel-jest',
|
||||
},
|
||||
};
|
||||
18576
client/package-lock.json
generated
vendored
18576
client/package-lock.json
generated
vendored
File diff suppressed because it is too large
Load Diff
172
client/package.json
vendored
172
client/package.json
vendored
@@ -1,78 +1,98 @@
|
||||
{
|
||||
"name": "dashboard",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build-dev": "NODE_ENV=development ./node_modules/.bin/webpack --config webpack.dev.js",
|
||||
"watch": "NODE_ENV=development ./node_modules/.bin/webpack --config webpack.dev.js --watch",
|
||||
"build-prod": "NODE_ENV=production ./node_modules/.bin/webpack --config webpack.prod.js",
|
||||
"lint": "eslint client/"
|
||||
},
|
||||
"dependencies": {
|
||||
"@nivo/line": "^0.49.1",
|
||||
"axios": "^0.19.0",
|
||||
"classnames": "^2.2.6",
|
||||
"date-fns": "^1.29.0",
|
||||
"i18next": "^12.0.0",
|
||||
"i18next-browser-languagedetector": "^2.2.3",
|
||||
"lodash": "^4.17.15",
|
||||
"nanoid": "^1.2.3",
|
||||
"prop-types": "^15.7.2",
|
||||
"react": "^16.4.0",
|
||||
"react-click-outside": "^3.0.1",
|
||||
"react-dom": "^16.4.0",
|
||||
"react-i18next": "^8.2.0",
|
||||
"react-modal": "^3.4.5",
|
||||
"react-redux": "^5.0.7",
|
||||
"react-redux-loading-bar": "^4.0.7",
|
||||
"react-router-dom": "^4.2.2",
|
||||
"react-router-hash-link": "^1.2.2",
|
||||
"react-table": "^6.10.3",
|
||||
"react-transition-group": "^2.4.0",
|
||||
"redux": "^4.0.0",
|
||||
"redux-actions": "^2.4.0",
|
||||
"redux-form": "^7.4.2",
|
||||
"redux-thunk": "^2.3.0",
|
||||
"svg-url-loader": "^2.3.2",
|
||||
"url-polyfill": "^1.1.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^8.6.3",
|
||||
"babel-core": "6.26.0",
|
||||
"babel-eslint": "^8.2.3",
|
||||
"babel-loader": "7.1.2",
|
||||
"babel-plugin-transform-runtime": "^6.23.0",
|
||||
"babel-preset-env": "^1.7.0",
|
||||
"babel-preset-react": "^6.24.1",
|
||||
"babel-preset-stage-2": "^6.24.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"clean-webpack-plugin": "^0.1.19",
|
||||
"compression-webpack-plugin": "^1.1.11",
|
||||
"copy-webpack-plugin": "^4.6.0",
|
||||
"css-loader": "^2.1.1",
|
||||
"eslint": "^4.19.1",
|
||||
"eslint-config-airbnb-base": "^12.1.0",
|
||||
"eslint-config-react-app": "^2.1.0",
|
||||
"eslint-loader": "1.9.0",
|
||||
"eslint-plugin-import": "^2.12.0",
|
||||
"eslint-plugin-jsx-a11y": "5.1.1",
|
||||
"eslint-plugin-react": "^7.9.1",
|
||||
"extract-text-webpack-plugin": "^3.0.2",
|
||||
"file-loader": "1.1.5",
|
||||
"html-webpack-plugin": "^3.2.0",
|
||||
"postcss-flexbugs-fixes": "3.2.0",
|
||||
"postcss-import": "^11.1.0",
|
||||
"postcss-loader": "^2.1.5",
|
||||
"postcss-mixins": "^6.2.0",
|
||||
"postcss-preset-env": "^5.1.0",
|
||||
"postcss-svg": "^2.4.0",
|
||||
"style-loader": "^0.21.0",
|
||||
"stylelint": "^9.10.1",
|
||||
"stylelint-webpack-plugin": "0.10.4",
|
||||
"uglifyjs-webpack-plugin": "^1.2.7",
|
||||
"url-loader": "^1.0.1",
|
||||
"webpack": "3.8.1",
|
||||
"webpack-dev-server": "^3.1.14",
|
||||
"webpack-merge": "^4.1.3"
|
||||
}
|
||||
"name": "dashboard",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build-dev": "cross-env BUILD_ENV=dev webpack --config webpack.dev.js",
|
||||
"watch": "cross-env BUILD_ENV=dev webpack --config webpack.dev.js --watch",
|
||||
"build-prod": "cross-env BUILD_ENV=prod webpack --config webpack.prod.js",
|
||||
"lint": "eslint src",
|
||||
"lint:fix": "eslint src --fix",
|
||||
"test": "jest",
|
||||
"test:watch": "jest --watch"
|
||||
},
|
||||
"dependencies": {
|
||||
"@nivo/line": "^0.49.1",
|
||||
"axios": "^0.19.2",
|
||||
"classnames": "^2.2.6",
|
||||
"date-fns": "^1.29.0",
|
||||
"i18next": "^19.4.4",
|
||||
"i18next-browser-languagedetector": "^4.2.0",
|
||||
"ipaddr.js": "^1.9.1",
|
||||
"lodash": "^4.17.19",
|
||||
"nanoid": "^3.1.9",
|
||||
"prop-types": "^15.7.2",
|
||||
"query-string": "^6.13.1",
|
||||
"react": "^16.13.1",
|
||||
"react-click-outside": "^3.0.1",
|
||||
"react-dom": "^16.13.1",
|
||||
"react-i18next": "^11.4.0",
|
||||
"react-modal": "^3.11.2",
|
||||
"react-popper-tooltip": "^2.11.1",
|
||||
"react-redux": "^7.2.0",
|
||||
"react-redux-loading-bar": "^4.6.0",
|
||||
"react-router-dom": "^5.2.0",
|
||||
"react-router-hash-link": "^1.2.2",
|
||||
"react-select": "^3.1.0",
|
||||
"react-table": "^6.11.4",
|
||||
"react-transition-group": "^4.4.1",
|
||||
"redux": "^4.0.5",
|
||||
"redux-actions": "^2.6.5",
|
||||
"redux-form": "^8.3.5",
|
||||
"redux-thunk": "^2.3.0",
|
||||
"url-polyfill": "^1.1.9"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.9.6",
|
||||
"@babel/plugin-proposal-class-properties": "^7.8.3",
|
||||
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4",
|
||||
"@babel/plugin-proposal-object-rest-spread": "^7.9.6",
|
||||
"@babel/plugin-proposal-optional-chaining": "^7.10.4",
|
||||
"@babel/plugin-transform-runtime": "^7.9.6",
|
||||
"@babel/preset-env": "^7.9.6",
|
||||
"@babel/preset-react": "^7.9.4",
|
||||
"autoprefixer": "^9.8.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"babel-loader": "^8.1.0",
|
||||
"clean-webpack-plugin": "^3.0.0",
|
||||
"copy-webpack-plugin": "^6.0.1",
|
||||
"cross-env": "^7.0.2",
|
||||
"css-loader": "^3.5.3",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-config-airbnb": "^18.1.0",
|
||||
"eslint-import-resolver-webpack": "^0.12.1",
|
||||
"eslint-loader": "^4.0.2",
|
||||
"eslint-plugin-import": "^2.20.2",
|
||||
"eslint-plugin-jsx-a11y": "^6.2.3",
|
||||
"eslint-plugin-react": "^7.20.0",
|
||||
"eslint-plugin-react-hooks": "^2.5.0",
|
||||
"file-loader": "6.0.0",
|
||||
"html-webpack-plugin": "^4.3.0",
|
||||
"jest": "^26.0.1",
|
||||
"mini-css-extract-plugin": "^0.9.0",
|
||||
"path": "^0.12.7",
|
||||
"postcss-flexbugs-fixes": "4.2.1",
|
||||
"postcss-loader": "^3.0.0",
|
||||
"style-loader": "^1.2.1",
|
||||
"stylelint": "^13.5.0",
|
||||
"stylelint-webpack-plugin": "2.0.0",
|
||||
"url-loader": "^4.1.0",
|
||||
"webpack": "^4.43.0",
|
||||
"webpack-cli": "^3.3.11",
|
||||
"webpack-dev-server": "^3.11.0",
|
||||
"webpack-merge": "^4.2.2"
|
||||
},
|
||||
"browserslist": {
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
],
|
||||
"production": [
|
||||
">1%",
|
||||
"last 4 versions",
|
||||
"Firefox ESR",
|
||||
"not ie < 9"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
BIN
client/public/assets/apple-touch-icon-180x180.png
Normal file
BIN
client/public/assets/apple-touch-icon-180x180.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
8
client/public/assets/safari-pinned-tab.svg
Normal file
8
client/public/assets/safari-pinned-tab.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16pt" height="16pt"
|
||||
viewBox="0 0 16 16" version="1.1">
|
||||
<g id="surface1">
|
||||
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;"
|
||||
d="M 8 0 C 10.5 0 13.515625 0.574219 16 1.835938 L 15.996094 2.542969 C 15.957031 5.605469 15.410156 11.71875 8 16 C 0.5 11.667969 0.03125 5.460938 0.00390625 2.433594 L 0 1.835938 C 2.484375 0.574219 5.5 0 8 0 Z M 11.769531 4.203125 L 11.761719 4.203125 L 7.890625 8.160156 L 6.433594 6.4375 C 5.738281 5.644531 4.792969 6.25 4.570312 6.40625 L 7.929688 10.285156 L 12.570312 4.136719 C 12.230469 3.867188 11.933594 4.054688 11.769531 4.203125 Z M 11.769531 4.203125 "/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 801 B |
@@ -2,10 +2,16 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, shrink-to-fit=no">
|
||||
<meta name="theme-color" content="#000000">
|
||||
<meta name="google" content="notranslate">
|
||||
<link rel="icon" type="image/png" href="favicon.png" sizes="48x48">
|
||||
<meta http-equiv="x-dns-prefetch-control" content="off">
|
||||
<meta name="mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/apple-touch-icon-180x180.png" />
|
||||
<link rel="mask-icon" href="assets/safari-pinned-tab.svg" color="#67B279">
|
||||
<link rel="icon" type="image/png" href="assets/favicon.png" sizes="48x48">
|
||||
<title>AdGuard Home</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -2,10 +2,15 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, shrink-to-fit=no">
|
||||
<meta name="theme-color" content="#000000">
|
||||
<meta name="google" content="notranslate">
|
||||
<link rel="icon" type="image/png" href="favicon.png" sizes="48x48">
|
||||
<meta name="mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/apple-touch-icon-180x180.png" />
|
||||
<link rel="mask-icon" href="assets/safari-pinned-tab.svg" color="#67B279">
|
||||
<link rel="icon" type="image/png" href="assets/favicon.png" sizes="48x48">
|
||||
<title>Setup AdGuard Home</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -2,10 +2,15 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, shrink-to-fit=no">
|
||||
<meta name="theme-color" content="#000000">
|
||||
<meta name="google" content="notranslate">
|
||||
<link rel="icon" type="image/png" href="favicon.png" sizes="48x48">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/apple-touch-icon-180x180.png" />
|
||||
<meta name="mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||||
<link rel="mask-icon" href="assets/safari-pinned-tab.svg" color="#67B279">
|
||||
<link rel="icon" type="image/png" href="assets/favicon.png" sizes="48x48">
|
||||
<title>Login</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -28,6 +28,9 @@
|
||||
"dhcp_table_hostname": "Име на устройство",
|
||||
"dhcp_table_expires": "История",
|
||||
"dhcp_warning": "Ако искате да използвате вградения DHCP сървър, трябва да няма друг активен DHCP в мрежата Ви!",
|
||||
"city": "Град",
|
||||
"response_details": "Подробности за отговора",
|
||||
"request_details": "Поискайте подробности",
|
||||
"back": "Назад",
|
||||
"dashboard": "Табло",
|
||||
"settings": "Настройки",
|
||||
@@ -35,7 +38,8 @@
|
||||
"query_log": "История на заявките",
|
||||
"faq": "ЧЗВ",
|
||||
"version": "версия",
|
||||
"address": "адрес",
|
||||
"address": "Адрес",
|
||||
"protocol": "Протокол",
|
||||
"on": "ВКЛЮЧЕНО",
|
||||
"off": "ИЗКЛЮЧЕНО",
|
||||
"copyright": "Авторско право",
|
||||
@@ -47,6 +51,7 @@
|
||||
"disabled_protection": "Защитата е забранена",
|
||||
"refresh_statics": "Обнови статистиката",
|
||||
"dns_query": "DNS запитвания",
|
||||
"blocked_by": "<0>Блокирани от</0>",
|
||||
"stats_malware_phishing": "вируси/атаки",
|
||||
"stats_adult": "сайтове за възрастни",
|
||||
"stats_query_domain": "Най-отваряни страници",
|
||||
@@ -57,6 +62,7 @@
|
||||
"top_clients": "Най-активни IP адреси",
|
||||
"no_clients_found": "Нямa намерени адреси",
|
||||
"general_statistics": "Обща статисика",
|
||||
"number_of_dns_query_24_hours": "Сума на DNS заявки за последните 24 часа",
|
||||
"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_adult": "Сума на блокирани сайтове за възрастни",
|
||||
@@ -88,21 +94,14 @@
|
||||
"enabled_save_search_toast": "Разреши Безопасно Търсене",
|
||||
"enabled_table_header": "Разреши",
|
||||
"name_table_header": "Име",
|
||||
"filter_url_table_header": "URL филтър",
|
||||
"rules_count_table_header": "Правила общо",
|
||||
"last_time_updated_table_header": "Последно обновен",
|
||||
"actions_table_header": "Действия",
|
||||
"delete_table_action": "Изтрий",
|
||||
"filters_and_hosts": "Черни списъци с общи и местни филтри",
|
||||
"filters_and_hosts_hint": "AdGuard Home разбира adblock и host синтаксис.",
|
||||
"no_filters_added": "Няма добавени филтри",
|
||||
"add_filter_btn": "Добави филтър",
|
||||
"cancel_btn": "Откажи",
|
||||
"enter_name_hint": "Въведи име",
|
||||
"enter_url_hint": "Въведи URL",
|
||||
"check_updates_btn": "Провери за актуализация",
|
||||
"new_filter_btn": "Въведи нов филтър",
|
||||
"enter_valid_filter_url": "Моля въведете валиден URL за филтъра или проверете host правописа.",
|
||||
"custom_filter_rules": "Местни правила за филтриране",
|
||||
"custom_filter_rules_hint": "Въвеждайте всяко правило на нов ред. Може да използвате adblock или hosts файлов синтаксис.",
|
||||
"examples_title": "Примери",
|
||||
@@ -112,18 +111,19 @@
|
||||
"example_comment": "! Това е коментар",
|
||||
"example_comment_meaning": "пример за коментар",
|
||||
"example_comment_hash": "# Това е също коментар",
|
||||
"example_regex_meaning": "блокирай достъп до домейни който съвпадат със следното",
|
||||
"example_upstream_regular": "класически DNS (UDP протокол)",
|
||||
"example_upstream_dot": "криптиран <a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-върху-TLS</a>",
|
||||
"example_upstream_doh": "криптиран <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-върху-HTTPS</a>",
|
||||
"example_upstream_sdns": "може да ползвате <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS Подписване</a> за <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> или <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-върху-HTTPS</a> сървъри",
|
||||
"example_upstream_tcp": "класически DNS (TCP протокол)",
|
||||
"all_filters_up_to_date_toast": "Всички филти са актуализирани",
|
||||
"updated_upstream_dns_toast": "Глобалните DNS сървъри са обновени",
|
||||
"dns_test_ok_toast": "Въведените DNS сървъри работят коректно",
|
||||
"dns_test_not_ok_toast": "Сървър \"{{key}}\": не работи, моля проверете дали е въведен коректно",
|
||||
"unblock_btn": "Отблокирай",
|
||||
"block_btn": "Блокирай",
|
||||
"unblock": "Отблокирай",
|
||||
"block": "Блокирай",
|
||||
"time_table_header": "Време",
|
||||
"date": "Дата",
|
||||
"domain_name_table_header": "Име на домейн",
|
||||
"type_table_header": "Тип",
|
||||
"response_table_header": "Отговор",
|
||||
@@ -137,16 +137,15 @@
|
||||
"next_btn": "Следващ",
|
||||
"loading_table_status": "Зареждане...",
|
||||
"page_table_footer_text": "Страница",
|
||||
"of_table_footer_text": "от",
|
||||
"rows_table_footer_text": "редове",
|
||||
"updated_custom_filtering_toast": "Обновени местни правила за филтриране",
|
||||
"rule_removed_from_custom_filtering_toast": "Премахнато от местни правила за филтриране",
|
||||
"rule_added_to_custom_filtering_toast": "Добавено до местни правила за филтриране",
|
||||
"plain_dns": "Обикновен DNS",
|
||||
"source_label": "Източник",
|
||||
"found_in_known_domain_db": "Намерен в списъците с домейни.",
|
||||
"category_label": "Категория",
|
||||
"rule_label": "Правило",
|
||||
"filter_label": "Филтър",
|
||||
"unknown_filter": "Непознат филтър {{filterId}}",
|
||||
"install_welcome_title": "Добре дошли в AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home e мрежово решение за блокиране на реклами и тракери на DNS ниво. Създадено е за да ви даде пълен контрол над мрежата и всичките ви устройства, без да е необходимо допълнително инсталиране на друг софтуер.",
|
||||
@@ -159,6 +158,7 @@
|
||||
"install_settings_dns_desc": "За да работи, ще трябва да настроите вашият рутер или устройства да ползват DNS сървър с адрес:",
|
||||
"install_settings_all_interfaces": "Всички интерфейси",
|
||||
"install_auth_title": "Удостоверяване",
|
||||
"install_auth_desc": "Много е важно да зададете име и парола за достъп до вашия панел за администрация на AdGuard Home. Препоръчваме ви да зададете име и парола независимо че го ползвате само в къщи.",
|
||||
"install_auth_username": "Потребител",
|
||||
"install_auth_password": "Парола",
|
||||
"install_auth_confirm": "Потвърдете паролата",
|
||||
@@ -234,5 +234,8 @@
|
||||
"form_error_equal": "Не трябва да съвпада",
|
||||
"form_error_password": "Паролата не съвпада",
|
||||
"reset_settings": "Изтрий всички настройки",
|
||||
"update_announcement": "Има нова AdGuard Home {{version}}! <0>Цъкни тук</0> за повече информация."
|
||||
"update_announcement": "Има нова AdGuard Home {{version}}! <0>Цъкни тук</0> за повече информация.",
|
||||
"disable_ipv6": "Изключете IPv6 протокола",
|
||||
"show_blocked_responses": "Блокирано",
|
||||
"port_53_faq_link": "Порт 53 често е зает от \"DNSStubListener\" или \"systemd-resolved\" услуги. Моля, прочетете <0>тази инструкция</0> как да решите това."
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "Nastavení klienta",
|
||||
"example_upstream_reserved": "můžete zadat DNS upstream <0>pro konkrétní doménu(y)</0>",
|
||||
"upstream_parallel": "Použijte paralelní dotazy na urychlení řešení simultánním dotazováním na všechny navazující servery",
|
||||
"example_upstream_reserved": "Můžete zadat DNS upstream <0>pro konkrétní doménu(y)</0>",
|
||||
"upstream_parallel": "Použijte paralelní požadavky na urychlení řešení simultánním dotazováním na všechny navazující servery",
|
||||
"parallel_requests": "Paralelní požadavky",
|
||||
"load_balancing": "Optimalizace vytížení",
|
||||
"load_balancing_desc": "Optimalizovaný dotaz na server. AdGuard Home použije vážený náhodný algoritmus k výběru serveru, takže nejrychlejší server bude používán častěji.",
|
||||
"bootstrap_dns": "Bootstrap DNS servery",
|
||||
"bootstrap_dns_desc": "Servery Bootstrap DNS se používají k řešení IP adres DoH/DoT, které zadáváte jako upstreamy.",
|
||||
"check_dhcp_servers": "Zkontrolovat DHCP servery",
|
||||
@@ -19,9 +22,13 @@
|
||||
"dhcp_leases_not_found": "Nebyly nalezeny žádné pronájmy DHCP",
|
||||
"dhcp_config_saved": "Konfigurace DHCP serveru byla uložena",
|
||||
"form_error_required": "Povinné pole",
|
||||
"form_error_ip_format": "Neplatný formát IPv4",
|
||||
"form_error_ip4_format": "Neplatný formát IPv4",
|
||||
"form_error_ip6_format": "Neplatný formát IPv6",
|
||||
"form_error_ip_format": "Neplatný formát IP",
|
||||
"form_error_mac_format": "Neplatný formát MAC",
|
||||
"form_error_client_id_format": "Neplatný formát ID klienta",
|
||||
"form_error_positive": "Musí být větší než 0",
|
||||
"form_error_negative": "Musí být rovno nebo větší než 0",
|
||||
"dhcp_form_gateway_input": "IP brána",
|
||||
"dhcp_form_subnet_input": "Maska podsítě",
|
||||
"dhcp_form_range_title": "Rozsah IP adres",
|
||||
@@ -32,6 +39,7 @@
|
||||
"dhcp_interface_select": "Vybrat rozhraní DHCP",
|
||||
"dhcp_hardware_address": "Hardwarová adresa",
|
||||
"dhcp_ip_addresses": "IP adresa",
|
||||
"ip": "IP adresa",
|
||||
"dhcp_table_hostname": "Název hostitele",
|
||||
"dhcp_table_expires": "Vyprší",
|
||||
"dhcp_warning": "Pokud chcete server DHCP povolit, ujistěte se, že ve Vaší síti není žádný aktivní server DHCP. V opačném případě může dojít k přerušení internetu pro připojená zařízení!",
|
||||
@@ -43,17 +51,28 @@
|
||||
"dhcp_new_static_lease": "Nový statický pronájem",
|
||||
"dhcp_static_leases_not_found": "Nebyly nalezeny žádné statické pronájmy DHCP",
|
||||
"dhcp_add_static_lease": "Přidat statický pronájem",
|
||||
"dhcp_reset": "Opravdu chcete resetovat konfiguraci DHCP?",
|
||||
"country": "Země",
|
||||
"city": "Město",
|
||||
"delete_confirm": "Opravdu chcete odstranit \"{{key}}\"?",
|
||||
"form_enter_hostname": "Zadejte název hostitele",
|
||||
"error_details": "Podrobnosti chyby",
|
||||
"response_details": "Detail odpovědi",
|
||||
"request_details": "Detail požadavku",
|
||||
"client_details": "Detaily klienta",
|
||||
"details": "Detaily",
|
||||
"back": "Zpět",
|
||||
"dashboard": "Hlavní panel",
|
||||
"settings": "Nastavení",
|
||||
"filters": "Filtry",
|
||||
"filter": "Filtr",
|
||||
"query_log": "Protokol dotazů",
|
||||
"compact": "Kompaktní",
|
||||
"nothing_found": "Nic nenalezeno",
|
||||
"faq": "FAQ",
|
||||
"version": "Verze",
|
||||
"address": "adresa",
|
||||
"address": "Adresa",
|
||||
"protocol": "Protokol",
|
||||
"on": "ZAPNUTO",
|
||||
"off": "VYPNUTO",
|
||||
"copyright": "Autorská práva",
|
||||
@@ -71,7 +90,7 @@
|
||||
"stats_adult": "Blokované stránky pro dospělé",
|
||||
"stats_query_domain": "Nejčastěji dotazované domény",
|
||||
"for_last_24_hours": "za posledních 24 hodin",
|
||||
"for_last_days": "za posledních {{value}} dní",
|
||||
"for_last_days": "za posledních {{count}} dní",
|
||||
"for_last_days_plural": "za posledních {{count}} dní",
|
||||
"no_domains_found": "Nenalezeny žádné domény",
|
||||
"requests_count": "Počet požadavků",
|
||||
@@ -79,11 +98,11 @@
|
||||
"top_clients": "Nejčastější klienti",
|
||||
"no_clients_found": "Nenalezeny žádní klienti",
|
||||
"general_statistics": "Obecné statistiky",
|
||||
"number_of_dns_query_days": "Počet DNS dotazů zpracovaných za posledních {{value}} dní",
|
||||
"number_of_dns_query_days": "Počet DNS dotazů zpracovaných za posledních {{count}} dní",
|
||||
"number_of_dns_query_days_plural": "Počet DNS dotazů zpracovaných za posledních {{count}} dní",
|
||||
"number_of_dns_query_24_hours": "Počet DNS dotazů zpracovaných za posledních 24 hodin",
|
||||
"number_of_dns_query_blocked_24_hours": "Počet požadavků DNS zablokovaných filtrem reklam a seznamy blokování hostitelů",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Počet požadavků DNS zablokovaných AdGuard modulem Bezpečnost prohlížení",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Počet požadavků DNS zablokovaných AdGuard modulem Bezpečné prohlížení",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "Počet zablokovaných stránek pro dospělé",
|
||||
"enforced_save_search": "Vynucené bezpečné vyhledávání",
|
||||
"number_of_dns_query_to_safe_search": "Počet požadavků DNS na vyhledávače, při kterých bylo vynucené bezpečné vyhledávání",
|
||||
@@ -91,20 +110,26 @@
|
||||
"average_processing_time_hint": "Průměrný čas zpracování požadavků DNS v milisekundách",
|
||||
"block_domain_use_filters_and_hosts": "Blokovat domény pomocí filtrů a seznamů adres",
|
||||
"filters_block_toggle_hint": "Pravidla blokování můžete nastavit v nastavení <a href='#filters'>Filtry</a>.",
|
||||
"use_adguard_browsing_sec": "Použít službu AdGuard Bezpečnost prohlížení",
|
||||
"use_adguard_browsing_sec_hint": "AdGuard Home zkontroluje, zda je doména na seznamu zakázaných služby Bezpečnost prohlížení. Použije API vyhledávání přátelské k ochraně soukromí na provedení kontroly: na server je poslána pouze krátká předpona názvu domény SHA256 hash.",
|
||||
"use_adguard_browsing_sec": "Použít službu AdGuard Bezpečné prohlížení",
|
||||
"use_adguard_browsing_sec_hint": "AdGuard Home zkontroluje, zda je doména na seznamu zakázaných ve službě Bezpečné prohlížení. Použije vyhledávací API přátelské k ochraně soukromí na provedení kontroly: na server je odeslána pouze krátká předpona SHA256 otisku názvu domény.",
|
||||
"use_adguard_parental": "Použít službu AdGuard Rodičovská kontrola",
|
||||
"use_adguard_parental_hint": "AdGuard Home zkontroluje, zda doména obsahuje materiály pro dospělé. Používá stejné API přátelské k ochraně osobních údajů jako služba Bezpečnost prohlížení.",
|
||||
"enforce_safe_search": "Vynutit bezpečné vyhledávání",
|
||||
"enforce_save_search_hint": "AdGuard Home může vynutit bezpečné vyhledávání v následujících vyhledávačích: Google, YouTube, Bing DuckDuckGo a Yandex.",
|
||||
"enforce_save_search_hint": "AdGuard Home může vynutit bezpečné vyhledávání v následujících vyhledávačích: Google, YouTube, Bing, DuckDuckGo, Yandex, Pixabay.",
|
||||
"no_servers_specified": "Nebyly specifikovány žádné servery",
|
||||
"general_settings": "Obecná nastavení",
|
||||
"dns_settings": "Nastavení DNS",
|
||||
"dns_blocklists": "DNS seznam blokovaných",
|
||||
"dns_allowlists": "DNS seznam povolených",
|
||||
"dns_blocklists_desc": "AdGuard Home bude blokovat domény na seznamu blokovaných.",
|
||||
"dns_allowlists_desc": "Domény z DNS seznamu povolených budou povoleny, i když se nacházejí v některém ze seznamů blokovaných.",
|
||||
"custom_filtering_rules": "Vlastní pravidla filtrování",
|
||||
"encryption_settings": "Nastavení šifrování",
|
||||
"dhcp_settings": "Nastavení DHCP",
|
||||
"upstream_dns": "Upstream DNS servery",
|
||||
"upstream_dns_hint": "Pokud toto pole ponecháte prázdné, AdGuard Home použije <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> jako upstream.",
|
||||
"upstream_dns": "Odchozí DNS servery",
|
||||
"upstream_dns_hint": "Pokud toto pole ponecháte prázdné, AdGuard Home použije <a href='https://www.quad9.net/' target='_blank'>Quad9</a> jako upstream.",
|
||||
"test_upstream_btn": "Test upstreamů",
|
||||
"upstreams": "Odesláno",
|
||||
"apply_btn": "Použít",
|
||||
"disabled_filtering_toast": "Vypnuté filtrování",
|
||||
"enabled_filtering_toast": "Zapnuté filtrování",
|
||||
@@ -116,22 +141,33 @@
|
||||
"enabled_save_search_toast": "Vypnuté bezpečné vyhledávání",
|
||||
"enabled_table_header": "Zapnuto",
|
||||
"name_table_header": "Název",
|
||||
"filter_url_table_header": "URL filtru",
|
||||
"list_url_table_header": "Seznam URL",
|
||||
"rules_count_table_header": "Počet pravidel",
|
||||
"last_time_updated_table_header": "Čas poslední aktualizace",
|
||||
"actions_table_header": "Akce",
|
||||
"request_table_header": "Požadavek",
|
||||
"edit_table_action": "Upravit",
|
||||
"delete_table_action": "Vymazat",
|
||||
"filters_and_hosts": "Filtry a seznamy blokovaných hostitelů",
|
||||
"elapsed": "Uplynulý čas",
|
||||
"filters_and_hosts_hint": "AdGuard Home zná základní pravidla blokování reklam a syntaxe hostsitelských souborů.",
|
||||
"no_filters_added": "Nebyly přidány žádné filtry",
|
||||
"add_filter_btn": "Přidat filtr",
|
||||
"no_blocklist_added": "Nebyl přidán žádný seznam blokovaných",
|
||||
"no_whitelist_added": "Nebyl přidán žádný seznam povolených",
|
||||
"add_blocklist": "Přidat seznam blokovaných",
|
||||
"add_allowlist": "Přidat seznam povolených",
|
||||
"cancel_btn": "Zrušit",
|
||||
"enter_name_hint": "Zadejte název",
|
||||
"enter_url_hint": "Zadejte URL",
|
||||
"enter_url_or_path_hint": "Zadejte URL nebo úplnou cestu k seznamu",
|
||||
"check_updates_btn": "Zkontrolovat aktualizace",
|
||||
"new_filter_btn": "Odběr nového filtru",
|
||||
"enter_valid_filter_url": "Zadejte platnou URL pro odběr filtru nebo hostitelského souboru.",
|
||||
"new_blocklist": "Nový seznam blokovaných",
|
||||
"new_allowlist": "Nový seznam povolených",
|
||||
"edit_blocklist": "Upravit seznam blokovaných",
|
||||
"edit_allowlist": "Upravit seznam povolených",
|
||||
"choose_blocklist": "Vyberte seznamy zakázaných",
|
||||
"choose_allowlist": "Vyberte seznamy povolených",
|
||||
"enter_valid_blocklist": "Zadejte platnou adresu URL na seznam blokovaných.",
|
||||
"enter_valid_allowlist": "Zadejte platnou adresu URL na seznam povolených.",
|
||||
"form_error_url_format": "Neplatný formát URL",
|
||||
"form_error_url_or_path_format": "Neplatná URL nebo úplná cesta k seznamu",
|
||||
"custom_filter_rules": "Vlastní pravidla filtrování",
|
||||
"custom_filter_rules_hint": "Na každý řádek vložte jedno pravidlo. Můžete použít buď pravidla blokování reklam nebo syntaxe hostitelských souborů.",
|
||||
"examples_title": "Příklady",
|
||||
@@ -147,16 +183,19 @@
|
||||
"example_upstream_doh": "šifrovaný <0>DNS přes HTTPS</0>",
|
||||
"example_upstream_sdns": "můžete použít <0>DNS razítka</0> pro <1>DNSCrypt</1> nebo <2>DNS přes HTTPS</2> řešitele",
|
||||
"example_upstream_tcp": "obyčejný DNS (přes TCP)",
|
||||
"all_filters_up_to_date_toast": "Všechny filtry jsou již aktuální",
|
||||
"all_lists_up_to_date_toast": "Všechny seznamy jsou již aktuální",
|
||||
"updated_upstream_dns_toast": "Aktualizované upstream DNS servery",
|
||||
"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",
|
||||
"unblock_btn": "Odblokovat",
|
||||
"block_btn": "Blokovat",
|
||||
"unblock": "Odblokovat",
|
||||
"block": "Blokovat",
|
||||
"time_table_header": "Čas",
|
||||
"date": "Datum",
|
||||
"domain_name_table_header": "Název domény",
|
||||
"domain_or_client": "Doména nebo klient",
|
||||
"type_table_header": "Typ",
|
||||
"response_table_header": "Odezva",
|
||||
"response_code": "Kód odezvy",
|
||||
"client_table_header": "Klient",
|
||||
"empty_response_status": "Prázdná",
|
||||
"show_all_filter_type": "Zobrazit vše",
|
||||
@@ -167,7 +206,6 @@
|
||||
"next_btn": "Další",
|
||||
"loading_table_status": "Načítání...",
|
||||
"page_table_footer_text": "Stránka",
|
||||
"of_table_footer_text": "z",
|
||||
"rows_table_footer_text": "řádky",
|
||||
"updated_custom_filtering_toast": "Aktualizovaná vlastní pravidla filtrování",
|
||||
"rule_removed_from_custom_filtering_toast": "Pravidlo odstraněno z vlastních pravidel filtrování",
|
||||
@@ -176,6 +214,7 @@
|
||||
"query_log_filtered": "Filtrováno pomocí {{filter}}",
|
||||
"query_log_confirm_clear": "Opravdu chcete vymazat celý protokol dotazů?",
|
||||
"query_log_cleared": "Protokol dotazů byl úspěšně vymazán",
|
||||
"query_log_updated": "Protokol dotazů byl úspěšně aktualizován",
|
||||
"query_log_clear": "Vymazat protokoly dotazů",
|
||||
"query_log_retention": "Uchování protokolů dotazů",
|
||||
"query_log_enable": "Povolit protokol",
|
||||
@@ -183,12 +222,41 @@
|
||||
"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_retention_confirm": "Opravdu chcete změnit uchovávání protokolu dotazů? Pokud snížíte hodnotu intervalu, některá data budou ztracena",
|
||||
"anonymize_client_ip": "Anonymizovat IP klienta",
|
||||
"anonymize_client_ip_desc": "Neukládat úplnou IP adresu klienta do protokolů a statistik",
|
||||
"dns_config": "Konfigurace DNS serveru",
|
||||
"dns_cache_config": "Konfigurace mezipaměti DNS",
|
||||
"dns_cache_config_desc": "Zde můžete konfigurovat mezipaměť DNS",
|
||||
"blocking_mode": "Režim blokování",
|
||||
"default": "Výchozí",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Nulová IP",
|
||||
"custom_ip": "Vlastní IP",
|
||||
"blocking_ipv4": "Blokování IPv4",
|
||||
"blocking_ipv6": "Blokování IPv6",
|
||||
"dns_over_https": "DNS přes HTTPS",
|
||||
"dns_over_tls": "DNS přes TLS",
|
||||
"plain_dns": "Čisté DNS",
|
||||
"form_enter_rate_limit": "Zadejte rychlostní limit",
|
||||
"rate_limit": "Rychlostní limit",
|
||||
"edns_enable": "Povolit klientskou podsíť EDNS",
|
||||
"edns_cs_desc": "Pokud je povoleno, AdGuard Home bude směřovat podsítě klientů na servery DNS.",
|
||||
"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_ipv6_desc": "IP adresa, která se má vrátit v případě blokovaného požadavku typu AAAA",
|
||||
"blocking_mode_default": "Výchozí: Odezva pomocí NXDOMAIN, pokud je blokováno pravidlem ve stylu Adblock; odezva pomocí IP adresy uvedené v pravidle, pokud je blokováno pravidlem /etc/hosts-style",
|
||||
"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_custom_ip": "Vlastní IP. odezva s ručně nastavenou IP adresou",
|
||||
"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",
|
||||
"source_label": "Zdroj",
|
||||
"found_in_known_domain_db": "Nalezeno v databázi známých domén",
|
||||
"category_label": "Kategorie",
|
||||
"rule_label": "Pravidlo",
|
||||
"filter_label": "Filtr",
|
||||
"list_label": "Seznam",
|
||||
"unknown_filter": "Neznámý filtr {{filterId}}",
|
||||
"known_tracker": "Známý slídič",
|
||||
"install_welcome_title": "Vítejte v AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home je síťový DNS server pro blokování reklam a slídičů. Jeho cílem je, abyste ovládali celou Vaši síť a všechny Vaše zařízení, přičemž se nevyžaduje použití jakéhokoliv programu na straně klienta.",
|
||||
"install_settings_title": "Administrátorské webové rozhraní",
|
||||
@@ -217,6 +285,7 @@
|
||||
"install_devices_router_list_1": "Otevřete předvolby pro router. Obvykle k němu můžete přistupovat z prohlížeče prostřednictvím adresy URL (např. http://192.168.0.1/ nebo http://192.168.1.1/). Můžete být vyzváni k zadání hesla. Pokud si ho nepamatujete, můžete heslo resetovat stisknutím tlačítka na samotném routeru. Některé routery vyžadují specifickou aplikaci, která by v takovém případě měla být již nainstalována v počítači/telefonu.",
|
||||
"install_devices_router_list_2": "Vyhledejte nastavení DHCP/DNS. Hledejte zkratku DNS vedle pole, které umožňuje vložit dvě nebo tři sady čísel, každé rozděleno do čtyř skupin s jedním až třemi číslicemi.",
|
||||
"install_devices_router_list_3": "Zadejte adresy Vašeho serveru AdGuard Home.",
|
||||
"install_devices_router_list_4": "Na některých typech routerů nemůžete nastavit vlastní DNS server. V tomto případě může AdGuard Home pomoci, pokud jej nastavíte jako <0>DHCP server</0>. V ostatních případech byste si v manuálu k Vašemu routeru měli zjistit, jak nastavit vlastní DNS servery.",
|
||||
"install_devices_windows_list_1": "Otevřete ovládací panel prostřednictvím nabídky Start nebo vyhledání v systému Windows.",
|
||||
"install_devices_windows_list_2": "Přejděte na kategorii Síť a Internet a poté na Centrum sítí a sdílení.",
|
||||
"install_devices_windows_list_3": "Na levé straně obrazovky najděte možnost Změnit nastavení adaptéru a klepněte na něj.",
|
||||
@@ -279,6 +348,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} je nyní k dispozici! <0>Klikněte zde<0> pro více informací.",
|
||||
"setup_guide": "Průvodce nastavením",
|
||||
"dns_addresses": "Adresy DNS",
|
||||
"dns_start": "Spouští se DNS server",
|
||||
"dns_status_error": "Chyba při kontrole stavu DNS serveru",
|
||||
"down": "Dolů",
|
||||
"fix": "Opravit",
|
||||
"dns_providers": "Zde je <0>seznam známých poskytovatelů DNS</0>, z nichž si můžete vybrat.",
|
||||
@@ -297,17 +368,20 @@
|
||||
"client_edit": "Upravit klienta",
|
||||
"client_identifier": "Identifikátor",
|
||||
"ip_address": "IP adresa",
|
||||
"client_identifier_desc": "Klienti můžou být identifikováni podle IP adresy nebo MAC adresy. Upozorňujeme, že použití MAC jako identifikátoru je možné pouze v případě, že je AdGuard Home také <0>DHCP server</0>",
|
||||
"client_identifier_desc": "Klienti můžou být identifikováni podle IP adresy, CIDR nebo MAC adresy. Upozorňujeme, že použití MAC jako identifikátoru je možné pouze v případě, že je AdGuard Home také <0>DHCP server</0>",
|
||||
"form_enter_ip": "Zadejte IP",
|
||||
"form_enter_mac": "Zadejte MAC",
|
||||
"form_enter_id": "Zadejte identifikátor",
|
||||
"form_add_id": "Přidat identifikátor",
|
||||
"form_client_name": "Zadejte název klienta",
|
||||
"name": "Název",
|
||||
"client_global_settings": "Použít globální nastavení",
|
||||
"client_deleted": "Klient \"{{key}}\" byl úspěšně odstraněn",
|
||||
"client_added": "Klient \"{{key}}\" byl úspěšně přidán",
|
||||
"client_updated": "Klient \"{{key}}\" byl úspěšně aktualizován",
|
||||
"clients_not_found": "Nenalezeni žádní klienti",
|
||||
"client_confirm_delete": "Opravdu chcete odstranit klienta \"{{key}}\"?",
|
||||
"filter_confirm_delete": "Opravdu chcete smazat filtr?",
|
||||
"list_confirm_delete": "Opravdu chcete smazat tento seznam?",
|
||||
"auto_clients_title": "Klienti (doba spuštění)",
|
||||
"auto_clients_desc": "Data o klientech, kteří používají AdGuard Home, ale nejsou uloženi v konfiguraci",
|
||||
"access_title": "Nastavení přístupu",
|
||||
@@ -317,7 +391,7 @@
|
||||
"access_disallowed_title": "Nepovolení klienti",
|
||||
"access_disallowed_desc": "Seznam adres CIDR nebo IP. Pokud je nakonfigurován, AdGuard Home bude odmítat požadavky pouze z těchto IP adres.",
|
||||
"access_blocked_title": "Blokované domény",
|
||||
"access_blocked_desc": "Nezaměňujte to s filtry. AdGuard Home odstraní dotazy DNS s těmito doménami v otázce dotazu.",
|
||||
"access_blocked_desc": "Nezaměňujte to s filtry. AdGuard Home odstraní dotazy DNS s těmito doménami v otázce dotazu. Zde můžete určit přesné názvy domén, zástupné znaky a pravidla URL adres, např. 'example.org', '*.example.org' nabo '||example.org^'.",
|
||||
"access_settings_saved": "Nastavení přístupu bylo úspěšně uloženo",
|
||||
"updates_checked": "Aktualizace úspěšně zkontrolovány",
|
||||
"updates_version_equal": "AdGuard Home je aktuální",
|
||||
@@ -345,6 +419,7 @@
|
||||
"rewrite_confirm_delete": "Jste si jisti, že chcete smazat přesměrování DNS pro „{{key}}“?",
|
||||
"rewrite_desc": "Umožňuje snadno nakonfigurovat vlastní DNS odezvy pro konkrétní název domény.",
|
||||
"rewrite_applied": "Aplikované pravidlo přesměrování",
|
||||
"rewrite_hosts_applied": "Přepsáno pravidlem souboru hosts",
|
||||
"dns_rewrites": "Přesměrování DNS",
|
||||
"form_domain": "Zadejte doménu",
|
||||
"form_answer": "Zadejte IP adresu nebo název domény",
|
||||
@@ -373,7 +448,9 @@
|
||||
"interval_days_plural": "Dny: {{count}}",
|
||||
"domain": "Doména",
|
||||
"answer": "Odpověď",
|
||||
"filter_added_successfully": "Filtr byl úspěšně přidán",
|
||||
"filter_added_successfully": "Seznam byl úspěšně přidán",
|
||||
"filter_removed_successfully": "Seznam byl úspěšně odstraněn",
|
||||
"filter_updated": "Seznam byl úspěšně aktualizován",
|
||||
"statistics_configuration": "Konfigurace statistik",
|
||||
"statistics_retention": "Uchovávání statistik",
|
||||
"statistics_retention_desc": "Pokud hodnotu intervalu snížíte, některá data budou ztracena",
|
||||
@@ -398,7 +475,93 @@
|
||||
"location": "Umístění",
|
||||
"orgname": "Název organizace",
|
||||
"netname": "Název sítě",
|
||||
"network": "Síť",
|
||||
"descr": "Popis",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Další informace</0> o vytváření vlastních seznamů zakázaných hostitelů."
|
||||
"filtering_rules_learn_more": "<0>Další informace</0> o vytváření vlastních seznamů hostitelů.",
|
||||
"blocked_by_response": "Zakázáno dle CNAME nebo IP v odpovědi",
|
||||
"blocked_by_cname_or_ip": "Zakázáno dle CNAME nebo IP",
|
||||
"try_again": "Zkusit znovu",
|
||||
"domain_desc": "Zadejte zástupný znak nebo název domény, kterou chcete přepsat.",
|
||||
"example_rewrite_domain": "přepsat odpovědi pouze pro tento název domény.",
|
||||
"example_rewrite_wildcard": "přepsat odpovědi pro všechny subdomény <0>example.org</0>.",
|
||||
"rewrite_ip_address": "IP address: použít tuto IP adresu v odpovědi typu A nebo AAAA",
|
||||
"rewrite_domain_name": "Název domény: Přidat záznam CNAME",
|
||||
"rewrite_A": "<0>A</0>: speciální hodnota, udržet záznamy typu <0>A</0> z odchozího serveru",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: speciální hodnota, udržet záznamy typu <0>AAAA</0> z odchozího serveru",
|
||||
"disable_ipv6": "Zakázat IPv6",
|
||||
"disable_ipv6_desc": "Pokud je tato funkce povolena, budou všechny dotazy DNS pro adresy IPv6 (typ AAAA) zrušeny.",
|
||||
"fastest_addr": "Nejrychlejší IP adresa",
|
||||
"fastest_addr_desc": "Dotazovat všechny DNS servery a vrátit nejrychlejší IP adresu ze všech odpovědí. To zpomalí dotazy DNS, protože musíme čekat na odpovědi ze všech serverů DNS, ale celková konektivita se zlepší.",
|
||||
"autofix_warning_text": "Pokud kliknete na „Opravit“, AdGuard Home nakonfiguruje váš systém tak, aby používal DNS server AdGuard Home.",
|
||||
"autofix_warning_list": "Jsou prováděny následující úlohy: <0>Deaktivace systému DNSStubListener</0> <0>Nastavení adresy serveru DNS na 127.0.0.1</0> <0>Nahrazení cíle symbolického odkazu z /etc/resolv.conf do /run/systemd/resolve/resolv.conf</0> <0>Zastavení služby DNSStubListener (znovu načtení služby systemd-resolved)</0>",
|
||||
"autofix_warning_result": "Výsledkem je, že všechny požadavky DNS z vašeho systému jsou ve výchozím nastavení zpracovány službou AdGuard Home.",
|
||||
"tags_title": "Značky",
|
||||
"tags_desc": "Můžete vybrat značky, které jsou přiřazeny klientovi. Značky mohou být zahrnuty do pravidel filtrování a umožňují Vám je přesněji použít. <0>Dozvědět se více</0>",
|
||||
"form_select_tags": "Vyberte značky klienta",
|
||||
"check_title": "Zkontrolovat filtrování",
|
||||
"check_desc": "Zkontrolujte, zda je název hostitele filtrován",
|
||||
"check": "Zkontrolovat",
|
||||
"form_enter_host": "Zadejte název hostitele",
|
||||
"filtered_custom_rules": "Filtrováno pomocí vlastních pravidel filtrování",
|
||||
"choose_from_list": "Vybrat ze seznamu",
|
||||
"add_custom_list": "Přidat vlastní seznam",
|
||||
"host_whitelisted": "Hostitel je na seznamu povolených",
|
||||
"check_ip": "IP adresy: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Důvod: {{reason}}",
|
||||
"check_rule": "Pravidlo: {{rule}}",
|
||||
"check_service": "Název služby: {{service}}",
|
||||
"check_not_found": "Nenalezeno ve Vašich seznamech filtrů",
|
||||
"client_confirm_block": "Opravdu chcete zablokovat klienta „{{ip}}“?",
|
||||
"client_confirm_unblock": "Opravdu chcete odblokovat klienta „{{ip}}“?",
|
||||
"client_blocked": "Klient „{{ip}}“ byl úspěšně zablokován",
|
||||
"client_unblocked": "Klient „{{ip}}“ byl úspěšně odblokován",
|
||||
"static_ip": "Statická IP adresa",
|
||||
"static_ip_desc": "AdGuard Home je server, takže pro správné fungování potřebuje statickou IP adresu. V opačném případě může váš router tomuto zařízení přiřadit jinou IP adresu.",
|
||||
"set_static_ip": "Nastavit statickou IP adresu",
|
||||
"install_static_ok": "Skvělá zpráva! Statická IP adresa je již nakonfigurována",
|
||||
"install_static_error": "AdGuard Home nemůže automaticky nakonfigurovat toto síťové rozhraní. Prosím vyhledejte návod, jak to provést ručně.",
|
||||
"install_static_configure": "Detekovali jsme, že se používá dynamická IP adresa — <0>{{ip}}</0>. Chcete ji použít jako statickou adresu?",
|
||||
"confirm_static_ip": "AdGuard Home nakonfiguruje {{ip}} jako statickou IP adresu. Chcete pokračovat?",
|
||||
"list_updated": "Byl aktualizován {{count}} seznam",
|
||||
"list_updated_plural": "Aktualizované seznamy: {{count}}",
|
||||
"dnssec_enable": "Zapnout DNSSEC",
|
||||
"dnssec_enable_desc": "Nastavte příznak DNSSEC v následujících DNS dotazech a zkontrolujte výsledek (je potřebný překladač se zapnutým DNSSEC)",
|
||||
"validated_with_dnssec": "Ověřeno pomocí DNSSEC",
|
||||
"all_queries": "Všechny dotazy",
|
||||
"show_blocked_responses": "Zablokované",
|
||||
"show_whitelisted_responses": "Povolené",
|
||||
"show_processed_responses": "Zpracovaný",
|
||||
"blocked_safebrowsing": "Blokované bezpečné prohlížení",
|
||||
"blocked_adult_websites": "Blokované stránky pro dospělé",
|
||||
"blocked_threats": "Blokované hrozby",
|
||||
"allowed": "Povoleno",
|
||||
"filtered": "Filtrováno",
|
||||
"rewritten": "Přepsáno",
|
||||
"safe_search": "Bezpečné vyhledávání",
|
||||
"blocklist": "Zakázaný",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Velikost mezipaměti",
|
||||
"cache_size_desc": "Velikost mezipaměti DNS (v bajtech)",
|
||||
"cache_ttl_min_override": "Přepsat minimální hodnotu TTL",
|
||||
"cache_ttl_max_override": "Přepsat maximální hodnotu TTL",
|
||||
"enter_cache_size": "Zadejte velikost mezipaměti",
|
||||
"enter_cache_ttl_min_override": "Zadejte minimální hodnotu TTL",
|
||||
"enter_cache_ttl_max_override": "Zadejte maximální hodnotu TTL",
|
||||
"cache_ttl_min_override_desc": "Přepište hodnotu TTL (minimální) obdrženou z odchozího serveru. Tato hodnota nemůže být větší než 3600 (1 hodina)",
|
||||
"cache_ttl_max_override_desc": "Přepište hodnotu TTL (maximální) obdrženou z odchozího serveru",
|
||||
"min_exceeds_max_value": "Minimální hodnota přesahuje maximální hodnotu",
|
||||
"value_not_larger_than": "Hodnota nesmí být vyšší než {{maximum}}",
|
||||
"filter_category_general": "Obecné",
|
||||
"filter_category_security": "Bezpečnost",
|
||||
"filter_category_regional": "Regionální",
|
||||
"filter_category_other": "Ostatní",
|
||||
"filter_category_general_desc": "Seznamy, které blokují slídiče a reklamu na většině zařízení",
|
||||
"filter_category_security_desc": "Seznamy, které se specializují na blokování škodlivého software, zákeřných útoků nebo podvodných domén",
|
||||
"filter_category_regional_desc": "Seznamy, které jsou zaměřené na regionální reklamy a sledovací servery",
|
||||
"filter_category_other_desc": "Další seznamy zakázaných",
|
||||
"original_response": "Původní odezva",
|
||||
"click_to_view_queries": "Klikněte pro zobrazení dotazů",
|
||||
"port_53_faq_link": "Port 53 je často obsazen službami \"DNSStubListener\" nebo \"systemd-resolved\". Přečtěte si <0>tento návod</0> o tom, jak to vyřešit."
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "Klient-indstillinger",
|
||||
"example_upstream_reserved": "du kan angive DNS upstream <0>for et bestemt domæne</0>",
|
||||
"example_upstream_reserved": "Du kan specificere DNS upstream <0>for det(de) specifikke domæne(r)</0>",
|
||||
"upstream_parallel": "Brug parallelle forespørgsler til at fremskynde behandlingen ved samtidig at spørge alle upstream servere",
|
||||
"parallel_requests": "Parallelle forespørgsler",
|
||||
"load_balancing": "Belastningsfordeling",
|
||||
"load_balancing_desc": "Forespørg en server ad gangen. AdGuard Home bruger den vægtede tilfældige algoritme til at vælge serveren, så den hurtigste server bliver brugt oftere.",
|
||||
"bootstrap_dns": "Bootstrap DNS-servere",
|
||||
"bootstrap_dns_desc": "Bootstrap DNS-servere bliver brugt til at behandle IP-adresser af de DoH/DoT resolvere, som du angiver som upstream.",
|
||||
"check_dhcp_servers": "Tjek for DHCP-servere",
|
||||
@@ -17,11 +20,15 @@
|
||||
"dhcp_leases": "DHCP-leases",
|
||||
"dhcp_static_leases": "DHCP static leases",
|
||||
"dhcp_leases_not_found": "Ingen DHCP-leases fundet",
|
||||
"dhcp_config_saved": "Gemt DHCP-server konfiguration",
|
||||
"dhcp_config_saved": "DHCP-konfiguration gemt",
|
||||
"form_error_required": "Obligatorisk felt",
|
||||
"form_error_ip_format": "Ugyldigt IPv4-format",
|
||||
"form_error_ip4_format": "Ugyldigt IPv4-format",
|
||||
"form_error_ip6_format": "Ugyldigt IPv6-format",
|
||||
"form_error_ip_format": "Ugyldigt IP-format",
|
||||
"form_error_mac_format": "Ugyldigt MAC-format",
|
||||
"form_error_client_id_format": "Ugyldigt klient-ID-format",
|
||||
"form_error_positive": "Skal være større end 0",
|
||||
"form_error_negative": "Skal være lig med 0 eller større",
|
||||
"dhcp_form_gateway_input": "Gateway IP",
|
||||
"dhcp_form_subnet_input": "Subnet mask",
|
||||
"dhcp_form_range_title": "Interval af IP-adresser",
|
||||
@@ -32,6 +39,7 @@
|
||||
"dhcp_interface_select": "Vælg DHCP-interface",
|
||||
"dhcp_hardware_address": "Hardware-adresse",
|
||||
"dhcp_ip_addresses": "IP-adresser",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Værtsnavn",
|
||||
"dhcp_table_expires": "Udløber",
|
||||
"dhcp_warning": "Hvis du vil aktivere DHCP-serveren alligevel, skal du sørge for, at der ikke er nogen anden aktiv DHCP-server på dit netværk. Ellers kan det ødelægge internettet for tilsluttede enheder!",
|
||||
@@ -43,17 +51,28 @@
|
||||
"dhcp_new_static_lease": "Ny static lease",
|
||||
"dhcp_static_leases_not_found": "Ingen DHCP static leases fundet",
|
||||
"dhcp_add_static_lease": "Tilføj static lease",
|
||||
"dhcp_reset": "Er du sikker på, at du vil nulstille DHCP-konfigurationen?",
|
||||
"country": "Land",
|
||||
"city": "By",
|
||||
"delete_confirm": "Er du sikker på, at du vil slette \"{{key}}\"?",
|
||||
"form_enter_hostname": "Indtast værtsnavn",
|
||||
"error_details": "Fejloplysninger",
|
||||
"response_details": "Svardetaljer",
|
||||
"request_details": "Anmod om detaljer",
|
||||
"client_details": "Klientoplysninger",
|
||||
"details": "Detaljer",
|
||||
"back": "Tilbage",
|
||||
"dashboard": "Kontrolpanel",
|
||||
"settings": "Indstillinger",
|
||||
"filters": "Filtre",
|
||||
"filter": "Filter",
|
||||
"query_log": "Forespørgselslog",
|
||||
"compact": "Kompakt",
|
||||
"nothing_found": "Intet blev fundet",
|
||||
"faq": "FAQ",
|
||||
"version": "Version",
|
||||
"address": "adresse",
|
||||
"address": "Adresse",
|
||||
"protocol": "Protokol",
|
||||
"on": "TÆNDT",
|
||||
"off": "SLUKKET",
|
||||
"copyright": "Copyright",
|
||||
@@ -96,15 +115,21 @@
|
||||
"use_adguard_parental": "Brug AdGuards forældrekontrol",
|
||||
"use_adguard_parental_hint": "AdGuard Home vil kontrollere, om domænet indeholder voksenindhold. Den bruger den samme privatlivsvenlige API som browsing sikkerhedstjenesten.",
|
||||
"enforce_safe_search": "Håndhæv sikker søgning",
|
||||
"enforce_save_search_hint": "AdGuard Home kan håndhæve sikker søgning i følgende søgemaskiner: Google, Youtube, Bing, DuckDuckGo og Yandex.",
|
||||
"enforce_save_search_hint": "AdGuard Home kan håndhæve sikker søgning i følgende søgemaskiner: Google, Youtube, Bing, DuckDuckGo, Yandex og Pixabay.",
|
||||
"no_servers_specified": "Ingen servere specificeret",
|
||||
"general_settings": "Generelle indstillinger",
|
||||
"dns_settings": "DNS-indstillinger",
|
||||
"dns_blocklists": "DNS-blokeringslister",
|
||||
"dns_allowlists": "Lister over tilladte DNS",
|
||||
"dns_blocklists_desc": "AdGuard Home vil blokere domæner, der matcher blokeringslisterne.",
|
||||
"dns_allowlists_desc": "Domæner fra listerne over tilladte DNS vil være tilladt, selvom de er i nogen af blokeringslisterne.",
|
||||
"custom_filtering_rules": "Brugerdefinerede filtreringsregler",
|
||||
"encryption_settings": "Krypteringsindstillinger",
|
||||
"dhcp_settings": "DHCP-indstillinger",
|
||||
"upstream_dns": "Upstream DNS-servere",
|
||||
"upstream_dns_hint": "Hvis du lader dette felt være tomt, vil AdGuard Home bruge <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> til upstream.",
|
||||
"upstream_dns_hint": "Hvis du lader dette felt være tomt, vil AdGuard Home bruge <a href='https://www.quad9.net/' target='_blank'>Quad9</a> som en upstream.",
|
||||
"test_upstream_btn": "Test upstreams",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Anvend",
|
||||
"disabled_filtering_toast": "Filtrering deaktiveret",
|
||||
"enabled_filtering_toast": "Filtrering aktiveret",
|
||||
@@ -116,22 +141,33 @@
|
||||
"enabled_save_search_toast": "Sikker søgning aktiveret",
|
||||
"enabled_table_header": "Aktiveret",
|
||||
"name_table_header": "Navn",
|
||||
"filter_url_table_header": "Filter URL",
|
||||
"list_url_table_header": "Listernes URL",
|
||||
"rules_count_table_header": "Antal regler",
|
||||
"last_time_updated_table_header": "Sidst opdateret",
|
||||
"actions_table_header": "Handlinger",
|
||||
"request_table_header": "Forespørgsel",
|
||||
"edit_table_action": "Rediger",
|
||||
"delete_table_action": "Slet",
|
||||
"filters_and_hosts": "Filtre og værters blokeringslister",
|
||||
"elapsed": "Varighed",
|
||||
"filters_and_hosts_hint": "AdGuard Home forstår de grundlæggende annonceblokeringsregler og værtsfilsyntaks.",
|
||||
"no_filters_added": "Ingen filtre tilføjet",
|
||||
"add_filter_btn": "Tilføj filter",
|
||||
"no_blocklist_added": "Ingen blokeringslister tilføjet",
|
||||
"no_whitelist_added": "Ingen lister over tilladte tilføjet",
|
||||
"add_blocklist": "Tilføj blokeringsliste",
|
||||
"add_allowlist": "Tilføj liste over tilladte",
|
||||
"cancel_btn": "Annuller",
|
||||
"enter_name_hint": "Indtast navn",
|
||||
"enter_url_hint": "Indtast URL",
|
||||
"enter_url_or_path_hint": "Indtast en URL eller en absolut sti på listen",
|
||||
"check_updates_btn": "Søg efter opdateringer",
|
||||
"new_filter_btn": "Nyt filterabonnement",
|
||||
"enter_valid_filter_url": "Indtast en gyldig URL til et filterabonnementet eller en værtsfil.",
|
||||
"new_blocklist": "Ny blokeringsliste",
|
||||
"new_allowlist": "Ny liste over tilladte",
|
||||
"edit_blocklist": "Rediger blokeringsliste",
|
||||
"edit_allowlist": "Rediger liste over tilladte",
|
||||
"choose_blocklist": "Vælg blokeringslister",
|
||||
"choose_allowlist": "Vælg lister over tilladte",
|
||||
"enter_valid_blocklist": "Indtast en gyldig URL til blokeringslisten.",
|
||||
"enter_valid_allowlist": "Indtast en gyldig URL til listen over tilladte.",
|
||||
"form_error_url_format": "Ugyldigt URL-format",
|
||||
"form_error_url_or_path_format": "Ugyldig URL eller en absolut sti på listen",
|
||||
"custom_filter_rules": "Brugerdefinerede filtreringsregler",
|
||||
"custom_filter_rules_hint": "Indtast en regel per linje. Du kan enten bruge annonceblokeringsregler eller værtsfilsyntaks.",
|
||||
"examples_title": "Eksempler",
|
||||
@@ -147,16 +183,19 @@
|
||||
"example_upstream_doh": "krypteret <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "du kan bruge <0>DNS Stamps<0> til <1>DNSCrypt>/1> eller <2>DNS-over-HTTPS</2> resolvers",
|
||||
"example_upstream_tcp": "almindelig DNS (over TCP)",
|
||||
"all_filters_up_to_date_toast": "Alle filtre er allerede opdateret",
|
||||
"all_lists_up_to_date_toast": "Alle lister er allerede opdaterede",
|
||||
"updated_upstream_dns_toast": "Opdaterede upstream DNS-servere",
|
||||
"dns_test_ok_toast": "De angivne DNS-servere fungerer korrekt",
|
||||
"dns_test_not_ok_toast": "Server \"{{key}}\": kunne ikke bruges, kontroller venligst at du har skrevet det korrekt",
|
||||
"unblock_btn": "Fjern blokering",
|
||||
"block_btn": "Bloker",
|
||||
"unblock": "Fjern blokering",
|
||||
"block": "Bloker",
|
||||
"time_table_header": "Tid",
|
||||
"date": "Dato",
|
||||
"domain_name_table_header": "Domænenavn",
|
||||
"domain_or_client": "Domæne eller klient",
|
||||
"type_table_header": "Type",
|
||||
"response_table_header": "Svar",
|
||||
"response_code": "Responskode",
|
||||
"client_table_header": "Klient",
|
||||
"empty_response_status": "Tom",
|
||||
"show_all_filter_type": "Vis alle",
|
||||
@@ -167,7 +206,6 @@
|
||||
"next_btn": "Næste",
|
||||
"loading_table_status": "Indlæser...",
|
||||
"page_table_footer_text": "Side",
|
||||
"of_table_footer_text": "af",
|
||||
"rows_table_footer_text": "rækker",
|
||||
"updated_custom_filtering_toast": "De brugerdefinerede filtreringsregler er blevet opdateret",
|
||||
"rule_removed_from_custom_filtering_toast": "Regel fjernet fra de brugerdefinerede filtreringsregler",
|
||||
@@ -176,6 +214,7 @@
|
||||
"query_log_filtered": "Filtreret af {{filter}}",
|
||||
"query_log_confirm_clear": "Er du sikker på, at du vil rydde hele forespørgselsloggen?",
|
||||
"query_log_cleared": "Forespørgselsloggen er blevet ryddet",
|
||||
"query_log_updated": "Forespørgselsloggen er blevet opdateret",
|
||||
"query_log_clear": "Ryd forespørgselslogfiler",
|
||||
"query_log_retention": "Opbevaring af forespørgselslogfiler",
|
||||
"query_log_enable": "Aktivér log",
|
||||
@@ -183,12 +222,41 @@
|
||||
"query_log_disabled": "Forespørgselsloggen er deaktiveret og kan konfigureres i <0>indstillinger</0>",
|
||||
"query_log_strict_search": "Brug dobbelt anførselstegn til streng søgning",
|
||||
"query_log_retention_confirm": "Er du sikker på, at du vil ændre opbevaring af forespørgselsloggen? Hvis du mindsker intervalværdien, vil nogle data gå tabt",
|
||||
"anonymize_client_ip": "Anonymiser klient-IP",
|
||||
"anonymize_client_ip_desc": "Gem ikke klientens fulde IP-adresse i logfiler og statistikker",
|
||||
"dns_config": "DNS-serverkonfiguration",
|
||||
"dns_cache_config": "Konfiguration af DNS-cache",
|
||||
"dns_cache_config_desc": "Her kan du konfigurere DNS-cache",
|
||||
"blocking_mode": "Blokeringstilstand",
|
||||
"default": "Standard",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Null IP",
|
||||
"custom_ip": "Tilpasset IP",
|
||||
"blocking_ipv4": "IPv4-blokering",
|
||||
"blocking_ipv6": "IPv6-blokering",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "Almindelig DNS",
|
||||
"form_enter_rate_limit": "Indtast hyppighedsgrænse",
|
||||
"rate_limit": "Hyppighedsgrænse",
|
||||
"edns_enable": "Aktiver EDNS Client Subnet",
|
||||
"edns_cs_desc": "Hvis det er aktiveret, vil AdGuard Home sende klienters subnets til DNS-serverne.",
|
||||
"rate_limit_desc": "Antallet af anmodninger pr. sekund, som en enkelt klient får lov til at fremsætte (0: ubegrænset)",
|
||||
"blocking_ipv4_desc": "IP-adresse, der skal returneres for en blokeret A-anmodning",
|
||||
"blocking_ipv6_desc": "IP-adresse, der skal returneres for en blokeret AAAA-anmodning",
|
||||
"blocking_mode_default": "Standard: Svar med NXDOMAIN, når det blokeres af Adblock-stil-reglen; svar med den IP-adresse, der er angivet i reglen, når den blokeres af /etc/hosts-style-reglen",
|
||||
"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_custom_ip": "Brugerdefineret IP: Svar med en manuelt indstillet IP-adresse",
|
||||
"upstream_dns_client_desc": "Hvis du lader dette felt være tomt, vil AdGuard Home bruge de servere, der er konfigureret i <0>DNS-indstillingerne</0>.",
|
||||
"tracker_source": "Tracker-kilde",
|
||||
"source_label": "Kilde",
|
||||
"found_in_known_domain_db": "Fundet i databasen med kendte domæner.",
|
||||
"category_label": "Kategori",
|
||||
"rule_label": "Regel",
|
||||
"filter_label": "Filter",
|
||||
"list_label": "Liste",
|
||||
"unknown_filter": "Ukendt filter {{filterId}}",
|
||||
"known_tracker": "Kendt tracker",
|
||||
"install_welcome_title": "Velkommen til AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home er en netværksbaseret annonce-og-tracker blokerende DNS-server. Formålet er at lade dig kontrollere hele dit netværk og alle dine enheder, og det kræver ikke at man bruger klientsoftware.",
|
||||
"install_settings_title": "Administrator Webgrænseflade",
|
||||
@@ -217,6 +285,7 @@
|
||||
"install_devices_router_list_1": "Åbn præferencerne for din router. Normalt kan du få adgang til den fra din browser via en URL (som http://192.168.0.1/ eller http://192.168.1.1/). Du bliver muligvis bedt om at indtaste adgangskoden. Hvis du ikke kan huske den, kan du ofte nulstille adgangskoden ved at trykke på en knap på selve routeren. Nogle routere kræver et bestemt program, som i det tilfælde allerede skulle være installeret på din computer/telefon.",
|
||||
"install_devices_router_list_2": "Find DHCP/DNS-indstillingerne. Kig efter DNS-bogstaverne ved siden af et felt, der tillader to eller tre sæt tal, hver opdelt i fire grupper med et til tre cifre.",
|
||||
"install_devices_router_list_3": "Indtast dine AdGuard Home serveradresser der.",
|
||||
"install_devices_router_list_4": "Du kan ikke opsætte en tilpasset DNS-server på nogle typer routere. I dette tilfælde kan det hjælpe, hvis du konfigurerer AdGuard Home som en <0>DHCP-server</0>. Du kan ellers søge efter manualen om, hvordan du tilpasser DNS-servere til din bestemte routermodel.",
|
||||
"install_devices_windows_list_1": "Åbn Kontrolpanel gennem menuen Start eller Windows søgning.",
|
||||
"install_devices_windows_list_2": "Gå til Netværk og internet kategorien og derefter til Netværks- og delingscenter.",
|
||||
"install_devices_windows_list_3": "På venstre side af skærmen finder du Skift adapterindstillinger og klik på den.",
|
||||
@@ -279,6 +348,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} er nu tilgængelig! <0>Kik her</0> for mere info.",
|
||||
"setup_guide": "Installationsvejledning",
|
||||
"dns_addresses": "DNS-adresser",
|
||||
"dns_start": "DNS-server starter",
|
||||
"dns_status_error": "Fejl ved at få DNS-serverstatus",
|
||||
"down": "Ned",
|
||||
"fix": "Reparer",
|
||||
"dns_providers": "Her er en <0>liste over kendte DNS-udbydere</ 0> at vælge imellem.",
|
||||
@@ -297,17 +368,20 @@
|
||||
"client_edit": "Rediger Klient",
|
||||
"client_identifier": "Identifikator",
|
||||
"ip_address": "IP-adresse",
|
||||
"client_identifier_desc": "Klienter kan identificeres ud fra IP-adressen eller MAC-adressen. Bemærk venligst, at det kun er muligt at bruge MAC som identifikator, hvis AdGuard Home også er en <0>DHCP-server</0>",
|
||||
"client_identifier_desc": "Klienter kan identificeres ud fra IP-adressen, CIDR eller MAC-adressen. Bemærk, at det kun er muligt at bruge MAC som identifikator, hvis AdGuard Home også er en <0>DHCP-server</0>",
|
||||
"form_enter_ip": "Indtast IP",
|
||||
"form_enter_mac": "Indtast MAC",
|
||||
"form_enter_id": "Indtast identifikator",
|
||||
"form_add_id": "Tilføj identifikator",
|
||||
"form_client_name": "Indtast klientnavn",
|
||||
"name": "Navn",
|
||||
"client_global_settings": "Brug globale indstillinger",
|
||||
"client_deleted": "Klient \"{{key}}\" succesfuldt slettet",
|
||||
"client_added": "Klient \"{{key}}\" succesfuldt tilføjet",
|
||||
"client_updated": "Klient \"{{key}}\" succesfuldt opdateret",
|
||||
"clients_not_found": "Ingen klienter fundet",
|
||||
"client_confirm_delete": "Er du sikker på, at du vil slette klient \"{{key}}\"?",
|
||||
"filter_confirm_delete": "Er du sikker på, at du vil slette filtret?",
|
||||
"list_confirm_delete": "Er du sikker på, at du vil slette denne liste?",
|
||||
"auto_clients_title": "Klienter (runtime)",
|
||||
"auto_clients_desc": "Data om de klienter, der bruger AdGuard Home, men ikke gemt i konfigurationen",
|
||||
"access_title": "Adgangsindstillinger",
|
||||
@@ -316,8 +390,8 @@
|
||||
"access_allowed_desc": "En liste over CIDR- eller IP-adresser. Hvis den er konfigureret, vil AdGuard Home kun acceptere anmodninger fra disse IP-adresser.",
|
||||
"access_disallowed_title": "Ikke tilladte klienter",
|
||||
"access_disallowed_desc": "En liste over CIDR- eller IP-adresser. Hvis den er konfigureret, vil AdGuard Home droppe anmodninger fra disse IP-adresser.",
|
||||
"access_blocked_title": "Blokerede domæner",
|
||||
"access_blocked_desc": "Forveksl det ikke med filtre. AdGuard Home vil droppe DNS-forespørgsler for disse domæner i forespørgselsspørgsmål.",
|
||||
"access_blocked_title": "Ikke tilladte domæner",
|
||||
"access_blocked_desc": "Forveksl det ikke med filtre. AdGuard Home vil droppe DNS-forespørgsler for disse domæner i forespørgselsspørgsmål. Her kan du specificere de nøjagtige domænenavne, wildcards og urlfilter-regler, f.eks. 'example.org', '*.example.org' eller '||example.org^'.",
|
||||
"access_settings_saved": "Adgangsindstillinger succesfuldt gemt",
|
||||
"updates_checked": "Søgt succesfuldt efter opdateringer",
|
||||
"updates_version_equal": "AdGuard Home er opdateret",
|
||||
@@ -344,9 +418,10 @@
|
||||
"rewrite_not_found": "Ingen DNS-omskrivninger fundet",
|
||||
"rewrite_confirm_delete": "Er du sikker på, at du vil slette DNS-omskrivning for \"{{key}}\"?",
|
||||
"rewrite_desc": "Gør det nemt at konfigurere det tilpassede DNS-svar for et specifikt domænenavn.",
|
||||
"rewrite_applied": "Anvendt Omskrivningsregel",
|
||||
"rewrite_applied": "Anvendt omskrivningsregel",
|
||||
"rewrite_hosts_applied": "Omskrevet af værtsfilreglen",
|
||||
"dns_rewrites": "DNS-omskrivninger",
|
||||
"form_domain": "Indtast domæne",
|
||||
"form_domain": "Indtast domænenavn eller wildcard",
|
||||
"form_answer": "Indtast IP-adresser eller domænenavne",
|
||||
"form_error_domain_format": "Ugyldigt domæneformat",
|
||||
"form_error_answer_format": "Ugyldigt svarformat",
|
||||
@@ -373,7 +448,9 @@
|
||||
"interval_days_plural": "{{count}} dage",
|
||||
"domain": "Domæne",
|
||||
"answer": "Svar",
|
||||
"filter_added_successfully": "Filtret er blevet tilføjet",
|
||||
"filter_added_successfully": "Listen er tilføjet",
|
||||
"filter_removed_successfully": "Listen er blevet fjernet",
|
||||
"filter_updated": "Listen er blevet opdateret",
|
||||
"statistics_configuration": "Konfiguration af statistik",
|
||||
"statistics_retention": "Tilbageholdelse af statistikker",
|
||||
"statistics_retention_desc": "Hvis du mindsker intervalværdien, vil nogle data gå tabt",
|
||||
@@ -398,6 +475,93 @@
|
||||
"location": "Placering",
|
||||
"orgname": "Organisationens navn",
|
||||
"netname": "Netværksnavn",
|
||||
"network": "Netværk",
|
||||
"descr": "Beskrivelse",
|
||||
"whois": "Whois"
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Lær mere</0> om at oprette dine egne værtslister.",
|
||||
"blocked_by_response": "Blokeret af CNAME eller IP som svar",
|
||||
"blocked_by_cname_or_ip": "Blokeret af CNAME eller IP",
|
||||
"try_again": "Prøv igen",
|
||||
"domain_desc": "Indtast det domænenavn eller wildcard, du ønsker skal omskrives.",
|
||||
"example_rewrite_domain": "omskriv kun svar for dette domænenavn.",
|
||||
"example_rewrite_wildcard": "omskriv svar for alle <0>example.org</0> subdomæner.",
|
||||
"rewrite_ip_address": "IP-adresse: brug denne IP i et A- eller AAAA-svar",
|
||||
"rewrite_domain_name": "Domænenavn: tilføj en CNAME-post",
|
||||
"rewrite_A": "<0>A</0>: særlig værdi, hold <0>A</0> poster fra upstream",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: særlig værdi, hold <0>AAAA</0> poster fra upstream",
|
||||
"disable_ipv6": "Deaktiver IPv6",
|
||||
"disable_ipv6_desc": "Hvis denne funktion er aktiveret, slettes alle DNS-forespørgsler til IPv6-adresser (type AAAA).",
|
||||
"fastest_addr": "Hurtigste IP-adresse",
|
||||
"fastest_addr_desc": "Forespørg alle DNS-servere, og returner den hurtigste IP-adresse blandt alle svar. Dette vil gøre DNS-forespørgslerne langsommere, da vi er nødt til at vente på svar fra alle DNS-servere, men forbedrer samlet set forbindelsen.",
|
||||
"autofix_warning_text": "Hvis du klikker på \"Reparer\", vil AdGuardHome konfigurere dit system til at bruge AdGuardHome DNS-server.",
|
||||
"autofix_warning_list": "Den vil udføre disse opgaver: <0>Deaktivering af DNSStubListener systemet</0> <0>Indstille DNS-serveradressen til 127.0.0.1</0> <0>Erstatte det symbolske linkmål for /etc/resolv.conf til /run/systemd/resolve/resolv.conf</0> <0>Stop DNSStubListener (genindlæs systemd-løst tjeneste)</0>",
|
||||
"autofix_warning_result": "Som et resultat behandles alle DNS-anmodninger fra dit system som standard af AdGuard Home.",
|
||||
"tags_title": "Tags",
|
||||
"tags_desc": "Du kan vælge de tags, der svarer til klienten. Tags kan inkluderes i filtreringsreglerne og giver dig mulighed for at anvende dem mere nøjagtigt. <0>Læs mere</0>",
|
||||
"form_select_tags": "Vælg klient tags",
|
||||
"check_title": "Kontroller filtreringen",
|
||||
"check_desc": "Kontroller, om værtsnavnet er filtreret",
|
||||
"check": "Kontroller",
|
||||
"form_enter_host": "Indtast et værtsnavn",
|
||||
"filtered_custom_rules": "Filtreret af brugerdefinerede filtreringsregler",
|
||||
"choose_from_list": "Vælg fra listen",
|
||||
"add_custom_list": "Tilføj en tilpasset liste",
|
||||
"host_whitelisted": "Værten er hvidlistet",
|
||||
"check_ip": "IP-adresser: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Årsag: {{reason}}",
|
||||
"check_rule": "Regel: {{rule}}",
|
||||
"check_service": "Servicenavn: {{service}}",
|
||||
"check_not_found": "Ikke fundet i dine filterlister",
|
||||
"client_confirm_block": "Er du sikker på, at du vil blokere klienten \"{{ip}}\"?",
|
||||
"client_confirm_unblock": "Er du sikker på, at du vil fjerne blokeringen af klienten \"{{ip}}\"?",
|
||||
"client_blocked": "Klient \"{{ip}}\" blev blokeret",
|
||||
"client_unblocked": "Blokering af klient \"{{ip}}\" fjernet",
|
||||
"static_ip": "Statisk IP-adresse",
|
||||
"static_ip_desc": "AdGuard Home er en server, så den har brug for en statisk IP-adresse for at fungere korrekt. Ellers på et tidspunkt vil din router muligvis tildele en anden IP-adresse til denne enhed.",
|
||||
"set_static_ip": "Indstil en statisk IP-adresse",
|
||||
"install_static_ok": "Gode nyheder! Den statiske IP-adresse er allerede konfigureret",
|
||||
"install_static_error": "AdGuard Home kan ikke konfigurere det automatisk for denne netværksgrænseflade. Søg efter en instruktion om, hvordan man gør dette manuelt.",
|
||||
"install_static_configure": "Vi har registreret, at der bruges en dynamisk IP-adresse — <0>{{ip}}</0>. Vil du bruge den som din statiske adresse?",
|
||||
"confirm_static_ip": "AdGuard Home vil konfigurere {{ip}} til at være din statiske IP-adresse. Vil du fortsætte?",
|
||||
"list_updated": "{{count}} liste opdateret",
|
||||
"list_updated_plural": "{{count}} lister opdateret",
|
||||
"dnssec_enable": "Aktivér DNSSEC",
|
||||
"dnssec_enable_desc": "Sæt DNSSEC-flag i de udgående DNS-forespørgsler, og kontroller resultatet (DNSSEC-aktiveret resolver er krævet)",
|
||||
"validated_with_dnssec": "Valideret med DNSSEC",
|
||||
"all_queries": "Alle forespørgsler",
|
||||
"show_blocked_responses": "Blokeret",
|
||||
"show_whitelisted_responses": "Hvidlistet",
|
||||
"show_processed_responses": "Behandlet",
|
||||
"blocked_safebrowsing": "Blokeret af Safebrowsing",
|
||||
"blocked_adult_websites": "Blokerede Websteder for Voksne",
|
||||
"blocked_threats": "Blokerede Trusler",
|
||||
"allowed": "Tilladt",
|
||||
"filtered": "Filtreret",
|
||||
"rewritten": "Omskrevet",
|
||||
"safe_search": "Sikker søgning",
|
||||
"blocklist": "Blokeringsliste",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Cache-størrelse",
|
||||
"cache_size_desc": "Størrelse på DNS-cache (i bytes)",
|
||||
"cache_ttl_min_override": "Overskriv minimum TTL",
|
||||
"cache_ttl_max_override": "Overskriv maksimal TTL",
|
||||
"enter_cache_size": "Indtast cache-størrelse",
|
||||
"enter_cache_ttl_min_override": "Indtast minimum TTL",
|
||||
"enter_cache_ttl_max_override": "Indtast maksimum TTL",
|
||||
"cache_ttl_min_override_desc": "Overskriv TTL-værdi (minimum) modtaget fra upstream-serveren. Denne værdi kan ikke være større end 3600 (1 time)",
|
||||
"cache_ttl_max_override_desc": "Overskriv TTL-værdi (maksimum) modtaget fra upstream-serveren",
|
||||
"min_exceeds_max_value": "Minimumsværdien overstiger maksimumværdien",
|
||||
"value_not_larger_than": "Værdien kan ikke være større end {{maximum}}",
|
||||
"filter_category_general": "Generelt",
|
||||
"filter_category_security": "Sikkerhed",
|
||||
"filter_category_regional": "Regional",
|
||||
"filter_category_other": "Andre",
|
||||
"filter_category_general_desc": "Lister der blokerer for sporing og reklamer på de fleste enheder",
|
||||
"filter_category_security_desc": "Lister, der er specialiserede i at blokere malware, phishing eller scam-domæner",
|
||||
"filter_category_regional_desc": "Lister, der fokuserer på regionale annoncer og tracking-servere",
|
||||
"filter_category_other_desc": "Andre blokeringslister",
|
||||
"original_response": "Oprindeligt svar",
|
||||
"click_to_view_queries": "Klik for at se forespørgsler",
|
||||
"port_53_faq_link": "Port 53 optages ofte af \"DNSStubListener\" eller \"systemd-resolved\" tjenester. Læs <0>denne instruktion</0> om, hvordan du løser dette."
|
||||
}
|
||||
@@ -2,6 +2,9 @@
|
||||
"client_settings": "Client-Einstellungen",
|
||||
"example_upstream_reserved": "Sie können DNS-Upstream <0>für bestimmte Domain(s)</0> angeben",
|
||||
"upstream_parallel": "Parallele Abfragen verwenden, um die Lösung zu beschleunigen, indem Sie alle Upstream-Server gleichzeitig abfragen",
|
||||
"parallel_requests": "Parallele Abfragen",
|
||||
"load_balancing": "Lastverteilung",
|
||||
"load_balancing_desc": "Einen Server nach dem anderen abfragen. AdGuard Home verwendet den gewichteten Zufallsalgorithmus, um den Server so auszuwählen, dass der schnellste Server häufiger verwendet wird.",
|
||||
"bootstrap_dns": "Bootstrap DNS-Server starten",
|
||||
"bootstrap_dns_desc": "Bootstrap-DNS-Server werden verwendet, um IP-Adressen der DoH/DoT-Resolver aufzulösen, die Sie als Upstreams angeben.",
|
||||
"check_dhcp_servers": "Auf DHCP-Server prüfen",
|
||||
@@ -19,9 +22,13 @@
|
||||
"dhcp_leases_not_found": "Keine DHCP-Leasingverträge gefunden\n",
|
||||
"dhcp_config_saved": "Gespeicherte DHCP-Server-Konfiguration",
|
||||
"form_error_required": "Pflichtfeld",
|
||||
"form_error_ip4_format": "Ungültiges IPv4-Format",
|
||||
"form_error_ip6_format": "Ungültiges IPv6-Format",
|
||||
"form_error_ip_format": "Ungültiges IPv4-Format",
|
||||
"form_error_mac_format": "Ungültiges MAC-Format",
|
||||
"form_error_client_id_format": "Ungültiges Client-ID-Format",
|
||||
"form_error_positive": "Muss größer als 0 sein.",
|
||||
"form_error_negative": "Muss gleich oder größer als 0 (Null) sein",
|
||||
"dhcp_form_gateway_input": "Gateway-IP",
|
||||
"dhcp_form_subnet_input": "Subnetz-Maske",
|
||||
"dhcp_form_range_title": "Bereich von IP-Adressen",
|
||||
@@ -32,6 +39,7 @@
|
||||
"dhcp_interface_select": "DHCP-Benutzeroberfläche auswählen",
|
||||
"dhcp_hardware_address": "Hardware-Adresse",
|
||||
"dhcp_ip_addresses": "IP-Adressen",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Hostname",
|
||||
"dhcp_table_expires": "Läuft ab",
|
||||
"dhcp_warning": "Wenn Sie den DHCP-Server trotzdem aktivieren möchten, stellen Sie sicher, dass sich in Ihrem Netzwerk kein anderer aktiver DHCP-Server befindet. Andernfalls kann es bei angeschlossenen Geräten zu einem Ausfall des Internets kommen!",
|
||||
@@ -43,17 +51,28 @@
|
||||
"dhcp_new_static_lease": "Neuer statischer Lease",
|
||||
"dhcp_static_leases_not_found": "Keine statischen DHCP-Leases gefunden",
|
||||
"dhcp_add_static_lease": "Statischen Lease hinzufügen",
|
||||
"dhcp_reset": "Möchten Sie die DHCP-Konfiguration wirklich zurücksetzen?",
|
||||
"country": "Land",
|
||||
"city": "Stadt",
|
||||
"delete_confirm": "Möchten Sie „{{key}}” wirklich löschen?",
|
||||
"form_enter_hostname": "Gerätenamen eingeben",
|
||||
"error_details": "Fehlerdetails",
|
||||
"response_details": "Einzelheiten der Antwort",
|
||||
"request_details": "Einzelheiten der Anfrage",
|
||||
"client_details": "Einzelheiten des Clients",
|
||||
"details": "Details",
|
||||
"back": "Zurück",
|
||||
"dashboard": "Übersicht",
|
||||
"settings": "Einstellungen",
|
||||
"filters": "Filter",
|
||||
"filter": "Filter",
|
||||
"query_log": "Anfragenprotokoll",
|
||||
"compact": "Kompakt",
|
||||
"nothing_found": "Nichts gefunden\n",
|
||||
"faq": "FAQ",
|
||||
"version": "Version",
|
||||
"address": "Adresse",
|
||||
"protocol": "Protokoll",
|
||||
"on": "AN",
|
||||
"off": "AUS",
|
||||
"copyright": "Urheberrecht",
|
||||
@@ -71,7 +90,7 @@
|
||||
"stats_adult": "Blockierte Webseiten für Erwachsene",
|
||||
"stats_query_domain": "Am häufigsten angefragte Domains",
|
||||
"for_last_24_hours": "für die letzten 24 Stunden",
|
||||
"for_last_days": "am letzten {{value}} Tag",
|
||||
"for_last_days": "am letzten {{count}} Tag",
|
||||
"for_last_days_plural": "in den letzten {{count}} Tage",
|
||||
"no_domains_found": "Keine Domains gefunden",
|
||||
"requests_count": "Anzahl der Anfragen",
|
||||
@@ -79,7 +98,7 @@
|
||||
"top_clients": "Top Clients",
|
||||
"no_clients_found": "Keine Clients gefunden",
|
||||
"general_statistics": "Allgemeine Statistiken",
|
||||
"number_of_dns_query_days": "Anzahl der in den letzten {{value}}} Tagen verarbeiteten DNS-Anfragen",
|
||||
"number_of_dns_query_days": "Anzahl der in den letzten {{count}} Tagen verarbeiteten DNS-Anfragen",
|
||||
"number_of_dns_query_days_plural": "Anzahl der DNS-Abfragen, die in den letzten {{count}}} Tagen verarbeitet wurden",
|
||||
"number_of_dns_query_24_hours": "Anzahl der in den letzten 24 Stunden durchgeführten DNS-Anfragen",
|
||||
"number_of_dns_query_blocked_24_hours": "Anzahl der durch Werbefilter und Host-Blocklisten geblockten DNS-Anfragen",
|
||||
@@ -100,11 +119,17 @@
|
||||
"no_servers_specified": "Keine Server festgelegt",
|
||||
"general_settings": "Allgemeine Einstellungen",
|
||||
"dns_settings": "DNS-Einstellungen",
|
||||
"dns_blocklists": "DNS-Sperrliste",
|
||||
"dns_allowlists": "DNS-Freigabelisten",
|
||||
"dns_blocklists_desc": "AdGuard Home sperrt Domains, die in den Sperrlisten enthalten sind.",
|
||||
"dns_allowlists_desc": "Domains aus DNS-Freigabelisten werden auch dann zugelassen, wenn sie in einer der Sperrlisten enthalten sind.",
|
||||
"custom_filtering_rules": "Benutzerdefinierte Filterregeln",
|
||||
"encryption_settings": "Verschlüsselungseinstellungen",
|
||||
"dhcp_settings": "DHCP-Einstellungen",
|
||||
"upstream_dns": "Upstream-DNS-Server",
|
||||
"upstream_dns_hint": "Wenn Sie dieses Feld leer lassen wird AdGuard Home <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> als Upstream verwenden. Verwenden Sie das Präfix tls:// für DNS über TLS-Server.",
|
||||
"test_upstream_btn": "Upstreams testen",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Anwenden",
|
||||
"disabled_filtering_toast": "Filtern deaktiviert",
|
||||
"enabled_filtering_toast": "Filtern aktiviert",
|
||||
@@ -116,22 +141,33 @@
|
||||
"enabled_save_search_toast": "SafeSearch aktiviert",
|
||||
"enabled_table_header": "Aktiviert",
|
||||
"name_table_header": "Name",
|
||||
"filter_url_table_header": "Filter-URL",
|
||||
"list_url_table_header": "Adressliste",
|
||||
"rules_count_table_header": "Anzahl Regeln",
|
||||
"last_time_updated_table_header": "Letztes Update",
|
||||
"actions_table_header": "Aktionen",
|
||||
"request_table_header": "Anfrage",
|
||||
"edit_table_action": "Bearbeiten",
|
||||
"delete_table_action": "Löschen",
|
||||
"filters_and_hosts": "Filter und Host-Blocklisten",
|
||||
"elapsed": "Verstrichen",
|
||||
"filters_and_hosts_hint": "AdGuard Home versteht grundlegende Werbefilterregeln und Host-Datei-Syntax.",
|
||||
"no_filters_added": "Keine Filter hinzugefügt",
|
||||
"add_filter_btn": "Filter hinzufügen",
|
||||
"no_blocklist_added": "Keine Sperrliste hinzugefügt",
|
||||
"no_whitelist_added": "Keine Freigabeliste hinzugefügt",
|
||||
"add_blocklist": "Sperrliste hinzufügen",
|
||||
"add_allowlist": "Freigabeliste hinzufügen",
|
||||
"cancel_btn": "Abbrechen",
|
||||
"enter_name_hint": "Name eingeben",
|
||||
"enter_url_hint": "URL eingeben",
|
||||
"enter_url_or_path_hint": "URL oder absoluten Pfad der Liste eingeben",
|
||||
"check_updates_btn": "Nach Updates suchen",
|
||||
"new_filter_btn": "Neues Filterabonnement",
|
||||
"enter_valid_filter_url": "Geben Sie eine gültige URL zu einem Filterabonnement oder einer Host-Datei ein.",
|
||||
"new_blocklist": "Neue Sperrliste",
|
||||
"new_allowlist": "Neue Freigabeliste",
|
||||
"edit_blocklist": "Sperrliste bearbeiten",
|
||||
"edit_allowlist": "Freigabeliste bearbeiten",
|
||||
"choose_blocklist": "Sperrliste wählen",
|
||||
"choose_allowlist": "Zulassungsliste wählen",
|
||||
"enter_valid_blocklist": "Geben Sie eine gültige Adresse in die Sperrliste ein.",
|
||||
"enter_valid_allowlist": "Geben Sie eine gültige Adresse in die Freigabeliste ein.",
|
||||
"form_error_url_format": "Ungültiges URL-Format",
|
||||
"form_error_url_or_path_format": "Ungültige URL oder absoluter Pfad der Liste",
|
||||
"custom_filter_rules": "Benutzerdefinierte Filterregeln",
|
||||
"custom_filter_rules_hint": "Geben Sie pro Zeile eine Regel ein. Sie können entweder Werbefilterregeln oder Host-Datei-Syntax verwenden.",
|
||||
"examples_title": "Beispiele",
|
||||
@@ -143,20 +179,23 @@
|
||||
"example_comment_hash": "# Auch ein Kommentar",
|
||||
"example_regex_meaning": "Zugriff auf die Domains blockieren, die dem <0>spezifizierten regulären Ausdruck</0> entsprechen",
|
||||
"example_upstream_regular": "regulärer DNS (über UDP)",
|
||||
"example_upstream_dot": "verschlüsseltes <a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-over-TLS</a>",
|
||||
"example_upstream_doh": "verschlüsseltes <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a>",
|
||||
"example_upstream_sdns": "Sie können <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS-Stempel</a> für <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> oder <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a> Resolver benutzen.",
|
||||
"example_upstream_dot": "verschlüsseltes <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "verschlüsseltes <0>DNS_over_HTTPS</0>",
|
||||
"example_upstream_sdns": "Sie können <0>DNS-Stempel</0> für <1>DNSCrypt</1> oder <2>DNS-over-HTTPS</2> Resolver benutzen",
|
||||
"example_upstream_tcp": "regulärer DNS (über TCP)",
|
||||
"all_filters_up_to_date_toast": "Alle Filter sind bereits aktuell",
|
||||
"all_lists_up_to_date_toast": "Alle Listen sind bereits auf dem neuesten Stand",
|
||||
"updated_upstream_dns_toast": "Upstream-DNS-Server wurden aktualisiert",
|
||||
"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",
|
||||
"unblock_btn": "Entblocken",
|
||||
"block_btn": "Blockieren",
|
||||
"unblock": "Entsperren",
|
||||
"block": "Blockieren",
|
||||
"time_table_header": "Zeit",
|
||||
"date": "Datum",
|
||||
"domain_name_table_header": "Domainname",
|
||||
"domain_or_client": "Domain oder Client",
|
||||
"type_table_header": "Typ",
|
||||
"response_table_header": "Antwort",
|
||||
"response_code": "Antwortcode",
|
||||
"client_table_header": "Client",
|
||||
"empty_response_status": "Leer",
|
||||
"show_all_filter_type": "Alle anzeigen",
|
||||
@@ -167,7 +206,6 @@
|
||||
"next_btn": "Nächste",
|
||||
"loading_table_status": "Laden...",
|
||||
"page_table_footer_text": "Seite",
|
||||
"of_table_footer_text": "von",
|
||||
"rows_table_footer_text": "Reihen",
|
||||
"updated_custom_filtering_toast": "Die benutzerdefinierten Filterregeln wurden aktualisiert",
|
||||
"rule_removed_from_custom_filtering_toast": "Regel wurde aus den benutzerdefinierten Filterregeln entfernt",
|
||||
@@ -176,6 +214,7 @@
|
||||
"query_log_filtered": "Gefiltert nach {{filter}}",
|
||||
"query_log_confirm_clear": "Möchten Sie wirklich das Abfrageprotokoll vollständig löschen?",
|
||||
"query_log_cleared": "Das Abfrageprotokoll wurde erfolgreich gelöscht",
|
||||
"query_log_updated": "Das Abfrageprotokoll wurde erfolgreich aktualisiert",
|
||||
"query_log_clear": "Abfrageprotokolle leeren",
|
||||
"query_log_retention": "Abfrageprotokolle aufbewahren",
|
||||
"query_log_enable": "Protokoll aktivieren",
|
||||
@@ -183,12 +222,41 @@
|
||||
"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_retention_confirm": "Möchten Sie die Aufbewahrung des Abfrageprotokolls wirklich ändern? Wenn Sie den Zeitabstand verringern, gehen einige Daten verloren.",
|
||||
"anonymize_client_ip": "Client-IP anonymisieren",
|
||||
"anonymize_client_ip_desc": "Vollständige IP-Adresse des Clients nicht in Protokollen und Statistiken speichern",
|
||||
"dns_config": "DNS-Serverkonfiguration",
|
||||
"dns_cache_config": "Konfiguration des DNS-Zwischenspeicher",
|
||||
"dns_cache_config_desc": "Hier können Sie den DNS-Zwischenspeicher konfigurieren",
|
||||
"blocking_mode": "Sperrmodus",
|
||||
"default": "Standard",
|
||||
"nxdomain": "NXDomain",
|
||||
"null_ip": "Null-IP-Adresse",
|
||||
"custom_ip": "Benutzerdefinierte IP",
|
||||
"blocking_ipv4": "IPv4-Sperren",
|
||||
"blocking_ipv6": "IPv6-Sperren",
|
||||
"dns_over_https": "DNS-over-HTTPS (DNS-Abrage über HTTPS)",
|
||||
"dns_over_tls": "DNS-over-TLS (DNS-Abrage über TLS)",
|
||||
"plain_dns": "Einfaches DNS",
|
||||
"form_enter_rate_limit": "Begrenzungswert eingeben",
|
||||
"rate_limit": "Begrenzungswert",
|
||||
"edns_enable": "EDNS Client Subnetz aktivieren",
|
||||
"edns_cs_desc": "Wenn aktiviert, sendet AdGuard Home die Subnetze der Clients an die DNS-Server.",
|
||||
"rate_limit_desc": "Die Anzahl der Anfragen pro Sekunde, die ein einzelner Client stellen darf (0: unbegrenzt)",
|
||||
"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_mode_default": "Standard: Mit NXDOMAIN antworten, wenn sie durch eine Regel im Adblock-Stil gesperrt sind; mit der in der Regel angegebenen IP-Adresse antworten, wenn sie durch eine Regel im /etc/hosts-Stil gesperrt wurde",
|
||||
"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_custom_ip": "Benutzerdefinierte IP: Mit einer manuell eingestellten IP-Adresse antworten",
|
||||
"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",
|
||||
"source_label": "Quelle",
|
||||
"found_in_known_domain_db": "In der Datenbank der bekannten Domains gefunden.",
|
||||
"category_label": "Kategorie",
|
||||
"rule_label": "Regel",
|
||||
"filter_label": "Filter",
|
||||
"list_label": "Liste",
|
||||
"unknown_filter": "Unbekannter Filter {{filterId}}",
|
||||
"known_tracker": "Bekannte Tracker",
|
||||
"install_welcome_title": "Willkommen bei AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home ist ein netzwerkweiter Werbung- und Tracking sperrender DNS-Server. Sein Zweck ist es, Ihnen die Kontrolle über Ihr gesamtes Netzwerk und alle Ihre Geräte zu ermöglichen, und es ist nicht erforderlich, eine clientseitige Anwendung zu verwenden.",
|
||||
"install_settings_title": "Admin Weboberfläche",
|
||||
@@ -217,6 +285,7 @@
|
||||
"install_devices_router_list_1": "Öffnen Sie die Einstellungen für Ihren Router. In der Regel können Sie von Ihrem Browser aus über eine URL (wie http://192.168.0.1/ oder http://192.168.1.1/) darauf zugreifen. Möglicherweise werden Sie aufgefordert, das Passwort einzugeben. Wenn Sie sich nicht mehr daran erinnern, können Sie das Passwort oft durch Drücken einer Taste auf dem Router selbst zurücksetzen. Einige Router benötigen eine bestimmte Anwendung, die in diesem Fall bereits auf Ihrem Computer/Telefon installiert sein sollte.",
|
||||
"install_devices_router_list_2": "DHCP/DNS-Einstellungen suchen. Suchen Sie nach den DNS-Buchstaben neben einem Feld, das zwei oder drei Zahlensätze erlaubt, die jeweils in vier Gruppen von ein bis drei Ziffern unterteilt sind.",
|
||||
"install_devices_router_list_3": "Geben Sie dort Ihre AdGuard Home Server-Adressen ein.",
|
||||
"install_devices_router_list_4": "Sie können auf einigen Routern keine beliebigen DNS-Server festlegen. In diesem Fall kann es hilfreich sein, dass Sie AdGuard Home als <0>DHCP-Server</0> festlegen. Andernfalls sollten Sie nach einer Bedienungsanleitung zum Anpassen des DNS-Server für Ihr Router-Modell suchen.",
|
||||
"install_devices_windows_list_1": "Öffnen Sie die Systemsteuerung über das Startmenü oder die Windows-Suche.",
|
||||
"install_devices_windows_list_2": "Öffnen Sie die Kategorie „Netzwerk und Internet” und dann „Netzwerk- und Freigabecenter”.",
|
||||
"install_devices_windows_list_3": "Suchen Sie auf der linken Seite des Bildschirms nach „Adaptereinstellungen ändern” und klicken Sie darauf.",
|
||||
@@ -279,6 +348,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} ist jetzt verfügbar! <0>Klicken Sie hier</0> für weitere Informationen.",
|
||||
"setup_guide": "Einrichtungsassistent",
|
||||
"dns_addresses": "DNS-Adressen",
|
||||
"dns_start": "DNS-Server wird gestartet",
|
||||
"dns_status_error": "Fehler bei Statusabfrage des DNS-Server",
|
||||
"down": "Nicht erreichbar",
|
||||
"fix": "Beheben",
|
||||
"dns_providers": "Hier finden Sie eine <0>Liste der bekannten DNS-Anbieter</0> zur Auswahl.",
|
||||
@@ -297,17 +368,20 @@
|
||||
"client_edit": "Client bearbeiten",
|
||||
"client_identifier": "Bezeichner",
|
||||
"ip_address": "IP-Adresse",
|
||||
"client_identifier_desc": "Clients können durch die IP-Adresse oder MAC-Adresse identifiziert werden. Bitte beachten Sie, dass die Verwendung der MAC-Adresse als Identifikator nur möglich ist, wenn AdGuard Home gleichzeitig auch ein <0>DHCP-Server</0> ist.",
|
||||
"client_identifier_desc": "Clients können durch die IP-Adresse oder MAC-Adresse identifiziert werden. Bitte beachten Sie, dass die Verwendung der MAC-Adresse als Identifikator nur möglich ist, wenn AdGuard Home gleichzeitig als <0>DHCP-Server</0> eingerichtet ist.",
|
||||
"form_enter_ip": "IP-Adresse eingeben",
|
||||
"form_enter_mac": "MAC-Adresse eingeben",
|
||||
"form_enter_id": "Kennung eingeben",
|
||||
"form_add_id": "Kennung hinzufügen",
|
||||
"form_client_name": "Clientnamen eingeben",
|
||||
"name": "Name",
|
||||
"client_global_settings": "Allgemeine Einstellungen nutzen",
|
||||
"client_deleted": "Client „{{key}}” erfolgreich entfernt",
|
||||
"client_added": "Client „{{key}}” erfolgreich hinzugefügt",
|
||||
"client_updated": "Client „{{key}}” erfolgreich aktualisiert",
|
||||
"clients_not_found": "Keine Clients gefunden",
|
||||
"client_confirm_delete": "Möchten Sie den Client „{{key}}” wirklich löschen?",
|
||||
"filter_confirm_delete": "Möchten Sie den Filter wirklich löschen?",
|
||||
"list_confirm_delete": "Möchten Sie diese Liste wirklich löschen?",
|
||||
"auto_clients_title": "Clients (Laufzeit)",
|
||||
"auto_clients_desc": "Daten zu den Clients, die AdGuard Home verwenden, aber nicht in der Konfiguration gespeichert sind",
|
||||
"access_title": "Zugriffsrechte",
|
||||
@@ -316,8 +390,8 @@
|
||||
"access_allowed_desc": "Eine Liste von CIDR- oder IP-Adressen. Wenn konfiguriert, akzeptiert AdGuard Home nur Anfragen von diesen IP-Adressen.",
|
||||
"access_disallowed_title": "Nicht zugelassene Clients",
|
||||
"access_disallowed_desc": "Eine Liste von CIDR- oder IP-Adressen. Wenn konfiguriert, löscht AdGuard Home Anfragen von diesen IP-Adressen.",
|
||||
"access_blocked_title": "Gesperrte Domains",
|
||||
"access_blocked_desc": "Verwechseln Sie dies nicht mit Filtern. AdGuard Home löscht DNS-Abfragen mit diesen Domänen während der Abfrage.",
|
||||
"access_blocked_title": "Nicht zugelassene Domains",
|
||||
"access_blocked_desc": "Verwechseln Sie dies nicht mit Filtern. AdGuard Home löscht DNS-Abfragen mit diesen Domänen während der Abfrage. Hier können Sie die genauen Domain-Namen, Wildcards und URL-Filter-Regeln angeben, z.B. 'beispiel.org', '*.beispiel.org' oder '|||beispiel.org^'.",
|
||||
"access_settings_saved": "Zugriffseinstellungen erfolgreich gespeichert",
|
||||
"updates_checked": "Erfolgreich auf Aktualisierungen geprüft",
|
||||
"updates_version_equal": "AdGuard Home ist aktuell",
|
||||
@@ -344,7 +418,8 @@
|
||||
"rewrite_not_found": "Keine DNS-Umschreibungen gefunden",
|
||||
"rewrite_confirm_delete": "Möchten Sie die DNS-Umschreibung für „{{key}}” wirklich entfernen?",
|
||||
"rewrite_desc": "Ermöglicht die einfache Konfiguration der benutzerdefinierten DNS-Antwort für einen bestimmten Domainnamen.",
|
||||
"rewrite_applied": "Geltende Umschreibungsregel",
|
||||
"rewrite_applied": "Umschreibungsregel ist angewendet",
|
||||
"rewrite_hosts_applied": "Von Hostdatei-Regel umgeschrieben",
|
||||
"dns_rewrites": "DNS-Umscheibungen",
|
||||
"form_domain": "Domain eingeben",
|
||||
"form_answer": "IP-Adresse oder Domainname eingeben",
|
||||
@@ -374,6 +449,8 @@
|
||||
"domain": "Domain",
|
||||
"answer": "Antwort",
|
||||
"filter_added_successfully": "Der Filter wurde erfolgreich hinzugefügt",
|
||||
"filter_removed_successfully": "Der Filter wurde erfolgreich entfernt",
|
||||
"filter_updated": "Der Filter wurde erfolgreich aktualisiert",
|
||||
"statistics_configuration": "Statistikkonfiguration",
|
||||
"statistics_retention": "Statistiken speichern",
|
||||
"statistics_retention_desc": "Wenn Sie Intervallwert verringern, werden einige Daten verloren gehen",
|
||||
@@ -398,7 +475,93 @@
|
||||
"location": "Ort",
|
||||
"orgname": "Name der Organisation",
|
||||
"netname": "Netzwerkname",
|
||||
"network": "Netzwerk",
|
||||
"descr": "Beschreibung",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Erfahren Sie mehr</0> über die Erstellung eigener Hosts-Blocklisten."
|
||||
"filtering_rules_learn_more": "<0>Erfahren Sie mehr</0> über die Erstellung eigener Hosts-Listen.",
|
||||
"blocked_by_response": "Nach CNAME oder IP-Antwort blockiert",
|
||||
"blocked_by_cname_or_ip": "Gesperrt durch CNAME oder IP",
|
||||
"try_again": "Erneut versuchen",
|
||||
"domain_desc": "Geben Sie den Domain-Namen oder den Platzhalter ein, der umgeschrieben werden soll.",
|
||||
"example_rewrite_domain": "Antworten nur für diesen Domain-Namen umschreiben.",
|
||||
"example_rewrite_wildcard": "Antworten nur für alle <0>example.org</0> Subdomains umschreiben.",
|
||||
"rewrite_ip_address": "IP-Adresse: Verwenden Sie diese IP in einer A- oder AAAA-Antwort",
|
||||
"rewrite_domain_name": "Domänenname: einen CNAME-Eintrag hinzufügen",
|
||||
"rewrite_A": "<0>A</0>: spezieller Wert, <0>A</0>-Datensätze des \n vorgeschalteten Servers beibehalten",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: spezieller Wert, <0>AAAA</0>-Datensätze des vorgeschalteten Servers beibehalten",
|
||||
"disable_ipv6": "IPv6 deaktivieren",
|
||||
"disable_ipv6_desc": "Wenn diese Funktion aktiviert ist, werden alle DNS-Abfragen für IPv6-Adressen (Typ AAAA) verworfen.",
|
||||
"fastest_addr": "Schnellste IP-Adresse",
|
||||
"fastest_addr_desc": "Abfrage aller DNS-Server und Rückgabe der schnellsten IP-Adresse unter allen Antworten",
|
||||
"autofix_warning_text": "Wenn Sie auf „Beheben” klicken, konfiguriert AdGuardHome Ihr System für die Verwendung des AdGuardHome-DNS-Servers.",
|
||||
"autofix_warning_list": "Es werden folgende Aufgaben ausgeführt: <0>Deaktivieren des DNSStubListener-Systems</0> <0>Festlegen der DNS-Server-Adresse auf 127.0.0.1</0> <0>Ersetzen des symbolischen Linkziels von /etc/resolv.conf auf /run/systemd/resolve/resolv.conf</0> <0>Anhalten des DNSStubListener (systemseitig aufgelöster Dienst wird nachladen)</0>",
|
||||
"autofix_warning_result": "Als Folge daraus werden alle DNS-Anforderungen von Ihrem System standardmäßig von AdGuardHome verarbeitet.",
|
||||
"tags_title": "Schlagwörter",
|
||||
"tags_desc": "Sie können die Schlagwörter auswählen, die dem Client entsprechen. Die Schlagwörter können in die Filterregeln aufgenommen werden und erlauben Ihnen, sie genauer anzuwenden. <0>Mehr erfahren</0>",
|
||||
"form_select_tags": "Schlagwörter des Clients auswählen",
|
||||
"check_title": "Filterung überprüfen",
|
||||
"check_desc": "Prüfen, ob der Hostname gefiltert wird",
|
||||
"check": "Prüfen",
|
||||
"form_enter_host": "Gerätenamen eingeben",
|
||||
"filtered_custom_rules": "Nach benutzerdefinierten Filterregeln gefiltert",
|
||||
"choose_from_list": "Aus Liste auswählen",
|
||||
"add_custom_list": "Eigene Liste hinzufügen",
|
||||
"host_whitelisted": "Der Host ist in der Positivliste enthalten",
|
||||
"check_ip": "IP-Adressen: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Grund: {{reason}}",
|
||||
"check_rule": "Regel: {{rule}}",
|
||||
"check_service": "Dienstname: {{service}}",
|
||||
"check_not_found": "Nicht in Ihren Filterlisten enthalten",
|
||||
"client_confirm_block": "Möchten Sie den Client „{{ip}}” wirklich sperren?",
|
||||
"client_confirm_unblock": "Möchten Sie den Client „{{ip}}” wirklich entsperren?",
|
||||
"client_blocked": "Client „{{ip}}” erfolgreich gesperrt",
|
||||
"client_unblocked": "Client „{{ip}}” erfolgreich entsperrt",
|
||||
"static_ip": "Feste IP-Adresse",
|
||||
"static_ip_desc": "AdGuard Home ist ein Server und benötigt daher eine feste IP-Adresse, um ordnungsgemäß zu funktionieren. Andernfalls weist Ihr Router diesem Gerät möglicherweise irgendwann eine andere IP-Adresse zu.",
|
||||
"set_static_ip": "Feste IP-Adresse festlegen",
|
||||
"install_static_ok": "Gute Nachrichten! Die feste IP-Adresse ist bereits konfiguriert",
|
||||
"install_static_error": "AdGuard Home kann nicht automatisch für diese Netzwerkschnittstelle konfiguriert werden. Bitte suchen Sie nach einer Anleitung, wie Sie dies manuell durchführen können.",
|
||||
"install_static_configure": "Wir haben festgestellt, dass eine dynamische IP-Adresse verwendet wird — <0>{{ip}}</0>. Möchten Sie diese als feste Adresse verwenden?",
|
||||
"confirm_static_ip": "AdGuard Home konfiguriert {{ip}} als Ihre feste IP-Adresse. Möchten Sie fortfahren?",
|
||||
"list_updated": "{{count}} Liste aktualisiert",
|
||||
"list_updated_plural": "{{count}} Listen aktualisiert",
|
||||
"dnssec_enable": "DNSSEC aktivieren",
|
||||
"dnssec_enable_desc": "DNSSEC-Flag in den ausgehenden DNS-Abfragen mitsenden und das Ergebnis überprüfen (DNSSEC-fähiger Resolver erforderlich)",
|
||||
"validated_with_dnssec": "Bestätigt mit DNSSEC",
|
||||
"all_queries": "Alle Anfragen",
|
||||
"show_blocked_responses": "Gesperrt",
|
||||
"show_whitelisted_responses": "Auf der Positivliste",
|
||||
"show_processed_responses": "Verarbeitet",
|
||||
"blocked_safebrowsing": "Durch Internetsicherheit gesperrt",
|
||||
"blocked_adult_websites": "Gesperrte jugendgefährdende Webseiten",
|
||||
"blocked_threats": "Gesperrte Bedrohungen",
|
||||
"allowed": "Zugelassen",
|
||||
"filtered": "Gefiltert",
|
||||
"rewritten": "Umgeschrieben",
|
||||
"safe_search": "Sichere Suche",
|
||||
"blocklist": "Sperrliste",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Größe des Zwischenspeichers",
|
||||
"cache_size_desc": "Größe des DNS-Zwischenspeichers (in Bytes)",
|
||||
"cache_ttl_min_override": "TTL-Minimalwert überschreiben",
|
||||
"cache_ttl_max_override": "TTL-Höchstwert überschreiben",
|
||||
"enter_cache_size": "Größe des Zwischenspeichers eingeben",
|
||||
"enter_cache_ttl_min_override": "TTL-Minimalwert eingeben",
|
||||
"enter_cache_ttl_max_override": "TTL-Höchstwert eingeben",
|
||||
"cache_ttl_min_override_desc": "Überschreibt den TTL-Minimalwert, der vom vorgeschalteten Server empfangen wurde. Dieser Wert darf nicht größer als 3600 (Sek.) (≙ 1 Stunde) betragen.",
|
||||
"cache_ttl_max_override_desc": "Überschreibt den TLL-Maximalwert, der vom vorgeschalteten Server empfangenen wurde",
|
||||
"min_exceeds_max_value": "Minimalwert überschreitet Maximalwert",
|
||||
"value_not_larger_than": "Wert darf höchstens {{maximum}} betragen",
|
||||
"filter_category_general": "Allgemein",
|
||||
"filter_category_security": "Sicherheit",
|
||||
"filter_category_regional": "Regional",
|
||||
"filter_category_other": "Weitere",
|
||||
"filter_category_general_desc": "Listen, die Tracking und Werbung auf den meisten Geräten sperren",
|
||||
"filter_category_security_desc": "Listen, die auf das Sperren von Malware, Phishing- oder Scam-Domains spezialisiert sind",
|
||||
"filter_category_regional_desc": "Listen, die sich auf regionale Werbeanzeigen und Tracking-Server konzentrieren",
|
||||
"filter_category_other_desc": "Weitere Sperrlisten",
|
||||
"original_response": "Ursprüngliche Antwort",
|
||||
"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."
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "Client settings",
|
||||
"example_upstream_reserved": "you can specify DNS upstream <0>for a specific domain(s)</0>",
|
||||
"upstream_parallel": "Use parallel queries to speed up resolving by simultaneously querying all upstream servers",
|
||||
"example_upstream_reserved": "You can specify DNS upstream <0>for the specific domain(s)</0>",
|
||||
"upstream_parallel": "Use parallel requests to speed up resolving by simultaneously querying all upstream servers",
|
||||
"parallel_requests": "Parallel requests",
|
||||
"load_balancing": "Load-balancing",
|
||||
"load_balancing_desc": "Query one server at a time. AdGuard Home will use the weighted random algorithm to pick the server so that the fastest server will be used more often.",
|
||||
"bootstrap_dns": "Bootstrap DNS servers",
|
||||
"bootstrap_dns_desc": "Bootstrap DNS servers are used to resolve IP addresses of the DoH/DoT resolvers you specify as upstreams.",
|
||||
"check_dhcp_servers": "Check for DHCP servers",
|
||||
@@ -17,11 +20,15 @@
|
||||
"dhcp_leases": "DHCP leases",
|
||||
"dhcp_static_leases": "DHCP static leases",
|
||||
"dhcp_leases_not_found": "No DHCP leases found",
|
||||
"dhcp_config_saved": "Saved DHCP server config",
|
||||
"dhcp_config_saved": "DHCP config successfully saved",
|
||||
"form_error_required": "Required field",
|
||||
"form_error_ip_format": "Invalid IPv4 format",
|
||||
"form_error_ip4_format": "Invalid IPv4 format",
|
||||
"form_error_ip6_format": "Invalid IPv6 format",
|
||||
"form_error_ip_format": "Invalid IP format",
|
||||
"form_error_mac_format": "Invalid MAC format",
|
||||
"form_error_client_id_format": "Invalid client ID format",
|
||||
"form_error_positive": "Must be greater than 0",
|
||||
"form_error_negative": "Must be equal to 0 or greater",
|
||||
"dhcp_form_gateway_input": "Gateway IP",
|
||||
"dhcp_form_subnet_input": "Subnet mask",
|
||||
"dhcp_form_range_title": "Range of IP addresses",
|
||||
@@ -32,6 +39,7 @@
|
||||
"dhcp_interface_select": "Select DHCP interface",
|
||||
"dhcp_hardware_address": "Hardware address",
|
||||
"dhcp_ip_addresses": "IP addresses",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Hostname",
|
||||
"dhcp_table_expires": "Expires",
|
||||
"dhcp_warning": "If you want to enable DHCP server anyway, make sure that there is no other active DHCP server in your network. Otherwise, it can break the Internet for connected devices!",
|
||||
@@ -43,17 +51,28 @@
|
||||
"dhcp_new_static_lease": "New static lease",
|
||||
"dhcp_static_leases_not_found": "No DHCP static leases found",
|
||||
"dhcp_add_static_lease": "Add static lease",
|
||||
"dhcp_reset": "Are you sure you want to reset DHCP config?",
|
||||
"country": "Country",
|
||||
"city": "City",
|
||||
"delete_confirm": "Are you sure you want to delete \"{{key}}\"?",
|
||||
"form_enter_hostname": "Enter hostname",
|
||||
"error_details": "Error details",
|
||||
"response_details": "Response details",
|
||||
"request_details": "Request details",
|
||||
"client_details": "Client details",
|
||||
"details": "Details",
|
||||
"back": "Back",
|
||||
"dashboard": "Dashboard",
|
||||
"settings": "Settings",
|
||||
"filters": "Filters",
|
||||
"filter": "Filter",
|
||||
"query_log": "Query Log",
|
||||
"compact": "Compact",
|
||||
"nothing_found": "Nothing found",
|
||||
"faq": "FAQ",
|
||||
"version": "Version",
|
||||
"address": "address",
|
||||
"address": "Address",
|
||||
"protocol": "Protocol",
|
||||
"on": "ON",
|
||||
"off": "OFF",
|
||||
"copyright": "Copyright",
|
||||
@@ -96,15 +115,21 @@
|
||||
"use_adguard_parental": "Use AdGuard parental control web service",
|
||||
"use_adguard_parental_hint": "AdGuard Home will check if domain contains adult materials. It uses the same privacy-friendly API as the browsing security web service.",
|
||||
"enforce_safe_search": "Enforce safe search",
|
||||
"enforce_save_search_hint": "AdGuard Home can enforce safe search in the following search engines: Google, Youtube, Bing, DuckDuckGo and Yandex.",
|
||||
"enforce_save_search_hint": "AdGuard Home can enforce safe search in the following search engines: Google, Youtube, Bing, DuckDuckGo, Yandex, Pixabay.",
|
||||
"no_servers_specified": "No servers specified",
|
||||
"general_settings": "General settings",
|
||||
"dns_settings": "DNS settings",
|
||||
"dns_blocklists": "DNS blocklists",
|
||||
"dns_allowlists": "DNS allowlists",
|
||||
"dns_blocklists_desc": "AdGuard Home will block domains matching the blocklists.",
|
||||
"dns_allowlists_desc": "Domains from DNS allowlists will be allowed even if they are in any of the blocklists.",
|
||||
"custom_filtering_rules": "Custom filtering rules",
|
||||
"encryption_settings": "Encryption settings",
|
||||
"dhcp_settings": "DHCP settings",
|
||||
"upstream_dns": "Upstream DNS servers",
|
||||
"upstream_dns_hint": "If you keep this field empty, AdGuard Home will use <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> as an upstream.",
|
||||
"upstream_dns_hint": "If you keep this field empty, AdGuard Home will use <a href='https://www.quad9.net/' target='_blank'>Quad9</a> as an upstream.",
|
||||
"test_upstream_btn": "Test upstreams",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Apply",
|
||||
"disabled_filtering_toast": "Disabled filtering",
|
||||
"enabled_filtering_toast": "Enabled filtering",
|
||||
@@ -116,22 +141,33 @@
|
||||
"enabled_save_search_toast": "Enabled safe search",
|
||||
"enabled_table_header": "Enabled",
|
||||
"name_table_header": "Name",
|
||||
"filter_url_table_header": "Filter URL",
|
||||
"list_url_table_header": "List URL",
|
||||
"rules_count_table_header": "Rules count",
|
||||
"last_time_updated_table_header": "Last time updated",
|
||||
"actions_table_header": "Actions",
|
||||
"request_table_header": "Request",
|
||||
"edit_table_action": "Edit",
|
||||
"delete_table_action": "Delete",
|
||||
"filters_and_hosts": "Filters and hosts blocklists",
|
||||
"elapsed": "Elapsed",
|
||||
"filters_and_hosts_hint": "AdGuard Home understands basic adblock rules and hosts files syntax.",
|
||||
"no_filters_added": "No filters added",
|
||||
"add_filter_btn": "Add filter",
|
||||
"no_blocklist_added": "No blocklists added",
|
||||
"no_whitelist_added": "No allowlists added",
|
||||
"add_blocklist": "Add blocklist",
|
||||
"add_allowlist": "Add allowlist",
|
||||
"cancel_btn": "Cancel",
|
||||
"enter_name_hint": "Enter name",
|
||||
"enter_url_hint": "Enter URL",
|
||||
"check_updates_btn": "Check updates",
|
||||
"new_filter_btn": "New filter subscription",
|
||||
"enter_valid_filter_url": "Enter a valid URL to a filter subscription or a hosts file.",
|
||||
"enter_url_or_path_hint": "Enter a URL or an absolute path of the list",
|
||||
"check_updates_btn": "Check for updates",
|
||||
"new_blocklist": "New blocklist",
|
||||
"new_allowlist": "New allowlist",
|
||||
"edit_blocklist": "Edit blocklist",
|
||||
"edit_allowlist": "Edit allowlist",
|
||||
"choose_blocklist": "Choose blocklists",
|
||||
"choose_allowlist": "Choose allowlists",
|
||||
"enter_valid_blocklist": "Enter a valid URL to the blocklist.",
|
||||
"enter_valid_allowlist": "Enter a valid URL to the allowlist.",
|
||||
"form_error_url_format": "Invalid URL format",
|
||||
"form_error_url_or_path_format": "Invalid URL or absolute path of the list",
|
||||
"custom_filter_rules": "Custom filtering rules",
|
||||
"custom_filter_rules_hint": "Enter one rule on a line. You can use either adblock rules or hosts files syntax.",
|
||||
"examples_title": "Examples",
|
||||
@@ -147,16 +183,19 @@
|
||||
"example_upstream_doh": "encrypted <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "you can use <0>DNS Stamps</0> for <1>DNSCrypt</1> or <2>DNS-over-HTTPS</2> resolvers",
|
||||
"example_upstream_tcp": "regular DNS (over TCP)",
|
||||
"all_filters_up_to_date_toast": "All filters are already up-to-date",
|
||||
"all_lists_up_to_date_toast": "All lists are already up-to-date",
|
||||
"updated_upstream_dns_toast": "Updated the upstream DNS servers",
|
||||
"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",
|
||||
"unblock_btn": "Unblock",
|
||||
"block_btn": "Block",
|
||||
"unblock": "Unblock",
|
||||
"block": "Block",
|
||||
"time_table_header": "Time",
|
||||
"date": "Date",
|
||||
"domain_name_table_header": "Domain name",
|
||||
"domain_or_client": "Domain or client",
|
||||
"type_table_header": "Type",
|
||||
"response_table_header": "Response",
|
||||
"response_code": "Response code",
|
||||
"client_table_header": "Client",
|
||||
"empty_response_status": "Empty",
|
||||
"show_all_filter_type": "Show all",
|
||||
@@ -167,7 +206,6 @@
|
||||
"next_btn": "Next",
|
||||
"loading_table_status": "Loading...",
|
||||
"page_table_footer_text": "Page",
|
||||
"of_table_footer_text": "of",
|
||||
"rows_table_footer_text": "rows",
|
||||
"updated_custom_filtering_toast": "Updated the custom filtering rules",
|
||||
"rule_removed_from_custom_filtering_toast": "Rule removed from the custom filtering rules",
|
||||
@@ -176,6 +214,7 @@
|
||||
"query_log_filtered": "Filtered by {{filter}}",
|
||||
"query_log_confirm_clear": "Are you sure you want to clear the entire query log?",
|
||||
"query_log_cleared": "The query log has been successfully cleared",
|
||||
"query_log_updated": "The query log has been successfully updated",
|
||||
"query_log_clear": "Clear query logs",
|
||||
"query_log_retention": "Query logs retention",
|
||||
"query_log_enable": "Enable log",
|
||||
@@ -183,12 +222,41 @@
|
||||
"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_retention_confirm": "Are you sure you want to change query log retention? If you decrease the interval value, some data will be lost",
|
||||
"anonymize_client_ip": "Anonymize client IP",
|
||||
"anonymize_client_ip_desc": "Don't save the full IP address of the client in logs and statistics",
|
||||
"dns_config": "DNS server configuration",
|
||||
"dns_cache_config": "DNS cache configuration",
|
||||
"dns_cache_config_desc": "Here you can configure DNS cache",
|
||||
"blocking_mode": "Blocking mode",
|
||||
"default": "Default",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Null IP",
|
||||
"custom_ip": "Custom IP",
|
||||
"blocking_ipv4": "Blocking IPv4",
|
||||
"blocking_ipv6": "Blocking IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "Plain DNS",
|
||||
"form_enter_rate_limit": "Enter rate limit",
|
||||
"rate_limit": "Rate limit",
|
||||
"edns_enable": "Enable EDNS Client Subnet",
|
||||
"edns_cs_desc": "If enabled, AdGuard Home will be sending clients' subnets to the DNS servers.",
|
||||
"rate_limit_desc": "The number of requests per second that a single client is allowed to make (0: unlimited)",
|
||||
"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_mode_default": "Default: Respond with NXDOMAIN when blocked by Adblock-style rule; respond with the IP address specified in the rule when blocked by /etc/hosts-style rule",
|
||||
"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_custom_ip": "Custom IP: Respond with a manually set IP address",
|
||||
"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",
|
||||
"source_label": "Source",
|
||||
"found_in_known_domain_db": "Found in the known domains database.",
|
||||
"category_label": "Category",
|
||||
"rule_label": "Rule",
|
||||
"filter_label": "Filter",
|
||||
"list_label": "List",
|
||||
"unknown_filter": "Unknown filter {{filterId}}",
|
||||
"known_tracker": "Known tracker",
|
||||
"install_welcome_title": "Welcome to AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home is a network-wide ad-and-tracker blocking DNS server. Its purpose is to let you control your entire network and all your devices, and it does not require using a client-side program.",
|
||||
"install_settings_title": "Admin Web Interface",
|
||||
@@ -217,6 +285,7 @@
|
||||
"install_devices_router_list_1": "Open the preferences for your router. Usually, you can access it from your browser via a URL (like http://192.168.0.1/ or http://192.168.1.1/). You may be asked to enter the password. If you don't remember it, you can often reset the password by pressing a button on the router itself. Some routers require a specific application, which in that case should be already installed on your computer/phone.",
|
||||
"install_devices_router_list_2": "Find the DHCP/DNS settings. Look for the DNS letters next to a field which allows two or three sets of numbers, each broken into four groups of one to three digits.",
|
||||
"install_devices_router_list_3": "Enter your AdGuard Home server addresses there.",
|
||||
"install_devices_router_list_4": "You can't set a custom DNS server on some types of routers. In this case it may help if you set up AdGuard Home as a <0>DHCP server</0>. Otherwise, you should search for the manual on how to customize DNS servers for your particular router model.",
|
||||
"install_devices_windows_list_1": "Open Control Panel through Start menu or Windows search.",
|
||||
"install_devices_windows_list_2": "Go to Network and Internet category and then to Network and Sharing Center.",
|
||||
"install_devices_windows_list_3": "On the left side of the screen find Change adapter settings and click on it.",
|
||||
@@ -279,6 +348,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} is now available! <0>Click here</0> for more info.",
|
||||
"setup_guide": "Setup guide",
|
||||
"dns_addresses": "DNS addresses",
|
||||
"dns_start": "DNS server is starting up",
|
||||
"dns_status_error": "Error checking the DNS server status",
|
||||
"down": "Down",
|
||||
"fix": "Fix",
|
||||
"dns_providers": "Here is a <0>list of known DNS providers</0> to choose from.",
|
||||
@@ -297,17 +368,20 @@
|
||||
"client_edit": "Edit Client",
|
||||
"client_identifier": "Identifier",
|
||||
"ip_address": "IP address",
|
||||
"client_identifier_desc": "Clients can be identified by the IP address or MAC address. Please note, that using MAC as identifier is possible only if AdGuard Home is also a <0>DHCP server</0>",
|
||||
"client_identifier_desc": "Clients can be identified by the IP address, CIDR, MAC address. Please note that using MAC as identifier is possible only if AdGuard Home is also a <0>DHCP server</0>",
|
||||
"form_enter_ip": "Enter IP",
|
||||
"form_enter_mac": "Enter MAC",
|
||||
"form_enter_id": "Enter identifier",
|
||||
"form_add_id": "Add identifier",
|
||||
"form_client_name": "Enter client name",
|
||||
"name": "Name",
|
||||
"client_global_settings": "Use global settings",
|
||||
"client_deleted": "Client \"{{key}}\" successfully deleted",
|
||||
"client_added": "Client \"{{key}}\" successfully added",
|
||||
"client_updated": "Client \"{{key}}\" successfully updated",
|
||||
"clients_not_found": "No clients found",
|
||||
"client_confirm_delete": "Are you sure you want to delete client \"{{key}}\"?",
|
||||
"filter_confirm_delete": "Are you sure you want to delete filter?",
|
||||
"list_confirm_delete": "Are you sure you want to delete this list?",
|
||||
"auto_clients_title": "Clients (runtime)",
|
||||
"auto_clients_desc": "Data on the clients that use AdGuard Home, but not stored in the configuration",
|
||||
"access_title": "Access settings",
|
||||
@@ -316,8 +390,8 @@
|
||||
"access_allowed_desc": "A list of CIDR or IP addresses. If configured, AdGuard Home will accept requests from these IP addresses only.",
|
||||
"access_disallowed_title": "Disallowed clients",
|
||||
"access_disallowed_desc": "A list of CIDR or IP addresses. If configured, AdGuard Home will drop requests from these IP addresses.",
|
||||
"access_blocked_title": "Blocked domains",
|
||||
"access_blocked_desc": "Don't confuse this with filters. AdGuard Home will drop DNS queries with these domains in query's question.",
|
||||
"access_blocked_title": "Disallowed domains",
|
||||
"access_blocked_desc": "Don't confuse this with filters. AdGuard Home will drop DNS queries with these domains in query's question. Here you can specify the exact domain names, wildcards and urlfilter-rules, e.g. 'example.org', '*.example.org' or '||example.org^'.",
|
||||
"access_settings_saved": "Access settings successfully saved",
|
||||
"updates_checked": "Updates successfully checked",
|
||||
"updates_version_equal": "AdGuard Home is up-to-date",
|
||||
@@ -344,9 +418,10 @@
|
||||
"rewrite_not_found": "No DNS rewrites found",
|
||||
"rewrite_confirm_delete": "Are you sure you want to delete DNS rewrite for \"{{key}}\"?",
|
||||
"rewrite_desc": "Allows to easily configure custom DNS response for a specific domain name.",
|
||||
"rewrite_applied": "Applied Rewrite rule",
|
||||
"rewrite_applied": "Rewrite rule is applied",
|
||||
"rewrite_hosts_applied": "Rewritten by the hosts file rule",
|
||||
"dns_rewrites": "DNS rewrites",
|
||||
"form_domain": "Enter domain",
|
||||
"form_domain": "Enter domain name or wildcard",
|
||||
"form_answer": "Enter IP address or domain name",
|
||||
"form_error_domain_format": "Invalid domain format",
|
||||
"form_error_answer_format": "Invalid answer format",
|
||||
@@ -373,7 +448,9 @@
|
||||
"interval_days_plural": "{{count}} days",
|
||||
"domain": "Domain",
|
||||
"answer": "Answer",
|
||||
"filter_added_successfully": "The filter has been successfully added",
|
||||
"filter_added_successfully": "The list has been successfully added",
|
||||
"filter_removed_successfully": "The list has been successfully removed",
|
||||
"filter_updated": "The list has been successfully updated",
|
||||
"statistics_configuration": "Statistics configuration",
|
||||
"statistics_retention": "Statistics retention",
|
||||
"statistics_retention_desc": "If you decrease the interval value, some data will be lost",
|
||||
@@ -398,7 +475,93 @@
|
||||
"location": "Location",
|
||||
"orgname": "Organization name",
|
||||
"netname": "Network name",
|
||||
"network": "Network",
|
||||
"descr": "Description",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Learn more</0> about creating your own hosts blocklists."
|
||||
}
|
||||
"filtering_rules_learn_more": "<0>Learn more</0> about creating your own hosts lists.",
|
||||
"blocked_by_response": "Blocked by CNAME or IP in response",
|
||||
"blocked_by_cname_or_ip": "Blocked by CNAME or IP",
|
||||
"try_again": "Try again",
|
||||
"domain_desc": "Enter the domain name or wildcard you want to be rewritten.",
|
||||
"example_rewrite_domain": "rewrite responses for this domain name only.",
|
||||
"example_rewrite_wildcard": "rewrite responses for all <0>example.org</0> subdomains.",
|
||||
"rewrite_ip_address": "IP address: use this IP in an A or AAAA response",
|
||||
"rewrite_domain_name": "Domain name: add a CNAME record",
|
||||
"rewrite_A": "<0>A</0>: special value, keep <0>A</0> records from the upstream",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: special value, keep <0>AAAA</0> records from the upstream",
|
||||
"disable_ipv6": "Disable IPv6",
|
||||
"disable_ipv6_desc": "If this feature is enabled, all DNS queries for IPv6 addresses (type AAAA) will be dropped.",
|
||||
"fastest_addr": "Fastest IP address",
|
||||
"fastest_addr_desc": "Query all DNS servers and return the fastest IP address among all responses. This will slow down the DNS queries as we have to wait for responses from all DNS servers, but improve the overall connectivity.",
|
||||
"autofix_warning_text": "If you click \"Fix\", AdGuard Home will configure your system to use AdGuard Home DNS server.",
|
||||
"autofix_warning_list": "It will perform these tasks: <0>Deactivate system DNSStubListener</0> <0>Set DNS server address to 127.0.0.1</0> <0>Replace symbolic link target of /etc/resolv.conf with /run/systemd/resolve/resolv.conf</0> <0>Stop DNSStubListener (reload systemd-resolved service)</0>",
|
||||
"autofix_warning_result": "As a result all DNS requests from your system will be processed by AdGuard Home by default.",
|
||||
"tags_title": "Tags",
|
||||
"tags_desc": "You can select the tags that correspond to the client. Tags can be included in the filtering rules and allow you to apply them more accurately. <0>Learn more</0>",
|
||||
"form_select_tags": "Select client tags",
|
||||
"check_title": "Check the filtering",
|
||||
"check_desc": "Check if the host name is filtered",
|
||||
"check": "Check",
|
||||
"form_enter_host": "Enter a host name",
|
||||
"filtered_custom_rules": "Filtered by Custom filtering rules",
|
||||
"choose_from_list": "Choose from the list",
|
||||
"add_custom_list": "Add a custom list",
|
||||
"host_whitelisted": "The host is whitelisted",
|
||||
"check_ip": "IP addresses: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Reason: {{reason}}",
|
||||
"check_rule": "Rule: {{rule}}",
|
||||
"check_service": "Service name: {{service}}",
|
||||
"check_not_found": "Not found in your filter lists",
|
||||
"client_confirm_block": "Are you sure you want to block the client \"{{ip}}\"?",
|
||||
"client_confirm_unblock": "Are you sure you want to unblock the client \"{{ip}}\"?",
|
||||
"client_blocked": "Client \"{{ip}}\" successfully blocked",
|
||||
"client_unblocked": "Client \"{{ip}}\" successfully unblocked",
|
||||
"static_ip": "Static IP Address",
|
||||
"static_ip_desc": "AdGuard Home is a server so it needs a static IP address to function properly. Otherwise, at some point, your router may assign a different IP address to this device.",
|
||||
"set_static_ip": "Set a static IP address",
|
||||
"install_static_ok": "Good news! The static IP address is already configured",
|
||||
"install_static_error": "AdGuard Home cannot configure it automatically for this network interface. Please look for an instruction on how to do this manually.",
|
||||
"install_static_configure": "We have detected that a dynamic IP address is used — <0>{{ip}}</0>. Do you want to use it as your static address?",
|
||||
"confirm_static_ip": "AdGuard Home will configure {{ip}} to be your static IP address. Do you want to proceed?",
|
||||
"list_updated": "{{count}} list updated",
|
||||
"list_updated_plural": "{{count}} lists updated",
|
||||
"dnssec_enable": "Enable DNSSEC",
|
||||
"dnssec_enable_desc": "Set DNSSEC flag in the outcoming DNS queries and check the result (DNSSEC-enabled resolver is required)",
|
||||
"validated_with_dnssec": "Validated with DNSSEC",
|
||||
"all_queries": "All queries",
|
||||
"show_blocked_responses": "Blocked",
|
||||
"show_whitelisted_responses": "Whitelisted",
|
||||
"show_processed_responses": "Processed",
|
||||
"blocked_safebrowsing": "Blocked by Safebrowsing",
|
||||
"blocked_adult_websites": "Blocked Adult Websites",
|
||||
"blocked_threats": "Blocked Threats",
|
||||
"allowed": "Allowed",
|
||||
"filtered": "Filtered",
|
||||
"rewritten": "Rewritten",
|
||||
"safe_search": "Safe search",
|
||||
"blocklist": "Blocklist",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Cache size",
|
||||
"cache_size_desc": "DNS cache size (in bytes)",
|
||||
"cache_ttl_min_override": "Override minimum TTL",
|
||||
"cache_ttl_max_override": "Override maximum TTL",
|
||||
"enter_cache_size": "Enter cache size",
|
||||
"enter_cache_ttl_min_override": "Enter minimum TTL",
|
||||
"enter_cache_ttl_max_override": "Enter maximum TTL",
|
||||
"cache_ttl_min_override_desc": "Override TTL value (minimum) received from upstream server. This value can't larger than 3600 (1 hour)",
|
||||
"cache_ttl_max_override_desc": "Override TTL value (maximum) received from upstream server",
|
||||
"min_exceeds_max_value": "Minimum value exceeds maximum value",
|
||||
"value_not_larger_than": "Value can't be larger than {{maximum}}",
|
||||
"filter_category_general": "General",
|
||||
"filter_category_security": "Security",
|
||||
"filter_category_regional": "Regional",
|
||||
"filter_category_other": "Other",
|
||||
"filter_category_general_desc": "Lists that block tracking and advertising on most of the devices",
|
||||
"filter_category_security_desc": "Lists that specialize on blocking malware, phishing or scam domains",
|
||||
"filter_category_regional_desc": "Lists that focus on regional ads and tracking servers",
|
||||
"filter_category_other_desc": "Other blocklists",
|
||||
"original_response": "Original response",
|
||||
"click_to_view_queries": "Click to view queries",
|
||||
"port_53_faq_link": "Port 53 is often occupied by \"DNSStubListener\" or \"systemd-resolved\" services. Please read <0>this instruction</0> on how to resolve this."
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "Configuración de clientes",
|
||||
"example_upstream_reserved": "puede especificar el DNS de subida <0>para un dominio específico</0>",
|
||||
"upstream_parallel": "Usar consultas paralelas para acelerar la resolución al consultar simultáneamente a todos los servidores de subida",
|
||||
"example_upstream_reserved": "puedes especificar el DNS de subida <0>para un dominio específico</0>",
|
||||
"upstream_parallel": "Usar peticiones paralelas para acelerar la resolución al consultar simultáneamente a todos los servidores de subida",
|
||||
"parallel_requests": "Peticiones paralelas",
|
||||
"load_balancing": "Balanceo de carga",
|
||||
"load_balancing_desc": "Consulta un servidor a la vez. AdGuard Home utilizará el algoritmo aleatorio ponderado para elegir el servidor más rápido y sea utilizado con más frecuencia.",
|
||||
"bootstrap_dns": "Servidores DNS de arranque",
|
||||
"bootstrap_dns_desc": "Los servidores DNS de arranque se utilizan para resolver las direcciones IP de los resolutores DoH/DoT que usted especifique como DNS de subida.",
|
||||
"check_dhcp_servers": "Comprobar si hay servidores DHCP",
|
||||
@@ -9,19 +12,23 @@
|
||||
"enabled_dhcp": "Servidor DHCP habilitado",
|
||||
"disabled_dhcp": "Servidor DHCP deshabilitado",
|
||||
"dhcp_title": "Servidor DHCP (experimental)",
|
||||
"dhcp_description": "Si su router no proporciona la configuración DHCP, puede utilizar el propio servidor DHCP incorporado de AdGuard.",
|
||||
"dhcp_description": "Si tu router no proporciona la configuración DHCP, puedes utilizar el propio servidor DHCP incorporado de AdGuard.",
|
||||
"dhcp_enable": "Habilitar servidor DHCP",
|
||||
"dhcp_disable": "Deshabilitar servidor DHCP",
|
||||
"dhcp_not_found": "Es seguro habilitar el servidor DHCP incorporado. No se ha encontrado ningún servidor DHCP activo en la red, sin embargo le recomendamos que lo vuelva a comprobar manualmente, ya que nuestra prueba automática no ofrece actualmente una garantía del 100%.",
|
||||
"dhcp_not_found": "Es seguro habilitar el servidor DHCP incorporado. No se ha encontrado ningún servidor DHCP activo en la red, sin embargo le recomendamos que lo vuelva a comprobar manualmente, ya que nuestra prueba automática no ofrece actualmente una garantía del 100 %.",
|
||||
"dhcp_found": "Un servidor DHCP activo se encuentra en la red. No es seguro habilitar el servidor DHCP incorporado.",
|
||||
"dhcp_leases": "Asignaciones DHCP",
|
||||
"dhcp_static_leases": "Asignaciones DHCP estáticas",
|
||||
"dhcp_leases_not_found": "No se han encontrado asignaciones DHCP",
|
||||
"dhcp_config_saved": "Configuración del servidor DHCP guardada",
|
||||
"dhcp_config_saved": "Configuración DHCP guardado correctamente",
|
||||
"form_error_required": "Campo obligatorio",
|
||||
"form_error_ip_format": "Formato IPv4 no válido",
|
||||
"form_error_ip4_format": "Formato IPv4 no válido",
|
||||
"form_error_ip6_format": "Formato IPv6 no válido",
|
||||
"form_error_ip_format": "Formato IP no válido",
|
||||
"form_error_mac_format": "Formato MAC no válido",
|
||||
"form_error_client_id_format": "Formato de ID de cliente no válido",
|
||||
"form_error_positive": "Debe ser mayor que 0",
|
||||
"form_error_negative": "Debe ser igual o mayor que 0",
|
||||
"dhcp_form_gateway_input": "IP de puerta de enlace",
|
||||
"dhcp_form_subnet_input": "Máscara de subred",
|
||||
"dhcp_form_range_title": "Rango de direcciones IP",
|
||||
@@ -32,30 +39,42 @@
|
||||
"dhcp_interface_select": "Seleccione la interfaz DHCP",
|
||||
"dhcp_hardware_address": "Dirección MAC",
|
||||
"dhcp_ip_addresses": "Direcciones IP",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Nombre del host",
|
||||
"dhcp_table_expires": "Expira",
|
||||
"dhcp_warning": "Si de todos modos desea habilitar el servidor DHCP, asegúrese de que no hay otro servidor DHCP activo en su red. ¡De lo contrario, puede dejar sin Internet a los dispositivos conectados!",
|
||||
"dhcp_warning": "Si de todos modos deseas habilitar el servidor DHCP, asegúrate de que no hay otro servidor DHCP activo en tu red. ¡De lo contrario, puedes dejar sin Internet a los dispositivos conectados!",
|
||||
"dhcp_error": "No pudimos determinar si hay otro servidor DHCP en la red.",
|
||||
"dhcp_static_ip_error": "Para poder utilizar el servidor DHCP se debe establecer una dirección IP estática. No hemos podido determinar si esta interfaz de red está configurada utilizando una dirección IP estática. Por favor establezca una dirección IP estática manualmente.",
|
||||
"dhcp_dynamic_ip_found": "Su sistema utiliza la configuración de dirección IP dinámica para la interfaz <0>{{interfaceName}}</0>. Para poder utilizar el servidor DHCP se debe establecer una dirección IP estática. Su dirección IP actual es <0>{{ipAddress}}</0>. Si presiona el botón Habilitar servidor DHCP, estableceremos automáticamente esta dirección IP como estática.",
|
||||
"dhcp_dynamic_ip_found": "Tu sistema utiliza la configuración de dirección IP dinámica para la interfaz <0>{{interfaceName}}</0>. Para poder utilizar el servidor DHCP se debe establecer una dirección IP estática. Tu dirección IP actual es <0>{{ipAddress}}</0>. Si presionas el botón Habilitar servidor DHCP, estableceremos automáticamente esta dirección IP como estática.",
|
||||
"dhcp_lease_added": "Asignación estática \"{{key}}\" añadido correctamente",
|
||||
"dhcp_lease_deleted": "Asignación estática \"{{key}}\" eliminado correctamente",
|
||||
"dhcp_new_static_lease": "Nueva asignación estática",
|
||||
"dhcp_static_leases_not_found": "No se han encontrado asignaciones DHCP estáticas",
|
||||
"dhcp_add_static_lease": "Añadir asignación estática",
|
||||
"dhcp_reset": "¿Está seguro de que desea restablecer la configuración DHCP?",
|
||||
"country": "País",
|
||||
"city": "Ciudad",
|
||||
"delete_confirm": "¿Está seguro de que desea eliminar \"{{key}}\"?",
|
||||
"form_enter_hostname": "Ingrese el nombre del host",
|
||||
"form_enter_hostname": "Ingresa el nombre del host",
|
||||
"error_details": "Detalles del error",
|
||||
"response_details": "Detalles de la respuesta",
|
||||
"request_details": "Detalles de la petición",
|
||||
"client_details": "Detalles del cliente",
|
||||
"details": "Detalles",
|
||||
"back": "Atrás",
|
||||
"dashboard": "Panel de control",
|
||||
"settings": "Configuración",
|
||||
"filters": "Filtros",
|
||||
"filter": "Filtro",
|
||||
"query_log": "Registro de consultas",
|
||||
"compact": "Compacto",
|
||||
"nothing_found": "No se ha encontrado nada",
|
||||
"faq": "Preguntas frecuentes",
|
||||
"version": "Versión",
|
||||
"address": "dirección",
|
||||
"on": "Activado",
|
||||
"off": "Desactivado",
|
||||
"address": "Dirección",
|
||||
"protocol": "Protocolo",
|
||||
"on": "Activo",
|
||||
"off": "Inactivo",
|
||||
"copyright": "Copyright",
|
||||
"homepage": "Página de inicio",
|
||||
"report_an_issue": "Reportar un error",
|
||||
@@ -64,7 +83,7 @@
|
||||
"enabled_protection": "Protección habilitada",
|
||||
"disable_protection": "Deshabilitar protección",
|
||||
"disabled_protection": "Protección deshabilitada",
|
||||
"refresh_statics": "Restablecer estadísticas",
|
||||
"refresh_statics": "Actualizar estadísticas",
|
||||
"dns_query": "Consultas DNS",
|
||||
"blocked_by": "<0>Bloqueado por filtros</0>",
|
||||
"stats_malware_phishing": "Malware/phishing bloqueado",
|
||||
@@ -79,7 +98,7 @@
|
||||
"top_clients": "Clientes más frecuentes",
|
||||
"no_clients_found": "No se han encontrado clientes",
|
||||
"general_statistics": "Estadísticas generales",
|
||||
"number_of_dns_query_days": "Número de consultas DNS procesadas durante los últimos {{count}} días",
|
||||
"number_of_dns_query_days": "Número de consultas DNS procesadas durante el último {{count}} día",
|
||||
"number_of_dns_query_days_plural": "Número de consultas DNS procesadas durante los últimos {{count}} días",
|
||||
"number_of_dns_query_24_hours": "Número de consultas DNS procesadas durante las últimas 24 horas",
|
||||
"number_of_dns_query_blocked_24_hours": "Número de peticiones DNS bloqueadas por los filtros y listas de bloqueo de hosts",
|
||||
@@ -90,54 +109,71 @@
|
||||
"average_processing_time": "Tiempo promedio de procesamiento",
|
||||
"average_processing_time_hint": "Tiempo promedio en milisegundos al procesar una petición DNS",
|
||||
"block_domain_use_filters_and_hosts": "Bloquear dominios usando filtros y archivos hosts",
|
||||
"filters_block_toggle_hint": "Puede configurar las reglas de bloqueo en la configuración de <a href='#filters'>filtros</a>.",
|
||||
"filters_block_toggle_hint": "Puedes configurar las reglas de bloqueo en la configuración de <a href='#filters'>filtros</a>.",
|
||||
"use_adguard_browsing_sec": "Usar el servicio web de seguridad de navegación de AdGuard",
|
||||
"use_adguard_browsing_sec_hint": "AdGuard Home comprobará si el dominio está en la lista negra del servicio web de seguridad de navegación. Utilizará la API de búsqueda amigable con la privacidad para realizar la comprobación: solo se envía al servidor un prefijo corto del nombre de dominio con hash SHA256.",
|
||||
"use_adguard_parental": "Usar el control parental de AdGuard",
|
||||
"use_adguard_parental_hint": "AdGuard Home comprobará si el dominio contiene materiales para adultos. Utiliza la misma API amigable con la privacidad del servicio web de seguridad de navegación.",
|
||||
"enforce_safe_search": "Forzar búsqueda segura",
|
||||
"enforce_save_search_hint": "AdGuard Home puede forzar la búsqueda segura en los siguientes motores de búsqueda: Google, YouTube, Bing, DuckDuckGo y Yandex.",
|
||||
"enforce_save_search_hint": "AdGuard Home puede forzar la búsqueda segura en los siguientes motores de búsqueda: Google, YouTube, Bing, DuckDuckGo, Yandex y Pixabay.",
|
||||
"no_servers_specified": "No hay servidores especificados",
|
||||
"general_settings": "Configuración general",
|
||||
"dns_settings": "Configuración del DNS",
|
||||
"dns_blocklists": "Listas de bloqueo DNS",
|
||||
"dns_allowlists": "Listas de permitido DNS",
|
||||
"dns_blocklists_desc": "AdGuard Home bloqueará los dominios que coincidan con las listas de bloqueo.",
|
||||
"dns_allowlists_desc": "Los dominios de las listas de permitido DNS serán permitidos incluso si están en cualquiera de las listas de bloqueo.",
|
||||
"custom_filtering_rules": "Reglas de filtrado personalizado",
|
||||
"encryption_settings": "Configuración de cifrado",
|
||||
"dhcp_settings": "Configuración DHCP",
|
||||
"upstream_dns": "Servidores DNS de subida",
|
||||
"upstream_dns_hint": "Si mantiene este campo vacío, AdGuard Home utilizará <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> como DNS de subida.",
|
||||
"upstream_dns_hint": "Si se mantiene este campo vacío, AdGuard Home utilizará <a href='https://www.quad9.net/' target='_blank'>Quad9</a> como DNS de subida.",
|
||||
"test_upstream_btn": "Probar DNS de subida",
|
||||
"upstreams": "DNS de subida",
|
||||
"apply_btn": "Aplicar",
|
||||
"disabled_filtering_toast": "Filtrado deshabilitado",
|
||||
"enabled_filtering_toast": "Filtrado habilitado",
|
||||
"disabled_safe_browsing_toast": "Búsqueda segura deshabilitada",
|
||||
"enabled_safe_browsing_toast": "Búsqueda segura habilitada",
|
||||
"disabled_safe_browsing_toast": "Navegación segura deshabilitada",
|
||||
"enabled_safe_browsing_toast": "Navegación segura habilitada",
|
||||
"disabled_parental_toast": "Control parental deshabilitado",
|
||||
"enabled_parental_toast": "Control parental habilitado",
|
||||
"disabled_safe_search_toast": "Búsqueda segura deshabilitada",
|
||||
"enabled_save_search_toast": "Búsqueda segura habilitada",
|
||||
"enabled_table_header": "Habilitado",
|
||||
"name_table_header": "Nombre",
|
||||
"filter_url_table_header": "URL del filtro",
|
||||
"list_url_table_header": "URL de la lista",
|
||||
"rules_count_table_header": "Número de reglas",
|
||||
"last_time_updated_table_header": "Última actualización",
|
||||
"actions_table_header": "Acciones",
|
||||
"request_table_header": "Petición",
|
||||
"edit_table_action": "Editar",
|
||||
"delete_table_action": "Eliminar",
|
||||
"filters_and_hosts": "Filtros y listas de bloqueo de hosts",
|
||||
"elapsed": "Transcurrido",
|
||||
"filters_and_hosts_hint": "AdGuard Home entiende las reglas básicas de bloqueo y la sintaxis de los archivos hosts.",
|
||||
"no_filters_added": "No hay filtros añadidos",
|
||||
"add_filter_btn": "Añadir filtro",
|
||||
"no_blocklist_added": "No se han añadido listas de bloqueo",
|
||||
"no_whitelist_added": "No se han añadido listas de permitido",
|
||||
"add_blocklist": "Añadir lista de bloqueo",
|
||||
"add_allowlist": "Añadir lista de permitido",
|
||||
"cancel_btn": "Cancelar",
|
||||
"enter_name_hint": "Ingrese el nombre",
|
||||
"enter_url_hint": "Ingrese la URL",
|
||||
"enter_name_hint": "Ingresa el nombre",
|
||||
"enter_url_or_path_hint": "Ingresa una URL o ruta absoluta para la lista",
|
||||
"check_updates_btn": "Buscar actualizaciones",
|
||||
"new_filter_btn": "Nueva suscripción a filtro",
|
||||
"enter_valid_filter_url": "Ingrese una URL válida para suscribirse a un filtro o archivo hosts.",
|
||||
"new_blocklist": "Nueva lista de bloqueo",
|
||||
"new_allowlist": "Nueva lista de permitido",
|
||||
"edit_blocklist": "Editar lista de bloqueo",
|
||||
"edit_allowlist": "Editar lista de permitido",
|
||||
"choose_blocklist": "Elegir listas de bloqueo",
|
||||
"choose_allowlist": "Elegir listas de permitido",
|
||||
"enter_valid_blocklist": "Ingresa una URL válida para la lista de bloqueo.",
|
||||
"enter_valid_allowlist": "Ingresa una URL válida para la lista de permitido.",
|
||||
"form_error_url_format": "Formato de URL no válido",
|
||||
"form_error_url_or_path_format": "URL o ruta absoluta no válida para la lista",
|
||||
"custom_filter_rules": "Reglas de filtrado personalizado",
|
||||
"custom_filter_rules_hint": "Ingrese una regla por línea. Puede utilizar reglas de bloqueo o la sintaxis de los archivos hosts.",
|
||||
"custom_filter_rules_hint": "Ingresa una regla por línea. Puedes utilizar reglas de bloqueo o la sintaxis de los archivos hosts.",
|
||||
"examples_title": "Ejemplos",
|
||||
"example_meaning_filter_block": "bloquea el acceso al dominio ejemplo.org\ny a todos sus subdominios",
|
||||
"example_meaning_filter_block": "bloquea el acceso al dominio ejemplo.org y a todos sus subdominios",
|
||||
"example_meaning_filter_whitelist": "desbloquea el acceso al dominio ejemplo.org y a todos sus subdominios",
|
||||
"example_meaning_host_block": "AdGuard Home regresará la dirección 127.0.0.1 para el dominio ejemplo.org (pero no para sus subdominios).",
|
||||
"example_meaning_host_block": "AdGuard Home devolverá la dirección 127.0.0.1 para el dominio ejemplo.org (pero no para sus subdominios).",
|
||||
"example_comment": "! Aquí va un comentario",
|
||||
"example_comment_meaning": "solo un comentario",
|
||||
"example_comment_hash": "# También un comentario",
|
||||
@@ -147,16 +183,19 @@
|
||||
"example_upstream_doh": "cifrado <0>DNS mediante HTTPS</0>",
|
||||
"example_upstream_sdns": "puedes usar <0>DNS Stamps</0> para <1>DNSCrypt</1> o resolutores <2>DNS mediante HTTPS</2>",
|
||||
"example_upstream_tcp": "DNS regular (mediante TCP)",
|
||||
"all_filters_up_to_date_toast": "Todos los filtros ya están actualizados",
|
||||
"all_lists_up_to_date_toast": "Todas las listas ya están actualizadas",
|
||||
"updated_upstream_dns_toast": "Servidores DNS de subida actualizados",
|
||||
"dns_test_ok_toast": "Los servidores DNS especificados funcionan correctamente",
|
||||
"dns_test_not_ok_toast": "Servidor \"{{key}}\": no se puede utilizar, por favor revise si lo ha escrito correctamente",
|
||||
"unblock_btn": "Desbloquear",
|
||||
"block_btn": "Bloquear",
|
||||
"dns_test_not_ok_toast": "Servidor \"{{key}}\": no se puede utilizar, por favor revisa si lo has escrito correctamente",
|
||||
"unblock": "Desbloquear",
|
||||
"block": "Bloquear",
|
||||
"time_table_header": "Hora",
|
||||
"date": "Fecha",
|
||||
"domain_name_table_header": "Nombre del dominio",
|
||||
"domain_or_client": "Dominio o cliente",
|
||||
"type_table_header": "Tipo",
|
||||
"response_table_header": "Respuesta",
|
||||
"response_code": "Código de respuesta",
|
||||
"client_table_header": "Cliente",
|
||||
"empty_response_status": "Vacío",
|
||||
"show_all_filter_type": "Mostrar todo",
|
||||
@@ -167,7 +206,6 @@
|
||||
"next_btn": "Siguiente",
|
||||
"loading_table_status": "Cargando...",
|
||||
"page_table_footer_text": "Página",
|
||||
"of_table_footer_text": "de",
|
||||
"rows_table_footer_text": "filas",
|
||||
"updated_custom_filtering_toast": "Reglas de filtrado personalizado actualizadas",
|
||||
"rule_removed_from_custom_filtering_toast": "Regla eliminada de las reglas de filtrado personalizado",
|
||||
@@ -176,6 +214,7 @@
|
||||
"query_log_filtered": "Filtrado por {{filter}}",
|
||||
"query_log_confirm_clear": "¿Está seguro de que desea borrar todo el registro de consultas?",
|
||||
"query_log_cleared": "El registro de consultas se ha borrado correctamente",
|
||||
"query_log_updated": "El registro de consultas se ha actualizado correctamente",
|
||||
"query_log_clear": "Borrar registros de consultas",
|
||||
"query_log_retention": "Retención de registros de consultas",
|
||||
"query_log_enable": "Habilitar registro",
|
||||
@@ -183,59 +222,89 @@
|
||||
"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_retention_confirm": "¿Está seguro de que desea cambiar la retención del registro de consultas? Si disminuye el valor del intervalo, se perderán algunos datos",
|
||||
"anonymize_client_ip": "Anonimizar IP del cliente",
|
||||
"anonymize_client_ip_desc": "No guarda la dirección IP completa del cliente en registros y estadísticas",
|
||||
"dns_config": "Configuración del servidor DNS",
|
||||
"dns_cache_config": "Configuración de la caché DNS",
|
||||
"dns_cache_config_desc": "Aquí puedes configurar la caché DNS",
|
||||
"blocking_mode": "Modo de bloqueo",
|
||||
"default": "Predeterminado",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "IP nulo",
|
||||
"custom_ip": "IP personalizada",
|
||||
"blocking_ipv4": "Bloqueo de IPv4",
|
||||
"blocking_ipv6": "Bloqueo de IPv6",
|
||||
"dns_over_https": "DNS mediante HTTPS",
|
||||
"dns_over_tls": "DNS mediante TLS",
|
||||
"plain_dns": "DNS simple",
|
||||
"form_enter_rate_limit": "Ingresa el límite de cantidad",
|
||||
"rate_limit": "Límite de cantidad",
|
||||
"edns_enable": "Habilitar subred de cliente EDNS",
|
||||
"edns_cs_desc": "Si está habilitado, AdGuard Home enviará las subredes de los clientes a los servidores DNS.",
|
||||
"rate_limit_desc": "Número de peticiones por segundo que un solo cliente puede hacer (0: ilimitado)",
|
||||
"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_mode_default": "Predeterminado: Responde con NXDOMAIN cuando está bloqueado por la regla de estilo Adblock; responde con la dirección IP especificada en la regla cuando está bloqueado por una regla de estilo /etc/hosts",
|
||||
"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_custom_ip": "IP personalizada: Responde con una dirección IP establecida manualmente",
|
||||
"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",
|
||||
"source_label": "Fuente",
|
||||
"found_in_known_domain_db": "Encontrado en la base de datos de dominios conocidos.",
|
||||
"category_label": "Categoría",
|
||||
"rule_label": "Regla",
|
||||
"filter_label": "Filtro",
|
||||
"list_label": "Lista",
|
||||
"unknown_filter": "Filtro desconocido {{filterId}}",
|
||||
"known_tracker": "Rastreador conocido",
|
||||
"install_welcome_title": "¡Bienvenido a AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home es un servidor DNS para bloqueo de anuncios y rastreadores a nivel de red. Su propósito es permitirle controlar toda su red y todos sus dispositivos, y no requiere el uso de un programa del lado del cliente.",
|
||||
"install_welcome_desc": "AdGuard Home es un servidor DNS para bloqueo de anuncios y rastreadores a nivel de red. Su propósito es permitirte controlar toda tu red y todos tus dispositivos, y no requiere el uso de un programa del lado del cliente.",
|
||||
"install_settings_title": "Interfaz web de administración",
|
||||
"install_settings_listen": "Interfaz de escucha",
|
||||
"install_settings_port": "Puerto",
|
||||
"install_settings_interface_link": "Su interfaz web de administración de AdGuard Home estará disponible en las siguientes direcciones:",
|
||||
"form_error_port": "Ingrese un valor de puerto válido",
|
||||
"install_settings_interface_link": "La interfaz web de administración de AdGuard Home estará disponible en las siguientes direcciones:",
|
||||
"form_error_port": "Ingresa un valor de puerto válido",
|
||||
"install_settings_dns": "Servidor DNS",
|
||||
"install_settings_dns_desc": "Deberá configurar sus dispositivos o router para usar el servidor DNS en las siguientes direcciones:",
|
||||
"install_settings_dns_desc": "Deberás configurar tus dispositivos o router para usar el servidor DNS en las siguientes direcciones:",
|
||||
"install_settings_all_interfaces": "Todas las interfaces",
|
||||
"install_auth_title": "Autenticación",
|
||||
"install_auth_desc": "Se recomienda encarecidamente configurar la autenticación por contraseña para la interfaz web de administración de AdGuard Home. Incluso si solo es accesible en su red local, es importante que esté protegido contra el acceso no autorizado.",
|
||||
"install_auth_desc": "Se recomienda encarecidamente configurar la autenticación por contraseña para la interfaz web de administración de AdGuard Home. Incluso si solo es accesible en tu red local, es importante que estés protegido contra el acceso no autorizado.",
|
||||
"install_auth_username": "Usuario",
|
||||
"install_auth_password": "Contraseña",
|
||||
"install_auth_confirm": "Confirmar contraseña",
|
||||
"install_auth_username_enter": "Ingrese su nombre de usuario",
|
||||
"install_auth_password_enter": "Ingrese su contraseña",
|
||||
"install_auth_username_enter": "Ingresa tu nombre de usuario",
|
||||
"install_auth_password_enter": "Ingresa tu contraseña",
|
||||
"install_step": "Paso",
|
||||
"install_devices_title": "Configure sus dispositivos",
|
||||
"install_devices_desc": "Para comenzar a utilizar AdGuard Home, debe configurar sus dispositivos para usarlo.",
|
||||
"install_devices_title": "Configura tus dispositivos",
|
||||
"install_devices_desc": "Para comenzar a utilizar AdGuard Home, debes configurar tus dispositivos para usarlo.",
|
||||
"install_submit_title": "¡Felicitaciones!",
|
||||
"install_submit_desc": "El proceso de configuración ha finalizado y está listo para comenzar a usar AdGuard Home.",
|
||||
"install_devices_router": "Router",
|
||||
"install_devices_router_desc": "Esta configuración cubrirá automáticamente todos los dispositivos conectados a su router doméstico y no necesitará configurar cada uno de ellos manualmente.",
|
||||
"install_devices_router_desc": "Esta configuración cubrirá automáticamente todos los dispositivos conectados a tu router doméstico y no necesitarás configurar cada uno de ellos manualmente.",
|
||||
"install_devices_address": "El servidor DNS de AdGuard Home está escuchando en las siguientes direcciones",
|
||||
"install_devices_router_list_1": "Abra las preferencias de su router. Por lo general, puede acceder a él desde su navegador a través de una URL (como http://192.168.0.1/ o http://192.168.1.1/). Se le puede pedir que ingrese la contraseña. Si no lo recuerda, a menudo puede restablecer la contraseña presionando un botón en el router. Algunos routers requieren una aplicación específica, que en ese caso ya debería estar instalada en su computadora/teléfono.",
|
||||
"install_devices_router_list_2": "Busque la configuración de DHCP/DNS. Busque las letras DNS junto a un campo que permita ingresar dos o tres grupos de números, cada uno dividido en cuatro grupos de uno a tres dígitos.",
|
||||
"install_devices_router_list_3": "Ingrese las direcciones de su servidor AdGuard Home allí.",
|
||||
"install_devices_windows_list_1": "Abra el Panel de control a través del menú Inicio o en el buscador de Windows.",
|
||||
"install_devices_windows_list_2": "Vaya a la categoría Redes e Internet, luego a Centro de redes y recursos compartidos.",
|
||||
"install_devices_windows_list_3": "En el lado izquierdo de la pantalla, busque Cambiar configuración del adaptador y luego haga clic en él.",
|
||||
"install_devices_windows_list_4": "Seleccione su conexión activa, haga clic derecho sobre ella y elija Propiedades.",
|
||||
"install_devices_windows_list_5": "Busque en la lista el Protocolo de Internet versión 4 (TCP/IP), selecciónelo y vuelva a hacer clic en Propiedades.",
|
||||
"install_devices_windows_list_6": "Elija Usar las siguientes direcciones de servidor DNS e ingrese las direcciones de su servidor AdGuard Home.",
|
||||
"install_devices_macos_list_1": "Haga clic en el icono de Apple y vaya a Preferencias del sistema.",
|
||||
"install_devices_macos_list_2": "Haga clic en Red.",
|
||||
"install_devices_macos_list_3": "Seleccione la primera conexión de la lista y haga clic en Avanzado.",
|
||||
"install_devices_macos_list_4": "Seleccione la pestaña DNS e ingrese las direcciones de su servidor AdGuard Home.",
|
||||
"install_devices_android_list_1": "En la pantalla de inicio del menú Android, pulse en Configuración.",
|
||||
"install_devices_android_list_2": "Pulse Wi-Fi en el menú. Aparecerá la pantalla que lista todas las redes disponibles (es imposible configurar DNS personalizados para la conexión móvil).",
|
||||
"install_devices_android_list_3": "Mantenga presionada la red a la que está conectado y pulse Modificar red.",
|
||||
"install_devices_android_list_4": "En algunos dispositivos, es posible que deba marcar la casilla Avanzado para ver más configuraciones. Para ajustar la configuración DNS de su Android, deberá cambiar la configuración de IP de DHCP a Estática.",
|
||||
"install_devices_android_list_5": "Cambie los valores de DNS 1 y DNS 2 a las direcciones de su servidor AdGuard Home.",
|
||||
"install_devices_ios_list_1": "En la pantalla de inicio, pulse en Configuración.",
|
||||
"install_devices_ios_list_2": "Elija Wi-Fi en el menú de la izquierda (es imposible configurar DNS para redes móviles).",
|
||||
"install_devices_ios_list_3": "Pulse sobre el nombre de la red activa en ese momento.",
|
||||
"install_devices_ios_list_4": "En el campo DNS ingrese las direcciones de su servidor AdGuard Home.",
|
||||
"install_devices_router_list_1": "Abre las preferencias de tu router. Por lo general, puedes acceder a él desde tu navegador a través de una URL (como http://192.168.0.1/ o http://192.168.1.1/). Es posible que se te pida que ingreses la contraseña. Si no lo recuerdas, a menudo puedes restablecer la contraseña presionando un botón en el router. Algunos routers requieren una aplicación específica, que en ese caso ya debería estar instalada en tu computadora/teléfono.",
|
||||
"install_devices_router_list_2": "Busca la configuración de DHCP/DNS. Busca las letras DNS junto a un campo que permita ingresar dos o tres grupos de números, cada uno dividido en cuatro grupos de uno a tres dígitos.",
|
||||
"install_devices_router_list_3": "Ingresa las direcciones de tu servidor AdGuard Home allí.",
|
||||
"install_devices_router_list_4": "No se puede configurar un servidor DNS personalizado en algunos tipos de routers. En este caso puede ayudar si configuras AdGuard Home como un <0>servidor DHCP</0>. De lo contrario, deberías buscar el manual sobre cómo personalizar los servidores DNS para tu modelo de router en particular.",
|
||||
"install_devices_windows_list_1": "Abre el Panel de control a través del menú Inicio o en el buscador de Windows.",
|
||||
"install_devices_windows_list_2": "Ve a la categoría Redes e Internet, luego a Centro de redes y recursos compartidos.",
|
||||
"install_devices_windows_list_3": "En el lado izquierdo de la pantalla, busca Cambiar configuración del adaptador y luego haz clic en él.",
|
||||
"install_devices_windows_list_4": "Selecciona tu conexión activa, haz clic derecho sobre ella y elige Propiedades.",
|
||||
"install_devices_windows_list_5": "Busca en la lista el Protocolo de Internet versión 4 (TCP/IP), selecciónalo y vuelve a hacer clic en Propiedades.",
|
||||
"install_devices_windows_list_6": "Elige Usar las siguientes direcciones de servidor DNS e ingresa las direcciones de tu servidor AdGuard Home.",
|
||||
"install_devices_macos_list_1": "Haz clic en el icono de Apple y ve a Preferencias del sistema.",
|
||||
"install_devices_macos_list_2": "Haz clic en Red.",
|
||||
"install_devices_macos_list_3": "Selecciona la primera conexión de la lista y haz clic en Avanzado.",
|
||||
"install_devices_macos_list_4": "Selecciona la pestaña DNS e ingresa las direcciones de tu servidor AdGuard Home.",
|
||||
"install_devices_android_list_1": "En la pantalla de inicio del menú Android, pulsa en Configuración.",
|
||||
"install_devices_android_list_2": "Pulsa Wi-Fi en el menú. Aparecerá la pantalla que lista todas las redes disponibles (es imposible configurar un DNS personalizado para la conexión móvil).",
|
||||
"install_devices_android_list_3": "Mantén presionado la red a la que estás conectado y pulsa Modificar red.",
|
||||
"install_devices_android_list_4": "En algunos dispositivos, es posible que debas marcar la casilla Avanzado para ver más configuraciones. Para ajustar la configuración DNS de Android, deberás cambiar la configuración de IP de DHCP a Estática.",
|
||||
"install_devices_android_list_5": "Cambia los valores de DNS 1 y DNS 2 a las direcciones de tu servidor AdGuard Home.",
|
||||
"install_devices_ios_list_1": "En la pantalla de inicio, pulsa en Configuración.",
|
||||
"install_devices_ios_list_2": "Elige Wi-Fi en el menú de la izquierda (es imposible configurar DNS para redes móviles).",
|
||||
"install_devices_ios_list_3": "Pulsa sobre el nombre de la red activa en ese momento.",
|
||||
"install_devices_ios_list_4": "En el campo DNS ingresa las direcciones de tu servidor AdGuard Home.",
|
||||
"get_started": "Comenzar",
|
||||
"next": "Siguiente",
|
||||
"open_dashboard": "Abrir panel de control",
|
||||
@@ -244,8 +313,8 @@
|
||||
"encryption_desc": "Soporte de cifrado (HTTPS/TLS) tanto para DNS como para la interfaz web de administración",
|
||||
"encryption_config_saved": "Configuración de cifrado guardado",
|
||||
"encryption_server": "Nombre del servidor",
|
||||
"encryption_server_enter": "Ingrese su nombre de dominio",
|
||||
"encryption_server_desc": "Para utilizar HTTPS, debe ingresar el nombre del servidor que coincida con su certificado SSL.",
|
||||
"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.",
|
||||
"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_https": "Puerto HTTPS",
|
||||
@@ -253,12 +322,12 @@
|
||||
"encryption_dot": "Puerto DNS mediante TLS",
|
||||
"encryption_dot_desc": "Si este puerto está configurado, AdGuard Home ejecutará un servidor DNS mediante TLS en este puerto.",
|
||||
"encryption_certificates": "Certificados",
|
||||
"encryption_certificates_desc": "Para utilizar el cifrado, debe proporcionar una cadena de certificado SSL válida para su dominio. Puede obtener un certificado gratuito en <0>{{link}}</0> o puede comprarlo en una de las autoridades de certificación de confianza.",
|
||||
"encryption_certificates_input": "Copie/pegue aquí su certificado codificado PEM.",
|
||||
"encryption_certificates_desc": "Para utilizar el cifrado, debes proporcionar una cadena de certificado SSL válida para tu dominio. Puedes obtener un certificado gratuito en <0>{{link}}</0> o puedes comprarlo en una de las autoridades de certificación de confianza.",
|
||||
"encryption_certificates_input": "Copia/pega aquí tu certificado codificado PEM.",
|
||||
"encryption_status": "Estado",
|
||||
"encryption_expire": "Expira",
|
||||
"encryption_key": "Clave privada",
|
||||
"encryption_key_input": "Copie/pegue aquí su clave privada codificada PEM para su certificado.",
|
||||
"encryption_key_input": "Copia/pega aquí tu clave privada codificada PEM para tu certificado.",
|
||||
"encryption_enable": "Habilitar cifrado (HTTPS, DNS mediante HTTPS y DNS mediante TLS)",
|
||||
"encryption_enable_desc": "Si el cifrado está habilitado, la interfaz de administración de AdGuard Home funcionará a través de HTTPS, y el servidor DNS escuchará las peticiones DNS mediante HTTPS y DNS mediante TLS.",
|
||||
"encryption_chain_valid": "La cadena de certificado es válida",
|
||||
@@ -269,9 +338,9 @@
|
||||
"encryption_issuer": "Emisor",
|
||||
"encryption_hostnames": "Nombres de hosts",
|
||||
"encryption_reset": "¿Está seguro de que desea restablecer la configuración de cifrado?",
|
||||
"topline_expiring_certificate": "Su certificado SSL está a punto de expirar. Actualice la <0>configuración del cifrado</0>.",
|
||||
"topline_expired_certificate": "Su certificado SSL ha expirado. Actualice la <0>configuración del cifrado</0>.",
|
||||
"form_error_port_range": "Ingrese el valor del puerto en el rango de 80 a 65535",
|
||||
"topline_expiring_certificate": "Tu certificado SSL está a punto de expirar. Actualice la <0>configuración de cifrado</0>.",
|
||||
"topline_expired_certificate": "Tu certificado SSL ha expirado. Actualice la <0>configuración de cifrado</0>.",
|
||||
"form_error_port_range": "Ingresa el valor del puerto en el rango de 80 a 65535",
|
||||
"form_error_port_unsafe": "Este es un puerto inseguro",
|
||||
"form_error_equal": "No debería ser igual",
|
||||
"form_error_password": "La contraseña no coincide",
|
||||
@@ -279,12 +348,14 @@
|
||||
"update_announcement": "¡AdGuard Home {{version}} ya está disponible! <0>Haga clic aquí</0> para más información.",
|
||||
"setup_guide": "Guía de configuración",
|
||||
"dns_addresses": "Direcciones DNS",
|
||||
"dns_start": "El servidor DNS está iniciando",
|
||||
"dns_status_error": "Error al obtener el estado del servidor DNS",
|
||||
"down": "Abajo",
|
||||
"fix": "Corregir",
|
||||
"dns_providers": "Aquí hay una <0>lista de proveedores DNS</0> conocidos para elegir.",
|
||||
"update_now": "Actualizar ahora",
|
||||
"update_failed": "Error en la actualización automática. Por favor <a href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>siga los pasos</a> para actualizar manualmente.",
|
||||
"processing_update": "Por favor espere, AdGuard Home se está actualizando",
|
||||
"update_failed": "Error en la actualización automática. Por favor <a href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>sigue los pasos</a> para actualizar manualmente.",
|
||||
"processing_update": "Por favor espera, AdGuard Home se está actualizando",
|
||||
"clients_title": "Clientes",
|
||||
"clients_desc": "Configurar dispositivos conectados con AdGuard Home",
|
||||
"settings_global": "Global",
|
||||
@@ -297,39 +368,42 @@
|
||||
"client_edit": "Editar cliente",
|
||||
"client_identifier": "Identificador",
|
||||
"ip_address": "Dirección IP",
|
||||
"client_identifier_desc": "Los clientes pueden ser identificados por la dirección IP o MAC. Tenga en cuenta que el uso de MAC como identificador solo es posible si AdGuard Home también es un <0>servidor DHCP</0>.",
|
||||
"form_enter_ip": "Ingresar IP",
|
||||
"form_enter_mac": "Ingresar MAC",
|
||||
"form_client_name": "Ingrese el nombre del cliente",
|
||||
"client_identifier_desc": "Los clientes pueden ser identificados por la dirección IP, MAC y CIDR. Tenga en cuenta que el uso de MAC como identificador solo es posible si AdGuard Home también es un <0>servidor DHCP</0>",
|
||||
"form_enter_ip": "Ingresa la IP",
|
||||
"form_enter_mac": "Ingresa la MAC",
|
||||
"form_enter_id": "Ingresa el identificador",
|
||||
"form_add_id": "Añadir identificador",
|
||||
"form_client_name": "Ingresa el nombre del cliente",
|
||||
"name": "Nombre",
|
||||
"client_global_settings": "Usar configuración global",
|
||||
"client_deleted": "Cliente \"{{key}}\" eliminado correctamente",
|
||||
"client_added": "Cliente \"{{key}}\" añadido correctamente",
|
||||
"client_updated": "Cliente \"{{key}}\" actualizado correctamente",
|
||||
"clients_not_found": "No se han encontrado clientes",
|
||||
"client_confirm_delete": "¿Está seguro de que desea eliminar el cliente \"{{key}}\"?",
|
||||
"filter_confirm_delete": "¿Está seguro de que desea eliminar el filtro?",
|
||||
"list_confirm_delete": "¿Está seguro de que deseas eliminar esta lista?",
|
||||
"auto_clients_title": "Clientes (activos)",
|
||||
"auto_clients_desc": "Datos de los clientes que utilizan AdGuard Home, pero no se almacenan en la configuración",
|
||||
"access_title": "Configuración de acceso",
|
||||
"access_desc": "Aquí puede configurar las reglas de acceso para el servidor DNS de AdGuard Home.",
|
||||
"access_desc": "Aquí puedes configurar las reglas de acceso para el servidor DNS de AdGuard Home.",
|
||||
"access_allowed_title": "Clientes permitidos",
|
||||
"access_allowed_desc": "Lista de CIDR o direcciones IP. Si está configurado, AdGuard Home solo aceptará peticiones de estas direcciones IP.",
|
||||
"access_disallowed_title": "Clientes no permitidos",
|
||||
"access_disallowed_desc": "Lista de CIDR o direcciones IP. Si está configurado, AdGuard Home eliminará las peticiones de estas direcciones IP.",
|
||||
"access_blocked_title": "Dominios bloqueados",
|
||||
"access_blocked_desc": "No confundas esto con filtros. AdGuard Home eliminará las consultas DNS con estos dominios en la pregunta de la consulta.",
|
||||
"access_blocked_title": "Dominios no permitidos",
|
||||
"access_blocked_desc": "No confundas esto con filtros. AdGuard Home eliminará las consultas DNS con estos dominios en la pregunta de la consulta. Aquí puedes especificar los nombres de dominio exactos, comodines y reglas de filtrado de URL, por ejemplo: 'ejemplo.org', '*.ejemplo.org' o '||ejemplo.org^'.",
|
||||
"access_settings_saved": "Configuración de acceso guardado correctamente",
|
||||
"updates_checked": "Actualizaciones comprobadas correctamente",
|
||||
"updates_version_equal": "AdGuard Home está actualizado",
|
||||
"check_updates_now": "Buscar actualizaciones ahora",
|
||||
"dns_privacy": "DNS con privacidad",
|
||||
"dns_privacy": "DNS cifrado",
|
||||
"setup_dns_privacy_1": "<0>DNS mediante TLS:</0> Utilice la cadena <1>{{address}}</1>.",
|
||||
"setup_dns_privacy_2": "<0>DNS mediante HTTPS:</0> Utilice la cadena <1>{{address}}</1>.",
|
||||
"setup_dns_privacy_3": "<0>Tenga en cuenta que los protocolos DNS cifrados solo son compatibles con Android 9. Por lo tanto, necesita instalar software adicional para otros sistemas operativos.</0><0>Aquí hay una lista de software que puedes usar.</0>",
|
||||
"setup_dns_privacy_android_1": "Android 9 soporta DNS mediante TLS de forma nativa. Para configurarlo, vaya a Configuración → Red e Internet → Avanzado → DNS privado e ingrese su nombre de dominio allí.",
|
||||
"setup_dns_privacy_android_1": "Android 9 soporta DNS mediante TLS de forma nativa. Para configurarlo, ve a Configuración → Red e Internet → Avanzado → DNS privado e ingresa el nombre del dominio allí.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard para Android</0> soporta <1>DNS mediante HTTPS</1> y <1>DNS mediante TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "<0>Intra</0> añade soporte a Android para <1>DNS mediante HTTPS</1>.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> soporta <1>DNS mediante HTTPS</1>, pero para configurarlo y que use tu propio servidor, necesitará generar un <2>DNS Stamp</2> para ello.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> soporta <1>DNS mediante HTTPS</1>, pero para configurarlo y que uses tu propio servidor, necesitarás generar un <2>DNS Stamp</2> para ello.",
|
||||
"setup_dns_privacy_ios_2": "<0>AdGuard para iOS</0> soporta la configuración <1>DNS mediante HTTPS</1> y <1>DNS mediante TLS</1>.",
|
||||
"setup_dns_privacy_other_title": "Otras implementaciones",
|
||||
"setup_dns_privacy_other_1": "AdGuard Home en sí mismo puede ser un cliente DNS seguro en cualquier plataforma.",
|
||||
@@ -337,7 +411,7 @@
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> soporta <1>DNS mediante HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> soporta <1>DNS mediante HTTPS</1>.",
|
||||
"setup_dns_privacy_other_5": "Encontrará más implementaciones <0>aquí</0> y <1>aquí</1>.",
|
||||
"setup_dns_notice": "Para utilizar <1>DNS mediante HTTPS</1> o <1>DNS mediante TLS</1>, debe <0>configurar el cifrado</0> en la configuración de AdGuard Home.",
|
||||
"setup_dns_notice": "Para utilizar <1>DNS mediante HTTPS</1> o <1>DNS mediante TLS</1>, debes <0>configurar el cifrado</0> en la configuración de AdGuard Home.",
|
||||
"rewrite_added": "Reescritura DNS para \"{{key}}\" añadido correctamente",
|
||||
"rewrite_deleted": "Reescritura DNS para \"{{key}}\" eliminado correctamente",
|
||||
"rewrite_add": "Añadir reescritura DNS",
|
||||
@@ -345,9 +419,10 @@
|
||||
"rewrite_confirm_delete": "¿Está seguro de que desea eliminar la reescritura DNS para \"{{key}}\"?",
|
||||
"rewrite_desc": "Permite configurar fácilmente la respuesta DNS personalizada para un nombre de dominio específico.",
|
||||
"rewrite_applied": "Regla de reescritura aplicada",
|
||||
"rewrite_hosts_applied": "Reescrito por la regla del archivo hosts",
|
||||
"dns_rewrites": "Reescrituras DNS",
|
||||
"form_domain": "Ingrese el dominio",
|
||||
"form_answer": "Ingrese la dirección IP o el nombre del dominio",
|
||||
"form_domain": "Ingresa el nombre del dominio o comodín",
|
||||
"form_answer": "Ingresa la dirección IP o el nombre del dominio",
|
||||
"form_error_domain_format": "Formato de dominio no válido",
|
||||
"form_error_answer_format": "Formato de respuesta no válido",
|
||||
"configure": "Configurar",
|
||||
@@ -373,7 +448,9 @@
|
||||
"interval_days_plural": "{{count}} días",
|
||||
"domain": "Dominio",
|
||||
"answer": "Respuesta",
|
||||
"filter_added_successfully": "El filtro ha sido añadido correctamente",
|
||||
"filter_added_successfully": "La lista ha sido añadida correctamente",
|
||||
"filter_removed_successfully": "La lista ha sido eliminada correctamente",
|
||||
"filter_updated": "La lista ha sido actualizada correctamente",
|
||||
"statistics_configuration": "Configuración de estadísticas",
|
||||
"statistics_retention": "Retención de estadísticas",
|
||||
"statistics_retention_desc": "Si disminuye el valor del intervalo, algunos datos estarán perdidos",
|
||||
@@ -388,17 +465,103 @@
|
||||
"filters_interval": "Intervalo de actualización",
|
||||
"disabled": "Deshabilitado",
|
||||
"username_label": "Usuario",
|
||||
"username_placeholder": "Ingrese su nombre de usuario",
|
||||
"username_placeholder": "Ingresa tu nombre de usuario",
|
||||
"password_label": "Contraseña",
|
||||
"password_placeholder": "Ingrese la contraseña",
|
||||
"password_placeholder": "Ingresa tu contraseña",
|
||||
"sign_in": "Iniciar sesión",
|
||||
"sign_out": "Cerrar sesión",
|
||||
"forgot_password": "¿Olvidaste tu contraseña?",
|
||||
"forgot_password_desc": "Por favor siga <0>estos pasos</0> para crear una nueva contraseña para su cuenta de usuario.",
|
||||
"forgot_password_desc": "Por favor sigue <0>estos pasos</0> para crear una nueva contraseña para tu cuenta de usuario.",
|
||||
"location": "Ubicación",
|
||||
"orgname": "Nombre de la organización",
|
||||
"netname": "Nombre de la red",
|
||||
"network": "Red",
|
||||
"descr": "Descripción",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Más información</0> sobre cómo crear tus propias listas para bloqueo de hosts."
|
||||
"filtering_rules_learn_more": "<0>Más información</0> sobre cómo crear tus propias listas de hosts.",
|
||||
"blocked_by_response": "Bloqueado por CNAME o IP en respuesta",
|
||||
"blocked_by_cname_or_ip": "Bloqueado por CNAME o IP",
|
||||
"try_again": "Volver a intentar",
|
||||
"domain_desc": "Ingresa el nombre del dominio o comodín que deseas reescribir.",
|
||||
"example_rewrite_domain": "reescribe las respuestas solo para este nombre de dominio.",
|
||||
"example_rewrite_wildcard": "reescribe las respuestas para todos los subdominios de <0>ejemplo.org</0>.",
|
||||
"rewrite_ip_address": "Dirección IP: utiliza esta IP en una respuesta A o AAAA",
|
||||
"rewrite_domain_name": "Nombre de dominio: añade un registro CNAME",
|
||||
"rewrite_A": "<0>A</0>: valor especial, mantiene registros <0>A</0> del DNS de subida",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: valor especial, mantiene registros <0>AAAA</0> del DNS de subida",
|
||||
"disable_ipv6": "Deshabilitar IPv6",
|
||||
"disable_ipv6_desc": "Si esta función está habilitada, se eliminarán todas las consultas DNS para direcciones IPv6 (tipo AAAA).",
|
||||
"fastest_addr": "Dirección IP más rápida",
|
||||
"fastest_addr_desc": "Consulta todos los servidores DNS y devuelve la dirección IP más rápida de todas las respuestas. Esto ralentizará las consultas DNS, y se debe esperar las respuestas de todos los servidores DNS, pero mejora la conectividad general.",
|
||||
"autofix_warning_text": "Si haces clic en \"Corregir\", AdGuard Home configurará tu sistema para utilizar el servidor DNS de AdGuard Home.",
|
||||
"autofix_warning_list": "Realizará estas tareas: <0>Deshabilitar el sistema DNSStubListener</0> <0>Establecer la dirección del servidor DNS en 127.0.0.1</0> <0>Reemplazar el destino del enlace simbólico de /etc/resolv.conf por /run/systemd/resolve/resolv.conf</0> <0>Detener DNSStubListener (recargar el servicio systemd-resolved)</0>",
|
||||
"autofix_warning_result": "Como resultado, todas las peticiones DNS de tu sistema serán procesadas por AdGuard Home de manera predeterminada.",
|
||||
"tags_title": "Etiquetas",
|
||||
"tags_desc": "Puedes seleccionar las etiquetas que correspondan al cliente. Las etiquetas pueden ser incluidas en las reglas de filtrado y te permiten aplicarlas con mayor precisión. <0>Más información</0>",
|
||||
"form_select_tags": "Seleccione las etiquetas del cliente",
|
||||
"check_title": "Comprobar filtrado",
|
||||
"check_desc": "Comprueba si el nombre del host está siendo filtrado",
|
||||
"check": "Comprobar",
|
||||
"form_enter_host": "Ingresa un nombre de host",
|
||||
"filtered_custom_rules": "Filtrado por reglas de filtrado personalizado",
|
||||
"choose_from_list": "Elegir de la lista",
|
||||
"add_custom_list": "Añadir lista personalizada",
|
||||
"host_whitelisted": "El host está en la lista blanca",
|
||||
"check_ip": "Direcciones IP: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Razón: {{reason}}",
|
||||
"check_rule": "Regla: {{rule}}",
|
||||
"check_service": "Nombre del servicio: {{service}}",
|
||||
"check_not_found": "No se ha encontrado en tus listas de filtros",
|
||||
"client_confirm_block": "¿Está seguro de que desea bloquear al cliente \"{{ip}}\"?",
|
||||
"client_confirm_unblock": "¿Está seguro de que desea desbloquear al cliente \"{{ip}}\"?",
|
||||
"client_blocked": "Cliente \"{{ip}}\" bloqueado correctamente",
|
||||
"client_unblocked": "Cliente \"{{ip}}\" desbloqueado correctamente",
|
||||
"static_ip": "Dirección IP estática",
|
||||
"static_ip_desc": "AdGuard Home es un servidor, por lo que necesita una dirección IP estática para funcionar correctamente. De lo contrario, en algún momento tu router puede asignar una dirección IP diferente a este dispositivo.",
|
||||
"set_static_ip": "Establecer una dirección IP estática",
|
||||
"install_static_ok": "¡Buenas noticias! La dirección IP estática ya está configurada",
|
||||
"install_static_error": "AdGuard Home no puede configurarlo automáticamente para esta interfaz de red. Busca instrucciones sobre cómo hacer esto manualmente.",
|
||||
"install_static_configure": "Hemos detectado que utilizas una dirección IP dinámica: <0>{{ip}}</0>. ¿Deseas usarla como tu dirección estática?",
|
||||
"confirm_static_ip": "AdGuard Home configurará {{ip}} para ser tu dirección IP estática. ¿Desea continuar?",
|
||||
"list_updated": "{{count}} lista actualizada",
|
||||
"list_updated_plural": "{{count}} listas actualizadas",
|
||||
"dnssec_enable": "Habilitar DNSSEC",
|
||||
"dnssec_enable_desc": "Establece el indicador DNSSEC en las consultas DNS salientes y comprueba el resultado (se requiere un resolutor habilitado para DNSSEC)",
|
||||
"validated_with_dnssec": "Validado con DNSSEC",
|
||||
"all_queries": "Todas las consultas",
|
||||
"show_blocked_responses": "Bloqueado",
|
||||
"show_whitelisted_responses": "En lista blanca",
|
||||
"show_processed_responses": "Procesado",
|
||||
"blocked_safebrowsing": "Bloqueado por navegación segura",
|
||||
"blocked_adult_websites": "Sitios web para adultos bloqueado",
|
||||
"blocked_threats": "Amenazas bloqueadas",
|
||||
"allowed": "Permitido",
|
||||
"filtered": "Filtrado",
|
||||
"rewritten": "Reescrito",
|
||||
"safe_search": "Búsqueda segura",
|
||||
"blocklist": "Lista de bloqueo",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Tamaño de la caché",
|
||||
"cache_size_desc": "Tamaño de la caché DNS (en bytes)",
|
||||
"cache_ttl_min_override": "Anular TTL mínimo",
|
||||
"cache_ttl_max_override": "Anular TTL máximo",
|
||||
"enter_cache_size": "Ingresa el tamaño de la caché",
|
||||
"enter_cache_ttl_min_override": "Ingresa el TTL mínimo",
|
||||
"enter_cache_ttl_max_override": "Ingresa el TTL máximo",
|
||||
"cache_ttl_min_override_desc": "Anula el valor TTL (mínimo) recibido del servidor DNS de subida. Este valor no puede ser superior a 3600 (1 hora)",
|
||||
"cache_ttl_max_override_desc": "Anula el valor TTL (máximo) recibido del servidor DNS de subida",
|
||||
"min_exceeds_max_value": "El valor mínimo supera al valor máximo",
|
||||
"value_not_larger_than": "El valor no puede ser mayor que {{maximum}}",
|
||||
"filter_category_general": "General",
|
||||
"filter_category_security": "Seguridad",
|
||||
"filter_category_regional": "Regional",
|
||||
"filter_category_other": "Otro",
|
||||
"filter_category_general_desc": "Listas que bloquean rastreadores y anuncios en la mayoría de los dispositivos",
|
||||
"filter_category_security_desc": "Listas que se especializan en bloquear dominios de malware, phishing o estafa",
|
||||
"filter_category_regional_desc": "Listas que se centran en anuncios regionales y servidores de rastreo",
|
||||
"filter_category_other_desc": "Otras listas de bloqueo",
|
||||
"original_response": "Respuesta original",
|
||||
"click_to_view_queries": "Clic para ver las consultas",
|
||||
"port_53_faq_link": "El puerto 53 suele estar ocupado por los servicios \"DNSStubListener\" o \"systemd-resolved\". Por favor lee <0>esta instrucción</0> sobre cómo resolver esto."
|
||||
}
|
||||
525
client/src/__locales/fa.json
Normal file
525
client/src/__locales/fa.json
Normal file
@@ -0,0 +1,525 @@
|
||||
{
|
||||
"client_settings": "تنظیمات کلاینت",
|
||||
"example_upstream_reserved": "میتوانید جریان ارسالی DNS <0> را برای یک دامنه مشخص تعیین کنید </0>",
|
||||
"upstream_parallel": "استفاده از جستار موازی برای سرعت دادن به تفکیک با جستار همزمان همه جریان های ارسالی",
|
||||
"parallel_requests": "درخواست های موازی",
|
||||
"bootstrap_dns": "خودراه انداز سرورهای DNS",
|
||||
"bootstrap_dns_desc": "خودراه انداز سرورهای DNS برای تفکیک آدرس آی پی تفکیک کننده های DoH/DoT که شما بعنوان جریان ارسالی تعیین کردید استفاده میشود.",
|
||||
"check_dhcp_servers": "بررسی برای سرورهای DHCP",
|
||||
"save_config": "ذخیره پیکربندی",
|
||||
"enabled_dhcp": "سرور DHCP فعال شده است",
|
||||
"disabled_dhcp": "سرور DHCP غیرفعال شده است",
|
||||
"dhcp_title": "سرور DHCP",
|
||||
"dhcp_description": "اگر روتر شما تنظیمات DHCP ارائه نمی کند،میتوانید از سرور DHCP تو-کار خود AdGuard استفاده کنید.",
|
||||
"dhcp_enable": "فعالسازی سرور DHCP",
|
||||
"dhcp_disable": "غیرفعالسازی سرور DHCP",
|
||||
"dhcp_not_found": "سرورهای فعال DHCP در شبکه یافت نشد.فعالسازی سرور DHCP تو-کار اَمن است.",
|
||||
"dhcp_found": "تعدادی سرور DHCP فعال در شبکه یافت شد.فعالسازی سرور DHCP توکار اَمن نیست.",
|
||||
"dhcp_leases": "اجاره DHCP",
|
||||
"dhcp_static_leases": "اجاره DHCP ایستا",
|
||||
"dhcp_leases_not_found": "اجاره DHCP یافت نشد",
|
||||
"dhcp_config_saved": "پیکربندی سرور DHCP ذخیره شده است",
|
||||
"form_error_required": "فیلد مورد نیاز",
|
||||
"form_error_ip4_format": "فرمت نامعتبر IPv4",
|
||||
"form_error_ip6_format": "فرمت نامعتبر IPv6",
|
||||
"form_error_ip_format": "فرمت IPv4 نامعتبر است",
|
||||
"form_error_mac_format": "فرمت مَک نامعتبر است",
|
||||
"form_error_client_id_format": "فرمت شناسه کلاینت نامعتبر است",
|
||||
"form_error_positive": "باید بزرگتر از 0 باشد",
|
||||
"form_error_negative": "باید برابر با 0 یا بزرگتر باشد",
|
||||
"dhcp_form_gateway_input": "آی پی دروازه",
|
||||
"dhcp_form_subnet_input": "ماسک زیر شبکه",
|
||||
"dhcp_form_range_title": "دامنه آدرس های آی پی",
|
||||
"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",
|
||||
"dhcp_table_hostname": "نام میزبان",
|
||||
"dhcp_table_expires": "انقضاء",
|
||||
"dhcp_warning": "اگر میخواهید DHCP سرور توکار را فعال کنید،مطمئن شوید DHCP سرور دیگری فعال نباشد.در غیر اینصورت،آن دسترسی به اینترنت را برای دستگاه های وصل شده قطع می کند!",
|
||||
"dhcp_error": "ما نمیتوانیم تشخیص دهیم آیا یک سرور DHCP دیگر در شبکه موجود است یا نه.",
|
||||
"dhcp_static_ip_error": "به منظور استفاده از سرور DHCP یک آدرس آی پی ثابت باید تنظیم شود.ما موفق به تشخیص اینکه آیا رابط این شبکه برای استفاده از آی پی ثابت تنظیم شده است یا نه موفق نشدیم.لطفا آدرس آی پی ثابت را دستی تنظیم کنید.",
|
||||
"dhcp_dynamic_ip_found": "سیستم شما آدرس آی پی متغییر برای این رابط استفاده می کند <0>{{interfaceName}}</0>. به منظور استفاده از سرور DHCP آدرس ثابت باید تعیین شود. آدرس آی پی فعلی شما هست <0>{{ipAddress}}</0>. اگر شما دکمه DHCP را فشار دهید ما این آدرس آی پی را بعنوان ثابت تنظیم می کنیم.",
|
||||
"dhcp_lease_added": "اجاره ایستا \"{{key}}\" با موفقیت اضافه شد",
|
||||
"dhcp_lease_deleted": "اجاره ایستا \"{{key}}\" با موفقیت حذف شد",
|
||||
"dhcp_new_static_lease": "اجاره ایستا جدید",
|
||||
"dhcp_static_leases_not_found": "هیچ اجاره DHCP ایستا یافت نشد",
|
||||
"dhcp_add_static_lease": "افزودن اجاره ایستا",
|
||||
"dhcp_reset": "آیا میخواهید پیکربندی DHCP را ریست کنید؟",
|
||||
"country": "کشور",
|
||||
"city": "شهر",
|
||||
"delete_confirm": "آیا میخواهید \"{{key}}\" را حذف کنید؟",
|
||||
"form_enter_hostname": "نام میزبان را وارد کنید",
|
||||
"error_details": "جزئیات خطا",
|
||||
"response_details": "جزئیات پاسخ",
|
||||
"request_details": "درخواست جزئیات",
|
||||
"client_details": "جزئیات کلاینت",
|
||||
"details": "جزئیات",
|
||||
"back": "قبلی",
|
||||
"dashboard": "داشبورد",
|
||||
"settings": "تنظيمات",
|
||||
"filters": "فيلترها",
|
||||
"filter": "فیلتر",
|
||||
"query_log": "جستار وقایع",
|
||||
"nothing_found": "هیچ چیز یافت نشد",
|
||||
"faq": "پرسش و پاسخ",
|
||||
"version": "نسخه",
|
||||
"address": "آدرس",
|
||||
"protocol": "پروتکل",
|
||||
"on": "روشن",
|
||||
"off": "خاموش",
|
||||
"copyright": "حق مالکیت",
|
||||
"homepage": "صفحه خانگي",
|
||||
"report_an_issue": "گزارش یک مشکل",
|
||||
"privacy_policy": "سیاست حریم خصوصی",
|
||||
"enable_protection": "فعالسازي حفاظت",
|
||||
"enabled_protection": "حفاظت فعال شده",
|
||||
"disable_protection": "غيرفعالسازي حفاظت",
|
||||
"disabled_protection": "حفاظت غير فعال شده",
|
||||
"refresh_statics": "تازه سازی آمار",
|
||||
"dns_query": "جستار DNS",
|
||||
"blocked_by": "<0/>مسدود شده با<0>",
|
||||
"stats_malware_phishing": "بدافزار/فیشینگ مسدود شده است",
|
||||
"stats_adult": "وبسایت غیراخلاقی مسدود شده است",
|
||||
"stats_query_domain": "دامنه جستار بالا",
|
||||
"for_last_24_hours": "برای 24 ساعت گذشته",
|
||||
"for_last_days": "برای {{count}} روز آخر",
|
||||
"for_last_days_plural": "برای {{count}} روز گذشته",
|
||||
"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 مسدود شده با فیلترهای مسدودساز تبلیغ و لیست سیاه میزبان",
|
||||
"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 href='#filters'>فیلترها</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 میتواند جستجوی اَمن را در موتور جستجوهای زیر اعمال کند:گوگل،یوتوب،بینگ و یاندکس",
|
||||
"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_dns_hint": "اگر این فیلد را خالی نگه دارید، AdGuard Home از <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> بعنوان یک جریان ارسالی استفاده می کند. از پیشوند tls:// برای سرورهای DNS over TLS استفاده کنید.",
|
||||
"test_upstream_btn": "تست جریان ارسالی",
|
||||
"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": "یک آدرس یا یک مسیر کامل لیست وارد کنید",
|
||||
"check_updates_btn": "بررسی بروز رسانی",
|
||||
"new_blocklist": "لیست سیاه جدید",
|
||||
"new_allowlist": "لیست مجاز جدید",
|
||||
"edit_blocklist": "ویرایش لیست سیاه",
|
||||
"edit_allowlist": "ویرایش لیست مجاز",
|
||||
"enter_valid_blocklist": "آدرس معتبر برای لیست سیاه وارد کنید.",
|
||||
"enter_valid_allowlist": "آدرس معتبر برای لیست مجاز وارد کنید.",
|
||||
"form_error_url_format": "فرمت آدرس نامعتبر است",
|
||||
"form_error_url_or_path_format": "آدرس نامعتبر یا یک مسیر کامل لیست",
|
||||
"custom_filter_rules": "دستورات فیلترینگ دستی",
|
||||
"custom_filter_rules_hint": "یک دستور در خط وارد کنید.میتوانید از دستورات مسدودساز تبلیغ یا نحو فایل های میزبان استفاده کنید.",
|
||||
"examples_title": "مثال ها",
|
||||
"example_meaning_filter_block": "مسدودسازی دسترسی به دامنه example.org و همه زیر دامنه ها آن",
|
||||
"example_meaning_filter_whitelist": "بازکردن دسترسی به دامنه example.org و همه زیر دامنه ها آن",
|
||||
"example_meaning_host_block": "AdGuard Home بر می گردد به آدرس 127.0.0.1 برای دامنه example.org (اما نه زیر دامنه های آن)",
|
||||
"example_comment": "! در اینجا نظر قرار می گیرد",
|
||||
"example_comment_meaning": "فقط یک توضیح",
|
||||
"example_comment_hash": "# همچنین یک نظر",
|
||||
"example_regex_meaning": "مسدودسازی دسترسی به دامنه مطابق <0>با عبارت منظم خاص</0>",
|
||||
"example_upstream_regular": "DNS عادی (بر UDP)",
|
||||
"example_upstream_dot": "کُدگذاری شده <a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-over-TLS</a>",
|
||||
"example_upstream_doh": "کُدگذاری شده <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a>",
|
||||
"example_upstream_sdns": "شما میتوانید از <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS Stamps</a> برای <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> یا <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a> resolvers استفاده کنید",
|
||||
"example_upstream_tcp": "DNS عادی (بر TCP)",
|
||||
"all_lists_up_to_date_toast": "همه لیست ها از قبل بروز اند",
|
||||
"updated_upstream_dns_toast": "سرورهای DNS جریان ارسالی بروز رسانی شده است",
|
||||
"dns_test_ok_toast": "سرورهای DNS تعیین شده بدرستی کار می کنند",
|
||||
"dns_test_not_ok_toast": "سرور \"{{key}}\": نمیتواند مورد استفاده قرار گیرد،لطفا بررسی کنید آن را بدرستی نوشته اید",
|
||||
"unblock": "رفع انسداد",
|
||||
"block": "مسدود کردن",
|
||||
"time_table_header": "زمان",
|
||||
"date": "تاریخ",
|
||||
"domain_name_table_header": "نام دامنه",
|
||||
"domain_or_client": "دامنه یا کلاینت",
|
||||
"type_table_header": "نوع",
|
||||
"response_table_header": "پاسخ",
|
||||
"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_added_to_custom_filtering_toast": "دستور به دستورات فیلترینگ دستی اضافه شد",
|
||||
"query_log_response_status": "وضعیت: {{value}}",
|
||||
"query_log_filtered": "فیلتر شده با {{filter}}",
|
||||
"query_log_confirm_clear": "آیا واقعا میخواهید کل وقایع جستار را پاک کنید؟",
|
||||
"query_log_cleared": "وقایع جستار با موفقیت پاک شد",
|
||||
"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 سرور",
|
||||
"blocking_mode": "حالت مسدودسازی",
|
||||
"default": "پيش فرض",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Null IP",
|
||||
"custom_ip": "آی پی دستی",
|
||||
"blocking_ipv4": "مسدودسازی IPv4",
|
||||
"blocking_ipv6": "مسدودسازی IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"form_enter_rate_limit": "میزان محدودیت را وارد کنید",
|
||||
"rate_limit": "میزان محدودیت",
|
||||
"edns_enable": "فعالسازی زیرشبکه کلاینت EDNS",
|
||||
"edns_cs_desc": "اگر فعال باشد،AdGuard Home زیرشبکه های کلاینت ها را به سرورهای DNS می فرستد.",
|
||||
"rate_limit_desc": "تعداد درخواست های بر ثانیه مجازی که یک کلاینت میتواند بسازد (0: نامحدود)",
|
||||
"blocking_ipv4_desc": "آدرس آی پی برگشت داده شده برای درخواست مسدود شده A",
|
||||
"blocking_ipv6_desc": "آدرس آی پی برگشت داده شده برای درخواست مسدود شده AAAA",
|
||||
"blocking_mode_default": "پیش فرض: وقتی مسدود شود با دستور سبک-مسدودساز تبلیغ NXDOMAIN پاسخ میدهد،پاسخ با آدرس آی پی تعیین شده در دستور وقتی با دستور /etc/hosts-style rule مسدود شود",
|
||||
"blocking_mode_nxdomain": "NXDOMAIN: پاسخ با کُد NXDOMAIN",
|
||||
"blocking_mode_null_ip": "Null IP: پاسخ با آدرس آی پی صفر(0.0.0.0 برای A; :: برای AAAA)",
|
||||
"blocking_mode_custom_ip": "آی پی دستی: پاسخ با آدرس آی پی دستی تنظیم شده",
|
||||
"upstream_dns_client_desc": "اگر این فیلد را خالی نگه دارید، AdGuard Home از سرور پیکربندی شده در <0> تنظیماتDNS </0> استفاده می کند.",
|
||||
"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 پیکربندی کنید.حتی اگر فقط در شبکه محلی خود قابل دسترسی باشد،برای حفاظت و مسدود کردن دسترسی غیر مجاز و نامحدود این بسیار ضروری است.",
|
||||
"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": "DNS سرور AdGuard Home به آدرس های زیر گوش میدهد",
|
||||
"install_devices_router_list_1": "اولویت ها را برای روتر خود باز کنید.معمولا میتوانید آن را ز طریق مرورگر از طریق آدرسی مانند ( 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 را بعنوان DHCP سرور راه اندازی کنید میتواند کمک کند. در غیر اینصورت باید راهنمای سفارشی سازی DNS سرورها برای مدل خاص روتر خود را انتخاب کنید.",
|
||||
"install_devices_windows_list_1": "کنترل پنل را از طریق استارت منو یا جستجوی ویندوز باز کنید.",
|
||||
"install_devices_windows_list_2": "بروید به شبکه و دسته اینترنت و سپس به شبکه و مرکز اشتراک گذاری",
|
||||
"install_devices_windows_list_3": "در سمت چپ صفحه تنظیمات آداپتور را تغییر داده و روی آن کلیک کنید",
|
||||
"install_devices_windows_list_4": "ارتباط فعال خود را انتخاب کرده،روی آن راست کلیک کرده و مشخصات را انتخاب کنید.",
|
||||
"install_devices_windows_list_5": "پروتکل اینترنت نسخه 4 (TCP/IP) را در لیست بیابید،آن را انتخاب و سپس روی مشخصات دوباره کلیک کنید.",
|
||||
"install_devices_windows_list_6": "گزینه استفاده از آدرس DNS سرور زیر را انتخاب کرده و آدرس سرور AdGuard Home خود را وارد کنید.",
|
||||
"install_devices_macos_list_1": "روی آیکون اَپل کلیک کرده و بروید به اولویت های سیستم",
|
||||
"install_devices_macos_list_2": "روی شبکه کلیک کنید",
|
||||
"install_devices_macos_list_3": "اولین ارتباط را از لیست خود انتخاب و روی پیشرفته کلیک کنید.",
|
||||
"install_devices_macos_list_4": "تب DNS را انتخاب و آدرس های سرور AdGuard Home خود را وارد کنید.",
|
||||
"install_devices_android_list_1": "از منوی صفحه خانه آندروئید،تنظیمات را فشار دهید",
|
||||
"install_devices_android_list_2": "وای فای را در منو فشار دهید،صفحه لیست کردن همه شبکه های موجود نشان داده میشود (تنظیم DNS دستی برای ارتباط موبایلی غیرممکن است)",
|
||||
"install_devices_android_list_3": "به شبکه ای که متصل شده اید فشار طولانی دهید و ویرایش شبکه را انتخاب کنید.",
|
||||
"install_devices_android_list_4": "در برخی دستگاه ها،شما ممکن است کادر پیشرفته را برای تنظیمات بعدی بررسی کنید.برای تنظیم DNS آندروئید خود،نیاز است شما از تنظیمات IP را از DHCP به Staticتغییر دهید.",
|
||||
"install_devices_android_list_5": "گروه مقادیر DNS 1 و DNS 2 را به آدرس سرور AdGuard Home خود تغییر دهید.",
|
||||
"install_devices_ios_list_1": "از صفحه خانه،تنظیمات را فشار دهید.",
|
||||
"install_devices_ios_list_2": "وای فای را از منوی چپ انتخاب کنید (پیکربندی 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،شما باید نام سرور مطابق با گواهینامه اِس اِس اِل را وارد کنید.",
|
||||
"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_certificates": "گواهینامه ها",
|
||||
"encryption_certificates_desc": "به منظور استفاده از رمزگُذاری، شما باید زنجیره گواهینامه اِس اِس اِل معتبر برای دامنه خود ارائه دهید. میتوانید گواهینامه رایگان از <0>{{link}}</0> بگیرید یا میتوانید آن را از مراجع گواهینامه معتبر بخرید.",
|
||||
"encryption_certificates_input": "کپی/چسباندن گواهینامه پی ای اِم کد گذاری شده در اینجا.",
|
||||
"encryption_status": "وضعیت",
|
||||
"encryption_expire": "تاریخ انقضاء",
|
||||
"encryption_key": "کلید خصوصی",
|
||||
"encryption_key_input": "کپی/چسباندن کلید گواهینامه پی ای اِم کد گذاری شده در اینجا.",
|
||||
"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": "آیا میخواهید تنظیمات رمزگُذاری به پیش فرض بازگردد؟",
|
||||
"topline_expiring_certificate": "گواهینامه اِس اِس اِل شما در صدد انقضاء است. <0>تنظیمات رمزگُذاری</0> را بروز رسانی کنید.",
|
||||
"topline_expired_certificate": "گواهینامه اِس اِس اِل شما منقضی شده است. <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 href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>مراحل را دنبال کرده</a> تا بطور دستی بروز رسانی کنید.",
|
||||
"processing_update": "منتظر بمانید،AdGuard Home در حال بروز رسانی است",
|
||||
"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": "آدرس آی پی",
|
||||
"client_identifier_desc": "کلاینت میتواند با آدرس آی پی یا آدرس مَک احراز شود. لطفا توجه کنید،که استفاده از مَک بعنوان عامل احراز زمانی امکان دارد که AdGuard Home نیز <0>سرور DHCP </0> باشد",
|
||||
"form_enter_ip": "آی پی را وارد کنید",
|
||||
"form_enter_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": "کلاینت ها (زمان اِجرا)",
|
||||
"auto_clients_desc": "داده در کلاینت ها که از AdGuard Home استفاده می کند،اما در پیکربندی ذخیره نمی شود",
|
||||
"access_title": "تنظیمات دسترسی",
|
||||
"access_desc": "در اینجا میتوانید دستورات دسترسی را برای DNS سرور AdGuard Home وارد کنید.",
|
||||
"access_allowed_title": "کلاینت های مجاز",
|
||||
"access_allowed_desc": "یک لیست از CIDR یا آدرس های IP.اگر پیکربندی شود،AdGuard Home درخواست ها را فقط از این آدرس ها می پذیرد.",
|
||||
"access_disallowed_title": "کلاینت های غیرمجاز",
|
||||
"access_disallowed_desc": "یک لیست از CIDR یا آدرس های IP.اگر پیکربندی شود،AdGuard Home درخواست ها را از این آدرس های IP نمی پذیرد.",
|
||||
"access_blocked_title": "دامنه های مسدود شده",
|
||||
"access_blocked_desc": "این را با فیلتر ها به اشتباه نگیرید.AdGuard Home جستار DNS را با این دامنه ها در جستار سوال ها نمی پذیرد.",
|
||||
"access_settings_saved": "تنظیمات دسترسی با موفقیت ذخیره شد",
|
||||
"updates_checked": "بروز رسانی با موفقیت بررسی شد",
|
||||
"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>لطفا توجه کنید که پروتکل های رمزگذاری شده DNS فقط در آندروئید 9 پشتیبانی می شود. پس برای سیستم عامل های دیگر نیاز است که برنامه دیگری نصب کنید.</0><0>در اینجا میتوانید لیست نرم افزارهای قابل استفاده را ببینید.</0>",
|
||||
"setup_dns_privacy_android_1": "آندروئید 9 بطور پیش فرض از DNS-over-TLS پشتیبانی می کند. برای پیکربندی آن، بروید به تنظیمات → شبکه & اینترنت → پیشرفته → DNS خصوصی و نام دامنه را آنجا وارد کنید.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard for 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> را به آندروئید اضافه می کند.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> پشتیبانی از <1>DNS-over-HTTPS</1>, اما بمنظور پیکربندی آن برای استفاده بعنوان سرور خود،شما نیاز دارید که <2>DNS Stamp</2> برای آن تولید کنید.",
|
||||
"setup_dns_privacy_ios_2": "<0>AdGuard for 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> supportsپشتیبانی از <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_notice": "به منظور استفاده از <1>DNS-over-HTTPS</1> یا <1>DNS-over-TLS</1>، شما نیاز به <0>پیکربندی رمزگذاری</0> در تنظیمات 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": "نام دامنه یا آدرس آی پی را وارد کنید",
|
||||
"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_24_hour": "24 ساعت",
|
||||
"interval_days": "{{value}} روز",
|
||||
"interval_days_plural": "{{count}} روز",
|
||||
"domain": "دامنه",
|
||||
"answer": "پاسخ",
|
||||
"filter_added_successfully": "فیلتر با موفقیت اضافه شد",
|
||||
"filter_updated": "فیلتر با موفقیت بروز رسانی شد",
|
||||
"statistics_configuration": "پیکربندی آمارها",
|
||||
"statistics_retention": "مدت حفظ آمارها",
|
||||
"statistics_retention_desc": "اگر مقدار فاصله را کاهش دهید،برخی داده ها از بین خواهد رفت",
|
||||
"statistics_clear": " پاکسازی آمار",
|
||||
"statistics_clear_confirm": "آیا واقعا میخواهید آمار را پاک کنید؟",
|
||||
"statistics_retention_confirm": "آیا واقعا میخواهید مدت حفظ آمار را تغییر دهید؟ اگر فاصله را کاهش دهید، برخی داده ها حذف میشود",
|
||||
"statistics_cleared": "آمارها با موفقیت حذف شد",
|
||||
"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": "هوئیز",
|
||||
"filtering_rules_learn_more": "درباره ایجاد لیست سیاه میزبان برای خود <0>بیشتر بدانید</0>.",
|
||||
"blocked_by_response": "مسدودسازی با CNAME یا IP در پاسخ",
|
||||
"try_again": "امتحان دوباره",
|
||||
"domain_desc": "نامه دامنه یا علامت تطبیقی را برای بازنویسی وارد کنید.",
|
||||
"example_rewrite_domain": "فقط بازنویسی پاسخ برای این دامنه.",
|
||||
"example_rewrite_wildcard": "بازنویسی پاسخ ها برای همه زیردامنه های <0>example.org</0>.",
|
||||
"disable_ipv6": "غیرفعالسازی IPv6",
|
||||
"disable_ipv6_desc": "اگر این ویژگی فعال شده، همه جستارهای DNS برای آدرس های IPv6 (نوع AAAA) رها میشود.",
|
||||
"fastest_addr": "سریعترین آدرس آی پی",
|
||||
"fastest_addr_desc": "جستار همه سرورهای DNS و بازگرداندن سریعترین آدرس IP از میان همه پاسخ ها",
|
||||
"autofix_warning_text": "اگر روی \"تعمیر\" کلیک کنید، AdGuardHome سیستم شما را برای استفاده از DNS سرور AdGuardHome پیکربندی می کند.",
|
||||
"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 از سیستم شما بطور پیش فرض با AdGuardHome پردازش خواهد شد.",
|
||||
"tags_title": "برچسب ها",
|
||||
"tags_desc": "میتوانید برچسب مطابق با کلاینت را انتخاب کنید. برچسب ها میتواند شامل دستورات فیلترینگ بوده و به شما اجازه اعمال دقیق تر را میدهد. <0>بیشتر بدانید</0>",
|
||||
"form_select_tags": "انتخاب برچسب کلاینت",
|
||||
"check_title": "بررسی فیلترینگ",
|
||||
"check_desc": "برسی اینکه نام میزبان فیلتر شده است یا نه",
|
||||
"check": "بررسی",
|
||||
"form_enter_host": "نام میزبان را وارد کنید",
|
||||
"filtered_custom_rules": "با دستورات فیلترینگ دستی فیلتر شده است",
|
||||
"host_whitelisted": "سایت در لیست سفید است",
|
||||
"check_ip": "آدرس آی پی: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "علت: {{reason}}",
|
||||
"check_rule": "دستور: {{rule}}",
|
||||
"check_service": "نام سرویس: {{service}}",
|
||||
"check_not_found": "در لیست فیلترهای شما یافت نشد",
|
||||
"client_confirm_block": "آیا واقعا میخواهید کلاینت \"{{ip}}\" را مسدود کنید؟",
|
||||
"client_confirm_unblock": "آیا واقعا میخواهید کلاینت \"{{ip}}\" را باز کنید؟",
|
||||
"client_blocked": "کلاینت \"{{ip}}\" با موفقیت مسدود شد",
|
||||
"client_unblocked": "کلاینت \"{{ip}}\" با موفقیت باز شد",
|
||||
"static_ip": "آدرس آی پی ثابت",
|
||||
"static_ip_desc": "AdGuard Home یک سرور است بنابراین به یک آدرس آی پی ثابت برای کارکرد درست نیاز دارد. در غیراینصورت، در نهایت، روتر شما میتواند آدرس آی پی متفاوت به این دستگاه اختصاص دهد.",
|
||||
"set_static_ip": "تنظیم یک آدرس آی پی ثابت",
|
||||
"install_static_ok": "خبر خوب! آدرس آی پی ثابت از قبل پیکربندی شده است",
|
||||
"install_static_error": "AdGuard Home نمیتواند رابط این شبکه را خودکار پیکربندی کند. لطفا دستورالعمل چگونگی انجام دستی آن را مطالعه کنید.",
|
||||
"install_static_configure": "ما تشخیص دادیم از آدرس آی پی پویا استفاده شده است — <0>{{ip}}</0>. آیا میخواهید از آن بعنوان آدرس ثابت استفاده کنید؟",
|
||||
"confirm_static_ip": "AdGuard Home {{ip}} بعنوان آدرس آی پی ثابت شما پیکربندی می کند. ادامه میدهید؟",
|
||||
"list_updated": "{{count}} لیست بروز رسانی شد",
|
||||
"list_updated_plural": "{{count}} لیست بروز رسانی شد",
|
||||
"dnssec_enable": "فعالسازی DNSSEC",
|
||||
"dnssec_enable_desc": "تنظیم نشان DNSSEC در جستارهای حاصل DNS و بررسی نتیجه (تفکیک کننده DNSSEC-فعال شده نیاز است)",
|
||||
"validated_with_dnssec": "معتبر سازی با DNSSEC",
|
||||
"show_blocked_responses": "مسدود شده",
|
||||
"show_whitelisted_responses": "لیست سفید",
|
||||
"show_processed_responses": "پردازش شده",
|
||||
"blocked_safebrowsing": "بستن وب گردی اَمن",
|
||||
"blocked_adult_websites": "وبسایت غیراخلاقی مسدود شده",
|
||||
"blocked_threats": "تهدیدات مسدود شده",
|
||||
"allowed": "اجازه داده شده",
|
||||
"filtered": "فیلتر شده",
|
||||
"rewritten": "بازنویسی شده",
|
||||
"safe_search": "جستجوی اَمن",
|
||||
"blocklist": "لیست سیاه",
|
||||
"milliseconds_abbreviation": "هـ ثـ"
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "Paramètres du client",
|
||||
"example_upstream_reserved": "vous pouvez spécifier un DNS upstream <0>pour un/des domaine(s) spécifique(s)</0>",
|
||||
"upstream_parallel": "Utilisez des requêtes parallèles pour accélérer la résolution en requêtant simultanément tous les serveurs upstream",
|
||||
"example_upstream_reserved": "Vous pouvez spécifier un DNS en amont <0>pour un/des domaine(s) spécifique(s)</0>",
|
||||
"upstream_parallel": "Utiliser des requêtes parallèles pour accélérer la résolution en requêtant simultanément tous les serveurs upstream",
|
||||
"parallel_requests": "Demandes en parallèle",
|
||||
"load_balancing": "Équilibrage de charge",
|
||||
"load_balancing_desc": "Interroger un serveur à la fois. AdGuard Home utilisera l’algorithme aléatoire pondéré pour choisir le serveur afin que celui le plus rapide soit utilisé plus souvent.",
|
||||
"bootstrap_dns": "Serveurs DNS d'amorçage",
|
||||
"bootstrap_dns_desc": "Les serveurs DNS d'amorçage sont utilisés pour résoudre les adresses IP des résolveurs DoH/DoT que vous spécifiez comme upstream.",
|
||||
"check_dhcp_servers": "Rechercher les serveurs DHCP",
|
||||
@@ -15,11 +18,17 @@
|
||||
"dhcp_not_found": "Aucun serveur DHCP actif trouvé sur le réseau. Vous pouvez activer le serveur DHCP intégré.",
|
||||
"dhcp_found": "Il y a plusieurs serveurs DHCP actifs sur le réseau. Ce n'est pas prudent d'activer le serveur DHCP intégré en ce moment.",
|
||||
"dhcp_leases": "Locations des serveurs DHCP",
|
||||
"dhcp_static_leases": "Baux statiques DHCP",
|
||||
"dhcp_leases_not_found": "Aucune location des serveurs DHCP trouvée",
|
||||
"dhcp_config_saved": "La configuration du serveur DHCP est sauvegardée",
|
||||
"form_error_required": "Champ requis",
|
||||
"form_error_ip4_format": "Format IPv4 invalide",
|
||||
"form_error_ip6_format": "Format IPv6 invalide",
|
||||
"form_error_ip_format": "Format IPv4 invalide",
|
||||
"form_error_mac_format": "Format MAC invalide",
|
||||
"form_error_client_id_format": "Format d'ID client non valide",
|
||||
"form_error_positive": "Doit être supérieur à 0",
|
||||
"form_error_negative": "Doit être égal à 0 ou supérieur",
|
||||
"dhcp_form_gateway_input": "IP de la passerelle",
|
||||
"dhcp_form_subnet_input": "Masque de sous-réseau",
|
||||
"dhcp_form_range_title": "Rangée des adresses IP",
|
||||
@@ -30,35 +39,68 @@
|
||||
"dhcp_interface_select": "Sélectionner l'interface du serveur DHCP",
|
||||
"dhcp_hardware_address": "Adresse de la machine",
|
||||
"dhcp_ip_addresses": "Adresses IP",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Nom de machine",
|
||||
"dhcp_table_expires": "Expire le",
|
||||
"dhcp_warning": "Si vous souhaitez tout de même activer le serveur DHCP, assurez-vous qu'il n'y a d'autre serveur DHCP actif sur votre réseau. Sinon, cela peut faire dysfonctionner Internet sur tous les appareils connectés au réseau !",
|
||||
"dhcp_error": "Nous ne pouvons pas déterminer s'il y a un autre serveur DHCP sur le réseau.",
|
||||
"dhcp_static_ip_error": "Pour utiliser un serveur DHCP, une adresse IP statique est requise. Nous ne sommes pas parvenus à déterminer si cette interface réseau est configurée via une adresse IP statique. Veuillez définir une adresse IP 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>. Nous allons automatiquement définir une adresse IP comme statique si vous appuyez sur le bouton Activer DHCP.",
|
||||
"dhcp_lease_added": "\"{{key}}\" de bail statique ajoutée avec succès",
|
||||
"dhcp_lease_deleted": "\"{{key}}\" de bail statique supprimée avec succès",
|
||||
"dhcp_new_static_lease": "Nouveau bail statique",
|
||||
"dhcp_static_leases_not_found": "Aucun bail statique DHCP trouvé",
|
||||
"dhcp_add_static_lease": "Ajoutez un bail statique",
|
||||
"dhcp_reset": "Voulez-vous vraiment réinitialiser votre configuration DHCP ?",
|
||||
"country": "Pays",
|
||||
"city": "Ville",
|
||||
"delete_confirm": "Voulez-vous vraiment supprimer \"{{key}}\" ?",
|
||||
"form_enter_hostname": "Saisissez un nom d'hôte",
|
||||
"error_details": "Détails des erreurs",
|
||||
"response_details": "Détails de la réponse",
|
||||
"request_details": "Demander des détails",
|
||||
"client_details": "Détails du client",
|
||||
"details": "Détails",
|
||||
"back": "Retour",
|
||||
"dashboard": "Tableau de bord",
|
||||
"settings": "Paramètres",
|
||||
"filters": "Filtres",
|
||||
"filter": "Filtre",
|
||||
"query_log": "Journal des requêtes",
|
||||
"compact": "Compact",
|
||||
"nothing_found": "Rien n'a été trouvé",
|
||||
"faq": "FAQ",
|
||||
"version": "version",
|
||||
"address": "addresse",
|
||||
"address": "Addresse",
|
||||
"protocol": "Protocole",
|
||||
"on": "Activé",
|
||||
"off": "Éteint",
|
||||
"copyright": "Copyright",
|
||||
"homepage": "Page d'accueil",
|
||||
"report_an_issue": "Signaler un problème",
|
||||
"privacy_policy": "Politique de confidentialité",
|
||||
"enable_protection": "Activer la protection",
|
||||
"enabled_protection": "Protection activée",
|
||||
"disable_protection": "Désactiver la protection",
|
||||
"disabled_protection": "Protection désactivée",
|
||||
"refresh_statics": "Renouveler les statistiques",
|
||||
"dns_query": "Requêtes DNS",
|
||||
"blocked_by": "<0>Bloqué par Filtres</0>",
|
||||
"stats_malware_phishing": "Tentative de malware/hammeçonnage bloquée",
|
||||
"stats_adult": "Sites à contenu adulte bloqués",
|
||||
"stats_query_domain": "Domaines les plus recherchés",
|
||||
"for_last_24_hours": "pendant les dernières 24 heures",
|
||||
"for_last_days": "pour les {{count}} derniers jours",
|
||||
"for_last_days_plural": "pour les {{count}} derniers jours",
|
||||
"no_domains_found": "Pas de domaines trouvés",
|
||||
"requests_count": "Nombre de requêtes",
|
||||
"top_blocked_domains": "Les domaines les plus fréquemment bloqués",
|
||||
"top_clients": "Meilleurs clients",
|
||||
"no_clients_found": "Pas de clients trouvés",
|
||||
"general_statistics": "Statistiques générales",
|
||||
"number_of_dns_query_days": "Le nombre de requêtes DNS traitées pour les {{count}} derniers jours",
|
||||
"number_of_dns_query_days_plural": "Le nombre de requêtes DNS traitées ces {{count}} derniers jours",
|
||||
"number_of_dns_query_24_hours": "Un nombre de requêtes DNS quieries traitées pendant les 24 heures dernières",
|
||||
"number_of_dns_query_blocked_24_hours": "Un nombre de requêtes DNS bloquées par les filtres adblock et les listes de blocage des hosts",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Un nombre de requêtes DNS bloquées par le module Sécurité de navigation d'AdGuard",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "Un nombre de sites à contenu adulte bloqués",
|
||||
@@ -73,12 +115,21 @@
|
||||
"use_adguard_parental": "Utiliser le contrôle parental d'AdGuard",
|
||||
"use_adguard_parental_hint": "AdGuard Home va vérifier s'il y a du contenu pour adultes sur le domaine. Ce sera fait par aide du même API discret que celui utilisé par le service de Sécurité de navigation.",
|
||||
"enforce_safe_search": "Renforcer la recherche sécurisée",
|
||||
"enforce_save_search_hint": "AdGuard Home peut renforcer la Recherche sécurisée dans les moteurs de recherche suivants : Google, Youtube, Bing et Yandex.",
|
||||
"enforce_save_search_hint": "AdGuard Home peut renforcer la Recherche sécurisée dans les moteurs de recherche suivants : Google, Youtube, Bing, DuckDuckGo, Yandex, Pixabay.",
|
||||
"no_servers_specified": "Pas de serveurs spécifiés",
|
||||
"general_settings": "Paramètres généraux",
|
||||
"dns_settings": "Paramètres DNS",
|
||||
"dns_blocklists": "Listes de blocage DNS",
|
||||
"dns_allowlists": "Listes d’autorisation DNS",
|
||||
"dns_blocklists_desc": "AdGuard Home bloquera les domaines correspondant aux listes de blocage.",
|
||||
"dns_allowlists_desc": "Les domaines provenant de listes d’autorisation DNS seront autorisés même s’ils figurent dans l’une des listes de blocage.",
|
||||
"custom_filtering_rules": "Règles de filtrage personnalisées",
|
||||
"encryption_settings": "Paramètres de chiffrement",
|
||||
"dhcp_settings": "Paramètres DHCP",
|
||||
"upstream_dns": "Serveurs DNS upstream",
|
||||
"upstream_dns_hint": "Si vous laissez ce champ vide, AdGuard Home va utiliser <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> somme upstream. Utilisez le préfixe tls:// pour DNS via les serveurs TLS .",
|
||||
"upstream_dns_hint": "Si vous laissez ce champ vide, AdGuard Home va utiliser <a href='https://www.quad9.net/' target='_blank'>Quad9</a> comme upstream.",
|
||||
"test_upstream_btn": "Tester les upstreams",
|
||||
"upstreams": "En amont",
|
||||
"apply_btn": "Appliquer",
|
||||
"disabled_filtering_toast": "Filtrage désactivé",
|
||||
"enabled_filtering_toast": "Filtrage activé",
|
||||
@@ -90,20 +141,33 @@
|
||||
"enabled_save_search_toast": "Recherche sécurisée activée",
|
||||
"enabled_table_header": "Activé",
|
||||
"name_table_header": "Nom",
|
||||
"filter_url_table_header": "URL du filtre",
|
||||
"list_url_table_header": "URL de la liste",
|
||||
"rules_count_table_header": "Nombre des règles",
|
||||
"last_time_updated_table_header": "Dernière mise à jour",
|
||||
"actions_table_header": "Actions",
|
||||
"request_table_header": "Requête",
|
||||
"edit_table_action": "Modifier",
|
||||
"delete_table_action": "Supprimer",
|
||||
"filters_and_hosts": "Listes de blocage des filtres et hosts",
|
||||
"elapsed": "Écoulé",
|
||||
"filters_and_hosts_hint": "AdGuard Home comprend les règles basiques de blocage ainsi que la syntaxe des fichiers hosts.",
|
||||
"no_filters_added": "Aucun filtre ajouté",
|
||||
"add_filter_btn": "Ajouter filtre",
|
||||
"no_blocklist_added": "Aucune liste de blocage ajoutée",
|
||||
"no_whitelist_added": "Aucune liste d’autorisation ajoutée",
|
||||
"add_blocklist": "Ajouter liste de blocage",
|
||||
"add_allowlist": "Ajouter liste d’autorisation",
|
||||
"cancel_btn": "Annuler",
|
||||
"enter_name_hint": "Saisir nom",
|
||||
"enter_url_hint": "Saisir URL",
|
||||
"enter_url_or_path_hint": "Entrez une URL ou un chemin absolu de la liste",
|
||||
"check_updates_btn": "Vérifier les mises à jour",
|
||||
"new_filter_btn": "Abonnement à un nouveau filtre",
|
||||
"enter_valid_filter_url": "Saisir un URL valide pour s'abonner au filtre ou à un fichier host.",
|
||||
"new_blocklist": "Nouvelle liste de blocage",
|
||||
"new_allowlist": "Nouvelle liste d’autorisation",
|
||||
"edit_blocklist": "Modifier la liste de blocage",
|
||||
"edit_allowlist": "Modifier la liste d’autorisation",
|
||||
"choose_blocklist": "Choisir des listes de blocage",
|
||||
"choose_allowlist": "Choisir des listes d’autorisation",
|
||||
"enter_valid_blocklist": "Saisissez une URL valide vers la liste de blocage.",
|
||||
"enter_valid_allowlist": "Saisissez une URL valide vers la liste d’autorisation.",
|
||||
"form_error_url_format": "Format d’URL incorrect",
|
||||
"form_error_url_or_path_format": "Entrez une URL ou le chemin absolu de la liste",
|
||||
"custom_filter_rules": "Règles de filtrage d'utilisateur",
|
||||
"custom_filter_rules_hint": "Saisissez la règle en une ligne. C'est possible d'utiliser les règles de blocage ou la syntaxe des fichiers hosts.",
|
||||
"examples_title": "Exemples",
|
||||
@@ -113,20 +177,26 @@
|
||||
"example_comment": "! Voici comment ajouter une déscription",
|
||||
"example_comment_meaning": "commentaire",
|
||||
"example_comment_hash": "# Et comme ça aussi on peut laisser des commentaires",
|
||||
"example_regex_meaning": "bloquer 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_dot": "<a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-au-dessus-de-TLS</a> chiffré",
|
||||
"example_upstream_doh": "<a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-au-dessus-de-HTTPS</a> chiffré",
|
||||
"example_upstream_sdns": "vous pouvez utiliser <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS Stamps</a> pour <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> ou les resolveurs <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-au-dessus-de-HTTPS</a>",
|
||||
"example_upstream_dot": "<0>DNS-over-TLS</0> chiffré",
|
||||
"example_upstream_doh": "<0>DNS-over-HTTPS</0> chiffré",
|
||||
"example_upstream_sdns": "vous pouvez utiliser <0>DNS Stamps</0> pour <1>DNSCrypt</1> ou les resolveurs <2>DNS_over_HTTPS</2>",
|
||||
"example_upstream_tcp": "DNS classique (au-dessus de TCP)",
|
||||
"all_filters_up_to_date_toast": "Tous les filtres sont mis à jour",
|
||||
"all_lists_up_to_date_toast": "Toutes les listes sont déjà à jour",
|
||||
"updated_upstream_dns_toast": "Les serveurs DNS upstream sont mis à jour",
|
||||
"dns_test_ok_toast": "Les serveurs DNS spécifiés fonctionnent de manière incorrecte",
|
||||
"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",
|
||||
"unblock_btn": "Débloquer",
|
||||
"block_btn": "Bloquer",
|
||||
"unblock": "Débloquer",
|
||||
"block": "Bloquer",
|
||||
"time_table_header": "Temps",
|
||||
"date": "Date",
|
||||
"domain_name_table_header": "Nom de domaine",
|
||||
"domain_or_client": "Domaine ou client",
|
||||
"type_table_header": "Type",
|
||||
"response_table_header": "Réponse",
|
||||
"response_code": "Code de réponse",
|
||||
"client_table_header": "Client",
|
||||
"empty_response_status": "Vide",
|
||||
"show_all_filter_type": "Montrer tout",
|
||||
"show_filtered_type": "Montrer les sites filtrés",
|
||||
@@ -135,16 +205,77 @@
|
||||
"previous_btn": "Précédent",
|
||||
"next_btn": "Suivant",
|
||||
"loading_table_status": "Chargement en cours ...",
|
||||
"of_table_footer_text": "de",
|
||||
"page_table_footer_text": "Page",
|
||||
"rows_table_footer_text": "lignes",
|
||||
"updated_custom_filtering_toast": "Règles de filtrage d'utilisateur mises à jour",
|
||||
"rule_removed_from_custom_filtering_toast": "Règle retirée des règles d'utilisateur",
|
||||
"rule_added_to_custom_filtering_toast": "Règle ajoutée aux règles d'utilisateur",
|
||||
"query_log_response_status": "Statut : {{value}}",
|
||||
"query_log_filtered": "Filtré par {{filter}}",
|
||||
"query_log_confirm_clear": "Êtes-vous sûr de vouloir effacer tout le journal des requêtes ?",
|
||||
"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_clear": "Effacer journal des requêtes",
|
||||
"query_log_retention": "Rétention du journal des requêtes",
|
||||
"query_log_enable": "Activer le 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_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",
|
||||
"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",
|
||||
"dns_config": "Configuration du serveur DNS",
|
||||
"dns_cache_config": "Configuration du cache DNS",
|
||||
"dns_cache_config_desc": "Ici, vous pouvez configurer le cache DNS",
|
||||
"blocking_mode": "Mode du blocage",
|
||||
"default": "Par défaut",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "IP nulle",
|
||||
"custom_ip": "IP personnalisée",
|
||||
"blocking_ipv4": "Blocage IPv4",
|
||||
"blocking_ipv6": "Blocage IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "DNS brut",
|
||||
"form_enter_rate_limit": "Entrez la limite de taux",
|
||||
"rate_limit": "Limite de taux",
|
||||
"edns_enable": "Activer le sous-réseau du client EDNS",
|
||||
"edns_cs_desc": "Si activé, AdGuard Home enverra les sous-réseaux des clients aux serveurs DNS.",
|
||||
"rate_limit_desc": "Le nombre de requêtes par seconde qu’un seul client est autorisé à faire (0 : illimité)",
|
||||
"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_mode_default": "Par défaut : Répondre avec NXDOMAIN lorsque bloqué par la règle de style Adblock; répondre avec l’adresse IP spécifiée dans la règle lorsque bloquée par la règle de style /etc/hosts",
|
||||
"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_custom_ip": "IP personnalisée : Répondre avec une adresse IP définie manuellement",
|
||||
"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",
|
||||
"source_label": "Source",
|
||||
"found_in_known_domain_db": "Trouvé dans la base de données des domaines connus",
|
||||
"category_label": "Catégorie",
|
||||
"rule_label": "Règle",
|
||||
"filter_label": "Filtre",
|
||||
"list_label": "Liste",
|
||||
"unknown_filter": "Filtre inconnu {{filterId}}",
|
||||
"known_tracker": "Pisteur connu",
|
||||
"install_welcome_title": "Bienvenue sur AdGuard Home !",
|
||||
"install_welcome_desc": "AdGuard Home est un seveur DNS pour bloquer les pubs et traceurs sur tout un réseau. Son but est de vous donner le contrôle sur l'ensemble de votre réseau et tous vos appareils sans programme côté client supplémentaire.",
|
||||
"install_settings_title": "Interface web administrateur",
|
||||
"install_settings_listen": "Interface d'écoute",
|
||||
"install_settings_port": "Port",
|
||||
"install_settings_interface_link": "Votre interface web administrateur AdGuard Home sera disponible sur les adresses suivantes :",
|
||||
"form_error_port": "Saisissez un port valide",
|
||||
"install_settings_dns": "Serveur DNS",
|
||||
"install_settings_dns_desc": "Vous devrez configurer vos appareils et votre routeur pour utiliser le serveur DNS sur les adresses suivantes :",
|
||||
"install_settings_all_interfaces": "Toutes les interfaces",
|
||||
"install_auth_title": "Authentification",
|
||||
"install_auth_desc": "Il est fortement recommandé de configurer un mot de passe pour accéder à l'interface web administrateur AdGuard Home. Même si elle est disponible que dans votre réseau local, cela reste important de se protéger contre des accès non désirés.",
|
||||
"install_auth_username": "Nom d'utilisateur",
|
||||
"install_auth_password": "Mot de passe",
|
||||
"install_auth_confirm": "Confirmer le mot de passe",
|
||||
"install_auth_username_enter": "Saisir un nom d'utilisateur",
|
||||
"install_auth_password_enter": "Saisir un mot de passe",
|
||||
"install_step": "Étape",
|
||||
"install_devices_title": "Configurer vos appareils",
|
||||
"install_devices_desc": "Pour commencer à utiliser AdGuard Home, vous devez configurer vos appareils.",
|
||||
"install_submit_title": "Félicitations !",
|
||||
"install_submit_desc": "La procédure d'installation est terminée et vous êtes prêt(e) pour commencer à utiliser AdGuard Home.",
|
||||
@@ -154,10 +285,280 @@
|
||||
"install_devices_router_list_1": "Ouvrez les préférences de votre routeur. Normalement, vous pouvez y accéder depuis votre navigateur Web via une URL (exemple http://192.168.0.1/ ou http://192.168.1.1/). Vous devrez peut-être saisir le mot de passe. Si vous ne vous en rappelez plus, vous pouvez le réinitialiser en appuyant sur le bouton du routeur. Certains routeurs fonctionnent sous une application spécifique, qui devrait être déjà installée sur votre ordinateur/téléphone.",
|
||||
"install_devices_router_list_2": "Trouvez les paramètres DHCP/DNS. Recherchez les lettres DNS près d'une zone qui permet la saisie de 2 ou 3 blocs de chiffres, chacun composé de 4 parties de 1 à 3 chiffres.",
|
||||
"install_devices_router_list_3": "Saisissez vos adresses de serveur AdGuard Home ici.",
|
||||
"install_devices_router_list_4": "Vous ne pouvez pas définir un serveur DNS personnalisé sur certains types de routeurs. Dans ce cas, cela peut être utile si vous configurez AdGuard Home en tant que <0>serveur DHCP</0>. 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_2": "Allez dans la catégorie Réseau et Internet et ensuite dans le Centre Réseau et Partage.",
|
||||
"install_devices_windows_list_3": "Sur la partie gauche de l'écran, recherchez Modifier les paramètres de la carte et cliquez dessus.",
|
||||
"install_devices_windows_list_4": "Sélectionnez votre connexion active, clic droit dessus et sélectionnez Propriétés.",
|
||||
"install_devices_windows_list_5": "Recherchez la version du protocole Internet 4 (TCP/IP) dans la liste, sélectionnez-la puis cliquez à nouveau sur Propriétés.",
|
||||
"updates_version_equal": "AdGuard Home est à jour"
|
||||
"install_devices_windows_list_6": "Sélectionnez Utiliser l’adresse de serveur DNS suivante et saisissez votre adresse de seveur AdGuard Home.",
|
||||
"install_devices_macos_list_1": "Cliquez sur l'icône Apple et allez dans les Préférences Système.",
|
||||
"install_devices_macos_list_2": "Cliquez sur Réseau.",
|
||||
"install_devices_macos_list_3": "Sélectionnez la première connexion dans votre liste et cliquez sur Avancés.",
|
||||
"install_devices_macos_list_4": "Sélectionnez l'onglet DNS et saisissez votre adresse de serveur AdGuard.",
|
||||
"install_devices_android_list_1": "Depuis l'écran d'accueil Android, appuyez sur Paramètres.",
|
||||
"install_devices_android_list_2": "Appuyez sur Wi-Fi dans le menu. Tous les réseaux disponibles s'afficheront (il est impossible de définir des DNS personnalisés pour les connexions mobiles).",
|
||||
"install_devices_android_list_3": "Faites un appui long sur le réseau auquel vous êtes connecté(e) et appuyez sur Modifier le réseau.",
|
||||
"install_devices_android_list_4": "Sur certains appareils, vous avez parfois besoin de cocher la case Avancés pour davantage de paramètres. Pour ajuster vos paramètres DNS Android, vous devrez basculer les paramètres IP de DHCP à Statique.",
|
||||
"install_devices_android_list_5": "Modifier les valeurs DNS 1 et DNS 2 pour vos adresses de serveur AdGuard Home.",
|
||||
"install_devices_ios_list_1": "Depuis l'écran d'accueil, appuyez sur Paramètres.",
|
||||
"install_devices_ios_list_2": "Choisissez Wi-Fi dans le menu de gauche (il est impossible de configurer les DNS pour les réseaux mobiles).",
|
||||
"install_devices_ios_list_3": "Appuyez sur le nom de votre réseau actuellement utilisé.",
|
||||
"install_devices_ios_list_4": "Dans le champ DNS, saisissez votre adresse de serveur AdGuard Home.",
|
||||
"get_started": "C'est parti",
|
||||
"next": "Suivant",
|
||||
"open_dashboard": "Ouvrir le Tableau de bord",
|
||||
"install_saved": "Enregistré avec succès",
|
||||
"encryption_title": "Chiffrement",
|
||||
"encryption_desc": "Le support du chiffrement (HTTPS/TLS) pour les DNS et l'interface web administrateur",
|
||||
"encryption_config_saved": "Configuration de chiffrement enregistrée",
|
||||
"encryption_server": "Nom du serveur",
|
||||
"encryption_server_enter": "Entrez votre nom de domaine",
|
||||
"encryption_server_desc": "Pour utiliser HTTPS, vous devez entrer le nom du serveur qui correspond à votre certificat SSL.",
|
||||
"encryption_redirect": "Redirection automatiquement vers HTTPS",
|
||||
"encryption_redirect_desc": "Si coché, AdGuard Home vous redirigera automatiquement d'adresses HTTP vers HTTPS.",
|
||||
"encryption_https": "Port HTTPS",
|
||||
"encryption_https_desc": "Si le port HTTPS est configuré, l'interface administrateur de AdGuard Home sera accessible via HTTPS et fournira aussi un service DNS-over-HTTPS sur l'emplacement '/dns-query'.",
|
||||
"encryption_dot": "Port DNS-over-TLS",
|
||||
"encryption_dot_desc": "Si ce port est configuré, AdGuard Home exécutera un serveur DNS-over-TLS sur ce port.",
|
||||
"encryption_certificates": "Certificats",
|
||||
"encryption_certificates_desc": "Pour utiliser le chiffrement, vous devez fournir une chaîne de certificats SSL valide pour votre domaine. Vous pouvez en obtenir une gratuitement sur <0>{{link}}</0> ou vous pouvez en acheter une via les Autorités de Certification de confiance.",
|
||||
"encryption_certificates_input": "Copiez/coller vos certificats encodés PEM ici.",
|
||||
"encryption_status": "État",
|
||||
"encryption_expire": "Expire le",
|
||||
"encryption_key": "Clé privée",
|
||||
"encryption_key_input": "Copiez/coller votre clé privée PEM encodée pour votre certificat ici.",
|
||||
"encryption_enable": "Activer le chiffrement (HTTPS, DNS-over-HTTPS et DNS-over-TLS)",
|
||||
"encryption_enable_desc": "Si le chiffrement est activé, l'interface administrateur AdGuard Home fonctionnera via HTTPS et le serveur DNS écoutera les requêtes via DNS-over-HTTPS et DNS-over-TLS.",
|
||||
"encryption_chain_valid": "Chaîne de certificat valide",
|
||||
"encryption_chain_invalid": "Chaîne de certificat invalide",
|
||||
"encryption_key_valid": "Ceci est une clé privée {{type}} valide",
|
||||
"encryption_key_invalid": "Ceci est une clé privée {{type}} invalide",
|
||||
"encryption_subject": "Objet",
|
||||
"encryption_issuer": "Émetteur",
|
||||
"encryption_hostnames": "Noms d'hôte",
|
||||
"encryption_reset": "Voulez-vous vraiment réinitialiser les paramètres de chiffrement ?",
|
||||
"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>.",
|
||||
"form_error_port_range": "Saisissez une valeur de port entre 80 et 65535",
|
||||
"form_error_port_unsafe": "C'est un port non fiable",
|
||||
"form_error_equal": "Ne devrait pas être égal",
|
||||
"form_error_password": "Mots de passe différents",
|
||||
"reset_settings": "Réinitialiser les paramètres",
|
||||
"update_announcement": "AdGuard Home {{version}} est disponible ! <0>Cliquez ici</0> pour plus d'informations.",
|
||||
"setup_guide": "Guide d'installation",
|
||||
"dns_addresses": "Adresses DNS",
|
||||
"dns_start": "Démarrage du serveur DNS",
|
||||
"dns_status_error": "Erreur lors de la récupération du statut du serveur DNS",
|
||||
"down": "Descendant",
|
||||
"fix": "Corriger",
|
||||
"dns_providers": "Voici une <0>liste de fournisseurs DNS connus</0>.",
|
||||
"update_now": "Mettre à jour maintenant",
|
||||
"update_failed": "Échec de la mise à jour automatique. Veuillez <a href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>suivre ces étapes</a> pour mettre à jour manuellement.",
|
||||
"processing_update": "Veuillez patienter, AdGuard Home est en cours de mise à jour",
|
||||
"clients_title": "Clients",
|
||||
"clients_desc": "Configurer les appareils connectés à AdGuard Home",
|
||||
"settings_global": "Général",
|
||||
"settings_custom": "Personnalisé",
|
||||
"table_client": "Client",
|
||||
"table_name": "Nom",
|
||||
"save_btn": "Enregistrer",
|
||||
"client_add": "Ajouter un client",
|
||||
"client_new": "Nouveau client",
|
||||
"client_edit": "Modifier le client",
|
||||
"client_identifier": "Identifiant",
|
||||
"ip_address": "Adresse IP",
|
||||
"client_identifier_desc": "Les clients peuvent être identifiés par les adresses IP ou MAC. Veuillez noter que l'utilisation de l'adresse MAC comme identifiant est possible uniquement si AdGuard Home est aussi un <0>serveur DHCP</0>",
|
||||
"form_enter_ip": "Saisissez l'IP",
|
||||
"form_enter_mac": "Saisissez MAC",
|
||||
"form_enter_id": "Entrer identifiant",
|
||||
"form_add_id": "Ajouter identifiant",
|
||||
"form_client_name": "Saisissez le nom du client",
|
||||
"name": "Nom",
|
||||
"client_global_settings": "Utiliser les paramètres généraux",
|
||||
"client_deleted": "Le client \"{{key}}\" a été supprimé avec succès",
|
||||
"client_added": "Le client \"{{key}}\" a été ajouté",
|
||||
"client_updated": "Le client \"{{key}}\" a été mis à jour",
|
||||
"clients_not_found": "Aucun client trouvé",
|
||||
"client_confirm_delete": "Voulez-vous vraiment supprimer le client \"{{key}}\" ?",
|
||||
"list_confirm_delete": "Voulez-vous vraiment supprimer cette liste ?",
|
||||
"auto_clients_title": "Clients (exécution)",
|
||||
"auto_clients_desc": "Les données des clients qu'utilisent AdGuard Home, mais non stockées dans la configuration",
|
||||
"access_title": "Paramètres d'accès",
|
||||
"access_desc": "Ici vous pouvez configurer les règles d'accès au serveur DNS AdGuard Home.",
|
||||
"access_allowed_title": "Clients autorisés",
|
||||
"access_allowed_desc": "Une liste d'adresses IP ou CIDR. Si configuré, AdGuard Home acceptera uniquement les requêtes provenant de ces adresses IP.",
|
||||
"access_disallowed_title": "Clients non autorisés",
|
||||
"access_disallowed_desc": "Une liste d'adresses IP ou CIDR. Si configuré, AdGuard Home bloquera les requêtes provenant de ces adresses IP.",
|
||||
"access_blocked_title": "Domaines interdits",
|
||||
"access_blocked_desc": "Ne confondez pas ceci avec les filtres. AdGuard Home ignorera les requêtes DNS portant sur les domaines ci-dessous.",
|
||||
"access_settings_saved": "Paramètres d'accès enregistrés avec succès",
|
||||
"updates_checked": "Mises à jour vérifiées",
|
||||
"updates_version_equal": "AdGuard Home est à jour",
|
||||
"check_updates_now": "Vérifier les mises à jour",
|
||||
"dns_privacy": "Confidentialité DNS",
|
||||
"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_3": "<0>Veuillez noter que les protocoles DNS chiffrés sont supportés que sur Android 9. Donc vous devez installer un logiciel complémentaire pour les autres systèmes opérationnels.</0><0>Voici une liste de logiciels que vous pouvez utiliser.</0>",
|
||||
"setup_dns_privacy_android_1": "Android 9 supporte nativement le DNS-over-TLS. Pour le configurer, allez dans Paramètres → Réseau et Internet → Avancés → DNS privé et saisissez votre nom de domaine ici.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard pour Android</0> supporte le <1>DNS-over-HTTPS</1> et le <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "<0>Intra</0> ajoute le support <1>DNS-over-HTTPS</1> sur Android.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> supporte le <1>DNS-over-HTTPS</1> mais pour le configurer pour utiliser votre propre serveur, vous devrez générer un <2>DNS Stamp</2> pour lui.",
|
||||
"setup_dns_privacy_ios_2": "<0>AdGuard pour iOS</0> supporte les configurations <1>DNS-over-HTTPS</1> et <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_other_title": "Autres implémentations",
|
||||
"setup_dns_privacy_other_1": "AdGuard Home lui-même peut être un client DNS sécurisé sur n'importe quelle plateforme.",
|
||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0> supporte tous les protocoles DNS sécurisés connus.",
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> supporte le <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> supporte le <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_5": "Vous trouverez plus d'implémentations <0>ici</0> et <1>ici</1>.",
|
||||
"setup_dns_notice": "Pour utiliser le <1>DNS-over-HTTPS</1> ou le <1>DNS-over-TLS</1>, vous devez <0>configurer le Cryptage</0> dans les paramètres de AdGuard Home.",
|
||||
"rewrite_added": "Réécriture DNS pour \"{{key}}\" ajoutée",
|
||||
"rewrite_deleted": "Réécriture DNS pour \"{{key}}\" supprimée",
|
||||
"rewrite_add": "Ajouter une réécriture DNS",
|
||||
"rewrite_not_found": "Aucune réécriture DNS trouvée",
|
||||
"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_applied": "Règle de réécriture appliquée",
|
||||
"rewrite_hosts_applied": "Réécrit par la règle du fichier d’hôtes",
|
||||
"dns_rewrites": "Réécritures DNS",
|
||||
"form_domain": "Saisissez un domaine ou caracrtère générique",
|
||||
"form_answer": "Saisissez une adresse IP ou un nom de domaine",
|
||||
"form_error_domain_format": "Format de domaine invalide",
|
||||
"form_error_answer_format": "Format de réponse invalide",
|
||||
"configure": "Configurer",
|
||||
"main_settings": "Paramètres principaux",
|
||||
"block_services": "Bloquer des services spécifiques",
|
||||
"blocked_services": "Services bloqués",
|
||||
"blocked_services_desc": "Permet de bloquer les sites et services populaires rapidement.",
|
||||
"blocked_services_saved": "Services bloqués enregistrés",
|
||||
"blocked_services_global": "Utiliser les services bloqués globaux",
|
||||
"blocked_service": "Service bloqué",
|
||||
"block_all": "Tout bloquer",
|
||||
"unblock_all": "Tout débloquer",
|
||||
"encryption_certificate_path": "Emplacement du certificat",
|
||||
"encryption_private_key_path": "Emplacement de la clef privée",
|
||||
"encryption_certificates_source_path": "Définir un emplacement du fichier des certificats",
|
||||
"encryption_certificates_source_content": "Coller les contenus des certificats",
|
||||
"encryption_key_source_path": "Définir un fichier pour la clef privée",
|
||||
"encryption_key_source_content": "Coller les contenus de la clef privée",
|
||||
"stats_params": "Configuration des statistiques",
|
||||
"config_successfully_saved": "Configuration sauvegardée",
|
||||
"interval_24_hour": "24 heures",
|
||||
"interval_days": "{{count}} jour",
|
||||
"interval_days_plural": "{{count}} jours",
|
||||
"domain": "Domaine",
|
||||
"answer": "Réponse",
|
||||
"filter_added_successfully": "Le filtre a été ajouté avec succès",
|
||||
"filter_removed_successfully": "La liste a été supprimée avec succès",
|
||||
"filter_updated": "Le filtre a été mis à jour avec succès",
|
||||
"statistics_configuration": "Configuration des statistiques",
|
||||
"statistics_retention": "Maintien des statistiques",
|
||||
"statistics_retention_desc": "Si vous baissez la valeur de l'intervalle, des données seront perdues",
|
||||
"statistics_clear": " Effacer les statistiques",
|
||||
"statistics_clear_confirm": "Voulez-vous vraiment effacer les statistiques ?",
|
||||
"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",
|
||||
"interval_hours": "{{count}} heure",
|
||||
"interval_hours_plural": "{{count}} heures",
|
||||
"filters_configuration": "Configuration des filtres",
|
||||
"filters_enable": "Activer les filtres",
|
||||
"filters_interval": "Intervalle de mise à jour des filtres",
|
||||
"disabled": "Désactivé",
|
||||
"username_label": "Nom d'utilisateur",
|
||||
"username_placeholder": "Saisir un nom d'utilisateur",
|
||||
"password_label": "Mot de passe",
|
||||
"password_placeholder": "Saisir un mot de passe",
|
||||
"sign_in": "Connexion",
|
||||
"sign_out": "Déconnexion",
|
||||
"forgot_password": "Mot de passe oublié ?",
|
||||
"forgot_password_desc": "Veuillez suivre <0>ces quelques étapes</0> pour créer un nouveau mot de passe pour votre compte.",
|
||||
"location": "Localisation",
|
||||
"orgname": "Nom de l'organisation",
|
||||
"netname": "Nom du réseau",
|
||||
"network": "Réseau",
|
||||
"descr": "Description",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Apprenez-en plus</0> à propos de la création de vos propres listes de blocage d’hôtes.",
|
||||
"blocked_by_response": "Bloqué par un CNAME ou une réponse IP",
|
||||
"try_again": "Réessayer",
|
||||
"domain_desc": "Saisissez le nom de domaine ou le caractère générique que vous souhaitez réécrire.",
|
||||
"example_rewrite_domain": "réécrivez les réponses pour ce nom de domaine uniquement.",
|
||||
"example_rewrite_wildcard": "réécrire les réponses pour tous les sous-domaines <0>exemple.org</0>.",
|
||||
"rewrite_ip_address": "Adresse IP : utilisez cette IP dans une réponse A ou AAAA",
|
||||
"rewrite_domain_name": "Nom de domaine : ajouter un enregistrement CNAME",
|
||||
"rewrite_A": "<0>A</0> : valeur spéciale, conserver les enregistrements <0>A</0> de l’amont",
|
||||
"rewrite_AAAA": "<0>AAAA</0> : valeur spéciale, conserver les enregistrements <0>AAAA</0> de l’amont",
|
||||
"disable_ipv6": "Désactiver IPv6",
|
||||
"disable_ipv6_desc": "Si cette fonctionnalité est activée, toutes les requêtes DNS visant des adresses IPv6 (type AAAA) seront annulées.",
|
||||
"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",
|
||||
"autofix_warning_text": "Si vous cliquez sur \"Réparer\", AdGuardHome configurera votre système pour utiliser le serveur DNS AdGuardHome.",
|
||||
"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.",
|
||||
"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>",
|
||||
"form_select_tags": "Sélectionner les mots clés du client",
|
||||
"check_title": "Vérification du filtrage",
|
||||
"check_desc": "Vérifier si le nom d’hôte est filtré",
|
||||
"check": "Vérifier",
|
||||
"form_enter_host": "Saisissez un nom d’hôte",
|
||||
"filtered_custom_rules": "Filtré par des règles de filtrage personnalisées",
|
||||
"choose_from_list": "Choisissez dans la liste",
|
||||
"add_custom_list": "Ajouter une liste personnalisée",
|
||||
"host_whitelisted": "L’hôte est sur liste blanche",
|
||||
"check_ip": "Adresses IP : {{ip}}",
|
||||
"check_cname": "CNAME : {{cname}}",
|
||||
"check_reason": "Raison : {{reason}}",
|
||||
"check_rule": "Règle : {{rule}}",
|
||||
"check_service": "Nom du service : {{service}}",
|
||||
"check_not_found": "Introuvable dans vos listes de filtres",
|
||||
"client_confirm_block": "Voulez-vous vraiment bloquer le client « {{ip}} »?",
|
||||
"client_confirm_unblock": "Voulez-vous vraiment débloquer le client « {{ip}} »?",
|
||||
"client_blocked": "Client « {{ip}} » bloqué avec succès",
|
||||
"client_unblocked": "Client « {{ip}} » débloqué avec succès",
|
||||
"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.",
|
||||
"set_static_ip": "Définir une adresse IP statique",
|
||||
"install_static_ok": "Bonne nouvelle! L’adresse IP statique est déjà configurée",
|
||||
"install_static_error": "AdGuard Home ne peut pas le configurer automatiquement pour cette interface réseau. Veuillez rechercher une instruction sur la façon de procéder manuellement.",
|
||||
"install_static_configure": "Nous avons détecté qu’une adresse IP dynamique est utilisée — <0>{{ip}}</0>. Voulez-vous l’utiliser comme votre adresse statique?",
|
||||
"confirm_static_ip": "AdGuard Home configurera {{ip}} pour être votre adresse IP statique. Voulez-vous poursuivre?",
|
||||
"list_updated": "{{count}} liste mise à jour",
|
||||
"list_updated_plural": "{{count}} listes mises à jour",
|
||||
"dnssec_enable": "Activer DNSSEC",
|
||||
"dnssec_enable_desc": "Définir l’indicateur DNSSEC dans les requêtes DNS sortantes et vérifier le résultat (résolveur compatible DNSSEC requis)",
|
||||
"validated_with_dnssec": "Validé avec DNSSEC",
|
||||
"show_blocked_responses": "Bloqué",
|
||||
"show_whitelisted_responses": "Ajouté à la liste blanche",
|
||||
"show_processed_responses": "Traité",
|
||||
"blocked_safebrowsing": "Navigation sécurisée bloquée",
|
||||
"blocked_adult_websites": "Sites à contenu adulte bloqués",
|
||||
"blocked_threats": "Menaces bloquées",
|
||||
"allowed": "Autorisé",
|
||||
"filtered": "Filtré",
|
||||
"rewritten": "Réécrit",
|
||||
"safe_search": "Recherche sécurisée",
|
||||
"blocklist": "Liste de blocage",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Taille du cache",
|
||||
"cache_size_desc": "Taille du cache DNS (en bytes)",
|
||||
"cache_ttl_min_override": "Remplacer le TTL minimum",
|
||||
"cache_ttl_max_override": "Remplacer le TTL maximum",
|
||||
"enter_cache_size": "Entrer la taille du cache",
|
||||
"enter_cache_ttl_min_override": "Entrez le TTL minimum",
|
||||
"enter_cache_ttl_max_override": "Entrez le TTL maximum",
|
||||
"cache_ttl_min_override_desc": "Remplacer la valeur TTL (minimum) reçue du serveur en amont. Cette valeur ne peut pas dépasser 3600 (1 heure)",
|
||||
"cache_ttl_max_override_desc": "Remplacer la valeur TTL (maximale) reçue du serveur en amont",
|
||||
"min_exceeds_max_value": "La valeur minimum excède la valeur maximum",
|
||||
"value_not_larger_than": "La valeur ne peut pas dépasser {{maximum}}",
|
||||
"filter_category_general": "Général",
|
||||
"filter_category_security": "Sécurité",
|
||||
"filter_category_regional": "Régional",
|
||||
"filter_category_other": "Autre",
|
||||
"filter_category_general_desc": "Listes qui bloquent le pistage et la publicité sur la plupart des appareils",
|
||||
"filter_category_security_desc": "Listes spécialisées dans le blocage de logiciels malveillants, d’hameçonnage ou de domaines frauduleux",
|
||||
"filter_category_regional_desc": "Listes axées sur les annonces régionales et les serveurs de pistage",
|
||||
"filter_category_other_desc": "Autres listes noires",
|
||||
"click_to_view_queries": "Cliquez pour voir les requêtes",
|
||||
"port_53_faq_link": "Le port 53 est souvent occupé par les services « DNSStubListener » ou « systemd-resolved ». Veuillez lire <0>cette instruction</0> pour savoir comment résoudre ce problème."
|
||||
}
|
||||
567
client/src/__locales/hr.json
Normal file
567
client/src/__locales/hr.json
Normal file
@@ -0,0 +1,567 @@
|
||||
{
|
||||
"client_settings": "Postavke klijenta",
|
||||
"example_upstream_reserved": "VI možete odrediti DNS upstream-ove <0>za određene domene</0>",
|
||||
"upstream_parallel": "Koristi paralelne upite kako bi ubrzali rješavanje istovremenim ispitavanjem svih upstream poslužitelja",
|
||||
"parallel_requests": "Paralelni zahtjevi",
|
||||
"load_balancing": "Load-balancing",
|
||||
"load_balancing_desc": "Šaljite upite po jednom poslužitelju u isto vrijeme. AdGuard Home će koristiti ponderirani slučajni algoritam za odabir poslužitelja, tako da će se najbrži poslužitelj češće koristiti.",
|
||||
"bootstrap_dns": "Bootstrap DNS poslužitelji",
|
||||
"bootstrap_dns_desc": "Bootstrap DNS poslužitelji koriste se za rezolvanje IP adresa DoH/DoT rezolvera koje navedete kao upstreams.",
|
||||
"check_dhcp_servers": "Provjera DHCP poslužitelja",
|
||||
"save_config": "Spremi konfiguraciju",
|
||||
"enabled_dhcp": "DHCP poslužitelj je omogućen",
|
||||
"disabled_dhcp": "DHCP poslužitelj je onemogućen",
|
||||
"dhcp_title": "DHCP poslužitelj (eksperimentalno!)",
|
||||
"dhcp_description": "Ukoliko vaš router ne pruža DHCP postavke, možete koristiti AdGuardov ugrađeni DHCP poslužitelj.",
|
||||
"dhcp_enable": "Omogući DHCP poslužitelj",
|
||||
"dhcp_disable": "Onemogući DHCP poslužitelj",
|
||||
"dhcp_not_found": "Sigurno je omogućiti ugrađeni DHCP poslužitelj - nismo pronašli aktivne DHCP poslužitelje na mreži. Međutim, preporučujemo vam da ponovo provjerite ručno, jer naš automatski test trenutno ne daje 100% jamstvo.",
|
||||
"dhcp_found": "Aktivni DHCP poslužitelj je pronađen na mreži. Nije sigurno omogućiti ugrađeni DHCP poslužitelj.",
|
||||
"dhcp_leases": "DHCP leases",
|
||||
"dhcp_static_leases": "DHCP static leases",
|
||||
"dhcp_leases_not_found": "Nisu pronađeni DHCP leases",
|
||||
"dhcp_config_saved": "Postavke DHCP poslužitelja su uspješno spremljene",
|
||||
"form_error_required": "Obavezno polje",
|
||||
"form_error_ip4_format": "Nevažeći IPv4 format",
|
||||
"form_error_ip6_format": "Nevažeći IPv6 format",
|
||||
"form_error_ip_format": "Nevažeći format IP adrese",
|
||||
"form_error_mac_format": "Nevažeći MAC format",
|
||||
"form_error_client_id_format": "Nevažeći format ID-a klijenta",
|
||||
"form_error_positive": "Mora biti veće od 0",
|
||||
"form_error_negative": "Mora biti jednako ili veće od 0",
|
||||
"dhcp_form_gateway_input": "Gateway IP",
|
||||
"dhcp_form_subnet_input": "Subnet maskiranje",
|
||||
"dhcp_form_range_title": "Raspon IP adresa",
|
||||
"dhcp_form_range_start": "Početak raspona",
|
||||
"dhcp_form_range_end": "Kraj raspona",
|
||||
"dhcp_form_lease_title": "DHCP lease vrijeme (u sekundama)",
|
||||
"dhcp_form_lease_input": "Lease trajanje",
|
||||
"dhcp_interface_select": "Odaberite DHCP sučelje",
|
||||
"dhcp_hardware_address": "Adresa hardvera",
|
||||
"dhcp_ip_addresses": "IP adrese",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Naziv računala",
|
||||
"dhcp_table_expires": "Istječe",
|
||||
"dhcp_warning": "Ako svejedno želite omogućiti DHCP poslužitelj, provjerite da nema drugog aktivnog DHCP poslužitelja na vašoj mreži. Inače može pokvariti Internet za ostale povezane uređaje!",
|
||||
"dhcp_error": "Nismo mogli utvrditi postoji li drugi DHCP poslužitelj na mreži.",
|
||||
"dhcp_static_ip_error": "Za korištenje DHCP poslužitelja mora se postaviti statička IP adresa. Nismo uspjeli utvrditi je li to mrežno sučelje postavljeno pomoću statičke IP adrese. Ručno postavite statičku IP adresu.",
|
||||
"dhcp_dynamic_ip_found": "Vaš sustav koristi postavke dinamičke IP adrese za sučelje <0>{{interfaceName}}</0>. Za korištenje DHCP poslužitelja mora se postaviti statička IP adresa. Vaša trenutna IP adresa je <0>{{ipAddress}}</0>. Ovu IP adresu ćemo automatski postaviti kao statičku ukoliko pritisnete Omogući DHCP dugme.",
|
||||
"dhcp_lease_added": "Statični lease \"{{key}}\" je uspješno dodan",
|
||||
"dhcp_lease_deleted": "Statični lease \"{{key}}\" je uspješno uklonjen",
|
||||
"dhcp_new_static_lease": "Novi static lease",
|
||||
"dhcp_static_leases_not_found": "Nisu pronađeni statični DHCP leases",
|
||||
"dhcp_add_static_lease": "Dodaj static lease",
|
||||
"dhcp_reset": "Jeste li sigurni da želite poništiti DHCP postavke?",
|
||||
"country": "Država",
|
||||
"city": "Grad",
|
||||
"delete_confirm": "Jeste li sigurni da želite ukloniti \"{{key}}\"?",
|
||||
"form_enter_hostname": "Unesite naziv računala",
|
||||
"error_details": "Detalji o pogrešci",
|
||||
"response_details": "Detalji odgovora",
|
||||
"request_details": "Detalji zahtjeva",
|
||||
"client_details": "Detalji o klijentu",
|
||||
"details": "Detalji",
|
||||
"back": "Natrag",
|
||||
"dashboard": "Upravljačka ploča",
|
||||
"settings": "Postavke",
|
||||
"filters": "Filtri",
|
||||
"filter": "Filtar",
|
||||
"query_log": "Zapisnik upita",
|
||||
"compact": "Kompaktno",
|
||||
"nothing_found": "Nema rezultata",
|
||||
"faq": "ČPP",
|
||||
"version": "Verzija",
|
||||
"address": "Adresa",
|
||||
"protocol": "Protokol",
|
||||
"on": "UKLJUČENO",
|
||||
"off": "ISKLJUČENO",
|
||||
"copyright": "Autorsko pravo",
|
||||
"homepage": "Početna stranica",
|
||||
"report_an_issue": "Prijavite problem",
|
||||
"privacy_policy": "Politika privatnosti",
|
||||
"enable_protection": "Omogući zaštitu",
|
||||
"enabled_protection": "Omogućena zaštita",
|
||||
"disable_protection": "Onemogući zaštitu",
|
||||
"disabled_protection": "Onemogućena zaštita",
|
||||
"refresh_statics": "Osvježi statistiku",
|
||||
"dns_query": "DNS Upiti",
|
||||
"blocked_by": "<0>Blokirano filtrima</0>",
|
||||
"stats_malware_phishing": "Blokiran zločudni program/krađe identiteta",
|
||||
"stats_adult": "Blokirane web stranice za odrasle",
|
||||
"stats_query_domain": "Top tražene domene",
|
||||
"for_last_24_hours": "u zadnja 24 sata",
|
||||
"for_last_days": "zadnjih {{count}} dana",
|
||||
"for_last_days_plural": "zadnjih {{count}} dana",
|
||||
"no_domains_found": "Nije pronađena domena",
|
||||
"requests_count": "Broj zahtjeva",
|
||||
"top_blocked_domains": "Top blokirane domene",
|
||||
"top_clients": "Top klijenti",
|
||||
"no_clients_found": "Nema pronađenih klijenata",
|
||||
"general_statistics": "Opća statistika",
|
||||
"number_of_dns_query_days": "Broj DNS upita obrađenih u posljednja {{count}} dana",
|
||||
"number_of_dns_query_days_plural": "Broj DNS upita obrađenih u posljednja {{count}} dana",
|
||||
"number_of_dns_query_24_hours": "Broj DNS upita obrađenih u posljednja 24 sata",
|
||||
"number_of_dns_query_blocked_24_hours": "Broj DNS zahtjeva koji su blokirani od strane filtara za blokiranje oglasa i lista neželjenih poslužitelja",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Broj DNS zahtjeva koje je blokirao modul AdGuard zaštita pregledavanja",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "Broj blokiranih stranica s sadržajem za odrasle",
|
||||
"enforced_save_search": "Omogućeno sigurno pretraživanje",
|
||||
"number_of_dns_query_to_safe_search": "Broj DNS zahtjeva prema pretraživačima za koje je omogućeno Sigurno pretraživanje",
|
||||
"average_processing_time": "Prosječno vrijeme obrade",
|
||||
"average_processing_time_hint": "Prosječno vrijeme u milisekundama za obradu DNS zahtjeva",
|
||||
"block_domain_use_filters_and_hosts": "Blokiraj domene koristeći filtre ili hosts datoteke",
|
||||
"filters_block_toggle_hint": "Pravila blokiranja možete postaviti u postavkama <a href='#filters'>filtara</a>.",
|
||||
"use_adguard_browsing_sec": "Koristi AdGuard uslugu zaštite pregledavanja",
|
||||
"use_adguard_browsing_sec_hint": "AdGuard Home će provjeriti nalazi li se domena na popisu neželjenih domena od usluge zaštite pregledavanja. Za provjeru će se koristiti API za provjeru koji poštuje vašu privatnost. Samo mali dio SHA256 hash-a odnaziva domene se šalje poslužitelju.",
|
||||
"use_adguard_parental": "Koristi web uslugu AdGuard roditeljske zaštite",
|
||||
"use_adguard_parental_hint": "AdGuard Home provjeriti će sadrži li domena sadržaj za odrasle. Koristi isti API za zaštitu privatnosti kao i naša usluga zaštite pregledavanja.",
|
||||
"enforce_safe_search": "Omogući sigurno pretraživanje",
|
||||
"enforce_save_search_hint": "AdGuard Home može nametnuti sigurno pretraživanje na sljedećim tražilicama: Google, Youtube, Bing, DuckDuckGo i Yandex.",
|
||||
"no_servers_specified": "Nije odabran nijedan poslužitelj",
|
||||
"general_settings": "Opće postavke",
|
||||
"dns_settings": "DNS postavke",
|
||||
"dns_blocklists": "DNS popisi blokiranih",
|
||||
"dns_allowlists": "DNS popisi omogućenih",
|
||||
"dns_blocklists_desc": "AdGuard Home će blokirati domene koje odgovaraju popisu blokiranih.",
|
||||
"dns_allowlists_desc": "Domene iz DNS popisa omogućenih će biti omogućene čak i kada se nalaze na nekoj listi blokiranih.",
|
||||
"custom_filtering_rules": "Prilagođena pravila filtriranja",
|
||||
"encryption_settings": "Postavke šifriranja",
|
||||
"dhcp_settings": "DHCP postavke",
|
||||
"upstream_dns": "Upstream DNS poslužitelji",
|
||||
"upstream_dns_hint": "Ako se ovo polje ostavi prazno, AdGuard Home će koristiti <a href='https://www.quad9.net/' target='_blank'>Quad9</a> kao upstream.",
|
||||
"test_upstream_btn": "Testiraj upstream-ove",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Primijeni",
|
||||
"disabled_filtering_toast": "Onemogućeno filtriranje",
|
||||
"enabled_filtering_toast": "Omogućeno filtriranje",
|
||||
"disabled_safe_browsing_toast": "Onemogućena sigurna pretraga",
|
||||
"enabled_safe_browsing_toast": "Omogućena sigurna pretraga",
|
||||
"disabled_parental_toast": "Onemogućen roditeljski nadzor",
|
||||
"enabled_parental_toast": "Omogućen roditeljski nadzor",
|
||||
"disabled_safe_search_toast": "Onemogućeno sigurno pretraživanje",
|
||||
"enabled_save_search_toast": "Omogućeno sigurno pretraživanje",
|
||||
"enabled_table_header": "Omogućeno",
|
||||
"name_table_header": "Naziv",
|
||||
"list_url_table_header": "URL popisa",
|
||||
"rules_count_table_header": "Broj pravila",
|
||||
"last_time_updated_table_header": "Zadnje ažurirano",
|
||||
"actions_table_header": "Radnje",
|
||||
"request_table_header": "Zahtjev",
|
||||
"edit_table_action": "Uredi",
|
||||
"delete_table_action": "Ukloni",
|
||||
"elapsed": "Proteklo",
|
||||
"filters_and_hosts_hint": "AdGuard Home razumije osnovna pravila blokiranja oglasa i sintaksu hosts datoteka.",
|
||||
"no_blocklist_added": "Nema dodanih popisa blokiranih",
|
||||
"no_whitelist_added": "Nema dodanih popisa omogućenih",
|
||||
"add_blocklist": "Dodaj popis blokiranih",
|
||||
"add_allowlist": "Dodaj popis omogućenih",
|
||||
"cancel_btn": "Poništi",
|
||||
"enter_name_hint": "Unesite naziv",
|
||||
"enter_url_or_path_hint": "Unesite URL ili putanju liste",
|
||||
"check_updates_btn": "Provjeri ažuriranja",
|
||||
"new_blocklist": "Novi popis blokiranih",
|
||||
"new_allowlist": "Novi popis omogućenih",
|
||||
"edit_blocklist": "Uredi popis blokiranih",
|
||||
"edit_allowlist": "Uredi popis omogućenih",
|
||||
"choose_blocklist": "Odaberite popis blokiranih",
|
||||
"choose_allowlist": "Odaberite popis dopuštenih",
|
||||
"enter_valid_blocklist": "Unesite valjani URL za popis blokiranih.",
|
||||
"enter_valid_allowlist": "Unesite valjani URL za popis omogućenih.",
|
||||
"form_error_url_format": "Nevažeći URL format",
|
||||
"form_error_url_or_path_format": "Nevažeći URL ili putanja od liste",
|
||||
"custom_filter_rules": "Prilagođena pravila filtriranja",
|
||||
"custom_filter_rules_hint": "Unesite jedno pravilo po liniji. Možete koristiti sintaksu za pravila blokiranja oglasa ili za hosts datoteke.",
|
||||
"examples_title": "Primjeri",
|
||||
"example_meaning_filter_block": "blokira pristup domeni example.org kao i svim njenim poddomenama",
|
||||
"example_meaning_filter_whitelist": "odblokira pristup domeni example.org kao i svim njenim poddomenama",
|
||||
"example_meaning_host_block": "AdGuard Home će sada vratiti 127.0.0.1 adresu na example.org domenu (ali ne i poddomene).",
|
||||
"example_comment": "! Ovdje ide komentar",
|
||||
"example_comment_meaning": "samo komentar",
|
||||
"example_comment_hash": "# Također komentar",
|
||||
"example_regex_meaning": "blokira pristup domenama koje se podudaraju s regularnim izrazom",
|
||||
"example_upstream_regular": "zadani DNS (putem UDP)",
|
||||
"example_upstream_dot": "šifrirano <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "šifrirano <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "možete koristiti <0>DNS Stamps</0> za <1>DNSCrypt</1> ili <2>DNS-over-HTTPS</2> rezolvere",
|
||||
"example_upstream_tcp": "zadani DNS (putem TCP)",
|
||||
"all_lists_up_to_date_toast": "Svi popisi su ažurirani",
|
||||
"updated_upstream_dns_toast": "Ažurirani su upstream DNS poslužitelji",
|
||||
"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",
|
||||
"unblock": "Odblokiraj",
|
||||
"block": "Blokiraj",
|
||||
"time_table_header": "Vrijeme",
|
||||
"date": "Datum",
|
||||
"domain_name_table_header": "Naziv domene",
|
||||
"domain_or_client": "Domena ili klijent",
|
||||
"type_table_header": "Vrsta",
|
||||
"response_table_header": "Odgovor",
|
||||
"response_code": "Responzivni kod",
|
||||
"client_table_header": "Klijent",
|
||||
"empty_response_status": "Prazno",
|
||||
"show_all_filter_type": "Prikaži sve",
|
||||
"show_filtered_type": "Prikaži filtrirano",
|
||||
"no_logs_found": "Nema zapisa",
|
||||
"refresh_btn": "Osvježi",
|
||||
"previous_btn": "Prethodno",
|
||||
"next_btn": "Sljedeće",
|
||||
"loading_table_status": "Učitavanje...",
|
||||
"page_table_footer_text": "Stranica",
|
||||
"rows_table_footer_text": "redova",
|
||||
"updated_custom_filtering_toast": "Ažurirana su prilagođena pravila filtriranja",
|
||||
"rule_removed_from_custom_filtering_toast": "Pravilo je uklonjeno iz prilagođenih pravila filtriranja",
|
||||
"rule_added_to_custom_filtering_toast": "Pravilo je dodano u prilagođena pravila filtriranja",
|
||||
"query_log_response_status": "Status: {{value}}",
|
||||
"query_log_filtered": "Filtrirao {{filter}}",
|
||||
"query_log_confirm_clear": "Jeste li sigurni da želite ukloniti zapise upita?",
|
||||
"query_log_cleared": "Zapisnik upita je uspješno uklonjen",
|
||||
"query_log_updated": "Zapisnik upita je uspješno ažuriran",
|
||||
"query_log_clear": "Očisti zapisnik upita",
|
||||
"query_log_retention": "Spremanje zapisnika upita",
|
||||
"query_log_enable": "Omogući zapise",
|
||||
"query_log_configuration": "Postavke zapisa",
|
||||
"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_retention_confirm": "Jeste li sigurni da želite promijeniti zadržavanje zapisnika upita? Ako smanjite vrijednost intervala, neki će podaci biti izgubljeni",
|
||||
"anonymize_client_ip": "Anonimiraj IP klijenta",
|
||||
"anonymize_client_ip_desc": "Ne spremajte cijelu IP adresu klijenta u zapisnike i statistike",
|
||||
"dns_config": "DNS postavke poslužitelja",
|
||||
"dns_cache_config": "DNS predmemorija poslužitelja",
|
||||
"dns_cache_config_desc": "Ovdje možete postaviti DNS predmemoriju",
|
||||
"blocking_mode": "Način blokiranja",
|
||||
"default": "Zadano",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Null IP",
|
||||
"custom_ip": "Prilagođen IP",
|
||||
"blocking_ipv4": "Blokiranje IPv4",
|
||||
"blocking_ipv6": "Blokiranje IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "Obični DNS",
|
||||
"form_enter_rate_limit": "Unesite ograničenje",
|
||||
"rate_limit": "Ograničenje",
|
||||
"edns_enable": "Omogući EDNS Client Subnet",
|
||||
"edns_cs_desc": "Ako je omogućeno, AdGuard Home će slati podmreže klijenata na DNS poslužitelje.",
|
||||
"rate_limit_desc": "Broj zahtjeva u sekundi koji su dopušteni po jednom klijentu (0: neograničeno)",
|
||||
"blocking_ipv4_desc": "Povratna IP adresa za blokirane A zahtjeve",
|
||||
"blocking_ipv6_desc": "Povratna IP adresa za blokirane AAAA zahtjeve",
|
||||
"blocking_mode_default": "Zadano: Odgovor s NXDOMAIN kada je blokirano od Adblock sličnog pravila; odgovor s IP adresom definiranom u pravilu kada je blokirano od /etc/hosts sličnog pravila",
|
||||
"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_custom_ip": "Prilagođeni IP: Odgovor s ručno postavljenom IP adresom",
|
||||
"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",
|
||||
"source_label": "Izvor",
|
||||
"found_in_known_domain_db": "Pronađeno u bazi poznatih domena.",
|
||||
"category_label": "Kategorija",
|
||||
"rule_label": "Pravilo",
|
||||
"list_label": "Popis",
|
||||
"unknown_filter": "Nepoznati filtar {{filterId}}",
|
||||
"known_tracker": "Poznati pratitelj",
|
||||
"install_welcome_title": "Dobrodošli u AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home je DNS poslužitelj za blokiranje oglasa i pratitelja na cijeloj mreži. Njegova je svrha omogućiti vam upravljanje cijelom mrežom i svim svojim uređajima, a da to ne zahtijeva korištenje programa na strani klijenta.",
|
||||
"install_settings_title": "Administratorsko web sučelje",
|
||||
"install_settings_listen": "Osluškuj sučelje",
|
||||
"install_settings_port": "Port",
|
||||
"install_settings_interface_link": "Web administratorsko sučelje AdGuard Home-a će biti dostupno na sljedećim adresama:",
|
||||
"form_error_port": "Unesite važeću vrijednost za port",
|
||||
"install_settings_dns": "DNS poslužitelj",
|
||||
"install_settings_dns_desc": "Potrebno je postaviti uređaj ili router da koristi DNS poslužitelj na sljedećim adresama:",
|
||||
"install_settings_all_interfaces": "Sva sučelja",
|
||||
"install_auth_title": "Autentikacija",
|
||||
"install_auth_desc": "Izrazito se preporučuje postavljanje autentikacije za web administratorsko sučelje AdGuard Home. Iako je dostupna samo u vašoj lokalnoj mreži, važno je zaštititi je od ne dozvoljenog pristupa.",
|
||||
"install_auth_username": "Korisničko ime",
|
||||
"install_auth_password": "Lozinka",
|
||||
"install_auth_confirm": "Potvrdi lozinku",
|
||||
"install_auth_username_enter": "Unesite korisničko ime",
|
||||
"install_auth_password_enter": "Unesite lozinku",
|
||||
"install_step": "Korak",
|
||||
"install_devices_title": "Postavite vaše uređaje",
|
||||
"install_devices_desc": "Da biste započeli koristiti AdGuard Home, morate postaviti uređaje da ga koriste.",
|
||||
"install_submit_title": "Čestitamo!",
|
||||
"install_submit_desc": "Postavljanje je dovršeno i spremni ste koristiti AdGuard Home.",
|
||||
"install_devices_router": "Usmjerivač (Router)",
|
||||
"install_devices_router_desc": "Ovo postavljanje će automatski pokriti sve uređaje povezane na vaš kućni router i nećete trebati ručno postavljati svaki od njih.",
|
||||
"install_devices_address": "AdGuard Home DNS poslužitelj osluškuje sljedeće adrese",
|
||||
"install_devices_router_list_1": "Otvorite postavke za router. Obično mu možete pristupiti iz preglednika putem URL-a (kao što je http://192.168.0.1/ ili http://192.168.1.1/). Od vas će se možda tražiti da unesete lozinku. Ako je se ne sjećate, lozinku možete često poništiti pritiskom na dumge na samom routeru. Neki routeri trebaju određenu aplikaciju, koja bi u tom slučaju trebala biti već instalirana na vašem računalu/telefonu.",
|
||||
"install_devices_router_list_2": "Pronađite DHCP/DNS postavke. Potražite DNS slova pored polja koje dopušta dva ili tri skupa brojeva, svaki razdvojen u četiri skupine od jedne do tri znamenke.",
|
||||
"install_devices_router_list_3": "Unesite adresu AdGuard Home poslužitelja ovdje.",
|
||||
"install_devices_router_list_4": "Ne možete postaviti prilagođeni DNS poslužitelj na nekim vrstama routera. U ovom slučaju, može vam pomoći ako postavite AdGuard Home kao <0>DHCP poslužitelj</0>. U suprotnom, trebali biste potražiti priručnik o tome kako prilagoditi DNS poslužitelje za vaš određeni model routera.",
|
||||
"install_devices_windows_list_1": "Otvorite Upravljačku ploču putem Start izbornika ili Windows pretrage.",
|
||||
"install_devices_windows_list_2": "Idite na kategoriju Mreža i Internet i odaberite Centar za mreže i zajedničko korištenje.",
|
||||
"install_devices_windows_list_3": "Na lijevoj strani zaslona pronađite Promjeni postavke adaptera i pritisnite na to.",
|
||||
"install_devices_windows_list_4": "Odaberite aktivnu vezu, pritisnite desni klik na nju i odaberite Svojstva.",
|
||||
"install_devices_windows_list_5": "Pronađite Internet Protocol Version 4 (TCP/IP) na listi, odaberite ga i zatim pritisnite opet Postavke.",
|
||||
"install_devices_windows_list_6": "Odaberite Koristi sljedeće DNS adrese poslužitelja i unesite vaše adrese od AdGuard Home poslužitelja.",
|
||||
"install_devices_macos_list_1": "Pritisnite na Apple ikonu i idite u Postavke sustava.",
|
||||
"install_devices_macos_list_2": "Pritisnite na Mreža.",
|
||||
"install_devices_macos_list_3": "Odaberite prvu vezu s vašeg popisa i pritisnite Napredno.",
|
||||
"install_devices_macos_list_4": "Odaberite DNS karticu i unesite adrese svog AdGuard Home poslužitelja.",
|
||||
"install_devices_android_list_1": "Na početnom zaslonu Androida, odaberite Postavke.",
|
||||
"install_devices_android_list_2": "Pritisnite Wi-Fi u izborniku. Prikazat će se zaslon s popisom svih dostupnih mreža (nemoguće je postaviti prilagođeni DNS za mobilnu vezu).",
|
||||
"install_devices_android_list_3": "Dugo pritisnite na mrežu na koju ste povezani i odaberite Uredi mrežu.",
|
||||
"install_devices_android_list_4": "Na nekim će uređajima možda trebati označiti Napredno za prikaz dodatnih postavki. Da biste prilagodili postavke Android DNS-a, morati će te prebaciti IP postavke s DHCP-a na Statičke.",
|
||||
"install_devices_android_list_5": "Promijenite DNS 1 i DNS 2 vrijednosti u one adrese AdGuard Home poslužitelja.",
|
||||
"install_devices_ios_list_1": "Na početnom zaslonu odaberite Postavke.",
|
||||
"install_devices_ios_list_2": "Odaberite Wi-Fi u lijevom izborniku (ne moguće je postaviti DNS za mobilne mreže).",
|
||||
"install_devices_ios_list_3": "Pritisnite na naziv vaše trenutne mreže.",
|
||||
"install_devices_ios_list_4": "U DNS polje unesite adrese svog AdGuard Home poslužitelja.",
|
||||
"get_started": "Započni",
|
||||
"next": "Sljedeće",
|
||||
"open_dashboard": "Otvori upravljačku ploču",
|
||||
"install_saved": "Uspješno spremljeno",
|
||||
"encryption_title": "Šifriranje",
|
||||
"encryption_desc": "Podrška šifriranja (HTTPS/TLS) za DNS i administratorsko web sučelje",
|
||||
"encryption_config_saved": "Spremljene postavke šifriranja",
|
||||
"encryption_server": "Naziv poslužitelja",
|
||||
"encryption_server_enter": "Unesite naziv domene",
|
||||
"encryption_server_desc": "Kako biste koristili HTTPS, morate unijeti naziv poslužitelja koji odgovara vašem SSL certifikatu.",
|
||||
"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_https": "HTTPS port",
|
||||
"encryption_https_desc": "Ako je HTTPS port postavljen, AdGuard Home administracijsko sučelje biti će dostupno putem HTTPS-a, a također će pružiti DNS-over-HTTPS na '/dns-query' lokaciji.",
|
||||
"encryption_dot": "DNS-over-TLS port",
|
||||
"encryption_dot_desc": "Ako je ovaj port postavljen, AdGuard Home će pokrenuti DNS-over-TLS poslužitelj na ovom portu.",
|
||||
"encryption_certificates": "Certifikati",
|
||||
"encryption_certificates_desc": "Da biste koristili šifriranje, za svoju domenu morate osigurati važeći lanac SSL certifikata. Besplatan certifikat možete dobiti na <0>{{link}}</0> ili ga možete kupiti od jednog od pouzdanih izdavatelja certifikata.",
|
||||
"encryption_certificates_input": "Zalijepite svoje PEM-kodirane certifikate ovdje.",
|
||||
"encryption_status": "Status",
|
||||
"encryption_expire": "Istječe",
|
||||
"encryption_key": "Privatni ključ",
|
||||
"encryption_key_input": "Zalijepite svoj PEM-kodiran privatni ključ certifikata ovdje.",
|
||||
"encryption_enable": "Omogući šifriranje (HTTPS, DNS-over-HTTPS i DNS-over-TLS)",
|
||||
"encryption_enable_desc": "Ako je šifriranje omogućeno, administratorsko sučelje AdGuard Home će raditi preko HTTPS-a, a DNS poslužitelj će osluškivati zahtjeve preko DNS-over-HTTPS i DNS-over-TLS.",
|
||||
"encryption_chain_valid": "Lanac certifikata je valjan",
|
||||
"encryption_chain_invalid": "Lanac certifikata nije valjan",
|
||||
"encryption_key_valid": "Ovo je valjani {{type}} privatni ključ",
|
||||
"encryption_key_invalid": "Ovo je nevažeći {{type}} privatni ključ",
|
||||
"encryption_subject": "Predmet",
|
||||
"encryption_issuer": "Izdavač",
|
||||
"encryption_hostnames": "Nazivi računala",
|
||||
"encryption_reset": "Jeste li sigurni da želite poništiti postavke šifriranja?",
|
||||
"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>.",
|
||||
"form_error_port_range": "Unesite vrijednost porta od 80 do 65536",
|
||||
"form_error_port_unsafe": "Ovo je nesigurna port",
|
||||
"form_error_equal": "Ne bi trebalo biti jednako",
|
||||
"form_error_password": "Lozinka se ne podudara",
|
||||
"reset_settings": "Poništi postavke",
|
||||
"update_announcement": "AdGuard Home {{version}} je dostupan! <0>Pritisnite ovdje</0> za više informacija.",
|
||||
"setup_guide": "Vodič za postavljanje",
|
||||
"dns_addresses": "DNS adrese",
|
||||
"dns_start": "Pokreće se DNS poslužitelj",
|
||||
"dns_status_error": "Pogreška pri dohvatu statusa DNS poslužitelja",
|
||||
"down": "Ne radi",
|
||||
"fix": "Popravi",
|
||||
"dns_providers": "Ovo je <0>popis poznatih DNS poslužitelja</0> za izbor.",
|
||||
"update_now": "Ažuriraj sada",
|
||||
"update_failed": "Ne uspješno automatsko ažuriranje. Molimo, <a href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>pratite ove korake</a> za ručno ažuriranje.",
|
||||
"processing_update": "Molimo pričekajte, AdGuard Home se ažurira",
|
||||
"clients_title": "Klijenti",
|
||||
"clients_desc": "Postavite uređaje povezane na AdGuard Home",
|
||||
"settings_global": "Globalno",
|
||||
"settings_custom": "Prilagođeno",
|
||||
"table_client": "Klijent",
|
||||
"table_name": "Naziv",
|
||||
"save_btn": "Spremi",
|
||||
"client_add": "Dodaj klijenta",
|
||||
"client_new": "Novi klijent",
|
||||
"client_edit": "Uredi klijenta",
|
||||
"client_identifier": "Identifikator",
|
||||
"ip_address": "IP adresa",
|
||||
"client_identifier_desc": "Klijenti se mogu prepoznati po IP adresi, CIDR-u ili MAC adresi. Imajte na umu da je upotreba MAC-a kao identifikatora, moguća samo ako je AdGuard Home također i <0>DHCP poslužitelj</0>",
|
||||
"form_enter_ip": "Unesite IP adresu",
|
||||
"form_enter_mac": "Unesite MAC adresu",
|
||||
"form_enter_id": "Unesi identifikator",
|
||||
"form_add_id": "Dodaj identifikator",
|
||||
"form_client_name": "Unesite naziv klijenta",
|
||||
"name": "Naziv",
|
||||
"client_global_settings": "Koristi globalne postavke",
|
||||
"client_deleted": "Klijent \"{{key}}\" je uspješno uklonjen",
|
||||
"client_added": "Klijent \"{{key}}\" je uspješno dodan",
|
||||
"client_updated": "Klijent \"{{key}}\" je uspješno ažuriran",
|
||||
"clients_not_found": "Nema pronađenih klijenata",
|
||||
"client_confirm_delete": "Jeste li sigurni da želite ukloniti \"{{key}}\" klijenta?",
|
||||
"list_confirm_delete": "Jeste li sigurni da želite ukloniti ovaj popis?",
|
||||
"auto_clients_title": "Klijenti (runtime)",
|
||||
"auto_clients_desc": "Podaci na klijentu koji koriste AdGuard Home, ali se ne spremaju u postavke",
|
||||
"access_title": "Postavke pristupa",
|
||||
"access_desc": "Postavite pravila pristupa za AdGuard Home DNS poslužitelj.",
|
||||
"access_allowed_title": "Dopušteni klijenti",
|
||||
"access_allowed_desc": "Popis CIDR-a ili IP adresa. Ukoliko je postavljeno, AdGuard Home će prihvatiti samo zahtjeve s ovih IP adresa.",
|
||||
"access_disallowed_title": "Nedopušteni klijenti",
|
||||
"access_disallowed_desc": "Popis CIDR-a ili IP adresa. Ukoliko je postavljeno, AdGuard Home će zaustaviti zahtjeve s ovih IP adresa.",
|
||||
"access_blocked_title": "Nedopuštene domene",
|
||||
"access_blocked_desc": "Ne miješajte ovo s filtrima. AdGuard Home će zaustaviti DNS upite s tim ovim domenama u podnesenim upitima. Ovdje možete definirati točne nazive domena, zamjenske znakove ili pravila URL filtriranja, npr. 'example.org', '*.example.org' or '||example.org^'.",
|
||||
"access_settings_saved": "Postavke pristupa su uspješno spremljene",
|
||||
"updates_checked": "Uspješna provjera ažuriranja",
|
||||
"updates_version_equal": "AdGuard Home je ažuriran",
|
||||
"check_updates_now": "Provjeri ažuriranja sada",
|
||||
"dns_privacy": "DNS privatnost",
|
||||
"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_3": "<0>Imajte na umu da su šifrirani DNS protokoli podržani samo na Androidu 9. Stoga morate instalirati dodatni program za ostale operativne sustave.</0><0>Evo popisa programa koje možete koristiti.</0>",
|
||||
"setup_dns_privacy_android_1": "Android 9 nativno podržava DNS-over-TLS. Da biste ga postavili, idite na Postavke → Mreža i internet → Napredno → Privatni DNS i tamo unesite svoje naziv domene.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard za Android</0> podržava <1>DNS-over-HTTPS</1> i <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "<0>Intra</0> dodaje <1>DNS-over-HTTPS</1> podršku za Android.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> podržava <1>DNS-over-HTTPS</1>, ali da biste ga postavili za upotrebu vašeg vlastitog poslužitelja, trebati će te generirati <2>DNS Stamp</2> za njega.",
|
||||
"setup_dns_privacy_ios_2": "<0>AdGuard za iOS</0> podržava <1>DNS-over-HTTPS</1> i <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_other_title": "Ostale implementacije",
|
||||
"setup_dns_privacy_other_1": "AdGuard Home može poslužiti kao sigurni DNS klijent na svim platformama.",
|
||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0> podržava sve poznate sigurne DNS protokole.",
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> podržava <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> podržava <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_5": "Možete pronaći više implementacija <0>ovdje</0> i <1>ovdje</1>.",
|
||||
"setup_dns_notice": "Da biste koristili <1>DNS-over-HTTPS</1> ili <1>DNS-over-TLS</1>, morate <0>postaviti šifriranje</0> u AdGuard Home postavkama.",
|
||||
"rewrite_added": "DNS prijepis za \"{{key}}\" je uspješno dodan",
|
||||
"rewrite_deleted": "DNS prijepis za \"{{key}}\" je uspješno uklonjen",
|
||||
"rewrite_add": "Dodaj DNS prijepis",
|
||||
"rewrite_not_found": "Nema DNS prijepisa",
|
||||
"rewrite_confirm_delete": "Jeste li sigurni da želite ukloniti DNS prijepis za \"{{key}}\" klijenta?",
|
||||
"rewrite_desc": "Omogućuje jednostavno postavljanje prilagođenog DNS odgovora za određenu domenu.",
|
||||
"rewrite_applied": "Pravilo prijepisa je primjenjeno",
|
||||
"rewrite_hosts_applied": "Prepisano od strane pravila hosts datoteke",
|
||||
"dns_rewrites": "DNS prijepisi",
|
||||
"form_domain": "Unesite naziv domene ili zamjenski znak",
|
||||
"form_answer": "Unesite IP adresu ili naziv domene",
|
||||
"form_error_domain_format": "Nevažeći format domene",
|
||||
"form_error_answer_format": "Nevažeći format odgovora",
|
||||
"configure": "Konfiguriraj",
|
||||
"main_settings": "Opće postavke",
|
||||
"block_services": "Blokiraj specifične usluge",
|
||||
"blocked_services": "Blokirane usluge",
|
||||
"blocked_services_desc": "Omogućuje brzo blokiranje popularnih stranica i usluga.",
|
||||
"blocked_services_saved": "Blokirane usluge su uspješno spremljene",
|
||||
"blocked_services_global": "Koristi globalno blokirane usluge",
|
||||
"blocked_service": "Blokirane usluge",
|
||||
"block_all": "Blokiraj sve",
|
||||
"unblock_all": "Odblokiraj sve",
|
||||
"encryption_certificate_path": "Putanja certifikata",
|
||||
"encryption_private_key_path": "Putanja privatnog ključa",
|
||||
"encryption_certificates_source_path": "Dodajte datoteku certifikata",
|
||||
"encryption_certificates_source_content": "Zalijepi sadržaj certifikata",
|
||||
"encryption_key_source_path": "Dodajte datoteku privatnog ključa",
|
||||
"encryption_key_source_content": "Zalijepi sadržaj privatnog ključa",
|
||||
"stats_params": "Postavke statistike",
|
||||
"config_successfully_saved": "Postavke su uspješno spremljene",
|
||||
"interval_24_hour": "24 sata",
|
||||
"interval_days": "{{count}} dan",
|
||||
"interval_days_plural": "{{count}} dana",
|
||||
"domain": "Domena",
|
||||
"answer": "Odgovor",
|
||||
"filter_added_successfully": "Popis je uspješno dodan",
|
||||
"filter_removed_successfully": "Ovaj popis je uspješno uklonjen",
|
||||
"filter_updated": "Ovaj popis je uspješno ažuriran",
|
||||
"statistics_configuration": "Postavke statistike",
|
||||
"statistics_retention": "Spremanje statistike",
|
||||
"statistics_retention_desc": "Ako smanjite vrijednost intervala, neki će podaci biti izgubljeni",
|
||||
"statistics_clear": " Poništi statistiku",
|
||||
"statistics_clear_confirm": "Jeste li sigurni da želite poništiti statistiku?",
|
||||
"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",
|
||||
"interval_hours": "{{count}} sata/i",
|
||||
"interval_hours_plural": "{{count}} sata/i",
|
||||
"filters_configuration": "Postavke filtara",
|
||||
"filters_enable": "Omogući filtre",
|
||||
"filters_interval": "Interval ažuriranja filtara",
|
||||
"disabled": "Onemogućeno",
|
||||
"username_label": "Korisničko ime",
|
||||
"username_placeholder": "Unesite korisničko ime",
|
||||
"password_label": "Lozinka",
|
||||
"password_placeholder": "Unesite lozinku",
|
||||
"sign_in": "Prijava",
|
||||
"sign_out": "Odjava",
|
||||
"forgot_password": "Zaboravljena lozinka?",
|
||||
"forgot_password_desc": "Slijedite <0>ove korake</0> da biste stvorili novu lozinku za svoj korisnički račun.",
|
||||
"location": "Lokacija",
|
||||
"orgname": "Naziv organizacije",
|
||||
"netname": "Naziv mreže",
|
||||
"network": "Mreža",
|
||||
"descr": "Opis",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Saznajte više</0> o stvaranju vlastitog popisa poslužitelja.",
|
||||
"blocked_by_response": "Blokirano od strane CNAME-a ili IP-a u odgovoru",
|
||||
"blocked_by_cname_or_ip": "Blokirao CNAME ili IP",
|
||||
"try_again": "Pokušajte ponovno",
|
||||
"domain_desc": "Unesite naziv domene ili zamjenski znak koji želite prepisati.",
|
||||
"example_rewrite_domain": "prepiši odgovore samo za ovaj naziv domene.",
|
||||
"example_rewrite_wildcard": "prepiši odgovore za sve <0>example.org</0> poddomene.",
|
||||
"rewrite_ip_address": "IP adresa: koristite ovu IP adresu u A ili AAAA odgovoru",
|
||||
"rewrite_domain_name": "Naziv domene: Dodajte CNAME zapis",
|
||||
"rewrite_A": "<0>A</0>: posebna vrijednost, ukloni <0>A</0> zapis od upstreama",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: posebna vrijednost, ukloni <0>AAAA</0> zapis od upstreama",
|
||||
"disable_ipv6": "Onemogući IPv6",
|
||||
"disable_ipv6_desc": "Ukoliko je ova značajka omogućena, svi DNS upiti za IPv6 adrese (AAAA tip) će biti odbačeni.",
|
||||
"fastest_addr": "Najbrža IP adresa",
|
||||
"fastest_addr_desc": "Ispitajte sve DNS poslužitelje i vratite najbržu IP adresu među svim odgovorima. Ovo će usporiti DNS upite jer moramo čekati odgovore sa svih DNS poslužitelja, ali će poboljšati cjelokupnu povezanost.",
|
||||
"autofix_warning_text": "Ako pritisnete \"Popravi\", AdGuard Home će postaviti vaš sustav da koristi AdGuardHome DNS poslužitelj.",
|
||||
"autofix_warning_list": "Izvodi sljedeće radnje: <0>Deaktiviraj DNSStubListener sustav</0> <0>Postavi adresu DNS poslužitelja na 127.0.0.1</0> <0>Zamijeni simbolički cilj veze iz /etc/resolv.conf u /run/systemd/resolve/resolv.conf</0> <0>Zaustavi DNSStubListener (ponovno pokreni systemd-resolved uslugu)</0>",
|
||||
"autofix_warning_result": "Kao rezultat toga, sve DNS zahtjeve iz vašeg sustava će AdGuard Home obraditi prema zadanim postavkama.",
|
||||
"tags_title": "Oznake",
|
||||
"tags_desc": "Možete odabrati oznake koje odgovaraju klijentu. Oznake se mogu uključiti u pravila filtriranja i omogućuju vam da ih točnije primijenite. <0>Saznajte više</0>",
|
||||
"form_select_tags": "Odaberite oznake klijenta",
|
||||
"check_title": "Provjerite filtriranje",
|
||||
"check_desc": "Provjerite je li naziv računala filtriran",
|
||||
"check": "Provjeri",
|
||||
"form_enter_host": "Unesite naziv računala",
|
||||
"filtered_custom_rules": "Filtrirano prilagođenim pravilima filtriranja",
|
||||
"choose_from_list": "Odaberite s popisa",
|
||||
"add_custom_list": "Dodajte prilagođeni popis",
|
||||
"host_whitelisted": "Računalo je na popisu dopuštenih",
|
||||
"check_ip": "IP adrese: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Razlog: {{reason}}",
|
||||
"check_rule": "Pravilo: {{rule}}",
|
||||
"check_service": "Naziv usluge: {{service}}",
|
||||
"check_not_found": "Nije pronađeno na vašoj listi filtara",
|
||||
"client_confirm_block": "Jeste li sigurni da želite blokirati \"{{ip}}\" klijenta?",
|
||||
"client_confirm_unblock": "Jeste li sigurni da želite odblokirati \"{{ip}}\" klijenta?",
|
||||
"client_blocked": "Klijent \"{{ip}}\" je uspješno blokiran",
|
||||
"client_unblocked": "Klijent \"{{ip}}\" je uspješno odblokiran",
|
||||
"static_ip": "Statička IP adresa",
|
||||
"static_ip_desc": "AdGuard Home je poslužitelj pa mu za pravilno funkcioniranje treba statička IP adresa. Inače, u određenom trenutku vaš router može ovom uređaju dodijeliti drugu IP adresu.",
|
||||
"set_static_ip": "Postavite statičku IP adresu",
|
||||
"install_static_ok": "Dobre vijesti! Statička IP adresa već je postavljena",
|
||||
"install_static_error": "AdGuard Home ne može je automatski postaviti za ovo mrežno sučelje. Molimo potražite upute kako to učiniti ručno.",
|
||||
"install_static_configure": "Otkrili smo da se koristi dinamička IP adresa - <0>{{ip}}</0>. Želite li je koristiti kao svoju statičku adresu?",
|
||||
"confirm_static_ip": "AdGuard Home će postaviti {{ip}} kao vašu statičku IP adresu. Želiš li nastaviti?",
|
||||
"list_updated": "{{count}} popis ažuriran",
|
||||
"list_updated_plural": "{{count}} popisa ažurirana",
|
||||
"dnssec_enable": "Omogući DNSSEC",
|
||||
"dnssec_enable_desc": "Omogućite DNSSEC u izlaznim DNS upitima i provjerite rezultat (potreban je resolver s omogućenim DNSSEC-om)",
|
||||
"validated_with_dnssec": "Potvrđeno s DNSSEC-om",
|
||||
"all_queries": "Svi upiti",
|
||||
"show_blocked_responses": "Blokirano",
|
||||
"show_whitelisted_responses": "Na popisu dopuštenih",
|
||||
"show_processed_responses": "Obrađeno",
|
||||
"blocked_safebrowsing": "Blokirano s Sigurnom pretragom",
|
||||
"blocked_adult_websites": "Blokirane web stranice za odrasle",
|
||||
"blocked_threats": "Blokirane prijetnje",
|
||||
"allowed": "Dopušteno",
|
||||
"filtered": "Filtrirano",
|
||||
"rewritten": "Prepisano",
|
||||
"safe_search": "Sigurno pretraživanje",
|
||||
"blocklist": "Popis neželjenih",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Veličina predmemorije",
|
||||
"cache_size_desc": "Veličina DNS predmemorije (u bajtovima)",
|
||||
"cache_ttl_min_override": "Nadjačaj minimalni TTL",
|
||||
"cache_ttl_max_override": "Nadjačaj maksimalni TTL",
|
||||
"enter_cache_size": "Unesite veličinu predmemorije",
|
||||
"enter_cache_ttl_min_override": "Unesite minimalni TTL",
|
||||
"enter_cache_ttl_max_override": "Unesite maksimalni TTL",
|
||||
"cache_ttl_min_override_desc": "Nadjačaj TTL vrijednost (minimum) dobivenu od upstream poslužitelja. Ova vrijednost ne može biti veća od 3600 (1 sat)",
|
||||
"cache_ttl_max_override_desc": "Nadjačaj TTL vrijednost (maksimum) dobivenu od upstream poslužitelja",
|
||||
"min_exceeds_max_value": "Minimalna vrijednost je veća od maksimalne",
|
||||
"value_not_larger_than": "Vrijednost ne može biti veća od {{maximum}}",
|
||||
"filter_category_general": "Općenito",
|
||||
"filter_category_security": "Sigurnost",
|
||||
"filter_category_regional": "Regionalno",
|
||||
"filter_category_other": "Ostalo",
|
||||
"filter_category_general_desc": "Popisi koji blokiraju pratitelje i oglase na većini uređaja",
|
||||
"filter_category_security_desc": "Popisi koju su specijalizirani za blokiranje zlonamjernih programa, krađe identiteta ili domena za obmanu",
|
||||
"filter_category_regional_desc": "Popisi koji se fokusiraju na regionalne oglase i poslužitelje za praćenje",
|
||||
"filter_category_other_desc": "Ostali popisi blokiranih",
|
||||
"original_response": "Originalni odgovor",
|
||||
"click_to_view_queries": "Kliknite za pregled upita",
|
||||
"port_53_faq_link": "Port 53 često zauzimaju usluge \"DNSStubListener\" ili \"systemd-resolved\". Molimo pročitajte <0>ove upute</0> o tome kako to riješiti."
|
||||
}
|
||||
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"client_settings": "Pengaturan klien",
|
||||
"example_upstream_reserved": "Anda dapat menentukan DNS upstream <0>untuk domain spesifik</0>",
|
||||
"example_upstream_reserved": "Anda dapat menetapkan DNS upstream <0>untuk domain spesifik</0>",
|
||||
"upstream_parallel": "Gunakan kueri paralel untuk mempercepat resoluasi dengan menanyakan semua server upstream secara bersamaan",
|
||||
"parallel_requests": "Permintaan paralel",
|
||||
"bootstrap_dns": "Server DNS bootstrap",
|
||||
"bootstrap_dns_desc": "Server Bootstrap DNS dapat digunakan untuk meresolve alamat IP pada DoH/DoT resolvers yang Anda tentukan sebagai upstreams.",
|
||||
"check_dhcp_servers": "Cek untuk server DHCP",
|
||||
@@ -19,9 +20,13 @@
|
||||
"dhcp_leases_not_found": "DHCP lease tidak ditemukan",
|
||||
"dhcp_config_saved": "Pengaturan server DHCP tersimpan",
|
||||
"form_error_required": "Kolom yang harus diisi",
|
||||
"form_error_ip4_format": "Format IPv4 tidak valid",
|
||||
"form_error_ip6_format": "Format IPv6 tidak valid",
|
||||
"form_error_ip_format": "Format IPv4 tidak valid",
|
||||
"form_error_mac_format": "Format MAC tidak valid",
|
||||
"form_error_client_id_format": "Format client ID tidak valid",
|
||||
"form_error_positive": "Harus lebih dari 0",
|
||||
"form_error_negative": "Harus berjumlah 0 atau lebih besar dari 0",
|
||||
"dhcp_form_gateway_input": "IP gateway",
|
||||
"dhcp_form_subnet_input": "Subnet mask",
|
||||
"dhcp_form_range_title": "Rentang alamat IP",
|
||||
@@ -32,6 +37,7 @@
|
||||
"dhcp_interface_select": "Pilih antarmuka DHCP",
|
||||
"dhcp_hardware_address": "Alamat perangkat keras",
|
||||
"dhcp_ip_addresses": "Alamat IP",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Nama host",
|
||||
"dhcp_table_expires": "Kadaluwarsa",
|
||||
"dhcp_warning": "Jika anda ingin mengaktifkan server DHCP bawaan, pastikan tidak ada server DHCP lain yang aktif. Jika tidak, akan memutus koneksi internet pada perangkat yang telah terhubung!",
|
||||
@@ -43,17 +49,24 @@
|
||||
"dhcp_new_static_lease": "Static lease baru",
|
||||
"dhcp_static_leases_not_found": "DHCP static lease tidak ditemukan",
|
||||
"dhcp_add_static_lease": "Tambah static lease",
|
||||
"dhcp_reset": "Apakah anda yakin ingin mengatur ulang konfigurasi DHCP anda?",
|
||||
"country": "Negara",
|
||||
"delete_confirm": "Apakah anda yakin ingin menghapus \"{{key}}\"?",
|
||||
"form_enter_hostname": "Masukkan hostname",
|
||||
"error_details": "Detail kesalahan",
|
||||
"request_details": "Detai permintaan",
|
||||
"client_details": "Detail klien",
|
||||
"details": "Detail",
|
||||
"back": "Kembali",
|
||||
"dashboard": "Beranda",
|
||||
"settings": "Pengaturan",
|
||||
"filters": "Penyaring",
|
||||
"filter": "Filter",
|
||||
"query_log": "Catatan Kueri",
|
||||
"faq": "Tanya Jawab",
|
||||
"version": "versi",
|
||||
"address": "alamat",
|
||||
"address": "Alamat",
|
||||
"protocol": "Protokol",
|
||||
"on": "HIDUP",
|
||||
"off": "MATI",
|
||||
"copyright": "Hak cipta",
|
||||
@@ -66,12 +79,12 @@
|
||||
"disabled_protection": "Perlindungan dimatikan",
|
||||
"refresh_statics": "Segarkan statistik",
|
||||
"dns_query": "Kueri DNS",
|
||||
"blocked_by": "Diblokir oleh",
|
||||
"blocked_by": "<0>Diblokir oleh</0>",
|
||||
"stats_malware_phishing": "Malware/phishing diblokir",
|
||||
"stats_adult": "Situs dewasa diblokir",
|
||||
"stats_query_domain": "Kueri domain teratas",
|
||||
"for_last_24_hours": "untuk 24 jam terakhir",
|
||||
"for_last_days": "untuk {{value}} hari terakhir",
|
||||
"for_last_days": "untuk {{count}} hari terakhir",
|
||||
"for_last_days_plural": "selama {{count}} hari terakhir",
|
||||
"no_domains_found": "Domain tidak ditemukan",
|
||||
"requests_count": "Jumlah permintaan",
|
||||
@@ -79,7 +92,7 @@
|
||||
"top_clients": "Klien teratas",
|
||||
"no_clients_found": "Tidak ditemukan klien",
|
||||
"general_statistics": "Statistik umum",
|
||||
"number_of_dns_query_days": "Jumlah kueri DNS diproses selama {{value}} hari terakhir",
|
||||
"number_of_dns_query_days": "Jumlah kueri DNS diproses selama {{count}} hari terakhir",
|
||||
"number_of_dns_query_days_plural": "Jumlah kueri DNS yang diproses selama {{count}} hari terakhir",
|
||||
"number_of_dns_query_24_hours": "Jumlah kueri DNS diproses selama 24 jam terakhir",
|
||||
"number_of_dns_query_blocked_24_hours": "Julah DNS diblokir oleh penyaring adblock dan daftar blokir hosts",
|
||||
@@ -100,6 +113,8 @@
|
||||
"no_servers_specified": "Sever tidak disebutkan",
|
||||
"general_settings": "Pengaturan umum",
|
||||
"dns_settings": "Pengaturan DNS",
|
||||
"dns_blocklists": "Daftar blokir DNS",
|
||||
"custom_filtering_rules": "Aturan penyaringan khusus",
|
||||
"encryption_settings": "Pengaturan enkripsi",
|
||||
"dhcp_settings": "Pengaturan DHCP",
|
||||
"upstream_dns": "Server DNS hulu",
|
||||
@@ -116,22 +131,19 @@
|
||||
"enabled_save_search_toast": "Pencarian aman diaktifkan",
|
||||
"enabled_table_header": "Diaktifkan",
|
||||
"name_table_header": "Nama",
|
||||
"filter_url_table_header": "URL penyaringan",
|
||||
"rules_count_table_header": "Jumlah Aturan",
|
||||
"last_time_updated_table_header": "Terakhir diperbaharui",
|
||||
"actions_table_header": "Aksi",
|
||||
"request_table_header": "Permintaan",
|
||||
"edit_table_action": "Ubah",
|
||||
"delete_table_action": "Hapus",
|
||||
"filters_and_hosts": "Daftar blokir penyaringan dan hosts",
|
||||
"elapsed": "Berlalu",
|
||||
"filters_and_hosts_hint": "AdGuard Home memahami aturan dasar adblock dan sintak file hosts.",
|
||||
"no_filters_added": "Tidak ada penyaringan ditambahkan",
|
||||
"add_filter_btn": "Tambah penyaringan",
|
||||
"cancel_btn": "Batal",
|
||||
"enter_name_hint": "Masukkan nama",
|
||||
"enter_url_hint": "Masukkan URL",
|
||||
"enter_url_or_path_hint": "Masukan sebuah URL atau jalur absolut dari daftar",
|
||||
"check_updates_btn": "Cek pembaruan",
|
||||
"new_filter_btn": "Langganan penyaring baru",
|
||||
"enter_valid_filter_url": "Tambah URL valid ke langganan penyaring atau file hosts.",
|
||||
"form_error_url_or_path_format": "URL atau jalur absolut dari daftar tidak valid",
|
||||
"custom_filter_rules": "Aturan penyaringan khusus",
|
||||
"custom_filter_rules_hint": "Masukkan satu aturan dalam sebuah baris. Anda dapat menggunakan baik aturan adblock maupun sintaks file hosts.",
|
||||
"examples_title": "Contoh",
|
||||
@@ -141,20 +153,21 @@
|
||||
"example_comment": "! Komentar di sini",
|
||||
"example_comment_meaning": "hanya 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 <0>ekspresi reguler yang ditentukan</0>",
|
||||
"example_upstream_regular": "DNS reguler (melalui UDP)",
|
||||
"example_upstream_dot": "terenkripsi <a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-over-TLS</a>",
|
||||
"example_upstream_doh": "terenkripsi <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a>",
|
||||
"example_upstream_sdns": "anda bisa menggunakan <a href='https://dnscrypt.info/stamps/' target='_blank'>Stempel DNS</a> untuk <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> atau pengarah <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a>",
|
||||
"example_upstream_dot": "terenkripsi <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "terenkripsi <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "anda bisa menggunakan <0>Stempel DNS</0> untuk <1>DNSCrypt</1> atau pengarah <2>DNS-over-HTTPS</2>",
|
||||
"example_upstream_tcp": "DNS reguler (melalui TCP)",
|
||||
"all_filters_up_to_date_toast": "Semua penyaringan telah terbaharui",
|
||||
"updated_upstream_dns_toast": "Server DNS hulu terbarui",
|
||||
"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",
|
||||
"unblock_btn": "Buka Blokir",
|
||||
"block_btn": "Blokir",
|
||||
"unblock": "Buka Blokir",
|
||||
"block": "Blok",
|
||||
"time_table_header": "Waktu",
|
||||
"date": "Tanggal",
|
||||
"domain_name_table_header": "Nama domain",
|
||||
"domain_or_client": "Domain atau klien",
|
||||
"type_table_header": "Tipe",
|
||||
"response_table_header": "Respon",
|
||||
"client_table_header": "Klien",
|
||||
@@ -167,19 +180,36 @@
|
||||
"next_btn": "Selanjutnya",
|
||||
"loading_table_status": "Memuat...",
|
||||
"page_table_footer_text": "Halaman",
|
||||
"of_table_footer_text": "dari",
|
||||
"rows_table_footer_text": "baris",
|
||||
"updated_custom_filtering_toast": "Perbarui aturan penyaringan khusus",
|
||||
"rule_removed_from_custom_filtering_toast": "Aturan dihapus dari aturan penyaringan khusus",
|
||||
"rule_added_to_custom_filtering_toast": "Aturan ditambah ke aturan penyaringan khusus",
|
||||
"query_log_response_status": "Status: {{value}}",
|
||||
"query_log_filtered": "Difilter oleh {{filter}}",
|
||||
"query_log_confirm_clear": "Apakah Anda yakin ingin menghapus seluruh kueri log?",
|
||||
"query_log_cleared": "Kueri log telah berhasil dihapus",
|
||||
"query_log_clear": "Hapus kueri log",
|
||||
"query_log_retention": "Retensi kueri log",
|
||||
"query_log_enable": "Aktifkan log",
|
||||
"query_log_configuration": "Konfigurasi log",
|
||||
"query_log_disabled": "Kueri log dinonaktifkan dan dapat dikonfigurasi di <0>pengaturan</0>",
|
||||
"query_log_strict_search": "Gunakan tanda kutip ganda untuk pencarian ketat",
|
||||
"query_log_retention_confirm": "Apakah Anda yakin ingin mengubah retensi kueri log? Jika Anda menurunkan nilai interval, beberapa data akan hilang",
|
||||
"blocking_mode": "Mode blokir",
|
||||
"default": "Standar",
|
||||
"blocking_ipv4": "Blokiran IPv4",
|
||||
"blocking_ipv6": "Blokiran IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"edns_cs_desc": "Apabila dinyalakan, AdGuard Home akan mengirim subnet klien ke server-server DNS.",
|
||||
"rate_limit_desc": "Jumlah permintaan per detik yang diperbolehkan untuk satu klien (0: tidak terbatas)",
|
||||
"blocking_mode_custom_ip": "IP kustom: respon dengan alamat IP yang diset secara manual",
|
||||
"source_label": "Sumber",
|
||||
"found_in_known_domain_db": "Ditemukan di database domain dikenal",
|
||||
"category_label": "Kategori",
|
||||
"rule_label": "Aturan",
|
||||
"filter_label": "Penyaringan",
|
||||
"unknown_filter": "Penyaringan {{filterId}} tidak dikenal",
|
||||
"known_tracker": "Pelacak yang dikenal",
|
||||
"install_welcome_title": "Selamat datang di AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home adalah sebuah server DNS pemblokiran iklan dan pelacak di jaringan. Tujuannya adalah memungkinkan anda mengkontrol seluruh jaringan dan semua perangkat anda, dan ini tidak membutuhkan aplikasi tambahan di klien",
|
||||
"install_settings_title": "Antarmuka Halaman Admin",
|
||||
@@ -191,6 +221,7 @@
|
||||
"install_settings_dns_desc": "Anda perlu mengkonfigurasi perangkat atau router anda untuk menggunakan server DNS berikut ini",
|
||||
"install_settings_all_interfaces": "Semua antarmuka",
|
||||
"install_auth_title": "Otentikasi",
|
||||
"install_auth_desc": "Sangat disarankan untuk mengkonfigurasi otentikasi kata sandi ke antarmuka web admin AdGuard Home Anda. Meskipun hanya dapat diakses di jaringan lokal Anda, tetap penting untuk melindunginya dari akses tak terbatas.",
|
||||
"install_auth_username": "Nama Pengguna",
|
||||
"install_auth_password": "Kata Sandi",
|
||||
"install_auth_confirm": "Konfirmasi kata sandi",
|
||||
@@ -207,6 +238,7 @@
|
||||
"install_devices_router_list_1": "Buka preferensi untuk router Anda. Biasanya, Anda dapat mengaksesnya dari browser Anda melalui URL (seperti http://192.168.0.1/ atau http://192.168.1.1/). Anda mungkin diminta memasukkan kata sandi. Jika Anda tidak mengingatnya, Anda dapat mengatur ulang kata sandi dengan menekan tombol atur ulang (reset) pada router. Beberapa router ada yang memerlukan aplikasi tertentu, dalam hal ini harus sudah diinstal pada komputer / telepon Anda.",
|
||||
"install_devices_router_list_2": "Temukan pengaturan DHCP / DNS. Cari huruf DNS di sebelah bidang yang memungkinkan dua atau tiga set angka, masing-masing dipecah menjadi empat grup dengan satu hingga tiga digit.",
|
||||
"install_devices_router_list_3": "Masukkan alamat server AdGuard Home disana",
|
||||
"install_devices_router_list_4": "Anda tidak dapat menyetel server DNS kustom pada beberapa tipe router. Dalam hal ini mungkin membantu jika Anda mengatur AdGuard Home sebagai <0>server DHCP</0>. Jika tidak, Anda harus mencari petunjuk tentang cara mengkustomisasi server DNS untuk model router khusus Anda.",
|
||||
"install_devices_windows_list_1": "Buka Panel Kontrol melalui menu Start atau pencarian Windows.",
|
||||
"install_devices_windows_list_2": "Masuk ke kategori Jaringan dan Internet (Network and Internet) dan kemudian ke Pusat Jaringan dan Berbagi (Network and Sharing Center).",
|
||||
"install_devices_windows_list_3": "Di sisi kiri layar temukan Ubah pengaturan adaptor dan klik.",
|
||||
@@ -269,6 +301,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} sekarang tersedia! <0>Klik di sini</0> untuk info lebih lanjut.",
|
||||
"setup_guide": "Panduan Penyiapan",
|
||||
"dns_addresses": "Alamat DNS",
|
||||
"dns_start": "Server DNS sedang dinyalakan",
|
||||
"dns_status_error": "Kesalahan dalam mendapatkan status server DNS",
|
||||
"down": "Padam",
|
||||
"fix": "Perbaiki",
|
||||
"dns_providers": "Berikut adalah <0>daftar penyedia DNS yang dikenal</0> untuk dipilih.",
|
||||
@@ -291,13 +325,13 @@
|
||||
"form_enter_ip": "Masukkan IP",
|
||||
"form_enter_mac": "Masukkan MAC",
|
||||
"form_client_name": "Masukkan nama klien",
|
||||
"name": "Nama",
|
||||
"client_global_settings": "Gunakan pengaturan global",
|
||||
"client_deleted": "Klien \"{{key}}\" berhasil dihapus",
|
||||
"client_added": "Klien \"{{key}}\" berhasil ditambahkan",
|
||||
"client_updated": "Klien \"{{key}}\" berhasil diperbarui",
|
||||
"clients_not_found": "Tidak ada klien ditemukan",
|
||||
"client_confirm_delete": "Apakah anda yakin ingin menghapus klien \"{{key}}\"?",
|
||||
"filter_confirm_delete": "Apakah anda yakin ingin menghapus penyaring ini?",
|
||||
"auto_clients_title": "Klien (waktu berjalan)",
|
||||
"auto_clients_desc": "Data pada klien yang menggunakan AdGuard Home, tetapi tidak disimpan dalam konfigurasi",
|
||||
"access_title": "Pengaturan akses",
|
||||
@@ -335,6 +369,7 @@
|
||||
"rewrite_confirm_delete": "Apakah anda yakin ingin menghapus DNS rewrite untuk \"{{key}}\"?",
|
||||
"rewrite_desc": "Memungkinkan untuk dengan mudah mengkonfigurasi respons DNS kustom untuk nama domain tertentu.",
|
||||
"rewrite_applied": "Aturan Rewrite yang diterapkan",
|
||||
"rewrite_hosts_applied": "Ditulis ulang oleh aturan file hosts",
|
||||
"dns_rewrites": "DNS rewrite",
|
||||
"form_domain": "Masukkan nama domain",
|
||||
"form_answer": "Masaukan alamat IP atau nama domain",
|
||||
@@ -359,14 +394,63 @@
|
||||
"stats_params": "Konfigurasi statistik",
|
||||
"config_successfully_saved": "Konfigurasi berhasil disimpan",
|
||||
"interval_24_hour": "24 jam",
|
||||
"interval_days": "{{value}} hari",
|
||||
"interval_days": "{{count}} hari",
|
||||
"interval_days_plural": "{{count}} hari",
|
||||
"domain": "Domain",
|
||||
"answer": "Jawab",
|
||||
"filter_added_successfully": "Filter telah berhasil ditambahkan",
|
||||
"statistics_configuration": "Konfigurasi statistik",
|
||||
"statistics_retention": "Statistik disimpan",
|
||||
"statistics_retention_desc": "Jika Anda menurunkan nilai interval, beberapa data akan hilang",
|
||||
"statistics_clear": " Hapus statistik",
|
||||
"statistics_clear_confirm": "Apakah Anda yakin ingin menghapus statistik?",
|
||||
"statistics_cleared": "Statistik berhasil dihapus"
|
||||
"statistics_retention_confirm": "Apakah Anda yakin ingin mengubah retensi statistik? Jika Anda menurunkan nilai interval, beberapa data akan hilang",
|
||||
"statistics_cleared": "Statistik berhasil dihapus",
|
||||
"interval_hours": "{{count}} jam",
|
||||
"interval_hours_plural": "{{count}} jam",
|
||||
"filters_configuration": "Konfigurasi filter",
|
||||
"filters_enable": "Aktifkan filter",
|
||||
"filters_interval": "Interval pembaruan filter",
|
||||
"disabled": "Tidak aktif",
|
||||
"username_label": "Nama pengguna",
|
||||
"username_placeholder": "Masukkan nama pengguna",
|
||||
"password_label": "Kata sandi",
|
||||
"password_placeholder": "Masukkan kata sandi",
|
||||
"sign_in": "Masuk",
|
||||
"sign_out": "Keluar",
|
||||
"forgot_password": "Lupa kata sandi?",
|
||||
"forgot_password_desc": "Ikuti <0>langkah-langkah ini</0> untuk membuat kata sandi baru untuk akun pengguna Anda.",
|
||||
"location": "Lokasi",
|
||||
"orgname": "Nama organisasi",
|
||||
"netname": "Nama jaringan",
|
||||
"network": "Jaringan",
|
||||
"descr": "Deskripsi",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Pelajari lebih lanjut</0> tentang membuat daftar hitam host Anda sendiri.",
|
||||
"blocked_by_response": "Diblokir oleh CNAME atau IP sebagai respon",
|
||||
"try_again": "Coba lagi",
|
||||
"disable_ipv6": "Matikan IPv6",
|
||||
"disable_ipv6_desc": "Apabila fitur ini dinyalakan, semua permintaan DNS untuk alamat-alamat IPv6 (tipe AAAA) akan diputus.",
|
||||
"fastest_addr": "Alamat IP tercepat",
|
||||
"fastest_addr_desc": "Permintaan semua server DNS dan kembalinya alamat IP tercepat di antara semua respons",
|
||||
"autofix_warning_text": "Apabila anda menekan \"Perbaiki\", AdGuardHome akan mengatur sistem anda untuk menggunakan server DNS AdGuardHome.",
|
||||
"autofix_warning_result": "Hasilnya, semua permintaan DNS dari sistem anda akan diproses oleh AdGuardHome secara standar.",
|
||||
"check_ip": "Alamat IP: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Alasan: {{reason}}",
|
||||
"check_rule": "Aturan: {{rule}}",
|
||||
"check_service": "Nama layanan: {{service}}",
|
||||
"check_not_found": "Tidak di temukan di daftar penyaringan anda",
|
||||
"client_confirm_block": "Apa anda yakin ingin mem-blokir klien ini \"{{ip}}\"?",
|
||||
"client_confirm_unblock": "Apa anda yakin ingin meng-unblock klien ini \"{{ip}}\"?",
|
||||
"client_blocked": "Klien \"{{ip}}\" sukses di blokir",
|
||||
"client_unblocked": "Klien \"{{ip}}\" sukses di unblock",
|
||||
"static_ip": "Alamat IP statis",
|
||||
"validated_with_dnssec": "Tervalidasi dengan DNSSEC",
|
||||
"show_blocked_responses": "Diblokir",
|
||||
"show_whitelisted_responses": "Dalam Daftar Putih",
|
||||
"show_processed_responses": "Terproses",
|
||||
"safe_search": "Pencarian aman",
|
||||
"blocklist": "Daftar blokir",
|
||||
"milliseconds_abbreviation": "ms"
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "Impostazioni client",
|
||||
"example_upstream_reserved": "puoi specificare un server DNS<0>per uno specifico dominio(i)</0>",
|
||||
"example_upstream_reserved": "Puoi specificare un server DNS<0>per uno specifico dominio(i)</0>",
|
||||
"upstream_parallel": "Usa le query parallele per accelerare la risoluzione interrogando simultaneamente tutti i server",
|
||||
"parallel_requests": "Richieste parallele",
|
||||
"load_balancing": "Bilanciamento del carico",
|
||||
"load_balancing_desc": "Interroga un server per volta. AdGuardHome userà l'algoritmo soppesato casualmente per scegliere il server così che quello più veloce sarà usato più spesso.",
|
||||
"bootstrap_dns": "Server DNS di avvio",
|
||||
"bootstrap_dns_desc": "Server DNS usati per risolvere gli indirizzi IP dei risolutori DoH/DoT specificati come upstreams.",
|
||||
"check_dhcp_servers": "Controlla la presenza di server DHCP",
|
||||
@@ -19,9 +22,13 @@
|
||||
"dhcp_leases_not_found": "Nessun lease DHCP trovato",
|
||||
"dhcp_config_saved": "Configurazione server DHCP salvata",
|
||||
"form_error_required": "Campo richiesto",
|
||||
"form_error_ip4_format": "Formato IPv4 non valido",
|
||||
"form_error_ip6_format": "Formato IPv6 non valido",
|
||||
"form_error_ip_format": "Formato IPv4 non valido",
|
||||
"form_error_mac_format": "Formato MAC non valido",
|
||||
"form_error_client_id_format": "Formato ID cliente non valido",
|
||||
"form_error_positive": "Deve essere maggiore di 0",
|
||||
"form_error_negative": "Deve essere maggiore o uguale a 0 (zero)",
|
||||
"dhcp_form_gateway_input": "IP Gateway",
|
||||
"dhcp_form_subnet_input": "Subnet mask",
|
||||
"dhcp_form_range_title": "Range indirizzi IP",
|
||||
@@ -32,6 +39,7 @@
|
||||
"dhcp_interface_select": "Seleziona l'interfaccia DHCP",
|
||||
"dhcp_hardware_address": "Indirizzo hardware",
|
||||
"dhcp_ip_addresses": "Indirizzi IP",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Nome host",
|
||||
"dhcp_table_expires": "Scaduto",
|
||||
"dhcp_warning": "Se si desidera abilitare il server DHCP integrato, assicurarsi che non vi siano altri server DHCP attivi. Altrimenti, possono sussistere problemi di rete per i dispositivi collegati!",
|
||||
@@ -43,17 +51,28 @@
|
||||
"dhcp_new_static_lease": "Nuovo lease statico",
|
||||
"dhcp_static_leases_not_found": "Non è stato trovato nessun leases statico DHCP",
|
||||
"dhcp_add_static_lease": "Aggiungi lease statico",
|
||||
"dhcp_reset": "Sei sicuro di voler ripristinare la configurazione DHCP?",
|
||||
"country": "Regione",
|
||||
"city": "Città",
|
||||
"delete_confirm": "Sei sicuro di voler cancellare \"{{key}}\"?",
|
||||
"form_enter_hostname": "Inserisci hostname",
|
||||
"error_details": "Dettagli errore",
|
||||
"response_details": "Dettagli di Risposta",
|
||||
"request_details": "Dettagli della richiesta",
|
||||
"client_details": "Dettagli client",
|
||||
"details": "Dettagli",
|
||||
"back": "Indietro",
|
||||
"dashboard": "Cruscotto",
|
||||
"settings": "Impostazioni",
|
||||
"filters": "Filtri",
|
||||
"filter": "Filtro",
|
||||
"query_log": "Query Log",
|
||||
"compact": "Compatto",
|
||||
"nothing_found": "Non è stato trovato nulla",
|
||||
"faq": "FAQ",
|
||||
"version": "versione",
|
||||
"address": "indirizzo IP",
|
||||
"address": "Indirizzo",
|
||||
"protocol": "Protocollo",
|
||||
"on": "ATTIVO",
|
||||
"off": "DISATTIVATO",
|
||||
"copyright": "Copyright",
|
||||
@@ -66,12 +85,12 @@
|
||||
"disabled_protection": "Protezione disabilitata",
|
||||
"refresh_statics": "Aggiorna statistiche",
|
||||
"dns_query": "Query DNS",
|
||||
"blocked_by": "Bloccato dai Filtri",
|
||||
"blocked_by": "<0>Bloccato dai Filtri</0>",
|
||||
"stats_malware_phishing": "Malware/phishing bloccati",
|
||||
"stats_adult": "Siti per adulti bloccati",
|
||||
"stats_query_domain": "Domini maggiormente richiesti",
|
||||
"for_last_24_hours": "nelle ultime 24 ore",
|
||||
"for_last_days": "per gli ultimi {{value}} giorni",
|
||||
"for_last_days": "per gli ultimi {{count}} giorni",
|
||||
"for_last_days_plural": "per gli ultimi {{count}} giorni",
|
||||
"no_domains_found": "Nessun dominio trovato",
|
||||
"requests_count": "Numero richieste",
|
||||
@@ -100,11 +119,17 @@
|
||||
"no_servers_specified": "Nessun server specificato",
|
||||
"general_settings": "Impostazioni generali",
|
||||
"dns_settings": "Impostazioni DNS",
|
||||
"dns_blocklists": "Lista di blocco DNS",
|
||||
"dns_allowlists": "Lista DNS consentiti",
|
||||
"dns_blocklists_desc": "AdGuard Home bloccherà i domini che corrispondenti alla lista di blocco.",
|
||||
"dns_allowlists_desc": "I domini DNS consentiti saranno consentiti anche se sono nella lista di blocco.",
|
||||
"custom_filtering_rules": "Regole filtri personalizzati",
|
||||
"encryption_settings": "Impostazioni di criptazione",
|
||||
"dhcp_settings": "Impostazioni DHCP",
|
||||
"upstream_dns": "Server DNS upstream",
|
||||
"upstream_dns_hint": "Se lasci vuoto questo campo, AdGuard Home imposterà i <a href='https://1.1.1.1/' target='_blank'>DNS di Cloudflare</a> come upstream. Inserisci il prefisso tls:// per i server con DNS over TLS",
|
||||
"test_upstream_btn": "Testa gli upstream",
|
||||
"upstreams": "Upstream",
|
||||
"apply_btn": "Applica",
|
||||
"disabled_filtering_toast": "Disabilita filtri",
|
||||
"enabled_filtering_toast": "Abilita filtri",
|
||||
@@ -116,22 +141,33 @@
|
||||
"enabled_save_search_toast": "Abilita Ricerca Sicura",
|
||||
"enabled_table_header": "Attivo",
|
||||
"name_table_header": "Nome",
|
||||
"filter_url_table_header": "URL filtro",
|
||||
"list_url_table_header": "Elenco URL",
|
||||
"rules_count_table_header": "Numero regole",
|
||||
"last_time_updated_table_header": "Ultimo aggiornamento",
|
||||
"actions_table_header": "Azioni",
|
||||
"request_table_header": "Richiesta",
|
||||
"edit_table_action": "Modifica",
|
||||
"delete_table_action": "Elimina",
|
||||
"filters_and_hosts": "Filtri e blocco hosts",
|
||||
"elapsed": "Trascorso",
|
||||
"filters_and_hosts_hint": "AdGuard Home è in grado di comprendere la sintassi delle regole di adblock o quelle dei file hosts",
|
||||
"no_filters_added": "Nessun filtro aggiunto",
|
||||
"add_filter_btn": "Aggiungi filtro",
|
||||
"no_blocklist_added": "Non è stata aggiunta alcuna lista di blocco",
|
||||
"no_whitelist_added": "Non è stata aggiunta alcuna lista dei consentiti",
|
||||
"add_blocklist": "Aggiungi lista di blocco",
|
||||
"add_allowlist": "Aggiungi lista dei consentiti",
|
||||
"cancel_btn": "Annulla",
|
||||
"enter_name_hint": "Inserisci nome",
|
||||
"enter_url_hint": "Inserisci URL",
|
||||
"enter_url_or_path_hint": "Inmetti un URL o il percorso assoluto della lista",
|
||||
"check_updates_btn": "Controlla aggiornamenti",
|
||||
"new_filter_btn": "Aggiunta nuovo filtro",
|
||||
"enter_valid_filter_url": "Inserisci un URL valido di un filtro o un file hosts",
|
||||
"new_blocklist": "Nuova lista di blocco",
|
||||
"new_allowlist": "Nuova lista dei consentiti",
|
||||
"edit_blocklist": "Modifica lista di blocco",
|
||||
"edit_allowlist": "Modifica lista dei consentiti",
|
||||
"choose_blocklist": "Scegli liste di blocco",
|
||||
"choose_allowlist": "Scegli liste di autorizzazione",
|
||||
"enter_valid_blocklist": "Inserisci un URL valido nella lista di blocco.",
|
||||
"enter_valid_allowlist": "Inserisci un URL valido nella lista dei consentiti.",
|
||||
"form_error_url_format": "Formato url non valido",
|
||||
"form_error_url_or_path_format": "URL o percorso assoluto della lista non valido",
|
||||
"custom_filter_rules": "Regole filtri personalizzate",
|
||||
"custom_filter_rules_hint": "Inserisci una regola per riga. Puoi usare la sintassi delle regole di adblock o quelle dei file hosts.",
|
||||
"examples_title": "Esempi",
|
||||
@@ -141,21 +177,25 @@
|
||||
"example_comment": "! Qui va un commento",
|
||||
"example_comment_meaning": "un commento",
|
||||
"example_comment_hash": "# Un altro commento",
|
||||
"example_regex_meaning": "blocca l'accesso ai domini che corrispondono alla specifica espressione regolare",
|
||||
"example_upstream_regular": "DNS regolari (via UDP)",
|
||||
"example_upstream_dot": "<a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-over-TLS</a> criptato",
|
||||
"example_upstream_doh": "<a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a> criptato",
|
||||
"example_upstream_sdns": "puoi usare <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS Stamps</a> per <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> oppure dei resolver con <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a>",
|
||||
"example_upstream_dot": "<0>DNS_over_TLS</0> crittografato",
|
||||
"example_upstream_doh": "<0>DNS-over-HTTPS</0> crittografato",
|
||||
"example_upstream_sdns": "puoi usare <0>DNS Stamps</0> per <1>DNSCrypt</1> oppure dei resolver con <2>DNS-over-HTTPS</2>",
|
||||
"example_upstream_tcp": "DNS regolari (via TCP)",
|
||||
"all_filters_up_to_date_toast": "Tutti i filtri sono già aggiornati",
|
||||
"all_lists_up_to_date_toast": "Tutte le liste sono aggiornate",
|
||||
"updated_upstream_dns_toast": "Server DNS upstream aggiornati",
|
||||
"dns_test_ok_toast": "I server DNS specificati funzionano correttamente",
|
||||
"dns_test_not_ok_toast": "Server \"{{key}}\": non può essere usato, assicurati di averlo digitato correttamente",
|
||||
"unblock_btn": "Sblocca",
|
||||
"block_btn": "Blocca",
|
||||
"unblock": "Sblocca",
|
||||
"block": "Blocca",
|
||||
"time_table_header": "Ora",
|
||||
"date": "Data",
|
||||
"domain_name_table_header": "Nome dominio",
|
||||
"domain_or_client": "Dominio o client",
|
||||
"type_table_header": "Tipo",
|
||||
"response_table_header": "Risposta",
|
||||
"response_code": "Codice di risposta",
|
||||
"client_table_header": "Client",
|
||||
"empty_response_status": "Vuoto",
|
||||
"show_all_filter_type": "Mostra tutti",
|
||||
@@ -166,18 +206,57 @@
|
||||
"next_btn": "Successivo",
|
||||
"loading_table_status": "Caricamento...",
|
||||
"page_table_footer_text": "Pagina",
|
||||
"of_table_footer_text": "di",
|
||||
"rows_table_footer_text": "righe",
|
||||
"updated_custom_filtering_toast": "Le regole dei filtri personalizzate sono state aggiornate",
|
||||
"rule_removed_from_custom_filtering_toast": "Regola rimossa dalle regole dei filtri personalizzate",
|
||||
"rule_added_to_custom_filtering_toast": "Regola aggiunta alle regole dei filtri personalizzate",
|
||||
"query_log_response_status": "Status: {{value}}",
|
||||
"query_log_filtered": "Filtrato da {{filter}}",
|
||||
"query_log_confirm_clear": "Sei sicuro di voler eliminare la query log?",
|
||||
"query_log_cleared": "La query log è stata cancellata correttamente",
|
||||
"query_log_updated": "Il log query è stato aggiornato con successo",
|
||||
"query_log_clear": "Cancella query logs",
|
||||
"query_log_retention": "Ritenzione query logs",
|
||||
"query_log_enable": "Abilita log",
|
||||
"query_log_configuration": "Configurazione logs",
|
||||
"query_log_disabled": "La query log è stata disabilitata e può essere configurata nel <0>impostazioni</0>",
|
||||
"query_log_strict_search": "Utilizzare le virgolette doppie per la ricerca rigorosa",
|
||||
"query_log_retention_confirm": "Sei sicuro di voler modificare il registro di query? Se si diminuisce il valore di intervallo, alcuni dati saranno persi",
|
||||
"anonymize_client_ip": "Anonimizza client IP",
|
||||
"anonymize_client_ip_desc": "Non salvare l'indirizzo IP completo del client nei log e nelle statistiche",
|
||||
"dns_config": "Configurazione server DNS",
|
||||
"dns_cache_config": "Configurazione cache DNS",
|
||||
"dns_cache_config_desc": "Qui puoi configurare la cache DNS",
|
||||
"blocking_mode": "Modalità di blocco",
|
||||
"default": "Predefinito",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Nessun IP",
|
||||
"custom_ip": "IP personalizzato",
|
||||
"blocking_ipv4": "Blocca IPv4",
|
||||
"blocking_ipv6": "Blocca IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "DNS semplice",
|
||||
"form_enter_rate_limit": "Imposta limite delle richieste",
|
||||
"rate_limit": "Limite delle richieste",
|
||||
"edns_enable": "Abilita client di sottorete EDNS",
|
||||
"edns_cs_desc": "Se abilitato, AdGuard Home invierà le sottoreti cdei client ai server DNS.",
|
||||
"rate_limit_desc": "Il numero di richieste al secondo chheun singolo client può fare (0: illimitato)",
|
||||
"blocking_ipv4_desc": "Indirizzo IP per una richiesta DNS IPv4 bloccata",
|
||||
"blocking_ipv6_desc": "Indirizzo IP restituito per una richiesta DNS IPv6 bloccata",
|
||||
"blocking_mode_default": "Predefinito: Rispondi con NXDOMAIN quando bloccato da una regola di Adblock; rispondi con l'indirizzo IP specificato nella regola quando bloccato dalla regola / etc / hosts-style",
|
||||
"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_custom_ip": "IP personalizzato: Rispondi con un indirizzo IP impostato manualmente",
|
||||
"upstream_dns_client_desc": "Se lasci questo spazio vuoto, AdGuard Home utilizzerà i server configurati nelle <0>impostazioni DNS</0>.",
|
||||
"tracker_source": "Origine tracker",
|
||||
"source_label": "Fonte",
|
||||
"found_in_known_domain_db": "Trovato nel database dei domini conosciuti.",
|
||||
"category_label": "Categoria",
|
||||
"rule_label": "Regola",
|
||||
"filter_label": "Filtro",
|
||||
"list_label": "Lista",
|
||||
"unknown_filter": "Filtro sconosciuto {{filterId}}",
|
||||
"known_tracker": "Tracker conosciuto",
|
||||
"install_welcome_title": "Benvenuto nella Home di AdGuard!",
|
||||
"install_welcome_desc": "AdGuard Home è un server DNS che blocca annunci e tracker in tutta la rete. Il suo scopo è quello di consentire di controllare l'intera rete e tutti i dispositivi, e non richiede l'utilizzo di un programma sul lato client.",
|
||||
"install_settings_title": "Interfaccia Web dell'Admin",
|
||||
@@ -206,6 +285,7 @@
|
||||
"install_devices_router_list_1": "Apri le preferenze per il tuo router. Di solito, puoi accedervi dal tuo browser tramite un URL (come http://192.168.0.1/ o http://192.168.1.1/). Potrebbe essere richiesto di inserire la password. Se non lo ricordi, puoi spesso reimpostare la password premendo un pulsante sul router stesso. Alcuni router richiedono un'applicazione specifica, che in quel caso dovrebbe essere già installata sul tuo computer / telefono.",
|
||||
"install_devices_router_list_2": "Trova le impostazioni DHCP / DNS. Cerca le lettere DNS accanto a un campo che consente due o tre serie di numeri, ciascuno suddiviso in quattro gruppi di 1-3 cifre.",
|
||||
"install_devices_router_list_3": "Inserisci qui gli indirizzi del tuo server AdGuard Home.",
|
||||
"install_devices_router_list_4": "Non puoi impostare un server DNS personalizzato o alcun tipo di router. In questi casi potrebbe essere di aiuto impostare la pagina principale di AdGuard come <0>server DHCP</0>. In alternativa, dovresti cercare sul manuale il modo per personalizzare i server DNS per il tuo particolare modello di router.",
|
||||
"install_devices_windows_list_1": "Aprire il Pannello di controllo tramite il menu Start o la ricerca di Windows.",
|
||||
"install_devices_windows_list_2": "Vai a Rete e categoria Internet e poi a Centro connessioni di rete e condivisione.",
|
||||
"install_devices_windows_list_3": "Sul lato sinistro dello schermo, trova le impostazioni della scheda Cambia e fai clic su di esso.",
|
||||
@@ -268,6 +348,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} è ora disponibile! <0>Clicca qui</0> per più informazioni.",
|
||||
"setup_guide": "Configurazione guidata",
|
||||
"dns_addresses": "Indirizzo DNS",
|
||||
"dns_start": "Il server DNS si sta avviando",
|
||||
"dns_status_error": "Errore nel recupero dello stato del server DNS",
|
||||
"down": "Spenta",
|
||||
"fix": "Risolvi",
|
||||
"dns_providers": "Qui c'è una <0>list di provider DNS</0> da cui scegliere",
|
||||
@@ -289,14 +371,17 @@
|
||||
"client_identifier_desc": "I client possono essere identificati dall indirizzo IP o dall' indirizzo MAC. Nota che l' utilizzo dell' indirizzo MAC come identificatore è consentito solo se AdGuard Home è anche il <0>server DHCP</0>",
|
||||
"form_enter_ip": "Inserisci IP",
|
||||
"form_enter_mac": "Inserisci MAC",
|
||||
"form_enter_id": "Inserisci identificatore",
|
||||
"form_add_id": "Aggiungi identificatore",
|
||||
"form_client_name": "Inserisci nome client",
|
||||
"name": "Nome",
|
||||
"client_global_settings": "Usa le impostazioni globali",
|
||||
"client_deleted": "Client \"{{key}}\" eliminato correttamente",
|
||||
"client_added": "Client \"{{key}}\" aggiunto correttamente",
|
||||
"client_updated": "Client \"{{key}}\" aggiornato correttamente",
|
||||
"clients_not_found": "Nessun client trovato",
|
||||
"client_confirm_delete": "Sei sicuro di voler eliminare il client \"{{key}}\"?",
|
||||
"filter_confirm_delete": "Sei sicuro di voler cancellare questo filtro?",
|
||||
"list_confirm_delete": "Sei sicuro di voler eliminare questa lista?",
|
||||
"auto_clients_title": "Clienti (tempo di esecuzione)",
|
||||
"auto_clients_desc": "Dati dei clienti che utilizzano AdGuard Home, ma che non sono salvati nella configurazione",
|
||||
"access_title": "Impostazioni di accesso",
|
||||
@@ -334,6 +419,7 @@
|
||||
"rewrite_confirm_delete": "Sei sicuro di voler cancellare la riscrittura DNS per \"{{key}}\"?",
|
||||
"rewrite_desc": "Consente di configurare facilmente la risposta DNS personalizzata per un nome di dominio specifico.",
|
||||
"rewrite_applied": "Regola di riscrittura applicata",
|
||||
"rewrite_hosts_applied": "Riscritto dal file delle regole host",
|
||||
"dns_rewrites": "Riscrittura DNS",
|
||||
"form_domain": "Inserisci il dominio",
|
||||
"form_answer": "Inserisci l'indirizzo IP o il nome del dominio",
|
||||
@@ -349,11 +435,129 @@
|
||||
"blocked_service": "Servizio bloccato",
|
||||
"block_all": "Blocca tutto",
|
||||
"unblock_all": "Sblocca tutto",
|
||||
"encryption_certificate_path": "Percorso di certificato",
|
||||
"encryption_private_key_path": "Percorso della chiave privata",
|
||||
"encryption_certificates_source_path": "Definisci un percorso alle file dei certificati",
|
||||
"encryption_certificates_source_content": "Incolla i contenuti di certificato",
|
||||
"encryption_key_source_path": "Imposta un file chiave privata",
|
||||
"encryption_key_source_content": "Incolla i contenuti della chiave privata",
|
||||
"stats_params": "Configurazione delle statistiche",
|
||||
"config_successfully_saved": "Configurazione salvata correttamente",
|
||||
"interval_24_hour": "24 ore",
|
||||
"interval_days": "{{count}} giorni",
|
||||
"interval_days_plural": "{{count}} giorni",
|
||||
"domain": "Dominio",
|
||||
"answer": "Risposta",
|
||||
"filter_added_successfully": "Il filtro è stato aggiunto correttamente"
|
||||
"filter_added_successfully": "Il filtro è stato aggiunto correttamente",
|
||||
"filter_removed_successfully": "La lista è stata correttamente rimossa",
|
||||
"filter_updated": "Il filtro è stato aggiornato correttamente",
|
||||
"statistics_configuration": "Configurazione delle statistiche",
|
||||
"statistics_retention": "Conservazione statistiche",
|
||||
"statistics_retention_desc": "Se si diminuisce il valore di intervallo, alcuni dati saranno persi",
|
||||
"statistics_clear": " Azzera statistiche",
|
||||
"statistics_clear_confirm": "Sei sicuro di voler azzerare le statistiche?",
|
||||
"statistics_retention_confirm": "Sei sicuro di modificare la conservazione statistiche? Se si diminuisce il valore di intervallo, alcuni dati saranno persi",
|
||||
"statistics_cleared": "Statistiche azzerate correttamente",
|
||||
"interval_hours": "{{count}} ora",
|
||||
"interval_hours_plural": "{{count}} ore",
|
||||
"filters_configuration": "Configurazione filtri",
|
||||
"filters_enable": "Abilita i filtri",
|
||||
"filters_interval": "Intervallo aggiornamento filtri",
|
||||
"disabled": "Disabilitato",
|
||||
"username_label": "Nome utente",
|
||||
"username_placeholder": "Inserisci nome utente",
|
||||
"password_label": "Password",
|
||||
"password_placeholder": "Inserisci password",
|
||||
"sign_in": "Accedi",
|
||||
"sign_out": "Esci",
|
||||
"forgot_password": "Hai perso la password?",
|
||||
"forgot_password_desc": "Per favore segui <0>questi punti</0> per creare una nuova password per il tuo account.",
|
||||
"location": "Locazione",
|
||||
"orgname": "Nome dell'organizzazione",
|
||||
"netname": "Nome Network",
|
||||
"network": "Rete",
|
||||
"descr": "Descrizione",
|
||||
"whois": "Chi è",
|
||||
"filtering_rules_learn_more": "<0>Leggi altro</0> su come creare i tuoi host blacklist.",
|
||||
"blocked_by_response": "Bloccato per CNAME o IP in risposta",
|
||||
"try_again": "Riprova",
|
||||
"domain_desc": "Inserire il nome di dominio o carattere jolly che si vuole riscrivere.",
|
||||
"example_rewrite_domain": "riscrivi risposte per questo dominio soltanto.",
|
||||
"example_rewrite_wildcard": "riscrivi risposte per tutti i sottodomini di <0>esempio.org</0>.",
|
||||
"rewrite_ip_address": "Indirizzo IP: utilizza questo IP in una risposta A o AAAA",
|
||||
"rewrite_domain_name": "Nome dominio: aggiungi una registrazione CNAME",
|
||||
"rewrite_A": "<0>A</0>: valore speciale, mantieni registrazioni <0>A</0> dall'upstream",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: valore speciale, mantieni registrazioni <0>AAAA</0> dall'upstream",
|
||||
"disable_ipv6": "Disabilita IPv6",
|
||||
"disable_ipv6_desc": "Se questa funzione è abilitata, tutte le query DNS per gli indirizzi IPv6 (tipo AAAA) verranno eliminate.",
|
||||
"fastest_addr": "Indirizzo IP più veloce",
|
||||
"fastest_addr_desc": "Interroga tutti i server DNS ed ottieni l'indirizzo IP più veloce tra tutte le risposte",
|
||||
"autofix_warning_text": "Se fai clic su \"Correggi\", AdGuardHome configurerà il tuo sistema per utilizzare il server DNS AdGuardHome.",
|
||||
"autofix_warning_list": "Eseguirà queste attività: <0> Disattiva DNSStubListener di sistema </0> <0> Imposta l'indirizzo del server DNS su 127.0.0.1 </0> <0> Sostituisci la destinazione del collegamento simbolico di /etc/resolv.conf su / run / systemd /resolve/resolv.conf </0> <0> Arresta DNSStubListener (ricarica il servizio systemd-resolved) </0>",
|
||||
"autofix_warning_result": "Di conseguenza, tutte le richieste DNS dal sistema verranno elaborate da AdGuardHome per impostazione predefinita.",
|
||||
"tags_title": "Tag",
|
||||
"tags_desc": "È possibile selezionare i tag che corrispondono al client. I tag possono essere inclusi nelle regole dei filtri e consentono di applicarli in modo più accurato. <0> Ulteriori informazioni </0>",
|
||||
"form_select_tags": "Seleziona i tag client",
|
||||
"check_title": "Controlla il filtro",
|
||||
"check_desc": "Controlla se il nome host è filtrato",
|
||||
"check": "Controlla",
|
||||
"form_enter_host": "Inserisci un nome per l'host",
|
||||
"filtered_custom_rules": "Filtrato dalle regole filtro personalizzate",
|
||||
"choose_from_list": "Scegli dalla lista",
|
||||
"add_custom_list": "Aggiungi lista personalizzata",
|
||||
"host_whitelisted": "L'host è presente nella whitelist",
|
||||
"check_ip": "Indirizzi IP: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Motivo: {{reason}}",
|
||||
"check_rule": "Regola: {{rule}}",
|
||||
"check_service": "Nome servizio: {{service}}",
|
||||
"check_not_found": "Non trovato negli elenchi dei filtri",
|
||||
"client_confirm_block": "Sei sicuro di voler bloccare il client \"{{ip}}\"?",
|
||||
"client_confirm_unblock": "Sei sicuro di voler sbloccare il client \"{{ip}}\"?",
|
||||
"client_blocked": "Client \"{{ip}}\" bloccato correttamente",
|
||||
"client_unblocked": "Client \"{{ip}}\" sbloccato correttamente",
|
||||
"static_ip": "Indirizzo IP statico",
|
||||
"static_ip_desc": "AdGuard Home è un server quindi ha bisogno di un indirizzo IP statico per funzionare correttamente. Altrimenti, a un certo punto, il router potrebbe assegnare un indirizzo IP diverso a questo dispositivo.",
|
||||
"set_static_ip": "Imposta un indirizzo IP statico",
|
||||
"install_static_ok": "Buone notizie! L'indirizzo IP statico è già configurato",
|
||||
"install_static_error": "AdGuard Home non può configurarlo automaticamente per questa interfaccia di rete. Si prega di cercare un'istruzione su come farlo manualmente.",
|
||||
"install_static_configure": "Abbiamo rilevato che viene utilizzato un indirizzo IP dinamico - <0> {{ip}} </0>. Vuoi usarlo come indirizzo statico?",
|
||||
"confirm_static_ip": "AdGuard Home configurerà {{ip}} come indirizzo IP statico. Vuoi procedere?",
|
||||
"list_updated": "{{count}} lista aggiornata",
|
||||
"list_updated_plural": "{{count}} liste aggiornate",
|
||||
"dnssec_enable": "Abilita DNSSEC",
|
||||
"dnssec_enable_desc": "Imposta la spunta DNSSEC nelle interrogazioni DNS in uscita e verifica il risultato (è richiesta l'attivazione del risolutore DNSSEC)",
|
||||
"validated_with_dnssec": "Verificato con DNSSEC",
|
||||
"show_blocked_responses": "Bloccato",
|
||||
"show_whitelisted_responses": "Nella whitelist",
|
||||
"show_processed_responses": "Processato",
|
||||
"blocked_safebrowsing": "Blocco Navigazione sicura",
|
||||
"blocked_adult_websites": "Siti per adulti bloccati",
|
||||
"blocked_threats": "Minacce bloccate",
|
||||
"allowed": "Consentito",
|
||||
"filtered": "Filtrato",
|
||||
"rewritten": "Riscritto",
|
||||
"safe_search": "Ricerca sicura",
|
||||
"blocklist": "Lista di blocco",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Dimensioni cache",
|
||||
"cache_size_desc": "Dimensioni cache DNS (in byte)",
|
||||
"cache_ttl_min_override": "Sovrascrivi TTL minimo",
|
||||
"cache_ttl_max_override": "Sovrascrivi TTL massimo",
|
||||
"enter_cache_size": "Immetti dimensioni cache",
|
||||
"enter_cache_ttl_min_override": "Immetti TTL minimo",
|
||||
"enter_cache_ttl_max_override": "Immetti TTL massimo",
|
||||
"cache_ttl_min_override_desc": "Sovrascrivi valore TTL (minimo) ricevuto dall'upstream del server. Questo valore non può superare 3600 (1 ora)",
|
||||
"cache_ttl_max_override_desc": "Sovrascrivi valore TTL (massimo) ricevuto dall'upstream del server",
|
||||
"min_exceeds_max_value": "Il valore minimo eccede quello massimo",
|
||||
"value_not_larger_than": "Il valore non può essere maggiore di {{maximum}}",
|
||||
"filter_category_general": "Generale",
|
||||
"filter_category_security": "Sicurezza",
|
||||
"filter_category_regional": "Regionale",
|
||||
"filter_category_other": "Altro",
|
||||
"filter_category_general_desc": "Liste che bloccano tracciamenti e pubblicità sulla maggioranza dei dispositivi",
|
||||
"filter_category_security_desc": "Liste specializzate sul blocco di malware, phishing o domini scam",
|
||||
"filter_category_regional_desc": "Liste focalizzare su pubblicità regionali e server traccianti",
|
||||
"filter_category_other_desc": "Altre liste di blocco",
|
||||
"click_to_view_queries": "Clicca per visualizzare query"
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "クライアント設定",
|
||||
"example_upstream_reserved": "<0>特定のドメイン</0>に対して上流DNSを指定できます",
|
||||
"upstream_parallel": "すべての上流サーバに同時に照会することで解決をスピードアップするため、並列クエリを使用する",
|
||||
"example_upstream_reserved": "<0>特定のドメイン</0>に対してDNSアップストリームを指定できます",
|
||||
"upstream_parallel": "並列リクエストを使用する(すべてのアップストリームサーバーを同時に照会することで解決スピードが向上します)",
|
||||
"parallel_requests": "並列リクエスト",
|
||||
"load_balancing": "ロードバランシング",
|
||||
"load_balancing_desc": "一度に1つのサーバを照会します。 AdGuard Homeは、重み付きランダムアルゴリズムを使用してサーバを選択するため、最速のサーバがより頻繁に使用されます。",
|
||||
"bootstrap_dns": "ブートストラップDNSサーバ",
|
||||
"bootstrap_dns_desc": "ブートストラップDNSサーバは、上流として指定したDoH/DoTリゾルバのIPアドレスを解決するために使用されます。",
|
||||
"check_dhcp_servers": "DHCPサーバをチェックする",
|
||||
@@ -17,11 +20,15 @@
|
||||
"dhcp_leases": "DHCP割り当て",
|
||||
"dhcp_static_leases": "DHCP静的割り当て",
|
||||
"dhcp_leases_not_found": "DHCP割当はありません",
|
||||
"dhcp_config_saved": "DHCPサーバの設定を保存しました",
|
||||
"dhcp_config_saved": "DHCP設定の保存に成功しました",
|
||||
"form_error_required": "必須項目",
|
||||
"form_error_ip4_format": "IPv4フォーマットではありません",
|
||||
"form_error_ip6_format": "IPv6フォーマットではありません",
|
||||
"form_error_ip_format": "IPv4フォーマットではありません",
|
||||
"form_error_mac_format": "MACフォーマットではありません",
|
||||
"form_error_client_id_format": "Client IDの形式が無効です",
|
||||
"form_error_positive": "0より大きい必要があります",
|
||||
"form_error_negative": "0以上である必要があります",
|
||||
"dhcp_form_gateway_input": "ゲートウェイIP",
|
||||
"dhcp_form_subnet_input": "サブネットマスク",
|
||||
"dhcp_form_range_title": "IPアドレスの範囲",
|
||||
@@ -32,6 +39,7 @@
|
||||
"dhcp_interface_select": "DHCPインタフェースの選択",
|
||||
"dhcp_hardware_address": "MACアドレス",
|
||||
"dhcp_ip_addresses": "IPアドレス",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "ホスト名",
|
||||
"dhcp_table_expires": "有効期限",
|
||||
"dhcp_warning": "内蔵しているDHCPサーバを有効にしたい場合は、稼働中のDHCPサーバがないことを確認してください。そうでなければ、接続されたデバイスのためにインターネットを壊すかもしれません!",
|
||||
@@ -43,17 +51,28 @@
|
||||
"dhcp_new_static_lease": "新規静的割り当て",
|
||||
"dhcp_static_leases_not_found": "DHCP静的割り当てはありません",
|
||||
"dhcp_add_static_lease": "静的割り当てを追加する",
|
||||
"dhcp_reset": "DHCP設定をリセットして良いですか?",
|
||||
"country": "国",
|
||||
"city": "街",
|
||||
"delete_confirm": "\"{{key}}\" を削除してもよろしいですか?",
|
||||
"form_enter_hostname": "ホスト名を入力してください",
|
||||
"error_details": "エラー詳細",
|
||||
"response_details": "応答の詳細",
|
||||
"request_details": "要求の詳細",
|
||||
"client_details": "クライアントの詳細",
|
||||
"details": "詳細",
|
||||
"back": "戻る",
|
||||
"dashboard": "ダッシュボード",
|
||||
"settings": "設定",
|
||||
"filters": "フィルタ",
|
||||
"filter": "フィルタ",
|
||||
"query_log": "クエリ・ログ",
|
||||
"compact": "コンパクト",
|
||||
"nothing_found": "何も見つかりません",
|
||||
"faq": "よくある質問",
|
||||
"version": "バージョン",
|
||||
"address": "アドレス",
|
||||
"protocol": "プロトコル",
|
||||
"on": "オン",
|
||||
"off": "オフ",
|
||||
"copyright": "著作権",
|
||||
@@ -66,16 +85,22 @@
|
||||
"disabled_protection": "保護を無効にしました",
|
||||
"refresh_statics": "統計データを最新にする",
|
||||
"dns_query": "DNSクエリ",
|
||||
"blocked_by": "<0>フィルタにブロックされたDNSクエリ</0>",
|
||||
"stats_malware_phishing": "ブロックされたマルウェア/フィッシング",
|
||||
"stats_adult": "ブロックされたアダルトウェブサイト",
|
||||
"stats_query_domain": "最も問合せされたドメイン",
|
||||
"for_last_24_hours": "過去24時間以内",
|
||||
"for_last_days": "過去{{count}}日間以内",
|
||||
"for_last_days_plural": "過去{{count}}日間以内",
|
||||
"no_domains_found": "ドメイン情報はありません",
|
||||
"requests_count": "リクエスト数",
|
||||
"top_blocked_domains": "最もブロックされたドメイン",
|
||||
"top_clients": "トップクライアント",
|
||||
"no_clients_found": "クライアント情報はありません",
|
||||
"general_statistics": "全般的な統計",
|
||||
"number_of_dns_query_days": "過去{{count}}日間に処理されたDNSクエリの数",
|
||||
"number_of_dns_query_days_plural": "過去{{count}}日間に処理された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_by_sec": "AdGuardブラウジングセキュリティモジュールによってブロックされたDNSリクエストの数",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "ブロックされたアダルトウェブサイトの数",
|
||||
@@ -90,15 +115,21 @@
|
||||
"use_adguard_parental": "AdGuardペアレンタルコントロール・ウェブサービスを使用する",
|
||||
"use_adguard_parental_hint": "AdGuard Homeは、ドメインにアダルトコンテンツが含まれているかどうかを確認します。 ブラウジングセキュリティ・ウェブサービスと同じプライバシーに優しいAPIを使用します。",
|
||||
"enforce_safe_search": "セーフサーチを強制する",
|
||||
"enforce_save_search_hint": "AdGuard Homeは、Google、Youtube、Bing、Yandexの検索エンジンでセーフサーチを強制できます。",
|
||||
"enforce_save_search_hint": "AdGuard Homeは、Google、Youtube、Bing、DuckDuckGo、Yandexの検索エンジンでセーフサーチを強制できます。",
|
||||
"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_dns_hint": "このフィールドを未入力のままにすると、AdGuard Homeは上流として<a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a>を使用します。DNS over TLSサーバには、「tls://」プレフィックスを使用してください。",
|
||||
"test_upstream_btn": "上流サーバをテストする",
|
||||
"upstreams": "上流",
|
||||
"apply_btn": "適用する",
|
||||
"disabled_filtering_toast": "フィルタリングを無効にしました",
|
||||
"enabled_filtering_toast": "フィルタリングを有効にしました",
|
||||
@@ -110,22 +141,33 @@
|
||||
"enabled_save_search_toast": "セーフサーチを有効にしました",
|
||||
"enabled_table_header": "有効",
|
||||
"name_table_header": "名称",
|
||||
"filter_url_table_header": "フィルタのURL",
|
||||
"list_url_table_header": "URLリスト",
|
||||
"rules_count_table_header": "ルール数",
|
||||
"last_time_updated_table_header": "最終更新時刻",
|
||||
"actions_table_header": "操作",
|
||||
"request_table_header": "リクエスト",
|
||||
"edit_table_action": "編集する",
|
||||
"delete_table_action": "削除する",
|
||||
"filters_and_hosts": "フィルタとhostsブロックリスト",
|
||||
"elapsed": "経過",
|
||||
"filters_and_hosts_hint": "AdGuard Homeは、基本的な広告ブロックルールとhostsファイルの構文を理解します。",
|
||||
"no_filters_added": "フィルタは追加されませんでした",
|
||||
"add_filter_btn": "フィルタを追加する",
|
||||
"no_blocklist_added": "ブロックリストには何も追加されていません",
|
||||
"no_whitelist_added": "許可リストには何も追加されていません",
|
||||
"add_blocklist": "ブロックリストに追加する",
|
||||
"add_allowlist": "許可リストに追加する",
|
||||
"cancel_btn": "キャンセル",
|
||||
"enter_name_hint": "名称を入力",
|
||||
"enter_url_hint": "URLを入力",
|
||||
"enter_url_or_path_hint": "リストのURLまたは絶対パスを入力してください",
|
||||
"check_updates_btn": "アップデートを確認する",
|
||||
"new_filter_btn": "新しいフィルタ・サブスクリプション",
|
||||
"enter_valid_filter_url": "フィルタ・サブスクリプションもしくはhostsファイルの有効なURLを入力してください。",
|
||||
"new_blocklist": "新しいブロックリスト",
|
||||
"new_allowlist": "新しい許可リスト",
|
||||
"edit_blocklist": "ブロックリストの編集",
|
||||
"edit_allowlist": "許可リストの編集",
|
||||
"choose_blocklist": "ブロックリストの選択",
|
||||
"choose_allowlist": "許可リストの選択",
|
||||
"enter_valid_blocklist": "ブロックリストへ有効なURLを入力してください。",
|
||||
"enter_valid_allowlist": "許可リストへ有効なURLを入力してください。",
|
||||
"form_error_url_format": "URLフォーマットが間違っています",
|
||||
"form_error_url_or_path_format": "リストのURLまたは絶対パスが無効です",
|
||||
"custom_filter_rules": "カスタム・フィルタリングルール",
|
||||
"custom_filter_rules_hint": "1つの行に1つのルールを入力してください。 広告ブロックルールやhostsファイル構文を使用できます。",
|
||||
"examples_title": "例",
|
||||
@@ -137,20 +179,23 @@
|
||||
"example_comment_hash": "# ここもコメントです",
|
||||
"example_regex_meaning": "指定の正規表現に一致するドメインへのアクセスをブロックします",
|
||||
"example_upstream_regular": "通常のDNS(UDPでの問い合わせ)",
|
||||
"example_upstream_dot": "暗号化されている <a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-over-TLS</a>",
|
||||
"example_upstream_doh": "暗号化されている <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a>",
|
||||
"example_upstream_sdns": "<a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> または <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a> リゾルバのために <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS Stamps</a> を使えます",
|
||||
"example_upstream_dot": "暗号化されている <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "暗号化されている <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "<1>DNSCrypt</1> または <2>DNS-over-HTTPS</2> リゾルバのために <0>DNS Stamps</0> を使えます",
|
||||
"example_upstream_tcp": "通常のDNS(TCPでの問い合わせ)",
|
||||
"all_filters_up_to_date_toast": "すべてのフィルタは既に最新です",
|
||||
"all_lists_up_to_date_toast": "すべてのリストは既に最新です",
|
||||
"updated_upstream_dns_toast": "上流DNSサーバを更新しました",
|
||||
"dns_test_ok_toast": "指定されたDNSサーバは正しく動作しています",
|
||||
"dns_test_not_ok_toast": "サーバ \"{{key}}\": 使用できませんでした。正しく入力されているかどうかを確認してください",
|
||||
"unblock_btn": "ブロック解除",
|
||||
"block_btn": "ブロックする",
|
||||
"unblock": "ブロック解除",
|
||||
"block": "ブロック",
|
||||
"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": "すべて表示",
|
||||
@@ -161,17 +206,57 @@
|
||||
"next_btn": "次へ",
|
||||
"loading_table_status": "読み込み中…",
|
||||
"page_table_footer_text": "ページ",
|
||||
"of_table_footer_text": "/",
|
||||
"rows_table_footer_text": "行",
|
||||
"updated_custom_filtering_toast": "カスタム・フィルタリングルールを更新しました",
|
||||
"rule_removed_from_custom_filtering_toast": "ルールをカスタム・フィルタリングルールから除去しました",
|
||||
"rule_added_to_custom_filtering_toast": "ルールをカスタム・フィルタリングルールに追加しました",
|
||||
"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",
|
||||
"null_ip": "Null IP",
|
||||
"custom_ip": "カスタムIP",
|
||||
"blocking_ipv4": "ブロック中のIPv4",
|
||||
"blocking_ipv6": "ブロック中のIPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "通常のDNS",
|
||||
"form_enter_rate_limit": "頻度制限を入力してください",
|
||||
"rate_limit": "頻度制限",
|
||||
"edns_enable": "EDNSクライアント・サブネットを有効にする",
|
||||
"edns_cs_desc": "有効にすると、AdGuard HomeはクライアントのサブネットをDNSサーバへ送信します。",
|
||||
"rate_limit_desc": "単一のクライアントに許可される1秒あたりのリクエスト数(0:無制限)",
|
||||
"blocking_ipv4_desc": "ブロックされたAリクエストに対して応答されるIPアドレス",
|
||||
"blocking_ipv6_desc": "ブロックされたAAAAリクエストに対して応答されるIPアドレス",
|
||||
"blocking_mode_default": "デフォルト:Adblockスタイルのルールによってブロックされると、NXDOMAINで応答します。 /etc/hostsスタイルのルールによってブロックされると、ルールで指定されたIPアドレスで応答します",
|
||||
"blocking_mode_nxdomain": "NXDOMAIN:NXDOMAINコードで応答します",
|
||||
"blocking_mode_null_ip": "Null IP:ゼロのIPアドレスで応答します(Aの場合は0.0.0.0; AAAAの場合は::)",
|
||||
"blocking_mode_custom_ip": "カスタムIP:手動で設定されたIPアドレスで応答します",
|
||||
"upstream_dns_client_desc": "このフィールドを未入力のままにすると、AdGuard Homeは<0>DNS設定</0>で構成されたサーバを使用します。",
|
||||
"tracker_source": "追跡元",
|
||||
"source_label": "ソース",
|
||||
"found_in_known_domain_db": "既知のドメインデータベースに見つかりました。",
|
||||
"category_label": "カテゴリ",
|
||||
"rule_label": "ルール",
|
||||
"filter_label": "フィルタ",
|
||||
"list_label": "リスト",
|
||||
"unknown_filter": "不明なフィルタ {{filterId}}",
|
||||
"known_tracker": "既知のトラッカー",
|
||||
"install_welcome_title": "ようこそ、AdGuard Home へ!",
|
||||
"install_welcome_desc": "AdGuard Homeは、ネットワーク全体で広告と追跡をブロックするDNSサーバです。その目的は、ネットワークとデバイスのすべてをあなたが制御できるようにすることであり、クライアント側のプログラムを使用する必要はありません。",
|
||||
"install_settings_title": "管理用ウェブインターフェイス",
|
||||
@@ -183,6 +268,7 @@
|
||||
"install_settings_dns_desc": "次のアドレスでDNSサーバを使用するようにあなたのデバイスまたはルータを設定する必要があります:",
|
||||
"install_settings_all_interfaces": "すべてのインターフェイス",
|
||||
"install_auth_title": "認証",
|
||||
"install_auth_desc": "AdGuard Homeの管理ウェブインターフェースにパスワード認証を設定することを強くお勧めします。ローカルネットワークでのみアクセス可能であっても、制限のないアクセスから保護することは重要です。",
|
||||
"install_auth_username": "ユーザ名",
|
||||
"install_auth_password": "パスワード",
|
||||
"install_auth_confirm": "パスワード(確認用)",
|
||||
@@ -199,6 +285,7 @@
|
||||
"install_devices_router_list_1": "ルータの設定を開きます。通常は、URL(http://192.168.0.1/ または http://192.168.1.1/ など)を介してブラウザからアクセスできます。パスワードの入力を求められることがあります。パスワードを覚えていない場合は、ルータにあるボタンを押してパスワードをリセットできます。一部のルータは特定のアプリケーションを必要とします。その場合、アプリケーションはあなたのコンピュータ/電話に既にインストールされているはずです。",
|
||||
"install_devices_router_list_2": "DHCP/DNSの設定を見つけます。DNSの文字のある入力欄を探します。それは、1〜3桁の数字で4つのグループに分けられた入力欄で、2〜3セットを許可されている欄です。",
|
||||
"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": "画面の左側にある「アダプターの設定の変更」を見つけてクリックします。",
|
||||
@@ -261,6 +348,8 @@
|
||||
"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>です。",
|
||||
@@ -282,14 +371,17 @@
|
||||
"client_identifier_desc": "クライアントはIPアドレスまたはMACアドレスで識別できます。AdGuard Homeが<0>DHCPサーバ</0>でもある場合にのみ、識別子としてMACを使用することが可能であることにご注意ください。",
|
||||
"form_enter_ip": "IPアドレスを入力してください",
|
||||
"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}}\" を削除してもよろしいですか?",
|
||||
"filter_confirm_delete": "フィルターを削除してもよろしいですか?",
|
||||
"list_confirm_delete": "このリストを削除してもよろしいですか?",
|
||||
"auto_clients_title": "クライアント(実行時)",
|
||||
"auto_clients_desc": "AdGuard Homeで使用しているが設定に保存されていないクライアント上のデータ",
|
||||
"access_title": "アクセス設定",
|
||||
@@ -298,7 +390,7 @@
|
||||
"access_allowed_desc": "CIDRまたはIPアドレスのリスト。設定されると、AdGuard HomeはこれらのIPアドレスからのリクエストのみを許可します。",
|
||||
"access_disallowed_title": "拒否するクライアント",
|
||||
"access_disallowed_desc": "CIDRまたはIPアドレスのリスト。設定されると、AdGuard HomeはこれらのIPアドレスからのリクエストを破棄します。",
|
||||
"access_blocked_title": "ブロックするドメイン",
|
||||
"access_blocked_title": "拒否するドメイン",
|
||||
"access_blocked_desc": "これをフィルタと混同しないでください。AdGuard Homeは、これらのドメインを含むDNSクエリを破棄します。",
|
||||
"access_settings_saved": "アクセス設定の保存に成功しました",
|
||||
"updates_checked": "アップデートの確認に成功しました",
|
||||
@@ -327,8 +419,9 @@
|
||||
"rewrite_confirm_delete": "\"{{key}}\" のためのDNS書き換え情報を削除してもよろしいですか?",
|
||||
"rewrite_desc": "特定のドメイン名に対するDNS応答を簡単にカスタマイズすることを可能にします。",
|
||||
"rewrite_applied": "書き換えルールを適用済み",
|
||||
"rewrite_hosts_applied": "hostsファイルのルールによって書き換え済み",
|
||||
"dns_rewrites": "DNS書き換え",
|
||||
"form_domain": "ドメイン名を入力",
|
||||
"form_domain": "ドメイン名を入力してください",
|
||||
"form_answer": "IPアドレスかドメイン名を入力",
|
||||
"form_error_domain_format": "ドメイン名のフォーマットが間違っています",
|
||||
"form_error_answer_format": "応答フォーマットが間違っています",
|
||||
@@ -341,5 +434,133 @@
|
||||
"blocked_services_global": "ブロックするサービスに対しグローバル設定を使用する",
|
||||
"blocked_service": "ブロックするサービス",
|
||||
"block_all": "すべてブロック",
|
||||
"unblock_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_24_hour": "24時間",
|
||||
"interval_days": "{{count}}日",
|
||||
"interval_days_plural": "{{count}}日",
|
||||
"domain": "ドメイン",
|
||||
"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": "統計の消去に成功しました",
|
||||
"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かIPアドレスによるブロック",
|
||||
"blocked_by_cname_or_ip": "CNAMEもしくはIPアドレスによってブロック済み",
|
||||
"try_again": "再試行する",
|
||||
"domain_desc": "DNSリライトしたいドメイン名やワイルドカードを入力してください。",
|
||||
"example_rewrite_domain": "このドメイン名のみへのレスポンスをリライトする",
|
||||
"example_rewrite_wildcard": "<0>example.org</0>のすべてのサブドメインへのレスポンスをリライトする",
|
||||
"rewrite_ip_address": "IPアドレス入力した場合:AまたはAAAA応答でこのIPが使用されます。",
|
||||
"rewrite_domain_name": "ドメイン名入力した場合:CNAME記録が追加されます。",
|
||||
"rewrite_A": "<0>A</0>:特別な値、アップストリームからの<0>A</0>記録を保持します。",
|
||||
"rewrite_AAAA": "<0>AAAA</0>:特別な値、アップストリームからの<0>AAAA</0>記録を保持します。",
|
||||
"disable_ipv6": "IPv6を無効にする",
|
||||
"disable_ipv6_desc": "チェックすると、IPv6アドレス(タイプAAAA)のすべてのDNSクエリは破棄されます。",
|
||||
"fastest_addr": "最速のIPアドレス",
|
||||
"fastest_addr_desc": "すべてのDNSサーバーを照会し、全応答の中で最速のIPアドレスを返します",
|
||||
"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_result": "その結果、システムからのすべてのDNS要求は、デフォルトでAdGuardHomeによって処理されます。",
|
||||
"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_rule": "ルール: {{rule}}",
|
||||
"check_service": "サービス名: {{service}}",
|
||||
"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": "動的IPアドレスが使用されていることを検出しました— <0>{{ip}}</0>。静的アドレスとして使用しますか?",
|
||||
"confirm_static_ip": "AdGuard Homeは、{{ip}}を静的IPアドレスとして設定します。よろしいですか?",
|
||||
"list_updated": "{{count}}個のリストが更新されました",
|
||||
"list_updated_plural": "{{count}}個のリストが更新されました",
|
||||
"dnssec_enable": "DNSSECを有効にする",
|
||||
"dnssec_enable_desc": "DNSクエリの応答にDNSSECフラグを設定し、結果を確認します(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": "DNSキャッシュサイズ(バイト単位)",
|
||||
"cache_ttl_min_override": "最小TTLの上書き",
|
||||
"cache_ttl_max_override": "最大TTLの上書き",
|
||||
"enter_cache_size": "キャッシュサイズを入力してください",
|
||||
"enter_cache_ttl_min_override": "最小TTLを入力してください",
|
||||
"enter_cache_ttl_max_override": "最大TTLを入力してください",
|
||||
"cache_ttl_min_override_desc": "上流サーバから受信したTTL値(最小)を上書き。この値は3600(1時間)を超えることはできません。",
|
||||
"cache_ttl_max_override_desc": "上流サーバから受信したTTL値(最大)を上書き。",
|
||||
"min_exceeds_max_value": "最小値が最大値を超えています",
|
||||
"value_not_larger_than": "値は{{maximum}}より大きくすることはできません",
|
||||
"filter_category_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": "その他のブロックリストです。",
|
||||
"original_response": "当初の応答",
|
||||
"click_to_view_queries": "クエリを表示するにはクリックしてください"
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "클라이언트 설정",
|
||||
"example_upstream_reserved": "<0>특정 도메인에 대한</0> DNS 업스트림을 지정할 수 있습니다.",
|
||||
"upstream_parallel": "쿼리 처리 속도를 높이려면 모든업스트림 서버에서 병렬 쿼리를 사용해주세요.",
|
||||
"upstream_parallel": "쿼리 처리 속도를 높이려면 모든 업스트림 서버에서 동시에 병렬 쿼리를 사용해주세요.",
|
||||
"parallel_requests": "병렬 처리 요청",
|
||||
"load_balancing": "로드 밸런싱",
|
||||
"load_balancing_desc": "한 번에 하나의 서버씩 질의합니다. AdGuard Home은 가중 랜덤 알고리즘를 사용해서 가장 빠른 서버가 자주 사용되도록 서버를 선택합니다.",
|
||||
"bootstrap_dns": "부트스트랩 DNS 서버",
|
||||
"bootstrap_dns_desc": "부트스트랩 DNS 서버는 업스트림으로 지정한 DoH/DoT 서버의 IP 주소를 확인하는 데 사용합니다.",
|
||||
"check_dhcp_servers": "DHCP 서버 체크",
|
||||
@@ -17,11 +20,15 @@
|
||||
"dhcp_leases": "DHCP 임대",
|
||||
"dhcp_static_leases": "DHCP 고정 임대",
|
||||
"dhcp_leases_not_found": "DHCP 임대를 찾을 수 없음",
|
||||
"dhcp_config_saved": "저장된 DHCP 서버 구성",
|
||||
"dhcp_config_saved": "DHCP 서버 설정 저장됨",
|
||||
"form_error_required": "필수 필드",
|
||||
"form_error_ip_format": "잘못된 IPv4 형식",
|
||||
"form_error_ip4_format": "잘못된 IPv4 형식",
|
||||
"form_error_ip6_format": "잘못된 IPv6 형식",
|
||||
"form_error_ip_format": "잘못된 IP 형식",
|
||||
"form_error_mac_format": "잘못된 MAC 형식",
|
||||
"form_error_client_id_format": "잘못된 클라이언트 ID 형식",
|
||||
"form_error_positive": "0보다 커야 합니다",
|
||||
"form_error_negative": "반드시 0 이상이여야 합니다",
|
||||
"dhcp_form_gateway_input": "게이트웨이 IP",
|
||||
"dhcp_form_subnet_input": "서브넷 마스크",
|
||||
"dhcp_form_range_title": "IP 주소 범위",
|
||||
@@ -32,6 +39,7 @@
|
||||
"dhcp_interface_select": "DHCP 인터페이스 선택",
|
||||
"dhcp_hardware_address": "하드웨어 주소",
|
||||
"dhcp_ip_addresses": "IP 주소",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "호스트 이름",
|
||||
"dhcp_table_expires": "만료",
|
||||
"dhcp_warning": "DHCP 서버를 사용하려면 네트워크에 다른 활성 DHCP 서버가 없는지 확인해주세요. 다른 활성 DHCP 서버가 있다면, 연결된 장치의 인터넷을 끊을 수 있습니다.",
|
||||
@@ -43,35 +51,46 @@
|
||||
"dhcp_new_static_lease": "새 고정 임대",
|
||||
"dhcp_static_leases_not_found": "DHCP 고정 임대를 찾을 수 없음",
|
||||
"dhcp_add_static_lease": "고정 임대 추가",
|
||||
"dhcp_reset": "정말로 DHCP 설정을 초기화할까요?",
|
||||
"country": "지역",
|
||||
"city": "도시",
|
||||
"delete_confirm": "\"{{key}}\"을 삭제하시겠습니까?",
|
||||
"form_enter_hostname": "호스트 이름을 입력해주세요",
|
||||
"error_details": "오류 상세 정보",
|
||||
"response_details": "응답 정보",
|
||||
"request_details": "요청 세부 사항",
|
||||
"client_details": "클라이언트 정보",
|
||||
"details": "정보",
|
||||
"back": "뒤로",
|
||||
"dashboard": "대시보드",
|
||||
"settings": "설정",
|
||||
"filters": "필터",
|
||||
"filter": "필터",
|
||||
"query_log": "쿼리 로그",
|
||||
"compact": "콤팩트",
|
||||
"nothing_found": "아무것도 찾을 수 없습니다",
|
||||
"faq": "자주 묻는 질문",
|
||||
"version": "버전",
|
||||
"address": "주소",
|
||||
"protocol": "프로토콜",
|
||||
"on": "ON",
|
||||
"off": "OFF",
|
||||
"copyright": "Copyright",
|
||||
"homepage": "홈페이지",
|
||||
"report_an_issue": "문제를 보고합니다",
|
||||
"privacy_policy": "개인 정보 처리 방침",
|
||||
"privacy_policy": "개인정보취급방침",
|
||||
"enable_protection": "보호 활성화",
|
||||
"enabled_protection": "보호 활성화됨",
|
||||
"disable_protection": "보호 비활성화",
|
||||
"disabled_protection": "보호 비활성화됨",
|
||||
"refresh_statics": "통계 새로 고침",
|
||||
"dns_query": "DNS 쿼리",
|
||||
"blocked_by": "필터에 의해 차단됨",
|
||||
"blocked_by": "<0>필터에 의해 차단됨</0>",
|
||||
"stats_malware_phishing": "차단된 멀웨어/피싱",
|
||||
"stats_adult": "차단된 성인 웹사이트",
|
||||
"stats_query_domain": "쿼리 도메인",
|
||||
"for_last_24_hours": "지난 24시간 동안",
|
||||
"for_last_days": "마지막 {{value}} 일",
|
||||
"for_last_days": "마지막 {{count}} 일",
|
||||
"for_last_days_plural": "마지막 {{count}} 일의 기록",
|
||||
"no_domains_found": "도메인이 없습니다",
|
||||
"requests_count": "요청 수",
|
||||
@@ -79,7 +98,7 @@
|
||||
"top_clients": "클라이언트",
|
||||
"no_clients_found": "클라이언트가 없습니다",
|
||||
"general_statistics": "일반 통계",
|
||||
"number_of_dns_query_days": "최근 {{value}} 일 동안 처리된 DNS 쿼리의 수",
|
||||
"number_of_dns_query_days": "최근 {{count}} 일 동안 처리된 DNS 쿼리의 수",
|
||||
"number_of_dns_query_days_plural": "최근 {{count}} 일 동안 처리된 DNS 쿼리 수",
|
||||
"number_of_dns_query_24_hours": "최근 24시간 동안 처리된 DNS 쿼리의 수",
|
||||
"number_of_dns_query_blocked_24_hours": "애드블록 필터 및 호스트 차단 목록에 의해 차단된 DNS 요청수",
|
||||
@@ -100,11 +119,17 @@
|
||||
"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_dns_hint": "이 항목을 비워 두면 AdGuard Home에서 <a href='https://1.1.1.1/' target='_blank'> Cloudflare DNS </a>를 업스트림으로 사용합니다.",
|
||||
"test_upstream_btn": "업스트림 테스트",
|
||||
"upstreams": "업스트림",
|
||||
"apply_btn": "적용",
|
||||
"disabled_filtering_toast": "필터링 비활성화됨",
|
||||
"enabled_filtering_toast": "필터링 활성화됨",
|
||||
@@ -116,22 +141,33 @@
|
||||
"enabled_save_search_toast": "세이프서치 활성화됨",
|
||||
"enabled_table_header": "활성화됨",
|
||||
"name_table_header": "이름",
|
||||
"filter_url_table_header": "필터 주소",
|
||||
"list_url_table_header": "리스트 URL",
|
||||
"rules_count_table_header": "규칙 개수",
|
||||
"last_time_updated_table_header": "마지막 업데이트",
|
||||
"actions_table_header": "가능한 동작",
|
||||
"request_table_header": "요청",
|
||||
"edit_table_action": "편집",
|
||||
"delete_table_action": "삭제",
|
||||
"filters_and_hosts": "필터와 호스트 차단목록",
|
||||
"elapsed": "소요",
|
||||
"filters_and_hosts_hint": "AdGuard Home은 기본적인 광고 차단 규칙과 호스트 파일 문법을 읽을 수 있습니다",
|
||||
"no_filters_added": "추가된 필터 없음",
|
||||
"add_filter_btn": "필터 추가",
|
||||
"no_blocklist_added": "차단 목록이 추가되지 않음",
|
||||
"no_whitelist_added": "허용 목록이 추가되지 않음",
|
||||
"add_blocklist": "차단 목록 추가",
|
||||
"add_allowlist": "허용 목록 추가",
|
||||
"cancel_btn": "취소",
|
||||
"enter_name_hint": "이름을 입력하세요",
|
||||
"enter_url_hint": "주소를 입력하세요",
|
||||
"enter_url_or_path_hint": "URL 또는 목록의 절대 경로를 입력하세요",
|
||||
"check_updates_btn": "업데이트 확인",
|
||||
"new_filter_btn": "새로운 필터 구독",
|
||||
"enter_valid_filter_url": "호스트 파일 또는 필터 구독에 올바른 URL 을 입력하세요.",
|
||||
"new_blocklist": "새 차단 목록",
|
||||
"new_allowlist": "새 허용 목록",
|
||||
"edit_blocklist": "차단 목록 수정",
|
||||
"edit_allowlist": "허용 목록 수정",
|
||||
"choose_blocklist": "차단 목록 선택",
|
||||
"choose_allowlist": "허용 목록 선택",
|
||||
"enter_valid_blocklist": "차단 목록에 유효한 URL을 입력해주세요.",
|
||||
"enter_valid_allowlist": "허용 목록에 유효한 URL을 입력해주세요.",
|
||||
"form_error_url_format": "잘못된 URL 형식",
|
||||
"form_error_url_or_path_format": "올바른 URL 또는 목록의 절대 경로가 아닙니다",
|
||||
"custom_filter_rules": "커스텀 필터링 규칙",
|
||||
"custom_filter_rules_hint": "한 라인에 한 규칙만 입력하세요. 광고 차단 규칙과 호스트 파일 문법 중 하나를 사용할 수 있습니다",
|
||||
"examples_title": "예시",
|
||||
@@ -147,16 +183,19 @@
|
||||
"example_upstream_doh": "암호화 된 <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "<1>DNSCrypt</1>나 <2>DNS-over-HTTPS</2> 리졸버를 위해 <0>DNS 스탬프</0>를 사용할 수 있습니다",
|
||||
"example_upstream_tcp": "사용자 지정 DNS (TCP를 통한 접속)",
|
||||
"all_filters_up_to_date_toast": "모든 필터는 이미 최신입니다",
|
||||
"all_lists_up_to_date_toast": "모든 리스트가 이미 최신입니다",
|
||||
"updated_upstream_dns_toast": "업스트림 DNS 서버를 업데이트하였습니다",
|
||||
"dns_test_ok_toast": "특정 DNS 서버들은 정상적으로 동작 중입니다",
|
||||
"dns_test_not_ok_toast": "서버 \"{{key}}\": 사용할 수 없습니다, 제대로 작성했는지 확인하세요.",
|
||||
"unblock_btn": "차단 해제",
|
||||
"block_btn": "차단",
|
||||
"unblock": "차단 해제",
|
||||
"block": "차단",
|
||||
"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": "모두 표시",
|
||||
@@ -167,7 +206,6 @@
|
||||
"next_btn": "다음",
|
||||
"loading_table_status": "로딩중...",
|
||||
"page_table_footer_text": "페이지",
|
||||
"of_table_footer_text": "/",
|
||||
"rows_table_footer_text": "행",
|
||||
"updated_custom_filtering_toast": "사용자 정의 필터링 규칙 업데이트",
|
||||
"rule_removed_from_custom_filtering_toast": "사용자 정의 필터링 규칙에서 규칙 제거",
|
||||
@@ -176,6 +214,7 @@
|
||||
"query_log_filtered": "필터: {{filter}}",
|
||||
"query_log_confirm_clear": "정말로 모든 쿼리 로그를 비우시겠습니까?",
|
||||
"query_log_cleared": "쿼리 로그를 성공적으로 초기화했습니다",
|
||||
"query_log_updated": "질의 로그가 성공적으로 업데이트되었습니다",
|
||||
"query_log_clear": "쿼리 로그 비우기",
|
||||
"query_log_retention": "쿼리 로그 저장 기간",
|
||||
"query_log_enable": "로그 활성화",
|
||||
@@ -183,12 +222,41 @@
|
||||
"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",
|
||||
"null_ip": "빈 IP",
|
||||
"custom_ip": "사용자 지정 IP",
|
||||
"blocking_ipv4": "IPv4 차단",
|
||||
"blocking_ipv6": "IPv6 차단",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "평문 DNS",
|
||||
"form_enter_rate_limit": "한도 제한 입력하기",
|
||||
"rate_limit": "한도 제한",
|
||||
"edns_enable": "EDNS 클라이언트 서브넷 활성화",
|
||||
"edns_cs_desc": "활성화되면 AdGuard Home은 클라이언트의 서브넷을 DNS 서버에 전달합니다.",
|
||||
"rate_limit_desc": "단일 클라이언트에서 허용 가능한 초 당 요청 생성 숫자 (0: 무제한)",
|
||||
"blocking_ipv4_desc": "차단된 A 요청에 대해서 반환할 IP 주소",
|
||||
"blocking_ipv6_desc": "차단된 AAAA 요청에 대해서 반환할 IP 주소",
|
||||
"blocking_mode_default": "기본: Adblock 스타일 규칙에 의해 차단되면 NXDOMAIN으로 응답합니다; /etc/hosts 스타일 규칙에 의해 차단되면 규칙에 정의된 IP 주소로 응답합니다",
|
||||
"blocking_mode_nxdomain": "NXDOMAIN: NXDOMAIN 코드로 응답",
|
||||
"blocking_mode_null_ip": "Null IP: 제로 IP 주소 (A는 0.0.0.0; AAAA는 ::) 로 응답합니다",
|
||||
"blocking_mode_custom_ip": "커스텀 IP: 직접 설정한 IP 주소로 응답합니다",
|
||||
"upstream_dns_client_desc": "이 값을 비워둔다면 AdGuard Home은 <0>DNS 설정</0>에 설정되어 있는 값을 사용합니다.",
|
||||
"tracker_source": "추적기 소스",
|
||||
"source_label": "소스",
|
||||
"found_in_known_domain_db": "알려진 도메인 데이터베이스에서 발견됨.",
|
||||
"category_label": "카테고리",
|
||||
"rule_label": "규칙",
|
||||
"filter_label": "필터",
|
||||
"list_label": "목록",
|
||||
"unknown_filter": "알려지지 않은 필터 {{filterId}}",
|
||||
"known_tracker": "알려진 추적기",
|
||||
"install_welcome_title": "AdGuard Home에 오신 것을 환영합니다!",
|
||||
"install_welcome_desc": "AdGuard Home은 광범위한 네트워크 광고와 추적 DNS 서버를 차단 합니다. 그것의 목적은 당신이 당신의 전체 네트워크와 당신의 모든 기기를 제어하는 것이며, 그것은 클라이언트의 프로그램을 사용할 필요가 없습니다.",
|
||||
"install_settings_title": "관리자 웹 인터페이스",
|
||||
@@ -217,6 +285,7 @@
|
||||
"install_devices_router_list_1": "라우터의 환경 설정을 여세요. 환경 설정은 다음의 주소(http://192.168.0.1/ 혹은 http://192.168.1.1/)를 통해 브라우저로 접근 가능합니다. 비밀번호를 입력해야할 수 있습니다. 비밀번호를 잊었다면 대개 라우터 기기에 있는 버튼을 눌러 비밀번호를 초기화할 수 있습니다. 어떤 라우터들은 당신의 컴퓨터/핸드폰에 설치할 수 있는 특정 어플리케이션을 필요로합니다.",
|
||||
"install_devices_router_list_2": "각각 1~3자리 숫자의 네 그룹으로 분할된 두 세트의 숫자를 허용하는 필드 옆에 있는 DNS 문자를 찾으세요.",
|
||||
"install_devices_router_list_3": "AdGuard Home 서버 주소를 입력하세요",
|
||||
"install_devices_router_list_4": "일부 라우터는 DNS서버의 커스텀 설정이 불가합니다. 간혹 AdGuard Home을 DHCP서버로 이용하여 문제를 해결하는 경우가 있지만 문제가 지속될 경우 사용하시는 라우터 모델의 매뉴얼을 참고하시어 <0>DNS</0>서버 커스텀 설정 방법을 직접 살펴보셔야 합니다.",
|
||||
"install_devices_windows_list_1": "시작 메뉴 또는 윈도우 검색을 통해 제어판을 여세요",
|
||||
"install_devices_windows_list_2": "네트워크 및 인터넷 카테고리로 이동한 다음 네트워크 및 공유 센터로 이동하세요.",
|
||||
"install_devices_windows_list_3": "화면 왼쪽에서 어댑터 설정 변경을 찾아 클릭하세요.",
|
||||
@@ -279,6 +348,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} 사용 가능합니다! <0>이곳</0>을 클릭하여 더 많은 정보를 확인하세요.",
|
||||
"setup_guide": "설치 안내",
|
||||
"dns_addresses": "DNS 주소",
|
||||
"dns_start": "DNS 서버를 시작하고 있습니다",
|
||||
"dns_status_error": "DNS 서버 상태를 가져오는 도중 오류가 발생했습니다",
|
||||
"down": "다운로드",
|
||||
"fix": "수정",
|
||||
"dns_providers": "여기에 선택가능한 DNS 목록 </0>이 있습니다.",
|
||||
@@ -300,14 +371,17 @@
|
||||
"client_identifier_desc": "사용자는 IP 주소 또는 MAC 주소로 식별할 수 있지만 AdGuard Home이 <0>DHCP 서버인 </0> 경우에만 사용자는 MAC 주소로 식별할 수 있습니다.",
|
||||
"form_enter_ip": "IP 입력",
|
||||
"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}}\" 삭제하시겠습니까?",
|
||||
"filter_confirm_delete": "정말 이 필터를 삭제하시겠습니까?",
|
||||
"list_confirm_delete": "정말로 이 목록을 제거하시겠습니까?",
|
||||
"auto_clients_title": "클라이언트 (런타임)",
|
||||
"auto_clients_desc": "AdGuard Home을 사용하지만 구성에 저장되지 않은 클라이언트의 데이터입니다.",
|
||||
"access_title": "접근 설정",
|
||||
@@ -317,7 +391,7 @@
|
||||
"access_disallowed_title": "차단된 클라이언트",
|
||||
"access_disallowed_desc": "CIDR 또는 IP 주소 목록입니다. 구성된 경우 AdGuard Home은 이러한 IP 주소의 요청을 삭제합니다.",
|
||||
"access_blocked_title": "차단된 도메인",
|
||||
"access_blocked_desc": "필터와 혼동하지 마세요. AdGuard Home은 쿼리의 질문에서 이러한 도메인의 DNS 쿼리를 삭제합니다.",
|
||||
"access_blocked_desc": "이 기능을 필터와 혼동하지 마세요. AdGuard Home은 지정된 도메인의 쿼리 요청에서 DNS 쿼리를 삭제합니다. 여기서 특정 도메인을 지정하거나, 와일드 카드 또는 URL 필터규칙을 설정해보세요. 예) 'example.org', '*.example.org' or '||example.org^'.",
|
||||
"access_settings_saved": "액세스 설정이 성공적으로 저장되었습니다.",
|
||||
"updates_checked": "업데이트가 성공적으로 확인되었습니다",
|
||||
"updates_version_equal": "AdGuard Home 최신 상태입니다.",
|
||||
@@ -344,9 +418,10 @@
|
||||
"rewrite_not_found": "DNS 변경 정보를 찾을 수 없습니다",
|
||||
"rewrite_confirm_delete": "\"{{key}}\"에 대한 DNS 변경 정보를 삭제하시겠습니까?",
|
||||
"rewrite_desc": "특정 도메인 이름에 대한 사용자 지정 DNS 응답을 쉽게 구성할 수 있습니다.",
|
||||
"rewrite_applied": "적용된 변경 규칙",
|
||||
"rewrite_applied": "리디렉션 규칙이 적용됩니다",
|
||||
"rewrite_hosts_applied": "호스트 파일 규칙에 따라 재작성",
|
||||
"dns_rewrites": "DNS 변경",
|
||||
"form_domain": "도메인을 입력하세요",
|
||||
"form_domain": "도메인 이름 또는 와일드카드를 입력합니다",
|
||||
"form_answer": "IP 주소 또는 도메인 이름을 입력하세요",
|
||||
"form_error_domain_format": "도메인 형식이 잘못되었습니다",
|
||||
"form_error_answer_format": "답변 형식이 잘못되었습니다. ",
|
||||
@@ -369,11 +444,13 @@
|
||||
"stats_params": "통계 구성",
|
||||
"config_successfully_saved": "설정이 성공적으로 저장되었습니다.",
|
||||
"interval_24_hour": "24시간",
|
||||
"interval_days": "{{value}} 일",
|
||||
"interval_days": "{{count}} 일",
|
||||
"interval_days_plural": "{{count}} 일",
|
||||
"domain": "도메인",
|
||||
"answer": "응답",
|
||||
"filter_added_successfully": "필터가 성공적으로 추가되었습니다.",
|
||||
"filter_added_successfully": "목록이 성공적으로 추가됨",
|
||||
"filter_removed_successfully": "목록이 성공적으로 제거되었습니다",
|
||||
"filter_updated": "필터가 성공적으로 업데이트됨",
|
||||
"statistics_configuration": "통계 구성",
|
||||
"statistics_retention": "통계 저장 기간",
|
||||
"statistics_retention_desc": "값을 줄이면 설정한 값보다 오래된 데이터가 소멸됩니다.",
|
||||
@@ -398,6 +475,92 @@
|
||||
"location": "위치",
|
||||
"orgname": "단체 이름",
|
||||
"netname": "네트워크 이름",
|
||||
"network": "네트워크",
|
||||
"descr": "설명",
|
||||
"whois": "후이즈"
|
||||
"whois": "후이즈",
|
||||
"filtering_rules_learn_more": "차단 리스트를 직접 호스트하는 법을 <0>알아보세요</0>.",
|
||||
"blocked_by_response": "응답 중 차단된 CNAME 또는 IP",
|
||||
"blocked_by_cname_or_ip": "CNAME 또는 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> 기록 유지",
|
||||
"rewrite_AAAA": "<0> AAAA</0>: 특수 값, 업스트림에서 <0> AAAA</0> 기록 유지",
|
||||
"disable_ipv6": "IPv6 비활성화",
|
||||
"disable_ipv6_desc": "이 기능이 활성화되면 IPv6 (타입 AAAA) 의 모든 DNS 쿼리가 드랍됩니다.",
|
||||
"fastest_addr": "가장 빠른 IP 주소",
|
||||
"fastest_addr_desc": "반응이 가장 빠른 IP주소를 가진 DNS서버에 쿼리를 수행합니다.",
|
||||
"autofix_warning_text": "\"Fix\"를 클릭한다면 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_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_rule": "규칙: {{rule}}",
|
||||
"check_service": "서비스 이름: {{service}}",
|
||||
"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": "동적 IP 주소를 사용하는 것을 감지했습니다 — <0>{{ip}}</0>. 정말로 이걸 고정 IP로 사용하시겠습니까?",
|
||||
"confirm_static_ip": "AdGuard Home이 {{ip}}를 고정 IP 주소로 설정하려고 합니다. 계속하시겠습니까?",
|
||||
"list_updated": "{{count}} 리스트 업데이트됨",
|
||||
"list_updated_plural": "{{count}} 리스트 업데이트됨",
|
||||
"dnssec_enable": "DNSSEC 활성화",
|
||||
"dnssec_enable_desc": "발신 DNS 쿼리에서 DNSSEC 플래그를 설정하고 결과를 확인합니다 (DNSSEC-enabled resolver 필수)",
|
||||
"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": "DNS 캐시 크기 (바이트)",
|
||||
"cache_ttl_min_override": "최소 TTL 무시",
|
||||
"cache_ttl_max_override": "최대 TTL 무시",
|
||||
"enter_cache_size": "캐시 크기를 입력하세요",
|
||||
"enter_cache_ttl_min_override": "최소 TTL을 입력하세요",
|
||||
"enter_cache_ttl_max_override": "최대 TTL을 입력하세요",
|
||||
"cache_ttl_min_override_desc": "업스트림 서버에서 수신한 TTL 값(최소)을 무시합니다. 이 값은 3600(1시간)보다 클 수 없습니다",
|
||||
"cache_ttl_max_override_desc": "업스트림 서버에서 수신한 TTL 값(최대)을 무시합니다",
|
||||
"min_exceeds_max_value": "최소값이 최대값을 초과합니다",
|
||||
"value_not_larger_than": "값은 {{maximum}}보다 클 수 없습니다",
|
||||
"filter_category_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": "기타 차단 목록",
|
||||
"original_response": "원래 응답",
|
||||
"click_to_view_queries": "쿼리를 보려면 클릭합니다"
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "cliënt Instellingen",
|
||||
"example_upstream_reserved": "specificeer een DNS upstream <0>voor een specifiek domein(en)</0>",
|
||||
"upstream_parallel": "Gebruik parallelle query's om het oplossen te versnellen door gelijktijdig alle upstream-servers te queryen",
|
||||
"example_upstream_reserved": "Je kan DNS upstream <0>specifiëren voor specifieke domein(en)</0>",
|
||||
"upstream_parallel": "Gebruik parallelle verzoeken om te versnellen door gelijktijdig verzoeken te sturen naar alle upstream servers",
|
||||
"parallel_requests": "Parallelle verzoeken",
|
||||
"load_balancing": "Volume balanceren",
|
||||
"load_balancing_desc": "Eén server per keer bevragen. AdGuard Home gebruikt hiervoor een gewogen willekeurig algoritme om de server te kiezen zodat de snelste server meer zal gebruikt worden.",
|
||||
"bootstrap_dns": "Bootstrap DNS servers",
|
||||
"bootstrap_dns_desc": "Bootstrap DNS-servers worden gebruikt om IP-adressen op te lossen van de DoH / DoT-resolvers die u opgeeft als upstreams.",
|
||||
"check_dhcp_servers": "Zoek achter DHCP servers",
|
||||
@@ -15,12 +18,17 @@
|
||||
"dhcp_not_found": "Geen actieve DHCP servers gevonden op het netwerk. Het is VEILIG om de ingebouwde DHCP server in te schakelen",
|
||||
"dhcp_found": "Actieve DHCP server(s) gevonden op het netwerk. het is NIET veilig om de ingebouwde DHCP server in te schakelen.",
|
||||
"dhcp_leases": "DHCP lease overzicht",
|
||||
"dhcp_static_leases": "DHCP statische lease",
|
||||
"dhcp_leases_not_found": "Geen DHCP lease gevonden",
|
||||
"dhcp_config_saved": "DHCP server configuratie opgeslagen",
|
||||
"form_error_required": "Vereist veld",
|
||||
"form_error_ip4_format": "Ongeldig IPv4 formaat",
|
||||
"form_error_ip6_format": "Ongeldig IPv6 formaat",
|
||||
"form_error_ip_format": "Ongeldig IPv4 formaat",
|
||||
"form_error_mac_format": "Ongeldig MAC formaat.",
|
||||
"form_error_client_id_format": "Opmaak cliënt-ID is ongeldig",
|
||||
"form_error_positive": "Moet groter zijn dan 0",
|
||||
"form_error_negative": "Moet 0 of hoger dan 0 zijn",
|
||||
"dhcp_form_gateway_input": "Gateway IP",
|
||||
"dhcp_form_subnet_input": "Subnet mask",
|
||||
"dhcp_form_range_title": "Bereik van IP adressen",
|
||||
@@ -31,23 +39,40 @@
|
||||
"dhcp_interface_select": "Selecteer DHCP interface",
|
||||
"dhcp_hardware_address": "Hardware adres",
|
||||
"dhcp_ip_addresses": "IP adressen",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Host naam",
|
||||
"dhcp_table_expires": "Verloopt op",
|
||||
"dhcp_warning": "Indien je de ingebouwde DHCP server wilt inschakelen, let dan op dat er geen andere actieve DHCP server aanwezig is. Dit kan de internet verbinding instabiel maken!.",
|
||||
"dhcp_error": "We kunnen niet bepalen of er een andere DHCP server in het netwerk is.",
|
||||
"dhcp_static_ip_error": "Om de DHCP server te gebruiken, moet een statisch IP-adres worden ingesteld. We hebben niet kunnen vaststellen of de netwerkinterface is geconfigureerd met een statisch IP-adres. Stel handmatig een statisch IP-adres in.",
|
||||
"dhcp_dynamic_ip_found": "Om de DHCP server te gebruiken voor interface <0>{{interfaceName}}</0>, moet er een statisch IP-adres worden ingesteld. Uw huidige IP-adres is <0>{{ipAddress}}</0>. We stellen automatische dit IP-adres in, als statisch IP-adres, wanneer u op de knop DHCP inschakelen drukt.",
|
||||
"dhcp_lease_added": "Statische uitgifte \"{{key}}\" met succes toegevoegd",
|
||||
"dhcp_lease_deleted": "Statische uitgifte \"{{key}}\" met succes verwijderd",
|
||||
"dhcp_new_static_lease": "Voeg static lease toe",
|
||||
"dhcp_static_leases_not_found": "Geen DHCP static lease gevonden",
|
||||
"dhcp_add_static_lease": "Voeg statische lease toe",
|
||||
"dhcp_reset": "Weet je zeker dat je de DHCP configuratie wil resetten?",
|
||||
"country": "Land",
|
||||
"city": "Stad",
|
||||
"delete_confirm": "Ben je zeker dat je \"{{key}}\" wilt verwijderen?",
|
||||
"form_enter_hostname": "Vul hostnaam in",
|
||||
"error_details": "Fout details",
|
||||
"response_details": "Antwoorddetails",
|
||||
"request_details": "Verzoekdetails",
|
||||
"client_details": "Client details",
|
||||
"details": "Details",
|
||||
"back": "Terug",
|
||||
"dashboard": "Dashboard",
|
||||
"settings": "Instellingen",
|
||||
"filters": "Filters",
|
||||
"filter": "Filter",
|
||||
"query_log": "Query log",
|
||||
"compact": "Compact",
|
||||
"nothing_found": "Niets gevonden",
|
||||
"faq": "Veel gestelde vragen",
|
||||
"version": "Versie",
|
||||
"address": "IP-adres",
|
||||
"address": "Adres",
|
||||
"protocol": "Protocol",
|
||||
"on": "Aan",
|
||||
"off": "Uit",
|
||||
"copyright": "Copyright",
|
||||
@@ -60,10 +85,12 @@
|
||||
"disabled_protection": "Bescherming uitgeschakeld",
|
||||
"refresh_statics": "Ververs statistieken",
|
||||
"dns_query": "DNS-queries",
|
||||
"blocked_by": "<0>Geblokkeerd door Filters</0>",
|
||||
"stats_malware_phishing": "Geblokkeerde malware/phishing",
|
||||
"stats_adult": "Geblokkeerde 18+ websites",
|
||||
"stats_query_domain": "Meest bezochte domeinen",
|
||||
"for_last_24_hours": "van de laatste 24-uur",
|
||||
"for_last_days": "sinds de laatste {{count}} dagen",
|
||||
"for_last_days_plural": "sinds de laatste {{count}} dagen",
|
||||
"no_domains_found": "Geen domeinen gevonden",
|
||||
"requests_count": "Verzoek teller",
|
||||
@@ -71,6 +98,7 @@
|
||||
"top_clients": "Top gebruikers",
|
||||
"no_clients_found": "Geen gebruikers gevonden",
|
||||
"general_statistics": "Generieke statistieken",
|
||||
"number_of_dns_query_days": "Aantal verwerkte DNS aanvragen van de laatste {{count}} dagen",
|
||||
"number_of_dns_query_days_plural": "Aantal verwerkte DNS aanvragen van de laatste {{count}} dagen",
|
||||
"number_of_dns_query_24_hours": "Aantal verwerkte aanvragen van de laatste 24 uur",
|
||||
"number_of_dns_query_blocked_24_hours": "Aantal geblokkeerde DNS aanvragen door advertentie blokkering en hosts blokkeerlijsten",
|
||||
@@ -91,11 +119,17 @@
|
||||
"no_servers_specified": "Geen servers gespecificeerd",
|
||||
"general_settings": "Generieke instellingen",
|
||||
"dns_settings": "DNS Instellingen",
|
||||
"dns_blocklists": "DNS blokkeerlijsten",
|
||||
"dns_allowlists": "DNS toestemmingslijsten",
|
||||
"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.",
|
||||
"custom_filtering_rules": "Aangepaste filter regels",
|
||||
"encryption_settings": "Encryptie Instellingen",
|
||||
"dhcp_settings": "DHCP Instellingen",
|
||||
"upstream_dns": "Upstream DNS servers",
|
||||
"upstream_dns_hint": "Indien je dit veld leeg laat, zal AdGuard Home <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> gebruiken als upstream. Gebruik tls:// voor DNS over TLS servers.",
|
||||
"upstream_dns_hint": "Indien je dit veld leeg laat, zal AdGuard Home <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> gebruiken als upstream.",
|
||||
"test_upstream_btn": "Test upstream",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Toepassen",
|
||||
"disabled_filtering_toast": "Filters uitgeschakeld",
|
||||
"enabled_filtering_toast": "Filters ingeschakeld",
|
||||
@@ -107,22 +141,33 @@
|
||||
"enabled_save_search_toast": "Veilig zoeken ingeschakeld",
|
||||
"enabled_table_header": "Ingeschakeld",
|
||||
"name_table_header": "Naam",
|
||||
"filter_url_table_header": "Filter URL",
|
||||
"list_url_table_header": "URL lijst",
|
||||
"rules_count_table_header": "Aantal regels",
|
||||
"last_time_updated_table_header": "Laatste update",
|
||||
"actions_table_header": "Actie",
|
||||
"request_table_header": "Verzoek",
|
||||
"edit_table_action": "Bewerk",
|
||||
"delete_table_action": "Verwijderen",
|
||||
"filters_and_hosts": "Filters en hosts blokkeerlijsten",
|
||||
"elapsed": "Verstreken",
|
||||
"filters_and_hosts_hint": "AdGuard Home kan overweg met basic adblock regels en hosts bestanden syntaxis.",
|
||||
"no_filters_added": "Geen filters toegevoegd",
|
||||
"add_filter_btn": "Filter toevoegen",
|
||||
"no_blocklist_added": "Geen blokkeerlijsten toegevoegd",
|
||||
"no_whitelist_added": "Geen toestemmingslijsten toegevoegd",
|
||||
"add_blocklist": "Blokkeerlijst toevoegen",
|
||||
"add_allowlist": "Toestemmingslijst toevoegen",
|
||||
"cancel_btn": "Annuleren",
|
||||
"enter_name_hint": "Voeg naam toe",
|
||||
"enter_url_hint": "Voeg URL toe",
|
||||
"enter_url_or_path_hint": "Voer een URL in of het pad van de lijst",
|
||||
"check_updates_btn": "Controleer op updates",
|
||||
"new_filter_btn": "Nieuw filter abonnement",
|
||||
"enter_valid_filter_url": "Voer een geldige URL in voor een filterabonnement of een hosts-bestand.",
|
||||
"new_blocklist": "Nieuwe blokkeerlijst",
|
||||
"new_allowlist": "Nieuwe toestemmingslijst",
|
||||
"edit_blocklist": "Blokkeerlijst beheren",
|
||||
"edit_allowlist": "Toestemmingslijst beheren",
|
||||
"choose_blocklist": "Blokkeringslijsten selecteren",
|
||||
"choose_allowlist": "Toestemmingslijsten selecteren",
|
||||
"enter_valid_blocklist": "Voer een geldige URL in voor de blokkeerlijst.",
|
||||
"enter_valid_allowlist": "Voer een geldige URL in voor de toestemmingslijst.",
|
||||
"form_error_url_format": "Ongeldig URL formaat",
|
||||
"form_error_url_or_path_format": "Ongeldig URL of pad van de lijst",
|
||||
"custom_filter_rules": "Aangepaste filterregels",
|
||||
"custom_filter_rules_hint": "Voer één regel op een regel in. U kunt adblock-regels gebruiken of de syntaxis van hosts-bestanden gebruiken.",
|
||||
"examples_title": "Voorbeelden",
|
||||
@@ -134,20 +179,23 @@
|
||||
"example_comment_hash": "# Nog een opmerking",
|
||||
"example_regex_meaning": "blokkeer de toegang tot de domeinen die overeenkomen met de opgegeven reguliere expressie",
|
||||
"example_upstream_regular": "standaard DNS (over UDP)",
|
||||
"example_upstream_dot": "versleutelde<a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-over-TLS</a>",
|
||||
"example_upstream_doh": "versleutelde<a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a>",
|
||||
"example_upstream_sdns": "je kunt <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS Stamps</a> voor <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> of <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a> resolvers",
|
||||
"example_upstream_dot": "versleutelde <0>DNS_over_TLS</0>",
|
||||
"example_upstream_doh": "versleutelde <0>DNS_over_HTTPS</0>",
|
||||
"example_upstream_sdns": "je kunt <0>DNS Stamps</0> voor <1>DNSCrypt</1> of <2>DNS-over-HTTPS</2> resolvers",
|
||||
"example_upstream_tcp": "standaard DNS (over TCP)",
|
||||
"all_filters_up_to_date_toast": "Alle filters zijn al up-to-date",
|
||||
"all_lists_up_to_date_toast": "Alle lijsten zijn reeds up-to-date",
|
||||
"updated_upstream_dns_toast": "De upstream DNS-servers zijn bijgewerkt",
|
||||
"dns_test_ok_toast": "Opgegeven DNS-servers werken correct",
|
||||
"dns_test_not_ok_toast": "Server \"{{key}}\": kon niet worden gebruikt, controleer of u het correct hebt geschreven",
|
||||
"unblock_btn": "Deblokkeer",
|
||||
"block_btn": "Blokkeer",
|
||||
"unblock": "Deblokkeren",
|
||||
"block": "Blokkeren",
|
||||
"time_table_header": "Tijd",
|
||||
"date": "Datum",
|
||||
"domain_name_table_header": "Domein naam",
|
||||
"domain_or_client": "Domein of cliënt",
|
||||
"type_table_header": "Type",
|
||||
"response_table_header": "Antwoord",
|
||||
"response_code": "Reactie code",
|
||||
"client_table_header": "Gebruiker",
|
||||
"empty_response_status": "Leeg",
|
||||
"show_all_filter_type": "Toon alles",
|
||||
@@ -158,19 +206,57 @@
|
||||
"next_btn": "Volgende",
|
||||
"loading_table_status": "Laden...",
|
||||
"page_table_footer_text": "Pagina",
|
||||
"of_table_footer_text": "van",
|
||||
"rows_table_footer_text": "rijen",
|
||||
"updated_custom_filtering_toast": "Aangepaste filter regels zijn bijgewerkt",
|
||||
"rule_removed_from_custom_filtering_toast": "Regel verwijderd uit de aangepaste filterregels",
|
||||
"rule_added_to_custom_filtering_toast": "Regel toegevoegd aan de aangepaste filterregels",
|
||||
"query_log_response_status": "Status: {{value}}",
|
||||
"query_log_filtered": "Gefilterd door {{filter}}",
|
||||
"query_log_confirm_clear": "Weet u zeker dat u het hele query logboek wilt legen?",
|
||||
"query_log_cleared": "Het query logboek is succesvol geleegd",
|
||||
"query_log_updated": "Het query logboek is succesvol bijgewerkt",
|
||||
"query_log_clear": "Leeg query logs",
|
||||
"query_log_retention": "Query logs bewaartermijn",
|
||||
"query_log_enable": "Log bestanden inschakelen",
|
||||
"query_log_configuration": "Logbestanden instellingen",
|
||||
"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_retention_confirm": "Weet u zeker dat u de bewaartermijn van het query logboek wilt wijzigen? Als u de intervalwaarde verlaagt, gaan sommige gegevens verloren",
|
||||
"anonymize_client_ip": "Cliënt IP anonimiseren",
|
||||
"anonymize_client_ip_desc": "Het volledige IP-adres van de cliënt niet opnemen in log- en statistiekbestanden",
|
||||
"dns_config": "DNS server configuratie",
|
||||
"dns_cache_config": "DNS cache configuratie",
|
||||
"dns_cache_config_desc": "Hier kan de DNS cache geconfigureerd worden",
|
||||
"blocking_mode": "Blocking modus",
|
||||
"default": "Standaard",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Nul IP",
|
||||
"custom_ip": "Aangepast IP",
|
||||
"blocking_ipv4": "Blokkeren IP4",
|
||||
"blocking_ipv6": "Blokkeren IP6",
|
||||
"dns_over_https": "DNS-via-HTTPS",
|
||||
"dns_over_tls": "DNS-via-TLS",
|
||||
"plain_dns": "Gewone DNS",
|
||||
"form_enter_rate_limit": "Voer ratio limiet in",
|
||||
"rate_limit": "Ratio limiet",
|
||||
"edns_enable": "Zet EDNS client subnet aan",
|
||||
"edns_cs_desc": "Indien ingeschakeld stuurt AdGuard Home het subnet van de client naar de DNS-servers.",
|
||||
"rate_limit_desc": "Het aantal verzoeken per seconde die een enkele client mag doen (0: onbeperkt)",
|
||||
"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_mode_default": "Standaard: Reageer met NXDOMAIN wanneer geblokkeerd door een Adblock-type regel; reageer met het IP-adres dat is opgegeven in de regel wanneer het wordt geblokkeerd door een /etc/hosts type regel",
|
||||
"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_custom_ip": "Aangepast IP: Reageer met een handmatige ingesteld IP adres",
|
||||
"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",
|
||||
"source_label": "Bron",
|
||||
"found_in_known_domain_db": "Gevonden in de bekende domeingegevensbank.",
|
||||
"category_label": "Categorie",
|
||||
"rule_label": "Regel",
|
||||
"filter_label": "Filter",
|
||||
"list_label": "Lijst",
|
||||
"unknown_filter": "Onbekend filter {{filterId}}",
|
||||
"known_tracker": "Bekende volger",
|
||||
"install_welcome_title": "Welkom bij AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home is een netwerk DNS server die advertenties en trackers blokkeert. Het doel is om jou controle te geven over je gehele netwerk en al je apparaten, en er hoeft geen client-side programma te worden gebruikt.",
|
||||
"install_settings_title": "Admin webinterface",
|
||||
@@ -182,6 +268,7 @@
|
||||
"install_settings_dns_desc": "U moet uw apparaten of router configureren om de DNS-server te gebruiken op de volgende adressen:",
|
||||
"install_settings_all_interfaces": "Alle interfaces",
|
||||
"install_auth_title": "Authenticatie",
|
||||
"install_auth_desc": "Het wordt ten zeerste aanbevolen om wachtwoordverificatie te configureren voor de AdGuard Home admin webinterface. Zelfs als het alleen toegankelijk is in uw lokale netwerk, is het nog steeds belangrijk om het te beschermen tegen onbeperkte toegang.",
|
||||
"install_auth_username": "Gebruikersnaam",
|
||||
"install_auth_password": "Wachtwoord",
|
||||
"install_auth_confirm": "Bevestig wachtwoord",
|
||||
@@ -198,6 +285,7 @@
|
||||
"install_devices_router_list_1": "Open de instellingen pagina voor uw router. Meestal kunt u deze vanuit uw browser openen via een URL (zoals http://192.168.0.1/ of http://192.168.1.1/). Mogelijk wordt u gevraagd om het wachtwoord in te voeren. Als u het niet meer weet, kunt u het wachtwoord vaak opnieuw instellen door op een knop op de router zelf te drukken. Voor sommige routers is een specifieke toepassing vereist, die in dat geval al op uw computer / telefoon moet zijn geïnstalleerd.",
|
||||
"install_devices_router_list_2": "Zoek de DHCP/DNS-instellingen. Zoek naar de DNS-letters naast een veld dat twee of drie reeksen nummers toestaat, elk verdeeld in vier groepen van één tot drie cijfers.",
|
||||
"install_devices_router_list_3": "Voer je AdGuard Home server adressen daar in.",
|
||||
"install_devices_router_list_4": "Je kan de DNS server niet aanpassen op sommige routers. In dat geval kan het een oplossing zijn om AdGuard Home te definiëren als een <0>DHCP server</0>. Je kan ook in de handleiding van je router kijken hoe je een DNS server aanpast.",
|
||||
"install_devices_windows_list_1": "Open het Configuratiescherm via het menu Start of Windows zoeken.",
|
||||
"install_devices_windows_list_2": "Ga naar de categorie Netwerk en Internet en vervolgens naar Netwerkcentrum.",
|
||||
"install_devices_windows_list_3": "Zoek aan de linkerkant van het scherm Adapter-instellingen wijzigen en klik erop.",
|
||||
@@ -260,6 +348,8 @@
|
||||
"update_announcement": "AdGuard Home{{version}} is nu beschikbaar! <0>klik hier</0> voor meer info.",
|
||||
"setup_guide": "Installatie gids",
|
||||
"dns_addresses": "DNS adressen",
|
||||
"dns_start": "DNS server aan het opstarten",
|
||||
"dns_status_error": "Fout bij het oproepen van de DNS server status",
|
||||
"down": "Uitgeschakeld",
|
||||
"fix": "Los op",
|
||||
"dns_providers": "hier is een <0>lijst of gekende DNS providers</0> waarvan je kan kiezen.",
|
||||
@@ -278,17 +368,20 @@
|
||||
"client_edit": "Wijzig gebruiker",
|
||||
"client_identifier": "Identificeer via",
|
||||
"ip_address": "IP adres",
|
||||
"client_identifier_desc": "Gebruikers kunnen worden geïdentificeerd door het IP-adres of MAC-adres. Houd er rekening mee dat het gebruik van MAC als ID alleen mogelijk is als AdGuard Home ook een <0> DHCP-server </0> is",
|
||||
"client_identifier_desc": "Gebruikers kunnen worden geïdentificeerd door het IP-adres, CIDR of MAC-adres. Hou er rekening mee dat het gebruik van MAC als ID alleen mogelijk is als AdGuard Home ook een <0>DHCP-server</0> is",
|
||||
"form_enter_ip": "Vul IP in",
|
||||
"form_enter_mac": "Vul MAC in",
|
||||
"form_enter_id": "ID invoeren",
|
||||
"form_add_id": "ID toevoegen",
|
||||
"form_client_name": "Vul gebruikersnaam in",
|
||||
"name": "Naam",
|
||||
"client_global_settings": "Gebruik globale instelling",
|
||||
"client_deleted": "Gebruiker \"{{key}}\" met succes verwijderd",
|
||||
"client_added": "Gebruiker \"{{key}}\" met succes toegevoegd",
|
||||
"client_updated": "Gebruiker \"{{key}}\" met succes ge-updated",
|
||||
"clients_not_found": "Geen gebruikers gevonden",
|
||||
"client_confirm_delete": "Ben je zeker dat je deze gebruiker \"{{key}}\" wilt verwijderen?",
|
||||
"filter_confirm_delete": "Ben je zeker dat je deze filter wilt verwijderen?",
|
||||
"list_confirm_delete": "Ben je zeker om deze lijst te verwijderen?",
|
||||
"auto_clients_title": "Gebruikers (runtime)",
|
||||
"auto_clients_desc": "Data over gebruikers die AdGuard Home gebruiken, maar niet geconfigureerd zijn",
|
||||
"access_title": "Toegangs instellingen",
|
||||
@@ -297,8 +390,8 @@
|
||||
"access_allowed_desc": "Een lijst van CIDR of IP adressen. Indien ingesteld, zal AdGuard Home alleen van deze IP adressen aanvragen accepteren.",
|
||||
"access_disallowed_title": "Verworpen gebruikers",
|
||||
"access_disallowed_desc": "Een lijst van CIDR of IP adressen. Indien ingesteld, zal AdGuard Home aanvragen van deze IP adressen verwerpen.",
|
||||
"access_blocked_title": "Geblokkeerde domeinen",
|
||||
"access_blocked_desc": "Verwar dit niet met filters. AdGuard Home zal deze DNS-zoekopdrachten laten vallen.",
|
||||
"access_blocked_title": "Niet toegelaten domeinen",
|
||||
"access_blocked_desc": "Verwar dit niet met filters. AdGuard Home zal deze DNS-zoekopdrachten niet uitvoeren die deze domeinen in de zoekopdracht bevatten. Hier kan je de domeinnamen, wildcards en url-filter-regels specifiëren, bijv. 'example.org', '*.example.org' or '||example.org^'.",
|
||||
"access_settings_saved": "Toegangsinstellingen met succes opgeslagen",
|
||||
"updates_checked": "Met succes op updates gecontroleerd",
|
||||
"updates_version_equal": "AdGuard Home is up-to-date",
|
||||
@@ -307,9 +400,28 @@
|
||||
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Gebruik <1>{{address}}</1> string.",
|
||||
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Gebruik <1>{{address}}</1> string.",
|
||||
"setup_dns_privacy_3": "<0>Hou er rekening mee dat het beveiligde DNS protocol alleen beschikbaar is voor Android 9. U moet dus extra software installeren voor andere besturingssystemen.</0><0>Hier is een lijst van te gebruiken software.</0>",
|
||||
"setup_dns_privacy_android_1": "Android 9 ondersteunt native DNS-over-TLS. Om het te configureren, ga naar Instellingen → Netwerk & internet → Geavanceerd → Privé DNS en voer daar uw domeinnaam in.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard voor Android</0>ondersteunt<1>DNS-over-HTTPS </1>en<1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "<0> Intra </0> voegt <1> DNS-over-HTTPS</1> ondersteuning toe aan Android.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> ondersteunt <1> DNS-over-HTTPS </1>, maar om het te configureren om op uw eigen server te gebruiken moet er een <2> DNS-stempel </2> gegenereerd worden.",
|
||||
"setup_dns_privacy_ios_2": "<0> AdGuard voor iOS </0> ondersteunt de instellingen <1> DNS-over-HTTPS </1> en <1> DNS-over-TLS </1>.",
|
||||
"setup_dns_privacy_other_title": "Overig gebruik",
|
||||
"setup_dns_privacy_other_1": "AdGuard Home kan op elk platform een veilige DNS-client zijn.",
|
||||
"form_domain": "Vul domein in",
|
||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0> ondersteunt alle bekende beveiligde DNS-protocollen.",
|
||||
"setup_dns_privacy_other_3": "<0> dnscrypt-proxy </0> ondersteunt <1> DNS-over-HTTPS </1>.",
|
||||
"setup_dns_privacy_other_4": "<0> Mozilla Firefox </0> ondersteunt <1> DNS-over-HTTPS </1>.",
|
||||
"setup_dns_privacy_other_5": "U vindt meer implementaties <0> hier </0> en <1> hier </1>.",
|
||||
"setup_dns_notice": "Om <1> DNS-over-HTTPS </1> of <1> DNS-over-TLS </1> te gebruiken, moet u <0> Codering </0> configureren in de AdGuard Home-instellingen.",
|
||||
"rewrite_added": "DNS-herschrijving voor \"{{key}}\" met succes toegevoegd",
|
||||
"rewrite_deleted": "DNS-herschrijving voor \"{{key}}\" met succes verwijderd",
|
||||
"rewrite_add": "DNS-herschrijving toevoegen",
|
||||
"rewrite_not_found": "Geen DNS-herschrijving gevonden",
|
||||
"rewrite_confirm_delete": "Bent u zeker dat u DNS-herschrijving \"{{key}}\" wilt verwijderen?",
|
||||
"rewrite_desc": "Hiermee kunt u eenvoudig aangepaste DNS-antwoorden configureren voor een specifieke domeinnaam.",
|
||||
"rewrite_applied": "Herschrijf regel toegepast",
|
||||
"rewrite_hosts_applied": "Geherdefinieerd door de filterregel van de host",
|
||||
"dns_rewrites": "DNS herschrijvingen",
|
||||
"form_domain": "Vul domein of wildcard in",
|
||||
"form_answer": "Vul IP adres of domeinnaam in",
|
||||
"form_error_domain_format": "Ongeldige domeinnaam",
|
||||
"form_error_answer_format": "Ongeldig antwoord",
|
||||
@@ -332,13 +444,124 @@
|
||||
"stats_params": "Statistieken configuratie",
|
||||
"config_successfully_saved": "Configuratie succesvol opgeslagen",
|
||||
"interval_24_hour": "24 uur",
|
||||
"interval_days": "{{count}} dagen",
|
||||
"interval_days_plural": "{{count}} dagen",
|
||||
"domain": "Domein",
|
||||
"answer": "Antwoord",
|
||||
"filter_added_successfully": "Het filter is succesvol toegevoegd",
|
||||
"filter_added_successfully": "De lijst is succesvol toegevoegd",
|
||||
"filter_removed_successfully": "De lijst is succesvol verwijderd",
|
||||
"filter_updated": "De lijst is succesvol geüpdatet",
|
||||
"statistics_configuration": "Statistieken configuratie",
|
||||
"statistics_retention": "Statistieken retentie",
|
||||
"statistics_retention_desc": "Als je de interval waarde vermindert, zullen sommige gegevens verloren gaan",
|
||||
"statistics_clear": " Statistieken wissen",
|
||||
"statistics_clear_confirm": "Alle statistieken werkelijk wissen?",
|
||||
"statistics_cleared": "Statistieken succesvol gewist"
|
||||
"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",
|
||||
"interval_hours": "{{count}} uur",
|
||||
"interval_hours_plural": "{{count}} uren",
|
||||
"filters_configuration": "Filters instellingen",
|
||||
"filters_enable": "Filters inschakelen",
|
||||
"filters_interval": "Filters update frequentie",
|
||||
"disabled": "Uitgeschakeld",
|
||||
"username_label": "Gebruikersnaam",
|
||||
"username_placeholder": "Voer gebruikersnaam in",
|
||||
"password_label": "Wachtwoord",
|
||||
"password_placeholder": "Voer wachtwoord in",
|
||||
"sign_in": "Aanmelden",
|
||||
"sign_out": "Afmelden",
|
||||
"forgot_password": "Wachtwoord vergeten?",
|
||||
"forgot_password_desc": "Volg <0>deze stappen</0> om een nieuw wachtwoord voor uw gebruikersaccount te maken.",
|
||||
"location": "Locatie",
|
||||
"orgname": "Naam organisatie",
|
||||
"netname": "Netwerk naam",
|
||||
"network": "Netwerk",
|
||||
"descr": "Beschrijving",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Meer informatie</0> over het maken van je eigen host lijsten.",
|
||||
"blocked_by_response": "Geblokkeerd door CNAME of IP als antwoord",
|
||||
"blocked_by_cname_or_ip": "Geblokkeerd via CNAME of IP",
|
||||
"try_again": "Probeer opnieuw",
|
||||
"domain_desc": "Voer de domeinnaam of wildcard in die herschreven moet worden.",
|
||||
"example_rewrite_domain": "herschrijf reacties uitsluitend voor deze domeinnaam.",
|
||||
"example_rewrite_wildcard": "herschrijf reacties voor alle subdomeinen van <0>example.org</0>.",
|
||||
"rewrite_ip_address": "IP adres: gebruik dit IP in een A of AAAA antwoord",
|
||||
"rewrite_domain_name": "Domeinnaam: een CNAME record toevoegen",
|
||||
"rewrite_A": "<0>A</0>: speciale waarde, <0>A</0> records uit de upstream bewaren",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: speciale waarde, <0>AAAA</0> records uit de upstream bewaren",
|
||||
"disable_ipv6": "Zet IPv6 uit",
|
||||
"disable_ipv6_desc": "Als deze functie is ingeschakeld, worden alle DNS-query's voor IPv6-adressen (type AAAA) verwijderd.",
|
||||
"fastest_addr": "Snelste IP adres",
|
||||
"fastest_addr_desc": "Alle DNS servers bevragen en het snelste IP adres terugkoppelen. Dit zal de DNS verzoeken vertragen omdat we moeten wachten op de antwoorden van alles DNS servers, maar verbetert wel de connectiviteit.",
|
||||
"autofix_warning_text": "Als je op \"Repareren\" klikt, configureert AdGuard Home uw 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_result": "Als gevolg hiervan worden alle DNS-verzoeken van je systeem standaard door AdGuard Home verwerkt.",
|
||||
"tags_title": "Labels",
|
||||
"tags_desc": "Je kunt tags selecteren die overeenkomen met de client. Tags kunnen worden opgenomen in de filterregels en je kunt ze dan nauwkeuriger toepassen. <0> Meer informatie </0>",
|
||||
"form_select_tags": "Kies client tags",
|
||||
"check_title": "Controleer de filtering",
|
||||
"check_desc": "Controleer of de hostnaam wordt gefilterd",
|
||||
"check": "Controleren",
|
||||
"form_enter_host": "Voer een hostnaam in",
|
||||
"filtered_custom_rules": "Gefilterd door aangepaste filterregels",
|
||||
"choose_from_list": "Uit de lijst selecteren",
|
||||
"add_custom_list": "Aangepaste lijst toevoegen",
|
||||
"host_whitelisted": "De host staat op de toestemmingslijst",
|
||||
"check_ip": "IP-adressen: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Reden: {{reason}}",
|
||||
"check_rule": "Regel: {{rule}}",
|
||||
"check_service": "Servicenaam: {{service}}",
|
||||
"check_not_found": "Niet in je lijst met filters gevonden",
|
||||
"client_confirm_block": "Weet je zeker dat je client \"{{ip}}\" wil blokkeren?",
|
||||
"client_confirm_unblock": "Weet je zeker dat je client \"{{ip}}\" niet meer wil blokkeren?",
|
||||
"client_blocked": "Client \"{{ip}}\" wordt nu geblokkeerd",
|
||||
"client_unblocked": "Client \"{{ip}}\" wordt niet meer geblokkeerd",
|
||||
"static_ip": "Statisch IP-adres",
|
||||
"static_ip_desc": "AdGuard Home is een server en heeft daarom een statisch IP-adres nodig om goed te kunnen functioneren, anders kan uw router op een bepaald moment een ander IP-adres aan dit apparaat toewijzen.",
|
||||
"set_static_ip": "Stel een statisch IP-adres in",
|
||||
"install_static_ok": "Goed nieuws! Het statische IP-adres was al geconfigureerd",
|
||||
"install_static_error": "AdGuard Home kan dit niet automatisch configureren op deze netwerkinterface. Zoek een instructie om dit handmatig te doen.",
|
||||
"install_static_configure": "We hebben vastgesteld dat er een dynamisch IP-adres wordt gebruikt - <0> {{ip}} </0>. Wil je dit als je statische adres gebruiken?",
|
||||
"confirm_static_ip": "AdGuard Home configureert {{ip}} als jouw statische IP-adres. Wil je doorgaan?",
|
||||
"list_updated": "{{count}} lijst geüpdatet",
|
||||
"list_updated_plural": "{{count}} lijsten geüpdatet",
|
||||
"dnssec_enable": "DNSSEC inschakelen",
|
||||
"dnssec_enable_desc": "Zet de DNSSEC-vlag aan bij uitgaande DNS-query's en controleer het resultaat (DNSSEC-compatibele resolver is vereist)",
|
||||
"validated_with_dnssec": "Gevalideerd met DNSSEC",
|
||||
"all_queries": "Alle vragen",
|
||||
"show_blocked_responses": "Geblokkeerd",
|
||||
"show_whitelisted_responses": "Op toestemmingslijst",
|
||||
"show_processed_responses": "Verwerkt",
|
||||
"blocked_safebrowsing": "Geblokkeerd door Veilig Browsen",
|
||||
"blocked_adult_websites": "Geblokkeerde 18+ websites",
|
||||
"blocked_threats": "Geblokkeerde bedreigingen",
|
||||
"allowed": "Toegestaan",
|
||||
"filtered": "Gefilterd",
|
||||
"rewritten": "Herschreven",
|
||||
"safe_search": "Veilig zoeken",
|
||||
"blocklist": "Blokkeerlijst",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Cache grootte",
|
||||
"cache_size_desc": "DNS cache grootte (in bytes)",
|
||||
"cache_ttl_min_override": "Minimale TTL overschrijven",
|
||||
"cache_ttl_max_override": "Maximale TTL overschrijven",
|
||||
"enter_cache_size": "Cache grootte invoeren",
|
||||
"enter_cache_ttl_min_override": "Minimale TTL invoeren",
|
||||
"enter_cache_ttl_max_override": "Maximale TTL invoeren",
|
||||
"cache_ttl_min_override_desc": "Overschrijft TTL waarde (minimaal) ontvangen van de upstream server. Deze waarde mag niet hoger als 3600 (1 uur) zijn",
|
||||
"cache_ttl_max_override_desc": "Overschrijft TTL waarde (maximaal) ontvangen van de upstream server",
|
||||
"min_exceeds_max_value": "Minimale waarde overschrijdt de maximale waarde",
|
||||
"value_not_larger_than": "Waarde mag niet hoger zijn dan {{maximum}}",
|
||||
"filter_category_general": "Algemeen",
|
||||
"filter_category_security": "Beveiliging",
|
||||
"filter_category_regional": "Regionaal",
|
||||
"filter_category_other": "Overig",
|
||||
"filter_category_general_desc": "Lijsten die volgers en advertenties op de meeste apparaten blokkeert",
|
||||
"filter_category_security_desc": "Lijsten gespecialiseerd in het blokkeren van malware, phising of scam domeinen",
|
||||
"filter_category_regional_desc": "Lijsten die focussen op regionale ads en tracking servers",
|
||||
"filter_category_other_desc": "Overige blokkeerlijsten",
|
||||
"original_response": "Oorspronkelijke reactie",
|
||||
"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."
|
||||
}
|
||||
543
client/src/__locales/no.json
Normal file
543
client/src/__locales/no.json
Normal file
@@ -0,0 +1,543 @@
|
||||
{
|
||||
"client_settings": "Klientinnstillinger",
|
||||
"example_upstream_reserved": "du kan bestemme en oppstrøms-DNS <0>for et spesifikt domene(r)</0>",
|
||||
"upstream_parallel": "Bruk parallele forespørsler for å få oppfarten på behandlinger, ved å forespørre til alle oppstrømstjenerne samtidig",
|
||||
"parallel_requests": "Parallelle forespørsler",
|
||||
"load_balancing": "Pågangstrykk-utjevning",
|
||||
"load_balancing_desc": "Forespør én tjener om gangen. AdGuard Home vil bruke en 'vektlagt tilfeldig valg'-algoritme for å velge tjener, slik at den raskeste tjeneren blir brukt oftere.",
|
||||
"bootstrap_dns": "Bootstrap-DNS-tjenere",
|
||||
"bootstrap_dns_desc": "Bootstrap-DNS-tjenere brukes til å oppklare IP-adressene til DoH/DoT-oppklarerene som du har valgt som oppstrømstjenere.",
|
||||
"check_dhcp_servers": "Se etter DHCP-tjenere",
|
||||
"save_config": "Lagre oppsettet",
|
||||
"enabled_dhcp": "DHCP-tjeneren ble skrudd på",
|
||||
"disabled_dhcp": "DHCP-tjeneren ble skrudd av",
|
||||
"dhcp_title": "DHCP-tjener (eksperimentell!)",
|
||||
"dhcp_description": "Dersom ruteren din ikke har DHCP-innstillinger, kan du bruke AdGuard Home sin egen innebygde DHCP-tjener.",
|
||||
"dhcp_enable": "Skru på DHCP-tjeneren",
|
||||
"dhcp_disable": "Skru av DHCP-tjeneren",
|
||||
"dhcp_not_found": "Det er trygt å skru på den innebygde DHCP-tjeneren - vi kunne ikke finne noen aktive DHCP-tjenere i nettverket. Men vi oppfordrer deg til å dobbeltsjekke manuelt, siden vår automatiske test ikke gir 100% sikre svar ennå.",
|
||||
"dhcp_found": "En aktiv DHCP-tjener ble oppdaget i nettverket. Det er ikke trygt å bruke den innebygde DHCP-tjeneren.",
|
||||
"dhcp_leases": "DHCP-leieavtaler",
|
||||
"dhcp_static_leases": "Statiske DHCP-leieavtaler",
|
||||
"dhcp_leases_not_found": "Ingen DHCP-leieavtaler ble funnet",
|
||||
"dhcp_config_saved": "Lagret DHCP-tjeneroppsettet",
|
||||
"form_error_required": "Påkrevd felt",
|
||||
"form_error_ip4_format": "Ugyldig IPv4-format",
|
||||
"form_error_ip6_format": "Ugyldig IPv6-format",
|
||||
"form_error_ip_format": "Ugyldig IPv4-format",
|
||||
"form_error_mac_format": "Ugyldig MAC-format",
|
||||
"form_error_client_id_format": "Ugyldig ID-klientformat",
|
||||
"form_error_positive": "Må være høyere enn 0",
|
||||
"form_error_negative": "Må være ≥0",
|
||||
"dhcp_form_gateway_input": "Gateway-IP",
|
||||
"dhcp_form_subnet_input": "Nettverksmaske",
|
||||
"dhcp_form_range_title": "Spennvidden til IP-adressene",
|
||||
"dhcp_form_range_start": "Rekkeviddestart",
|
||||
"dhcp_form_range_end": "Rekkeviddeslutt",
|
||||
"dhcp_form_lease_title": "DHCP-leieavtalevarighet (i sekunder)",
|
||||
"dhcp_form_lease_input": "Leieavtalenes varighet",
|
||||
"dhcp_interface_select": "Velg DHCP-grensesnitt",
|
||||
"dhcp_hardware_address": "Maskinvareadresse",
|
||||
"dhcp_ip_addresses": "IP-adresser",
|
||||
"ip": "IP-adresse",
|
||||
"dhcp_table_hostname": "Vertsnavn",
|
||||
"dhcp_table_expires": "Utløper",
|
||||
"dhcp_warning": "Hvis du vil aktivere DHCP-tjeneren likevel, så sørg for at det ikke er noen andre aktive DHCP-tjenere i nettverket ditt. Ellers kan det knekke internettilgangen til tilkoblede enheter!",
|
||||
"dhcp_error": "Vi klarte ikke å fastslå om det er en annen DHCP-tjener i nettverket ditt eller ikke.",
|
||||
"dhcp_static_ip_error": "For å kunne bruke DHCP-tjeneren, må det være satt en statisk IP-adresse. Vi klarte ikke å finne ut om dette nettverksgrensesnittet har blitt satt opp med en statisk IP-adresse. Vennligst sett opp en statisk IP-adresse manuelt.",
|
||||
"dhcp_dynamic_ip_found": "Systemet ditt bruker et oppsett med dynamisk IP-adresse for grensesnittet <0>{{interfaceName}}</0>. For å kunne bruke DHCP-tjeneren, må en statisk IP-adresse ha blitt satt opp. Din nåværende IP-adresse er <0>{{ipAddress}}</0>. Vi vil automatisk gjøre denne IP-adressen statisk hvis du trykker på «Skru på DHCP»-knappen.",
|
||||
"dhcp_lease_added": "Den statiske leieavtalen «{{key}}» ble vellykket lagt til",
|
||||
"dhcp_lease_deleted": "Den statiske leieavtalen «{{key}}» ble vellykket lagt slettet",
|
||||
"dhcp_new_static_lease": "Ny statisk leieavtale",
|
||||
"dhcp_static_leases_not_found": "Ingen statiske DHCP-leieavtaler ble funnet",
|
||||
"dhcp_add_static_lease": "Legg til statisk leieavtale",
|
||||
"dhcp_reset": "Er du sikker på at du vil tilbakestille DHCP-oppsettet?",
|
||||
"country": "Land",
|
||||
"city": "By",
|
||||
"delete_confirm": "Er du sikker på at du vil slette «{{key}}»?",
|
||||
"form_enter_hostname": "Skriv inn vertsnavnet",
|
||||
"error_details": "Feildetaljer",
|
||||
"response_details": "Svardetaljer",
|
||||
"request_details": "Detaljer over forespørsel",
|
||||
"client_details": "Klientdetaljer",
|
||||
"details": "Detaljer",
|
||||
"back": "Tilbake",
|
||||
"dashboard": "Kontrollsenter",
|
||||
"settings": "Innstillinger",
|
||||
"filters": "Filtre",
|
||||
"filter": "Filter",
|
||||
"query_log": "Forespørselslogg",
|
||||
"compact": "Kompakt",
|
||||
"nothing_found": "Ingenting ble funnet",
|
||||
"faq": "OSS",
|
||||
"version": "Versjon",
|
||||
"address": "Adresse",
|
||||
"protocol": "Protokoll",
|
||||
"on": "PÅ",
|
||||
"off": "AV",
|
||||
"copyright": "Opphavsrett",
|
||||
"homepage": "Hjemmeside",
|
||||
"report_an_issue": "Send inn feilrapport",
|
||||
"privacy_policy": "Personvernretningslinjer",
|
||||
"enable_protection": "Skru på beskyttelse",
|
||||
"enabled_protection": "Beskyttelse ble skrudd på",
|
||||
"disable_protection": "Skru av beskyttelse",
|
||||
"disabled_protection": "Beskyttelsen ble skrudd av",
|
||||
"refresh_statics": "Oppfrisk statistikkene",
|
||||
"dns_query": "DNS-forespørsler",
|
||||
"blocked_by": "<0>Blokkert av filtre</0>",
|
||||
"stats_malware_phishing": "Blokkert skadevare/phishing",
|
||||
"stats_adult": "Blokkerte voksennettsteder",
|
||||
"stats_query_domain": "Mest forespurte domener",
|
||||
"for_last_24_hours": "de siste 24 timene",
|
||||
"for_last_days": "det siste døgnet",
|
||||
"for_last_days_plural": "de siste {{count}} dagene",
|
||||
"no_domains_found": "Ingen domener ble funnet",
|
||||
"requests_count": "Antall forespørsler",
|
||||
"top_blocked_domains": "Mest blokkerte domener",
|
||||
"top_clients": "Vanligste klienter",
|
||||
"no_clients_found": "Ingen klienter ble funnet",
|
||||
"general_statistics": "Generelle statistikker",
|
||||
"number_of_dns_query_days": "Antall DNS-forespørsler som ble behandlet det siste døgnet",
|
||||
"number_of_dns_query_days_plural": "Antall DNS-forespørsler som ble behandlet de siste {{count}} dagene",
|
||||
"number_of_dns_query_24_hours": "Antall DNS-forespørsler som ble behandlet de siste 24 timene",
|
||||
"number_of_dns_query_blocked_24_hours": "Antall DNS-forespørsler som ble blokkert av adblock-filtre, hosts-lister, og domene-lister",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Antall DNS-forespørsler som ble blokkert av AdGuard sin nettlesersikkerhetsmodul",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "Antall voksennettsteder som ble blokkert",
|
||||
"enforced_save_search": "Påtvungede barnevennlige søk",
|
||||
"number_of_dns_query_to_safe_search": "Antall DNS-forespørsler til søkemotorer der \"Safe Search\" ble fremtvunget",
|
||||
"average_processing_time": "Gjennomsnittlig behandlingstid",
|
||||
"average_processing_time_hint": "Gjennomsnittstid for behandling av DNS-forespørsler i millisekunder",
|
||||
"block_domain_use_filters_and_hosts": "Blokker domener ved hjelp av filtre, «hosts»-filer, og rå domener",
|
||||
"filters_block_toggle_hint": "Du kan sette opp blokkeringsoppføringer i <a href='#filters'>Filtre</a>-innstillingene.",
|
||||
"use_adguard_browsing_sec": "Benytt AdGuard sin nettlesersikkerhetstjeneste",
|
||||
"use_adguard_browsing_sec_hint": "AdGuard Home vil sjekke om domenet har blitt svartelistet av nettlesersikkerhetstjenesten. Den vil bruke en privatlivsvennlig søke-API til å utføre sjekken: kun en kort prefiks av domenenavnet med SHA256-salting blir sendt til tjeneren.",
|
||||
"use_adguard_parental": "Benytt AdGuard sin foreldrekontroll-nettjeneste",
|
||||
"use_adguard_parental_hint": "AdGuard Home vil sjekke om domenet inneholder erotisk materiale. Den benytter den samme privatlivsvennlige API-en som nettlesersikkerhetstjenesten.",
|
||||
"enforce_safe_search": "Påtving barnevennlige søk",
|
||||
"enforce_save_search_hint": "AdGuard Home kan fremtvinge \"Safe Search\" i de følgende søkemotorene: Google, YouTube, Bing, DuckDuckGo, og Yandex.",
|
||||
"no_servers_specified": "Ingen tjenere er spesifisert",
|
||||
"general_settings": "Generelle innstillinger",
|
||||
"dns_settings": "DNS-innstillinger",
|
||||
"dns_blocklists": "DNS-blokkeringslister",
|
||||
"dns_allowlists": "DNS-hvitelister",
|
||||
"dns_blocklists_desc": "AdGuard Home vil blokkere domener som samsvarer med blokkeringslistene.",
|
||||
"dns_allowlists_desc": "Domener fra DNS-hvitelistene vil bli sluppet gjennom, selv hvis de er i noen av blokkeringslistene.",
|
||||
"custom_filtering_rules": "Selvvalgte filtreringsoppføringer",
|
||||
"encryption_settings": "Krypteringsinnstillinger",
|
||||
"dhcp_settings": "DHCP-innstillinger",
|
||||
"upstream_dns": "Oppstrøms-DNS-tjenere",
|
||||
"upstream_dns_hint": "Hvis du lar dette feltet stå tomt, vil AdGuard Home will bruke <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> som en oppstrømstjener.",
|
||||
"test_upstream_btn": "Test oppstrømstilkoblinger",
|
||||
"upstreams": "Oppstrømstjenere",
|
||||
"apply_btn": "Benytt",
|
||||
"disabled_filtering_toast": "Skrudde av filtrering",
|
||||
"enabled_filtering_toast": "Skrudde på filtrering",
|
||||
"disabled_safe_browsing_toast": "Skrudde av barnevennlig nettlesing",
|
||||
"enabled_safe_browsing_toast": "Skrudde på barnevennlig nettlesing",
|
||||
"disabled_parental_toast": "Skrudde av foreldrekontroll",
|
||||
"enabled_parental_toast": "Skrudde på foreldrekontroll",
|
||||
"disabled_safe_search_toast": "Skrudde av barnevennlige søk",
|
||||
"enabled_save_search_toast": "Skrudde på barnevennlige søk",
|
||||
"enabled_table_header": "Skrudd på",
|
||||
"name_table_header": "Navn",
|
||||
"list_url_table_header": "Listens nettadresse",
|
||||
"rules_count_table_header": "Antall oppføringer",
|
||||
"last_time_updated_table_header": "Senest oppdatert",
|
||||
"actions_table_header": "Handlinger",
|
||||
"request_table_header": "Forespørsel",
|
||||
"edit_table_action": "Rediger",
|
||||
"delete_table_action": "Slett",
|
||||
"elapsed": "Utløpt",
|
||||
"filters_and_hosts_hint": "AdGuard Home forstår grunnleggende adblock-oppføringer, «hosts»-filsyntaks, og domenelister.",
|
||||
"no_blocklist_added": "Ingen blokkeringslister er lagt til",
|
||||
"no_whitelist_added": "Ingen hvitelister er lagt til",
|
||||
"add_blocklist": "Legg til blokkeringsliste",
|
||||
"add_allowlist": "Legg til hviteliste",
|
||||
"cancel_btn": "Avbryt",
|
||||
"enter_name_hint": "Skriv inn navn",
|
||||
"enter_url_or_path_hint": "Skriv inn listens URL eller fulle filbane",
|
||||
"check_updates_btn": "Se etter oppdateringer",
|
||||
"new_blocklist": "Ny blokkeringsliste",
|
||||
"new_allowlist": "Ny hviteliste",
|
||||
"edit_blocklist": "Rediger blokkeringsliste",
|
||||
"edit_allowlist": "Rediger hviteliste",
|
||||
"choose_blocklist": "Velg blokkeringslister",
|
||||
"enter_valid_blocklist": "Skriv inn en gyldig nettadresse til blokkeringslisten.",
|
||||
"enter_valid_allowlist": "Skriv inn en gyldig nettadresse til hvitelisten.",
|
||||
"form_error_url_format": "Ugyldig URL-format",
|
||||
"form_error_url_or_path_format": "Listens URL eller fulle filbane er ugyldig",
|
||||
"custom_filter_rules": "Selvvalgte filtreringsregler",
|
||||
"custom_filter_rules_hint": "Skriv inn én oppføring per linje. Du kan bruke adblock-oppføringer, «hosts»-filsyntaks, eller rå domener.",
|
||||
"examples_title": "Eksempler",
|
||||
"example_meaning_filter_block": "blokker tilgang til 'example.org'-domenet og alle dens underdomener",
|
||||
"example_meaning_filter_whitelist": "opphev blokkeringen av 'example.org'-domenet og alle dens underdomener",
|
||||
"example_meaning_host_block": "AdGuard Home vil nå videresende 'example.org'-domenet (men ikke dens underdomener) til 127.0.0.1.",
|
||||
"example_comment": "! Her er det en kommentar",
|
||||
"example_comment_meaning": "bare en kommentar",
|
||||
"example_comment_hash": "# Også en kommentar",
|
||||
"example_regex_meaning": "blokker tilgang til domener som samsvarer med den valgte ordinære oppføringen",
|
||||
"example_upstream_regular": "vanlig DNS (over UDP)",
|
||||
"example_upstream_dot": "kryptert <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "kryptert <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "du kan bruke <0>DNS-stempler</0> med <1>DNSCrypt</1> eller <2>DNS-over-HTTPS</2>-behandlere",
|
||||
"example_upstream_tcp": "vanlig DNS (over TCP)",
|
||||
"all_lists_up_to_date_toast": "Alle listene er allerede oppdatert",
|
||||
"updated_upstream_dns_toast": "Oppdaterte oppstrøms-DNS-tjenerne",
|
||||
"dns_test_ok_toast": "De spesifiserte DNS-tjenerne fungerer riktig",
|
||||
"dns_test_not_ok_toast": "Tjeneren «{{key}}» kunne ikke brukes, vennligst dobbeltsjekk at du har skrevet den riktig",
|
||||
"unblock": "Tillat",
|
||||
"block": "Blokker",
|
||||
"time_table_header": "Tidspunkt",
|
||||
"date": "Dato",
|
||||
"domain_name_table_header": "Domenenavn",
|
||||
"domain_or_client": "Domene eller klient",
|
||||
"type_table_header": "Type",
|
||||
"response_table_header": "Respons",
|
||||
"response_code": "Svarkode",
|
||||
"client_table_header": "Klient",
|
||||
"empty_response_status": "Tomt innhold",
|
||||
"show_all_filter_type": "Vis alle",
|
||||
"show_filtered_type": "Vis kun filtrerte",
|
||||
"no_logs_found": "Ingen loggføringer ble funnet",
|
||||
"refresh_btn": "Oppfrisk",
|
||||
"previous_btn": "Forrige",
|
||||
"next_btn": "Neste",
|
||||
"loading_table_status": "Laster inn …",
|
||||
"page_table_footer_text": "Side",
|
||||
"rows_table_footer_text": "rekker",
|
||||
"updated_custom_filtering_toast": "Oppdaterte de selvvalgte filtreringsreglene",
|
||||
"rule_removed_from_custom_filtering_toast": "Oppføringen ble fjernet fra de selvvalgte filtreringsreglene",
|
||||
"rule_added_to_custom_filtering_toast": "Oppføringen ble lagt til i de selvvalgte filtreringsreglene",
|
||||
"query_log_response_status": "Status: {{value}}",
|
||||
"query_log_filtered": "Filtrert av {{filter}}",
|
||||
"query_log_confirm_clear": "Er du sikker på at du vil slette hele forespørselsloggen?",
|
||||
"query_log_cleared": "Forespørselsloggen ble vellykket slettet",
|
||||
"query_log_updated": "Forespørselsloggen ble vellykket oppdatert",
|
||||
"query_log_clear": "Tøm forespørselsloggene",
|
||||
"query_log_retention": "Beholding av forespørselsloggføringene",
|
||||
"query_log_enable": "Skru på loggføring",
|
||||
"query_log_configuration": "Loggføringskonfigurasjon",
|
||||
"query_log_disabled": "Forespørselsloggen er skrudd av og kan bli satt opp i <0>innstillingene</0>",
|
||||
"query_log_strict_search": "Bruk anførselstegn for strenge søk",
|
||||
"query_log_retention_confirm": "Er du sikker på at du vil endre hvor lenge forespørselsloggføringene skal beholdes? Hvis du reduserer den interne verdien, vil noe av dataene gå tapt",
|
||||
"anonymize_client_ip": "Anonymiser klient-IP-en",
|
||||
"anonymize_client_ip_desc": "Ikke lagre den fulle IP-adressen til klienten i loggføringer eller statistikker",
|
||||
"dns_config": "DNS-tjeneroppsett",
|
||||
"blocking_mode": "Blokkeringsmodus",
|
||||
"default": "Standardmodus",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Null-IP",
|
||||
"custom_ip": "Tilpasset IP",
|
||||
"blocking_ipv4": "IPv4-blokkering",
|
||||
"blocking_ipv6": "IPv6-blokkering",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "Ordinær DNS",
|
||||
"form_enter_rate_limit": "Skriv inn forespørselsfrekvensgrense",
|
||||
"rate_limit": "Forespørselsfrekvensgrense",
|
||||
"edns_enable": "Aktiver EDNS-klientundernett",
|
||||
"edns_cs_desc": "Hvis det er skrudd på, vil AdGuard Home sende klientenes undernett til DNS-tjenerne.",
|
||||
"rate_limit_desc": "Antallet forespørsler per sekund som én enkelt klient har lov til å be om (0: ubegrenset)",
|
||||
"blocking_ipv4_desc": "IP-adressen som det skal svares med for blokkerte A-forespørsler",
|
||||
"blocking_ipv6_desc": "IP-adressen som det skal svares med for blokkerte AAAA-forespørsler",
|
||||
"blocking_mode_default": "Standardmodus: Svar med NXDOMAIN når det blokkeres med en adblockoppføring; svar med IP-adressen spesifisert i oppføringen når det blokkeres av en «Hosts»-oppføring",
|
||||
"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_custom_ip": "Tilpasset IP: Svar med en manuelt valgt IP-adresse",
|
||||
"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",
|
||||
"source_label": "Kilde",
|
||||
"found_in_known_domain_db": "Funnet i databasen over kjente domener.",
|
||||
"category_label": "Kategori",
|
||||
"rule_label": "Oppføring",
|
||||
"list_label": "Liste",
|
||||
"unknown_filter": "Ukjent filter {{filterId}}",
|
||||
"known_tracker": "Kjent sporer",
|
||||
"install_welcome_title": "Velkommen til AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home er en nettverksdekkende reklame-og-sporings-blokkerende DNS-tjener. Formålet dens er å la deg styre hele nettverket ditt og alle dine enheter, og den krever ikke at klientene bruker spesifikke programmer.",
|
||||
"install_settings_title": "Admin-nettgrensesnitt",
|
||||
"install_settings_listen": "Lytt til grensesnitt",
|
||||
"install_settings_port": "Port",
|
||||
"install_settings_interface_link": "Ditt AdGuard Home-admin-nettgrensesnitt vil være tilgjengelig på de følgende adressene:",
|
||||
"form_error_port": "Skriv inn en gyldig portverdi",
|
||||
"install_settings_dns": "DNS-tjener",
|
||||
"install_settings_dns_desc": "Du vil måtte sette opp enhetene eller ruteren din(e) til å bruke DNS-tjeneren på disse adressene:",
|
||||
"install_settings_all_interfaces": "Alle grensesnitt",
|
||||
"install_auth_title": "Autentisering",
|
||||
"install_auth_desc": "Det er høyst anbefalt å sette opp passordautentisering på ditt AdGuard Home-adminnettgrensesnitt. Selv om du velger å bare gjøre den tilgjengelig på ditt lokale nettverk, er det fortsatt viktig å beskytte den fra ubegrenset tilgang.",
|
||||
"install_auth_username": "Brukernavn",
|
||||
"install_auth_password": "Passord",
|
||||
"install_auth_confirm": "Bekreft passord",
|
||||
"install_auth_username_enter": "Skriv inn brukernavn",
|
||||
"install_auth_password_enter": "Skriv inn passord",
|
||||
"install_step": "Trinn",
|
||||
"install_devices_title": "Sett opp enhetene dine",
|
||||
"install_devices_desc": "For å begynne å bruke AdGuard Home, må du sette opp enhetene dine til å bruke den.",
|
||||
"install_submit_title": "Gratulerer!",
|
||||
"install_submit_desc": "Oppsettsprosedyren er ferdig, og du er klar til å begynne å bruke AdGuard Home.",
|
||||
"install_devices_router": "Ruter",
|
||||
"install_devices_router_desc": "Dette oppsettet vil automatisk dekke alle enhetene som er koblet til hjemmeruteren din, og du vil ikke måtte sette opp hver av dem manuelt.",
|
||||
"install_devices_address": "AdGuard Home-DNS-tjeneren lytter til de følgende adressene",
|
||||
"install_devices_router_list_1": "Åpne innstillingene til ruteren din. Vanligvis kan du få tilgang til den på nettleseren din gjennom en URL (f.eks. http://192.168.0.1/ eller http://192.168.1.1/). Du kan bli spurt om å skrive inn passordet ditt. Hvis du ikke husker det, kan du som oftest tilbakestille passordet ditt ved å trykke på knapp på selve ruteren. Noen rutere krever et spesifikt program, som i så fall er ment å allerede ha blitt installert på din PC/mobil.",
|
||||
"install_devices_router_list_2": "Finn DHCP-/DNS-innstillingene. Se etter DNS-bokstavene ved siden av et felt som tillater to eller tre sett med sifre, som hver er delt opp i fire grupper på 1-3 sifre.",
|
||||
"install_devices_router_list_3": "Skriv inn din AdGuard Home-tjeners adresser her.",
|
||||
"install_devices_router_list_4": "På noen rutertyper, f.eks. Altibox sine hjemmesentraler, kan man ikke velge en selvvalgt DNS-tjener. I så fall kan det hjelpe på saken om du setter opp AdGuard Home som en <0>DHCP-tjener</0>. Alternativt, burde du se i bruksanvisningen til din spesifikke rutermodell om hvordan man tilpasser DNS-tjenerne.",
|
||||
"install_devices_windows_list_1": "Åpne «Kontrollpanel» gjennom Start-menyen eller et Windows-søk.",
|
||||
"install_devices_windows_list_2": "Gå til «Nettverk og internett»-kategorien, og så til «Nettverks- og delingssenter».",
|
||||
"install_devices_windows_list_3": "På den venstre siden av skjermen, finn «Endre innstillinger for nettverkskort» og klikk på den.",
|
||||
"install_devices_windows_list_4": "Velg din aktive tilkobling, høyreklikk på den, og velg «Egenskaper».",
|
||||
"install_devices_windows_list_5": "Finn «Internet Protocol versjon 4 (TCP/IP)» i listen, velg den, og så klikk på «Egenskaper» igjen.",
|
||||
"install_devices_windows_list_6": "Velg «Bruk følgende DNS-serveradresser» og så skriv inn din AdGuard Home-tjeners adresser.",
|
||||
"install_devices_macos_list_1": "Klikk på Apple-ikonet og gå til Systeminnstillinger.",
|
||||
"install_devices_macos_list_2": "Klikk på «Nettverk».",
|
||||
"install_devices_macos_list_3": "Velg den første tilkoblingen i listen din, og klikk på «Avansert».",
|
||||
"install_devices_macos_list_4": "Velg DNS-fanen og skriv inn din AdGuard Home-tjeners adresser der.",
|
||||
"install_devices_android_list_1": "Fra Android-startskjermen, trykk på «Innstillinger».",
|
||||
"install_devices_android_list_2": "Velg «Wi-Fi» i menyen. Skjermen som lister opp alle de tilgjengelige nettverkene vil bli vist (det er umulig å velge selvvalgte DNS-adresser for mobiltilkoblinger uten en DNS-endringsapp).",
|
||||
"install_devices_android_list_3": "Langtrykk på nettverket du er koblet til, og så trykk «Endre nettverket».",
|
||||
"install_devices_android_list_4": "På noen enheter, vil du måtte huke av boksen for Avansert for se flere innstillinger. For å justere dine Android-DNS-innstillinger, vil du måtte endre IP-innstillingene fra DHCP til Statisk.",
|
||||
"install_devices_android_list_5": "Endre de forvalgte 'DNS 1' og 'DNS 2'-verdiene til din AdGuard Home-tjeners adresser.",
|
||||
"install_devices_ios_list_1": "Fra startskjermen, trykk på «Innstillinger».",
|
||||
"install_devices_ios_list_2": "Velg Wi-Fi i den venstre menyen (det er umulig å sette opp DNS for mobildata-nettverk).",
|
||||
"install_devices_ios_list_3": "Trykk på navnet til det nettverket som er aktivt for øyeblikket.",
|
||||
"install_devices_ios_list_4": "I DNS-feltet, skriv inn din AdGuard Home-tjeners adresser.",
|
||||
"get_started": "Kom i gang",
|
||||
"next": "Neste",
|
||||
"open_dashboard": "Åpne kontrollsenteret",
|
||||
"install_saved": "Lagringen var vellykket",
|
||||
"encryption_title": "Kryptering",
|
||||
"encryption_desc": "Krypteringsstøtte (HTTPS/TLS) for både DNS og admin-nettgrensesnittet",
|
||||
"encryption_config_saved": "Krypteringsoppsettet ble lagret",
|
||||
"encryption_server": "Tjenerens navn",
|
||||
"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.",
|
||||
"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_https": "HTTPS-port",
|
||||
"encryption_https_desc": "Dersom HTTPS-porten er satt opp, vil AdGuard Home sitt admin-grensesnitt være tilgjengelig gjennom HTTPS, og vil også sørge for DNS-over-HTTPS på «/dns-query»-plasseringen.",
|
||||
"encryption_dot": "'DNS-over-TLS'-port",
|
||||
"encryption_dot_desc": "Dersom denne porten er satt opp, vil AdGuard Home kjøre en 'DNS-over-TLS'-tjener på denne porten.",
|
||||
"encryption_certificates": "Sertifikater",
|
||||
"encryption_certificates_desc": "For å bruke kryptering, må du skrive inn et gyldig SSL-sertifikatkjede for domenet ditt. Du kan få et gratis sertifikat hos <0>{{link}}</0>, eller kjøpe et fra en av de troverdige sertifikatsautoritetene.",
|
||||
"encryption_certificates_input": "Kopier / lim inn dine PEM-kodede sertifikater her.",
|
||||
"encryption_status": "Status",
|
||||
"encryption_expire": "Utløper",
|
||||
"encryption_key": "Privat nøkkel",
|
||||
"encryption_key_input": "Kopier / lim inn ditt sertifikats PEM-kodede private nøkkel her.",
|
||||
"encryption_enable": "Skru på kryptering (HTTPS, DNS-over-HTTPS, og DNS-over-TLS)",
|
||||
"encryption_enable_desc": "Dersom kryptering er skrudd på, vil AdGuard Home sitt admingrensesnitt virke over HTTPS, og DNS-tjeneren vil lytte etter forespørseler over DNS-over-HTTPS og DNS-over-TLS.",
|
||||
"encryption_chain_valid": "Sertifikatskjeden er gyldig",
|
||||
"encryption_chain_invalid": "Sertifikatskjeden er ugyldig",
|
||||
"encryption_key_valid": "Dette er en gyldig {{type}}-type privat nøkkel",
|
||||
"encryption_key_invalid": "Dette er en ugyldig {{type}}-type privat nøkkel",
|
||||
"encryption_subject": "Tema",
|
||||
"encryption_issuer": "Utsteder",
|
||||
"encryption_hostnames": "Vertsnavn",
|
||||
"encryption_reset": "Er du sikker på at du vil tilbakestille krypteringsinnstillingene?",
|
||||
"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>.",
|
||||
"form_error_port_range": "Skriv inn et portnummer i området 80-65535",
|
||||
"form_error_port_unsafe": "Denne porten er ikke trygg",
|
||||
"form_error_equal": "Burde ikke være de samme",
|
||||
"form_error_password": "Passordet samsvarer ikke",
|
||||
"reset_settings": "Tilbakestill innstillinger",
|
||||
"update_announcement": "AdGuard Home {{version}} er nå tilgjengelig! <0>Klikk her</0> for mere informasjon.",
|
||||
"setup_guide": "Oppsettsveiledning",
|
||||
"dns_addresses": "DNS-adresser",
|
||||
"dns_start": "DNS-tjeneren starter opp",
|
||||
"dns_status_error": "Feil ved sjekk av DNS-tjenerstatusen",
|
||||
"down": "Nedstrøm",
|
||||
"fix": "Fiks",
|
||||
"dns_providers": "Her er en <0>liste over kjente DNS-leverandører</0> som du kan velge blant.",
|
||||
"update_now": "Oppdater nå",
|
||||
"update_failed": "Auto-oppdatering mislyktes. Vennligst <a href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>følg trinnene</a> for manuelle oppdateringer.",
|
||||
"processing_update": "Vennligst vent, AdGuard Home blir oppdatert",
|
||||
"clients_title": "Klienter",
|
||||
"clients_desc": "Konfigurer enheter som er koblet til AdGuard Home",
|
||||
"settings_global": "Overbestyrt",
|
||||
"settings_custom": "Tilpasset",
|
||||
"table_client": "Klient",
|
||||
"table_name": "Navn",
|
||||
"save_btn": "Lagre",
|
||||
"client_add": "Legg til klient",
|
||||
"client_new": "Ny klient",
|
||||
"client_edit": "Rediger klienten",
|
||||
"client_identifier": "Identifikator",
|
||||
"ip_address": "IP-adresse",
|
||||
"client_identifier_desc": "Klienter kan bli identifisert gjennom IP-adressen eller MAC-adressen. Vennligst bemerk at å bruke MAC som en identifikator, bare er mulig dersom AdGuard Home også er en <0>DHCP-tjener</0>",
|
||||
"form_enter_ip": "Skriv inn IP",
|
||||
"form_enter_mac": "Skriv inn MAC",
|
||||
"form_enter_id": "Skriv inn identifikator",
|
||||
"form_add_id": "Legg til identifikator",
|
||||
"form_client_name": "Skriv inn klientnavnet",
|
||||
"name": "Navn",
|
||||
"client_global_settings": "Bruk de overbestyrte innstillingene",
|
||||
"client_deleted": "Klienten «{{key}}» ble vellykket slettet",
|
||||
"client_added": "Klienten «{{key}}» ble vellykket lagt til",
|
||||
"client_updated": "Klienten «{{key}}» ble vellykket oppdatert",
|
||||
"clients_not_found": "Ingen klienter ble funnet",
|
||||
"client_confirm_delete": "Er du sikker på at du vil slette klienten «{{key}}»?",
|
||||
"list_confirm_delete": "Er du sikker på at du vil slette denne listen?",
|
||||
"auto_clients_title": "Klienter (kjørende)",
|
||||
"auto_clients_desc": "Loggføring over klientene som bruker AdGuard Home, men som ikke har blitt lagret i oppsettet",
|
||||
"access_title": "Tilgangsinnstillinger",
|
||||
"access_desc": "Her kan du sette opp tilgangsregler for AdGuard Home-DNS-tjeneren.",
|
||||
"access_allowed_title": "Tillatte klienter",
|
||||
"access_allowed_desc": "En liste over CIDR- eller IP-adresser. Dersom dette er satt opp, vil AdGuard Home kun akseptere forespørsler fra disse IP-adressene.",
|
||||
"access_disallowed_title": "Klienter som skal avvises",
|
||||
"access_disallowed_desc": "En liste over CIDR- eller IP-adresser. Dersom dette er satt opp, vil AdGuard Home avslå forespørsler fra disse IP-adressene.",
|
||||
"access_blocked_title": "Blokkerte domener",
|
||||
"access_blocked_desc": "Ikke forveksle dette med filtre. AdGuard Home vil nekte å behandle DNS-forespørsler som har disse domenene i forespørselene.",
|
||||
"access_settings_saved": "Tilgangsinnstillingene ble vellykket lagret",
|
||||
"updates_checked": "Oppdateringene ble vellykket sett etter",
|
||||
"updates_version_equal": "AdGuard Home er fullt oppdatert",
|
||||
"check_updates_now": "Se etter oppdateringer nå",
|
||||
"dns_privacy": "DNS-privatliv",
|
||||
"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_3": "<0>Vennligst bemerk at krypterte DNS-protokoller bare er støttet på Android 9. Så du må installere ytterligere programvare for andre operativsystemer.</0><0>Her er en liste over programvare som du kan bruke.</0>",
|
||||
"setup_dns_privacy_android_1": "Android 9 har innebygd støtte for DNS-over-TLS. For å sette det opp, gå til Innstillinger → Nettverk og internett → Avansert → Privat DNS, og skriv inn domenenavnet ditt der.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard for Android</0> støtter <1>DNS-over-HTTPS</1> og <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "<0>Intra</0> legger til <1>DNS-over-HTTPS</1>-støtte i Android.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> støtter <1>DNS-over-HTTPS</1>, men for å sette det opp til å bruke din egen tjener, vil du måtte generere et <2>DNS-stempel</2> for det.",
|
||||
"setup_dns_privacy_ios_2": "<0>AdGuard for iOS</0> støtter <1>DNS-over-HTTPS</1>- og <1>DNS-over-TLS</1>-oppsett.",
|
||||
"setup_dns_privacy_other_title": "Andre implementeringer",
|
||||
"setup_dns_privacy_other_1": "AdGuard Home i seg selv kan brukes som en sikker DNS-klient for enhver plattform.",
|
||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0> støtter alle kjente sikre DNS-protokoller.",
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> støtter <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> støtter <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_5": "Du finner flere implementeringer <0>her</0> og <1>her</1>.",
|
||||
"setup_dns_notice": "For å benytte <1>DNS-over-HTTPS</1> eller <1>DNS-over-TLS</1>, må du <0>sette opp Kryptering</0> i AdGuard Home-innstillingene.",
|
||||
"rewrite_added": "DNS-omdirigeringen for «{{key}}» ble vellykket lagt til",
|
||||
"rewrite_deleted": "DNS-omdirigeringen for «{{key}}» ble vellykket slettet",
|
||||
"rewrite_add": "Legg til DNS-omdirigering",
|
||||
"rewrite_not_found": "Ingen DNS-omdirigeringer ble funnet",
|
||||
"rewrite_confirm_delete": "Er du sikker på at du vil slette DNS-omdirigeringen for «{{key}}»?",
|
||||
"rewrite_desc": "Lar deg enkelt konfigurere selvvalgte DNS-tilbakemeldinger for et spesifikt domenenavn.",
|
||||
"rewrite_applied": "Benyttet omdirigeringsregelen",
|
||||
"rewrite_hosts_applied": "Omskrevet av 'hosts'-oppføringen",
|
||||
"dns_rewrites": "DNS-omdirigeringer",
|
||||
"form_domain": "Skriv inn domene",
|
||||
"form_answer": "Skriv inn IP-adresse eller domenenavn",
|
||||
"form_error_domain_format": "Ugyldig domeneformat",
|
||||
"form_error_answer_format": "Ugyldig svarformat",
|
||||
"configure": "Sett opp",
|
||||
"main_settings": "Hovedinnstillinger",
|
||||
"block_services": "Blokker spesifikke tjenester",
|
||||
"blocked_services": "Blokkerte tjenester",
|
||||
"blocked_services_desc": "Gjør det mulig å blokkere populære nettsteder og tjenester med letthet.",
|
||||
"blocked_services_saved": "Tjenesteblokkeringene ble vellykket lagret",
|
||||
"blocked_services_global": "Bruk de overbestyrt blokkerte tjenestene",
|
||||
"blocked_service": "Blokkert tjeneste",
|
||||
"block_all": "Blokker alt",
|
||||
"unblock_all": "Tillat alt",
|
||||
"encryption_certificate_path": "Filbanen til sertifikatet",
|
||||
"encryption_private_key_path": "Filbanen til den private nøkkelen",
|
||||
"encryption_certificates_source_path": "Bestem en filbane for sertifikater",
|
||||
"encryption_certificates_source_content": "Lim inn innholdet til sertifikatet",
|
||||
"encryption_key_source_path": "Bestem en privat nøkkelfil",
|
||||
"encryption_key_source_content": "Lim inn innholdet til den private nøkkelen",
|
||||
"stats_params": "Statistikk-oppsett",
|
||||
"config_successfully_saved": "Oppsettet ble vellykket lagret",
|
||||
"interval_24_hour": "24 timer",
|
||||
"interval_days": "{{count}} dag",
|
||||
"interval_days_plural": "{{count}} dager",
|
||||
"domain": "Domene",
|
||||
"answer": "Svar",
|
||||
"filter_added_successfully": "Filteret har blitt vellykket lagt til",
|
||||
"filter_updated": "Listen ble vellykket oppdatert",
|
||||
"statistics_configuration": "Statistikk-oppsett",
|
||||
"statistics_retention": "Statistikkbeholding",
|
||||
"statistics_retention_desc": "Hvis du reduserer intervallverdien, vil noen av dataene gå tapt",
|
||||
"statistics_clear": " Tøm statistikkene",
|
||||
"statistics_clear_confirm": "Er du sikker på at du vil slette statistikkene?",
|
||||
"statistics_retention_confirm": "Er du sikker på at du vil endre hvor lenge statistikkene skal beholdes? Hvis du reduserer den interne verdien, vil noe av dataene gå tapt",
|
||||
"statistics_cleared": "Statistikkene ble vellykket tømt",
|
||||
"interval_hours": "{{count}} time",
|
||||
"interval_hours_plural": "{{count}} timer",
|
||||
"filters_configuration": "Oppsett av filtre",
|
||||
"filters_enable": "Skru på filtre",
|
||||
"filters_interval": "Filteroppdateringsvanlighet",
|
||||
"disabled": "Skrudd av",
|
||||
"username_label": "Brukernavn",
|
||||
"username_placeholder": "Skriv inn brukernavn",
|
||||
"password_label": "Passord",
|
||||
"password_placeholder": "Skriv inn passord",
|
||||
"sign_in": "Logg på",
|
||||
"sign_out": "Logg av",
|
||||
"forgot_password": "Har du glemt passordet?",
|
||||
"forgot_password_desc": "Vennligst følg <0>disse trinnene</0> for å lage et nytt passord til brukerkontoen din.",
|
||||
"location": "Posisjon",
|
||||
"orgname": "Firmanavn",
|
||||
"netname": "Nettverksnavn",
|
||||
"network": "Network",
|
||||
"descr": "Beskrivelse",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Lær mer</0> om å lage dine egne filterlister for AdGuard Home.",
|
||||
"blocked_by_response": "Blokkert av responsens CNAME eller IP",
|
||||
"try_again": "Prøv på nytt",
|
||||
"domain_desc": "Skriv inn domenenavnet eller jokertegnet som du vil skal skrives om.",
|
||||
"example_rewrite_domain": "omskriv svarene til kun dette domenenavnet.",
|
||||
"example_rewrite_wildcard": "omskriv svarene til alle <0>example.org</0>-underdomener.",
|
||||
"disable_ipv6": "Skru av IPv6",
|
||||
"disable_ipv6_desc": "Hvis dette er skrudd på, vil alle DNS-forespørslene til IPv6-adresser (AAAA-type) bli droppet.",
|
||||
"fastest_addr": "Raskeste IP-adresse",
|
||||
"fastest_addr_desc": "Forespør alle DNS-tjenerne og hent den raskeste IP-adressen blant alle svarene. Dette vil gjøre DNS-forespørslene tregere, siden vi må vente på svar fra alle DNS-tjenerne, men det vil forbedre tilkoblingen generelt.",
|
||||
"autofix_warning_text": "Hvis du klikker på «Fiks», vil AdGuard Home sette opp systemet ditt til å bruke 'AdGuard Home'-DNS-tjeneren.",
|
||||
"autofix_warning_list": "Den vil utføre disse handlingene: <0>Skru av systemets DNSStubListener</0> <0>Sette DNS-tjeneradressen til 127.0.0.1</0> <0>Bytte ut det symbolske lenkemålet til /etc/resolv.conf med /run/systemd/resolve/resolv.conf</0> <0>Stoppe DNSStubListener (gjeninnlast 'systemd-resolved'-tjenesten)</0>",
|
||||
"autofix_warning_result": "Som følge av det vil alle DNS-forespørsler fra systemet ditt bli behandlet av AdGuard Home som standard.",
|
||||
"tags_title": "Stempler",
|
||||
"tags_desc": "Du kan velge stemplene som passer til klienten. Stempler kan bli inkludert i filtreringsoppføringene, og lar deg benytte dem mer nøyaktig. <0>Lær mer</0>",
|
||||
"form_select_tags": "Velg klientstempler",
|
||||
"check_title": "Sjekk filtreringen",
|
||||
"check_desc": "Sjekk om domenenavnet er filtrert",
|
||||
"check": "Sjekk",
|
||||
"form_enter_host": "Legg til et domenenavn",
|
||||
"filtered_custom_rules": "Filtrert av Selvvalgte filtreringsoppføringer",
|
||||
"choose_from_list": "Velg fra listen",
|
||||
"add_custom_list": "Legg til en selvvalgt liste",
|
||||
"host_whitelisted": "Domenet er hvitelistet",
|
||||
"check_ip": "IP-adresser: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Årsak: {{reason}}",
|
||||
"check_rule": "Oppføring: {{rule}}",
|
||||
"check_service": "Tjenestenavn: {{service}}",
|
||||
"check_not_found": "Ikke funnet i filterlistene dine",
|
||||
"client_confirm_block": "Er du sikker på at du vil blokkere klienten «{{ip}}»?",
|
||||
"client_confirm_unblock": "Er du sikker på at du vil oppheve blokkeringen av klienten «{{ip}}»?",
|
||||
"client_blocked": "Klienten «{{ip}}» ble vellykket blokkert",
|
||||
"client_unblocked": "Opphevingen av blokkeringen av klienten «{{ip}}» var vellykket",
|
||||
"static_ip": "Statisk IP-adresse",
|
||||
"static_ip_desc": "AdGuard Home er en tjener, så den trenger en statisk IP-adresse for å fungere ordentlig. Hvis ikke, kan ruteren din en dag kan tilegne en annen IP-adresse til denne enheten.",
|
||||
"set_static_ip": "Velg en statisk IP-adresse",
|
||||
"install_static_ok": "Gode nyheter! Den statiske IP-adressen er allerede satt opp",
|
||||
"install_static_error": "AdGuard Home kan ikke sette opp automatisk i dette nettverksgrensesnitt. Vennligst let opp anvisningen for hvordan man gjør det manuellt.",
|
||||
"install_static_configure": "Vi har oppdaget at det brukes en dynamisk IP-adresse — <0>{{ip}}</0>. Vil du bruke det som din statiske adresse?",
|
||||
"confirm_static_ip": "AdGuard Home vil sette opp {{ip}} til å bli din statiske IP-adresse. Vil du fortsette?",
|
||||
"list_updated": "{{count}} liste oppdatert",
|
||||
"list_updated_plural": "{{count}} lister oppdatert",
|
||||
"dnssec_enable": "Skru på DNSSEC",
|
||||
"dnssec_enable_desc": "Fest på DNSSEC-flagg til utgående DNS-forespørsler og sjekk resultatet (En DNS-oppstrømstjener med DNSSEC-støtte er påkrevd)",
|
||||
"validated_with_dnssec": "Validert med DNSSEC",
|
||||
"show_blocked_responses": "Blokkért",
|
||||
"show_whitelisted_responses": "Hvitelistet",
|
||||
"show_processed_responses": "Bearbeidet",
|
||||
"blocked_safebrowsing": "Blokkert av barnevennlig nettlesing",
|
||||
"blocked_adult_websites": "Blokkerte voksennettsteder",
|
||||
"blocked_threats": "Blokkerte trusler",
|
||||
"allowed": "Unntak",
|
||||
"filtered": "Filtrert",
|
||||
"rewritten": "Omskrevet",
|
||||
"safe_search": "Trygge søk",
|
||||
"blocklist": "Blokkeringsliste",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Mellomlagerstørrelse",
|
||||
"enter_cache_size": "Skriv inn mellomlagerstørrelse",
|
||||
"filter_category_general": "Generelt",
|
||||
"filter_category_security": "Sikkerhet",
|
||||
"filter_category_regional": "Regional",
|
||||
"filter_category_other": "Andre",
|
||||
"filter_category_other_desc": "Andre blokkeringslister",
|
||||
"click_to_view_queries": "Klikk for å vise forespørsler"
|
||||
}
|
||||
@@ -1,9 +1,12 @@
|
||||
{
|
||||
"client_settings": "Ustawienia klienta",
|
||||
"example_upstream_reserved": "możesz określić kierunek przesyłu danych DNS <0>dla konkretnej witryny (lub witryn)</0>",
|
||||
"upstream_parallel": "Używaj równoległych zapytań, aby przyspieszyć rozwiązywanie problemów, jednocześnie wysyłając zapytania do wszystkich serwerów nadrzędnych",
|
||||
"bootstrap_dns": "Serwery danych Bootstrap DNS",
|
||||
"bootstrap_dns_desc": "Servery DNS Bootstrap'a są używane do analizowania aresu IP resolverów, które oznaczysz jako nadrzędne.",
|
||||
"example_upstream_reserved": "możesz określić serwer DNS <0>dla konkretnych domen</0>",
|
||||
"upstream_parallel": "Używaj równoległych żądań, aby przyspieszyć rozwiązywanie adresów domen, jednocześnie wysyłając zapytania do wszystkich głównych serwerów DNS",
|
||||
"parallel_requests": "Równoległe żądania",
|
||||
"load_balancing": "Równoważenie obciążenia",
|
||||
"load_balancing_desc": "Zapytaj jeden serwer na raz. AdGuard Home wykorzysta losowy algorytm, aby użyć najczęściej najszybszego serwera.",
|
||||
"bootstrap_dns": "Serwery DNS Bootstrap",
|
||||
"bootstrap_dns_desc": "Serwery DNS Bootstrap są używane do ustalenia adresu IP serwerów DoH/DoT, które oznaczysz jako główne serwery DNS.",
|
||||
"check_dhcp_servers": "Sprawdź serwery DHCP",
|
||||
"save_config": "Zapisz konfigurację",
|
||||
"enabled_dhcp": "Serwer DHCP włączony",
|
||||
@@ -12,16 +15,20 @@
|
||||
"dhcp_description": "Jeśli router nie zapewnia ustawień DHCP, możesz użyć wbudowanego serwera DHCP AdGuard.",
|
||||
"dhcp_enable": "Włącz serwer DHCP",
|
||||
"dhcp_disable": "Wyłącz serwer DHCP",
|
||||
"dhcp_not_found": "W sieci nie znaleziono aktywnych serwerów DHCP. Bezpiecznie jest włączyć wbudowany serwer DHCP.",
|
||||
"dhcp_found": "Znaleziono aktywne serwery DHCP odszukane w sieci. Włączenie wbudowanego serwera DHCP nie jest bezpieczne.",
|
||||
"dhcp_not_found": "Włączenie wbudowanego serwera DHCP jest bezpieczne - nie znaleźliśmy żadnych aktywnych serwerów DHCP w sieci. Sprawdź to jednak ręcznie, ponieważ nasz automatyczny test nie daje obecnie 100% gwarancji.",
|
||||
"dhcp_found": "W sieci został znaleziony aktywny serwer DHCP. Włączenie wbudowanego serwera DHCP nie jest bezpieczne.",
|
||||
"dhcp_leases": "Dzierżawa DHCP",
|
||||
"dhcp_static_leases": "Dzierżawy statyczne DHCP",
|
||||
"dhcp_leases_not_found": "Nie znaleziono dzierżaw DHCP",
|
||||
"dhcp_config_saved": "Zapisana konfiguracja serwera DHCP",
|
||||
"form_error_required": "Pole wymagane",
|
||||
"form_error_ip_format": "Nieprawidłowy format IPv4",
|
||||
"dhcp_config_saved": "Konfiguracja DHCP pomyślnie zapisana",
|
||||
"form_error_required": "Pole jest wymagane",
|
||||
"form_error_ip4_format": "Nieprawidłowy format IPv4",
|
||||
"form_error_ip6_format": "Nieprawidłowy format IPv6",
|
||||
"form_error_ip_format": "Nieprawidłowy format IP",
|
||||
"form_error_mac_format": "Nieprawidłowy format MAC",
|
||||
"form_error_client_id_format": "Nieprawidłowy format identyfikatora klienta",
|
||||
"form_error_positive": "Musi być większa niż 0",
|
||||
"form_error_negative": "Musi być równy 0 lub większy",
|
||||
"dhcp_form_gateway_input": "Adres IP bramy",
|
||||
"dhcp_form_subnet_input": "Maska podsieci",
|
||||
"dhcp_form_range_title": "Zakres adresów IP",
|
||||
@@ -32,6 +39,7 @@
|
||||
"dhcp_interface_select": "Wybierz interfejs DHCP",
|
||||
"dhcp_hardware_address": "Adres sprzętowy",
|
||||
"dhcp_ip_addresses": "Adresy IP",
|
||||
"ip": "Adres IP",
|
||||
"dhcp_table_hostname": "Nazwa hosta",
|
||||
"dhcp_table_expires": "Wygasa",
|
||||
"dhcp_warning": "Aby włączyć wbudowany serwer DHCP, upewnij się, że nie ma innego aktywnego serwera DHCP. W przeciwnym razie może przerwać połączenie internetowe dla podłączonych urządzeń!",
|
||||
@@ -43,19 +51,30 @@
|
||||
"dhcp_new_static_lease": "Nowa dzierżawa statyczna",
|
||||
"dhcp_static_leases_not_found": "Nie znaleziono statycznych dzierżaw DHCP",
|
||||
"dhcp_add_static_lease": "Dodaj dzierżawę statyczną",
|
||||
"dhcp_reset": "Czy na pewno chcesz zresetować konfigurację DHCP?",
|
||||
"country": "Kraj",
|
||||
"city": "Miasto",
|
||||
"delete_confirm": "Czy na pewno chcesz usunąć \"{{key}}\"?",
|
||||
"form_enter_hostname": "Wpisz nazwę hosta",
|
||||
"error_details": "Szczegóły błędu",
|
||||
"response_details": "Szczegóły odpowiedzi",
|
||||
"request_details": "Szczegóły żądania",
|
||||
"client_details": "Szczegóły klienta",
|
||||
"details": "Szczegóły",
|
||||
"back": "Wróć",
|
||||
"dashboard": "Panel kontrolny",
|
||||
"settings": "Ustawienia",
|
||||
"filters": "Filtry",
|
||||
"filter": "Filtr",
|
||||
"query_log": "Dziennik zapytań",
|
||||
"compact": "Kompaktowy",
|
||||
"nothing_found": "Nic nie znaleziono",
|
||||
"faq": "FAQ",
|
||||
"version": "wersja",
|
||||
"address": "adres",
|
||||
"on": "WŁĄCZ",
|
||||
"off": "WYŁĄCZ",
|
||||
"address": "Adres",
|
||||
"protocol": "Protokół",
|
||||
"on": "WŁĄCZONY",
|
||||
"off": "WYŁĄCZONY",
|
||||
"copyright": "Prawo autorskie",
|
||||
"homepage": "Strona główna",
|
||||
"report_an_issue": "Zgłoś problem",
|
||||
@@ -71,7 +90,7 @@
|
||||
"stats_adult": "Zablokowane witryny dla dorosłych",
|
||||
"stats_query_domain": "Najczęściej wyszukiwane domeny",
|
||||
"for_last_24_hours": "przez ostatnie 24 godziny",
|
||||
"for_last_days": "z ostatnich {{value}} dni",
|
||||
"for_last_days": "z ostatniego dnia",
|
||||
"for_last_days_plural": "z ostatnich {{count}} dni",
|
||||
"no_domains_found": "Nie znaleziono domen",
|
||||
"requests_count": "Licznik żądań",
|
||||
@@ -79,16 +98,16 @@
|
||||
"top_clients": "Główni klienci",
|
||||
"no_clients_found": "Nie znaleziono klienta",
|
||||
"general_statistics": "Ogólne statystyki",
|
||||
"number_of_dns_query_days": "Liczba przetworzonych zapytań DNS w ciągu ostatnich {{value}} dni",
|
||||
"number_of_dns_query_days": "Liczba przetworzonych zapytań DNS w ciągu ostatnich {{count}} dni",
|
||||
"number_of_dns_query_days_plural": "Liczba przetworzonych zapytań DNS w ciągu ostatnich {{count}} dni",
|
||||
"number_of_dns_query_24_hours": "Liczba zapytań DNS przetworzonych w ciągu ostatnich 24 godzin",
|
||||
"number_of_dns_query_blocked_24_hours": "Liczba żądań DNS zablokowanych przez filtry blokowania reklam i listy bloków hosta",
|
||||
"number_of_dns_query_blocked_24_hours": "Liczba żądań DNS zablokowanych przez filtry blokowania reklam i listy zablokowanych hostów",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Liczba żądań DNS zablokowanych przez moduł AdGuard Bezpieczne Przeglądanie",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "Liczba zablokowanych witryn dla dorosłych",
|
||||
"enforced_save_search": "Wymuszone bezpieczne wyszukiwanie",
|
||||
"number_of_dns_query_to_safe_search": "Liczba żądań DNS do wyszukiwarek, dla których zastosowano wymuszenie bezpiecznego wyszukiwania",
|
||||
"average_processing_time": "Średni czas przetwarzania",
|
||||
"average_processing_time_hint": "Średni czas w milisekundach przetwarzania żądania DNS",
|
||||
"average_processing_time_hint": "Średni czas przetwarzania żądania DNS liczony w milisekundach",
|
||||
"block_domain_use_filters_and_hosts": "Blokuj domeny za pomocą filtrów i plików host",
|
||||
"filters_block_toggle_hint": "Możesz skonfigurować reguły blokowania w ustawieniach <a href='#filters'>Filtry</a> ",
|
||||
"use_adguard_browsing_sec": "Użyj usługi sieciowej Bezpieczne Przeglądanie AdGuard",
|
||||
@@ -96,67 +115,87 @@
|
||||
"use_adguard_parental": "Użyj usługi Kontrola Rodzicielska AdGuard",
|
||||
"use_adguard_parental_hint": "AdGuard Home sprawdzi, czy domena zawiera materiały dla dorosłych. Używa tego samego interfejsu API przyjaznego prywatności, co usługa sieciowa Bezpieczne Przeglądanie. ",
|
||||
"enforce_safe_search": "Wymuszaj bezpieczne wyszukiwanie",
|
||||
"enforce_save_search_hint": "AdGuard Home może wymusić bezpieczne wyszukiwanie w następujących wyszukiwarkach: Google, Youtube, Bing i Yandex.",
|
||||
"enforce_save_search_hint": "AdGuard Home może wymusić bezpieczne wyszukiwanie w następujących wyszukiwarkach: Google, Youtube, Bing, DuckDuckGo, Yandex, Pixabay.",
|
||||
"no_servers_specified": "Nie określono serwerów",
|
||||
"general_settings": "Ustawienia główne",
|
||||
"dns_settings": "Ustawienia DNS",
|
||||
"dns_blocklists": "Listy zablokowanych DNS",
|
||||
"dns_allowlists": "Listy dozwolonych DNS",
|
||||
"dns_blocklists_desc": "AdGuard Home zablokuje domeny pasujące do listy zablokowanych.",
|
||||
"dns_allowlists_desc": "Domeny z listy dozwolonych DNS będą dozwolone, nawet jeśli znajdują się na jednej z zablokowanych list.",
|
||||
"custom_filtering_rules": "Niestandardowe reguły filtrowania",
|
||||
"encryption_settings": "Ustawienia szyfrowania",
|
||||
"dhcp_settings": "Ustawienia DHCP",
|
||||
"upstream_dns": "Serwery DNS z wyższego poziomu",
|
||||
"upstream_dns_hint": "Jeśli pozostawisz te pole puste, AdGuard użyje <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> jako upstream. Użyj prefiksu tls:// dla serwera DNS over TLS.",
|
||||
"test_upstream_btn": "Test upstreamów",
|
||||
"upstream_dns": "Główne serwery DNS",
|
||||
"upstream_dns_hint": "Jeśli to pole pozostawisz puste, AdGuard Home wykorzysta usługę <a href='https://www.quad9.net/' target='_blank'>Quad9</a> jako główny serwer DNS.",
|
||||
"test_upstream_btn": "Test głównych serwerów DNS",
|
||||
"upstreams": "Główne serwery DNS",
|
||||
"apply_btn": "Zastosuj",
|
||||
"disabled_filtering_toast": "Wyłączone filtrowanie",
|
||||
"enabled_filtering_toast": "Włączone filtrowanie",
|
||||
"disabled_safe_browsing_toast": "Wyłączone bezpieczne przeglądanie",
|
||||
"enabled_safe_browsing_toast": "Włączone bezpieczne przeglądanie",
|
||||
"disabled_safe_browsing_toast": "Bezpieczne przeglądanie zostało wyłączone",
|
||||
"enabled_safe_browsing_toast": "Bezpieczne przeglądanie zostało włączone",
|
||||
"disabled_parental_toast": "Wyłączona Kontrola Rodzicielska",
|
||||
"enabled_parental_toast": "Włączona Kontrola Rodzicielska",
|
||||
"disabled_safe_search_toast": "Wyłączone bezpieczne wyszukiwanie",
|
||||
"enabled_save_search_toast": "Włączone bezpieczne wyszukiwanie",
|
||||
"disabled_safe_search_toast": "Bezpieczne wyszukiwanie zostało włączone",
|
||||
"enabled_save_search_toast": "Bezpieczne wyszukiwanie zostało włączone",
|
||||
"enabled_table_header": "Włączone",
|
||||
"name_table_header": "Nazwa",
|
||||
"filter_url_table_header": "Filtruj adres URL",
|
||||
"rules_count_table_header": "Licznik reguł",
|
||||
"last_time_updated_table_header": "Ostatni raz zaktualizowany",
|
||||
"list_url_table_header": "Adres URL listy",
|
||||
"rules_count_table_header": "Liczba reguł",
|
||||
"last_time_updated_table_header": "Ostatnia aktualizacja",
|
||||
"actions_table_header": "Akcje",
|
||||
"request_table_header": "Żądanie",
|
||||
"edit_table_action": "Edytuj",
|
||||
"delete_table_action": "Usuń",
|
||||
"filters_and_hosts": "Filtry i czarne listy hostów",
|
||||
"elapsed": "Upłynęło",
|
||||
"filters_and_hosts_hint": "AdGuard Home rozumie podstawowe reguły adblocka i składnię plików hostów.",
|
||||
"no_filters_added": "Nie dodano filtrów",
|
||||
"add_filter_btn": "Dodaj filtr",
|
||||
"no_blocklist_added": "Nie dodano list zablokowanych",
|
||||
"no_whitelist_added": "Nie dodano list dozwolonych",
|
||||
"add_blocklist": "Dodaj listę zablokowanych",
|
||||
"add_allowlist": "Dodaj listę dozwolonych",
|
||||
"cancel_btn": "Anuluj",
|
||||
"enter_name_hint": "Wprowadź nazwę",
|
||||
"enter_url_hint": "Wprowadź adres URL ",
|
||||
"enter_name_hint": "Wpisz nazwę",
|
||||
"enter_url_or_path_hint": "Wpisz adres URL lub bezwzględną ścieżkę listy",
|
||||
"check_updates_btn": "Sprawdź aktualizacje",
|
||||
"new_filter_btn": "Nowa subskrypcja filtra",
|
||||
"enter_valid_filter_url": "Wprowadź poprawny adres URL subskrypcji filtru lub pliku hosta.",
|
||||
"new_blocklist": "Nowa lista zablokowanych",
|
||||
"new_allowlist": "Nowa lista dozwolonych",
|
||||
"edit_blocklist": "Edytuj listę zablokowanych",
|
||||
"edit_allowlist": "Edytuj listę dozwolonych",
|
||||
"choose_blocklist": "Wybierz listy zablokowanych",
|
||||
"choose_allowlist": "Wybierz listy dozwolonych",
|
||||
"enter_valid_blocklist": "Wpisz prawidłowy adres URL do listy zablokowanych.",
|
||||
"enter_valid_allowlist": "Wpisz prawidłowy adres URL do listy dozwolonych.",
|
||||
"form_error_url_format": "Format adresu URL jest nieprawidłowy",
|
||||
"form_error_url_or_path_format": "Adres URL lub bezwzględna ścieżka listy jest nieprawidłowa",
|
||||
"custom_filter_rules": "Niestandardowe reguły filtrowania",
|
||||
"custom_filter_rules_hint": "Wprowadź jedną regułę w jednej linii. Możesz użyć reguł adblock lub składni plików hostów.",
|
||||
"custom_filter_rules_hint": "Wpisz jedną regułę w jednej linii. Możesz użyć reguł adblock lub składni plików hostów.",
|
||||
"examples_title": "Przykłady",
|
||||
"example_meaning_filter_block": "zablokuj dostęp do domeny example.org i wszystkich jej poddomen",
|
||||
"example_meaning_filter_block": "zablokuj dostęp do domeny example.org i wszystkich jej subdomen",
|
||||
"example_meaning_filter_whitelist": "odblokuj dostęp do domeny example.org i wszystkich jej subdomen",
|
||||
"example_meaning_host_block": "AdGuard Home zwróci teraz adres 127.0.0.1 dla domeny example.org (ale nie jego poddomen).",
|
||||
"example_comment": "! Tutaj idzie komentarz",
|
||||
"example_meaning_host_block": "AdGuard Home zwróci adres 127.0.0.1 dla domeny example.org (ale nie jej subdomen).",
|
||||
"example_comment": "! Tutaj jest komentarz",
|
||||
"example_comment_meaning": "komentarz",
|
||||
"example_comment_hash": "# Również komentarz",
|
||||
"example_regex_meaning": "blokuj dostęp do domen pasujących do określonego wyrażenia regularnego",
|
||||
"example_upstream_regular": "normalny DNS (przez UDP)",
|
||||
"example_upstream_dot": "zaszyfrowany <a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-przez-TLS</a>",
|
||||
"example_upstream_doh": "zaszyfrowany <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-przez-HTTPS</a>",
|
||||
"example_upstream_sdns": "możesz użyć <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS Stamps</a> dla <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> lub <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a> resolvers",
|
||||
"example_upstream_dot": "zaszyfrowany <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "zaszyfrowany <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "możesz użyć adresu <0>DNS Stamps</0> dla protokołu <1>DNSCrypt</1> lub <2>DNS-over-HTTPS</2>",
|
||||
"example_upstream_tcp": "zwykły DNS (przez TCP)",
|
||||
"all_filters_up_to_date_toast": "Wszystkie filtry są już aktualne",
|
||||
"updated_upstream_dns_toast": "Zaktualizowano wyższe serwery DNS",
|
||||
"all_lists_up_to_date_toast": "Wszystkie listy są już aktualne",
|
||||
"updated_upstream_dns_toast": "Główne serwery DNS zostały zaktualizowane",
|
||||
"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",
|
||||
"unblock_btn": "Odblokuj",
|
||||
"block_btn": "Zablokuj",
|
||||
"unblock": "Odblokuj",
|
||||
"block": "Zablokuj",
|
||||
"time_table_header": "Czas",
|
||||
"date": "Data",
|
||||
"domain_name_table_header": "Nazwa domeny",
|
||||
"domain_or_client": "Domena lub klient",
|
||||
"type_table_header": "Typ",
|
||||
"response_table_header": "Odpowiedź ",
|
||||
"response_code": "Kod odpowiedzi",
|
||||
"client_table_header": "Klient",
|
||||
"empty_response_status": "Pusty",
|
||||
"show_all_filter_type": "Pokaż wszystko",
|
||||
@@ -167,30 +206,69 @@
|
||||
"next_btn": "Następny",
|
||||
"loading_table_status": "Wczytuję...",
|
||||
"page_table_footer_text": "Strona",
|
||||
"of_table_footer_text": "z",
|
||||
"rows_table_footer_text": "rzędy",
|
||||
"rows_table_footer_text": "wierszy",
|
||||
"updated_custom_filtering_toast": "Zaktualizowano niestandardowe reguły filtrowania",
|
||||
"rule_removed_from_custom_filtering_toast": "Reguła usunięta z niestandardowych reguł filtrowania",
|
||||
"rule_added_to_custom_filtering_toast": "Reguła dodana do niestandardowych reguł filtrowania",
|
||||
"query_log_response_status": "Status: {{value}}",
|
||||
"query_log_filtered": "Filtrowane przez {{filter}}",
|
||||
"query_log_confirm_clear": "Czy na pewno chcesz wyczyścić cały dziennik zapytań?",
|
||||
"query_log_cleared": "Dziennik zapytań został pomyślnie wyczyszczony",
|
||||
"query_log_updated": "Dziennik zapytań został zaktualizowany",
|
||||
"query_log_clear": "Wyczyść dzienniki zapytań",
|
||||
"query_log_retention": "Przechowywanie dzienników zapytań",
|
||||
"query_log_enable": "Włącz dziennik",
|
||||
"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_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",
|
||||
"anonymize_client_ip": "Anonimizuj adres IP klienta",
|
||||
"anonymize_client_ip_desc": "Nie zapisuj pełnego adresu IP w dziennikach i statystykach",
|
||||
"dns_config": "Konfiguracja serwera DNS",
|
||||
"dns_cache_config": "Konfiguracja pamięci podręcznej DNS",
|
||||
"dns_cache_config_desc": "Tutaj możesz skonfigurować pamięć podręczną DNS",
|
||||
"blocking_mode": "Tryb blokowania",
|
||||
"default": "Domyślny",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Null IP",
|
||||
"custom_ip": "Niestandardowy adres IP",
|
||||
"blocking_ipv4": "Blokowanie IPv4",
|
||||
"blocking_ipv6": "Blokowanie IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "Zwykły DNS",
|
||||
"form_enter_rate_limit": "Wpisz limit ilościowy",
|
||||
"rate_limit": "Limit ilościowy",
|
||||
"edns_enable": "Włącz podsieć klienta EDNS",
|
||||
"edns_cs_desc": "Po włączeniu AdGuard Home będzie wysyłał podsieci klientów na serwery DNS.",
|
||||
"rate_limit_desc": "Liczba żądań na sekundę, które może wykonać pojedynczy klient (0: nieograniczona)",
|
||||
"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_mode_default": "Domyślny: Odpowiedz kodem NXDOMAIN, gdy zostanie zablokowany przez regułę w stylu Adblock; odpowiedz na adres IP określony w regule, gdy zostanie zablokowany przez regułę w stylu /etc/hosts",
|
||||
"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_custom_ip": "Niestandardowy adres IP: Odpowiedz ręcznie ustawionym adresem IP",
|
||||
"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",
|
||||
"source_label": "Źródło",
|
||||
"found_in_known_domain_db": "Znaleziono w bazie danych znanych domen.",
|
||||
"category_label": "Kategoria",
|
||||
"rule_label": "Reguła",
|
||||
"filter_label": "Filtr",
|
||||
"list_label": "Lista",
|
||||
"unknown_filter": "Nieznany filtr {{filterId}}",
|
||||
"install_welcome_title": "Witamy w AdGuard Home!",
|
||||
"known_tracker": "Znany element śledzący",
|
||||
"install_welcome_title": "Witaj w AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home to w pełni funkcjonalny serwer DNS do blokowania reklam i śledzenia. Jego celem jest kontrolowanie całej sieci i wszystkich urządzeń, bez konieczności korzystania z jakiegokolwiek programu po stronie klienta.",
|
||||
"install_settings_title": "Interfejs internetowy administratora",
|
||||
"install_settings_listen": "Interfejs sieciowy",
|
||||
"install_settings_port": "Port",
|
||||
"install_settings_interface_link": "Twój interfejs www AdGuard Home Admin będzie dostępny pod następującymi adresami:",
|
||||
"form_error_port": "Wprowadź poprawną wartość portu",
|
||||
"form_error_port": "Wpisz poprawną wartość portu",
|
||||
"install_settings_dns": "Serwer DNS",
|
||||
"install_settings_dns_desc": "Konieczne będzie skonfigurowanie urządzenia lub routera do korzystania z serwera DNS pod następującymi adresami:",
|
||||
"install_settings_all_interfaces": "Wszystkie interfejsy",
|
||||
"install_auth_title": "Uwierzytelnianie",
|
||||
"install_auth_desc": "Zalecamy skonfigurowanie strony AdGuard Home Admin, aby zweryfikować swoją tożsamość za pomocą hasła. Chociaż jest dostępny tylko w sieci lokalnej, nadal ważne jest, aby chronić go przed nieograniczonym dostępem.",
|
||||
"install_auth_username": "Nazwa użytkownika",
|
||||
"install_auth_password": "Hasło",
|
||||
"install_auth_confirm": "Potwierdź hasło",
|
||||
@@ -204,15 +282,16 @@
|
||||
"install_devices_router": "Router",
|
||||
"install_devices_router_desc": "To ustawienie automatycznie obejmuje wszystkie urządzenia podłączone do routera domowego i nie trzeba ich konfigurować ręcznie.",
|
||||
"install_devices_address": "Serwer DNS AdGuard Home używa następujących adresów",
|
||||
"install_devices_router_list_1": "Otwórz preferencje routera. Zazwyczaj można się do niego dostać z przeglądarki za pośrednictwem adresu URL (na przykład http://192.168.0.1/ lub http://192.168.1.1/). Może być konieczne wprowadzenie hasła. Jeśli nie pamiętasz, często możesz odzyskać hasło, naciskając przycisk na samym routerze. Niektóre routery wymagają określonej aplikacji, która powinna być już zainstalowana na komputerze lub telefonie.",
|
||||
"install_devices_router_list_1": "Otwórz ustawienia routera. Zazwyczaj możesz uzyskać do niego dostęp przez przeglądarkę za pośrednictwem adresu URL (na przykład http://192.168.0.1/ lub http://192.168.1.1/). Możesz zostać poproszony o wpisanie hasła. Jeśli nie pamiętasz hasła, możesz je odzyskać, naciskając przycisk na samym routerze. Niektóre routery wymagają określonej aplikacji, która powinna być już zainstalowana na komputerze lub telefonie.",
|
||||
"install_devices_router_list_2": "Znajdź ustawienia DHCP/DNS. Poszukaj skrótu DNS obok pola, które pozwala wstawić dwa lub trzy zestawy liczb, z których każdy jest podzielony na cztery grupy z jedną do trzech cyfr.",
|
||||
"install_devices_router_list_3": "Wprowadź adresy swojego serwera AdGuard Home.",
|
||||
"install_devices_router_list_3": "Wpisz adresy swojego serwera AdGuard Home.",
|
||||
"install_devices_router_list_4": "Nie możesz ustawić niestandardowego serwera DNS na niektórych routerach. W takim przypadku może pomóc Ci skonfigurowanie AdGuard Home jako <0>serwera DHCP</0>. W przeciwnym razie musisz poszukać instrukcji ustawienia serwerów DNS dla konkretnego modelu routera.",
|
||||
"install_devices_windows_list_1": "Otwórz panel Ustawienia w menu Start lub w Windows.",
|
||||
"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": "Po lewej stronie ekranu znajdź Zmień ustawienia adaptera i kliknij na niego.",
|
||||
"install_devices_windows_list_4": "Wybierz aktywne połączenie, kliknij je prawym przyciskiem myszy i wybierz Właściwości.",
|
||||
"install_devices_windows_list_5": "Znajdź na liście protokół internetowy w wersji 4 (TCP/IP), zaznacz go, a następnie ponownie kliknij Właściwości.",
|
||||
"install_devices_windows_list_6": "Wybierz Użyj następujących adresów serwerów DNS i wprowadź adresy serwerów AdGuard Home.",
|
||||
"install_devices_windows_list_6": "Wybierz Użyj następujących adresów serwerów DNS i wpisz adresy serwerów AdGuard Home.",
|
||||
"install_devices_macos_list_1": "Kliknij ikonę Apple i przejdź do Preferencje systemowe.",
|
||||
"install_devices_macos_list_2": "Kliknij Sieć.",
|
||||
"install_devices_macos_list_3": "Wybierz pierwsze połączenie z listy i kliknij Zaawansowane.",
|
||||
@@ -240,8 +319,8 @@
|
||||
"encryption_redirect_desc": "Jeśli zaznaczone, AdGuard Home automatycznie przekieruje Cię z adresów HTTP na HTTPS.",
|
||||
"encryption_https": "Port HTTPS",
|
||||
"encryption_https_desc": "Jeśli port HTTPS jest skonfigurowany, interfejs administratora AdGuard Home będzie dostępny za pośrednictwem protokołu HTTPS i zapewni DNS przez HTTPS w lokalizacji zapytania '/dns-query'.",
|
||||
"encryption_dot": "DNS-przez-TLS port",
|
||||
"encryption_dot_desc": "Jeśli ten port jest skonfigurowany, AdGuard Home uruchomi serwer DNS-przez-TLS na tym porcie.",
|
||||
"encryption_dot": "Port DNS-over-TLS",
|
||||
"encryption_dot_desc": "Jeśli ten port jest skonfigurowany, AdGuard Home uruchomi serwer DNS-over-TLS na tym porcie.",
|
||||
"encryption_certificates": "Certyfikaty",
|
||||
"encryption_certificates_desc": "Aby korzystać z szyfrowania, musisz podać prawidłowy łańcuch certyfikatów SSL dla swojej domeny. Możesz uzyskać bezpłatny certyfikat na <0>{{link}}</0> lub możesz go kupić od jednego z zaufanych urzędów certyfikacji.",
|
||||
"encryption_certificates_input": "Kopiuj/wklej tutaj swoje zakodowane certyfikaty PEM.",
|
||||
@@ -249,19 +328,19 @@
|
||||
"encryption_expire": "Wygasa",
|
||||
"encryption_key": "Klucz prywatny",
|
||||
"encryption_key_input": "Tutaj kopiuj/wklej klucze prywatne zakodowane w PEM do swojego certyfikatu.",
|
||||
"encryption_enable": "Włącz szyfrowanie (HTTPS, DNS-przez-HTTPS i DNS-przez-TLS)",
|
||||
"encryption_enable_desc": "Jeśli szyfrowanie jest włączone, interfejs AdGuard Home admin będzie działał przez HTTPS, a serwer DNS będzie nasłuchiwał żądań przez DNS-przez-HTTPS i DNS-przez-TLS.",
|
||||
"encryption_enable": "Włącz szyfrowanie (HTTPS, DNS-over-HTTPS i DNS-over-TLS)",
|
||||
"encryption_enable_desc": "Jeśli szyfrowanie jest włączone, interfejs administracyjny AdGuard Home będzie działał przez HTTPS, a serwer DNS będzie nasłuchiwał żądań przez DNS-over-HTTPS i DNS-over-TLS.",
|
||||
"encryption_chain_valid": "Łańcuch certyfikatów jest prawidłowy",
|
||||
"encryption_chain_invalid": "Łańcuch certyfikatów jest nieprawidłowy",
|
||||
"encryption_chain_invalid": "Łańcuch certyfikatu jest nieprawidłowy",
|
||||
"encryption_key_valid": "Poprawny {{type}} klucz prywatny.",
|
||||
"encryption_key_invalid": "Nieprawidłowy {{type}} klucz prywatny",
|
||||
"encryption_key_invalid": "Klucz prywatny {{type}} jest nieprawidłowy",
|
||||
"encryption_subject": "Temat",
|
||||
"encryption_issuer": "Zgłaszający",
|
||||
"encryption_hostnames": "Nazwy hostów",
|
||||
"encryption_reset": "Czy na pewno chcesz zresetować ustawienia szyfrowania?",
|
||||
"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>.",
|
||||
"form_error_port_range": "Wprowadź wartość portu w zakresie 80-65535",
|
||||
"form_error_port_range": "Wpisz wartość portu z zakresu 80-65535",
|
||||
"form_error_port_unsafe": "To jest niebezpieczny port",
|
||||
"form_error_equal": "Nie powinien być równy",
|
||||
"form_error_password": "Hasło nie pasuje",
|
||||
@@ -269,6 +348,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} jest już dostępny! <0>Kliknij tutaj</0> aby uzyskać więcej informacji.",
|
||||
"setup_guide": "Przewodnik instalacji",
|
||||
"dns_addresses": "Adresy DNS",
|
||||
"dns_start": "Serwer DNS uruchamia się",
|
||||
"dns_status_error": "Błąd uzyskania statusu serwera DNS",
|
||||
"down": "Utrata połączenia",
|
||||
"fix": "Napraw",
|
||||
"dns_providers": "Oto lista <0>znanych dostawców DNS</0> do wyboru.",
|
||||
@@ -287,17 +368,20 @@
|
||||
"client_edit": "Edytuj klienta",
|
||||
"client_identifier": "Identyfikator",
|
||||
"ip_address": "Adres IP",
|
||||
"client_identifier_desc": "Klientów można zidentyfikować po adresie IP lub adresie MAC. Należy pamiętać, że używanie MAC jako identyfikatora jest możliwe tylko wtedy, gdy AdGuard Home jest również <0>serwerem DHCP</0>",
|
||||
"client_identifier_desc": "Klienci mogą być identyfikowani na podstawie adresu IP, CIDR, adresu MAC. Pamiętaj, że użycie MAC jako identyfikatora jest możliwe tylko wtedy, gdy AdGuard Home jest również <0>serwerem DHCP</0>",
|
||||
"form_enter_ip": "Wpisz adres IP",
|
||||
"form_enter_mac": "Wpisz adres MAC",
|
||||
"form_enter_id": "Wpisz identyfikator",
|
||||
"form_add_id": "Dodaj identyfikator",
|
||||
"form_client_name": "Wpisz nazwę klienta",
|
||||
"name": "Nazwa",
|
||||
"client_global_settings": "Użyj ustawień globalnych",
|
||||
"client_deleted": "Klient \"{{key}}\" został pomyślnie usunięty",
|
||||
"client_added": "Klient \"{{key}}\" został pomyślnie dodany",
|
||||
"client_updated": "Klient \"{{key}}\" został pomyślnie zaktualizowany",
|
||||
"clients_not_found": "Nie znaleziono klientów",
|
||||
"client_confirm_delete": "Czy na pewno chcesz usunąć klienta \"{{key}}\"?",
|
||||
"filter_confirm_delete": "Czy na pewno chcesz usunąć filtr?",
|
||||
"list_confirm_delete": "Czy na pewno chcesz usunąć tę listę?",
|
||||
"auto_clients_title": "Klienci (czas uruchamiania)",
|
||||
"auto_clients_desc": "Dane klientów, które używają AdGuard Home, ale nie są przechowywane w konfiguracji",
|
||||
"access_title": "Ustawienia dostępu",
|
||||
@@ -306,28 +390,28 @@
|
||||
"access_allowed_desc": "Lista adresów CIDR lub IP. Jeśli jest skonfigurowany, AdGuard Home akceptuje tylko żądania z tych adresów IP.",
|
||||
"access_disallowed_title": "Niedozwoleni klienci",
|
||||
"access_disallowed_desc": "Lista adresów CIDR lub IP. Po skonfigurowaniu AdGuard Home usunie żądania z tych adresów IP.",
|
||||
"access_blocked_title": "Zablokowane domeny",
|
||||
"access_blocked_desc": "Nie myl go z filtrami. Strona główna AdGuard zignoruje zapytanie DNS dotyczące tych domen w ramach przetwarzania zapytań.",
|
||||
"access_blocked_title": "Niedozwolone domeny",
|
||||
"access_blocked_desc": "Nie myl go z filtrami. AdGuard Home zignoruje zapytanie DNS dotyczące tych domen w ramach przetwarzania zapytań. Tutaj możesz określić dokładne nazwy domen, subdomen i reguły adresów URL np. 'example.org', '*.example.org' lub '||example.org^'.",
|
||||
"access_settings_saved": "Ustawienia dostępu zostały pomyślnie zapisane",
|
||||
"updates_checked": "Aktualizacje pomyślnie sprawdzone",
|
||||
"updates_version_equal": "AdGuard Home jest aktualny",
|
||||
"check_updates_now": "Sprawdź aktualizacje teraz",
|
||||
"dns_privacy": "Prywatność DNS",
|
||||
"setup_dns_privacy_1": "<0>DNS-przez-TLS:</0> Użyj ciągu <1>{{address}}</1>.",
|
||||
"setup_dns_privacy_2": "<0>DNS-przez-HTTPS:</0> Użyj ciągu <1>{{address}}</1>.",
|
||||
"dns_privacy": "Prywatny DNS",
|
||||
"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_3": "<0>Należy pamiętać, że szyfrowane protokoły DNS są obsługiwane tylko w systemie Android 9. Musisz zainstalować dodatkowe oprogramowanie dla innych systemów operacyjnych.</0><0>Oto lista oprogramowania, którego możesz użyć.</0>",
|
||||
"setup_dns_privacy_android_1": "Android 9 obsługuje natywnie DNS-przez-TLS. Aby go skonfigurować, przejdź do Ustawienia → Sieć i Internet → Zaawansowane → Prywatny DNS i wprowadź tam swoją nazwę domeny.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard dla Android</0> obsługuje <1>DNS-przez-HTTPS</1> i <1>DNS-przez-TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "<0>Intra</0> dodaje obsługę <1>DNS-przez-HTTPS</1> do Androida.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> obsługuje <1>DNS-przez-HTTPS</1>, ale musisz wygenerować znacznik, aby skonfigurować go do używania własnego serwera <2>DNS Stamp</2>.",
|
||||
"setup_dns_privacy_ios_2": "<0>AdGuard dla iOS</0> obsługuje konfigurację <1>DNS-przez-HTTPS</1> i <1>DNS-przez-TLS</1>.",
|
||||
"setup_dns_privacy_android_1": "System Android 9 obsługuje natywnie DNS-over-TLS. Aby go skonfigurować, przejdź do Ustawienia → Sieć i Internet → Zaawansowane → Prywatny DNS i wpisz tam swoją nazwę domeny.",
|
||||
"setup_dns_privacy_android_2": "Aplikacja <0>AdGuard dla Androida</0> obsługuje <1>DNS-over-HTTPS</1> i <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "Aplikacja <0>Intra</0> dodaje obsługę <1>DNS-over-HTTPS</1> dla Androida.",
|
||||
"setup_dns_privacy_ios_1": "Aplikacja <0>DNSCloak</0> obsługuje <1>DNS-over-HTTPS</1>, ale musisz wygenerować znacznik, aby skonfigurować go do używania własnego serwera <2>DNS Stamp</2>.",
|
||||
"setup_dns_privacy_ios_2": "Aplikacja <0>AdGuard dla iOS</0> obsługuje <1>DNS-over-HTTPS</1> i <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_other_title": "Inne implementacje",
|
||||
"setup_dns_privacy_other_1": "Sam AdGuard Home może być bezpiecznym klientem DNS na dowolnej platformie.",
|
||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0> obsługuje wszystkie znane bezpieczne protokoły DNS.\n\n",
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> obsługuje <1>DNS-przez-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> obsługuje <1>DNS-przez-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> obsługuje <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> obsługuje <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_5": "Znajdziesz więcej implementacji <0>tutaj</0> i <1>tutaj</1>.",
|
||||
"setup_dns_notice": "Aby użyć <1>DNS-przez-HTTPS</1> lub <1>DNS-przez-TLS</1>, musisz <0>skonfigurować szyfrowanie</0> w ustawieniach AdGuard Home.",
|
||||
"setup_dns_notice": "Aby skorzystać z <1>DNS-over-HTTPS</1> lub <1>DNS-over-TLS</1>, musisz w ustawieniach AdGuard Home <0>skonfigurować szyfrowanie</0>.",
|
||||
"rewrite_added": "Pomyślnie dodano przepisanie DNS dla „{{key}}”",
|
||||
"rewrite_deleted": "Przepisanie DNS dla „{{key}}” zostało pomyślnie usunięte",
|
||||
"rewrite_add": "Dodaj przepisywanie DNS",
|
||||
@@ -335,8 +419,9 @@
|
||||
"rewrite_confirm_delete": "Czy na pewno chcesz usunąć przepisywanie DNS dla „{{key}}”?",
|
||||
"rewrite_desc": "Pozwala łatwo skonfigurować niestandardową odpowiedź DNS dla określonej nazwy domeny.",
|
||||
"rewrite_applied": "Przepisano regułę",
|
||||
"rewrite_hosts_applied": "Przepisana reguła w pliku hosts",
|
||||
"dns_rewrites": "Przepisywanie DNS",
|
||||
"form_domain": "Wprowadź domenę",
|
||||
"form_domain": "Wpisz nazwę domeny lub symbol wieloznaczny",
|
||||
"form_answer": "Wpisz adres IP lub nazwę domeny",
|
||||
"form_error_domain_format": "Niepoprawny format domeny",
|
||||
"form_error_answer_format": "Nieprawidłowy format odpowiedzi",
|
||||
@@ -344,7 +429,7 @@
|
||||
"main_settings": "Ustawienia główne",
|
||||
"block_services": "Blokuj określone usługi",
|
||||
"blocked_services": "Zablokowane usługi",
|
||||
"blocked_services_desc": "Pozwala szybko blokować popularne witryny i usługi.",
|
||||
"blocked_services_desc": "Pozwala szybko zablokować popularne witryny i usługi.",
|
||||
"blocked_services_saved": "Zablokowane usługi zostały pomyślnie zapisane",
|
||||
"blocked_services_global": "Użyj globalnych zablokowanych usług",
|
||||
"blocked_service": "Zablokowana usługa",
|
||||
@@ -359,14 +444,124 @@
|
||||
"stats_params": "Konfiguracja statystyk",
|
||||
"config_successfully_saved": "Konfiguracja została pomyślnie zapisana",
|
||||
"interval_24_hour": "24 godziny",
|
||||
"interval_days": "{{value}} dni",
|
||||
"interval_days": "{{count}} dzień",
|
||||
"interval_days_plural": "{{count}} dni",
|
||||
"domain": "Domena",
|
||||
"answer": "Odpowiedź",
|
||||
"filter_added_successfully": "Pomyślnie dodano filtr",
|
||||
"filter_added_successfully": "Lista została pomyślnie dodana",
|
||||
"filter_removed_successfully": "Lista została usunięta",
|
||||
"filter_updated": "Filtr został pomyślnie zaktualizowany",
|
||||
"statistics_configuration": "Konfiguracja statystyk",
|
||||
"statistics_retention": "Przechowywanie statystyk",
|
||||
"statistics_retention_desc": "Jeśli zmniejszysz wartość interwału, niektóre dane zostaną utracone",
|
||||
"statistics_clear": " Wyczyść statystyki",
|
||||
"statistics_clear_confirm": "Czy na pewno chcesz wyczyścić statystyki?",
|
||||
"statistics_cleared": "Statystyki zostały pomyślnie wyczyszczone"
|
||||
"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",
|
||||
"interval_hours": "{{count}} godzina",
|
||||
"interval_hours_plural": "{{count}} godziny",
|
||||
"filters_configuration": "Konfiguracja filtrów",
|
||||
"filters_enable": "Włącz filtry",
|
||||
"filters_interval": "Częstotliwość aktualizacji filtrów",
|
||||
"disabled": "Wyłączone",
|
||||
"username_label": "Nazwa użytkownika",
|
||||
"username_placeholder": "Wpisz nazwę użytkownika",
|
||||
"password_label": "Hasło",
|
||||
"password_placeholder": "Wpisz hasło",
|
||||
"sign_in": "Zaloguj się",
|
||||
"sign_out": "Wyloguj się",
|
||||
"forgot_password": "Zapomniałeś hasła?",
|
||||
"forgot_password_desc": "Wykonaj <0>te kroki</0>, aby utworzyć nowe hasło do konta użytkownika.",
|
||||
"location": "Lokalizacja",
|
||||
"orgname": "Nazwa firmy",
|
||||
"netname": "Nazwa sieci",
|
||||
"network": "Sieć",
|
||||
"descr": "Opis",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Dowiedz się więcej</0> o tworzeniu własnych list blokowania hostów.",
|
||||
"blocked_by_response": "W odpowiedzi zablokowany przez CNAME lub IP",
|
||||
"blocked_by_cname_or_ip": "Zablokowany przez rekord CNAME lub adres IP",
|
||||
"try_again": "Spróbuj ponownie",
|
||||
"domain_desc": "Wpisz nazwę domeny lub symbol wieloznaczny, który chcesz przepisać.",
|
||||
"example_rewrite_domain": "przepisz odpowiedzi tylko dla tej nazwy domeny.",
|
||||
"example_rewrite_wildcard": "przepisz odpowiedzi dla wszystkich subdomen <0>example.org</0>.",
|
||||
"rewrite_ip_address": "Adres IP: użyj tego adresu IP w odpowiedzi A lub AAAA",
|
||||
"rewrite_domain_name": "Nazwa domeny: dodaj rekord CNAME",
|
||||
"rewrite_A": "<0>A</0>: wartość specjalna, zachowaj rekord <0>A</0> z głównego serwera DNS",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: wartość specjalna, zachowaj rekord <0>AAAA</0> z głównego serwera DNS",
|
||||
"disable_ipv6": "Wyłącz IPv6",
|
||||
"disable_ipv6_desc": "Jeśli ta funkcja jest włączona, wszystkie zapytania DNS dotyczące adresów IPv6 (typ AAAA) zostaną usunięte.",
|
||||
"fastest_addr": "Najszybszy adres IP",
|
||||
"fastest_addr_desc": "Zapytaj wszystkie serwery DNS i zwróć najszybszy adres IP spośród wszystkich odpowiedzi. Ta czynność spowolni zapytania DNS, ponieważ odpowiedź musi nadejść ze wszystkich serwerów DNS, ale poprawi ogólną stabilność połączenia.",
|
||||
"autofix_warning_text": "Jeśli klikniesz „Napraw”, AdGuardHome skonfiguruje system do korzystania z serwera DNS AdGuardHome.",
|
||||
"autofix_warning_list": "Wykona następujące zadania: <0>Dezaktywuj system DNSStubListener</0> <0>Ustaw adres serwera DNS na 127.0.0.1</0> <0>Zamień symboliczny cel łącza z /etc/resolv.conf na /run/systemd/resolve/resolv.conf</0> <0>Zatrzymaj DNSStubListener (przeładuj usługę systemową)</0>",
|
||||
"autofix_warning_result": "W rezultacie wszystkie żądania DNS z Twojego systemu będą domyślnie przetwarzane przez AdGuardHome.",
|
||||
"tags_title": "Tagi",
|
||||
"tags_desc": "Możesz wybrać tagi odpowiadające klientowi. Tagi mogą być uwzględnione w regułach filtrowania i umożliwiają ich dokładniejsze stosowanie. <0>Dowiedz się więcej </0>",
|
||||
"form_select_tags": "Wybierz tagi klienta",
|
||||
"check_title": "Sprawdź filtrowanie",
|
||||
"check_desc": "Sprawdź, czy nazwa hosta jest filtrowana",
|
||||
"check": "Sprawdź",
|
||||
"form_enter_host": "Wpisz nazwę hosta",
|
||||
"filtered_custom_rules": "Filtrowane według niestandardowych reguł filtrowania",
|
||||
"choose_from_list": "Wybierz z listy",
|
||||
"add_custom_list": "Dodaj listę niestandardową",
|
||||
"host_whitelisted": "Host znajduje się na białej liście",
|
||||
"check_ip": "Adresy IP: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Powód: {{reason}}",
|
||||
"check_rule": "Reguła: {{rule}}",
|
||||
"check_service": "Nazwa usługi: {{service}}",
|
||||
"check_not_found": "Nie znaleziono na Twoich listach filtrów",
|
||||
"client_confirm_block": "Czy na pewno chcesz zablokować klienta \"{{ip}}\"?",
|
||||
"client_confirm_unblock": "Czy na pewno chcesz odblokować klienta \"{{ip}}\"?",
|
||||
"client_blocked": "Klient \"{{ip}}\" został pomyślnie zablokowany",
|
||||
"client_unblocked": "Klient \"{{ip}}\" został pomyślnie odblokowany",
|
||||
"static_ip": "Statyczny adres IP",
|
||||
"static_ip_desc": "AdGuard Home to serwer, więc do poprawnego działania potrzebuje statycznego adresu IP. W przeciwnym razie router może przypisać temu urządzeniu inny adres IP.",
|
||||
"set_static_ip": "Ustaw statyczny adres IP",
|
||||
"install_static_ok": "Dobre wieści! Statyczny adres IP jest już skonfigurowany",
|
||||
"install_static_error": "AdGuard Home nie może skonfigurować go automatycznie dla tego interfejsu sieciowego. Poszukaj instrukcji, jak to zrobić ręcznie.",
|
||||
"install_static_configure": "Wykryliśmy, że używany jest dynamiczny adres IP — <0>{{ip}}</0>. Czy chcesz użyć go jako adresu statycznego?",
|
||||
"confirm_static_ip": "AdGuard Home skonfiguruje {{ip}} aby był Twoim statycznym adresem IP. Czy chcesz kontynuować?",
|
||||
"list_updated": "{{count}} lista zaktualizowana",
|
||||
"list_updated_plural": "{{count}} list zaktualizowanych",
|
||||
"dnssec_enable": "Włącz DNSSEC",
|
||||
"dnssec_enable_desc": "Ustaw flagę DNSSEC w wychodzących zapytaniach DNS i sprawdź wynik (wymagany jest usługodawca z obsługą zabezpieczania DNSSEC)",
|
||||
"validated_with_dnssec": "Zweryfikowany przez DNSSEC",
|
||||
"all_queries": "Wszystkie zapytania",
|
||||
"show_blocked_responses": "Zablokowane",
|
||||
"show_whitelisted_responses": "Biała lista",
|
||||
"show_processed_responses": "Przetworzono",
|
||||
"blocked_safebrowsing": "Zablokowane przez bezpieczne przeglądanie",
|
||||
"blocked_adult_websites": "Zablokowane witryny dla dorosłych",
|
||||
"blocked_threats": "Zablokowane zagrożenia",
|
||||
"allowed": "Dozwolone",
|
||||
"filtered": "Filtrowane",
|
||||
"rewritten": "Przepisane",
|
||||
"safe_search": "Bezpieczne wyszukiwanie",
|
||||
"blocklist": "Lista zablokowanych",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Rozmiar pamięci podręcznej",
|
||||
"cache_size_desc": "Rozmiar pamięci podręcznej DNS (w bajtach)",
|
||||
"cache_ttl_min_override": "Nadpisz minimalną wartość TTL",
|
||||
"cache_ttl_max_override": "Nadpisz maksymalną wartość TTL",
|
||||
"enter_cache_size": "Wpisz rozmiar pamięci podręcznej",
|
||||
"enter_cache_ttl_min_override": "Wpisz minimalną wartość TTL",
|
||||
"enter_cache_ttl_max_override": "Wpisz maksymalną wartość TTL",
|
||||
"cache_ttl_min_override_desc": "Nadpisz wartość TTL (minimalną) otrzymaną od serwera nadrzędnego. Wartość nie może być większa niż 3600 (1 godzina)",
|
||||
"cache_ttl_max_override_desc": "Nadpisz wartość TTL (maksymalną) otrzymaną od serwera nadrzędnego",
|
||||
"min_exceeds_max_value": "Minimalna wartość przekracza maksymalną wartość",
|
||||
"value_not_larger_than": "Wartość nie może być większa niż {{maximum}}",
|
||||
"filter_category_general": "Ogólne",
|
||||
"filter_category_security": "Bezpieczeństwo",
|
||||
"filter_category_regional": "Regionalne",
|
||||
"filter_category_other": "Inne",
|
||||
"filter_category_general_desc": "Listy, które blokują skrypty śledzące i reklamy na większości urządzeń",
|
||||
"filter_category_security_desc": "Listy, które specjalizują się w blokowaniu domen ze złośliwym oprogramowaniem, phishingiem lub oszustwami",
|
||||
"filter_category_regional_desc": "Listy, które koncentrują się na reklamach regionalnych i serwerach ze skryptami śledzącymi",
|
||||
"filter_category_other_desc": "Inne listy zablokowanych",
|
||||
"original_response": "Oryginalna odpowiedź",
|
||||
"click_to_view_queries": "Kliknij, aby wyświetlić zapytania",
|
||||
"port_53_faq_link": "Port 53 jest często zajęty przez usługi \"DNSStubListener\" lub \"systemd-resolved\". Przeczytaj <0>tę instrukcję</0> jak to rozwiązać."
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "Configurações do cliente",
|
||||
"example_upstream_reserved": "Você pode especificar um DNS upstream <0>para um domínio(s) especifico</0>",
|
||||
"example_upstream_reserved": "Você pode especificar o DNS upstream <0>para o domínio(s) especifico</0>",
|
||||
"upstream_parallel": "Usar consultas paralelas para acelerar a resolução consultando simultaneamente todos os servidores upstream",
|
||||
"parallel_requests": "Solicitações paralelas",
|
||||
"load_balancing": "Balanceamento de carga",
|
||||
"load_balancing_desc": "Consulta um servidor de cada vez. O AdGuard Home usará o algoritmo aleatório ponderado para escolher o servidor, para que o servidor mais rápido seja usado com mais frequência.",
|
||||
"bootstrap_dns": "Servidores DNS de inicialização",
|
||||
"bootstrap_dns_desc": "Servidores DNS de inicialização são usados para resolver endereços IP dos resolvedores DoH/DoT que você especifica como upstreams.",
|
||||
"check_dhcp_servers": "Verificar por servidores DHCP",
|
||||
@@ -17,11 +20,15 @@
|
||||
"dhcp_leases": "Concessões DHCP",
|
||||
"dhcp_static_leases": "Concessões de DHCP estático",
|
||||
"dhcp_leases_not_found": "Nenhuma concessão DHCP encontrada",
|
||||
"dhcp_config_saved": "Salvar configurações do servidor DHCP",
|
||||
"dhcp_config_saved": "Configurações DHCP salvas com sucesso",
|
||||
"form_error_required": "Campo obrigatório",
|
||||
"form_error_ip_format": "formato de endereço IPv4 inválido",
|
||||
"form_error_ip4_format": "Formato de endereço IPv4 inválido",
|
||||
"form_error_ip6_format": "Formato de endereço IPv6 inválido",
|
||||
"form_error_ip_format": "Formato de endereço IPv inválido",
|
||||
"form_error_mac_format": "Formato do endereço MAC inválido",
|
||||
"form_error_client_id_format": "Formato do ID de cliente inválido",
|
||||
"form_error_positive": "Deve ser maior que 0",
|
||||
"form_error_negative": "Deve ser igual ou superior a 0",
|
||||
"dhcp_form_gateway_input": "IP do gateway",
|
||||
"dhcp_form_subnet_input": "Máscara de sub-rede",
|
||||
"dhcp_form_range_title": "Faixa de endereços IP",
|
||||
@@ -32,6 +39,7 @@
|
||||
"dhcp_interface_select": "Selecione a interface DHCP",
|
||||
"dhcp_hardware_address": "Endereço de hardware",
|
||||
"dhcp_ip_addresses": "Endereço de IP",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Nome do servidor",
|
||||
"dhcp_table_expires": "Expira",
|
||||
"dhcp_warning": "Se você quiser ativar o servidor DHCP, verifique se não há outro servidor DHCP ativo na sua rede. Caso contrário, a internet pode parar de funcionar para outros dispositivos conectados!",
|
||||
@@ -43,17 +51,28 @@
|
||||
"dhcp_new_static_lease": "Nova concessão estática",
|
||||
"dhcp_static_leases_not_found": "Nenhuma concessão DHCP estática foi encontrada",
|
||||
"dhcp_add_static_lease": "Adicionar nova concessão estática",
|
||||
"dhcp_reset": "Você tem certeza de que deseja redefinir a configuração DHCP?",
|
||||
"country": "País",
|
||||
"city": "Cidade",
|
||||
"delete_confirm": "Você tem certeza de que deseja excluir \"{{key}}\"?",
|
||||
"form_enter_hostname": "Digite o hostname",
|
||||
"error_details": "Detalhes do erro",
|
||||
"response_details": "Detalhes da resposta",
|
||||
"request_details": "Detalhes da solicitação",
|
||||
"client_details": "Detalhes do cliente",
|
||||
"details": "Detalhes",
|
||||
"back": "Voltar",
|
||||
"dashboard": "Painel",
|
||||
"settings": "Configurações",
|
||||
"filters": "Filtros",
|
||||
"filter": "Filtro",
|
||||
"query_log": "Registro de consultas",
|
||||
"compact": "Compactar",
|
||||
"nothing_found": "Nada encontrado",
|
||||
"faq": "FAQ",
|
||||
"version": "Versão",
|
||||
"address": "endereço",
|
||||
"address": "Endereço",
|
||||
"protocol": "Protocolo",
|
||||
"on": "Ligado",
|
||||
"off": "Desligado",
|
||||
"copyright": "Copyright",
|
||||
@@ -96,15 +115,21 @@
|
||||
"use_adguard_parental": "Usar o serviço de controle parental do AdGuard",
|
||||
"use_adguard_parental_hint": "O AdGuard Home irá verificar se o domínio contém conteúdo adulto. Ele usa a mesma API amigável de privacidade que o serviço de segurança da navegação.",
|
||||
"enforce_safe_search": "Forçar pesquisa segura",
|
||||
"enforce_save_search_hint": "O AdGuard Home pode forçar a pesquisa segura nos seguintes motores de busca: Google, Youtube, Bing e Yandex.",
|
||||
"enforce_save_search_hint": "O AdGuard Home pode forçar a pesquisa segura nos seguintes motores de busca: Google, YouTube, Bing, DuckDuckGo, Yandex, Pixabay.",
|
||||
"no_servers_specified": "Nenhum servidor especificado",
|
||||
"general_settings": "Configurações gerais",
|
||||
"dns_settings": "Configurações de DNS",
|
||||
"dns_blocklists": "Listas negra de DNS",
|
||||
"dns_allowlists": "Listas branca de DNS",
|
||||
"dns_blocklists_desc": "O AdGuard Home bloqueará domínios que correspondam às listas negras.",
|
||||
"dns_allowlists_desc": "Os domínios das listas branca de DNS serão permitidos mesmo que estejam em qualquer uma das listas negra.",
|
||||
"custom_filtering_rules": "Regras de filtragem personalizadas",
|
||||
"encryption_settings": "Configurações de criptografia",
|
||||
"dhcp_settings": "Configurações de DHCP",
|
||||
"upstream_dns": "Servidores DNS upstream",
|
||||
"upstream_dns_hint": "Se você deixar este campo vazio, o AdGuard Home irá usar o<a href='https://1.1.1.1/' target='_blank'>DNS da Cloudflare</a> como upstream.",
|
||||
"upstream_dns_hint": "Se você deixar este campo em branco, o AdGuard Home irá usar o <a href='https://www.quad9.net/' target='_blank'>Quad9</a> como upstream.",
|
||||
"test_upstream_btn": "Testar upstreams",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Aplicar",
|
||||
"disabled_filtering_toast": "Filtragem desativada",
|
||||
"enabled_filtering_toast": "Filtragem ativada",
|
||||
@@ -116,22 +141,33 @@
|
||||
"enabled_save_search_toast": "Pesquisa segura ativada",
|
||||
"enabled_table_header": "Ativado",
|
||||
"name_table_header": "Nome",
|
||||
"filter_url_table_header": "URL do filtro",
|
||||
"list_url_table_header": "URL da lista",
|
||||
"rules_count_table_header": "Quantidade de regras",
|
||||
"last_time_updated_table_header": "Última atualização",
|
||||
"actions_table_header": "Ações",
|
||||
"request_table_header": "Solicitação",
|
||||
"edit_table_action": "Editar",
|
||||
"delete_table_action": "Excluir",
|
||||
"filters_and_hosts": "Filtros e listas de bloqueio de hosts",
|
||||
"elapsed": "Tempo decorrido",
|
||||
"filters_and_hosts_hint": "O AdGuard Home entende regras básicas de bloqueio de anúncios e a sintaxe de arquivos de hosts.",
|
||||
"no_filters_added": "Nenhum filtro adicionado",
|
||||
"add_filter_btn": "Adicionar filtro",
|
||||
"no_blocklist_added": "Nenhuma lista negra foi adicionada",
|
||||
"no_whitelist_added": "Nenhuma lista branca foi adicionada",
|
||||
"add_blocklist": "Adicionar lista negra",
|
||||
"add_allowlist": "Adicionar lista branca",
|
||||
"cancel_btn": "Cancelar",
|
||||
"enter_name_hint": "Digite o nome",
|
||||
"enter_url_hint": "Digite a URL",
|
||||
"enter_url_or_path_hint": "Digite a URL ou o local da lista",
|
||||
"check_updates_btn": "Verificar atualizações",
|
||||
"new_filter_btn": "Nova inscrição de filtro",
|
||||
"enter_valid_filter_url": "Digite a URL válida para efetuar a inscrição de filtro ou um arquivo de hosts.",
|
||||
"new_blocklist": "Nova lista negra",
|
||||
"new_allowlist": "Nova lista branca",
|
||||
"edit_blocklist": "Editar lista negra",
|
||||
"edit_allowlist": "Editar lista branca",
|
||||
"choose_blocklist": "Escolha as listas negras",
|
||||
"choose_allowlist": "Escolha as listas brancas",
|
||||
"enter_valid_blocklist": "Digite uma URL válida para a lista negra.",
|
||||
"enter_valid_allowlist": "Digite uma URL válida para a lista branca.",
|
||||
"form_error_url_format": "Formato da URL inválida",
|
||||
"form_error_url_or_path_format": "URL ou local da lista inválida",
|
||||
"custom_filter_rules": "Regras de filtragem personalizadas",
|
||||
"custom_filter_rules_hint": "Digite uma regra por linha. Você pode usar regras de bloqueio de anúncios ou a sintaxe de arquivos de hosts.",
|
||||
"examples_title": "Exemplos",
|
||||
@@ -147,16 +183,19 @@
|
||||
"example_upstream_doh": "<0>DNS-sobre-HTTPS</0> criptografado",
|
||||
"example_upstream_sdns": "Você pode usar <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)",
|
||||
"all_filters_up_to_date_toast": "Todos os filtros já estão atualizados",
|
||||
"all_lists_up_to_date_toast": "Todas as listas já estão atualizadas",
|
||||
"updated_upstream_dns_toast": "Atualizado os servidores DNS upstream",
|
||||
"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",
|
||||
"unblock_btn": "Desbloquear",
|
||||
"block_btn": "Bloquear",
|
||||
"unblock": "Desbloquear",
|
||||
"block": "Bloquear",
|
||||
"time_table_header": "Data",
|
||||
"date": "Data",
|
||||
"domain_name_table_header": "Nome de domínio",
|
||||
"domain_or_client": "Domínio ou cliente",
|
||||
"type_table_header": "Tipo",
|
||||
"response_table_header": "Resposta",
|
||||
"response_code": "Código de resposta",
|
||||
"client_table_header": "Cliente",
|
||||
"empty_response_status": "Vazio",
|
||||
"show_all_filter_type": "Mostrar todos",
|
||||
@@ -167,7 +206,6 @@
|
||||
"next_btn": "Próximo",
|
||||
"loading_table_status": "Carregando",
|
||||
"page_table_footer_text": "Página",
|
||||
"of_table_footer_text": "de",
|
||||
"rows_table_footer_text": "linhas",
|
||||
"updated_custom_filtering_toast": "Regras de filtragem personalizadas atualizadas",
|
||||
"rule_removed_from_custom_filtering_toast": "Regra removida das regras de filtragem personalizadas",
|
||||
@@ -176,6 +214,7 @@
|
||||
"query_log_filtered": "Filtrado por {{filter}}",
|
||||
"query_log_confirm_clear": "Você tem certeza que deseja limpar o registro de consulta?",
|
||||
"query_log_cleared": "O registro de consulta foi limpo com sucesso",
|
||||
"query_log_updated": "O registro da consulta foi atualizado com sucesso",
|
||||
"query_log_clear": "Limpar registros de consulta",
|
||||
"query_log_retention": "Arquivamento de registros de consultas",
|
||||
"query_log_enable": "Ativar registro",
|
||||
@@ -183,12 +222,41 @@
|
||||
"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_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",
|
||||
"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 e estatísticas",
|
||||
"dns_config": "Configuração do servidor DNS",
|
||||
"dns_cache_config": "Configuração de cache DNS",
|
||||
"dns_cache_config_desc": "Aqui você pode configurar o cache do DNS",
|
||||
"blocking_mode": "Modo de bloqueio",
|
||||
"default": "Padrão",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "IP nulo",
|
||||
"custom_ip": "IP personalizado",
|
||||
"blocking_ipv4": "Bloqueando IPv4",
|
||||
"blocking_ipv6": "Bloqueando IPv6",
|
||||
"dns_over_https": "DNS-sobre-HTTPS",
|
||||
"dns_over_tls": "DNS-sobre-TLS",
|
||||
"plain_dns": "DNS simples",
|
||||
"form_enter_rate_limit": "Insira a taxa limite",
|
||||
"rate_limit": "Taxa limite",
|
||||
"edns_enable": "Ativar a sub-rede do cliente EDNS",
|
||||
"edns_cs_desc": "Se ativado, o AdGuard Home estará enviando as sub-redes dos clientes para os servidores DNS.",
|
||||
"rate_limit_desc": "O número de solicitações por segundo que um único cliente pode fazer (0: ilimitado)",
|
||||
"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_mode_default": "Por padrão: Responder com NXDOMAIN quando bloqueado pela regra estilo Adblock e responde com o endereço de IP especificado na regra quando bloqueado pela regra estilo /etc/hosts-style",
|
||||
"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_custom_ip": "IP personalizado: Responder com um endereço IP definido manualmente",
|
||||
"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",
|
||||
"source_label": "Fonte",
|
||||
"found_in_known_domain_db": "Encontrado no banco de dados de domínios conhecidos.",
|
||||
"category_label": "Categoria",
|
||||
"rule_label": "Regra",
|
||||
"filter_label": "Filtro",
|
||||
"list_label": "Lista",
|
||||
"unknown_filter": "Filtro desconhecido {{filterId}}",
|
||||
"known_tracker": "Rastreador conhecido",
|
||||
"install_welcome_title": "Bem-vindo(a) ao AdGuard Home!",
|
||||
"install_welcome_desc": "O AdGuard Home é um servidor de DNS para bloqueio de anúncios e rastreamento em toda a rede. Sua finalidade é permitir que você controle toda a sua rede e seus dispositivos sem precisar ter um programa instalado.",
|
||||
"install_settings_title": "Interface web de administrador",
|
||||
@@ -217,6 +285,7 @@
|
||||
"install_devices_router_list_1": "Abra as configurações do seu roteador\nNo navegador digite o IP do roteador, o padrão é (http://192.168.0.1/ ou http://192.168.1.1/), e o login e senha é admin/admin; Se você não se lembra da senha, você pode redefinir a senha rapidamente pressionando um botão no próprio roteador. Alguns roteadores têm um aplicativo específico que já deve estar instalado em seu computador/telefone.",
|
||||
"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": "Digite aqui seu servidor do AdGuard Home.",
|
||||
"install_devices_router_list_4": "Você não pode definir um servidor DNS personalizado em alguns tipos de roteadores. Nesse caso, pode ajudar se você configurar o AdGuard Home como um <0>servidor DHCP</0>. Caso contrário, você deve procurar o manual sobre como personalizar os servidores DNS para o seu modelo de roteador específico.",
|
||||
"install_devices_windows_list_1": "Abra o Painel de Controle pelo 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 Compartilhamento.",
|
||||
"install_devices_windows_list_3": "No lado esquerdo da janela clique em Alterar as configurações do adaptador.",
|
||||
@@ -279,6 +348,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} está disponível!<0>Clique aqui</0> para mais informações.",
|
||||
"setup_guide": "Guia de configuração",
|
||||
"dns_addresses": "Endereços DNS",
|
||||
"dns_start": "O servidor DNS está iniciando",
|
||||
"dns_status_error": "Ocorreu um erro ao obter o status do servidor DNS",
|
||||
"down": "Caiu",
|
||||
"fix": "Corrigido",
|
||||
"dns_providers": "Aqui está uma <0>lista de provedores de DNS conhecidos</0> para escolher.",
|
||||
@@ -297,17 +368,20 @@
|
||||
"client_edit": "Editar cliente",
|
||||
"client_identifier": "Identificador",
|
||||
"ip_address": "Endereço de IP",
|
||||
"client_identifier_desc": "Os clientes podem ser identificados pelo endereço de IP ou pelo endereço MAC. Observe que o uso do endereço MAC como identificador só é possível se o AdGuard Home também for um <0>servidor DHCP</0>",
|
||||
"client_identifier_desc": "Clientes podem ser identificados pelo endereço de IP ou pelo endereço MAC. Observe que o uso do endereço MAC como identificador só é possível se o AdGuard Home também for um <0>servidor DHCP</0>",
|
||||
"form_enter_ip": "Digite o endereço de IP",
|
||||
"form_enter_mac": "Digite o endereço MAC",
|
||||
"form_enter_id": "Inserir identificador",
|
||||
"form_add_id": "Adicionar identificador",
|
||||
"form_client_name": "Digite o nome do cliente",
|
||||
"name": "Nome",
|
||||
"client_global_settings": "Usar configurações global",
|
||||
"client_deleted": "Cliente \"{{key}}\" excluído com sucesso",
|
||||
"client_added": "Cliente \"{{key}}\" adicionado com sucesso",
|
||||
"client_updated": "Cliente \"{{key}}\" atualizado com sucesso",
|
||||
"clients_not_found": "Nenhum cliente foi encontrado",
|
||||
"client_confirm_delete": "Você tem certeza de que deseja excluir o cliente \"{{key}}\"?",
|
||||
"filter_confirm_delete": "Você tem certeza de que deseja excluir o filtro?",
|
||||
"list_confirm_delete": "Você tem certeza de que deseja excluir essa lista?",
|
||||
"auto_clients_title": "Clientes (tempo de execução)",
|
||||
"auto_clients_desc": "Dados dos clientes que usam o AdGuard Home, que não são armazenados na configuração",
|
||||
"access_title": "Configurações de acessos",
|
||||
@@ -317,7 +391,7 @@
|
||||
"access_disallowed_title": "Clientes não permitidos",
|
||||
"access_disallowed_desc": "Uma lista de endereços IP ou CIDR. Ao configurar, o AdGuard Home irá descartar as solicitações desses endereços de IP.",
|
||||
"access_blocked_title": "Domínios bloqueados",
|
||||
"access_blocked_desc": "Não confunda isso com os filtros. O AdGuard Home irá descartar as consultas DNS com esses domínios.",
|
||||
"access_blocked_desc": "Não confunda isso com filtros. O AdGuard Home deixará de fazer consultas de DNS com esses domínios na questão das consultas. Aqui você pode especificar os nomes exatos de domínio, wildcards e regras do filtro por url, por exemplo: 'exemplo.org', '*.exemplo.org' ou '||example.org^'.",
|
||||
"access_settings_saved": "Configurações de acesso foram salvas com sucesso",
|
||||
"updates_checked": "Atualizações verificadas com sucesso",
|
||||
"updates_version_equal": "O AdGuard Home está atualizado.",
|
||||
@@ -345,8 +419,9 @@
|
||||
"rewrite_confirm_delete": "Você tem certeza de que deseja excluir a reescrita de DNS para \"{{key}}\"?",
|
||||
"rewrite_desc": "Permite configurar uma resposta personalizada do DNS para um nome de domínio específico.",
|
||||
"rewrite_applied": "Regra de reescrita aplicada",
|
||||
"rewrite_hosts_applied": "Reescrito pela regra do arquivo de hosts",
|
||||
"dns_rewrites": "Reescritas de DNS",
|
||||
"form_domain": "Digite o domínio",
|
||||
"form_domain": "Digite o nome do domínio ou wildcard",
|
||||
"form_answer": "Digite o endereço de IP ou nome de domínio",
|
||||
"form_error_domain_format": "Formato de domínio inválido",
|
||||
"form_error_answer_format": "Formato de resposta inválido",
|
||||
@@ -374,6 +449,8 @@
|
||||
"domain": "Domínio",
|
||||
"answer": "Resposta",
|
||||
"filter_added_successfully": "O filtro foi adicionado com sucesso",
|
||||
"filter_removed_successfully": "A lista foi removida com sucesso",
|
||||
"filter_updated": "O filtro atualizado com sucesso",
|
||||
"statistics_configuration": "Configurações de estatísticas",
|
||||
"statistics_retention": "Permanência das estatísticas",
|
||||
"statistics_retention_desc": "Se você diminuir o valor do intervalo, alguns dados serão perdidos",
|
||||
@@ -398,7 +475,89 @@
|
||||
"location": "Localização",
|
||||
"orgname": "Nome da organização",
|
||||
"netname": "Nome da rede",
|
||||
"network": "Rede",
|
||||
"descr": "Descrição",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Saiba mais</0> sobre como criar as suas próprias listas negras de servidores."
|
||||
"filtering_rules_learn_more": "<0>Saiba mais</0> sobre como criar as suas próprias listas negras de servidores.",
|
||||
"blocked_by_response": "Bloqueado por CNAME ou IP na resposta",
|
||||
"try_again": "Tente novamente",
|
||||
"domain_desc": "Digite o nome do domínio ou wildcard que pretende reescrever.",
|
||||
"example_rewrite_domain": "reescrever respostas apenas para este nome de domínio.",
|
||||
"example_rewrite_wildcard": "reescrever respostas para todos subdomínios <0>exemplo.org</0>.",
|
||||
"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_A": "<0>A</0>: valor especial, mantenha <0>A</0> nos registros do upstream",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: valor especial, mantenha <0>AAAA</0> nos registros do upstream",
|
||||
"disable_ipv6": "Desativar IPv6",
|
||||
"disable_ipv6_desc": "Se este recurso estiver ativado, todas as consultas de DNS para endereços IPv6 (tipo AAAA) serão ignoradas.",
|
||||
"fastest_addr": "Endereço de IP mais rápido",
|
||||
"fastest_addr_desc": "Consulta todos os servidores DNS e retorna o endereço IP mais rápido entre todas as respostas. Isso irá retardar as consultas ao DNS, pois temos que esperar por respostas de todos os servidores DNS, porém melhorando a conectividade em geral.",
|
||||
"autofix_warning_text": "Se clicar em \"Corrigir\", o AdGuardHome irá configurar o seu sistema para utilizar o servidor DNS do AdGuardHome.",
|
||||
"autofix_warning_list": "Ele irá realizar estas tarefas: <0>Desativar sistema DNSStubListener</0> <0>Definir endereço do servidor DNS para 127.0.0.1</0> <0>Substituir o alvo simbólico do link /etc/resolv.conf para /run/systemd/resolv.conf</0> <0>Parar DNSStubListener (recarregar serviço resolvido pelo sistema)</0>",
|
||||
"autofix_warning_result": "Como resultado, todos as solicitações DNS do seu sistema serão processadas pelo AdGuardHome por padrão.",
|
||||
"tags_title": "Marcadores",
|
||||
"tags_desc": "Você pode selecionar as tags que correspondem ao cliente. As tags podem ser incluídas nas regras de filtragem e permitir que você as aplique com mais precisão. <0>Saiba mais</0>",
|
||||
"form_select_tags": "Selecione as tags do cliente",
|
||||
"check_title": "Verifique a filtragem",
|
||||
"check_desc": "Verificar se o nome do host está sendo filtrado",
|
||||
"check": "Verificar",
|
||||
"form_enter_host": "Digite o nome do host",
|
||||
"filtered_custom_rules": "Filtrado pelas regras de filtragem personalizadas",
|
||||
"choose_from_list": "Escolha na lista",
|
||||
"add_custom_list": "Adicionar uma lista personalizada",
|
||||
"host_whitelisted": "O host está na lista branca",
|
||||
"check_ip": "Endereços de IP: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Motivo: {{reason}}",
|
||||
"check_rule": "Regra: {{rule}}",
|
||||
"check_service": "Nome do serviço: {{service}}",
|
||||
"check_not_found": "Não encontrado em suas listas de filtros",
|
||||
"client_confirm_block": "Você tem certeza de que deseja bloquear o cliente \"{{ip}}\"?",
|
||||
"client_confirm_unblock": "Você tem certeza de que deseja desbloquear o cliente \"{{ip}}\"?",
|
||||
"client_blocked": "Cliente \"{{ip}}\" foi bloqueado com sucesso",
|
||||
"client_unblocked": "Cliente \"{{ip}}\" foi desbloqueado com sucesso",
|
||||
"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.",
|
||||
"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_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_configure": "Detectamos que um endereço de IP dinâmico é sendo usado — <0>{{ip}}</0>. Deseja utilizar como seu endereço estático?",
|
||||
"confirm_static_ip": "O AdGuard Home irá configurar {{ip}} para ser seu endereço IP estático. Deseja continuar?",
|
||||
"list_updated": "{{count}} lista atualizada",
|
||||
"list_updated_plural": "{{count}} listas atualizadas",
|
||||
"dnssec_enable": "Ativar DNSSEC",
|
||||
"dnssec_enable_desc": "Definir a flag DNSSEC nas consultas de DNS em andamento e verificar o resultado (é necessário um resolvedor DNSSEC ativado)",
|
||||
"validated_with_dnssec": "Validado com DNSSEC",
|
||||
"show_blocked_responses": "Bloqueado",
|
||||
"show_whitelisted_responses": "Na lista branca",
|
||||
"show_processed_responses": "Processado",
|
||||
"blocked_safebrowsing": "Bloqueado pela navegação segura",
|
||||
"blocked_adult_websites": "Sites adultos bloqueados",
|
||||
"blocked_threats": "Ameaças bloqueadas",
|
||||
"allowed": "Permitido",
|
||||
"filtered": "Filtrado",
|
||||
"rewritten": "Reescrito",
|
||||
"safe_search": "Pesquisa segura",
|
||||
"blocklist": "Lista negra",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Tamanho do cache",
|
||||
"cache_size_desc": "Tamanho do cache do DNS (em bytes)",
|
||||
"cache_ttl_min_override": "Sobrepor o TTL mínimo",
|
||||
"cache_ttl_max_override": "Sobrepor o TTL máximo",
|
||||
"enter_cache_size": "Digite o tamanho do cache",
|
||||
"enter_cache_ttl_min_override": "Digite o TTL mínimo",
|
||||
"enter_cache_ttl_max_override": "Digite o TTL máximo",
|
||||
"cache_ttl_min_override_desc": "Substituição do valor TTL (mínimo) recebido do servidor servidor DNS primário. Esse valor não pode exceder 3600 (1 hora)",
|
||||
"cache_ttl_max_override_desc": "Substituição do valor TTL (máximo) recebido do servidor de DNS primário",
|
||||
"min_exceeds_max_value": "O valor mínimo excede o valor máximo",
|
||||
"value_not_larger_than": "O valor não pode ser maior que {{maximum}}",
|
||||
"filter_category_general": "Geral",
|
||||
"filter_category_security": "Segurança",
|
||||
"filter_category_regional": "Regional",
|
||||
"filter_category_other": "Outro",
|
||||
"filter_category_general_desc": "Listas que bloqueiam o rastreamento e a publicidade na maioria dos dispositivos",
|
||||
"filter_category_security_desc": "Listas especializadas em bloquear domínios de malware, phishing ou fraude",
|
||||
"filter_category_regional_desc": "Listas focadas em anúncios regionais e servidores de rastreamento",
|
||||
"filter_category_other_desc": "Outras listas negras",
|
||||
"click_to_view_queries": "Clique para ver as consultas"
|
||||
}
|
||||
@@ -17,11 +17,15 @@
|
||||
"dhcp_leases": "Concessões DHCP",
|
||||
"dhcp_static_leases": "Concessões de DHCP estático",
|
||||
"dhcp_leases_not_found": "Nenhuma concessão DHCP encontrada",
|
||||
"dhcp_config_saved": "Guardar configurações do servidor DHCP",
|
||||
"dhcp_config_saved": "Configurações DHCP guardadas com sucesso",
|
||||
"form_error_required": "Campo obrigatório",
|
||||
"form_error_ip4_format": "Formato de endereço IPv4 inválido",
|
||||
"form_error_ip6_format": "Formato de endereço IPv6 inválido",
|
||||
"form_error_ip_format": "Formato de endereço IPv4 inválido",
|
||||
"form_error_mac_format": "Formato do endereço MAC inválido",
|
||||
"form_error_client_id_format": "Formato inválido",
|
||||
"form_error_positive": "Deve ser maior que 0",
|
||||
"form_error_negative": "Deve ser igual ou superior a 0",
|
||||
"dhcp_form_gateway_input": "IP do gateway",
|
||||
"dhcp_form_subnet_input": "Máscara de sub-rede",
|
||||
"dhcp_form_range_title": "Faixa de endereços IP",
|
||||
@@ -43,6 +47,7 @@
|
||||
"dhcp_new_static_lease": "Nova concessão estática",
|
||||
"dhcp_static_leases_not_found": "Nenhuma concessão DHCP estática foi encontrada",
|
||||
"dhcp_add_static_lease": "Adicionar nova concessão estática",
|
||||
"dhcp_reset": "Tem a certeza de que deseja redefinir a configuração DHCP?",
|
||||
"delete_confirm": "Tem a certeza de que deseja excluir \"{{key}}\"?",
|
||||
"form_enter_hostname": "Insira o hostname",
|
||||
"error_details": "Detalhes do erro",
|
||||
@@ -53,7 +58,7 @@
|
||||
"query_log": "Registo de consultas",
|
||||
"faq": "Perguntas frequentes",
|
||||
"version": "Versão",
|
||||
"address": "endereço",
|
||||
"address": "Endereço",
|
||||
"on": "LIGADO",
|
||||
"off": "DESLIGADO",
|
||||
"copyright": "Copyright",
|
||||
@@ -96,15 +101,16 @@
|
||||
"use_adguard_parental": "Usar o serviço de controlo parental do AdGuard",
|
||||
"use_adguard_parental_hint": "O AdGuard Home irá verificar se o domínio contém conteúdo adulto. Usa a mesma API amigável de privacidade que o serviço de segurança da navegação.",
|
||||
"enforce_safe_search": "Forçar pesquisa segura",
|
||||
"enforce_save_search_hint": "O AdGuard Home pode forçar a pesquisa segura nos seguintes motores de busca: Google, Youtube, Bing e Yandex.",
|
||||
"enforce_save_search_hint": "O AdGuard Home pode forçar a pesquisa segura nos seguintes motores de busca: Google, Youtube, Bing, DuckDuckGo, Yandex, Pixabay.",
|
||||
"no_servers_specified": "Nenhum servidor especificado",
|
||||
"general_settings": "Definições gerais",
|
||||
"dns_settings": "Definições de DNS",
|
||||
"encryption_settings": "Configurações de criptografia",
|
||||
"dhcp_settings": "Configurações de DHCP",
|
||||
"upstream_dns": "Servidores DNS upstream",
|
||||
"upstream_dns_hint": "Se deixar este campo vazio, o AdGuard Home irá usar o<a href='https://1.1.1.1/' target='_blank'>DNS da Cloudflare</a> como upstream.",
|
||||
"upstream_dns_hint": "Se deixar este campo vazio, o AdGuard Home irá usar <a href='https://www.quad9.net/' target='_blank'>Quad9</a> como upstream.",
|
||||
"test_upstream_btn": "Testar upstreams",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Aplicar",
|
||||
"disabled_filtering_toast": "Filtragem desactivada",
|
||||
"enabled_filtering_toast": "Filtragem activada",
|
||||
@@ -116,22 +122,15 @@
|
||||
"enabled_save_search_toast": "Pesquisa segura activada",
|
||||
"enabled_table_header": "Activados",
|
||||
"name_table_header": "Nome",
|
||||
"filter_url_table_header": "URL do filtro",
|
||||
"rules_count_table_header": "Total de Regras",
|
||||
"last_time_updated_table_header": "Última actualização",
|
||||
"actions_table_header": "Acções",
|
||||
"edit_table_action": "Editar",
|
||||
"delete_table_action": "Apagar",
|
||||
"filters_and_hosts": "Filtros e listas de bloqueio de hosts",
|
||||
"filters_and_hosts_hint": "O AdGuard Home entende regras básicas de bloqueio de anúncios e a sintaxe de arquivos de hosts.",
|
||||
"no_filters_added": "Nenhum filtro adicionado",
|
||||
"add_filter_btn": "Adicionar filtro",
|
||||
"cancel_btn": "Cancelar",
|
||||
"enter_name_hint": "Insira o nome",
|
||||
"enter_url_hint": "Insira URL",
|
||||
"check_updates_btn": "Verificar actualizações",
|
||||
"new_filter_btn": "Nova inscrição de filtro",
|
||||
"enter_valid_filter_url": "Insira a URL válida para efectuar a inscrição de filtro ou um arquivo de hosts.",
|
||||
"custom_filter_rules": "Regras de filtragem personalizadas",
|
||||
"custom_filter_rules_hint": "Insira uma regra por linha. Pode usar regras de bloqueio de anúncios ou a sintaxe de arquivos de hosts.",
|
||||
"examples_title": "Exemplos",
|
||||
@@ -147,13 +146,13 @@
|
||||
"example_upstream_doh": "<0>DNS-sobre-HTTPS</0> criptografado",
|
||||
"example_upstream_sdns": "pode usar <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)",
|
||||
"all_filters_up_to_date_toast": "Os filtros já estão actualizados",
|
||||
"updated_upstream_dns_toast": "A actualizar os servidores DNS upstream",
|
||||
"dns_test_ok_toast": "Os servidores DNS especificados estão a funcionar correctamente",
|
||||
"dns_test_not_ok_toast": "O servidor \"{{key}}\": não pôde ser utilizado. Por favor, verifique se o escreveu correctamente",
|
||||
"unblock_btn": "Desbloquear",
|
||||
"block_btn": "Bloquear",
|
||||
"unblock": "Desbloquear",
|
||||
"block": "Bloquear",
|
||||
"time_table_header": "Data",
|
||||
"date": "Data",
|
||||
"domain_name_table_header": "Nome do domínio",
|
||||
"type_table_header": "Tipo",
|
||||
"response_table_header": "Resposta",
|
||||
@@ -167,7 +166,6 @@
|
||||
"next_btn": "Seguinte",
|
||||
"loading_table_status": "A carregar...",
|
||||
"page_table_footer_text": "Página",
|
||||
"of_table_footer_text": "de",
|
||||
"rows_table_footer_text": "linhas",
|
||||
"updated_custom_filtering_toast": "Regras de filtragem personalizadas actualizadas",
|
||||
"rule_removed_from_custom_filtering_toast": "Regra removida das regras de filtragem personalizadas",
|
||||
@@ -183,11 +181,25 @@
|
||||
"query_log_disabled": "O registo de consulta está desactivado e pode ser configurado em <0>definições</0>",
|
||||
"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",
|
||||
"dns_config": "Configuração do servidor DNS",
|
||||
"blocking_mode": "Modo de bloqueio",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "IP nulo",
|
||||
"custom_ip": "IP Personalizado",
|
||||
"blocking_ipv4": "A bloquear IPv4",
|
||||
"blocking_ipv6": "A bloquear IPv6",
|
||||
"form_enter_rate_limit": "Insira o limite de taxa",
|
||||
"rate_limit": "Limite de taxa",
|
||||
"edns_enable": "Activar sub-rede do cliente EDNS",
|
||||
"edns_cs_desc": "Se activado, o AdGuard Home enviará sub-redes dos clientes para os servidores DNS.",
|
||||
"rate_limit_desc": "O número de solicitações por segundo que um único cliente pode fazer (0: ilimitado)",
|
||||
"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",
|
||||
"upstream_dns_client_desc": "Se mantiver esse campo vazio, o AdGuard Home usará os servidores configurados nas <0>Definições de DNS</0>.",
|
||||
"source_label": "Fonte",
|
||||
"found_in_known_domain_db": "Encontrado no banco de dados de domínios conhecido.",
|
||||
"category_label": "Categoria",
|
||||
"rule_label": "Regra",
|
||||
"filter_label": "Filtro",
|
||||
"unknown_filter": "Filtro desconhecido {{filterId}}",
|
||||
"install_welcome_title": "Bem-vindo ao AdGuard Home!",
|
||||
"install_welcome_desc": "O AdGuard Home é um servidor de DNS para bloqueio de anúncios e monitorização em toda a rede. A sua finalidade é permitir que controle toda a sua rede e os seus dispositivos sem precisar de ter um programa instalado.",
|
||||
@@ -279,6 +291,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} está disponível!<0>Clique aqui</0> para mais informações.",
|
||||
"setup_guide": "Guia de instalação",
|
||||
"dns_addresses": "Endereços DNS",
|
||||
"dns_start": "O servidor DNS está a iniciar",
|
||||
"dns_status_error": "Erro ao obter o estado do servidor DNS",
|
||||
"down": "Caiu",
|
||||
"fix": "Corrigido",
|
||||
"dns_providers": "Aqui está uma <0>lista de provedores de DNS conhecidos</0> para escolher.",
|
||||
@@ -297,17 +311,19 @@
|
||||
"client_edit": "Editar cliente",
|
||||
"client_identifier": "Identificador",
|
||||
"ip_address": "Endereço de IP",
|
||||
"client_identifier_desc": "Os clientes podem ser identificados pelo endereço de IP ou pelo endereço MAC. Observe que o uso do endereço MAC como identificador só é possível se o AdGuard Home também for um <0>servidor DHCP</0>",
|
||||
"client_identifier_desc": "Os clientes podem ser identificados pelo endereço de IP, CIDR, ou pelo endereço MAC. Observe que o uso do endereço MAC como identificador só é possível se o AdGuard Home também for um <0>servidor DHCP</0>",
|
||||
"form_enter_ip": "Insira IP",
|
||||
"form_enter_mac": "Insira o endereço MAC",
|
||||
"form_enter_id": "Inserir identificador",
|
||||
"form_add_id": "Adicionar identificador",
|
||||
"form_client_name": "Insira o nome do cliente",
|
||||
"name": "Nome",
|
||||
"client_global_settings": "Usar configurações globais",
|
||||
"client_deleted": "Cliente \"{{key}}\" excluído com sucesso",
|
||||
"client_added": "Cliente \"{{key}}\" adicionado com sucesso",
|
||||
"client_updated": "Cliente \"{{key}}\" actualizado com sucesso",
|
||||
"clients_not_found": "Nenhum cliente foi encontrado",
|
||||
"client_confirm_delete": "Tem a certeza de que deseja excluir o cliente \"{{key}}\"?",
|
||||
"filter_confirm_delete": "Tem a certeza de que deseja excluir o filtro?",
|
||||
"auto_clients_title": "Clientes (tempo de execução)",
|
||||
"auto_clients_desc": "Dados dos clientes que usam o AdGuard Home, que não são armazenados na configuração",
|
||||
"access_title": "Configurações de acesso",
|
||||
@@ -398,7 +414,17 @@
|
||||
"location": "Localização",
|
||||
"orgname": "Nome da organização",
|
||||
"netname": "Nome da rede",
|
||||
"network": "Network",
|
||||
"descr": "Descrição",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Saiba mais</0>sobre como criar as suas próprias listas negras de servidores."
|
||||
"filtering_rules_learn_more": "<0>Saiba mais</0>sobre como criar as suas próprias listas negras de servidores.",
|
||||
"blocked_by_response": "Bloqueado por CNAME ou IP em resposta",
|
||||
"try_again": "Tente novamente",
|
||||
"domain_desc": "Insere o nome do domínio para ser reescrito.",
|
||||
"example_rewrite_domain": "reescrever resposta apenas para este domínio.",
|
||||
"example_rewrite_wildcard": "reescrever resposta para todos <0>example.org</0> sub-domínios.",
|
||||
"form_enter_host": "Insira o hostname",
|
||||
"show_blocked_responses": "Bloqueado",
|
||||
"show_whitelisted_responses": "Lista Branca",
|
||||
"show_processed_responses": "Processado"
|
||||
}
|
||||
567
client/src/__locales/ro.json
Normal file
567
client/src/__locales/ro.json
Normal file
@@ -0,0 +1,567 @@
|
||||
{
|
||||
"client_settings": "Setări client",
|
||||
"example_upstream_reserved": "Puteți preciza un DNS upstream <0>de domeniu(ii) specific(e)</0>",
|
||||
"upstream_parallel": "Folosiți interogări paralele pentru rezolvări rapide interogând simultan toate serverele în amonte",
|
||||
"parallel_requests": "Solicitări paralele",
|
||||
"load_balancing": "Echilibrare-sarcini",
|
||||
"load_balancing_desc": "Fiecare server este interogat aparte. AdGuard Home alege serverul folosind algoritmul ponderat aleatoriu, astfel încât cel mai rapid server să fie utilizat mai des.",
|
||||
"bootstrap_dns": "Serverele DNS Bootstrap",
|
||||
"bootstrap_dns_desc": "Serverele DNS Bootstrap sunt folosite pentru a rezolva adresele IP ale resolverelor DoH/DoT indicate ca upstreams.",
|
||||
"check_dhcp_servers": "Căutați servere DHCP",
|
||||
"save_config": "Salvare configurare",
|
||||
"enabled_dhcp": "Server DHCP activat",
|
||||
"disabled_dhcp": "Server DHCP dezactivat",
|
||||
"dhcp_title": "Server DHCP (experimental!)",
|
||||
"dhcp_description": "Dacă routerul dvs. nu furnizează setări DHCP, puteți utiliza serverul DHCP încorporat AdGuard.",
|
||||
"dhcp_enable": "Activați serverul DHCP",
|
||||
"dhcp_disable": "Dezactivați serverul DHCP",
|
||||
"dhcp_not_found": "Este sigur să activați serverul DHCP încorporat - nu am găsit servere DHCP active în rețea. Cu toate acestea, vă recomandăm să-l verificați manual, deoarece testul nostru automat nu oferă în prezent 100% garanție.",
|
||||
"dhcp_found": "În rețea se găsește un server DHCP activ. Nu este sigur să activați serverul DHCP încorporat.",
|
||||
"dhcp_leases": "DHCP închiriate",
|
||||
"dhcp_static_leases": "DHCP statice închiriate",
|
||||
"dhcp_leases_not_found": "Nu s-au găsit DHCP închiriate",
|
||||
"dhcp_config_saved": "Configurare DHCP salvată cu succes",
|
||||
"form_error_required": "Câmp necesar",
|
||||
"form_error_ip4_format": "Format IPv4 invalid",
|
||||
"form_error_ip6_format": "Format IPv6 invalid",
|
||||
"form_error_ip_format": "Format IP invalid",
|
||||
"form_error_mac_format": "Format MAC invalid",
|
||||
"form_error_client_id_format": "Format ID de client invalid",
|
||||
"form_error_positive": "Trebuie să fie mai mare de 0",
|
||||
"form_error_negative": "Trebuie să fie egală cu 0 sau mai mare",
|
||||
"dhcp_form_gateway_input": "IP Gateway",
|
||||
"dhcp_form_subnet_input": "Mască subnet",
|
||||
"dhcp_form_range_title": "Interval de adrese IP",
|
||||
"dhcp_form_range_start": "Start interval",
|
||||
"dhcp_form_range_end": "Sfârșit interval",
|
||||
"dhcp_form_lease_title": "Timp de închidere DHCP (în secunde)",
|
||||
"dhcp_form_lease_input": "Durata locației",
|
||||
"dhcp_interface_select": "Selectați interfața DHCP",
|
||||
"dhcp_hardware_address": "Adresa mașinii",
|
||||
"dhcp_ip_addresses": "Adrese IP",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Hostname",
|
||||
"dhcp_table_expires": "Expiră",
|
||||
"dhcp_warning": "Dacă doriți oricum să activați serverul DHCP, verificați că nu există un alt server DHCP activ în rețeaua dvs. Altfel, poate întrerupe Internetul pe toate aparatele conectate!",
|
||||
"dhcp_error": "Nu am putut determina dacă există un alt server DHCP în rețea.",
|
||||
"dhcp_static_ip_error": "Pentru a utiliza serverul DHCP trebuie setată o adresă IP statică. Nu am reușit să stabilim dacă această interfață de rețea este configurată folosind adresa IP statică. Vă rugăm să setați manual o adresă IP statică.",
|
||||
"dhcp_dynamic_ip_found": "Sistemul dvs. folosește configurația dinamică a adreselor IP pentru interfața <0>{{interfaceName}}</0>. Pentru a utiliza serverul DHCP trebuie setată o adresă IP statică. Adresa IP curentă este <0>{{ipAddress}}</0>. Vom seta automat această adresă IP ca statică dacă apăsați butonul Activați DHCP.",
|
||||
"dhcp_lease_added": "\"{{key}}\" statică închiriată adăugată cu succes",
|
||||
"dhcp_lease_deleted": "\"{{key}}\" statică închiriată eliminată cu succes",
|
||||
"dhcp_new_static_lease": "Închiriere statică nouă",
|
||||
"dhcp_static_leases_not_found": "Nu s-au găsit închirieri statice DHCP",
|
||||
"dhcp_add_static_lease": "Adăugați închiriere statică",
|
||||
"dhcp_reset": "Sunteți sigur că doriți să resetați configurația DHCP?",
|
||||
"country": "Țara",
|
||||
"city": "Oraș",
|
||||
"delete_confirm": "Sunteți sigur că doriți să ștergeți \"{{key}}\"?",
|
||||
"form_enter_hostname": "Introduceți hostname",
|
||||
"error_details": "Detalii eroare",
|
||||
"response_details": "Detalii răspuns",
|
||||
"request_details": "Detalii solicitare",
|
||||
"client_details": "Detalii client",
|
||||
"details": "Detalii",
|
||||
"back": "Înapoi",
|
||||
"dashboard": "Tablou de bord",
|
||||
"settings": "Setări",
|
||||
"filters": "Filtre",
|
||||
"filter": "Filtru",
|
||||
"query_log": "Jurnal interogări",
|
||||
"compact": "Compact",
|
||||
"nothing_found": "Nimic găsit",
|
||||
"faq": "FAQ",
|
||||
"version": "Versiune",
|
||||
"address": "Adresă",
|
||||
"protocol": "Protocol",
|
||||
"on": "ON",
|
||||
"off": "OFF",
|
||||
"copyright": "Copyright",
|
||||
"homepage": "Homepage",
|
||||
"report_an_issue": "Raportați o problemă",
|
||||
"privacy_policy": "Politică confidențialitate",
|
||||
"enable_protection": "Activați protecția",
|
||||
"enabled_protection": "Protecție activată",
|
||||
"disable_protection": "Dezactivați protecția",
|
||||
"disabled_protection": "Protecție dezactivată",
|
||||
"refresh_statics": "Actualizare statistici",
|
||||
"dns_query": "Interogări DNS",
|
||||
"blocked_by": "<0>Blocate de Filtre</0>",
|
||||
"stats_malware_phishing": "Malware/phishing blocate",
|
||||
"stats_adult": "Site-uri cu conținut adult blocate",
|
||||
"stats_query_domain": "Domeniile cele mai căutate",
|
||||
"for_last_24_hours": "în ultimele 24 ore",
|
||||
"for_last_days": "în ultima {{count}} zi",
|
||||
"for_last_days_plural": "pentru ultimele {{count}} zile",
|
||||
"no_domains_found": "Nu s-au găsit domenii",
|
||||
"requests_count": "Cont interogări",
|
||||
"top_blocked_domains": "Domeniile blocate cel mai des",
|
||||
"top_clients": "Clienți de top",
|
||||
"no_clients_found": "Nu au fost găsiți clienți",
|
||||
"general_statistics": "Statistici generale",
|
||||
"number_of_dns_query_days": "Un număr de interogări DNS procesate în ultima {{count}} zi",
|
||||
"number_of_dns_query_days_plural": "Un număr de interogări DNS procesate în ultimele {{count}} zile",
|
||||
"number_of_dns_query_24_hours": "Un număr de interogări DNS procesate în ultimele 24 de ore",
|
||||
"number_of_dns_query_blocked_24_hours": "Un număr de solicitări DNS blocate de filtrele de blocare și listele de blocaj de hosts",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Un număr de solicitări DNS blocate de modulul de securitate de navigare AdGuard",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "Un număr de site-uri web pentru adulți blocate",
|
||||
"enforced_save_search": "Căutare protejată întărită",
|
||||
"number_of_dns_query_to_safe_search": "O serie de solicitări DNS făcute pe motoare de căutare cu Căutarea protejată activată",
|
||||
"average_processing_time": "Timpul mediu de procesare",
|
||||
"average_processing_time_hint": "Timp mediu în milisecunde la procesarea unei cereri DNS",
|
||||
"block_domain_use_filters_and_hosts": "Blocați domenii folosind filtre și fișiere hosts",
|
||||
"filters_block_toggle_hint": "Puteți configura regulile de blocare în setările <a href='#filters'> Filtre </a>.",
|
||||
"use_adguard_browsing_sec": "Utilizați serviciul Navigarea în Securitate AdGuard",
|
||||
"use_adguard_browsing_sec_hint": "AdGuard Home va verifica dacă domeniul este în lista negră a serviciul web de securitate de navigare. Pentru acesta va utiliza un lookup API discret: un prefix scurt al numelui de domeniu SHA256 hash este trimis serverului.",
|
||||
"use_adguard_parental": "Utilizați Controlul Parental AdGuard",
|
||||
"use_adguard_parental_hint": "AdGuard Home va verifica pentru conținut adult pe domeniu. Utilizează același API discret ca cel utilizat de serviciul de securitate de navigare.",
|
||||
"enforce_safe_search": "Căutare protejată întărită",
|
||||
"enforce_save_search_hint": "AdGuard Home poate impune căutarea protejată în următoarele motoare de căutare: Google, Youtube, Bing, DuckDuckGo, Yandex, Pixabay.",
|
||||
"no_servers_specified": "Nu sunt specificate servere",
|
||||
"general_settings": "Setări Generale",
|
||||
"dns_settings": "Setări DNS",
|
||||
"dns_blocklists": "DNS liste blocări",
|
||||
"dns_allowlists": "DNS liste autorizări",
|
||||
"dns_blocklists_desc": "AdGuard Home blochează domenii incluse în liste de blocări.",
|
||||
"dns_allowlists_desc": "Domeniile DNS autorizate vor fi permise, chiar dacă se află pe orice listă de blocări.",
|
||||
"custom_filtering_rules": "Reguli filtrare personale",
|
||||
"encryption_settings": "Setări de criptare",
|
||||
"dhcp_settings": "Setări DHCP",
|
||||
"upstream_dns": "Servere upstream DNS",
|
||||
"upstream_dns_hint": "Dacă mențineți acest câmp gol, AdGuard Home va folosi <a href='https://www.quad9.net/' target='_blank'>Quad9</a> ca upstream.",
|
||||
"test_upstream_btn": "Testați upstreams",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Aplică",
|
||||
"disabled_filtering_toast": "Filtrare dezactivată",
|
||||
"enabled_filtering_toast": "Filtrare activată",
|
||||
"disabled_safe_browsing_toast": "Navigare securitară dezactivată",
|
||||
"enabled_safe_browsing_toast": "Navigare securitară activată",
|
||||
"disabled_parental_toast": "Control parental dezactivat",
|
||||
"enabled_parental_toast": "Control parental activat",
|
||||
"disabled_safe_search_toast": "Căutare protejată dezactivată",
|
||||
"enabled_save_search_toast": "Căutare protejată activată",
|
||||
"enabled_table_header": "Activat",
|
||||
"name_table_header": "Nume",
|
||||
"list_url_table_header": "Lista URL",
|
||||
"rules_count_table_header": "Număr de reguli",
|
||||
"last_time_updated_table_header": "Ultima aducere la zi",
|
||||
"actions_table_header": "Acțiuni",
|
||||
"request_table_header": "Solicitare",
|
||||
"edit_table_action": "Editare",
|
||||
"delete_table_action": "Șterge",
|
||||
"elapsed": "Scurs",
|
||||
"filters_and_hosts_hint": "AdGuard Home înțelege regulile de bază de blocare cât și sintaxa fișierelor hosts.",
|
||||
"no_blocklist_added": "Listă blocări goală",
|
||||
"no_whitelist_added": "Listă autorizări goală",
|
||||
"add_blocklist": "Adăugați blocaj",
|
||||
"add_allowlist": "Adăugați autorizare",
|
||||
"cancel_btn": "Anulare",
|
||||
"enter_name_hint": "Introduceți numele",
|
||||
"enter_url_or_path_hint": "Introduceți un URL sau o cale absolută a listei",
|
||||
"check_updates_btn": "Caută actualizări",
|
||||
"new_blocklist": "Nouă blocare",
|
||||
"new_allowlist": "Nouă autorizare",
|
||||
"edit_blocklist": "Editare blocare",
|
||||
"edit_allowlist": "Editare autorizare",
|
||||
"choose_blocklist": "Alegeți liste de blocări",
|
||||
"choose_allowlist": "Alegeți liste de permisiuni",
|
||||
"enter_valid_blocklist": "Introduceți un URL valid pentru blocare.",
|
||||
"enter_valid_allowlist": "Introduceți un URL valid pentru autorizare.",
|
||||
"form_error_url_format": "Format URL invalid",
|
||||
"form_error_url_or_path_format": "Invalid URL sau o cale absolută a listei",
|
||||
"custom_filter_rules": "Reguli de filtrare personalizate",
|
||||
"custom_filter_rules_hint": "Introduceți o regulă pe linie. Puteți utiliza reguli de blocare sau sintaxa de fișiere hosts.",
|
||||
"examples_title": "Exemple",
|
||||
"example_meaning_filter_block": "blochează accesul la domeniul exemplu.org și la toate subdomeniile sale",
|
||||
"example_meaning_filter_whitelist": "deblochează accesul la domeniul exemplu.org și la toate subdomeniile sale",
|
||||
"example_meaning_host_block": "AdGuard Home va returna acum adresa 127.0.0.1 pentru domeniul exemplu.org (dar nu și subdomeniile sale).",
|
||||
"example_comment": "! Iată cum se adăugă o descriere",
|
||||
"example_comment_meaning": "comentariu",
|
||||
"example_comment_hash": "# Astfel putem lăsa comentarii",
|
||||
"example_regex_meaning": "blocare acces la domenii care corespund expresiei obișnuite specificate",
|
||||
"example_upstream_regular": "DNS clasic (over UDP)",
|
||||
"example_upstream_dot": "<0>DNS-over-TLS</0> criptat",
|
||||
"example_upstream_doh": "<0>DNS-over-HTTPS</0> criptat",
|
||||
"example_upstream_sdns": "puteți utiliza <0>DNS Stamps</0> pentru rezolvere <1>DNSCrypt</1> sau <2>DNS-over-HTTPS</2>",
|
||||
"example_upstream_tcp": "DNS clasic (over TCP)",
|
||||
"all_lists_up_to_date_toast": "Toate listele sunt deja la zi",
|
||||
"updated_upstream_dns_toast": "Serverele DNS upstream aduse la zi",
|
||||
"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",
|
||||
"unblock": "Deblocați",
|
||||
"block": "Blocați",
|
||||
"time_table_header": "Ora",
|
||||
"date": "Data",
|
||||
"domain_name_table_header": "Nume domeniu",
|
||||
"domain_or_client": "Domeniu sau client",
|
||||
"type_table_header": "Tip",
|
||||
"response_table_header": "Răspuns",
|
||||
"response_code": "Cod de răspuns",
|
||||
"client_table_header": "Client",
|
||||
"empty_response_status": "Gol",
|
||||
"show_all_filter_type": "Arată tot",
|
||||
"show_filtered_type": "Arată cele filtrate",
|
||||
"no_logs_found": "Nici un jurnal găsit",
|
||||
"refresh_btn": "Actualizare",
|
||||
"previous_btn": "Anterior",
|
||||
"next_btn": "Următor",
|
||||
"loading_table_status": "Se încarcă...",
|
||||
"page_table_footer_text": "Pagina",
|
||||
"rows_table_footer_text": "linii",
|
||||
"updated_custom_filtering_toast": "Reguli personalizate de filtrare aduse la zi",
|
||||
"rule_removed_from_custom_filtering_toast": "Regulă scoasă din regullei personalizate de filtrare",
|
||||
"rule_added_to_custom_filtering_toast": "Regulă adăugată la regulile de filtrare personalizate",
|
||||
"query_log_response_status": "Statut: {{value}}",
|
||||
"query_log_filtered": "Filtrat de {{filter}}",
|
||||
"query_log_confirm_clear": "Sunteți sigur că doriți să ștergeți întregul jurnal de interogări?",
|
||||
"query_log_cleared": "Jurnalul de interogare a fost șters cu succes",
|
||||
"query_log_updated": "Jurnalul de solicitări a fost actualizat cu succes",
|
||||
"query_log_clear": "Curăță jurnalele",
|
||||
"query_log_retention": "Retenție jurnale interogare",
|
||||
"query_log_enable": "Activați jurnal",
|
||||
"query_log_configuration": "Configurația jurnalelor",
|
||||
"query_log_disabled": "Jurnalul de interogare este dezactivat și poate fi configurat în <0>setări</0>",
|
||||
"query_log_strict_search": "Utilizați ghilimele duble pentru căutare strictă",
|
||||
"query_log_retention_confirm": "Sunteți sigur că doriți să schimbați retenția jurnalului de interogare? Reducând valoarea intervalului, unele date vor fi pierdute",
|
||||
"anonymize_client_ip": "Anonimizare client IP",
|
||||
"anonymize_client_ip_desc": "Nu salvați adresa IP completă a clientului în jurnale și statistici",
|
||||
"dns_config": "Configurația serverului DNS",
|
||||
"dns_cache_config": "Configurare cache DNS",
|
||||
"dns_cache_config_desc": "Aici puteți configura cache-ul DNS",
|
||||
"blocking_mode": "Modul de blocare",
|
||||
"default": "Implicit",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "IP nul",
|
||||
"custom_ip": "IP personalizat",
|
||||
"blocking_ipv4": "Blocarea IPv4",
|
||||
"blocking_ipv6": "Blocarea IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "DNS simplu",
|
||||
"form_enter_rate_limit": "Introduceți limita ratei",
|
||||
"rate_limit": "Limita ratei",
|
||||
"edns_enable": "Activați clientul subnet EDNS",
|
||||
"edns_cs_desc": "Dacă este activat, AdGuard Home va trimite subnet-ul clienților către serverele DNS.",
|
||||
"rate_limit_desc": "Numărul de solicitări pe secundă pe care un singur client este permis să le facă (0: nelimitat)",
|
||||
"blocking_ipv4_desc": "Adresa IP de returnat pentru o cerere A de blocare",
|
||||
"blocking_ipv6_desc": "Adresa IP de returnat pentru o cerere AAAA de blocare",
|
||||
"blocking_mode_default": "Implicit: Răspunde cu NXDOMAIN când sunt blocate de regulă tip Adblock; răspunde cu adresa IP specificată în regulă când sunt blocate de regula tip /etc/hosts",
|
||||
"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_custom_ip": "IP personalizat: răspunde cu o adresă IP setată manual",
|
||||
"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",
|
||||
"source_label": "Sursă",
|
||||
"found_in_known_domain_db": "Găsit în baza de date de domenii cunoscută.",
|
||||
"category_label": "Categorie",
|
||||
"rule_label": "Regulă",
|
||||
"list_label": "Listă",
|
||||
"unknown_filter": "Filtru necunoscut {{filterId}}",
|
||||
"known_tracker": "Tracker cunoscut",
|
||||
"install_welcome_title": "Bun venit la AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home este un server DNS care blochează reclame și trackere la nivel de rețea. Scopul său este de a vă da controlul pe întreaga rețea și toate aparatele dvs. și fără un program din partea clientului.",
|
||||
"install_settings_title": "Interfață administrator web",
|
||||
"install_settings_listen": "Interfață de ascultare",
|
||||
"install_settings_port": "Port",
|
||||
"install_settings_interface_link": "Interfața dvs. de administrare AdGuard Home va fi disponibilă pe următoarele adrese:",
|
||||
"form_error_port": "Introduceți un port valid",
|
||||
"install_settings_dns": "Server DNS",
|
||||
"install_settings_dns_desc": "Va trebui să configurați aparatele sau routerul pentru a utiliza serverul DNS pe următoarele adrese:",
|
||||
"install_settings_all_interfaces": "Toate interfețele",
|
||||
"install_auth_title": "Autentificare",
|
||||
"install_auth_desc": "Este foarte recomandat să configurați o parolă pentru accesul la interfața web de administrare AdGuard Home. Chiar dacă este accesibil numai în rețeaua dvs. locală, este încă important să îl protejați de accesul fără restricții.",
|
||||
"install_auth_username": "Nume utilizator",
|
||||
"install_auth_password": "Parola",
|
||||
"install_auth_confirm": "Confirmați parola",
|
||||
"install_auth_username_enter": "Introduceți nume utilizator",
|
||||
"install_auth_password_enter": "Introduceți parola",
|
||||
"install_step": "Etapa",
|
||||
"install_devices_title": "Configurați aparatele dvs",
|
||||
"install_devices_desc": "Pentru a începe să utilizați AdGuard Home, trebuie să configurați aparatele.",
|
||||
"install_submit_title": "Felicitări!",
|
||||
"install_submit_desc": "Etapa de instalare este terminată și sunteți gata să începeți utilizarea AdGuard Home.",
|
||||
"install_devices_router": "Router",
|
||||
"install_devices_router_desc": "Această configurație va acoperi automat toate aparatele conectate la routerul de acasă și nu va trebui să le configurați manual pe fiecare.",
|
||||
"install_devices_address": "Serverul DNS AdGuard Home ascultă pe următoarele adrese",
|
||||
"install_devices_router_list_1": "Deschideți preferințele pentru routerul dvs. De obicei, îl puteți accesa din browserul dvs. printr-o adresă URL (cum ar fi http://192.168.0.1/ sau http://192.168.1.1/). Vi se poate cere să introduceți parola. Dacă nu v-o amintiți, puteți reseta adesea parola apăsând un buton de pe routerul propriu-zis. Unele routere necesită o aplicație specifică, care în acest caz ar trebui să fie deja instalată pe computerul/telefonul dvs.",
|
||||
"install_devices_router_list_2": "Găsiți setările DHCP/DNS. Căutați literele DNS lângă un câmp care să permită două sau trei seturi de numere, fiecare împărțit în patru grupuri de una până la trei cifre.",
|
||||
"install_devices_router_list_3": "Introduceți adresele serverului dvs. AdGuard Home aici.",
|
||||
"install_devices_router_list_4": "Unele routere nu permit setarea unui server DNS personalizat. În acest caz, vă poate ajuta dacă ați configura AdGuard Home ca <0>server DHCP</0>. Dacă nu, trebuie căutat manualul modelului dvs. de router ca să aflați cum se pot personaliza serverele DNS.",
|
||||
"install_devices_windows_list_1": "Deschideți panoul de control prin meniul Start sau căutare Windows.",
|
||||
"install_devices_windows_list_2": "Accesați categoria \"Rețea și Internet\", apoi la \"Centrul de Rețea și Partajare\".",
|
||||
"install_devices_windows_list_3": "În partea stângă a ecranului găsiți \"Schimbare setări adaptor\" și clicați pe el.",
|
||||
"install_devices_windows_list_4": "Selectați conexiunea activă, faceți clic dreapta pe ea și alegeți \"Proprietăți\".",
|
||||
"install_devices_windows_list_5": "Găsiți Internet Protocol Versiunea 4 (TCP/IP) din listă, selectați-l și apoi clicați din nou pe Proprietăți.",
|
||||
"install_devices_windows_list_6": "Alegeți Utilizați următoarele adrese de server DNS și introduceți adresele de server AdGuard Home.",
|
||||
"install_devices_macos_list_1": "Clicați pe icoana Apple și accesați Preferințele Sistemului.",
|
||||
"install_devices_macos_list_2": "Clicați pe Network.",
|
||||
"install_devices_macos_list_3": "Selectați prima conexiune din listă și clicați pe Avansat.",
|
||||
"install_devices_macos_list_4": "Selectați fila DNS și introduceți adresele serverului dvs. AdGuard Home.",
|
||||
"install_devices_android_list_1": "Din ecranul principal al Meniului Android, tapați Setări.",
|
||||
"install_devices_android_list_2": "Tapați Wi-Fi din meniu. Ecranul cu toate rețelele disponibile va fi afișat (este imposibil să setați DNS personalizat pentru conexiunea mobilă).",
|
||||
"install_devices_android_list_3": "Apăsați lung pe rețeaua la care sunteți conectat și tapați Modificare Rețea.",
|
||||
"install_devices_android_list_4": "Pe unele aparate, poate fi necesar să bifați caseta Advanced pentru a vedea setările adiționale. Pentru a ajusta setările DNS Android, va trebui să comutați setările IP de la DHCP la Static.",
|
||||
"install_devices_android_list_5": "Schimbați valorile DNS 1 și DNS 2 la cele ale serverului dvs. AdGuard Home.",
|
||||
"install_devices_ios_list_1": "Din ecranul de start, tapați Setări.",
|
||||
"install_devices_ios_list_2": "Alegeți Wi-Fi în meniul din stânga (este imposibil să configurați DNS pentru rețelele mobile).",
|
||||
"install_devices_ios_list_3": "Tapați numele rețelei active curente.",
|
||||
"install_devices_ios_list_4": "În câmpul DNS, introduceți adresele serverului dvs. AdGuard Home.",
|
||||
"get_started": "Să începem",
|
||||
"next": "Următor",
|
||||
"open_dashboard": "Deschideți Tabloul de bord",
|
||||
"install_saved": "Salvat cu succes",
|
||||
"encryption_title": "Criptare",
|
||||
"encryption_desc": "Suport de Criptare (HTTPS/TLS) pentru DNS și interfața web administrator",
|
||||
"encryption_config_saved": "Configurația de criptare salvată",
|
||||
"encryption_server": "Nume de server",
|
||||
"encryption_server_enter": "Introduceți numele domeniului",
|
||||
"encryption_server_desc": "Pentru a utiliza HTTPS, trebuie introdus numele serverului care corespunde certificatului SSL.",
|
||||
"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_https": "Port HTTPS",
|
||||
"encryption_https_desc": "Dacă portul HTTPS este configurat, interfața administrator AdGuard Home va fi accesibilă prin HTTPS și va oferi de asemenea DNS-over-HTTPS în locația '/DNS-query'.",
|
||||
"encryption_dot": "Port DNS-over-TLS",
|
||||
"encryption_dot_desc": "Dacă acest port este configurat, AdGuard Home va rula un server DNS-over-TLS pe acest port.",
|
||||
"encryption_certificates": "Certificate",
|
||||
"encryption_certificates_desc": "Pentru a utiliza criptarea, trebuie furnizate o serie de certificate SSL valabile pentru domeniul dvs.. Puteți obține un certificat gratuit pe <0>{{link}}</0> sau îl puteți cumpăra de la una din Autoritățile Certificate de încredere.",
|
||||
"encryption_certificates_input": "Copiați/lipiți certificatele dvs. PEM-codate aici.",
|
||||
"encryption_status": "Statut",
|
||||
"encryption_expire": "Expiră",
|
||||
"encryption_key": "Cheie privată",
|
||||
"encryption_key_input": "Copiați/lipiți cheia dvs. privată PEM-codată pentru certificatul dvs. aici.",
|
||||
"encryption_enable": "Activați criptarea (HTTPS, DNS-over-HTTPS, și DNS-over-TLS)",
|
||||
"encryption_enable_desc": "Dacă este activată criptarea, interfața administrator AdGuard Home va lucra peste HTTPS, și serverul DNS va asculta pentru cereri peste DNS-over-HTTPS și DNS-over-TLS.",
|
||||
"encryption_chain_valid": "Lanț de certificate valid",
|
||||
"encryption_chain_invalid": "Lanț de certificate invalid",
|
||||
"encryption_key_valid": "Aceasta este o cheie privată {{type}} validă",
|
||||
"encryption_key_invalid": "Aceasta este o cheie privată {{type}} invalidă",
|
||||
"encryption_subject": "Obiect",
|
||||
"encryption_issuer": "Emitent",
|
||||
"encryption_hostnames": "Nume de host",
|
||||
"encryption_reset": "Sunteți sigur că doriți să resetați setările de criptare?",
|
||||
"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>.",
|
||||
"form_error_port_range": "Introduceți valoarea portului între 80-65535",
|
||||
"form_error_port_unsafe": "Acesta este un port nesigur",
|
||||
"form_error_equal": "Nu trebuie să fie egale",
|
||||
"form_error_password": "Parolele nu corespund",
|
||||
"reset_settings": "Resetare setări",
|
||||
"update_announcement": "AdGuard Home {{version}} este disponibil! <0>Clicați aici</0> pentru mai multe informații.",
|
||||
"setup_guide": "Ghid de instalare",
|
||||
"dns_addresses": "Adrese DNS",
|
||||
"dns_start": "Serverul DNS demarează",
|
||||
"dns_status_error": "Eroare la verificare statut server DNS",
|
||||
"down": "Down",
|
||||
"fix": "Fix",
|
||||
"dns_providers": "Iată o <0>listă de furnizori DNS cunoscuți</0> ce pot fi aleși.",
|
||||
"update_now": "Actualizați acum",
|
||||
"update_failed": "Auto-actualizarea a eșuat. Vă rugăm să <a href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>urmați aceste etape</a> pentru a actualiza manual.",
|
||||
"processing_update": "Vă rugăm să așteptați, AdGuard Home se actualizează...",
|
||||
"clients_title": "Clienți",
|
||||
"clients_desc": "Configură aparatele conectate la AdGuard Home",
|
||||
"settings_global": "General",
|
||||
"settings_custom": "Personalizat",
|
||||
"table_client": "Client",
|
||||
"table_name": "Nume",
|
||||
"save_btn": "Salvați",
|
||||
"client_add": "Adăugați client",
|
||||
"client_new": "Client nou",
|
||||
"client_edit": "Editare client",
|
||||
"client_identifier": "Identificator",
|
||||
"ip_address": "Adresa IP",
|
||||
"client_identifier_desc": "Clienții pot fi identificați prin adresa IP, CIDR, adresa MAC. Vă rugăm să rețineți că utilizarea MAC ca identificator este posibilă numai dacă AdGuard Home este și un <0>server DHCP</0>",
|
||||
"form_enter_ip": "Introduceți IP",
|
||||
"form_enter_mac": "Introduceți MAC",
|
||||
"form_enter_id": "Introduceți identificator",
|
||||
"form_add_id": "Adăugați identificator",
|
||||
"form_client_name": "Introduceți nume client",
|
||||
"name": "Nume",
|
||||
"client_global_settings": "Folosiți setări globale",
|
||||
"client_deleted": "Clientul \"{{key}}\" a fost șters cu succes",
|
||||
"client_added": "Clientul \"{{key}}\" a fost adăugat cu succes",
|
||||
"client_updated": "Clientul \"{{key}}\" a fost adus la zi cu succes",
|
||||
"clients_not_found": "Nu au fost găsiți clienți",
|
||||
"client_confirm_delete": "Sunteți sigur că doriți să ștergeți clientul \"{{key}}\"?",
|
||||
"list_confirm_delete": "Sigur doriți să ștergeți această listă?",
|
||||
"auto_clients_title": "Clienți (runtime)",
|
||||
"auto_clients_desc": "Date despre clienții care folosesc AdGuard Home, dar care nu sunt stocate în configurație",
|
||||
"access_title": "Setări de acces",
|
||||
"access_desc": "Aici puteți configura regulile de acces pentru serverul DNS AdGuard Home.",
|
||||
"access_allowed_title": "Clienți autorizați",
|
||||
"access_allowed_desc": "O listă de adrese CIDR sau IP. Dacă este configurat, AdGuard Home va accepta doar cereri de la aceste adrese IP.",
|
||||
"access_disallowed_title": "Clienți neautorizați",
|
||||
"access_disallowed_desc": "O listă de adrese CIDR sau IP. Dacă este configurat, AdGuard Home va elimina cererile de la aceste adrese IP.",
|
||||
"access_blocked_title": "Domenii blocate",
|
||||
"access_blocked_desc": "Nu confundați acest lucru cu filtrele. AdGuard Home va bloca interogări DNS cu aceste domenii în întrebare. Aici puteți specifica exact numele de domeniu, wildcard și reguli-urlfilter, de ex. 'exemplu.org', '*.exemplu.org' sau '||exemplu.org^'.",
|
||||
"access_settings_saved": "Setările de acces au fost salvate cu succes",
|
||||
"updates_checked": "Actualizările au fost verificate cu succes",
|
||||
"updates_version_equal": "AdGuard Home este la zi",
|
||||
"check_updates_now": "Verificați actualizările acum",
|
||||
"dns_privacy": "Confidențialitate DNS",
|
||||
"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_3": "<0>Rețineți că protocoalele DNS criptate sunt acceptate numai pe Android 9. Așadar, trebuie să instalați programe suplimentare pentru alte sisteme de operare.</0><0>Iată o listă de software pe care o puteți utiliza.</0>",
|
||||
"setup_dns_privacy_android_1": "Android 9 acceptă DNS-over-TLS nativ. Pentru a-l configura, accesați Setări → Rețea și internet → Advanced → Private DNS și introduceți numele de domeniu acolo.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard pentru Android</0> acceptă <1>DNS-over-HTTPS</1> și <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "<0>Intra</0> adaugă <1>DNS-over-HTTPS</1> suport pentru Android.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> acceptă <1>DNS-over-HTTPS</1>, dar pentru a-l configura pentru a utiliza propriul server, va trebui să generați un <2>DNS Stamp</2> pentru aceasta.",
|
||||
"setup_dns_privacy_ios_2": "<0>AdGuard pentru iOS</0> acceptă instalarea <1>DNS-over-HTTPS</1> și <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_other_title": "Alte implementări",
|
||||
"setup_dns_privacy_other_1": "AdGuard Home poate fi un client DNS sigur pe orice platformă.",
|
||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0> acceptă toate protocoalele DNS securizate cunoscute.",
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> acceptă <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> acceptă <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_5": "Veți găsi mai multe implementări <0>aici</0> și <1>aici</1>.",
|
||||
"setup_dns_notice": "Pentru a utiliza <1>DNS-over-HTTPS</1> sau <1>DNS-over-TLS</1>, trebuie să <0>configurați Criptarea</0> în setările AdGuard Home.",
|
||||
"rewrite_added": "Rescriere DNS pentru \"{{key}}\" adăugată cu succes",
|
||||
"rewrite_deleted": "Rescriere DNS pentru \"{{key}}\" ștearsă cu succes",
|
||||
"rewrite_add": "Adăugați rescriere DNS",
|
||||
"rewrite_not_found": "Nu s-au găsit rescrieri DNS",
|
||||
"rewrite_confirm_delete": "Sunteți sigur că doriți să ștergeți rescrierea DNS pentru \"{{key}}\"?",
|
||||
"rewrite_desc": "Permite configurarea cu ușurință a răspunsului personalizat DNS pentru un nume de domeniu specific.",
|
||||
"rewrite_applied": "Regula de rescriere s-a aplicat",
|
||||
"rewrite_hosts_applied": "Rescrisă de regula fișierului hosts",
|
||||
"dns_rewrites": "Rescrieri DNS",
|
||||
"form_domain": "Introduceți un nume de domeniu sau wildcard",
|
||||
"form_answer": "Introduceți adresa IP sau numele de domeniu",
|
||||
"form_error_domain_format": "Format de răspuns invalid",
|
||||
"form_error_answer_format": "Format de răspuns invalid",
|
||||
"configure": "Configurați",
|
||||
"main_settings": "Setări principale",
|
||||
"block_services": "Blochează anumite servicii",
|
||||
"blocked_services": "Servicii blocate",
|
||||
"blocked_services_desc": "Permite blocarea rapidă a site-urilor și serviciilor populare.",
|
||||
"blocked_services_saved": "Serviciile blocate au fost salvate cu succes",
|
||||
"blocked_services_global": "Folosiți servicii blocate globale",
|
||||
"blocked_service": "Serviciu blocat",
|
||||
"block_all": "Blocați tot",
|
||||
"unblock_all": "Deblocați tot",
|
||||
"encryption_certificate_path": "Locația certificatului",
|
||||
"encryption_private_key_path": "Locația cheii private",
|
||||
"encryption_certificates_source_path": "Precizați locația certificatelor",
|
||||
"encryption_certificates_source_content": "Lipiți conținutul certificatelor",
|
||||
"encryption_key_source_path": "Precizați un fișier cu cheie privată",
|
||||
"encryption_key_source_content": "Lipiți conținutul cheii private",
|
||||
"stats_params": "Configurația statisticilor",
|
||||
"config_successfully_saved": "Configurarea a fost salvată cu succes",
|
||||
"interval_24_hour": "24 ore",
|
||||
"interval_days": "{{count}} zi",
|
||||
"interval_days_plural": "{{count}} zile",
|
||||
"domain": "Domeniu",
|
||||
"answer": "Răspuns",
|
||||
"filter_added_successfully": "Filtrul a fost adăugat cu succes",
|
||||
"filter_removed_successfully": "Lista a fost eliminată cu succes",
|
||||
"filter_updated": "Filtrul a fost actualizat cu succes",
|
||||
"statistics_configuration": "Configurația statisticilor",
|
||||
"statistics_retention": "Păstrarea statisticilor",
|
||||
"statistics_retention_desc": "Dacă reduceți valoarea intervalului, unele date vor fi pierdute",
|
||||
"statistics_clear": " Șterge statisticile",
|
||||
"statistics_clear_confirm": "Sunteți sigur că doriți să ștergeți statisticile?",
|
||||
"statistics_retention_confirm": "Sunteți sigur că doriți să schimbați păstrarea statisticilor? Dacă reduceți valoarea intervalului, unele date vor fi pierdute",
|
||||
"statistics_cleared": "Statisticile au fost șterse cu succes",
|
||||
"interval_hours": "{{count}} oră",
|
||||
"interval_hours_plural": "{{count}} ore",
|
||||
"filters_configuration": "Configurația filtrelor",
|
||||
"filters_enable": "Activați filtrele",
|
||||
"filters_interval": "Interval de actualizare filtre",
|
||||
"disabled": "Dezactivat",
|
||||
"username_label": "Nume utilizator",
|
||||
"username_placeholder": "Introduceți nume utilizator",
|
||||
"password_label": "Parola",
|
||||
"password_placeholder": "Introduceți parola",
|
||||
"sign_in": "Conectare",
|
||||
"sign_out": "Deconectare",
|
||||
"forgot_password": "Ați uitat parola?",
|
||||
"forgot_password_desc": "Vă rugăm să urmați <0>aceste etape</0> pentru a crea o nouă parolă pentru contul de utilizator.",
|
||||
"location": "Locația",
|
||||
"orgname": "Numele organizației",
|
||||
"netname": "Numele rețelei",
|
||||
"network": "Rețea",
|
||||
"descr": "Descriere",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Aflați mai multe</0> despre crearea propriilor liste hosts.",
|
||||
"blocked_by_response": "Blocat de CNAME sau IP ca răspuns",
|
||||
"blocked_by_cname_or_ip": "Blocat de CNAME sau IP",
|
||||
"try_again": "Încercați din nou",
|
||||
"domain_desc": "Introduceți un nume de domeniu sau wildcard care doriți să fie rescris.",
|
||||
"example_rewrite_domain": "rescrie răspunsuri numai pentru acest nume de domeniu.",
|
||||
"example_rewrite_wildcard": "rescrie răspunsuri pentru toate subdomeniile <0>exemplu.org</0>.",
|
||||
"rewrite_ip_address": "Adresa IP: utilizați acest IP într-un răspuns A sau AAAA",
|
||||
"rewrite_domain_name": "Nume de domeniu: adăugați o înregistrare CNAME",
|
||||
"rewrite_A": "<0>A</0>: valoare specială, păstrați <0>A</0> înregistrări din amonte",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: valoare specială, păstrați <0>AAAA</0> înregistrări din amonte",
|
||||
"disable_ipv6": "Dezactivați IPv6",
|
||||
"disable_ipv6_desc": "Dacă această opțiune este activată, toate interogările DNS pentru adrese IPv6 (tip AAAA) vor fi anulate.",
|
||||
"fastest_addr": "Cea mai rapidă adresă IP",
|
||||
"fastest_addr_desc": "Interogările la toate serverele DNS întorc adresa IP cea mai rapidă din răspunsuri. Așteptarea răspunsului tuturor serverelor DNS face interogările DNS mai lente dar se ameliorează conectivitatea generală.",
|
||||
"autofix_warning_text": "Dacă clicați pe \"Fix\", AdGuardHome va configura sistemul dvs. pentru a utiliza serverul DNS AdGuardHome.",
|
||||
"autofix_warning_list": "Va efectua aceste sarcini: <0>Dezactivare sistem DNSStubListener</0> <0>Setare adresă server DNS la 127.0.0.1</0> <0>Înlocuire link simbolic țintă /etc/resolv.conf cu /run/systemd/resolve/resolv.conf</0> <0>Oprire DNSStubListener (reîncărcare servici rezolvat prin sistem)</0>",
|
||||
"autofix_warning_result": "Ca urmare, toate cererile DNS ale sistemul dvs. vor fi procesate în mod implicit de AdGuardHome.",
|
||||
"tags_title": "Etichete",
|
||||
"tags_desc": "Puteți selecta etichetele care corespund clientului. Etichetele pot fi incluse în regulile de filtrare și vă permit să le aplicați mai exact. <0>Aflați mai multe</0>",
|
||||
"form_select_tags": "Selectați etichete client",
|
||||
"check_title": "Verificați filtrarea",
|
||||
"check_desc": "Verificați dacă numele de host este filtrat",
|
||||
"check": "Verificați",
|
||||
"form_enter_host": "Introduceți un nume de host",
|
||||
"filtered_custom_rules": "Filtrat prin reguli de filtrare personalizate",
|
||||
"choose_from_list": "Alege din listă",
|
||||
"add_custom_list": "Adăugați propria listă",
|
||||
"host_whitelisted": "Numele de host este în lista albă",
|
||||
"check_ip": "Adrese IP: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Cauza: {{reason}}",
|
||||
"check_rule": "Regula: {{rule}}",
|
||||
"check_service": "Nume servici: {{service}}",
|
||||
"check_not_found": "Nu se găsește în listele de filtre",
|
||||
"client_confirm_block": "Sunteți sigur că doriți să blocați clientul \"{{ip}}\"?",
|
||||
"client_confirm_unblock": "Sunteți sigur că doriți să deblocați clientul \"{{ip}}\"?",
|
||||
"client_blocked": "Clientul \"{{ip}}\" blocat cu succes",
|
||||
"client_unblocked": "Clientul \"{{ip}}\" deblocat cu succes",
|
||||
"static_ip": "Adresa IP Statică",
|
||||
"static_ip_desc": "AdGuard Home este un server, deci are nevoie de o adresă IP statică pentru a funcționa corect. Altfel, routerul dvs. poate eventual să atribuie o adresă IP diferită acestui dispozitiv.",
|
||||
"set_static_ip": "Setați o adresă IP statică",
|
||||
"install_static_ok": "Vești bune! Adresa IP statică este deja configurată",
|
||||
"install_static_error": "AdGuard Home nu o poate configura automat pentru această interfață de rețea. Vă rugăm să căutați instrucțiuni despre cum să faceți acest lucru manual.",
|
||||
"install_static_configure": "Am detectat că se folosește o adresă IP dinamică - <0>{{ip}}</0>. Vreți să o folosiți pe aceasta ca adresă statică?",
|
||||
"confirm_static_ip": "AdGuard Home va configura {{ip}} ca adresa dvs. IP statică. Doriți să continuați?",
|
||||
"list_updated": "{{count}} listă actualizată",
|
||||
"list_updated_plural": "{{count}} liste actualizate",
|
||||
"dnssec_enable": "Activați DNSSEC",
|
||||
"dnssec_enable_desc": "Setați steagul DNSSEC pe interogările DNS de ieșire și verificați rezultatul (este necesar un resolver DNSSEC activat)",
|
||||
"validated_with_dnssec": "Validat cu DNSSEC",
|
||||
"all_queries": "Toate interogările",
|
||||
"show_blocked_responses": "Blocat",
|
||||
"show_whitelisted_responses": "Pe lista albă",
|
||||
"show_processed_responses": "Tratat",
|
||||
"blocked_safebrowsing": "Blocat de Navigarea securitară",
|
||||
"blocked_adult_websites": "Site-uri pentru adulți blocate",
|
||||
"blocked_threats": "Amenințări blocate",
|
||||
"allowed": "Permise",
|
||||
"filtered": "Filtrate",
|
||||
"rewritten": "Rescrise",
|
||||
"safe_search": "Căutare sigură",
|
||||
"blocklist": "Lista neagră",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Mărime cache",
|
||||
"cache_size_desc": "Mărime cache DNS (în octeți)",
|
||||
"cache_ttl_min_override": "Suprascrieți TTL minim",
|
||||
"cache_ttl_max_override": "Suprascrieți TTL maxim",
|
||||
"enter_cache_size": "Introduceți mărime cache",
|
||||
"enter_cache_ttl_min_override": "Introduceți TTL minim",
|
||||
"enter_cache_ttl_max_override": "Introduceți TTL maxim",
|
||||
"cache_ttl_min_override_desc": "Suprascrie valoarea TTL (minimă) primită de la serverul din amonte. valoare nu poate fi mai mare de 3600 (1 oră)",
|
||||
"cache_ttl_max_override_desc": "Suprascrie valoarea TTL (maximă) primită de la serverul din amonte",
|
||||
"min_exceeds_max_value": "Valoarea minimă depășește valoarea maximă",
|
||||
"value_not_larger_than": "Valoarea nu poate fi mai mare decât {{maximum}}",
|
||||
"filter_category_general": "General",
|
||||
"filter_category_security": "Securitate",
|
||||
"filter_category_regional": "Regional",
|
||||
"filter_category_other": "Altele",
|
||||
"filter_category_general_desc": "Liste care blochează urmărirea și publicitatea pe majoritatea aparatelor",
|
||||
"filter_category_security_desc": "Liste specializate în blocarea domeniilor malware, phishing sau înșelătorie",
|
||||
"filter_category_regional_desc": "Liste focalizate pe reclame regionale și servere de urmărire",
|
||||
"filter_category_other_desc": "Alte liste de blocări",
|
||||
"original_response": "Răspuns original",
|
||||
"click_to_view_queries": "Clicați pentru a vizualiza interogări",
|
||||
"port_53_faq_link": "Portul 53 este adesea ocupat de serviciile \"DNSStubListener\" sau \"systemd-resolved\". Vă rugăm să citiți <0>această instrucțiune</0> despre cum să rezolvați aceasta."
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "Настройки клиентов",
|
||||
"example_upstream_reserved": "вы можете указать DNS-сервер <0>для конкретного домена(ов)</0>",
|
||||
"upstream_parallel": "Использовать одновременные запросы ко всем серверам для ускорения обработки запроса",
|
||||
"example_upstream_reserved": "Вы можете указать DNS-сервер <0>для конкретного домена(-ов)</0>",
|
||||
"upstream_parallel": "Использовать параллельные запросы ко всем серверам одновременно для ускорения обработки запроса",
|
||||
"parallel_requests": "Параллельные запросы",
|
||||
"load_balancing": "Распределение нагрузки\n",
|
||||
"load_balancing_desc": "Запрашивайте по одному серверу за раз. AdGuard Home будет использовать случайный алгоритм для выбора сервера, так что самый быстрый сервер будет использоваться чаще.",
|
||||
"bootstrap_dns": "Bootstrap DNS-серверы",
|
||||
"bootstrap_dns_desc": "Bootstrap DNS-серверы используются для поиска IP-адресов DoH/DoT серверов, которые вы указали.",
|
||||
"check_dhcp_servers": "Проверить DHCP-серверы",
|
||||
@@ -17,11 +20,15 @@
|
||||
"dhcp_leases": "Аренда DHCP",
|
||||
"dhcp_static_leases": "Статические аренды DHCP",
|
||||
"dhcp_leases_not_found": "Аренда DHCP не обнаружена",
|
||||
"dhcp_config_saved": "Сохраненная конфигурация DHCP-сервера",
|
||||
"dhcp_config_saved": "Конфигурация DHCP-сервера успешно сохранена",
|
||||
"form_error_required": "Обязательное поле",
|
||||
"form_error_ip_format": "Неверный формат IPv4",
|
||||
"form_error_ip4_format": "Неверный формат IPv4",
|
||||
"form_error_ip6_format": "Неверный формат IPv6",
|
||||
"form_error_ip_format": "Неверный формат IP-адреса",
|
||||
"form_error_mac_format": "Некорректный формат MAC",
|
||||
"form_error_client_id_format": "Неверный формат ID клиента",
|
||||
"form_error_positive": "Должно быть больше 0",
|
||||
"form_error_negative": "Должно быть не меньше 0",
|
||||
"dhcp_form_gateway_input": "IP-адрес шлюза",
|
||||
"dhcp_form_subnet_input": "Маска подсети",
|
||||
"dhcp_form_range_title": "Диапазон IP-адресов",
|
||||
@@ -32,6 +39,7 @@
|
||||
"dhcp_interface_select": "Выбрать интерфейс DHCP",
|
||||
"dhcp_hardware_address": "Аппаратный адрес",
|
||||
"dhcp_ip_addresses": "IP-адреса",
|
||||
"ip": "IP-адрес",
|
||||
"dhcp_table_hostname": "Имя хоста",
|
||||
"dhcp_table_expires": "Истекает",
|
||||
"dhcp_warning": "Если вы все равно хотите включить DHCP-сервер, убедитесь, что в сети больше нет активных DHCP-серверов. Иначе это может сломать доступ в сеть для подключенных устройств!",
|
||||
@@ -43,17 +51,28 @@
|
||||
"dhcp_new_static_lease": "Новая статическая аренда",
|
||||
"dhcp_static_leases_not_found": "Не найдено статических аренд DHCP",
|
||||
"dhcp_add_static_lease": "Добавить статическую аренду",
|
||||
"dhcp_reset": "Вы уверены, что хотите сбросить настройки DHCP?",
|
||||
"country": "Страна",
|
||||
"city": "Город",
|
||||
"delete_confirm": "Are you sure you want to delete \"{{key}}\"?",
|
||||
"form_enter_hostname": "Введите имя хоста",
|
||||
"error_details": "Детализация ошибки",
|
||||
"response_details": "Детали ответа",
|
||||
"request_details": "Детали запроса",
|
||||
"client_details": "Информация о клиенте",
|
||||
"details": "Детали",
|
||||
"back": "Назад",
|
||||
"dashboard": "Панель управления",
|
||||
"settings": "Настройки",
|
||||
"filters": "Фильтры",
|
||||
"filter": "Фильтр",
|
||||
"query_log": "Журнал",
|
||||
"compact": "Компактный",
|
||||
"nothing_found": "Ничего не найдено",
|
||||
"faq": "FAQ",
|
||||
"version": "версия",
|
||||
"address": "адрес",
|
||||
"address": "Адрес",
|
||||
"protocol": "Протокол",
|
||||
"on": "Вкл",
|
||||
"off": "Выкл",
|
||||
"copyright": "Все права защищены",
|
||||
@@ -71,12 +90,16 @@
|
||||
"stats_adult": "Заблокированные \"взрослые\" сайты",
|
||||
"stats_query_domain": "Часто запрашиваемые домены",
|
||||
"for_last_24_hours": "за 24 часа",
|
||||
"for_last_days": "за последний {{count}} день",
|
||||
"for_last_days_plural": "за последние {{count}} дней",
|
||||
"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-запросов, заблокированных фильтрами и блок-списками",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Количество DNS-запросов, заблокированных модулем Антифишинга AdGuard",
|
||||
@@ -87,20 +110,26 @@
|
||||
"average_processing_time_hint": "Среднее время для обработки запроса DNS в миллисекундах",
|
||||
"block_domain_use_filters_and_hosts": "Блокировать домены с использованием фильтров и файлов хостов",
|
||||
"filters_block_toggle_hint": "Вы можете настроить правила блокировки в <a href='#filters'> \"Фильтрах\"</a>.",
|
||||
"use_adguard_browsing_sec": "Использовать Безопасную навигацию AdGuard",
|
||||
"use_adguard_browsing_sec": "Включить Безопасную навигацию AdGuard",
|
||||
"use_adguard_browsing_sec_hint": "AdGuard Home проверит, включен ли домен в веб-службу безопасности браузера. Он будет использовать API, чтобы выполнить проверку: на сервер отправляется только короткий префикс имени домена SHA256.",
|
||||
"use_adguard_parental": "Используйте модуль Родительского контроля AdGuard ",
|
||||
"use_adguard_parental": "Включить модуль Родительского контроля AdGuard ",
|
||||
"use_adguard_parental_hint": "AdGuard Home проверит, содержит ли домен материалы 18+. Он использует тот же API для обеспечения конфиденциальности, что и веб-служба безопасности браузера.",
|
||||
"enforce_safe_search": "Усилить безопасный поиск",
|
||||
"enforce_save_search_hint": "AdGuard Home может обеспечить безопасный поиск в следующих системах: Google, Youtube, Bing и Yandex.",
|
||||
"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": "Upstream DNS-серверы",
|
||||
"upstream_dns_hint": "Если вы оставите это поле пустым, то AdGuard Home использует <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> в качестве upstream. Используйте tls:// для DNS через серверы TLS.",
|
||||
"upstream_dns_hint": "Если вы оставите это поле пустым, то AdGuard Home использует <a href='https://www.quad9.net/' target='_blank'>Quad9</a> в качестве DNS сервера.",
|
||||
"test_upstream_btn": "Тест upstream серверов",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Применить",
|
||||
"disabled_filtering_toast": "Фильтрация выкл.",
|
||||
"enabled_filtering_toast": "Фильтрация вкл.",
|
||||
@@ -112,22 +141,33 @@
|
||||
"enabled_save_search_toast": "Безопасный поиск вкл.",
|
||||
"enabled_table_header": "Вкл.",
|
||||
"name_table_header": "Имя",
|
||||
"filter_url_table_header": "URL фильтра",
|
||||
"list_url_table_header": "URL-адрес списка",
|
||||
"rules_count_table_header": "Количество правил:",
|
||||
"last_time_updated_table_header": "Последнее обновление",
|
||||
"actions_table_header": "Действия",
|
||||
"request_table_header": "Запрос",
|
||||
"edit_table_action": "Редактировать",
|
||||
"delete_table_action": "Удалить",
|
||||
"filters_and_hosts": "Фильтры и черные списки hosts",
|
||||
"elapsed": "Затрачено",
|
||||
"filters_and_hosts_hint": "AdGuard Home распознает базовые правила блокировки и синтаксис файлов hosts.",
|
||||
"no_filters_added": "Фильтры не добавлены",
|
||||
"add_filter_btn": "Добавить фильтр",
|
||||
"no_blocklist_added": "Черные списки не добавлены",
|
||||
"no_whitelist_added": "Белые списки не добавлены",
|
||||
"add_blocklist": "Добавить черный список",
|
||||
"add_allowlist": "Добавить белый список",
|
||||
"cancel_btn": "Отмена",
|
||||
"enter_name_hint": "Введите имя",
|
||||
"enter_url_hint": "Введите URL",
|
||||
"enter_url_or_path_hint": "Введите URL-адрес или абсолютный путь к списку",
|
||||
"check_updates_btn": "Проверить обновления",
|
||||
"new_filter_btn": "Добавление нового фильтра",
|
||||
"enter_valid_filter_url": "Введите действующий URL для подписки на фильтр или файл hosts.",
|
||||
"new_blocklist": "Новый черный список",
|
||||
"new_allowlist": "Новый белый список",
|
||||
"edit_blocklist": "Редактировать черный список",
|
||||
"edit_allowlist": "Редактировать белый список",
|
||||
"choose_blocklist": "Выберите списки блокировки",
|
||||
"choose_allowlist": "Выберите списки разрешённых",
|
||||
"enter_valid_blocklist": "Добавьте действующий URL-адрес в черный список.",
|
||||
"enter_valid_allowlist": "Добавьте действующий URL-адрес в белый список.",
|
||||
"form_error_url_format": "Неверный формат URL",
|
||||
"form_error_url_or_path_format": "Неверный URL или абсолютный путь к списку",
|
||||
"custom_filter_rules": "Пользовательское правило фильтрации",
|
||||
"custom_filter_rules_hint": "Вводите по одному правилу на строчку. Вы можете использовать правила блокировки или синтаксис файлов hosts.",
|
||||
"examples_title": "Примеры",
|
||||
@@ -139,20 +179,23 @@
|
||||
"example_comment_hash": "# И вот так тоже",
|
||||
"example_regex_meaning": "блокирует доступ к доменам, соответствующим <0>заданному регулярному выражению</0>",
|
||||
"example_upstream_regular": "обычный DNS (поверх UDP)",
|
||||
"example_upstream_dot": "зашифрованный <a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-поверх-TLS</a>",
|
||||
"example_upstream_doh": "зашифрованный <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a>",
|
||||
"example_upstream_sdns": "вы можете использовать <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS Stamps</a> для <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> или <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a> резолверов",
|
||||
"example_upstream_dot": "зашифрованный <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "зашифрованный <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "вы можете использовать <0>DNS Stamps</0> для <1>DNSCrypt</1> или <2>DNS-over-HTTPS</2> резолверов",
|
||||
"example_upstream_tcp": "обычный DNS (поверх TCP)",
|
||||
"all_filters_up_to_date_toast": "Все фильтры обновлены",
|
||||
"all_lists_up_to_date_toast": "Все списки уже обновлены",
|
||||
"updated_upstream_dns_toast": "Upstream DNS-серверы обновлены",
|
||||
"dns_test_ok_toast": "Указанные серверы DNS работают корректно",
|
||||
"dns_test_not_ok_toast": "Сервер \"{{key}}\": невозможно использовать, проверьте правильность написания",
|
||||
"unblock_btn": "Разблокировать",
|
||||
"block_btn": "Заблокировать",
|
||||
"unblock": "Разблокировать",
|
||||
"block": "Заблокировать",
|
||||
"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": "Показать все",
|
||||
@@ -163,7 +206,6 @@
|
||||
"next_btn": "Вперёд",
|
||||
"loading_table_status": "Загрузка...",
|
||||
"page_table_footer_text": "Страница",
|
||||
"of_table_footer_text": "из",
|
||||
"rows_table_footer_text": "строк",
|
||||
"updated_custom_filtering_toast": "Внесены изменения в пользовательские правила",
|
||||
"rule_removed_from_custom_filtering_toast": "Правило удалено из авторского списка правил фильтрации",
|
||||
@@ -172,6 +214,7 @@
|
||||
"query_log_filtered": "Отфильтровано с помощью {{filter}}",
|
||||
"query_log_confirm_clear": "Вы уверены, что хотите очистить весь журнал запросов?",
|
||||
"query_log_cleared": "Журнал запросов успешно очищен",
|
||||
"query_log_updated": "Журнал запросов успешно обновлен",
|
||||
"query_log_clear": "Очистить журнал запросов",
|
||||
"query_log_retention": "Сохранение журнала запросов",
|
||||
"query_log_enable": "Включить журнал",
|
||||
@@ -179,12 +222,41 @@
|
||||
"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",
|
||||
"null_ip": "Нулевой IP",
|
||||
"custom_ip": "Свой IP",
|
||||
"blocking_ipv4": "Блокировка IPv4",
|
||||
"blocking_ipv6": "Блокировка IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "Нешифрованный DNS",
|
||||
"form_enter_rate_limit": "Введите rate limit",
|
||||
"rate_limit": "Rate limit",
|
||||
"edns_enable": "Включить отправку EDNS Client Subnet",
|
||||
"edns_cs_desc": "Если включить эту опцию, AdGuard Home будет отправлять подсети клиентов на DNS-сервера.",
|
||||
"rate_limit_desc": "Ограничение на количество запросов в секунду для каждого клиента (0 — неограниченно)",
|
||||
"blocking_ipv4_desc": "IP-адрес, возвращаемый при блокировке A-запроса",
|
||||
"blocking_ipv6_desc": "IP-адрес, возвращаемый при блокировке AAAA-запроса",
|
||||
"blocking_mode_default": "Стандартный: Отвечает с NXDOMAIN, когда заблокировано правилом в стиле Adblock; отвечает с IP-адресом, указанным в правиле, когда заблокировано правилом в стиле /etc/hosts\n",
|
||||
"blocking_mode_nxdomain": "NXDOMAIN: Отвечает с кодом NXDOMAIN\n",
|
||||
"blocking_mode_null_ip": "Нулевой IP: Отвечает с нулевым IP-адресом (0.0.0.0 для A; :: для AAAA)",
|
||||
"blocking_mode_custom_ip": "Пользовательский IP: Отвечает с вручную настроенным IP-адресом",
|
||||
"upstream_dns_client_desc": "Если оставить поле пустым, AdGuard Home будет обращаться к серверам, указанным в <0>настройках DNS</0>.",
|
||||
"tracker_source": "Источник трекинга",
|
||||
"source_label": "Источник",
|
||||
"found_in_known_domain_db": "Найден в базе известных доменов.",
|
||||
"category_label": "Категория",
|
||||
"rule_label": "Правило",
|
||||
"filter_label": "Фильтр",
|
||||
"list_label": "Список",
|
||||
"unknown_filter": "Неизвестный фильтр {{filterId}}",
|
||||
"known_tracker": "Известный трекер",
|
||||
"install_welcome_title": "Добро пожаловать в AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home – это DNS-сервер, блокирующий рекламу и трекинг. Его цель – дать вам возможность контролировать всю вашу сеть и все подключенные устройства. Он не требует установки клиентских программ.",
|
||||
"install_settings_title": "Веб-интерфейс администрирования",
|
||||
@@ -213,6 +285,7 @@
|
||||
"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_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": "В левой стороне экрана найдите \"Изменение параметров адаптера\" и кликните по нему.",
|
||||
@@ -275,6 +348,8 @@
|
||||
"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> на выбор.",
|
||||
@@ -293,17 +368,20 @@
|
||||
"client_edit": "Редактировать клиента",
|
||||
"client_identifier": "Идентификатор",
|
||||
"ip_address": "IP-адрес",
|
||||
"client_identifier_desc": "Клиенты могут быть идентифицированы по IP-адресу или MAC-адресу. Обратите внимание, что использование MAC как идентификатора, возможно только если AdGuard Home также является и <0>DHCP-сервером</0>",
|
||||
"client_identifier_desc": "Клиенты могут быть идентифицированы по IP-адресу, CIDR или MAC-адресу. Обратите внимание, что использование MAC как идентификатора возможно, только если AdGuard Home также является и <0>DHCP-сервером</0>",
|
||||
"form_enter_ip": "Введите IP",
|
||||
"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}}\"?",
|
||||
"filter_confirm_delete": "Вы уверены, что хотите удалить фильтр?",
|
||||
"list_confirm_delete": "Вы уверены, что хотите удалить этот список?",
|
||||
"auto_clients_title": "Клиенты (runtime)",
|
||||
"auto_clients_desc": "Данные о клиентах, которые используют AdGuard Home, но не хранятся в настройках",
|
||||
"access_title": "Настройки доступа",
|
||||
@@ -312,8 +390,8 @@
|
||||
"access_allowed_desc": "Список CIDR- или IP-адресов. Если он настроен, AdGuard Home будет принимать запросы только с этих IP-адресов.",
|
||||
"access_disallowed_title": "Запрещенные клиенты",
|
||||
"access_disallowed_desc": "Список CIDR- или IP-адресов. Если он настроен, AdGuard Home будет игнорировать запросы с этих IP-адресов.",
|
||||
"access_blocked_title": "Заблокированные домены",
|
||||
"access_blocked_desc": "Не путайте это с фильтрами. AdGuard Home будет игнорировать DNS-запросы с этими доменами.",
|
||||
"access_blocked_title": "Неразрешенные домены",
|
||||
"access_blocked_desc": "Не путайте это с фильтрами. AdGuard Home будет игнорировать DNS-запросы с этими доменами. Здесь вы можете уточнить точные имена доменов, шаблоны, правила URL-фильтрации, например, \"пример.org\", \"*.пример.org\" или \"||пример.org\".",
|
||||
"access_settings_saved": "Настройки доступа успешно сохранены",
|
||||
"updates_checked": "Проверка обновлений прошла успешно",
|
||||
"updates_version_equal": "Версия AdGuard Home актуальна",
|
||||
@@ -341,6 +419,7 @@
|
||||
"rewrite_confirm_delete": "Вы уверены, что хотите удалить правило перенаправления DNS для \"{{key}}\"?",
|
||||
"rewrite_desc": "Позволяет легко настроить пользовательский DNS-ответ для определеннного домена.",
|
||||
"rewrite_applied": "Применено правило перенаправления",
|
||||
"rewrite_hosts_applied": "Переписано по правилу файла hosts",
|
||||
"dns_rewrites": "Перенаправления DNS",
|
||||
"form_domain": "Введите домен",
|
||||
"form_answer": "Введите IP адрес или домен",
|
||||
@@ -365,9 +444,13 @@
|
||||
"stats_params": "Конфигурация статистики",
|
||||
"config_successfully_saved": "Конфигурация успешно сохранена",
|
||||
"interval_24_hour": "24 часа",
|
||||
"interval_days": "{{count}} день",
|
||||
"interval_days_plural": "{{count}} дней",
|
||||
"domain": "Домен",
|
||||
"answer": "Ответ",
|
||||
"filter_added_successfully": "Фильтр успешно добавлен",
|
||||
"filter_added_successfully": "Список успешно добавлен",
|
||||
"filter_removed_successfully": "Список успешно удален",
|
||||
"filter_updated": "Список успешно обновлен",
|
||||
"statistics_configuration": "Конфигурация статистики",
|
||||
"statistics_retention": "Сохранение статистики",
|
||||
"statistics_retention_desc": "Если вы уменьшите значение интервала, некоторые данные могут быть утеряны",
|
||||
@@ -375,6 +458,8 @@
|
||||
"statistics_clear_confirm": "Вы уверены, что хотите очистить статистику?",
|
||||
"statistics_retention_confirm": "Вы уверены, что хотите изменить срок хранения статистики? При сокращении интервала данные могут быть утеряны",
|
||||
"statistics_cleared": "Статистика успешно очищена",
|
||||
"interval_hours": "{{count}} час",
|
||||
"interval_hours_plural": "{{count}} часов",
|
||||
"filters_configuration": "Настройка фильтров",
|
||||
"filters_enable": "Включить фильтры",
|
||||
"filters_interval": "Интервал обновления фильтров",
|
||||
@@ -390,19 +475,93 @@
|
||||
"location": "Местоположение",
|
||||
"orgname": "Название организации",
|
||||
"netname": "Название сети",
|
||||
"network": "Сеть",
|
||||
"descr": "Описание",
|
||||
"whois": "Whois",
|
||||
"interval_hours_0": "{{count}} час",
|
||||
"interval_hours_1": "{{count}} часа",
|
||||
"interval_hours_2": "{{count}} часов",
|
||||
"interval_days_0": "{{count}} день",
|
||||
"interval_days_1": "{{count}} дня",
|
||||
"interval_days_2": "{{count}} дней",
|
||||
"for_last_days_0": "за последний {{count}} день",
|
||||
"for_last_days_1": "за последние {{count}} дня",
|
||||
"for_last_days_2": "за последние {{count}} дней",
|
||||
"number_of_dns_query_days_0": "Количество DNS-запросов за {{count}} день",
|
||||
"number_of_dns_query_days_1": "Количество DNS-запросов за {{count}} дня",
|
||||
"number_of_dns_query_days_2": "Количество DNS-запросов за {{count}} дней",
|
||||
"filtering_rules_learn_more": "<0>Узнайте больше</0> о создании собственных списков блокировки хостов."
|
||||
"filtering_rules_learn_more": "<0>Узнайте больше</0> о создании собственных списков блокировки хостов.",
|
||||
"blocked_by_response": "Заблокировано по CNAME или IP в ответе",
|
||||
"blocked_by_cname_or_ip": "Заблокировано с помощью CNAME или IP",
|
||||
"try_again": "Попробовать еще раз",
|
||||
"domain_desc": "Введите имя или маску домена, который вы хотите перенаправить.",
|
||||
"example_rewrite_domain": "перенаправляет ответы только для этого домена.",
|
||||
"example_rewrite_wildcard": "перенаправляет ответы для всех поддоменов <0>example.org</0>.",
|
||||
"rewrite_ip_address": "IP-адрес: используйте этот IP для А или АААА ответов",
|
||||
"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-адрес из полученных ответов",
|
||||
"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_result": "В результате все DNS-запросы от вашей системы будут по умолчанию обрабатываться AdGuard Home.\n",
|
||||
"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_rule": "Правило: {{rule}}",
|
||||
"check_service": "Название сервиса: {{service}}",
|
||||
"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": "Мы обнаружили использование динамического 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": "Blocked",
|
||||
"show_whitelisted_responses": "В белом списке",
|
||||
"show_processed_responses": "Обработан",
|
||||
"blocked_safebrowsing": "Заблокировано согласно базе данных Safebrowsing",
|
||||
"blocked_adult_websites": "Заблокированные \"взрослые\" сайты",
|
||||
"blocked_threats": "Заблокировано угроз",
|
||||
"allowed": "Разрешенные",
|
||||
"filtered": "Отфильтрованные",
|
||||
"rewritten": "Переписанные",
|
||||
"safe_search": "Безопасный поиск",
|
||||
"blocklist": "Черный список",
|
||||
"milliseconds_abbreviation": "мс",
|
||||
"cache_size": "Размер кеша",
|
||||
"cache_size_desc": "Размера кеша DNS (в байтах)",
|
||||
"cache_ttl_min_override": "Переопределить минимальный TTL",
|
||||
"cache_ttl_max_override": "Переопределить максимальный TTL",
|
||||
"enter_cache_size": "Введите размер кеша",
|
||||
"enter_cache_ttl_min_override": "Введите минимальный TTL",
|
||||
"enter_cache_ttl_max_override": "Введите максимальный TTL",
|
||||
"cache_ttl_min_override_desc": "Переопределить TTL-значение (минимальное), полученное с upstream-сервера. Это значение не может быть больше 3600 (1 часа)",
|
||||
"cache_ttl_max_override_desc": "Переопределить TTL-значение (максимальное), полученное с upstream-сервера",
|
||||
"min_exceeds_max_value": "Минимальное значение превышает максимальное значение",
|
||||
"value_not_larger_than": "Значение не может быть больше {{maximum}}",
|
||||
"filter_category_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": "Другие списки блокировки",
|
||||
"original_response": "Первоначальный ответ",
|
||||
"click_to_view_queries": "Нажмите, чтобы просмотреть запросы",
|
||||
"port_53_faq_link": "Порт 53 часто занят службами \"DNSStubListener\" или \"systemd-resolved\". Ознакомьтесь с <0>инструкцией</0> о том, как это разрешить."
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "Nastavenie klienta",
|
||||
"example_upstream_reserved": "môžete zadať DNS upstream <0>pre konkrétnu doménu (domény)</0>",
|
||||
"upstream_parallel": "Používajte paralelné dotazy na zrýchlenie riešenia súčasným dopytovaním všetkých serverov",
|
||||
"example_upstream_reserved": "Môžete zadať DNS upstream <0>pre konkrétnu doménu (domény)</0>",
|
||||
"upstream_parallel": "Používať paralelné dopyty na zrýchlenie súčasným dopytovaním všetkých serverov",
|
||||
"parallel_requests": "Paralelné dopyty",
|
||||
"load_balancing": "Vyrovnávanie záťaže",
|
||||
"load_balancing_desc": "Dopytujte jeden server súčasne. AdGuard Home použije na výber servera vážený náhodný algoritmus, aby sa najrýchlejší server používal častejšie.",
|
||||
"bootstrap_dns": "Bootstrap DNS servery",
|
||||
"bootstrap_dns_desc": "Bootstrap DNS servery sa používajú na rozlíšenie IP adries DoH/DoT rezolverov, ktoré zadáte ako upstreams.",
|
||||
"check_dhcp_servers": "Skontrolovať DHCP servery",
|
||||
@@ -19,9 +22,13 @@
|
||||
"dhcp_leases_not_found": "Neboli nájdené žiadne DHCP prenájmy",
|
||||
"dhcp_config_saved": "Konfigurácia DHCP servera uložená",
|
||||
"form_error_required": "Povinná položka",
|
||||
"form_error_ip4_format": "Nesprávny formát IPv4",
|
||||
"form_error_ip6_format": "Nesprávny formát IPv6",
|
||||
"form_error_ip_format": "Nesprávny formát IPv4",
|
||||
"form_error_mac_format": "Nesprávny MAC formát",
|
||||
"form_error_client_id_format": "Neplatný formát client ID",
|
||||
"form_error_positive": "Musí byť väčšie ako 0",
|
||||
"form_error_negative": "Musí byť číslo 0 alebo viac",
|
||||
"dhcp_form_gateway_input": "IP brána",
|
||||
"dhcp_form_subnet_input": "Maska podsiete",
|
||||
"dhcp_form_range_title": "Rozsah IP adries",
|
||||
@@ -32,7 +39,8 @@
|
||||
"dhcp_interface_select": "Zvoľte DHCP rozhranie",
|
||||
"dhcp_hardware_address": "Hardware adresa",
|
||||
"dhcp_ip_addresses": "IP adresy",
|
||||
"dhcp_table_hostname": "Názov hostiteľa",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Meno hostiteľa",
|
||||
"dhcp_table_expires": "Vyprší",
|
||||
"dhcp_warning": "Ak chcete server DHCP napriek tomu povoliť, uistite sa, že v sieti nie je žiadny iný aktívny DHCP server. V opačnom prípade sa môže prerušiť internet pre už pripojené zariadenia!",
|
||||
"dhcp_error": "Nebolo možné určiť, či je v sieti iný DHCP server.",
|
||||
@@ -43,17 +51,28 @@
|
||||
"dhcp_new_static_lease": "Nový statický prenájom",
|
||||
"dhcp_static_leases_not_found": "Nebol nájdený žiadny statický DHCP prenájom",
|
||||
"dhcp_add_static_lease": "Pridať statický prenájom",
|
||||
"dhcp_reset": "Naozaj chcete obnoviť konfiguráciu DHCP?",
|
||||
"country": "Krajina",
|
||||
"city": "Mesto",
|
||||
"delete_confirm": "Naozaj chcete vymazať \"{{key}}\"?",
|
||||
"form_enter_hostname": "Zadajte názov hostiteľa",
|
||||
"form_enter_hostname": "Zadajte meno hostiteľa",
|
||||
"error_details": "Podrobnosti chyby",
|
||||
"response_details": "Podrobnosti odpovede",
|
||||
"request_details": "Podrobnosti požiadavky",
|
||||
"client_details": "Podrobnosti klienta",
|
||||
"details": "Podrobnosti",
|
||||
"back": "Naspäť",
|
||||
"dashboard": "Riadiaci panel",
|
||||
"settings": "Nastavenia",
|
||||
"filters": "Filtre",
|
||||
"filter": "Filter",
|
||||
"query_log": "Denník dopytov",
|
||||
"compact": "Kompaktný",
|
||||
"nothing_found": "Nič sa nenašlo",
|
||||
"faq": "FAQ",
|
||||
"version": "Verzia",
|
||||
"address": "adresa",
|
||||
"address": "Adresa",
|
||||
"protocol": "Protokol",
|
||||
"on": "ZAP.",
|
||||
"off": "VYP.",
|
||||
"copyright": "Copyright",
|
||||
@@ -66,16 +85,22 @@
|
||||
"disabled_protection": "Ochrana vypnutá",
|
||||
"refresh_statics": "Obnoviť štatistiku",
|
||||
"dns_query": "DNS dopyty",
|
||||
"blocked_by": "<0>Blokované filtrami</0>",
|
||||
"stats_malware_phishing": "Blokovaný škodlivý kód/pokus o podvod",
|
||||
"stats_adult": "Blokovaná stránka pre dospelých",
|
||||
"stats_query_domain": "Najčastejšie dopytované domény",
|
||||
"for_last_24_hours": "za posledných 24 hodín",
|
||||
"for_last_days": "za posledný {{count}} deň",
|
||||
"for_last_days_plural": "za posledných {{count}} dní",
|
||||
"no_domains_found": "Žiadna doména nebola nájdená",
|
||||
"requests_count": "Počet dopytov",
|
||||
"top_blocked_domains": "Najčastejšie zablokované domény",
|
||||
"top_clients": "Najčastejší klienti",
|
||||
"no_clients_found": "Neboli nájdení žiadni klienti",
|
||||
"general_statistics": "Všeobecná štatistika",
|
||||
"number_of_dns_query_days": "Počet DNS dopytov spracovaných za posledný {{count}} deň",
|
||||
"number_of_dns_query_days_plural": "Počet DNS dopytov spracovaných za posledných {{count}} dní",
|
||||
"number_of_dns_query_24_hours": "Počet DNS dopytov spracovaných za posledných 24 hodín",
|
||||
"number_of_dns_query_blocked_24_hours": "Počet DNS dopytov zablokovaných filtrami reklamy a zoznamami adries",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Počet DNS dopytov zablokovaných AdGuard modulom Bezpečné prehliadanie",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "Počet zablokovaných stránok pre dospelých",
|
||||
@@ -90,15 +115,21 @@
|
||||
"use_adguard_parental": "Použiť AdGuard službu Rodičovská kontrola",
|
||||
"use_adguard_parental_hint": "AdGuard Home skontroluje, či doména obsahuje materiály pre dospelých. Používa rovnaké API priateľské k ochrane osobných údajov ako služba Bezpečného prehliadania.",
|
||||
"enforce_safe_search": "Vynútiť bezpečné vyhľadávanie",
|
||||
"enforce_save_search_hint": "AdGuard Home môže vynútiť bezpečné vyhľadávanie v nasledujúcich vyhľadávačoch: Google, Youtube, Bing, DuckDuckGo and Yandex.",
|
||||
"enforce_save_search_hint": "AdGuard Home môže vynútiť bezpečné vyhľadávanie v nasledujúcich vyhľadávačoch: Google, Youtube, Bing, DuckDuckGo a Yandex.",
|
||||
"no_servers_specified": "Neboli špecifikované žiadne servery",
|
||||
"general_settings": "Všeobecné nastavenia",
|
||||
"dns_settings": "Nastavenia DNS",
|
||||
"dns_blocklists": "Zoznam blokovaných DNS",
|
||||
"dns_allowlists": "Zoznam povolených DNS",
|
||||
"dns_blocklists_desc": "AdGuard Home bude blokovať domény obsiahnuté v zozname blokovaných DNS.",
|
||||
"dns_allowlists_desc": "Domény zo zoznamu povolených DNS budú povolené, aj keď sa nachádzajú v niektorom zo zoznamov blokovaných DNS.",
|
||||
"custom_filtering_rules": "Vlastné filtračné pravidlá",
|
||||
"encryption_settings": "Nastavenia šifrovania",
|
||||
"dhcp_settings": "Nastavenia DHCP",
|
||||
"upstream_dns": "Upstream DNS servery",
|
||||
"upstream_dns_hint": "Ak toto pole ponecháte prázdne, AdGuard Home použije <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> ako upstream.",
|
||||
"upstream_dns_hint": "Ak toto pole ponecháte prázdne, AdGuard Home použije <a href='https://www.quad9.net/' target='_blank'>Quad9</a> ako upstream.",
|
||||
"test_upstream_btn": "Test upstreamov",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Použiť",
|
||||
"disabled_filtering_toast": "Vypnutá filtrácia",
|
||||
"enabled_filtering_toast": "Zapnutá filtrácia",
|
||||
@@ -109,25 +140,36 @@
|
||||
"disabled_safe_search_toast": "Vypnuté bezpečné vyhľadávanie",
|
||||
"enabled_save_search_toast": "Zapnuté bezpečné vyhľadávanie",
|
||||
"enabled_table_header": "Zapnuté",
|
||||
"name_table_header": "Názov",
|
||||
"filter_url_table_header": "URL filtra",
|
||||
"name_table_header": "Meno",
|
||||
"list_url_table_header": "Zoznam URL adries",
|
||||
"rules_count_table_header": "Počet pravidiel",
|
||||
"last_time_updated_table_header": "Posledná aktualizácia",
|
||||
"actions_table_header": "Akcie",
|
||||
"edit_table_action": "Úprava",
|
||||
"request_table_header": "Dopyt",
|
||||
"edit_table_action": "Upraviť",
|
||||
"delete_table_action": "Vymazať",
|
||||
"filters_and_hosts": "Filtre a zoznamy blokovaných adries",
|
||||
"elapsed": "Uplynuté",
|
||||
"filters_and_hosts_hint": "AdGuard Home pozná základné pravidlá adblock a syntax hosts súborov.",
|
||||
"no_filters_added": "Neboli pridané žiadne filtre",
|
||||
"add_filter_btn": "Pridať filter",
|
||||
"no_blocklist_added": "Nebol pridaný žiaden zoznam blokovaných DNS",
|
||||
"no_whitelist_added": "Nebol pridaný žiaden zoznam povolených DNS",
|
||||
"add_blocklist": "Pridať zoznam blokovaných DNS",
|
||||
"add_allowlist": "Pridať zoznam povolených DNS",
|
||||
"cancel_btn": "Zrušiť",
|
||||
"enter_name_hint": "Zadajte názov",
|
||||
"enter_url_hint": "Vložte URL adresu",
|
||||
"enter_name_hint": "Zadajte meno",
|
||||
"enter_url_or_path_hint": "Zadajte URL adresu alebo absolútnu adresu zoznamu",
|
||||
"check_updates_btn": "Skontrolovať aktualizácie",
|
||||
"new_filter_btn": "Odber nového filtra",
|
||||
"enter_valid_filter_url": "Vložte platnú URL adresu na odber filtra alebo zoznamov adries.",
|
||||
"new_blocklist": "Nový zoznam blokovaných DNS",
|
||||
"new_allowlist": "Nový zoznam povolených DNS",
|
||||
"edit_blocklist": "Upraviť zoznam blokovaných DNS",
|
||||
"edit_allowlist": "Upraviť zoznam povolených DNS",
|
||||
"choose_blocklist": "Vybrať blokovací zoznam",
|
||||
"choose_allowlist": "Vybrať povolený zoznam",
|
||||
"enter_valid_blocklist": "Zadajte platnú URL adresu do zoznamu blokovaných DNS.",
|
||||
"enter_valid_allowlist": "Zadajte platnú URL adresu do zoznamu povolených DNS.",
|
||||
"form_error_url_format": "Neplatný URL formát",
|
||||
"form_error_url_or_path_format": "Neplatná URL adresa alebo absolútna adresa zoznamu",
|
||||
"custom_filter_rules": "Vlastné filtračné pravidlá",
|
||||
"custom_filter_rules_hint": "Vložte na každý riadok jedno pravidlo. Môžete použiť buď adblock pravidlá alebo syntax host súborov.",
|
||||
"custom_filter_rules_hint": "Zadajte na každý riadok jedno pravidlo. Môžete použiť buď adblock pravidlá alebo syntax host súborov.",
|
||||
"examples_title": "Príklady",
|
||||
"example_meaning_filter_block": "zablokovať prístup k doméne example.org a všetkým jej subdoménam",
|
||||
"example_meaning_filter_whitelist": "odblokovať prístup k doméne example.org a všetkým jej subdoménam",
|
||||
@@ -135,21 +177,25 @@
|
||||
"example_comment": "! Sem sa pridáva komentár",
|
||||
"example_comment_meaning": "len komentár",
|
||||
"example_comment_hash": "# Tiež komentár",
|
||||
"example_regex_meaning": "zablokovať prístup k doménam, ktoré zodpovedajú zadanému regulárnemu výrazu",
|
||||
"example_upstream_regular": "radová DNS (cez UDP)",
|
||||
"example_upstream_dot": "šifrované <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "šifrované <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "môžete použiť <0>DNS pečiatky</0> pre <1>DNSCrypt</1> alebo <2>DNS-over-HTTPS</2>",
|
||||
"example_upstream_tcp": "radová DNS (cez TCP)",
|
||||
"all_filters_up_to_date_toast": "Všetky filtre sú už aktuálne",
|
||||
"all_lists_up_to_date_toast": "Všetky zoznamy sú už aktuálne",
|
||||
"updated_upstream_dns_toast": "Aktualizované upstream DNS servery",
|
||||
"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",
|
||||
"unblock_btn": "Odblokovať",
|
||||
"block_btn": "Zablokovať",
|
||||
"unblock": "Odblokovať",
|
||||
"block": "Blokovať",
|
||||
"time_table_header": "Čas",
|
||||
"domain_name_table_header": "Názov domény",
|
||||
"date": "Dátum",
|
||||
"domain_name_table_header": "Meno domény",
|
||||
"domain_or_client": "Doména alebo klient",
|
||||
"type_table_header": "Typ",
|
||||
"response_table_header": "Odozva",
|
||||
"response_code": "Kód odozvy",
|
||||
"client_table_header": "Klient",
|
||||
"empty_response_status": "Vyčistiť",
|
||||
"show_all_filter_type": "Zobraziť všetko",
|
||||
@@ -160,17 +206,57 @@
|
||||
"next_btn": "Ďalšie",
|
||||
"loading_table_status": "Načítavam...",
|
||||
"page_table_footer_text": "Stránka",
|
||||
"of_table_footer_text": "z",
|
||||
"rows_table_footer_text": "riadky",
|
||||
"updated_custom_filtering_toast": "Aktualizované vlastné filtračné pravidlá",
|
||||
"rule_removed_from_custom_filtering_toast": "Pravidlo odstránené z vlastných filtračných pravidiel",
|
||||
"rule_added_to_custom_filtering_toast": "Pravidlo pridané do vlastných filtračných pravidiel",
|
||||
"query_log_response_status": "Stav: {{value}}",
|
||||
"query_log_filtered": "Vyfiltrované pomocou {{filter}}",
|
||||
"query_log_confirm_clear": "Naozaj chcete vymazať celý denník dopytov?",
|
||||
"query_log_cleared": "Denník dopytov bol úspešne vymazaný",
|
||||
"query_log_updated": "Denník dopytov bol úspešne aktualizovaný",
|
||||
"query_log_clear": "Vymazať denníky dopytov",
|
||||
"query_log_retention": "Obdobie záznamu denníka dopytov",
|
||||
"query_log_enable": "Zapnúť denník",
|
||||
"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_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",
|
||||
"anonymize_client_ip": "Anonymizujte IP klienta",
|
||||
"anonymize_client_ip_desc": "Neukladať úplnú IP adresu klienta do protokolov a štatistík",
|
||||
"dns_config": "Konfigurácia DNS servera",
|
||||
"dns_cache_config": "Konfigurácia DNS cache",
|
||||
"dns_cache_config_desc": "Tu môžete nakonfigurovať DNS cache",
|
||||
"blocking_mode": "Spôsob blokovania",
|
||||
"default": "Predvolené",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Nulová IP adresa",
|
||||
"custom_ip": "Vlastná IP adresa",
|
||||
"blocking_ipv4": "Blokovanie IPv4",
|
||||
"blocking_ipv6": "Blokovanie IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "Obyčajné DNS",
|
||||
"form_enter_rate_limit": "Zadajte rýchlostný limit",
|
||||
"rate_limit": "Rýchlostný limit",
|
||||
"edns_enable": "Povoliť klientsku podsiete EDNS",
|
||||
"edns_cs_desc": "Ak je zapnuté, program AdGuard Home bude odosielať podsiete klientov na DNS servery.",
|
||||
"rate_limit_desc": "Počet požiadaviek za sekundu, ktoré môže jeden klient vykonať (0: neobmedzene)",
|
||||
"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_mode_default": "Predvolená hodnota: Odpovedať pomocou NXDOMAIN, ak je blokovaný pravidlom v štýle Adblock; odpovedať pomocou IP adresy určenej v pravidle, ak je blokovaná pravidlom v štýle /etc/hosts",
|
||||
"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_custom_ip": "Vlastná IP adresa: Odpovedzte s manuálne nastavenou IP adresou",
|
||||
"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",
|
||||
"source_label": "Zdroj",
|
||||
"found_in_known_domain_db": "Nájdené v databáze známych domén.",
|
||||
"category_label": "Kategória",
|
||||
"rule_label": "Pravidlo",
|
||||
"filter_label": "Filter",
|
||||
"list_label": "Zoznam",
|
||||
"unknown_filter": "Neznámy filter {{filterId}}",
|
||||
"known_tracker": "Známy sledovač",
|
||||
"install_welcome_title": "Vitajte na stránkach AdGuard Home!",
|
||||
"install_welcome_desc": "Doména AdGuard Home je celosieťový DNS server pre blokovanie reklám a sledovačov. Jeho cieľom je, aby ste ovládali celú Vašu sieť a všetky Vaše zariadenia, pričom sa nevyžaduje použitie akéhokoľvek programu na strane klienta.",
|
||||
"install_settings_title": "Administrátorské webové rozhranie",
|
||||
@@ -182,6 +268,7 @@
|
||||
"install_settings_dns_desc": "Budete musieť konfigurovať Vaše zariadenia alebo smerovač, aby používali DNS server na nasledujúcich adresách:",
|
||||
"install_settings_all_interfaces": "Všetky rozhrania",
|
||||
"install_auth_title": "Overenie identity",
|
||||
"install_auth_desc": "Odporúčame Vám nakonfigurovať na administrátorskom webovom rozhraní AdGuard Home overenie Vašej identity heslom. Aj keď je prístupné iba vo Vašej lokálnej sieti, je stále dôležité chrániť ho pred neobmedzeným prístupom.",
|
||||
"install_auth_username": "Meno používateľa",
|
||||
"install_auth_password": "Heslo",
|
||||
"install_auth_confirm": "Potvrdenie hesla",
|
||||
@@ -198,16 +285,17 @@
|
||||
"install_devices_router_list_1": "Otvorte predvoľby Vášho smerovača. Zvyčajne ho môžete získať z prehliadača prostredníctvom adresy URL (napríklad http://192.168.0.1/ alebo http://192.168.1.1/). Možno bude potrebné zadať heslo. Ak si to nepamätáte, heslo môžete často obnoviť stlačením tlačidla na samotnom smerovači. Niektoré smerovače vyžadujú konkrétnu aplikáciu, ktorá by v takom prípade mala byť už nainštalovaná na Vašom počítači alebo telefóne.",
|
||||
"install_devices_router_list_2": "Nájdite nastavenia DHCP/DNS. Hľadajte skratku DNS vedľa poľa, ktoré umožňuje vložiť dve alebo tri sady čísel, každé rozdelené do štyroch skupín s jedným až tromi číslicami.",
|
||||
"install_devices_router_list_3": "Zadajte tam adresy Vášho AdGuard Home servera.",
|
||||
"install_devices_router_list_4": "Na niektorých typoch smerovačov nemôžete nastaviť vlastný DNS server. V takom prípade môže pomôcť, ak nastavíte domovskú stránku AdGuard ako <0>DHCP server</0>. V opačnom prípade by ste mali vyhľadať príručku, ako prispôsobiť servery DNS konkrétnemu modelu smerovača.",
|
||||
"install_devices_windows_list_1": "Otvorte panel Nastavenia cez menu Štart alebo vyhľadávanie Windows.",
|
||||
"install_devices_windows_list_2": "Choďte do kategórie Sieť a internet",
|
||||
"install_devices_windows_list_2": "Prejdite do kategórie Sieť a internet a potom do Centra sietí a zdieľania.",
|
||||
"install_devices_windows_list_3": "Vyhľadajte položku Zmeniť možnosti adaptéra a kliknite na ňu",
|
||||
"install_devices_windows_list_4": "Zvoľte aktívne pripojený adaptér a pravým klikom otvorte Vlastnosti",
|
||||
"install_devices_windows_list_5": "Vyhľadajte položku Protokol TCP/IPv4, zvoľte ju a dvojklikom otvorte jej vlastnosti.",
|
||||
"install_devices_windows_list_6": "Zvoľte Použiť tieto adresy serverov DNS a vložte adresy Vašich AdGuard Home serverov.",
|
||||
"install_devices_windows_list_6": "Zvoľte Použiť tieto adresy serverov DNS a zadajte adresy Vašich AdGuard Home serverov.",
|
||||
"install_devices_macos_list_1": "Kliknite na ikonu Apple a prejdite na položku Systémové predvoľby.",
|
||||
"install_devices_macos_list_2": "Kliknite na Sieť.",
|
||||
"install_devices_macos_list_3": "Zvoľte prvé pripojenie vo Vašom zozname a kliknite na Pokročilé.",
|
||||
"install_devices_macos_list_4": "Vyberte kartu DNS a zadajte adresy serverov AdGuard Home.",
|
||||
"install_devices_macos_list_4": "Vyberte kartu DNS a zadajte adresy Vašich AdGuard Home serverov.",
|
||||
"install_devices_android_list_1": "Na domovskej obrazovke ponuky Android klepnite na Nastavenia.",
|
||||
"install_devices_android_list_2": "V ponuke klepnite na položku Wi-Fi. Zobrazí sa obrazovka so zoznamom všetkých dostupných sietí (nie je možné nastaviť vlastný DNS pre mobilné pripojenie).",
|
||||
"install_devices_android_list_3": "Dlho stlačte sieť, ku ktorej ste pripojení, a klepnite na Modifikovať sieť.",
|
||||
@@ -215,8 +303,8 @@
|
||||
"install_devices_android_list_5": "Zmeňte nastavené hodnoty DNS 1 a DNS 2 na adresy serverov AdGuard Home.",
|
||||
"install_devices_ios_list_1": "Na domácej obrazovke ťuknite na položku Nastavenia.",
|
||||
"install_devices_ios_list_2": "V ľavej ponuke vyberte Wi-Fi (nie je možné nakonfigurovať DNS pre mobilné siete).",
|
||||
"install_devices_ios_list_3": "Klepnite na názov aktuálne aktívnej siete",
|
||||
"install_devices_ios_list_4": "Do poľa DNS zadajte adresy serverov AdGuard Home.",
|
||||
"install_devices_ios_list_3": "Klepnite na meno aktuálne aktívnej siete.",
|
||||
"install_devices_ios_list_4": "Do poľa DNS zadajte adresy Vašich AdGuard Home serverov.",
|
||||
"get_started": "Začíname",
|
||||
"next": "Ďalej",
|
||||
"open_dashboard": "Otvoriť riadiaci panel",
|
||||
@@ -224,9 +312,9 @@
|
||||
"encryption_title": "Šifrovanie",
|
||||
"encryption_desc": "Podpora šifrovania (HTTPS/TLS) pre webové rozhranie DNS aj administrátora",
|
||||
"encryption_config_saved": "Konfigurácia šifrovania uložená",
|
||||
"encryption_server": "Názov servera",
|
||||
"encryption_server": "Meno servera",
|
||||
"encryption_server_enter": "Zadajte meno Vašej domény",
|
||||
"encryption_server_desc": "Ak chcete používať HTTPS, musíte zadať názov servera, ktorý zodpovedá Vášmu SSL certifikátu.",
|
||||
"encryption_server_desc": "Ak chcete používať HTTPS, musíte zadať meno servera, ktoré zodpovedá Vášmu SSL certifikátu.",
|
||||
"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_https": "HTTPS port",
|
||||
@@ -260,6 +348,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} je teraz k dispozícii! <0>Viac informácií nájdete tu</0>.",
|
||||
"setup_guide": "Sprievodca nastavením",
|
||||
"dns_addresses": "DNS adresy",
|
||||
"dns_start": "Spúšťa sa DNS server",
|
||||
"dns_status_error": "Chyba pri zisťovaní stavu DNS servera",
|
||||
"down": "Nadol",
|
||||
"fix": "Opraviť",
|
||||
"dns_providers": "Tu je <0>zoznam známych poskytovateľov DNS</0>, z ktorého si vyberiete.",
|
||||
@@ -271,24 +361,27 @@
|
||||
"settings_global": "Globálne",
|
||||
"settings_custom": "Vlastné",
|
||||
"table_client": "Klient",
|
||||
"table_name": "Názov",
|
||||
"table_name": "Meno",
|
||||
"save_btn": "Uložiť",
|
||||
"client_add": "Pridať klienta",
|
||||
"client_new": "Nový klient",
|
||||
"client_edit": "Upraviť klienta",
|
||||
"client_identifier": "Identifikátor",
|
||||
"ip_address": "IP adresa",
|
||||
"client_identifier_desc": "Klienti môžu byť identifikovaní podľa IP adresy alebo MAC adresy. Upozorňujeme, že používanie MAC ako identifikátora je možné len vtedy, ak je AdGuard Home tiež <0>DHCP server</0>",
|
||||
"form_enter_ip": "Zadajte IP",
|
||||
"form_enter_mac": "Zadajte MAC",
|
||||
"form_client_name": "Zadajte názov klienta",
|
||||
"client_identifier_desc": "Klienti môžu byť identifikovaní podľa IP adresy, CIDR alebo MAC adresy. Upozorňujeme, že používanie MAC ako identifikátora je možné len vtedy, ak je AdGuard Home tiež <0>DHCP server</0>",
|
||||
"form_enter_ip": "Zadajte IP adresu",
|
||||
"form_enter_mac": "Zadajte MAC adresu",
|
||||
"form_enter_id": "Zadajte identifikátor",
|
||||
"form_add_id": "Pridajte identifikátor",
|
||||
"form_client_name": "Zadajte meno klienta",
|
||||
"name": "Meno",
|
||||
"client_global_settings": "Použiť globálne nastavenia",
|
||||
"client_deleted": "\"{{key}}\" klienta bol úspešne vymazaný",
|
||||
"client_added": "\"{{key}}\" klienta bol úspešne pridaný",
|
||||
"client_updated": "\"{{key}}\" klienta bol úspešne aktualizovaný",
|
||||
"clients_not_found": "Nebol nájdený žiaden klient",
|
||||
"client_confirm_delete": "Naozaj chcete vymazať \"{{key}}\" klienta?",
|
||||
"filter_confirm_delete": "Naozaj chcete vymazať tento filter?",
|
||||
"list_confirm_delete": "Naozaj chcete vymazať tento zoznam?",
|
||||
"auto_clients_title": "Klienti (runtime)",
|
||||
"auto_clients_desc": "Údaje o klientoch, ktorí používajú AdGuard Home, ale nie sú uložení v konfigurácii",
|
||||
"access_title": "Nastavenia prístupu",
|
||||
@@ -297,8 +390,8 @@
|
||||
"access_allowed_desc": "Zoznam CIDR alebo IP adries. Ak je nakonfigurovaný, AdGuard Home akceptuje len dopyty z týchto IP adries",
|
||||
"access_disallowed_title": "Nepovolení klienti",
|
||||
"access_disallowed_desc": "Zoznam CIDR alebo IP adries. Ak je nakonfigurovaný, AdGuard Home bude ignorovať dopyty z týchto IP adries",
|
||||
"access_blocked_title": "Blokované domény",
|
||||
"access_blocked_desc": "Nezamieňajte si to s filtrami. Domovská stránka služby AdGuard bude ignorovať dopyt DNS na tieto domény v rámci spracovania dopytu.",
|
||||
"access_blocked_title": "Nepovolené domény",
|
||||
"access_blocked_desc": "Nezamieňajte si to s filtrami. Domovská stránka AdGuard zruší DNS dopyty obsahujúce tieto domény. Tu môžete zadať presné názvy domén, zástupné znaky a pravidlá URL adries, napr. 'example.org', '*.example.org' alebo '|| example.org ^'.",
|
||||
"access_settings_saved": "Nastavenia prístupu úspešne uložené",
|
||||
"updates_checked": "Aktualizácie úspešne skontrolované",
|
||||
"updates_version_equal": "AdGuard Home je aktuálny",
|
||||
@@ -307,7 +400,7 @@
|
||||
"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_3": "<0>Upozorňujeme, že šifrované protokoly DNS sú podporované iba v systéme Android 9. Preto je potrebné nainštalovať ďalší softvér pre iné operačné systémy.</0><0>Tu je zoznam softvéru, ktorý môžete používať.</0>",
|
||||
"setup_dns_privacy_android_1": "Android 9 podporuje DNS-over-TLS natívne. Ak ho chcete konfigurovať, prejdite na Nastavenia → Sieť a internet → Pokročilé → Súkromné DNS a zadajte tam názov Vašej domény.",
|
||||
"setup_dns_privacy_android_1": "Android 9 podporuje DNS-over-TLS natívne. Ak ho chcete konfigurovať, prejdite na Nastavenia → Sieť a internet → Pokročilé → Súkromné DNS a zadajte tam meno Vašej domény.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard pre Android</0> podporuje <1>DNS-over-HTTPS</1> a <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "<0>Intra</0> pridáva <1>DNS-over-HTTPS</1> podporu pre Android.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> podporuje funkciu <1>DNS-over-HTTPS</1>, ale aby ste ju mohli nakonfigurovať na používanie vlastného servera, musíte kvôli tomu vygenerovať značku <2>DNS Stamp</2>.",
|
||||
@@ -318,5 +411,156 @@
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> podporuje <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> podporuje <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_5": "Viac implementácií nájdete <0>tu</0> a <1>tu</1>.",
|
||||
"setup_dns_notice": "Pre použitie <1>DNS-over-HTTPS</1> alebo <1>DNS-over-TLS</1>, potrebujete v nastaveniach AdGuard Home <0>nakonfigurovať šifrovanie</0>."
|
||||
"setup_dns_notice": "Pre použitie <1>DNS-over-HTTPS</1> alebo <1>DNS-over-TLS</1>, potrebujete v nastaveniach AdGuard Home <0>nakonfigurovať šifrovanie</0>.",
|
||||
"rewrite_added": "DNS prepísanie pre \"{{key}}\" bolo úspešne pridané",
|
||||
"rewrite_deleted": "DNS prepísanie pre \"{{key}}\" bolo úspešne vymazané",
|
||||
"rewrite_add": "Pridať DNS prepísanie",
|
||||
"rewrite_not_found": "Neboli nájdené žiadne DNS prepísania",
|
||||
"rewrite_confirm_delete": "Naozaj chcete odstrániť prepísanie DNS pre \"{{key}}\"?",
|
||||
"rewrite_desc": "Umožňuje ľahko nakonfigurovať vlastnú odpoveď DNS pre konkrétne meno domény.",
|
||||
"rewrite_applied": "Použilo sa pravidlo prepisovania",
|
||||
"rewrite_hosts_applied": "Prepísané pravidlom súboru hostiteľov",
|
||||
"dns_rewrites": "DNS prepisovanie",
|
||||
"form_domain": "Zadajte meno domény alebo zástupný znak",
|
||||
"form_answer": "Zadajte IP adresu alebo meno domény",
|
||||
"form_error_domain_format": "Neplatný formát domény",
|
||||
"form_error_answer_format": "Neplatný formát odpovede",
|
||||
"configure": "Konfigurovať",
|
||||
"main_settings": "Hlavné nastavenia",
|
||||
"block_services": "Blokovať vybrané služby",
|
||||
"blocked_services": "Blokované služby",
|
||||
"blocked_services_desc": "Umožňuje rýchlo blokovať populárne stránky a služby.",
|
||||
"blocked_services_saved": "Blokované služby boli úspešne uložené",
|
||||
"blocked_services_global": "Použite globálne blokované služby",
|
||||
"blocked_service": "Blokované služby",
|
||||
"block_all": "Blokovať všetko",
|
||||
"unblock_all": "Odblokovať všetko",
|
||||
"encryption_certificate_path": "Cesta k certifikátu",
|
||||
"encryption_private_key_path": "Cesta k súkromného kľúču",
|
||||
"encryption_certificates_source_path": "Nastavte cestu k súboru s certifikátom",
|
||||
"encryption_certificates_source_content": "Vložte obsah certifikátu",
|
||||
"encryption_key_source_path": "Nastaviť súbor s privátnym kľúčom",
|
||||
"encryption_key_source_content": "Vložte obsah privátneho kľúča",
|
||||
"stats_params": "Konfigurácia štatistiky",
|
||||
"config_successfully_saved": "Konfigurácia bola úspešne uložená",
|
||||
"interval_24_hour": "24 hodín",
|
||||
"interval_days": "{{count}} deň",
|
||||
"interval_days_plural": "{{count}} dní",
|
||||
"domain": "Doména",
|
||||
"answer": "Odpoveď",
|
||||
"filter_added_successfully": "Filter bol úspešne pridaný",
|
||||
"filter_removed_successfully": "Zoznam bol úspešne odstránený",
|
||||
"filter_updated": "Filter bol úspešne aktualizovaný",
|
||||
"statistics_configuration": "Konfigurácia štatistiky",
|
||||
"statistics_retention": "Štatistika za obdobie",
|
||||
"statistics_retention_desc": "Ak znížite hodnotu intervalu, niektoré údaje sa stratia",
|
||||
"statistics_clear": " Vynulovať štatistiku",
|
||||
"statistics_clear_confirm": "Naozaj chcete vynulovať štatistiku?",
|
||||
"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á",
|
||||
"interval_hours": "{{count}} hodina",
|
||||
"interval_hours_plural": "{{count}} hodín",
|
||||
"filters_configuration": "Konfigurácia filtrov",
|
||||
"filters_enable": "Zapnúť filtre",
|
||||
"filters_interval": "Interval aktualizácie filtrov",
|
||||
"disabled": "Vypnuté",
|
||||
"username_label": "Meno používateľa",
|
||||
"username_placeholder": "Zadajte meno používateľa",
|
||||
"password_label": "Heslo",
|
||||
"password_placeholder": "Zadajte heslo",
|
||||
"sign_in": "Prihlásiť sa",
|
||||
"sign_out": "Odhlásiť sa",
|
||||
"forgot_password": "Zabudnuté heslo?",
|
||||
"forgot_password_desc": "Postupujte podľa <0>týchto krokov</0> a vytvorte nové heslo pre svoj používateľský účet.",
|
||||
"location": "Poloha",
|
||||
"orgname": "Meno organizácie",
|
||||
"netname": "Meno siete",
|
||||
"network": "Sieť",
|
||||
"descr": "Popis",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Dozvedieť sa viac</0> o tvorbe vlastných zoznamov hostiteľov.",
|
||||
"blocked_by_response": "Blokované pomocou CNAME alebo IP v odpovedi",
|
||||
"blocked_by_cname_or_ip": "Zablokované na základe CNAME alebo IP",
|
||||
"try_again": "Skúste znova",
|
||||
"domain_desc": "Zadajte meno domény alebo zástupný znak, ktorý chcete prepísať.",
|
||||
"example_rewrite_domain": "prepísať odpovede iba pre toto meno domény.",
|
||||
"example_rewrite_wildcard": "prepísať odpovede pre všetky subdomény <0>example.org</0>.",
|
||||
"rewrite_ip_address": "IP adresa: použite túto IP v odpovedi A alebo AAAA",
|
||||
"rewrite_domain_name": "Meno domény: pridajte záznam CNAME",
|
||||
"rewrite_A": "<0>A</0>: špeciálna hodnota, uchovávajte záznamy <0>A</0> z upstream",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: špeciálna hodnota, uchovávajte záznamy <0>AAAA</0> z upstream",
|
||||
"disable_ipv6": "Vypnúť IPv6",
|
||||
"disable_ipv6_desc": "Ak je táto funkcia zapnutá, všetky dotazy DNS na adresy IPv6 (typ AAAA) budú zrušené.",
|
||||
"fastest_addr": "Najrýchlejšia IP adresa",
|
||||
"fastest_addr_desc": "Dopytovať všetky servery DNS a vrátiť najrýchlejšiu IP adresu zo všetkých odpovedí. Toto spomalí dotazy DNS, pretože musíme čakať na odpovede zo všetkých serverov DNS, ale zlepší sa celkové pripojenie.",
|
||||
"autofix_warning_text": "Ak kliknete na „Opraviť“, AdGuardHome nakonfiguruje Váš systém tak, aby používal DNS server AdGuardHome.",
|
||||
"autofix_warning_list": "Bude vykonávať tieto úlohy: <0>Deaktivovať systém DNSStubListener</0> <0>Nastaviť adresu servera DNS na 127.0.0.1</0> <0>Nahradiť cieľový symbolický odkaz /etc/resolv.conf na /run/systemd/resolve/resolv.conf</0> <0>Zastaviť službu DNSStubListener (znova načítať službu systemd-resolved)</0>",
|
||||
"autofix_warning_result": "Výsledkom bude, že všetky DNS dopyty z Vášho systému budú štandardne spracované službou AdGuard Home.",
|
||||
"tags_title": "Tagy",
|
||||
"tags_desc": "Môžete vybrať tagy ktoré zodpovedajú klientovi. Tagy môžu byť súčasťou filtračných pravidiel a umožňujú Vám použiť ich presnejšie. <0>Viac informácií</0>",
|
||||
"form_select_tags": "Zvoľte tagy klienta",
|
||||
"check_title": "Skontrolujte filtráciu",
|
||||
"check_desc": "Skontrolujte, či je názov hostiteľa filtrovaný",
|
||||
"check": "Kontrola",
|
||||
"form_enter_host": "Zadajte meno hostiteľa",
|
||||
"filtered_custom_rules": "Filtrované podľa vlastných filtračných pravidiel",
|
||||
"choose_from_list": "Vybrať zo zoznamu",
|
||||
"add_custom_list": "Pridať vlastný zoznam",
|
||||
"host_whitelisted": "Hostiteľ je na bielej listine",
|
||||
"check_ip": "IP adresy: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Dôvod: {{reason}}",
|
||||
"check_rule": "Pravidlo: {{rule}}",
|
||||
"check_service": "Meno služby: {{service}}",
|
||||
"check_not_found": "Nenašlo sa vo Vašom zozname filtrov",
|
||||
"client_confirm_block": "Naozaj chcete zablokovať klienta \"{{ip}}\"?",
|
||||
"client_confirm_unblock": "Naozaj chcete odblokovať klienta \"{{ip}}\"?",
|
||||
"client_blocked": "Klient \"{{ip}}\" úspešne zablokovaný",
|
||||
"client_unblocked": "Klient \"{{ip}}\" úspešne odblokovaný",
|
||||
"static_ip": "Statická IP adresa",
|
||||
"static_ip_desc": "AdGuard Home je server, takže na správne fungovanie potrebuje statickú IP adresu. V opačnom prípade môže smerovač tomuto zariadeniu prideliť inú IP adresu.",
|
||||
"set_static_ip": "Nastaviť statickú IP adresu",
|
||||
"install_static_ok": "Dobré správy! Statická IP adresa je už nakonfigurovaná",
|
||||
"install_static_error": "AdGuard Home ho nemôže automaticky nakonfigurovať pre toto sieťové rozhranie. Vyhľadajte návod, ako to urobiť manuálne.",
|
||||
"install_static_configure": "Zistili sme, že sa používa dynamická IP adresa — <0>{{ip}}</0>. Chcete ju použiť ako svoju statickú adresu?",
|
||||
"confirm_static_ip": "AdGuard Home nakonfiguruje {{ip}} ako statickú IP adresu. Chcete pokračovať?",
|
||||
"list_updated": "{{count}} zoznam aktualizovaný",
|
||||
"list_updated_plural": "{{count}} zoznamov aktualizovaných",
|
||||
"dnssec_enable": "Zapnúť DNSSEC",
|
||||
"dnssec_enable_desc": "Nastavte príznak DNSSEC v nasledujúcich DNS dopytoch a skontrolujte výsledok (je potrebný prekladač so zapnutým DNSSEC)",
|
||||
"validated_with_dnssec": "Overené pomocou DNSSEC",
|
||||
"all_queries": "Všetky dopyty",
|
||||
"show_blocked_responses": "Zablokované",
|
||||
"show_whitelisted_responses": "Obsiahnuté v bielej listine",
|
||||
"show_processed_responses": "Spracované",
|
||||
"blocked_safebrowsing": "Zablokované modulom Bezpečné prehliadanie",
|
||||
"blocked_adult_websites": "Zablokovaná stránka pre dospelých",
|
||||
"blocked_threats": "Zablokované hrozby",
|
||||
"allowed": "Povolené",
|
||||
"filtered": "Filtrované",
|
||||
"rewritten": "Prepísané",
|
||||
"safe_search": "Bezpečné vyhľadávanie",
|
||||
"blocklist": "Zoznam blokovaní",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Veľkosť cache",
|
||||
"cache_size_desc": "Veľkosť DNS cache (v bajtoch)",
|
||||
"cache_ttl_min_override": "Prepísať minimálne TTL",
|
||||
"cache_ttl_max_override": "Prepísať maximálne TTL",
|
||||
"enter_cache_size": "Zadať veľkosť cache",
|
||||
"enter_cache_ttl_min_override": "Zadať minimálne TTL",
|
||||
"enter_cache_ttl_max_override": "Zadať maximálne TTL",
|
||||
"cache_ttl_min_override_desc": "Prepíše hodnotu TTL (minimálnu) prijatú z upstream servera. Táto hodnota nemôže byť väčšia ako 3600 (1 hodina)",
|
||||
"cache_ttl_max_override_desc": "Prepíše hodnotu TTL (maximálnu) prijatú z upstream servera",
|
||||
"min_exceeds_max_value": "Minimálna hodnota je väčšia ako maximálna",
|
||||
"value_not_larger_than": "Hodnota nemôže byť väčšia ako {{maximum}}",
|
||||
"filter_category_general": "Všeobecné",
|
||||
"filter_category_security": "Bezpečnosť",
|
||||
"filter_category_regional": "Regionálne",
|
||||
"filter_category_other": "Iné",
|
||||
"filter_category_general_desc": "Zoznamy, ktoré blokujú sledovanie a reklamu na väčšine zariadení",
|
||||
"filter_category_security_desc": "Zoznamy, ktoré sa špecializujú na blokovanie domén škodlivého softvéru alebo podvodov",
|
||||
"filter_category_regional_desc": "Zoznamy zamerané na regionálne reklamy a sledovacie servery",
|
||||
"filter_category_other_desc": "Iné blokovacie zoznamy",
|
||||
"original_response": "Pôvodná odozva",
|
||||
"click_to_view_queries": "Kliknite pre zobrazenie dopytov"
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "Nastavitve odjemalca",
|
||||
"example_upstream_reserved": "lahko določite nazgornji DNS <0>za določene domene</0>",
|
||||
"upstream_parallel": "Uporabite vzporedne poizvedbe za pospešitev razreševanja tako, da hkrati poizvedujete vse zagonske strežnike",
|
||||
"upstream_parallel": "Uporabite vzporedne zahteve za pospešitev reševanja s hkratnim poizvedovanjem vseh gorvodnih strežnikov",
|
||||
"parallel_requests": "Vzporedne zahteve",
|
||||
"load_balancing": "Uravnavanje obremenitve",
|
||||
"load_balancing_desc": "Poizvedujte po en strežnik. AdGuard Home bo uporabil uteženi naključni algoritem za izbiro strežnika, tako da bo najhitrejši strežnik uporabljen pogosteje.",
|
||||
"bootstrap_dns": "Zagonski DNS strežniki",
|
||||
"bootstrap_dns_desc": "Zagonski DNS strežniki se uporabljajo za razreševanje IP naslovov DoH/DoT reševalcev, ki jih določite kot navzgornje.",
|
||||
"check_dhcp_servers": "Preveri strežnike DHCP",
|
||||
@@ -19,9 +22,13 @@
|
||||
"dhcp_leases_not_found": "Ni najdenih najemov DHCP",
|
||||
"dhcp_config_saved": "Shranjena konfiguracija DHCP strežnika",
|
||||
"form_error_required": "Zahtevano polje",
|
||||
"form_error_ip_format": "Neveljaven format IPv4",
|
||||
"form_error_ip4_format": "Neveljaven format IPv4",
|
||||
"form_error_ip6_format": "Neveljaven format IPv6",
|
||||
"form_error_ip_format": "Neveljaven format IP",
|
||||
"form_error_mac_format": "Neveljaven MAC format",
|
||||
"form_error_client_id_format": "Neveljaven format ID odjemalca",
|
||||
"form_error_positive": "Mora biti večja od 0",
|
||||
"form_error_negative": "Mora biti enako ali več kot 0",
|
||||
"dhcp_form_gateway_input": "IP prehoda",
|
||||
"dhcp_form_subnet_input": "Maska podomrežja",
|
||||
"dhcp_form_range_title": "Razpon naslovov IP",
|
||||
@@ -32,6 +39,7 @@
|
||||
"dhcp_interface_select": "Izberite DHCP vmesnik",
|
||||
"dhcp_hardware_address": "Naslov strojne opreme",
|
||||
"dhcp_ip_addresses": "IP naslovi",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Ime gostitelja",
|
||||
"dhcp_table_expires": "Poteče",
|
||||
"dhcp_warning": "Če želite omogočiti DHCP strežnik, prepričajte se, da v vašem omrežju ni drugega aktivnega strežnika DHCP. V nasprotnem primeru lahko ta prekine internet za povezane naprave!",
|
||||
@@ -43,17 +51,28 @@
|
||||
"dhcp_new_static_lease": "Nov statični najem",
|
||||
"dhcp_static_leases_not_found": "Ni najdenih statičnih najemov DHCP",
|
||||
"dhcp_add_static_lease": "Dodaj statičen najem",
|
||||
"dhcp_reset": "Ali ste prepričani, da želite ponastaviti konfiguracijo DHCP?",
|
||||
"country": "Dežela",
|
||||
"city": "Mesto",
|
||||
"delete_confirm": "Ali ste prepričani, da želite izbrisati \"{{key}}\"?",
|
||||
"form_enter_hostname": "Vnesite ime gostitelja",
|
||||
"error_details": "Podrobnosti o napaki",
|
||||
"response_details": "Podrobnosti o odzivu",
|
||||
"request_details": "Podrobnosti o zahtevi",
|
||||
"client_details": "Podatki o odjemalcu",
|
||||
"details": "Podrobnosti",
|
||||
"back": "Nazaj",
|
||||
"dashboard": "Nadzorna plošča",
|
||||
"settings": "Nastavitve",
|
||||
"filters": "Filtri",
|
||||
"filter": "Filtriraj",
|
||||
"query_log": "Dnevnik poizvedb",
|
||||
"compact": "Stisni",
|
||||
"nothing_found": "Nič ni bilo najdeno",
|
||||
"faq": "Pogosta vprašanja in odgovori (FAQ)",
|
||||
"version": "različica",
|
||||
"address": "naslov",
|
||||
"address": "Naslov",
|
||||
"protocol": "Protokol",
|
||||
"on": "VKL",
|
||||
"off": "IZK",
|
||||
"copyright": "Avtorske pravice",
|
||||
@@ -66,7 +85,7 @@
|
||||
"disabled_protection": "Zaščita je onemogočena",
|
||||
"refresh_statics": "Osveži statistiko",
|
||||
"dns_query": "Poizvedbe DNS",
|
||||
"blocked_by": "Onemogočeno s filtri",
|
||||
"blocked_by": "<0>Onemogočeno s filtri</0>",
|
||||
"stats_malware_phishing": "Onemogočeno zlonamernih programov/lažnih predstavljanj",
|
||||
"stats_adult": "Onemogočeno spletnih strani za odrasle",
|
||||
"stats_query_domain": "Najbolj poizvedovane domene",
|
||||
@@ -96,15 +115,21 @@
|
||||
"use_adguard_parental": "Uporabi AdGuardovo spletno storitev 'Starševski nadzor'",
|
||||
"use_adguard_parental_hint": "AdGuard Home bo preveril, če domena vsebuje vsebine za odrasle. Uporablja enako, za zasebnost prijazen API, kot spletno storitev za varnost brskanja.",
|
||||
"enforce_safe_search": "Vsili varno iskanje",
|
||||
"enforce_save_search_hint": "AdGuard Home lahko uveljavi varno iskanje v naslednjih iskalnikih: Google, Youtube, Bing, DuckDuckGo in Yandex.",
|
||||
"enforce_save_search_hint": "AdGuard Home lahko uveljavi varno iskanje v naslednjih iskalnikih: Google, Youtube, Bing, DuckDuckGo, Yandex, Pixabay.",
|
||||
"no_servers_specified": "Ni določenih strežnikov",
|
||||
"general_settings": "Splošne nastavitve",
|
||||
"dns_settings": "Nastavitve DNS",
|
||||
"dns_blocklists": "Seznam nedovoljenih DNS",
|
||||
"dns_allowlists": "Seznam dovoljenih DNS",
|
||||
"dns_blocklists_desc": "AdGuard Home bo onemogočil domene, ki ustrezajo seznamom.",
|
||||
"dns_allowlists_desc": "Domene i dovoljenih seznamov DNS bodo dovoljene, tudi če so na katerem koli od seznamov nedovoljenih.",
|
||||
"custom_filtering_rules": "Pravila filtriranja po meri",
|
||||
"encryption_settings": "Nastavitve šifriranja",
|
||||
"dhcp_settings": "Nastavitve DHCP",
|
||||
"upstream_dns": "Zagonski DNS strežniki",
|
||||
"upstream_dns_hint": "Če pustite to polje prazno, bo AdGuard Home uporabil <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> kot upstream.",
|
||||
"upstream_dns_hint": "Če pustite to polje prazno, bo AdGuard Home uporabil <a href='https://www.quad9.net/' target='_blank'>Quad9</a> kot tok navzgor.",
|
||||
"test_upstream_btn": "Preizkusi upstreame",
|
||||
"upstreams": "Tokovi navzgor",
|
||||
"apply_btn": "Uporabi",
|
||||
"disabled_filtering_toast": "Onemogočeno filtriranje",
|
||||
"enabled_filtering_toast": "Omogočeno filtriranje",
|
||||
@@ -116,22 +141,33 @@
|
||||
"enabled_save_search_toast": "Omogočeno varno iskanje",
|
||||
"enabled_table_header": "Omogočeno",
|
||||
"name_table_header": "Ime",
|
||||
"filter_url_table_header": "Filter URL",
|
||||
"list_url_table_header": "Seznam URL naslovov",
|
||||
"rules_count_table_header": "Število pravil",
|
||||
"last_time_updated_table_header": "Zadnjič posodobljeno",
|
||||
"actions_table_header": "Akcij",
|
||||
"request_table_header": "Zahteva",
|
||||
"edit_table_action": "Uredi",
|
||||
"delete_table_action": "Izbriši",
|
||||
"filters_and_hosts": "Filtri in seznami zaviranja gostiteljev",
|
||||
"elapsed": "Potekla",
|
||||
"filters_and_hosts_hint": "AdGuard Home razume osnovna pravila zaviranja oglasov in sintakso datotek gostiteljev.",
|
||||
"no_filters_added": "Ni dodanih filtrov",
|
||||
"add_filter_btn": "Dodaj filter",
|
||||
"no_blocklist_added": "Ni dodanih nobenih seznamov nedovoljenih",
|
||||
"no_whitelist_added": "Ni dodanih nobenih dovoljenih seznamov",
|
||||
"add_blocklist": "Dodaj seznam nedovoljenih",
|
||||
"add_allowlist": "Dodaj seznam dovoljenih",
|
||||
"cancel_btn": "Prekliči",
|
||||
"enter_name_hint": "Vnesite ime",
|
||||
"enter_url_hint": "Vnesite URL",
|
||||
"check_updates_btn": "Preveri posodobitve",
|
||||
"new_filter_btn": "Nova naročnina filtra",
|
||||
"enter_valid_filter_url": "Vnesite veljaven URL za naročnino filtra ali datoteko gostiteljev.",
|
||||
"enter_url_or_path_hint": "Vnesite URL ali absolutno pot seznama",
|
||||
"check_updates_btn": "Preveri obstoj posodobitev",
|
||||
"new_blocklist": "Nov seznam nedovoljenih",
|
||||
"new_allowlist": "Nov seznam dovoljenih",
|
||||
"edit_blocklist": "Uredi seznam nedovoljenih",
|
||||
"edit_allowlist": "Uredi seznam dovoljenih",
|
||||
"choose_blocklist": "Izberite sezname za zaviranje",
|
||||
"choose_allowlist": "Izberite sezname dovoljenih",
|
||||
"enter_valid_blocklist": "Vnesite veljaven URL naslov seznama nedovoljenih.",
|
||||
"enter_valid_allowlist": "Vnesite veljaven URL naslov seznama dovoljenih.",
|
||||
"form_error_url_format": "Neveljaven format URL naslova",
|
||||
"form_error_url_or_path_format": "Neveljaven URL ali absolutna pot seznama",
|
||||
"custom_filter_rules": "Pravila filtriranja po meri",
|
||||
"custom_filter_rules_hint": "V vrstico vnesite eno pravilo. Uporabite lahko pravila zaviranja oglasov ali sintakso gostiteljskih datotek.",
|
||||
"examples_title": "Primeri",
|
||||
@@ -141,22 +177,25 @@
|
||||
"example_comment": "! Tukaj je komentar",
|
||||
"example_comment_meaning": "samo komentar",
|
||||
"example_comment_hash": "# Tudi komentar",
|
||||
"example_regex_meaning": "onemogoči dostop do domen, ki se ujemajo z <0>določenim regularnemim izrazom</0>",
|
||||
"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_dot": "šifriran <0>DNS-prek-TLS</0>",
|
||||
"example_upstream_doh": "šifriran <0>DNS-prek-HTTPS</0>",
|
||||
"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)",
|
||||
"all_filters_up_to_date_toast": "Vsi filtri so že posodobljeni",
|
||||
"all_lists_up_to_date_toast": "Vsi seznami so že posodobljeni",
|
||||
"updated_upstream_dns_toast": "Posodobljeni Zagonske strežnike DNS",
|
||||
"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",
|
||||
"unblock_btn": "Omogoči",
|
||||
"block_btn": "Onemogoči",
|
||||
"unblock": "Omogoči",
|
||||
"block": "Onemogoči",
|
||||
"time_table_header": "Čas",
|
||||
"date": "Datum",
|
||||
"domain_name_table_header": "Ime domene",
|
||||
"domain_or_client": "Domena ali odjemalec",
|
||||
"type_table_header": "Vrsta",
|
||||
"response_table_header": "Odgovor",
|
||||
"response_code": "Koda odziva",
|
||||
"client_table_header": "Odjemalec",
|
||||
"empty_response_status": "Prazno",
|
||||
"show_all_filter_type": "Prikaži vse",
|
||||
@@ -167,7 +206,6 @@
|
||||
"next_btn": "Naslednja",
|
||||
"loading_table_status": "Nalaganje...",
|
||||
"page_table_footer_text": "Stran",
|
||||
"of_table_footer_text": "od",
|
||||
"rows_table_footer_text": "vrstic",
|
||||
"updated_custom_filtering_toast": "Posodobljena pravila filtriranja po meri",
|
||||
"rule_removed_from_custom_filtering_toast": "Pravilo je odstranjeno iz pravil filtriranja po meri",
|
||||
@@ -176,6 +214,7 @@
|
||||
"query_log_filtered": "Filtriran z {{filter}}",
|
||||
"query_log_confirm_clear": "Ali ste prepričani, da želite počistiti celoten dnevnik poizvedb?",
|
||||
"query_log_cleared": "Dnevnik poizvedb je uspešno izbrisan",
|
||||
"query_log_updated": "Dnevnik poizvedb je bil uspešno posodobljen",
|
||||
"query_log_clear": "Počisti dnevnike poizvedb",
|
||||
"query_log_retention": "Zadrževanje dnevnikov poizvedb",
|
||||
"query_log_enable": "Omogoči dnevni",
|
||||
@@ -183,12 +222,41 @@
|
||||
"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_retention_confirm": "Ali ste prepričani, da želite spremeniti zadrževanje dnevnika poizvedb? Če zmanjšate vrednost intervala, bodo nekateri podatki izgubljeni",
|
||||
"anonymize_client_ip": "Anonimiziraj odjemalca IP",
|
||||
"anonymize_client_ip_desc": "Ne shrani celotnega naslova IP odjemalca v dnevnikih in statistiki",
|
||||
"dns_config": "Konfiguracija strežnika DNS",
|
||||
"dns_cache_config": "Konfiguracija strežnika DNS",
|
||||
"dns_cache_config_desc": "Tu lahko konfigurirate predpomnilnik DNS",
|
||||
"blocking_mode": "Način zaviranja",
|
||||
"default": "Privzeto",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Prazen IP",
|
||||
"custom_ip": "IP po meri",
|
||||
"blocking_ipv4": "Onemogočanje IPv4",
|
||||
"blocking_ipv6": "Onemogočanje IPv6",
|
||||
"dns_over_https": "DNS-prek-HTTPS",
|
||||
"dns_over_tls": "DNS-prek-TLS",
|
||||
"plain_dns": "Navadni DNS",
|
||||
"form_enter_rate_limit": "Vnesite omejitev hitrosti",
|
||||
"rate_limit": "Omejitev hitrosti",
|
||||
"edns_enable": "Omogoči podmrežje odjemalcev EDNS",
|
||||
"edns_cs_desc": "Če je omogočeno, bo AdGuard Home pošiljal podmrežja odjemalca na strežnike DNS.",
|
||||
"rate_limit_desc": "Število zahtev na sekundo, ki jih lahko pošlje posamezni odjemalec (0: neomejeno)",
|
||||
"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_mode_default": "Privzeto: odziv z NXDOMAIN, kadar je onemogočen s slogom pravila zaviranja oglasov; odziv z navedenim naslovom IP v pravilu, kadar je onemogočen s pravilom /etc/gostitelji",
|
||||
"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_custom_ip": "IP po meri: Odziv z ročno nastavljenim naslovom IP",
|
||||
"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",
|
||||
"source_label": "Vir",
|
||||
"found_in_known_domain_db": "Najdeno v zbirki podatkov znanih domen.",
|
||||
"category_label": "Kategorija",
|
||||
"rule_label": "Pravilo",
|
||||
"filter_label": "Filter",
|
||||
"list_label": "Seznam",
|
||||
"unknown_filter": "Neznan filter {{filterId}}",
|
||||
"known_tracker": "Znan sledilec",
|
||||
"install_welcome_title": "Dobrodošli v AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home je omrežni strežnik DNS, ki zavira oglase in sledilce v celotnem omrežju. Njegov namen je omogočanje nadzora nad celotnim omrežjem in vsemi vašimi napravami in ne zahteva uporabo odjemalskega programa.",
|
||||
"install_settings_title": "Skrbniški spletni vmesnik",
|
||||
@@ -217,6 +285,7 @@
|
||||
"install_devices_router_list_1": "Odprite nastavitve usmerjevalnika. Ponavadi lahko do nje dostopate iz brskalnika prek URL-ja (npr. http://192.168.0.1/ ali http://192.168.1.1/). Morda boste morali vnesti geslo. Če se ne spomnite gesla, lahko pogosto ponastavite geslo s pritiskom na gumb na samem usmerjevalniku. Nekateri usmerjevalniki zahtevajo posebno aplikacijo, ki bi morala biti v tem primeru že nameščena na vašem računalniku/telefonu.",
|
||||
"install_devices_router_list_2": "Poiščite nastavitve DHCP/DNS. Poiščite črke DNS poleg polja, ki dovoljuje dva ali tri naborov številk, pri čemer je vsaka razdeljena na štiri skupine z enim do tremi števili.",
|
||||
"install_devices_router_list_3": "Tam vnesite svoje naslove strežnikov AdGuard Home.",
|
||||
"install_devices_router_list_4": "Na nekaterih vrstah usmerjevalnikov ne morete nastaviti strežnika DNS po meri. V tem primeru bo morda pomagalo, če boste AdGuard Home postavili kot <0>strežnik DHCP</0>. V nasprotnem primeru poiščite priročnik, kako prilagoditi strežnike DNS za vaš določen model usmerjevalnika.",
|
||||
"install_devices_windows_list_1": "Odprite 'Nadzorno ploščo' prek menija 'Začetek' ali 'Iskanja v sistemu Windows'.",
|
||||
"install_devices_windows_list_2": "Pojdite v 'Omrežje' in 'Kategorija interneta' in nato v 'Omrežje' in 'Središče za skupno rabo'.",
|
||||
"install_devices_windows_list_3": "Na levi strani zaslona poiščite 'Spremeni nastavitve kartice' in kliknite nanjo.",
|
||||
@@ -279,6 +348,8 @@
|
||||
"update_announcement": "Zdaj je na voljo AdGuard Home {{version}}! <0>Klinite tukaj</0> za več informacij.",
|
||||
"setup_guide": "Navodila za nastavitev",
|
||||
"dns_addresses": "DNS naslovi",
|
||||
"dns_start": "Zaganja se strežnik DNS",
|
||||
"dns_status_error": "Napaka pri pridobivanju stanja strežnika DNS",
|
||||
"down": "Navzdol",
|
||||
"fix": "Popravi",
|
||||
"dns_providers": "Tukaj je <0>seznam znanih ponudnikov DNS</0>, med katerimi lahko izbirate.",
|
||||
@@ -297,17 +368,20 @@
|
||||
"client_edit": "Uredi odjemalca",
|
||||
"client_identifier": "Identifikator",
|
||||
"ip_address": "IP naslov",
|
||||
"client_identifier_desc": "Odjemalce lahko identificirate po naslovu IP ali naslovu MAC. Upoštevajte, da je uporaba MAC kot identifikatorja mogoča le, če je AdGuard Home tudi <0>DHCP strežnik</0>",
|
||||
"client_identifier_desc": "Odjemalce je mogoče identificirati po naslovu IP, CIDR, MAC naslovu. Upoštevajte, da je uporaba MAC kot identifikatorja mogoča le, če je AdGuard Home tudi <0>strežnik DHCP</0>",
|
||||
"form_enter_ip": "Vnesite IP",
|
||||
"form_enter_mac": "Vnesite MAC",
|
||||
"form_enter_id": "Vnesi identifikatorja",
|
||||
"form_add_id": "Dodaj identifikatorja",
|
||||
"form_client_name": "Vnesite ime odjemalca",
|
||||
"name": "Ime",
|
||||
"client_global_settings": "Uporabi splošne nastavitve",
|
||||
"client_deleted": "Odjemalec \"{{key}}\" je bil uspešno izbrisan",
|
||||
"client_added": "Odjemalec \"{{key}}\" je bil uspešno dodan",
|
||||
"client_updated": "Odjemalec \"{{key}}\" je bil uspešno posodobljen",
|
||||
"clients_not_found": "Odjemalcev ni bilo mogoče najti",
|
||||
"client_confirm_delete": "Ali ste prepričani, da želite izbrisati odjemalca \"{{key}}\"?",
|
||||
"filter_confirm_delete": "Ali ste prepričani, da želite izbrisati filter?",
|
||||
"list_confirm_delete": "Ali ste prepričani, da želite izbrisati ta seznam?",
|
||||
"auto_clients_title": "Odjemalci (čas izvajanja)",
|
||||
"auto_clients_desc": "Podatki o odjemalcih, ki uporabljajo AdGuard Home, vendar niso shranjeni v konfiguraciji",
|
||||
"access_title": "Nastavitve dostopa",
|
||||
@@ -316,8 +390,8 @@
|
||||
"access_allowed_desc": "Seznam naslovov CIDR ali IP. Če je konfiguriran, bo AdGuard Home sprejel zahteve samo od teh teh IP naslovov.",
|
||||
"access_disallowed_title": "Zavrnjeni odjemalci",
|
||||
"access_disallowed_desc": "Seznam naslovov CIDR ali IP. Če je konfiguriran, bo AdGuard Home spustil zahteve iz teh IP naslovov.",
|
||||
"access_blocked_title": "Zavirane domene",
|
||||
"access_blocked_desc": "Tega ne zamenjujte s filtri. AdGuard Home bo v spustil poizvedbe DNS s temi domenamiv vprašanju poizvedbe.",
|
||||
"access_blocked_title": "Nedovoljene domene",
|
||||
"access_blocked_desc": "Tega ne zamenjujte s filtri. AdGuard Home bo v spustil poizvedbe DNS s temi domenami v vprašanju poizvedbe. Tu lahko določite natančna imena domen, nadomestne znake in pravila urlfilter, npr. 'primer.org', '*.primer.org' or '||primer.org^'.",
|
||||
"access_settings_saved": "Nastavitve dostopa so uspešno shranjene",
|
||||
"updates_checked": "Posodobitve so uspešno preverjene",
|
||||
"updates_version_equal": "AdGuard Home je posodobljen",
|
||||
@@ -336,7 +410,7 @@
|
||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0> podpira vse znane varne protokole DNS.",
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> podpira <1>DNS-prek-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> podpira <1>DNS-prek-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_5": "Več izvedb boste najdli <0>tukaj</0> in <1>tukaj</1>.",
|
||||
"setup_dns_privacy_other_5": "Našli boste več izvedb <0>tukaj</0> in <1>tukaj</1>.",
|
||||
"setup_dns_notice": "Za uporabo <1>DNS-prek-HTTPS</1> ali <1>DNS-prek-TLS</1>, morate <0>konfigurirati šifriranje</0> v nastavitvah AdGuard Home.",
|
||||
"rewrite_added": "Uspešno je dodano DNS prepisovanje za \"{{key}}\"",
|
||||
"rewrite_deleted": "Uspešno je izbrisano DNS prepisovanje za \"{{key}}\"",
|
||||
@@ -345,8 +419,9 @@
|
||||
"rewrite_confirm_delete": "Ali ste prepričani, da želite izbrisati prepisovanje DNS za \"{{key}}\"?",
|
||||
"rewrite_desc": "Omogoča enostavno konfiguriranje odgovora DNS po meri za določeno ime domene.",
|
||||
"rewrite_applied": "Uporabljeno Pravilo za prepisovanje",
|
||||
"rewrite_hosts_applied": "Prepisano s pravilom gostiteljske datoteke",
|
||||
"dns_rewrites": "Prepisovanja NDS",
|
||||
"form_domain": "Vnesi domeno",
|
||||
"form_domain": "Vnesite domeno ali nadomestni znak",
|
||||
"form_answer": "Vnesite IP naslov ali ime domene",
|
||||
"form_error_domain_format": "Neveljavna oblika domene",
|
||||
"form_error_answer_format": "Neveljavna oblika odgovora",
|
||||
@@ -362,28 +437,30 @@
|
||||
"unblock_all": "Omogoči vse",
|
||||
"encryption_certificate_path": "Pot digitalnega potrdila",
|
||||
"encryption_private_key_path": "Pot zasebnega ključa",
|
||||
"encryption_certificates_source_path": "Nastavi pot datoteke digitalnega potrdila",
|
||||
"encryption_certificates_source_content": "Prilepi vsebino digitalnega potrdila",
|
||||
"encryption_certificates_source_path": "Nastavi pot datoteke digitalnih potrdil",
|
||||
"encryption_certificates_source_content": "Prilepi vsebino digitalnih potrdil",
|
||||
"encryption_key_source_path": "Nastavi datoteko zasebnega ključa",
|
||||
"encryption_key_source_content": "Prilepi vsebino zasebnega ključa",
|
||||
"stats_params": "Konfiguracija statistike",
|
||||
"config_successfully_saved": "Konfiguracija je uspešno shranjena",
|
||||
"stats_params": "Nastavitve statistike",
|
||||
"config_successfully_saved": "Nastavitve so uspešno shranjene",
|
||||
"interval_24_hour": "24 ur",
|
||||
"interval_days": "{{count}} dan",
|
||||
"interval_days_plural": "{{count}} dni",
|
||||
"domain": "Domena",
|
||||
"answer": "Odgovor",
|
||||
"filter_added_successfully": "Filter je bil uspešno dodan",
|
||||
"statistics_configuration": "Konfiguracija statistike",
|
||||
"filter_added_successfully": "Seznam je bil uspešno dodan",
|
||||
"filter_removed_successfully": "Seznam je bil uspešno odstranjen",
|
||||
"filter_updated": "Filter je bil uspešno posodobljen",
|
||||
"statistics_configuration": "Nastavitve statistike",
|
||||
"statistics_retention": "Statistika zadrževanja",
|
||||
"statistics_retention_desc": "Če zmanjšate vrednost intervala, bodo nekateri podatki izgubljeni",
|
||||
"statistics_clear": " Počisti statistiko",
|
||||
"statistics_clear_confirm": "Ali ste prepričani, da želite počistiti statistiko?",
|
||||
"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",
|
||||
"interval_hours": "{{count}} uro",
|
||||
"interval_hours": "{{count}} ur",
|
||||
"interval_hours_plural": "{{count}} ur",
|
||||
"filters_configuration": "Konfiguracija filtrov",
|
||||
"filters_configuration": "Nastavitve filtrov",
|
||||
"filters_enable": "Omogoči filtre",
|
||||
"filters_interval": "Interval posodabljanja filtrov",
|
||||
"disabled": "Onemogočeno",
|
||||
@@ -391,14 +468,100 @@
|
||||
"username_placeholder": "Vnesite uporabniško ime",
|
||||
"password_label": "Geslo",
|
||||
"password_placeholder": "Vnesite geslo",
|
||||
"sign_in": "Prijava",
|
||||
"sign_out": "Odjava",
|
||||
"sign_in": "Vpis",
|
||||
"sign_out": "Izpis",
|
||||
"forgot_password": "Izgubljeno geslo?",
|
||||
"forgot_password_desc": "Prosimo, sledite <0>tem korakom</0>, da ustvarite novogeslo za uporabniški računa.",
|
||||
"location": "Lokacija",
|
||||
"orgname": "Ime organizacije",
|
||||
"netname": "Ime omrežja",
|
||||
"network": "Omrežje",
|
||||
"descr": "Opis",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Več o tem</0>, o ustvarjanju lastnih Seznamov nedovoljenih gostiteljev."
|
||||
"filtering_rules_learn_more": "<0>Več o</0> ustvarjanju lastnih seznamov gostiteljev.",
|
||||
"blocked_by_response": "Onemogočeno s CNAME ali IP v odgovoru",
|
||||
"blocked_by_cname_or_ip": "Onemogočeno s CNAME ali IP naslovom",
|
||||
"try_again": "Poskusi ponovno",
|
||||
"domain_desc": "Vnesite ime domene ali nadomestni znak, ki ga želite prepisati.",
|
||||
"example_rewrite_domain": "prepiše odgovore samo za to ime domene.",
|
||||
"example_rewrite_wildcard": "prepiše odgovore za vse poddomene <0>example.org</0>.",
|
||||
"rewrite_ip_address": "IP naslov: uporabi ta IP v odzivu A ali AAAA",
|
||||
"rewrite_domain_name": "Ime domene: dodaj CNAME zapis",
|
||||
"rewrite_A": ">A</0>: posebna vrednost, obdrži <0>A</0> zapise iz gorvodnega toka",
|
||||
"rewrite_AAAA": ">A</0>: posebna vrednost, obdrži <0>AAAA</0> zapise iz gorvodnega toka",
|
||||
"disable_ipv6": "Onemogoči IPv6",
|
||||
"disable_ipv6_desc": "Če je ta funkcija omogočena, bodo vse poizvedbe DNS za naslove IPv6 (vrste AAAA) izpadle.",
|
||||
"fastest_addr": "Najhitrejši IP naslov",
|
||||
"fastest_addr_desc": "Poizve vse strežnike DNS in vrne najhitrejši IP naslov med vsemi odgovori. To bo upočasnilo poizvedbe DNS, saj moramo čakati na odgovore vseh DNS strežnikov, vendar bo izboljšalo splošno povezljivost.",
|
||||
"autofix_warning_text": "Če kliknete 'Popravi', bo AdGuardHome konfiguriral vaš sistem za uporabo strežnika AdGuardHome DNS.",
|
||||
"autofix_warning_list": "To bo izvedlo naslednja opravila: <0>Deaktiviraj sistemski DNSStubListener</0> <0>Nastavi naslov strežnika DNS na 127.0.0.1</0> <0>Zamenjaj cilj simbolične povezave /etc/resolv.conf with /run/systemd/resolve/resolv.conf</0> <0>Zaustavi DNSStubListener (znova naloži storitev systemd-resolved)",
|
||||
"autofix_warning_result": "Kot rezultat, bo vse zahteve DNS iz vašega sistema privzeto obdelal AdGuard Home.",
|
||||
"tags_title": "Oznake",
|
||||
"tags_desc": "Izberete lahko oznake, ki ustrezajo odjemalcu. Oznake lahko vključite v pravila filtriranja in vam omogočajo, da jih natančneje uporabite. <0>Več o tem</0>",
|
||||
"form_select_tags": "Izberite odjemalske oznake",
|
||||
"check_title": "Preveri filtriranje",
|
||||
"check_desc": "Preverite, ali je ime gostitelja filtrirano",
|
||||
"check": "Preveri",
|
||||
"form_enter_host": "Vnesite ime gostitelja",
|
||||
"filtered_custom_rules": "Filtrirano s pravili filtriranja po meri",
|
||||
"choose_from_list": "Izberi s seznama",
|
||||
"add_custom_list": "Dodaj seznam po meri",
|
||||
"host_whitelisted": "Gostitelj je na seznamu dovoljenih",
|
||||
"check_ip": "IP naslovi: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Razlog: {{reason}}",
|
||||
"check_rule": "Pravilo: {{rule}}",
|
||||
"check_service": "Ime storitve: {{service}}",
|
||||
"check_not_found": "Ni najdeno na vašem seznamu filtrov",
|
||||
"client_confirm_block": "Ali ste prepričani, da želite onemogočiti odjemalca \"{{ip}}\"?",
|
||||
"client_confirm_unblock": "Ali ste prepričani, da želite omogočiti odjemalca \"{{ip}}\"?",
|
||||
"client_blocked": "Odjemalec \"{{ip}}\" je uspešno onemogočen",
|
||||
"client_unblocked": "Odjemalec \"{{ip}}\" je uspešno omogočen",
|
||||
"static_ip": "Statičen IP naslov",
|
||||
"static_ip_desc": "AdGuard Home je strežnik, zato za pravilno delovanje potrebuje statičen IP naslov. V nasprotnem primeru lahko vaš usmerjevalnik tej napravi v nekem trenutku dodeli drug IP naslov.",
|
||||
"set_static_ip": "Nastavi statičen IP naslov",
|
||||
"install_static_ok": "Dobra novica! Statičen IP naslov je že konfiguriran",
|
||||
"install_static_error": "AdGuard Home tega omrežnega vmesnika ne more samodejno konfigurirati. Poiščite navodila, kako to storiti ročno.",
|
||||
"install_static_configure": "Zaznali smo, da je uporabljen dinamičen IP naslov — <0>{{ip}}</0>. Ali ga želite uporabiti kot svoj statičen naslov?",
|
||||
"confirm_static_ip": "AdGuard Home bo konfiguriral {{ip}}, da bo postal vas statičen IP naslov. Ali želite nadaljevati?",
|
||||
"list_updated": "{{count}} posodobljen seznam",
|
||||
"list_updated_plural": "{{count}} posodobljenih seznamov",
|
||||
"dnssec_enable": "Omogoči DNSSEC",
|
||||
"dnssec_enable_desc": "V odhodnih poizvedbah DNS nastavite zastavico DNSSEC in preverite rezultat (zahtevan je omogočen reševalnik DNSSEC)",
|
||||
"validated_with_dnssec": "Potrjen z DNSSEC",
|
||||
"all_queries": "Vse poizvedbe",
|
||||
"show_blocked_responses": "Onemogočen",
|
||||
"show_whitelisted_responses": "Na seznamu dovoljenih",
|
||||
"show_processed_responses": "Obdelana",
|
||||
"blocked_safebrowsing": "Onemogočeno z 'Varnim brskanjem'",
|
||||
"blocked_adult_websites": "Onemogočeno spletnih strani za odrasle",
|
||||
"blocked_threats": "Onemogočeno groženj",
|
||||
"allowed": "Dovoljeno",
|
||||
"filtered": "Filtrirano",
|
||||
"rewritten": "Znova napisano",
|
||||
"safe_search": "Varno iskanje",
|
||||
"blocklist": "Seznam nedovoljenih",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Velikost predpomnilnika",
|
||||
"cache_size_desc": "Velikost predpomnilnika DNS (v bajtih)",
|
||||
"cache_ttl_min_override": "Preglasi najmanjši TTL",
|
||||
"cache_ttl_max_override": "Preglasi največji TTL",
|
||||
"enter_cache_size": "Vnesite velikost predpomnilnika",
|
||||
"enter_cache_ttl_min_override": "Vnesite najmanjši TTL",
|
||||
"enter_cache_ttl_max_override": "Vnesite največji TTL",
|
||||
"cache_ttl_min_override_desc": "Vrednost preglasovanja TTL (najmanjša), prejeta od zgornjega strežnika. Ta vrednost ne sme presegati 3600 (1 ura)",
|
||||
"cache_ttl_max_override_desc": "Vrednost preglasovanja TTL (največja), prejeta od zgornjega strežnika",
|
||||
"min_exceeds_max_value": "Najmanjša vrednost presega največjo vrednost",
|
||||
"value_not_larger_than": "Vrednost ne sme biti večja od {{maximum}}",
|
||||
"filter_category_general": "Splošno",
|
||||
"filter_category_security": "Varnost",
|
||||
"filter_category_regional": "Področno",
|
||||
"filter_category_other": "Drugo",
|
||||
"filter_category_general_desc": "Seznami, ki zavirajo sledenje in oglaševanje na večini naprav",
|
||||
"filter_category_security_desc": "Seznami, ki so specializirani za onemogočanje domen zlonamernih programov, lažnega predstavljanja ali prevar",
|
||||
"filter_category_regional_desc": "Seznami, ki so osredotočeni na področne oglase in strežnike za sledenje",
|
||||
"filter_category_other_desc": "Drugi seznami za zaviranje",
|
||||
"original_response": "Izviren odgovor",
|
||||
"click_to_view_queries": "Kliknite za prikaz poizvedb",
|
||||
"port_53_faq_link": "Vrata 53 pogosto zasedajo storitve 'DNSStubListener' ali 'Sistemsko razrešene storitve'. Preberite <0>to navodilo</0> o tem, kako to rešiti."
|
||||
}
|
||||
566
client/src/__locales/sr-cs.json
Normal file
566
client/src/__locales/sr-cs.json
Normal file
@@ -0,0 +1,566 @@
|
||||
{
|
||||
"client_settings": "Postavke klijenta",
|
||||
"example_upstream_reserved": "možete odrediti DNS upstream <0>za određene domene</0>",
|
||||
"upstream_parallel": "Koristite paralelne zahteve da ubrzate rešavanje istovremenim zahtevanjem svih servera",
|
||||
"parallel_requests": "Paralelni zahtevi",
|
||||
"load_balancing": "Load-balancing",
|
||||
"load_balancing_desc": "Koristi jedan server. AdGuard Home će koristiti najnoviji nasumični algoritam da izabere server tako da će najbrži server biti češće korišćen.",
|
||||
"bootstrap_dns": "Bootstrap DNS serveri",
|
||||
"bootstrap_dns_desc": "Bootstrap DNS serveri se koriste da reše IP adrese od DoH/DoT razrešivača koje ste odredili kao upstream.",
|
||||
"check_dhcp_servers": "Proveri DHCP servere",
|
||||
"save_config": "Sačuvaj konfiguraciju",
|
||||
"enabled_dhcp": "DHCP server uključen",
|
||||
"disabled_dhcp": "DHCP server isključen",
|
||||
"dhcp_title": "DHCP server (eksperimentalno!)",
|
||||
"dhcp_description": "Ako vaš ruter nema DHCP postavke, možete koristiti AdGuard' ugrađen DHCP server.",
|
||||
"dhcp_enable": "Uključi DHCP server",
|
||||
"dhcp_disable": "Isključi DHCP server",
|
||||
"dhcp_not_found": "Bezbedno je da uključite ugrađeni DHCP server. Nismo pronašli nijedan aktivan DHCP server na mreži. međutim, ohrabrujemo vas da to ponovo proverite ručno, jer naš automatski test trenutno nije 100% pouzdan.",
|
||||
"dhcp_found": "Pronađen je aktivan DHCP server na mreži. Nije bezbedno da uključite ugrađeni DHCP server.",
|
||||
"dhcp_leases": "DHCP pozajmljivanja",
|
||||
"dhcp_static_leases": "DHCP statička pozajmljivanja",
|
||||
"dhcp_leases_not_found": "DHCP pozajmljivanja nisu pronađena",
|
||||
"dhcp_config_saved": "Sačuvaj DHCP konfiguraciju servera",
|
||||
"form_error_required": "Obavezno polje",
|
||||
"form_error_ip4_format": "Nevažeći IPv4 format",
|
||||
"form_error_ip6_format": "Nevažeći IPv6 format",
|
||||
"form_error_ip_format": "Nevažeći IPv4 oblik",
|
||||
"form_error_mac_format": "Nevažeći MAC format",
|
||||
"form_error_client_id_format": "Nevažeći format klijenta",
|
||||
"form_error_positive": "Mora biti veće od 0",
|
||||
"form_error_negative": "Mora biti 0 ili veće",
|
||||
"dhcp_form_gateway_input": "IP mrežnog prolaza",
|
||||
"dhcp_form_subnet_input": "Subnet mask",
|
||||
"dhcp_form_range_title": "Opseg IP adresa",
|
||||
"dhcp_form_range_start": "Početak opsega",
|
||||
"dhcp_form_range_end": "Kraj opsega",
|
||||
"dhcp_form_lease_title": "DHCP vreme pozajmljivanja (u sekundama)",
|
||||
"dhcp_form_lease_input": "Trajanje iznajmljivanja",
|
||||
"dhcp_interface_select": "Izaberite DHCP okruženje",
|
||||
"dhcp_hardware_address": "Adresa hardvera",
|
||||
"dhcp_ip_addresses": "IP adrese",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Ime hosta",
|
||||
"dhcp_table_expires": "Ističe",
|
||||
"dhcp_warning": "Ako svakako želite da uključite DHCP server, uverite se da nema drugih aktivnih DHCP servera u vašoj mreži. U suprotnom, to može pokvariti Internet za povezane uređaje!",
|
||||
"dhcp_error": "Ne možemo da odredimo da li ima drugih DHCP servera na mreži.",
|
||||
"dhcp_static_ip_error": "Kako biste koristili DHCP server, morate podesiti statičku IP adresu. Nismo mogli da odredimo da li je ovo mrežno okruženje podešeno za korišćenje statičke IP adrese. Molimo vas da podesite statičku IP adresu ručno.",
|
||||
"dhcp_dynamic_ip_found": "Vaš sistem koristi dinamičku IP adresu za okruženje <0>{{interfaceName}}</0>. Kako biste koristili DHCP server, morate podesiti statičku IP adresu. Vaša trenutna IP adresa je <0>{{ipAddress}}</0>. Automatski ćemo podesiti ovu IP adresu kao statičku ako pritisnete Uključi DHCP dugme.",
|
||||
"dhcp_lease_added": "Statičko iznajmljivanje \"{{key}}\" uspešno dodato",
|
||||
"dhcp_lease_deleted": "Statičko iznajmljivanje lease \"{{key}}\" uspešno izbrisano",
|
||||
"dhcp_new_static_lease": "Novo statičko iznajmljivanje",
|
||||
"dhcp_static_leases_not_found": "Nisu pronađena statička DHCP iznajmljivanja",
|
||||
"dhcp_add_static_lease": "Dodaj statičko iznajmljivanje",
|
||||
"dhcp_reset": "Jeste li sigurni da želite da resetujete DHCP konfiguraciju?",
|
||||
"country": "Zemlja",
|
||||
"city": "Grad",
|
||||
"delete_confirm": "Jeste li sigurni da želite da izbrišete \"{{key}}\"?",
|
||||
"form_enter_hostname": "Unesite ime hosta",
|
||||
"error_details": "Detalji greške",
|
||||
"response_details": "Pojedinosti odgovora",
|
||||
"request_details": "Pojedinosti zahteva",
|
||||
"client_details": "Pojedinosti klijenta",
|
||||
"details": "Detalji",
|
||||
"back": "Nazad",
|
||||
"dashboard": "Kontrolna tabla",
|
||||
"settings": "Postavke",
|
||||
"filters": "Filteri",
|
||||
"filter": "Filter",
|
||||
"query_log": "Dnevnik zahteva",
|
||||
"compact": "Kompaktno",
|
||||
"nothing_found": "Ništa nije pronađeno",
|
||||
"faq": "ČPP",
|
||||
"version": "Verzija",
|
||||
"address": "Adresa",
|
||||
"protocol": "Protokol",
|
||||
"on": "Uključeno",
|
||||
"off": "Isključeno",
|
||||
"copyright": "Autorska prava",
|
||||
"homepage": "Početna stranica",
|
||||
"report_an_issue": "Prijavi poteškoću",
|
||||
"privacy_policy": "Politika privatnosti",
|
||||
"enable_protection": "Uključi zaštitu",
|
||||
"enabled_protection": "Uključena zaštita",
|
||||
"disable_protection": "Isključi zaštitu",
|
||||
"disabled_protection": "Isključena zaštita",
|
||||
"refresh_statics": "Osveži statistike",
|
||||
"dns_query": "DNS zahtevi",
|
||||
"blocked_by": "<0>blokirano od filtera</0>",
|
||||
"stats_malware_phishing": "Blokiraj štetan softver i fišing",
|
||||
"stats_adult": "Blokiraj sajtove za odrasle",
|
||||
"stats_query_domain": "Najčešće unošeni domeni",
|
||||
"for_last_24_hours": "u poslednja 24 časa",
|
||||
"for_last_days": "u poslednjih {{count}} dana",
|
||||
"for_last_days_plural": "u poslednjih {{count}} dana",
|
||||
"no_domains_found": "Domeni nisu pronađeni",
|
||||
"requests_count": "Broj zahteva",
|
||||
"top_blocked_domains": "Najčešće blokirani domeni",
|
||||
"top_clients": "Najčešći klijenti",
|
||||
"no_clients_found": "Nema pronađenih klijenata",
|
||||
"general_statistics": "Opšte statistike",
|
||||
"number_of_dns_query_days": "Broj obrađenih DNS unosa u poslednjih {{count}} dan",
|
||||
"number_of_dns_query_days_plural": "Broj obrađenih DNS unosa u poslednjih {{count}} dana",
|
||||
"number_of_dns_query_24_hours": "Broj obrađenih DNS unosa u poslednja 24 časa",
|
||||
"number_of_dns_query_blocked_24_hours": "Broj DNS zahteva blokiranih od filtera blokatora reklama i blok liste hostova",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Broj DNS zahteva blokiranih od AdGuard-ovog podprograma za bezbedno pregledanje",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "Broj blokiranih sajtova za odrasle",
|
||||
"enforced_save_search": "Nametni sigurno pretraživanje",
|
||||
"number_of_dns_query_to_safe_search": "Broj DNS zahteva ka pretraživačima za koje je nametnuto sigurno pretraživanje",
|
||||
"average_processing_time": "Prosečno vreme obrade",
|
||||
"average_processing_time_hint": "Prosečno vreme u milisekundama za obradu DNS zahteva",
|
||||
"block_domain_use_filters_and_hosts": "Blokiraj domene koristeći filtere i hosts datoteke",
|
||||
"filters_block_toggle_hint": "Možete postaviti pravila blokiranja u <a href='#filters'>Filters</a> postavkama.",
|
||||
"use_adguard_browsing_sec": "Koristi AdGuard-ovu uslugu bezbednog pregledanja",
|
||||
"use_adguard_browsing_sec_hint": "AdGuard Home će proveriti da li je domen blokiran od strane usluge za bezbednosno pregledanje. Koristiće prijateljski API privatni pregled da izvrši proveru. Samo će se kratak prefiks domena SHA256 hash poslati na server.",
|
||||
"use_adguard_parental": "Koristi AdGuard-ovu uslugu roditeljske kontrole",
|
||||
"use_adguard_parental_hint": "AdGuard Home će proveriti da li domen sadrži sadržaj za odrasle. Koristi se isti privatni prijateljski API kao i kod usluge bezbednog pregledanja.",
|
||||
"enforce_safe_search": "Nametni sigurno pretraživanje",
|
||||
"enforce_save_search_hint": "AdGuard Home može nametnuti sigurno pretraživanje u sledećim pretraživačima: Google, Youtube, Bing, DuckDuckGo i Yandex.",
|
||||
"no_servers_specified": "Serveri nisu određeni",
|
||||
"general_settings": "Opšte postavke",
|
||||
"dns_settings": "DNS postavke",
|
||||
"dns_blocklists": "DNs blok liste",
|
||||
"dns_allowlists": "DNS dozvoljene liste",
|
||||
"dns_blocklists_desc": "AdGuard Home će blokirati domene koji se poklapaju sa blok listama.",
|
||||
"dns_allowlists_desc": "Domeni sa liste dozvoljenih će uvek biti dozvoljeni, čak iako se neki od njih nalazi na blok listi.",
|
||||
"custom_filtering_rules": "Prilagođena pravila filtriranja",
|
||||
"encryption_settings": "Postavke šifrovanja",
|
||||
"dhcp_settings": "DHCP postavke",
|
||||
"upstream_dns": "Upstream DNS serveri",
|
||||
"upstream_dns_hint": "Ako ovo polje ostavite prazno, AdGuard Home će koristiti <a href='https://www.quad9.net/' target='_blank'>Quad9</a> kao upstream.",
|
||||
"test_upstream_btn": "Testiraj upstreams",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Primeni",
|
||||
"disabled_filtering_toast": "Isključeno filtriranje",
|
||||
"enabled_filtering_toast": "Uključeno filtriranje",
|
||||
"disabled_safe_browsing_toast": "Isključeno sigurno pregledanje",
|
||||
"enabled_safe_browsing_toast": "Uključeno sigurno pretraživanje",
|
||||
"disabled_parental_toast": "Isključena roditeljska kontrola",
|
||||
"enabled_parental_toast": "Uključena roditeljska kontrola",
|
||||
"disabled_safe_search_toast": "Isključena sigurna pretraga",
|
||||
"enabled_save_search_toast": "Uključeno sigurno pretraživanje",
|
||||
"enabled_table_header": "Uključeno",
|
||||
"name_table_header": "Ime",
|
||||
"list_url_table_header": "URL do liste",
|
||||
"rules_count_table_header": "Broj pravila",
|
||||
"last_time_updated_table_header": "Poslednji put ažurirano",
|
||||
"actions_table_header": "Radnje",
|
||||
"request_table_header": "Zahtev",
|
||||
"edit_table_action": "Izmeni",
|
||||
"delete_table_action": "Izbriši",
|
||||
"elapsed": "Proteklo",
|
||||
"filters_and_hosts_hint": "AdGuard Home razume osnovna pravila blokiranja reklama i sintaksu hosts datoteke.",
|
||||
"no_blocklist_added": "Blok liste nisu dodate",
|
||||
"no_whitelist_added": "Liste dozvoljenih nisu dodate",
|
||||
"add_blocklist": "Dodaj blok listu",
|
||||
"add_allowlist": "Dodaj listu dozvoljenih",
|
||||
"cancel_btn": "Otkaži",
|
||||
"enter_name_hint": "Unesite ime",
|
||||
"enter_url_or_path_hint": "Unesite URL ili apsolutnu putanju liste",
|
||||
"check_updates_btn": "Proveri ažuriranja",
|
||||
"new_blocklist": "Nova blok lista",
|
||||
"new_allowlist": "Nova lista dozvoljenih",
|
||||
"edit_blocklist": "Uredi blok listu",
|
||||
"edit_allowlist": "Uredi listu dozvoljenih",
|
||||
"choose_blocklist": "Izaberite liste blokiranja",
|
||||
"choose_allowlist": "Izaberite liste dozvoljenih",
|
||||
"enter_valid_blocklist": "Unesite važeći URL do blok liste.",
|
||||
"enter_valid_allowlist": "Unesite važeći URL do liste dozvoljenih.",
|
||||
"form_error_url_format": "Nevažeći format Url-a",
|
||||
"form_error_url_or_path_format": "URL ili apsolutna putanja do liste nije valjana",
|
||||
"custom_filter_rules": "Prilagođena pravila filtriranja",
|
||||
"custom_filter_rules_hint": "Unesite jedno pravilo po redu. Možete koristiti pravila blokatora reklama ili sintaksu hosts datoteke.",
|
||||
"examples_title": "Primeri",
|
||||
"example_meaning_filter_block": "blokirajte pristup ka domenu primer.org i svim njegovim poddomenima",
|
||||
"example_meaning_filter_whitelist": "dozvolite pristup ka domenu primer.org i svim njegovim poddomenima",
|
||||
"example_meaning_host_block": "AdGuard Home će sada vratiti adresu 127.0.0.1 za domen primer.org (ali ne i za njegove poddomene).",
|
||||
"example_comment": "! Ovde ide komentar",
|
||||
"example_comment_meaning": "samo komentar",
|
||||
"example_comment_hash": "# Takođe komentar",
|
||||
"example_regex_meaning": "blokiranje pristupa domenima koji odgovaraju određenom uobičajenom izrazu",
|
||||
"example_upstream_regular": "uobičajeno DNS (preko UDP)",
|
||||
"example_upstream_dot": "šifrovano <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "šifrovano <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "možete koristiti <0>DNS brojeve</0> za <1>DNSCrypt</1> ili <2>DNS-over-HTTPS</2>",
|
||||
"example_upstream_tcp": "uobičajeni DNS (preko TCP)",
|
||||
"all_lists_up_to_date_toast": "Sve liste su već ažurirane",
|
||||
"updated_upstream_dns_toast": "Ažurirani upstream DNS serveri",
|
||||
"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",
|
||||
"unblock": "Odblokiraj",
|
||||
"block": "Blokiraj",
|
||||
"time_table_header": "Vreme",
|
||||
"date": "Datum",
|
||||
"domain_name_table_header": "Ime domena",
|
||||
"domain_or_client": "Domen ili klijent",
|
||||
"type_table_header": "Vrsta",
|
||||
"response_table_header": "Odgovor",
|
||||
"response_code": "Kod odgovora",
|
||||
"client_table_header": "Klijent",
|
||||
"empty_response_status": "Prazno",
|
||||
"show_all_filter_type": "Pokaži sve",
|
||||
"show_filtered_type": "Pokaži filtrirano",
|
||||
"no_logs_found": "Dnevnici nisu pronađeni",
|
||||
"refresh_btn": "Osveži",
|
||||
"previous_btn": "Prethodno",
|
||||
"next_btn": "Sledeće",
|
||||
"loading_table_status": "Učitavanje...",
|
||||
"page_table_footer_text": "Stranica",
|
||||
"rows_table_footer_text": "redovi",
|
||||
"updated_custom_filtering_toast": "Ažurirana prilagođena pravila filtriranja",
|
||||
"rule_removed_from_custom_filtering_toast": "Pravilo uklonjeno iz prilagođenih pravila filtriranja",
|
||||
"rule_added_to_custom_filtering_toast": "Pravilo dodato u prilagođena pravila filtriranja",
|
||||
"query_log_response_status": "Stanje: {{value}}",
|
||||
"query_log_filtered": "Filtrirano od {{filter}}",
|
||||
"query_log_confirm_clear": "Jeste li sigurni da želite da očistite ceo dnevnik unosa?",
|
||||
"query_log_cleared": "Dnevnik unosa je uspešno očišćen",
|
||||
"query_log_updated": "Dnevnik zapisa je uspešno ažuriran",
|
||||
"query_log_clear": "Očisti dnevnike unosa",
|
||||
"query_log_retention": "Zadržavanje dnevnika unosa",
|
||||
"query_log_enable": "Uključi dnevnik",
|
||||
"query_log_configuration": "Konfiguracija dnevnika",
|
||||
"query_log_disabled": "Dnevnik unosa je isključen ali se može konfigurisati u <0>postavkama</0>",
|
||||
"query_log_strict_search": "Koristi duple navodnike za striktnu pretragu",
|
||||
"query_log_retention_confirm": "Jeste li sigurni da želite da promenite zadržavanje dnevnika unosa? Ako smanjite vrednost intervala, neki podaci će biti izgubljeni",
|
||||
"anonymize_client_ip": "Anonimizuj IP klijenta",
|
||||
"anonymize_client_ip_desc": "Ne čuvaj punu IP adresu klijenta u dnevnicima i statistikama",
|
||||
"dns_config": "Konfiguracija DNS servera",
|
||||
"dns_cache_config": "Konfigurisanje DNS predmemorije",
|
||||
"dns_cache_config_desc": "Ovde možete konfigurisati DNS predmemoriju",
|
||||
"blocking_mode": "Način blokiranja",
|
||||
"default": "Podrazumevano",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Null IP",
|
||||
"custom_ip": "Prilagođeni IP",
|
||||
"blocking_ipv4": "Blokiranje IPv4",
|
||||
"blocking_ipv6": "Blokiranje IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "Plain DNS",
|
||||
"form_enter_rate_limit": "Unesite ograničenje brzine",
|
||||
"rate_limit": "Ograničenje brzine",
|
||||
"edns_enable": "Uključi EDNS Client Subnet",
|
||||
"edns_cs_desc": "Ako je uključeno, AdGuard Home će slati klijente na DNS servere.",
|
||||
"rate_limit_desc": "Broj zahteva po sekundi koje pojedinačni klijent dozvoljava (0: neograničeno)",
|
||||
"blocking_ipv4_desc": "IP adresa koja će biti vraćena za blokirane zahteve",
|
||||
"blocking_ipv6_desc": "IP adresa koja će biti vraćena za blokirane AAAA zahteve",
|
||||
"blocking_mode_default": "Podrazumevano: Odgovara sa NXDOMAIN kada je blokirano od Adblock-style pravila; odgovara sa IP adresom koja je određena u pravilu kada je blokiran od /etc/hosts-style pravila",
|
||||
"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_custom_ip": "Prilagođeni IP: Odgovara sa ručno podešenom IP adresom",
|
||||
"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",
|
||||
"source_label": "Izvor",
|
||||
"found_in_known_domain_db": "Pronađeno u poznatim bazama podataka domena.",
|
||||
"category_label": "Kategorija",
|
||||
"rule_label": "Pravilo",
|
||||
"list_label": "Lista",
|
||||
"unknown_filter": "Nepoznat filter {{filterId}}",
|
||||
"known_tracker": "Poznato praćenje",
|
||||
"install_welcome_title": "Dobrodošli u AdGuard home!",
|
||||
"install_welcome_desc": "AdGuard Home je mrežni DNS server, blokator reklama i praćenja. Dopušta vam da kontrolišete svoju čitavu mrežu i sve vaše uređaje i ne zahteva korišćenje nikakvog klijentskog programa.",
|
||||
"install_settings_title": "Administratorsko web okruženje",
|
||||
"install_settings_listen": "Okruženje slušanja",
|
||||
"install_settings_port": "Port",
|
||||
"install_settings_interface_link": "Vaše AdGuard Home administratorsko web okruženje će biti dostupno na sledećim adresama:",
|
||||
"form_error_port": "Unesite važeću vrednost za port",
|
||||
"install_settings_dns": "DNS server",
|
||||
"install_settings_dns_desc": "Potrebno je da konfigurišete vaše uređaje ili ruter da koristi DNS server sa sledećim adresama:",
|
||||
"install_settings_all_interfaces": "Sva okruženja",
|
||||
"install_auth_title": "Autentifikacija",
|
||||
"install_auth_desc": "Preporučujemo vam da konfigurišete autentifikaciju lozinkom za vaše AdGuard Home administratorsko okruženje. Čak iako mu je moguće pristupiti samo iz vaše lokalne mreže,, i dalje je važno da ga zaštitite od neograničenog pristupa.",
|
||||
"install_auth_username": "Korisničko ime",
|
||||
"install_auth_password": "Lozinka",
|
||||
"install_auth_confirm": "Potvrdite lozinku",
|
||||
"install_auth_username_enter": "Unesite korisničko ime",
|
||||
"install_auth_password_enter": "Unesite lozinku",
|
||||
"install_step": "Korak",
|
||||
"install_devices_title": "Konfigurišite vaše uređaje",
|
||||
"install_devices_desc": "Za početak korišćenja AdGuard Home, potrebno je da konfigurišete vaše uređaje da ga koriste.",
|
||||
"install_submit_title": "Čestitamo!",
|
||||
"install_submit_desc": "Postavljanje je završeno i sada ste spremni da započnete sa korišćenjem AdGuard Home.",
|
||||
"install_devices_router": "Ruter",
|
||||
"install_devices_router_desc": "Ovo postavljanje će automatski pokriti sve uređaje koji su povezani na vaš kućni ruter pa nećete morati da konfigurišete svaki uređaj posebno.",
|
||||
"install_devices_address": "AdGuard Home DNS server sluša na sledećim adresama",
|
||||
"install_devices_router_list_1": "Otvorite podešavanja vašeg rutera. Obično im možete pristupiti iz vašeg preglednika preko URL (kao http://192.168.0.1/ ili http://192.168.1.1/). Možda će vam biti zatraženo da unesete lozinku. Ako je ne znate ili je se ne sećate, najčešće je možete resetovati pritiskom na dugme na samom ruteru. Neki ruteri zahtevaju određenu aplikaciju, koja bi u tom slučaju već trebalo da bude instalirana na vašem računaru ili telefonu.",
|
||||
"install_devices_router_list_2": "Pronađite DHCP ili DNS postavke. Potražite DNS slova pored polja koje dozvoljava dve ili tri skupine brojeva, a svaka može da sadrži četiri grupe od jedne do tri cifre.",
|
||||
"install_devices_router_list_3": "Tamo unesite adrese AdGuard home servera.",
|
||||
"install_devices_router_list_4": "Na nekim ruterima ne možete postaviti prilagođeni DNS server.",
|
||||
"install_devices_windows_list_1": "Otvorite kontrolnu tablu iz startnog menija ili kroz Windows pretragu.",
|
||||
"install_devices_windows_list_2": "Otvorite kategoriju mreža i internet a onda otiđite u centar za mrežu i deljenje.",
|
||||
"install_devices_windows_list_3": "Na levoj strani ekrana pronađite Promena postavke adaptera i kliknite tu.",
|
||||
"install_devices_windows_list_4": "Izaberite vašu aktivnu vezu, desnim tasterom kliknite na nju i izaberite Svojstva.",
|
||||
"install_devices_windows_list_5": "Na listi pronađite Internet Protokol verzija 4 (TCP/IP), izaberite ga pa kliknite ponovo na Svojstva.",
|
||||
"install_devices_windows_list_6": "Izaberite Koristi sledeće adrese DNS servera pa unesite vaše adrese AdGuard Home servera.",
|
||||
"install_devices_macos_list_1": "Kliknite na ikonicu jabuke pa otiđite na postavke sistema.",
|
||||
"install_devices_macos_list_2": "Kliknite na mrežu.",
|
||||
"install_devices_macos_list_3": "Izaberite prvu vezu sa liste pa kliknite na više opcija.",
|
||||
"install_devices_macos_list_4": "Izaberite karticu DNS pa tu unesite adrese vašeg AdGuard Home servera.",
|
||||
"install_devices_android_list_1": "Sa Android početnog ekrana, dodirnite Postavke.",
|
||||
"install_devices_android_list_2": "Dodirnite Wi-Fi. Pojaviće se ekran sa svim dostupnim mrežama. Nije moguće da podesite prilagođeni DNS za mobilne veze).",
|
||||
"install_devices_android_list_3": "Dugo pritisnite na mrežu na koju ste povezani, pa dodirnite Izmeni mrežu.",
|
||||
"install_devices_android_list_4": "Na nekim uređajima će možda biti potrebno da označite kućicu za napredne opcije kako bi videli dalje postavke. Da biste prilagodili vaše Android DNS postavke, prebacite IP postavke sa DHCP na statičke.",
|
||||
"install_devices_android_list_5": "Promenite DNS 1 i DNS 2 vrednosti na adrese vašeg AdGuard Home servera.",
|
||||
"install_devices_ios_list_1": "Sa početnog ekrana, dodirnite postavke.",
|
||||
"install_devices_ios_list_2": "U levom meniju izaberite Wi-Fi. Nije moguće da konfigurišete DNS za mobilne mreže).",
|
||||
"install_devices_ios_list_3": "Dodirnite ime trenutno aktivne mreže.",
|
||||
"install_devices_ios_list_4": "U DNS polje unesite adrese vašeg AdGuard Home servera.",
|
||||
"get_started": "Počnimo",
|
||||
"next": "Dalje",
|
||||
"open_dashboard": "Otvori kontrolnu tablu",
|
||||
"install_saved": "Uspešno sačuvano",
|
||||
"encryption_title": "Šifrovanje",
|
||||
"encryption_desc": "Šifrovanje (HTTPS/TLS) podrška za oba DNS i administratorsko okruženje",
|
||||
"encryption_config_saved": "Konfiguracija šifrovanja je sačuvana",
|
||||
"encryption_server": "Ime servera",
|
||||
"encryption_server_enter": "Unesite vaše ime domena",
|
||||
"encryption_server_desc": "Kako biste koristili HTTPS, potrebno je da unesete ime servera koje se podudara sa SSL sertifikatom.",
|
||||
"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_https": "HTTPS port",
|
||||
"encryption_https_desc": "Ako je HTTPS port konfigurisan, AdGuard Home administratorskom okruženju će se moći pristupati preko HTTPS, a to će takođe omogućiti DNS-over-HTTPS na '/dns-query' lokaciji.",
|
||||
"encryption_dot": "DNS-over-TLS port",
|
||||
"encryption_dot_desc": "Ako je ovaj port konfigurisan, AdGuard Home će pokretati DNS-over-TLS server na ovom portu.",
|
||||
"encryption_certificates": "Sertifikati",
|
||||
"encryption_certificates_desc": "Da biste koristili šifrovanje, morate obezbediti važeći lanac SSL sertifikata za vaš domen. Besplatan sertifikat možete nabaviti na <0>{{link}}</0> ili ga možete kupiti od nekog od pouzdanih izdavalaca sertifikata.",
|
||||
"encryption_certificates_input": "Kopirajte/nalepite vaše PEM-kodirane sertifikate ovde.",
|
||||
"encryption_status": "Stanje",
|
||||
"encryption_expire": "Ističe",
|
||||
"encryption_key": "Privatni ključ",
|
||||
"encryption_key_input": "Kopirajte/nalepite vaš PEM-kodirani privatni ključ za vaš sertifikat ovde.",
|
||||
"encryption_enable": "Uključi šifrovanje (HTTPS, DNS-over-HTTPS, i DNS-over-TLS)",
|
||||
"encryption_enable_desc": "Ako je šifrovanje uključeno, AdGuard Home administratorsko okruženje će raditi preko HTTPS, i DNS server će slušati zahteve preko DNS-over-HTTPS i DNS-over-TLS.",
|
||||
"encryption_chain_valid": "Lanac sertifikata je važeći",
|
||||
"encryption_chain_invalid": "Lanac sertifikata je nevažeći",
|
||||
"encryption_key_valid": "Ovo je važeći {{type}} privatni ključ",
|
||||
"encryption_key_invalid": "Ovo je nevažeći {{type}} privatni ključ",
|
||||
"encryption_subject": "Predmet",
|
||||
"encryption_issuer": "Izdavač",
|
||||
"encryption_hostnames": "Imena hostova",
|
||||
"encryption_reset": "Jeste li sigurni da želite dda resetujete postavke šifrovanja?",
|
||||
"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>.",
|
||||
"form_error_port_range": "Unesite vrednost porta u opsegu od 80-65535",
|
||||
"form_error_port_unsafe": "Ovo nije siguran port",
|
||||
"form_error_equal": "Ne bi trebalo da bude jednako",
|
||||
"form_error_password": "Lozinke se ne podudaraju",
|
||||
"reset_settings": "Vrati postavke na podrazumevano",
|
||||
"update_announcement": "AdGuard Home {{version}} je sada dostupan! <0>Kliknite ovde</0> za više informacija.",
|
||||
"setup_guide": "Uputstvo za podešavanje",
|
||||
"dns_addresses": "DNS adrese",
|
||||
"dns_start": "DNS server se pokreće",
|
||||
"dns_status_error": "Greška prilikom pribavljanja stanja DNS servera",
|
||||
"down": "Dole",
|
||||
"fix": "Popravi",
|
||||
"dns_providers": "Ovo je a <0>lista poznatih DNS dobavljača</0> sa koje možete da izaberete.",
|
||||
"update_now": "Ažuriraj sada",
|
||||
"update_failed": "Automatsko ažuriranje nije uspelo. Molimo vas <a href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>pratite korake</a> za ručno ažuriranje.",
|
||||
"processing_update": "Molimo sačekajte. AdGuard Home se ažurira",
|
||||
"clients_title": "Klijenti",
|
||||
"clients_desc": "Konfigurišite uređaje koji su povezani na AdGuard Home",
|
||||
"settings_global": "Globalno",
|
||||
"settings_custom": "Prilagođeno",
|
||||
"table_client": "Klijent",
|
||||
"table_name": "Ime",
|
||||
"save_btn": "Sačuvaj",
|
||||
"client_add": "Dodaj klijent",
|
||||
"client_new": "Novi klijent",
|
||||
"client_edit": "Izmeni klijent",
|
||||
"client_identifier": "Identifikator",
|
||||
"ip_address": "IP adresa",
|
||||
"client_identifier_desc": "Klijenti mogu da budu prepoznati po IP adresi ili MAC adresi. Imajte na umu da je korišćenje MAC adrese kao identifikatora moguće samo ako je AdGuard Home takođe a <0>DHCP server</0>",
|
||||
"form_enter_ip": "Unesite IP",
|
||||
"form_enter_mac": "Unesite MAC",
|
||||
"form_enter_id": "Unesite identifikator",
|
||||
"form_add_id": "Dodaj identifikator",
|
||||
"form_client_name": "Unesite ime klijenta",
|
||||
"name": "Ime",
|
||||
"client_global_settings": "Koristi globalne postavke",
|
||||
"client_deleted": "Klijent \"{{key}}\" uspešno izbrisan",
|
||||
"client_added": "Klijent \"{{key}}\" uspešno dodat",
|
||||
"client_updated": "Klijent \"{{key}}\" uspešno ažuriran",
|
||||
"clients_not_found": "Nema pronađenih klijenata",
|
||||
"client_confirm_delete": "Jeste li sigurni da želite da izbrišete klijenta \"{{key}}\"?",
|
||||
"list_confirm_delete": "Jeste li sigurni da želite da izbrišete ovu listu?",
|
||||
"auto_clients_title": "Klijenti (runtime)",
|
||||
"auto_clients_desc": "Podaci o klijentima koji koriste AdGuard Home, ali nisu sačuvani u konfiguraciji",
|
||||
"access_title": "Postavke pristupa",
|
||||
"access_desc": "Ovde možete konfigurisati pravila pristupa za AdGuard home DNS server.",
|
||||
"access_allowed_title": "Dozvoljeni klijenti",
|
||||
"access_allowed_desc": "Spisak CIDR ili IP adresa. Ako je podešeno, AdGuard Home će prihvatiti zahteve samo od ovih IP adresa.",
|
||||
"access_disallowed_title": "Zabranjeni klijenti",
|
||||
"access_disallowed_desc": "Lista CIDR ili IP adresa.. Ako je podešeno, AdGuard Home će odbijati zahteve od ovih IP adresa.",
|
||||
"access_blocked_title": "Blokirani domeni",
|
||||
"access_blocked_desc": "Nemojte ovo mešati sa filterima. AdGuard Home će odbijati DNS unose ka ovim domenima.",
|
||||
"access_settings_saved": "Postavke pristupa su uspešno sačuvane",
|
||||
"updates_checked": "Ažuriranja su uspešno proverena",
|
||||
"updates_version_equal": "AdGuard Home je ažuriran na najnoviju verziju",
|
||||
"check_updates_now": "Proveri da li postoje ispravke",
|
||||
"dns_privacy": "DNS privatnost",
|
||||
"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_3": "<0>Imajte na umu da su protokoli šifrovanog DNS-a podržani samo od Androida 9. Biće potrebno da instalirate dodatni softver za druge operativne sisteme.</0><0>Ovde je spisak softvera koje možete koristiti.</0>",
|
||||
"setup_dns_privacy_android_1": "Android 9 podržava DNS-over-TLS. Za konfiguraciju, idite u postavke → mreža i internet → Napredno → Privatni DNS i tamo unesite ime vašeg domena.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard for Android</0> podržava <1>DNS-over-HTTPS</1> i <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "<0>Intra</0> dodaje <1>DNS-over-HTTPS</1> podršku za Android.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> podržava <1>DNS-over-HTTPS</1>, ali da biste mogli da ga konfigurišete da koristi vaš lični server, biće potrebno da generišete a <2>DNS Stamp</2> za njega.",
|
||||
"setup_dns_privacy_ios_2": "<0>AdGuard za iOS</0> podržava <1>DNS-over-HTTPS</1> i <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_other_title": "Druge implementacije",
|
||||
"setup_dns_privacy_other_1": "AdGuard home može biti bezbedan DNS server na bilo kojoj platformi.",
|
||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0> podržava sve poznate bezbedne DNS protokole.",
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> podržava <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> podržava <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_5": "Više implementacija ćete pronaći <0>ovde</0> i <1>ovde</1>.",
|
||||
"setup_dns_notice": "Kako biste koristili <1>DNS-over-HTTPS</1> ili <1>DNS-over-TLS</1>, potrebno je da <0>konfigurišete šifrovanje</0> u AdGuard Home postavkama.",
|
||||
"rewrite_added": "DNS prepisivanje za \"{{key}}\" je uspešno dodato",
|
||||
"rewrite_deleted": "DNS prepisivanje za \"{{key}}\" uspešno izbrisano",
|
||||
"rewrite_add": "Dodaj DNS prepisivanje",
|
||||
"rewrite_not_found": "DNS prepisivanja nisu pronađena",
|
||||
"rewrite_confirm_delete": "Jeste li sigurni da želite da izbrišete DNS prepisivanje za \"{{key}}\"?",
|
||||
"rewrite_desc": "Dozvoljava da jednostavno konfigurišete prilagođeni DNS odgovor za određeni domen.",
|
||||
"rewrite_applied": "Primenjeno pravilo prepisivanja",
|
||||
"rewrite_hosts_applied": "Prepisano od pravila hosts datoteke",
|
||||
"dns_rewrites": "DNS prepisivanja",
|
||||
"form_domain": "Unesite domen",
|
||||
"form_answer": "Unesite IP adresu ili domen",
|
||||
"form_error_domain_format": "Nevažeći format domena",
|
||||
"form_error_answer_format": "Nevažeći format odgovora",
|
||||
"configure": "Konfiguriši",
|
||||
"main_settings": "Glavne postavke",
|
||||
"block_services": "Blokiraj određene usluge",
|
||||
"blocked_services": "Blokiraj usluge",
|
||||
"blocked_services_desc": "Dozvoljava vam da brzo blokirate popularne sajtove i usluge.",
|
||||
"blocked_services_saved": "Blokirane usluge su uspešno sačuvane",
|
||||
"blocked_services_global": "Koristi globalne blokirane usluge",
|
||||
"blocked_service": "Blokirana usluga",
|
||||
"block_all": "Blokiraj sve",
|
||||
"unblock_all": "Odblokiraj sve",
|
||||
"encryption_certificate_path": "Putanja sertifikata",
|
||||
"encryption_private_key_path": "Putanja privatnog ključa",
|
||||
"encryption_certificates_source_path": "Postavi putanju do datoteke sertifikata",
|
||||
"encryption_certificates_source_content": "Nalepite sadržaj sertifikata",
|
||||
"encryption_key_source_path": "Podesi datoteku privatnog ključa",
|
||||
"encryption_key_source_content": "Nalepi sadržaj privatnog ključa",
|
||||
"stats_params": "Konfiguracija statistike",
|
||||
"config_successfully_saved": "Konfiguracija je uspešno sačuvana",
|
||||
"interval_24_hour": "24 časa",
|
||||
"interval_days": "{{count}} dan",
|
||||
"interval_days_plural": "{{count}} dana",
|
||||
"domain": "Domen",
|
||||
"answer": "Odgovor",
|
||||
"filter_added_successfully": "Filter je uspešno dodat",
|
||||
"filter_removed_successfully": "Lista je uspešno uklonjena",
|
||||
"filter_updated": "Filter je uspešno ažuriran",
|
||||
"statistics_configuration": "Konfiguracija statistike",
|
||||
"statistics_retention": "Zadržavanje statistike",
|
||||
"statistics_retention_desc": "Ako smanjite vrednost intervala, neki podaci će biti izgubljeni",
|
||||
"statistics_clear": " Očisti statistiku",
|
||||
"statistics_clear_confirm": "Jeste li sigurni da želite da očistite statistiku?",
|
||||
"statistics_retention_confirm": "Jeste li sigurni da želite da promenite zadržavanje statistike? Ako smanjite vrednost intervala, neki podaci će biti izgubljeni",
|
||||
"statistics_cleared": "Statistika je uspešno očišćena",
|
||||
"interval_hours": "{{count}} čas",
|
||||
"interval_hours_plural": "{{count}} časova",
|
||||
"filters_configuration": "Konfiguracija filtera",
|
||||
"filters_enable": "Uključi filtere",
|
||||
"filters_interval": "Interval ažuriranja filtera",
|
||||
"disabled": "Isključeno",
|
||||
"username_label": "Korisničko ime",
|
||||
"username_placeholder": "Unesite korisničko ime",
|
||||
"password_label": "Lozinka",
|
||||
"password_placeholder": "Unesite lozinku",
|
||||
"sign_in": "Prijavi se",
|
||||
"sign_out": "Odjavi se",
|
||||
"forgot_password": "Zaboravili ste lozinku?",
|
||||
"forgot_password_desc": "Ispratite <0>ove korake</0> za stvaranje nove lozinke za vaš korisnički nalog.",
|
||||
"location": "Lokacija",
|
||||
"orgname": "Ime organizacije",
|
||||
"netname": "Ime mreže",
|
||||
"network": "Mreža",
|
||||
"descr": "Opis",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Saznajte više</0> o stvaranju vaše lične blokliste hostova.",
|
||||
"blocked_by_response": "Blokirano od CNAME ili IP u odgovoru",
|
||||
"blocked_by_cname_or_ip": "Blokirano od CNAME ili IP",
|
||||
"try_again": "Pokušaj ponovo",
|
||||
"domain_desc": "Unesite domen ili džoker koji želite da prepišete.",
|
||||
"example_rewrite_domain": "prepiši odgovore samo za ovaj domen.",
|
||||
"example_rewrite_wildcard": "prepiši odgovore za sve poddomene na <0>example.org</0>.",
|
||||
"rewrite_ip_address": "IP adresa: kkoristite ovaj IP u A ili AAAA odgovoru",
|
||||
"rewrite_domain_name": "Ime domena: dodajte CNAME zapis",
|
||||
"rewrite_A": "<0>A</0>: posebna vrednost, zadrži <0>A</0> records iz apstrima",
|
||||
"rewrite_AAAA": "<0>AAAA</0>: posebna vrednost, zadržite <0>AAAA</0> records iz apstrima",
|
||||
"disable_ipv6": "Isključi IPv6",
|
||||
"disable_ipv6_desc": "Ako je ovo uključeno, svi DNS unosi za IPv6 adrese (type AAAA) će biti odbačeni.",
|
||||
"fastest_addr": "Najbrža IP adresa",
|
||||
"fastest_addr_desc": "Pretražuje sve DNS servere i vraća najbržu IP adresu među svim odgovorima. Ovo će usporiti DNS pretragu jer moramo da čekamo na odgovore od svih DNS servera, ali će poboljšati sveukupnu povezanost.",
|
||||
"autofix_warning_text": "Ako kliknete \"Popravi\", AdGuardHome će konfigurisati vaš sistem da koristi AdGuardHome DNS server.",
|
||||
"autofix_warning_list": "To će izvršiti sledeće zadatke: <0>Deaktiviranje system DNSStubListener</0> <0>Set DNS server address to 127.0.0.1</0> <0>Replace symbolic link target of /etc/resolv.conf to /run/systemd/resolve/resolv.conf</0> <0>Stop DNSStubListener (reload systemd-resolved service)</0>",
|
||||
"autofix_warning_result": "Kao rezultat, svi DNS zahtevi sa vašeg sistema će biti obrađeni od AdGuardHome.",
|
||||
"tags_title": "Oznake",
|
||||
"tags_desc": "Možete izabrati oznake koje odgovaraju klijentu. Oznake mogu biti uključene u pravila filtriranja i dozvoljavaju vam da ih preciznije primenite. <0>Saznajte više</0>",
|
||||
"form_select_tags": "Izaberite oznake klijenta",
|
||||
"check_title": "Proverite filtriranje",
|
||||
"check_desc": "Proverite da li je host filtriran",
|
||||
"check": "Proveri",
|
||||
"form_enter_host": "Unesite host",
|
||||
"filtered_custom_rules": "Filtrirano od strane prilagođenog pravila",
|
||||
"choose_from_list": "Izaberite sa liste",
|
||||
"add_custom_list": "Dodaj prilagođenu listu",
|
||||
"host_whitelisted": "Host je na beloj listi",
|
||||
"check_ip": "IP adrese: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Razlog: {{reason}}",
|
||||
"check_rule": "Pravilo: {{rule}}",
|
||||
"check_service": "Ime usluge: {{service}}",
|
||||
"check_not_found": "Nije pronađeno na vašoj listi filtera",
|
||||
"client_confirm_block": "Jeste li sigurni da želite da blokirate klijent \"{{ip}}\"?",
|
||||
"client_confirm_unblock": "Jeste li sigurni da želite da odblokirate klijent \"{{ip}}\"?",
|
||||
"client_blocked": "Klijent \"{{ip}}\" uspešno blokiran",
|
||||
"client_unblocked": "Klijent \"{{ip}}\" uspešno odblokiran",
|
||||
"static_ip": "Statička IP adresa",
|
||||
"static_ip_desc": "AdGuard Home je server pa mu je zbog toga potrebna statička IP aadresa kako bi ispravno radio. Ako je nema, u nekim slučajevima, vaš ruter može dodeliti drugu IP adresu ovom uređaju.",
|
||||
"set_static_ip": "Postavite statičku IP adresu",
|
||||
"install_static_ok": "Dobre vesti! Statička IP adresa je već konfigurisana",
|
||||
"install_static_error": "AdGuard Home se ne može automatski konfigurisati za ovo mrežno okruženje. Pogledajte uputstvo kako da to ručno uradite.",
|
||||
"install_static_configure": "Otkrili smo da se koristi dinamička IP adresa — <0>{{ip}}</0>. Želite li da je koristite kao vašu statičku adresu?",
|
||||
"confirm_static_ip": "AdGuard Home će konfigurisati {{ip}} da bude vaša statička IP adresa. Želite li da nastavite?",
|
||||
"list_updated": "{{count}} lista ažurirana",
|
||||
"list_updated_plural": "{{count}} lista ažurirano",
|
||||
"dnssec_enable": "Uključi DNSSEC",
|
||||
"dnssec_enable_desc": "Postavlja DNSSEC zastavicu u odlaznim DNS zahtevima i proverava rezultat (DNSSEC rešavač je potreban)",
|
||||
"validated_with_dnssec": "Potvrđeno sa DNSSEC",
|
||||
"all_queries": "Svi zahtevi",
|
||||
"show_blocked_responses": "Blokirano",
|
||||
"show_whitelisted_responses": "Na beloj listi",
|
||||
"show_processed_responses": "Obrađeno",
|
||||
"blocked_safebrowsing": "Blokiralo bezbedno pregledanje",
|
||||
"blocked_adult_websites": "Blokiraj sajtove za odrasle",
|
||||
"blocked_threats": "Blokiranih pretnji",
|
||||
"allowed": "Dozvoljeno",
|
||||
"filtered": "Filtrirano",
|
||||
"rewritten": "Prepisano",
|
||||
"safe_search": "Sigurna pretraga",
|
||||
"blocklist": "Lista blokiranih",
|
||||
"milliseconds_abbreviation": "ms",
|
||||
"cache_size": "Veličina predmemorije",
|
||||
"cache_size_desc": "Veličina DNS predmemorije (u bitovima)",
|
||||
"cache_ttl_min_override": "Prepiši najmanji TTL",
|
||||
"cache_ttl_max_override": "Prepiši najveći TTL",
|
||||
"enter_cache_size": "Unesite veličinu predmemorije",
|
||||
"enter_cache_ttl_min_override": "Unesite najmanji TTL",
|
||||
"enter_cache_ttl_max_override": "Unesite najveći TTL",
|
||||
"cache_ttl_min_override_desc": "Prepiši TTL vrednost (minimum) dobijen od apstrim servera. Ova vrednost ne može biti veća od 3600 (1 sat)",
|
||||
"cache_ttl_max_override_desc": "Prepiši TTL vrednost (maksimum) dobijen od apstrim servera",
|
||||
"min_exceeds_max_value": "Najmanja vrednost je dosegla najveću vrednost",
|
||||
"value_not_larger_than": "Vrednost ne može biti veća od {{maximum}}",
|
||||
"filter_category_general": "Opšte",
|
||||
"filter_category_security": "Bezbednost",
|
||||
"filter_category_regional": "Region",
|
||||
"filter_category_other": "Ostalo",
|
||||
"filter_category_general_desc": "Lista koja blokira praćenja i reklame na većini uređaja",
|
||||
"filter_category_security_desc": "Lista specijalizovana za blokiranje štetnog softvera, štetnih i fišing domena",
|
||||
"filter_category_regional_desc": "Lista koja se usredsređuje na regionalne reklame i servere praćenja",
|
||||
"filter_category_other_desc": "Ostale liste blokiranja",
|
||||
"original_response": "Izvorni odgovor",
|
||||
"click_to_view_queries": "Kliknite da pogledate zahteve"
|
||||
}
|
||||
@@ -15,10 +15,12 @@
|
||||
"dhcp_not_found": "Ingen aktiv DHCP-server hittades i nätverkat.",
|
||||
"dhcp_found": "Några aktiva DHCP-servar upptäcktes. Det är inte säkert att aktivera inbyggda DHCP-servrar.",
|
||||
"dhcp_leases": "DHCP-lease",
|
||||
"dhcp_static_leases": "Statiska DHCP-leases",
|
||||
"dhcp_leases_not_found": "Ingen DHCP-lease hittad",
|
||||
"dhcp_config_saved": "Sparade inställningar för DHCP-servern",
|
||||
"form_error_required": "Obligatoriskt fält",
|
||||
"form_error_ip_format": "Ogiltigt IPv4-format",
|
||||
"form_error_mac_format": "Ogiltigt MAC-format",
|
||||
"form_error_positive": "Måste vara större än noll",
|
||||
"dhcp_form_gateway_input": "Gateway-IP",
|
||||
"dhcp_form_subnet_input": "Subnetmask",
|
||||
@@ -36,6 +38,12 @@
|
||||
"dhcp_error": "Vi kunde inte avgöra om det finns en till DHCP-server på nätverket.",
|
||||
"dhcp_static_ip_error": "För att kunna använda en DHCP-server måste det finnas en statisk IP-adress. Vi kunde inte avgöra om nätverksgränssnittet är konfigurerat med en statisk IP-adress. Ställ in en statistik IP-adress manuellt.",
|
||||
"dhcp_dynamic_ip_found": "Din enhet använder en dynamisk IP-adress för gränssnittet <0>{{interfaceName}}</0>. För att kunna använda DHCP-servern behövs en statisk IP-adress. Din nuvarande IP-adress är <0>{{ipAddress}}</0>. Vi kommer att göra denna IP-adress statisk automatiskt om du trycker på knappen \"Aktivera DHCP\".",
|
||||
"dhcp_lease_added": "Statisk lease \"{{key}}\" har lagts till",
|
||||
"dhcp_lease_deleted": "Statisk lease \"{{key}}\" har raderats",
|
||||
"dhcp_new_static_lease": "Ny statisk lease",
|
||||
"dhcp_static_leases_not_found": "Inga statiska DHCP-leases hittade",
|
||||
"dhcp_add_static_lease": "Lägg till statisk lease",
|
||||
"delete_confirm": "Är du säker på att du vill ta bort \"{{key}}\"?",
|
||||
"form_enter_hostname": "Skriv in värdnamn",
|
||||
"error_details": "Felinformation",
|
||||
"back": "Tiilbaka",
|
||||
@@ -45,9 +53,10 @@
|
||||
"query_log": "Förfrågningslogg",
|
||||
"faq": "FAQ",
|
||||
"version": "version",
|
||||
"address": "adress",
|
||||
"address": "Adress",
|
||||
"on": "PÅ",
|
||||
"off": "AV",
|
||||
"copyright": "Copyright",
|
||||
"homepage": "Hemsida",
|
||||
"report_an_issue": "Rapportera ett problem",
|
||||
"privacy_policy": "Integritetspolicy",
|
||||
@@ -62,12 +71,16 @@
|
||||
"stats_adult": "Blockerade vuxensajter",
|
||||
"stats_query_domain": "Mest eftersökta domäner",
|
||||
"for_last_24_hours": "under de senaste 24 timamrna",
|
||||
"for_last_days": "för den senaste {{count}} dagen",
|
||||
"for_last_days_plural": "för de senaste {{count}} dagarna",
|
||||
"no_domains_found": "Inga domäner hittade",
|
||||
"requests_count": "Förfrågningsantal",
|
||||
"top_blocked_domains": "Flest blockerade domäner",
|
||||
"top_clients": "Toppklienter",
|
||||
"no_clients_found": "Inga hitatde klienter",
|
||||
"general_statistics": "Allmän statistik",
|
||||
"number_of_dns_query_days": "Ett antal DNS-förfrågningar utfördes under den senaste {{count}} dagen",
|
||||
"number_of_dns_query_days_plural": "Ett antal DNS-förfrågningar utfördes under de senaste {{count}} dagarna",
|
||||
"number_of_dns_query_24_hours": "Ett antal DNS-förfrågningar utfördes under de senaste 244 timamrna",
|
||||
"number_of_dns_query_blocked_24_hours": "Ett antal DNS-förfrågningar blockerades av annonsfilter och värdens bloceringsklistor",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Ett antal DNS-förfrågningar blockerades av AdGuards modul för surfsäkerhet",
|
||||
@@ -86,6 +99,9 @@
|
||||
"enforce_save_search_hint": "AdGuard Home kan framtvinga säker surf i följande sökmoterer: Google, Youtube, Bing, och Yandex.",
|
||||
"no_servers_specified": "Inga servrar angivna",
|
||||
"general_settings": "Allmänna inställningar",
|
||||
"dns_settings": "DNS-inställningar",
|
||||
"encryption_settings": "Krypteringsinställningar",
|
||||
"dhcp_settings": "DHCP-inställningar",
|
||||
"upstream_dns": "Upstream DNS-servrar",
|
||||
"upstream_dns_hint": "Om du låter fältet vara tomt kommer AdGuard Home att använda <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> för uppström.",
|
||||
"test_upstream_btn": "Testa uppströmmar",
|
||||
@@ -100,22 +116,15 @@
|
||||
"enabled_save_search_toast": "Säker webbsökning inkopplat",
|
||||
"enabled_table_header": "Inkopplat",
|
||||
"name_table_header": "Namn",
|
||||
"filter_url_table_header": "Filtrerar URL",
|
||||
"rules_count_table_header": "Regelantal",
|
||||
"last_time_updated_table_header": "Uppdaterades senast",
|
||||
"actions_table_header": "Åtgärder",
|
||||
"edit_table_action": "Redigera",
|
||||
"delete_table_action": "Ta bort",
|
||||
"filters_and_hosts": "Filtrerings- och värdlistor för blockering",
|
||||
"filters_and_hosts_hint": "AdGuard tillämpar grundläggande annonsblockeringsregler och värdfiltersyntaxer",
|
||||
"no_filters_added": "Inga filter tillagda",
|
||||
"add_filter_btn": "Lägg till filter",
|
||||
"cancel_btn": "Avbryt",
|
||||
"enter_name_hint": "Skriv in namn",
|
||||
"enter_url_hint": "Skriv in URL",
|
||||
"check_updates_btn": "Sök efter uppdateringar",
|
||||
"new_filter_btn": "Nytt filterabonemang",
|
||||
"enter_valid_filter_url": "Skriv in en giltigt URL till ett filterabonnemang eller värdfil.",
|
||||
"custom_filter_rules": "Egna filterregler",
|
||||
"custom_filter_rules_hint": "Skriv en regel per rad. Du kan använda antingen annonsblockeringsregler eller värdfilssyntax.",
|
||||
"examples_title": "Exempel",
|
||||
@@ -125,18 +134,19 @@
|
||||
"example_comment": "! Här kommer en kommentar",
|
||||
"example_comment_meaning": "Endast en kommentar",
|
||||
"example_comment_hash": "# Också en kommentar",
|
||||
"example_regex_meaning": "blockera åtkomst till domäner som matchar det angivna uttrycket",
|
||||
"example_upstream_regular": "vanlig DNS (över UDP)",
|
||||
"example_upstream_dot": "krypterat <a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-over-TLS</a>",
|
||||
"example_upstream_doh": "krypterat <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a>",
|
||||
"example_upstream_sdns": "Du kan använda <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS-stamps</a> för <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> eller <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-över-HTTPS</a>\n-resolvers",
|
||||
"example_upstream_dot": "krypterat <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "krypterat <0>DNS-over-HTTPS</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_tcp": "vanlig DNS (över UDP)",
|
||||
"all_filters_up_to_date_toast": "Alla filter är redan aktuella",
|
||||
"updated_upstream_dns_toast": "Uppdaterade uppströms-dns-servrar",
|
||||
"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",
|
||||
"unblock_btn": "Avblockera",
|
||||
"block_btn": "Blockera",
|
||||
"unblock": "Avblockera",
|
||||
"block": "Blockera",
|
||||
"time_table_header": "Tid",
|
||||
"date": "Datum",
|
||||
"domain_name_table_header": "Domännamn",
|
||||
"type_table_header": "Typ",
|
||||
"response_table_header": "Svar",
|
||||
@@ -150,16 +160,25 @@
|
||||
"next_btn": "Nästa",
|
||||
"loading_table_status": "Läser in...",
|
||||
"page_table_footer_text": "Sida",
|
||||
"of_table_footer_text": "av",
|
||||
"rows_table_footer_text": "rader",
|
||||
"updated_custom_filtering_toast": "Uppdaterade de egna filterreglerna",
|
||||
"rule_removed_from_custom_filtering_toast": "Regel borttagen från de egna filterreglerna",
|
||||
"rule_added_to_custom_filtering_toast": "Regel tillagd till de egna filterreglerna",
|
||||
"query_log_response_status": "Status: {{value}}",
|
||||
"query_log_filtered": "Filtrerat av {{filter}}",
|
||||
"query_log_confirm_clear": "Är du säker på att du vill rensa hela förfrågningsloggen?",
|
||||
"query_log_cleared": "Förfrågningsloggen har rensats",
|
||||
"query_log_clear": "Rensa förfrågningsloggar",
|
||||
"query_log_retention": "Förfrågningsloggars retentionstid",
|
||||
"query_log_enable": "Aktivera logg",
|
||||
"query_log_configuration": "Logginställningar",
|
||||
"query_log_disabled": "Förfrågningsloggen är avaktiverad och kan konfigureras i <0>inställningar</0>",
|
||||
"query_log_strict_search": "Använd dubbla citattecken för strikt sökning",
|
||||
"query_log_retention_confirm": "Är du säker på att du vill ändra förfrågningsloggars retentionstid? Om du minskar intervallet kommer viss data att gå förlorad",
|
||||
"source_label": "Källa",
|
||||
"found_in_known_domain_db": "Hittad i domändatabas.",
|
||||
"category_label": "Kategori",
|
||||
"rule_label": "Regel",
|
||||
"filter_label": "Filter",
|
||||
"unknown_filter": "Okänt filter {{filterId}}",
|
||||
"install_welcome_title": "Välkommen till AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home är en DNS-server för nätverkstäckande annons- och spårningsblockering. Dess syfte är att de dig kontroll över hela nätverket och alla dina enheter, utan behov av att använda klientbaserade program.",
|
||||
@@ -253,9 +272,14 @@
|
||||
"dns_addresses": "DNS-adresser",
|
||||
"down": "Ner",
|
||||
"fix": "Fixa",
|
||||
"dns_providers": "Här är en <0>lista över kända DNS-leverantörer</0> att välja från.",
|
||||
"update_now": "Uppdatera nu",
|
||||
"update_failed": "Automatisk uppdatering misslyckad. Var god <a href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>följ stegen</a> för att uppdatera manuellt.",
|
||||
"processing_update": "Vänta, AdGuard Home uppdateras",
|
||||
"clients_title": "Klienter",
|
||||
"clients_desc": "Konfigurera enheter uppkopplade mot AdGuard Home",
|
||||
"settings_global": "Global",
|
||||
"settings_custom": "Anpassade",
|
||||
"table_client": "Klient",
|
||||
"table_name": "Namn",
|
||||
"save_btn": "Spara",
|
||||
@@ -264,12 +288,77 @@
|
||||
"client_edit": "Redigera klient",
|
||||
"client_identifier": "Identifikator",
|
||||
"ip_address": "IP-adress",
|
||||
"client_identifier_desc": "Klienter kan identifieras genom IP-adresser eller MAC-adresser. Notera att användning av MAC som identifierare bara är möjligt om AdGuard Home också är en <0>DHCP-server</0>",
|
||||
"form_enter_ip": "Skriv in IP",
|
||||
"form_enter_mac": "Skriv in MAC",
|
||||
"form_client_name": "Skriv in klientnamn",
|
||||
"client_global_settings": "Använda globala inställningar",
|
||||
"client_deleted": "Klient \"{{key}}\" har raderats",
|
||||
"client_added": "Klient \"{{key}}\" har lagts till",
|
||||
"client_updated": "Klient \"{{key}}\" har uppdaterats",
|
||||
"clients_not_found": "Inga klienter hittade",
|
||||
"client_confirm_delete": "Är du säker på att du vill ta bort klient \"{{key}}\"?",
|
||||
"auto_clients_title": "Klienter (körtid)",
|
||||
"auto_clients_desc": "Data från klienter som använder AdGuard Home, men inte är sparade i konfigurationen",
|
||||
"access_title": "Åtkomstinställningar",
|
||||
"access_desc": "Här kan du konfigurera åtkomstregler för AdGuard Homes DNS-server.",
|
||||
"access_allowed_title": "Tillåtna klienter",
|
||||
"access_allowed_desc": "En lista över CIDR eller IP-adresser. Om konfigurerad kommer AdGuard Home endast acceptera förfrågningar från dessa IP-adresser.",
|
||||
"access_disallowed_title": "Otillåtna klienter",
|
||||
"access_disallowed_desc": "En lista över CIDR eller IP-adresser. Om konfigurerad kommer AdGuard Home inte acceptera förfrågningar från dessa IP-adresser.",
|
||||
"access_blocked_title": "Blockerade domäner",
|
||||
"access_blocked_desc": "Ej att blandas ihop med filter. AdGuard Home kommer inte accepter DNS-förfrågningar innehållande dessa domäner.",
|
||||
"access_settings_saved": "Åtkomstinställningar sparade",
|
||||
"updates_checked": "Sökning efter uppdateringar genomförd",
|
||||
"updates_version_equal": "AdGuard Home är uppdaterat",
|
||||
"check_updates_now": "Sök efter uppdateringar nu",
|
||||
"dns_privacy": "DNS-Integritet",
|
||||
"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_3": "<0>Notera att krypterade DNS-protokoll endast stöds på Android 9. Du behöver därför installera ytterligare mjukvara för andra operativsystem.</0><0>Här är en lista över program du kan använda.</0>",
|
||||
"setup_dns_privacy_android_1": "Android 9 har inbyggt stöd för DNS-över-TLS. Konfigurera och uppge domännamn under Inställningar → Nätverk & Internet → Avancerat → Privat DNS.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard för Android</0> stödjer <1>DNS-över-HTTPS</1> samt <1>DNS-över-TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "<0>Intra</0> lägger till stöd för <1>DNS-ÖVER-HTTPS</1> till Android.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> stödjer <1>DNS-ÖVER-HTTPS</1>, men för konfigurering krävs att du använder dig egen server. Du behöver generera en <2>DNS-Stämpel</2> till programmet.",
|
||||
"setup_dns_privacy_ios_2": "<0>AdGuard för iOS</0> stödjer <1>DNS-över-HTTPS</1> samt <1>DNS-över-TLS</1>.",
|
||||
"setup_dns_privacy_other_title": "Andra implementeringar",
|
||||
"setup_dns_privacy_other_1": "AdGuard Home kan själv vara en säker DNS-klient på alla plattformar.",
|
||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0> stödjer alla bekräftat säkra DNS-protokoll.",
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> stödjer <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> stödjer <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_5": "Du kan hitta fler implementeringar <0>här</0> och <1>här</1>.",
|
||||
"setup_dns_notice": "För att kunna använda <1>DNS-över-HTTPS</1> eller <1>DNS-över-TLS</1>, behöver du <0>konfigurera Kryptering</0> i AdGuard Home-inställningar.",
|
||||
"rewrite_added": "DNS-omskrivning för \"{{key}}\" lyckad",
|
||||
"rewrite_deleted": "DNS-omskrivning för \"{{key}}\" har tagits bort",
|
||||
"interval_24_hour": "24 timmar",
|
||||
"domain": "Domän",
|
||||
"answer": "Svar"
|
||||
"answer": "Svar",
|
||||
"statistics_retention_desc": "Om du minskar intervallet kommer viss data att gå förlorad",
|
||||
"statistics_clear": " Rensa statistik",
|
||||
"statistics_clear_confirm": "Är du säker på att du vill radera statistiken?",
|
||||
"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",
|
||||
"interval_hours": "{{count}} timme",
|
||||
"interval_hours_plural": "{{count}} timmar",
|
||||
"filters_configuration": "Filterinställningar",
|
||||
"filters_enable": "Aktivera filter",
|
||||
"filters_interval": "Filterppdateringsintervall",
|
||||
"disabled": "Avaktiverad",
|
||||
"username_label": "Användarnamn",
|
||||
"username_placeholder": "Skriv in användarnamn",
|
||||
"password_label": "Lösenord",
|
||||
"password_placeholder": "Skriv in lösenord",
|
||||
"sign_in": "Logga in",
|
||||
"sign_out": "Logga ut",
|
||||
"forgot_password": "Glömt lösenord?",
|
||||
"forgot_password_desc": "Följ <0>dessa steg</0> för att skapa ett nytt lösenord till ditt konto.",
|
||||
"location": "Plats",
|
||||
"orgname": "Organisationsnamn",
|
||||
"netname": "Nätverksnamn",
|
||||
"descr": "Beskrivning",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Mer info</0> om att skapa dina egna blockeringslistor för värdar.",
|
||||
"show_blocked_responses": "Blockerade",
|
||||
"blocked_adult_websites": "Blockerade vuxensajter",
|
||||
"blocked_threats": "Blockerade hot"
|
||||
}
|
||||
417
client/src/__locales/th.json
Normal file
417
client/src/__locales/th.json
Normal file
@@ -0,0 +1,417 @@
|
||||
{
|
||||
"client_settings": "การตั้งค่าไคลเอนต์",
|
||||
"example_upstream_reserved": "คุณสามารถระบุ DNS อัปสตรีม <0>สำหรับโดเมนเฉพาะ</0>",
|
||||
"upstream_parallel": "ใช้การสืบค้นแบบขนานเพื่อเพิ่มความเร็วในการแก้ไขโดยการสอบถามเซิร์ฟเวอร์ upstream ทั้งหมดพร้อมกัน",
|
||||
"bootstrap_dns": "Bootstrap เซิร์ฟเวอร์ DNS",
|
||||
"bootstrap_dns_desc": "เซิร์ฟเวอร์ Bootstrap DNS ใช้เพื่อแก้ไขที่อยู่ IP ของตัวแก้ไข DoH / DoT ที่คุณระบุว่าเป็น upstreams",
|
||||
"check_dhcp_servers": "ตรวจสอบ DHCP servers",
|
||||
"save_config": "บันทึกการตั้งค่า",
|
||||
"enabled_dhcp": "เปิดการใช้งาน DHCP server แล้ว",
|
||||
"disabled_dhcp": "ปิดการใช้งาน DHCP server แล้ว",
|
||||
"dhcp_title": "DHCP server (ยังไม่สมบูรณ์)",
|
||||
"dhcp_description": "ถ้าหากเราเตอร์ของคุณไม่รองรับการตั้งค่า DHCP คุณสามารถใช้ ADGuard's ทำ DHCP server ได้",
|
||||
"dhcp_enable": "เปิด DHCP server",
|
||||
"dhcp_disable": "ปิด DHCP server",
|
||||
"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 สำเร็จแล้ว",
|
||||
"form_error_required": "ช่องที่ต้องกรอก",
|
||||
"form_error_ip4_format": "รูปแบบ IPv4 ไม่ถูกต้อง",
|
||||
"form_error_ip6_format": "รูปแบบ IPv6 ไม่ถูกต้อง",
|
||||
"form_error_ip_format": "รูปแบบ IP ไม่ถูกต้อง",
|
||||
"form_error_mac_format": "รูปแบบ MAC ไม่ถูกต้อง",
|
||||
"form_error_client_id_format": "รูปแบบ ID ลูกค้าไม่ถูกต้อง",
|
||||
"form_error_positive": "ต้องมากกว่า 0",
|
||||
"form_error_negative": "ต้องเท่ากับ 0 หรือมากกว่า",
|
||||
"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",
|
||||
"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> เราจะตั้งค่าที่อยู่ IP นี้เป็นแบบคงที่โดยอัตโนมัติหากคุณกดปุ่มเปิดใช้งาน DHCP",
|
||||
"dhcp_lease_added": "เพิ่มสัญญาเช่าคงที่ \"{{key}}\" สำเร็จแล้ว",
|
||||
"dhcp_lease_deleted": "ลบสัญญาเช่าคงที่ \"{{key}}\" สำเร็จแล้ว",
|
||||
"dhcp_new_static_lease": "เช่าใหม่คงที่",
|
||||
"dhcp_static_leases_not_found": "ไม่พบสัญญาเช่า DHCP แบบคงที่",
|
||||
"dhcp_add_static_lease": "เพิ่มสัญญาเช่าคงที่",
|
||||
"dhcp_reset": "คุณแน่ใจหรือว่าต้องการรีเซ็ตการกำหนดค่า DHCP?",
|
||||
"delete_confirm": "คุณแน่ใจหรือว่าต้องการลบ \"{{key}}\"?",
|
||||
"form_enter_hostname": "ป้อนชื่อโฮสต์",
|
||||
"error_details": "รายละเอียดข้อผิดพลาด",
|
||||
"back": "กลับ",
|
||||
"dashboard": "แผงควบคุม",
|
||||
"settings": "การตั้งค่า",
|
||||
"filters": "ตัวกรอง",
|
||||
"query_log": "บันทึกการสืบค้น",
|
||||
"faq": "คำถามที่พบบ่อย",
|
||||
"version": "รุ่น",
|
||||
"address": "ที่อยู่",
|
||||
"on": "เปิด",
|
||||
"off": "ปิด",
|
||||
"copyright": "ลิขสิทธิ์",
|
||||
"homepage": "หน้าหลัก",
|
||||
"report_an_issue": "รายงานปัญหา",
|
||||
"privacy_policy": "นโยบายความเป็นส่วนตัว",
|
||||
"enable_protection": "เปิดใช้งานการป้องกัน",
|
||||
"enabled_protection": "เปิดใช้งานการป้องกันแล้ว",
|
||||
"disable_protection": "ปิดใช้งานการป้องกัน",
|
||||
"disabled_protection": "ปิดใช้งานการป้องกันแล้ว",
|
||||
"refresh_statics": "รีเฟรชสถิติ",
|
||||
"dns_query": "การค้นหา DNS",
|
||||
"blocked_by": "<0>ถูกปิดกั้นโดยตัวกรอง</0>",
|
||||
"stats_malware_phishing": "ปิดกั้นมัลแวร์/ฟิชชิ่ง แล้ว",
|
||||
"stats_adult": "ปิดกั้นเว็บไซต์สำหรับผู้ใหญ่แล้ว",
|
||||
"stats_query_domain": "โดเมนที่เข้าบ่อยสุด",
|
||||
"for_last_24_hours": "ในช่วง 24 ชั่วโมงที่ผ่านมา",
|
||||
"for_last_days": "สำหรับ {{count}} วันสุดท้าย",
|
||||
"for_last_days_plural": "สำหรับ {{count}} วันล่าสุด",
|
||||
"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 ที่ถูกปิดกั้นโดยตัวกรองปิดกั้นและโฮสต์รายการปิดกั้น",
|
||||
"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 href='#filters'>ตัวกรอง</a>",
|
||||
"use_adguard_browsing_sec": "ใช้บริการเว็บการรักษาความปลอดภัยการเรียกดู AdGuard",
|
||||
"use_adguard_browsing_sec_hint": "AdGuard Home จะตรวจสอบว่าโดเมนอยู่ในรายการที่ไม่อนุญาตโดยเว็บเซอร์วิสความปลอดภัยการสืบค้นหรือไม่ จะใช้ API การค้นหาที่เป็นมิตรกับข้อมูลส่วนบุคคลเพื่อทำการตรวจสอบ: มีการส่งคำนำหน้าสั้น ๆ ของชื่อโดเมน SHA256 แฮชไปยังเซิร์ฟเวอร์",
|
||||
"use_adguard_parental": "ใช้บริการเว็บการควบคุมโดยผู้ปกครองของ AdGuard",
|
||||
"use_adguard_parental_hint": "AdGuard Home จะตรวจสอบว่าโดเมนมีเนื้อหาสำหรับผู้ใหญ่หรือไม่ มันใช้ API ความเป็นส่วนตัวเช่นเดียวกับบริการเว็บการรักษาความปลอดภัยการท่องเว็บ",
|
||||
"enforce_safe_search": "บังคับใช้การค้นหาที่ปลอดภัย",
|
||||
"enforce_save_search_hint": "AdGuard Home สามารถบังคับใช้การค้นหาที่ปลอดภัยในเครื่องมือค้นหาต่อไปนี้: Google, Youtube, Bing, DuckDuckGo, Yandex, Pixabay",
|
||||
"no_servers_specified": "ไม่ได้ระบุเซิร์ฟเวอร์",
|
||||
"general_settings": "การตั้งค่าทั่วไป",
|
||||
"dns_settings": "การตั้งค่า DNS",
|
||||
"encryption_settings": "การตั้งค่าการเข้ารหัส",
|
||||
"dhcp_settings": "การตั้งค่า DHCP",
|
||||
"upstream_dns": "เซิร์ฟเวอร์ DNS ต้นทาง",
|
||||
"upstream_dns_hint": "The current approved translation is not correct, please review my translation:\n\"หากคุณเว้นช่องนี้ว่างไว้ AdGuard Home จะใช้ <a href='https://www.quad9.net/' target='_blank'>Quad9</a> เป็นต้นทาง\"",
|
||||
"test_upstream_btn": "ทดสอบต้นทาง",
|
||||
"upstreams": "ต้นทาง",
|
||||
"apply_btn": "นำไปใช้",
|
||||
"disabled_filtering_toast": "ปิดใช้งานการกรอง",
|
||||
"enabled_filtering_toast": "เปิดใช้งานการกรอง",
|
||||
"disabled_safe_browsing_toast": "ปิดใช้งานการเรียกดูอย่างปลอดภัย",
|
||||
"enabled_safe_browsing_toast": "เปิดการใช้งาน safebrowsing",
|
||||
"disabled_parental_toast": "ปิดใช้งานการควบคุมโดยผู้ปกครอง",
|
||||
"enabled_parental_toast": "เปิดการใช้งานเข้าเว็บไม่พึงประสงค์",
|
||||
"disabled_safe_search_toast": "ปิดใช้งานการค้นหาที่ปลอดภัย",
|
||||
"enabled_save_search_toast": "เปิดใช้งานการค้นหาที่ปลอดภัย",
|
||||
"enabled_table_header": "เปิดใช้งาน",
|
||||
"name_table_header": "ชื่อ",
|
||||
"rules_count_table_header": "กฎการนับ",
|
||||
"last_time_updated_table_header": "ปรับปรุงครั้งล่าสุด",
|
||||
"actions_table_header": "การกระทำ",
|
||||
"edit_table_action": "แก้ไข",
|
||||
"delete_table_action": "ลบ",
|
||||
"filters_and_hosts_hint": "AdGuard Home เข้าใจกฎปิดกั้นโฆษณาพื้นฐานและโฮสต์ไฟล์ไวยากรณ์",
|
||||
"cancel_btn": "ยกเลิก",
|
||||
"enter_name_hint": "ป้อนชื่อ",
|
||||
"check_updates_btn": "ตรวจสอบการปรับปรุง",
|
||||
"custom_filter_rules": "กฎการกรองที่กำหนดเอง",
|
||||
"custom_filter_rules_hint": "ป้อนหนึ่งกฎในหนึ่งบรรทัด คุณสามารถใช้กฎปิดกั้นโฆษณาหรือโฮสต์ไฟล์ไวยากรณ์",
|
||||
"examples_title": "ตัวอย่าง",
|
||||
"example_meaning_filter_block": "ปิดกั้นการเข้าถึงโดเมน example.org และโดเมนย่อยทั้งหมด",
|
||||
"example_meaning_filter_whitelist": "เลิกปิดกั้นการเข้าถึงโดเมน example.org และโดเมนย่อยทั้งหมด",
|
||||
"example_meaning_host_block": "ตอนนี้ AdGuard Home จะส่งคืนที่อยู่ 127.0.0.1 สำหรับโดเมน example.org (แต่ไม่ใช่โดเมนย่อย)",
|
||||
"example_comment": "! นี่ความคิดเห็น",
|
||||
"example_comment_meaning": "เพียงความคิดเห็น",
|
||||
"example_comment_hash": "# นอกจากนี้ยังมีความคิดเห็น",
|
||||
"example_regex_meaning": "ปิดกั้นการเข้าถึงโดเมนที่ตรงกับนิพจน์ทั่วไปที่ระบุ",
|
||||
"example_upstream_regular": "DNS ปกติ (มากกว่า UDP)",
|
||||
"example_upstream_dot": "encrypted <0>DNS-over-TLS</0> แล้ว",
|
||||
"example_upstream_doh": "เข้ารหัส <0>DNS-over-HTTPS</0> แล้ว",
|
||||
"example_upstream_sdns": "คุณสามรถใช้ <0>DNS Stamps</0> กับ <1>DNSCrypt</1> หรือ <2>DNS-over-HTTPS</2> ตัวแก้ปัญหา",
|
||||
"example_upstream_tcp": "dNS ปกติ (ผ่าน TCP)",
|
||||
"updated_upstream_dns_toast": "อัปเดตเซิร์ฟเวอร์ DNS ต้นทาง",
|
||||
"dns_test_ok_toast": "เซิร์ฟเวอร์ DNS ที่ระบุทำงานอย่างถูกต้อง",
|
||||
"dns_test_not_ok_toast": "เซิร์ฟเวอร์ \"{{key}}\": ไม่สามารถใช้งานได้ โปรดตรวจสอบว่าคุณเขียนถูกต้อง",
|
||||
"unblock": "เลิกปิดกั้น",
|
||||
"block": "ปิดกั้น",
|
||||
"time_table_header": "เวลา",
|
||||
"domain_name_table_header": "ชื่อโดเมน",
|
||||
"type_table_header": "ประเภท",
|
||||
"response_table_header": "การตอบสนอง",
|
||||
"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_added_to_custom_filtering_toast": "เพิ่มกฎในกฎการกรองที่กำหนดเองแล้ว",
|
||||
"query_log_response_status": "สถานะ: {{value}}",
|
||||
"query_log_filtered": "กรองโดย {{filter}}",
|
||||
"query_log_confirm_clear": "คุณแน่ใจหรือไม่ว่าต้องการลบบันทึกการใช้งานทั้งหมด?",
|
||||
"query_log_cleared": "บันทึกการใช้งานได้รับการล้างเรียบร้อยแล้ว",
|
||||
"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": "คุณแน่ใจหรือไม่ว่าต้องการเปลี่ยนการเก็บข้อมูลบันทึกแบบสอบถาม? หากคุณลดค่าช่วงเวลา ข้อมูลบางอย่างจะหายไป",
|
||||
"dns_config": "การกำหนดค่าเซิร์ฟเวอร์ DNS",
|
||||
"blocking_mode": "โหมดการปิดกั้น",
|
||||
"default": "ค่าเริ่มต้น",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "IP ว่าง",
|
||||
"custom_ip": "IP กำหนดเอง",
|
||||
"blocking_ipv4": "ปิดกั้น IPv4",
|
||||
"blocking_ipv6": "ปิดกั้น IPv6",
|
||||
"form_enter_rate_limit": "ป้อนขีดจำกัดอัตรา",
|
||||
"rate_limit": "จำกัดอัตรา",
|
||||
"edns_enable": "เปิดใช้งานซับเน็ตไคลเอ็นต์ EDNS",
|
||||
"edns_cs_desc": "หากเปิดใช้งาน AdGuard Home จะส่งซับเน็ตของไคลเอนต์ไปยังเซิร์ฟเวอร์ DNS",
|
||||
"rate_limit_desc": "จำนวนการร้องขอต่อวินาทีที่อนุญาตให้ไคลเอนต์เดียวทำ (0: ไม่จำกัดจำนวน)",
|
||||
"blocking_ipv4_desc": "ที่อยู่ IP ที่จะส่งคืนสำหรับคำขอที่ถูกปิดกั้น",
|
||||
"blocking_ipv6_desc": "ที่อยู่ IP ที่จะส่งคืนสำหรับคำขอ AAAA ที่ถูกปิดกั้น",
|
||||
"blocking_mode_default": "เริ่มต้น: ตอบสนองด้วย NXDOMAIN เมื่อถูกปิดกั้นโดยกฎสไตล์ปิดกั้นโฆษณา; ตอบกลับด้วยที่อยู่ IP ที่ระบุในกฎเมื่อถูกปิดกั้นโดยกฎ /etc/hosts-hosts",
|
||||
"blocking_mode_nxdomain": "NXDOMAIN: ตอบสนองด้วยรหัส NXDOMAIN",
|
||||
"blocking_mode_null_ip": "Null IP: ตอบกลับด้วยที่อยู่เลขศูนย์ IP (0.0.0.0 สำหรับ A; :: สำหรับ AAAA)",
|
||||
"blocking_mode_custom_ip": "IP ที่กำหนดเอง: ตอบกลับด้วยที่อยู่ IP ที่ตั้งค่าด้วยตนเอง",
|
||||
"upstream_dns_client_desc": "หากคุณเว้นช่องนี้ว่างไว้ AdGuard Home จะใช้เซิร์ฟเวอร์ที่กำหนดค่าใน <0>การตั้งค่า DNS</0>",
|
||||
"source_label": "ที่มา",
|
||||
"found_in_known_domain_db": "พบในฐานข้อมูลโดเมนที่รู้จัก",
|
||||
"category_label": "ประเภท",
|
||||
"rule_label": "กฎ",
|
||||
"unknown_filter": "ตัวกรองที่ไม่รู้จัก {{filterId}}",
|
||||
"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 ของคุณ แม้ว่ามันจะสามารถเข้าถึงได้เฉพาะในเครือข่ายท้องถิ่นของคุณก็ยังคงเป็นสิ่งสำคัญที่จะปกป้องมันจากการเข้าถึงที่ไม่จำกัด",
|
||||
"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": "เซิร์ฟเวอร์ DNS ของ AdGuard Home กำลังรับฟังตามที่อยู่ต่อไปนี้",
|
||||
"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_windows_list_1": "เปิด Control Panel โดยใช้ Start menu หรือ Windows search",
|
||||
"install_devices_windows_list_2": "ไปที่หมวด Network and Internet แล้วเลือก Network and Sharing Center",
|
||||
"install_devices_windows_list_3": "ทางด้านซ้ายจะมีคำว่า Change adapter settings ให้กดเข้าไป",
|
||||
"install_devices_windows_list_4": "เลือกการเชื่อมต่อที่ใช้งานอยู่ คลิกขวาแล้วเลือก Properties",
|
||||
"install_devices_windows_list_5": "ค้นหา Internet Protocol Version 4 (TCP/IP) แล้วคลิก Properties อีกครั้ง",
|
||||
"install_devices_windows_list_6": "ค้นหา DNS server addresses ให้ทำการกรอกหมายเลข AdGuard Home ลงไปในช่อง",
|
||||
"install_devices_macos_list_1": "คลิกโลโก้แอปเปิ้ลแล้วกด System Preferences",
|
||||
"install_devices_macos_list_2": "คลิก Network",
|
||||
"install_devices_macos_list_3": "เลือกการเชื่อมต่อแล้วคลิก Advanced",
|
||||
"install_devices_macos_list_4": "ค้นหาแท็บ DNS แล้วกรอกหมาเลย AdGuard Home",
|
||||
"install_devices_android_list_1": "เข้าหน้าเมนู(บางรุ่นจะมีตรงแท็บการแจ้งเตือน) เลือกการตั้งค่า",
|
||||
"install_devices_android_list_2": "เลือกเมนู Wi-Fi แล้วค้นหา Wi-Fi ที่จะเชื่อมต่อ (ไม่สารถตั้งค่ากับเน็ตมือถือได้)",
|
||||
"install_devices_android_list_3": "แตะชื่อWi-Fi ที่จะเชื่อมต่อค้างไว้(บางรุ่นให้เลื่อนจอลงไปล่างสุด) เลือกการตั้งค่าเพิ่มเติม",
|
||||
"install_devices_android_list_4": "ในอุปกรณ์บางอย่างคุณอาจต้องทำเครื่องหมายในช่องสำหรับขั้นสูงเพื่อดูการตั้งค่าเพิ่มเติม หากต้องการปรับการตั้งค่า Android 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 ด้านซ้าย (ไม่สามรถใช้งานได้กับดาต้ามือถือ)",
|
||||
"install_devices_ios_list_3": "เลือกชื่อที่จะเชื่อมต่อ",
|
||||
"install_devices_ios_list_4": "กรอก DNS AdGuard Home Server ลงไปในช่อง",
|
||||
"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 ของคุณ",
|
||||
"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_certificates": "ใบรับรอง",
|
||||
"encryption_certificates_desc": "ในการใช้การเข้ารหัสคุณต้องระบุเชนใบรับรอง SSL ที่ถูกต้องสำหรับโดเมนของคุณ คุณสามารถรับใบรับรองฟรีได้ที่ <0>{{link}}</0> หรือคุณสามารถซื้อได้จากหนึ่งในผู้ออกใบรับรองที่เชื่อถือได้",
|
||||
"encryption_certificates_input": "คัดลอก/วางใบรับรองที่เข้ารหัส PEM ของคุณที่นี่",
|
||||
"encryption_status": "สถานะ",
|
||||
"encryption_expire": "หมดอายุ",
|
||||
"encryption_key": "รหัสส่วนตัว (Private key)",
|
||||
"encryption_key_input": "คัดลอก/วาง PEM-encoded private key ของคุณตรงนี้",
|
||||
"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": "คุณแน่ใจนะว่าจะล้างค่าการเข้ารหัส?",
|
||||
"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 href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'> ทำตามขั้นตอน </a> เพื่ออัพเดทด้วยตนเอง",
|
||||
"processing_update": "รอซักครู่ AdGuard Home กำลังอัปเดท",
|
||||
"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 addresses",
|
||||
"client_identifier_desc": "ลูกค้าสามารถระบุได้โดยที่อยู่ IP, CIDR, ที่อยู่ MAC โปรดทราบว่าการใช้ MAC เป็นตัวระบุเป็นไปได้ก็ต่อเมื่อ AdGuard Home เป็น <0>เซิร์ฟเวอร์ DHCP</0> ด้วย",
|
||||
"form_enter_ip": "กรอก IP",
|
||||
"form_enter_mac": "กรอก MAC",
|
||||
"form_enter_id": "ป้อนตัวระบุ",
|
||||
"form_add_id": "เพิ่มตัวระบุ",
|
||||
"form_client_name": "กรอกชื่อเครื่องลูกข่าย",
|
||||
"client_global_settings": "ใช้การตั้งค่าทั่วโลก",
|
||||
"client_deleted": "เครื่อง \"{{key}}\" ลบเรียบร้อยแล้ว",
|
||||
"client_added": "เครื่อง \"{{key}}\" เพิ่มเรียบร้อยแล้ว",
|
||||
"client_updated": "อัปเดตเครื่อง \"{{key}}\" สำเร็จแล้ว",
|
||||
"clients_not_found": "ไม่มีเครื่องลูกข่าย",
|
||||
"client_confirm_delete": "คุณแน่ใจนะว่าจะลบเครื่อง \"{{key}}\"?",
|
||||
"auto_clients_title": "เครื่อง (runtime)",
|
||||
"auto_clients_desc": "ข้อมูลเกี่ยวกับไคลเอนต์ที่ใช้ AdGuard Home แต่ไม่ได้เก็บไว้ในการกำหนดค่า",
|
||||
"access_title": "เข้าถึงการตั้งค่า",
|
||||
"access_desc": "ที่นี่คุณสามารถกำหนดค่ากฎการเข้าถึงสำหรับเซิร์ฟเวอร์ AdGuard Home DNS",
|
||||
"access_allowed_title": "ลูกค้าที่ได้รับอนุญาต",
|
||||
"access_allowed_desc": "รายการ CIDR หรือที่อยู่ IP หากกำหนดค่า AdGuard Home จะยอมรับคำขอจากที่อยู่ IP เหล่านี้เท่านั้น",
|
||||
"access_disallowed_title": "ลูกค้าไม่ได้รับอนุญาต",
|
||||
"access_disallowed_desc": "รายการ CIDR หรือที่อยู่ IP หากกำหนดค่าไว้ AdGuard Home จะส่งคำขอจากที่อยู่ IP เหล่านี้",
|
||||
"access_blocked_title": "โดเมนที่ถูกปิดกั้น",
|
||||
"check_updates_now": "ตรวจสอบการปรับปรุง",
|
||||
"setup_dns_privacy_other_title": "การใช้งานอื่น ๆ",
|
||||
"setup_dns_privacy_other_1": "AdGuard Home จะส่ง DNS ที่ปลอดภัยทุกเครื่อทุกระบบ\n",
|
||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0> รองรับโปรโตคอล DNS ที่ปลอดภัยที่รู้จักทั้งหมด",
|
||||
"rewrite_add": "เพิ่ม DNS rewrite",
|
||||
"form_domain": "ป้อนชื่อโดเมน",
|
||||
"form_answer": "ป้อนชื่อโดเมนหรือ IP",
|
||||
"form_error_domain_format": "รูปแบบ Domain ไม่ถูกต้อง",
|
||||
"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": "ตั้งค่าเส้นทาง certificates ",
|
||||
"encryption_certificates_source_content": "วางเนื้อหา certificates ",
|
||||
"encryption_key_source_path": "ตั้งค่าไฟล์กุญแจส่วนตัว",
|
||||
"encryption_key_source_content": "วางเนื้อหาคีย์ส่วนตัว",
|
||||
"stats_params": "การกำหนดค่าสถิติ",
|
||||
"config_successfully_saved": "บันทึกการตั้งค่าเรีบยร้อยแล้ว",
|
||||
"interval_24_hour": "24 ชั่วโมง",
|
||||
"interval_days": "{{count}} วัน",
|
||||
"interval_days_plural": "{{count}} วัน",
|
||||
"domain": "โดเมน",
|
||||
"answer": "คำตอบ",
|
||||
"filter_added_successfully": "ตัวกรองเพิ่มเรียบร้อยแล้ว",
|
||||
"filter_updated": "อัปเดตตัวกรองสำเร็จแล้ว",
|
||||
"statistics_configuration": "การกำหนดค่าสถิติ",
|
||||
"statistics_retention": "การเก็บรักษาสถิติ",
|
||||
"statistics_retention_desc": "หากคุณลดค่าช่วงเวลาข้อมูลบางอย่างจะหายไป",
|
||||
"statistics_clear": " ล้างค่าสถิติ",
|
||||
"statistics_clear_confirm": "คุณแน่ใจหรือไม่ว่าต้องการล้างสถิติ?",
|
||||
"statistics_retention_confirm": "คุณแน่ใจหรือไม่ว่าต้องการเปลี่ยนการเก็บรักษาสถิติ? หากคุณลดค่าช่วงเวลา ข้อมูลบางอย่างจะหายไป",
|
||||
"statistics_cleared": "สถิติได้ถูกล้างเรียบร้อยแล้ว",
|
||||
"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 หรือ IP ในการตอบกลับ",
|
||||
"try_again": "ลองอีกครั้ง",
|
||||
"domain_desc": "ป้อนชื่อโดเมนหรือไวด์การ์ดที่คุณต้องการเขียนใหม่",
|
||||
"example_rewrite_domain": "เขียนคำตอบซ้ำสำหรับชื่อโดเมนนี้เท่านั้น",
|
||||
"example_rewrite_wildcard": "เขียนคำตอบใหม่ทั้งหมดสำหรับ <0>example.org</0> โดเมนย่อย",
|
||||
"disable_ipv6": "ปิดใช้งาน IPv6",
|
||||
"disable_ipv6_desc": "หากเปิดใช้งานคุณสมบัตินี้การสืบค้น DNS ทั้งหมดสำหรับที่อยู่ IPv6 (ประเภท AAAA) จะถูกทิ้ง",
|
||||
"autofix_warning_text": "หากคุณคลิก \"แก้ไข\" AdGuardHome จะกำหนดค่าระบบของคุณเพื่อใช้เซิร์ฟเวอร์ AdGuardHome",
|
||||
"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": "ดังนั้น AdGuardHome จะประมวลผลคำขอ DNS ทั้งหมดจากระบบของคุณตามค่าเริ่มต้น",
|
||||
"tags_title": "แท็ก",
|
||||
"tags_desc": "คุณสามารถเลือกแท็กที่สอดคล้องกับลูกค้า แท็กสามารถรวมอยู่ในกฎการกรองและอนุญาตให้คุณใช้งานได้อย่างถูกต้องมากขึ้น <0>เรียนรู้เพิ่มเติม</0>",
|
||||
"form_select_tags": "เลือกแท็กเครื่อง",
|
||||
"check_title": "ตรวจสอบการกรอง",
|
||||
"check_desc": "ตรวจสอบว่าชื่อโฮสต์ถูกกรอง",
|
||||
"form_enter_host": "ป้อนชื่อโฮสต์"
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
"client_settings": "İstemci ayarları",
|
||||
"example_upstream_reserved": "<0>Belirli alan adları için</0> DNS üst sunucusu tanımlayabilirsiniz.",
|
||||
"upstream_parallel": "Tüm üst sunucuları eş zamanlı sorgulayarak çözümü hızlandırmak için paralel sorguları kullan",
|
||||
"parallel_requests": "Paralel istekler",
|
||||
"bootstrap_dns": "DNS Önyükleme sunucuları",
|
||||
"bootstrap_dns_desc": "DNS Önyükleme sunucuları, seçtiğiniz üst sunucuların DoH/DoT çözücülerine ait ip adreslerinin çözülmesi için kullanılır.",
|
||||
"check_dhcp_servers": "DHCP sunucularını yokla",
|
||||
@@ -19,9 +20,13 @@
|
||||
"dhcp_leases_not_found": "DHCP kiralaması bulunamadı",
|
||||
"dhcp_config_saved": "DHCP sunucusu ayarı kaydedildi",
|
||||
"form_error_required": "Gerekli alan",
|
||||
"form_error_ip4_format": "Geçersiz IPv4 formatı",
|
||||
"form_error_ip6_format": "Geçersiz IPv6 formatı",
|
||||
"form_error_ip_format": "Geçersiz IPv4 formatı",
|
||||
"form_error_mac_format": "Geçersiz MAC biçimi",
|
||||
"form_error_client_id_format": "Geçersiz müşteri kimliği formatı",
|
||||
"form_error_positive": "0'dan büyük olmalı",
|
||||
"form_error_negative": "0 veya daha büyük olmalıdır",
|
||||
"dhcp_form_gateway_input": "Ağ Geçidi IP'si",
|
||||
"dhcp_form_subnet_input": "Alt Ağ Maskesi",
|
||||
"dhcp_form_range_title": "IP adres aralığı",
|
||||
@@ -32,6 +37,7 @@
|
||||
"dhcp_interface_select": "DHCP arayüzünü seç",
|
||||
"dhcp_hardware_address": "Donanım adresi",
|
||||
"dhcp_ip_addresses": "IP adresleri",
|
||||
"ip": "IP Adresi",
|
||||
"dhcp_table_hostname": "Bilgisayar Adı",
|
||||
"dhcp_table_expires": "Geçerlilik Tarihi",
|
||||
"dhcp_warning": "Dahili DHCP sunucusunu etkinleştirmek istiyorsanız başka aktif DHCP sunucusu olmadığından emin olun. Aksi takdirde cihazlar internete bağlanamayabilir.",
|
||||
@@ -43,17 +49,22 @@
|
||||
"dhcp_new_static_lease": "Yeni sabit kiralama",
|
||||
"dhcp_static_leases_not_found": "Sabit DHCP kiralaması bulunamadı",
|
||||
"dhcp_add_static_lease": "Sabit kiralama ekle",
|
||||
"dhcp_reset": "DHCP yapılandırmasını sıfırlamak istediğinizden emin misiniz?",
|
||||
"country": "Ülke",
|
||||
"delete_confirm": "\"{{key}}\" silmek istediğinizden emin misiniz?",
|
||||
"form_enter_hostname": "Cihaz ismi girin",
|
||||
"error_details": "Hata detayları",
|
||||
"client_details": "İstemci detayları",
|
||||
"details": "Detaylar",
|
||||
"back": "Geri",
|
||||
"dashboard": "Pano",
|
||||
"settings": "Ayarlar",
|
||||
"filters": "Filtreler",
|
||||
"filter": "Filtre",
|
||||
"query_log": "Sorgu Günlüğü",
|
||||
"faq": "SSS",
|
||||
"version": "Sürüm",
|
||||
"address": "adres",
|
||||
"address": "Adres",
|
||||
"on": "AÇIK",
|
||||
"off": "KAPALI",
|
||||
"copyright": "Tüm hakları saklıdır",
|
||||
@@ -71,7 +82,7 @@
|
||||
"stats_adult": "Yetişkin içerikli site engellendi",
|
||||
"stats_query_domain": "En fazla sorgulanan alan adları",
|
||||
"for_last_24_hours": "son 24 saat içindekiler",
|
||||
"for_last_days": "son {{value}} gün için",
|
||||
"for_last_days": "son {{count}} gün için",
|
||||
"for_last_days_plural": "son {{count}} gün boyunca",
|
||||
"no_domains_found": "Alan adı bulunamadı",
|
||||
"requests_count": "İstek sayısı",
|
||||
@@ -79,7 +90,7 @@
|
||||
"top_clients": "En aktif istemciler",
|
||||
"no_clients_found": "İstemci bulunamadı",
|
||||
"general_statistics": "Genel istatistikler",
|
||||
"number_of_dns_query_days": "Son {{value}} 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_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 hosts listeleri tarafından engellenmiş DNS isteklerinin sayısı",
|
||||
@@ -100,11 +111,17 @@
|
||||
"no_servers_specified": "Sunucu adresi girilmedi",
|
||||
"general_settings": "Genel ayarlar",
|
||||
"dns_settings": "DNS ayarları",
|
||||
"dns_blocklists": "DNS blok listeleri",
|
||||
"dns_allowlists": "DNS izin listeleri",
|
||||
"dns_blocklists_desc": "AdGuard Home, blok listelerle eşleşen alanları engeller.",
|
||||
"dns_allowlists_desc": "DNS izin listelerindeki alanlara, engelleme listelerinden birinde olsalar bile izin verilir.",
|
||||
"custom_filtering_rules": "Özel filtreleme kuralları",
|
||||
"encryption_settings": "Şifreleme ayarları",
|
||||
"dhcp_settings": "DHCP ayarları",
|
||||
"upstream_dns": "Üst DNS sunucusu",
|
||||
"upstream_dns_hint": "Eğer bu alanı boş bırakırsanız AdGuard Home üst sunucu olarak <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> adresini kullanacaktır.",
|
||||
"test_upstream_btn": "Üst sunucuyu test et",
|
||||
"upstreams": "Upstreams",
|
||||
"apply_btn": "Uygula",
|
||||
"disabled_filtering_toast": "Filtreleme devre dışı",
|
||||
"enabled_filtering_toast": "Filtreleme çalışıyor",
|
||||
@@ -116,22 +133,31 @@
|
||||
"enabled_save_search_toast": "Güvenli arama çalışıyor",
|
||||
"enabled_table_header": "Etkin",
|
||||
"name_table_header": "İsim",
|
||||
"filter_url_table_header": "Filtre URL'si",
|
||||
"list_url_table_header": "Liste URL'si",
|
||||
"rules_count_table_header": "Kural sayısı",
|
||||
"last_time_updated_table_header": "Son güncelleme",
|
||||
"actions_table_header": "Eylemler",
|
||||
"request_table_header": "İstek",
|
||||
"edit_table_action": "Düzenle",
|
||||
"delete_table_action": "Sil",
|
||||
"filters_and_hosts": "Filtreler ve kullanıcının engelleme listeleri",
|
||||
"elapsed": "Geçen zaman",
|
||||
"filters_and_hosts_hint": "AdGuard Home temel reklam engelleme kurallarını ve hosts dosyalarının söz dizim kurallarını anlamaktadır.",
|
||||
"no_filters_added": "Eklenmiş filtre yok",
|
||||
"add_filter_btn": "Filtre ekle",
|
||||
"no_blocklist_added": "Hiçbir blok listesi eklenmedi",
|
||||
"no_whitelist_added": "Hiçbir izin listesi eklenmedi",
|
||||
"add_blocklist": "Engelleme listesi ekle",
|
||||
"add_allowlist": "İzin listesi ekle",
|
||||
"cancel_btn": "İptal",
|
||||
"enter_name_hint": "İsim girin",
|
||||
"enter_url_hint": "URL'yi girin",
|
||||
"enter_url_or_path_hint": "Bir URL ya da listenin tam yolunu girin",
|
||||
"check_updates_btn": "Güncellemeleri denetle",
|
||||
"new_filter_btn": "Yeni Filtre Aboneliği",
|
||||
"enter_valid_filter_url": "Filtre aboneliği veya bir hosts dosyası için geçerli bir URL girin.",
|
||||
"new_blocklist": "Yeni engelleme listesi",
|
||||
"new_allowlist": "Yeni izin listesi",
|
||||
"edit_blocklist": "Engelleme listesini düzenle",
|
||||
"edit_allowlist": "İzin listesini düzenle",
|
||||
"enter_valid_blocklist": "Engelleme listesine geçerli bir URL girin.",
|
||||
"enter_valid_allowlist": "İzin listesine geçerli bir URL girin.",
|
||||
"form_error_url_format": "Geçersiz url biçim",
|
||||
"form_error_url_or_path_format": "Geçersiz URL ya da listenin tam yolu",
|
||||
"custom_filter_rules": "İsteğe bağlı filtreleme kuralları",
|
||||
"custom_filter_rules_hint": "Her satıra bir kural girin. Reklama engelleme kuralı veya hosts dosyası söz dizimi kullanabilirsiniz.",
|
||||
"examples_title": "Örnekler",
|
||||
@@ -147,14 +173,16 @@
|
||||
"example_upstream_doh": "<0>DNS-over-HTTPS</0> şifrelemesi",
|
||||
"example_upstream_sdns": "<1>DNSCrypt</1> veya <2>DNS-over-HTTPS</2> çözücüleri için <0>DNS Damgaları</0> kullanabilirsiniz.",
|
||||
"example_upstream_tcp": "normal DNS (TCP üzerinden)",
|
||||
"all_filters_up_to_date_toast": "Tüm filtreler güncel durumda",
|
||||
"all_lists_up_to_date_toast": "Tüm listeler zaten güncel",
|
||||
"updated_upstream_dns_toast": "Üst DNS sunucuları güncellendi",
|
||||
"dns_test_ok_toast": "Belirtilmiş 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",
|
||||
"unblock_btn": "Engeli kaldır",
|
||||
"block_btn": "Engelle",
|
||||
"unblock": "Engeli kaldır",
|
||||
"block": "Engelle",
|
||||
"time_table_header": "Saat",
|
||||
"date": "Tarih",
|
||||
"domain_name_table_header": "Alan adı",
|
||||
"domain_or_client": "Alan adı veya istemci",
|
||||
"type_table_header": "Tür",
|
||||
"response_table_header": "Yanıt",
|
||||
"client_table_header": "İstemci",
|
||||
@@ -167,18 +195,49 @@
|
||||
"next_btn": "Sonraki",
|
||||
"loading_table_status": "Yükleniyor...",
|
||||
"page_table_footer_text": "Sayfa",
|
||||
"of_table_footer_text": "/",
|
||||
"rows_table_footer_text": "satır",
|
||||
"updated_custom_filtering_toast": "İsteğe bağlı filtreleme kuralları güncellendi",
|
||||
"rule_removed_from_custom_filtering_toast": "Kural isteğe bağlı filtreleme kurallarından kaldırıldı",
|
||||
"rule_added_to_custom_filtering_toast": "Kural isteğe bağlı filtreleme kurallarına eklendi",
|
||||
"query_log_response_status": "Durum: {{value}}",
|
||||
"query_log_filtered": "{{filter}} tarafından filtrelendi",
|
||||
"query_log_confirm_clear": "Tüm sorgu günlüğünü temizlemek istediğinizden emin misiniz?",
|
||||
"query_log_cleared": "Sorgu günlüğü başarıyla temizlendi",
|
||||
"query_log_clear": "Sorgu kayıtlarını temizle",
|
||||
"query_log_retention": "Sorgu kayıtlarının saklanması",
|
||||
"query_log_enable": "Günlük kaydını etkinleştir",
|
||||
"query_log_configuration": "Günlük yapılandırması",
|
||||
"query_log_disabled": "Sorgu günlüğü devre dışı bırakıldı ve <0>ayarlar</0>da yapılandırılabilir",
|
||||
"query_log_strict_search": "Katı 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",
|
||||
"anonymize_client_ip": "İstemci IP'sini anonimize et",
|
||||
"anonymize_client_ip_desc": "Tam IP adresini günlüğe ve istatistiklere kaydetme",
|
||||
"dns_config": "DNS sunucusu yapılandırması",
|
||||
"blocking_mode": "Engelleme modu",
|
||||
"default": "Varsayılan",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Boş IP",
|
||||
"custom_ip": "Özel IP",
|
||||
"blocking_ipv4": "IPv4 engelleme",
|
||||
"blocking_ipv6": "IPv6 engelleme",
|
||||
"dns_over_https": "DNS üzerinden HTTPS",
|
||||
"form_enter_rate_limit": "Sıklık limitini girin",
|
||||
"rate_limit": "Sıklık limiti",
|
||||
"edns_enable": "EDNS İstemci Alt Ağını Etkinleştir",
|
||||
"edns_cs_desc": "Etkinleştirilirse, AdGuard Home, istemcilerin alt ağlarını DNS sunucularına gönderir.",
|
||||
"rate_limit_desc": "Tek bir istemcinin saniye başına yapmasına izin verilen istek sayısı (0: sınırsız)",
|
||||
"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_mode_default": "Varsayılan: Adblock tarzı kural tarafından engellendiğinde NXDOMAIN ile yanıt verin; / etc / hosts-style kuralı tarafından engellendiğinde kuralda belirtilen IP adresiyle yanıt ver",
|
||||
"blocking_mode_nxdomain": "NXDOMAIN: NXDOMAIN koduyla yanıt",
|
||||
"blocking_mode_null_ip": "Boş IP: Sıfır IP adresiyle yanıtlayın (A için 0.0.0.0; :: AAAA için)",
|
||||
"blocking_mode_custom_ip": "Özel IP: Manuel olarak ayarlanmış bir IP adresiyle yanıt verin",
|
||||
"upstream_dns_client_desc": "Bu alanı boş tutarsanız, AdGuard Home, <0>DNS ayarlarında</0> yapılandırılmış sunucuları kullanır.",
|
||||
"source_label": "Kaynak",
|
||||
"found_in_known_domain_db": "Bilinen alan adları veri tabanı içinde bulundu",
|
||||
"category_label": "Kategori",
|
||||
"rule_label": "Kural",
|
||||
"filter_label": "Filtre",
|
||||
"list_label": "Liste",
|
||||
"unknown_filter": "Bilinmeyen filtre {{filterId}}",
|
||||
"install_welcome_title": "AdGuard Home'a hoşgeldiniz!",
|
||||
"install_welcome_desc": "AdGuard Home, ağ genelinde reklam ve izleyicileri engelleyen bir DNS sunucusudur. Tüm ağınızı ve tüm cihazlarınızı kontrol etmenize yarayan bir araçtır, istemci tarafında bir program kullanmanıza gerek duymaz.",
|
||||
@@ -191,6 +250,7 @@
|
||||
"install_settings_dns_desc": "Cihazlarınızı veya yönlendiricinizi şu adresteki DNS sunucusunu kullanması için ayarlamanız gerekecek:",
|
||||
"install_settings_all_interfaces": "Tüm arayüzler",
|
||||
"install_auth_title": "Kimlik Doğrulama",
|
||||
"install_auth_desc": "AdAdGuard Home yönetici web arayüzüne erişim için kullanıcı adı ve şifresi oluşturmanız şiddetle tavsiye edilir. Sadece yerel ağınız erişilebilir olsa bile izinsiz giriş yapılmasını engellemek için şifrenizin olması önemlidir.",
|
||||
"install_auth_username": "Kullanıcı adı",
|
||||
"install_auth_password": "Şifre",
|
||||
"install_auth_confirm": "Şifreyi onayla",
|
||||
@@ -207,6 +267,7 @@
|
||||
"install_devices_router_list_1": "Yönlendiricinizin ayarlarına girin. Genelde internet tarayıcınızdan bir URL vasıtasıyla erişebilirsiniz (http://192.168.0.1/ veya http://192.168.1.1/ gibi). Sizden şifre girmenizi isteyebilir. Hatırlamıyorsanız yönlendiricinizin arkasındaki 'reset' tuşuna basılı tutup fabrika ayarlarına sıfırlayabilirsiniz. Bazı yönlendiriciler belirli uygulamalarla çalışır, bu durumda bilgisayarınıza/telefonunuza kurulması gerekir.",
|
||||
"install_devices_router_list_2": "DHCP/DNS ayarlarını bulun. DNS satırlarını arayın, genelde iki veya üç tanedir, üç rakam girilebilen dört ayrı grup içeren satırdır.",
|
||||
"install_devices_router_list_3": "AdGuard Home sunucusunun adresini o kısma yazın.",
|
||||
"install_devices_router_list_4": "Bazı yönlendirici tiplerinde özel bir DNS sunucusu ayarlayamazsınız. Bu durumda AdGuard Home'u bir DHCP sunucu olarak ayarlamanız yardımcı olabilir. Aksi halde, yönlendirici modeliniz için <0>DNS sunucularını</0> elle nasıl özelleştirebileceğinizi aramalısınız.",
|
||||
"install_devices_windows_list_1": "Başlat menüsünden veya Windows aramasıyla Denetim Masası'na girin.",
|
||||
"install_devices_windows_list_2": "Ağ ve Internet kategorisine girin, sonra Ağ ve Paylaşım Merkezi'ne girin.",
|
||||
"install_devices_windows_list_3": "Sol taraftaki Bağdaştırıcı ayarlarını değiştir ayarını bulun ve ona tıklayın.",
|
||||
@@ -269,6 +330,8 @@
|
||||
"update_announcement": "AdGuard Home {{version}} şu an yüklenmeye hazır! Daha fazla bilgi için <0>buraya tıklayın.</0>",
|
||||
"setup_guide": "Kurulum rehberi",
|
||||
"dns_addresses": "DNS adresleri",
|
||||
"dns_start": "DNS sunucusu başlatılıyor",
|
||||
"dns_status_error": "DNS sunucusu durumunu alma hatası",
|
||||
"down": "kapalı",
|
||||
"fix": "Düzelt",
|
||||
"dns_providers": "Aralarından seçim yapabileceğiniz bilinen <0>DNS sağlayıcıların listesi</0>.",
|
||||
@@ -290,6 +353,8 @@
|
||||
"client_identifier_desc": "İstemciler IP adresleri veya MAC adresleri ile tanımlanabilir. Lütfen not edin, MAC adresi ile tanımlamayı kullanmak için AdGuard Home'un <0>DHCP Sunucusu</0> olması gerekir.",
|
||||
"form_enter_ip": "IP Girin",
|
||||
"form_enter_mac": "MAC Girin",
|
||||
"form_enter_id": "Tanımlayıcı girin",
|
||||
"form_add_id": "Tanımlayıcı ekle",
|
||||
"form_client_name": "İstemci ismi girin",
|
||||
"client_global_settings": "Genel ayarları kullan",
|
||||
"client_deleted": "\"{{key}}\" istemcisi başarıyla silindi",
|
||||
@@ -297,7 +362,7 @@
|
||||
"client_updated": "\"{{key}}\" istemcisi başarıyla güncellendi",
|
||||
"clients_not_found": "İstemci bulunamadı",
|
||||
"client_confirm_delete": "\"{{key}}\" istemcisini silmek istediğinizden emin misiniz?",
|
||||
"filter_confirm_delete": "Filtreyi silmek istediğinizden emin misiniz?",
|
||||
"list_confirm_delete": "Bu listeyi silmek istediğinizden emin misiniz?",
|
||||
"auto_clients_title": "İstemciler (çalışma zamanı)",
|
||||
"auto_clients_desc": "AdGuard Home'u kullanan, ancak yapılandırmada saklanmayan istemcilerdeki veriler",
|
||||
"access_title": "Erişim ayarları",
|
||||
@@ -335,6 +400,7 @@
|
||||
"rewrite_confirm_delete": "\"{{key}}\" için DNS yeniden yazımını silmek istediğinize emin misiniz?",
|
||||
"rewrite_desc": "Belirli bir alan adı için kolayca özel DNS yanıtı yapılandırmanıza olanak tanır.",
|
||||
"rewrite_applied": "Uygulanan Yeniden Yazım kuralı",
|
||||
"rewrite_hosts_applied": "Host dosyası kuralı tarafından yeniden yazıldı",
|
||||
"dns_rewrites": "DNS yeniden yazımları",
|
||||
"form_domain": "Alan adı girin",
|
||||
"form_answer": "IP adresini veya alan adı girin",
|
||||
@@ -359,14 +425,86 @@
|
||||
"stats_params": "İstatistik yapılandırması",
|
||||
"config_successfully_saved": "Yapılandırma başarıyla kaydedildi",
|
||||
"interval_24_hour": "24 saat",
|
||||
"interval_days": "{{value}} gün",
|
||||
"interval_days": "{{count}} gün",
|
||||
"interval_days_plural": "{{count}} gün",
|
||||
"domain": "Alan adı",
|
||||
"answer": "Cevap",
|
||||
"filter_added_successfully": "Filtre başarıyla eklendi",
|
||||
"filter_updated": "Filtre başarıyla güncellendi",
|
||||
"statistics_configuration": "İstatistik yapılandırması",
|
||||
"statistics_retention": "İstatistikleri depolama",
|
||||
"statistics_retention_desc": "Zaman değerini azaltırsanız bazı veriler kaybolacaktır",
|
||||
"statistics_clear": " İstatistikleri temizle",
|
||||
"statistics_clear_confirm": "İstatistikleri temizlemeyi istediğinizden emin misiniz?",
|
||||
"statistics_cleared": "İstatistikler başarıyla temizlendi"
|
||||
"statistics_retention_confirm": "İstatistik saklama süresini değiştirmek istediğinize emin misiniz? Aralık değerini azaltırsanız, bazı veriler kaybolacaktır",
|
||||
"statistics_cleared": "İstatistikler başarıyla temizlendi",
|
||||
"interval_hours": "{{count}} saat",
|
||||
"interval_hours_plural": "{{count}} saat",
|
||||
"filters_configuration": "Filtre yapılandırması",
|
||||
"filters_enable": "Filtreleri etkinleştir",
|
||||
"filters_interval": "Filtreleri güncelleme sıklığı",
|
||||
"disabled": "Devre dışı",
|
||||
"username_label": "Kullanıcı adı",
|
||||
"username_placeholder": "Kullanıcı adını girin",
|
||||
"password_label": "Parola",
|
||||
"password_placeholder": "Parolayı girin",
|
||||
"sign_in": "Oturum aç",
|
||||
"sign_out": "Oturumu kapat",
|
||||
"forgot_password": "Parolanızı mı unuttunuz?",
|
||||
"forgot_password_desc": "Kullanıcı hesabınız için yeni bir parola oluşturmak için lütfen <0>bu adımları</0> takip edin.",
|
||||
"location": "Konum",
|
||||
"orgname": "Organizasyon adı",
|
||||
"netname": "Ağ adı",
|
||||
"descr": "Açıklama",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "Ana makinelere dair kendi kara listelerinizi oluşturmakla alakalı <0>daha fazla bilgi edinin</0>.",
|
||||
"blocked_by_response": "Cevap olarak CNAME veya IP tarafından engellendi",
|
||||
"try_again": "Tekrar deneyin",
|
||||
"domain_desc": "Yeniden yazılmasını istediğiniz alan adını veya joker karakteri girin.",
|
||||
"example_rewrite_domain": "cevapları yalnızca bu alan adı için yeniden yaz.",
|
||||
"example_rewrite_wildcard": "tüm <0>example.org</0> alt alanları için cevapları yeniden yaz.",
|
||||
"disable_ipv6": "IPv6'yı Devre Dışı Bırak",
|
||||
"disable_ipv6_desc": "Bu özelliği etkinleştirirseniz, IPv6 adresleri (AAAA tipi) için gönderilen tüm DNS istekleri cevapsız bırakılacaktır.",
|
||||
"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ı IP adresini döndürün",
|
||||
"autofix_warning_text": "\"Düzelt\" i tıklatırsanız, AdGuardHome sisteminizi AdGuardHome DNS sunucusunu kullanacak şekilde yapılandırır.",
|
||||
"autofix_warning_list": "Bu görevleri gerçekleştirecektir: <0> sistemi DNSStubListener'ı devre dışı bırakma </0> <0> DNS sunucu adresini 127.0.0.1 olarak ayarlayın </0> <0> /etc/resolv.conf / / run / systemd sembolik bağlantı hedefini değiştirin /resolve/resolv.conf </0> <0> durdur DNSStubListener (sistemde yeniden çözülmüş hizmeti yeniden yükle) </0>",
|
||||
"autofix_warning_result": "Sonuç olarak, sisteminizden gelen tüm DNS istekleri varsayılan olarak AdGuardHome tarafından işlenir.",
|
||||
"tags_title": "Etiketler",
|
||||
"tags_desc": "İstemciye karşılık gelen etiketleri seçebilirsiniz. Etiketler, filtreleme kurallarına dahil edilebilir ve bunları daha doğru bir şekilde uygulamanıza olanak tanır. <0> Daha fazla bilgi edinin </0>",
|
||||
"form_select_tags": "Müşteri etiketlerini seçin",
|
||||
"check_title": "Filtrelemeyi kontrol edin",
|
||||
"check_desc": "Ana bilgisayar adının filtrelenip filtrelenmediğini kontrol edin",
|
||||
"check": "Kontrol",
|
||||
"form_enter_host": "Bir ana bilgisayar adı girin",
|
||||
"filtered_custom_rules": "Özel filtreleme kurallarına göre filtrelendi",
|
||||
"host_whitelisted": "Ana makine beyaz listeye alındı",
|
||||
"check_ip": "IP adresleri: {{ip}}",
|
||||
"check_cname": "CNAME: {{cname}}",
|
||||
"check_reason": "Sebep: {{reason}}",
|
||||
"check_rule": "Kural: {{rule}}",
|
||||
"check_service": "Hizmet adı: {{service}}",
|
||||
"check_not_found": "Filtre listelerinizde bulunamadı",
|
||||
"client_confirm_block": "\"{{ip}}\" istemcisini engellemek istediğinizden emin misiniz?",
|
||||
"client_confirm_unblock": "\"{{ip}}\" istemcisinin engellemesini kaldırmak istediğinizden emin misiniz?",
|
||||
"client_blocked": "\"{{ip}}\" istemcisi başarıyla engellendi",
|
||||
"client_unblocked": "\"{{ip}}\" müşterisinin engellemesi başarıyla kaldırıldı",
|
||||
"static_ip": "Statik IP adres",
|
||||
"static_ip_desc": "AdGuard Home bir sunucudur, bu nedenle düzgün çalışması için statik bir IP adresine ihtiyaç duyar. Aksi takdirde, bir noktada yönlendiriciniz bu cihaza farklı bir IP adresi atayabilir.",
|
||||
"set_static_ip": "Statik IP adresi ayarlama",
|
||||
"install_static_ok": "İyi haberler! Statik IP adresi zaten yapılandırılmış",
|
||||
"install_static_error": "AdGuard Home, bu ağ arayüzü için otomatik olarak yapılandıramaz. Lütfen bunu manuel olarak nasıl yapacağınıza ilişkin bir talimat arayın.",
|
||||
"install_static_configure": "Dinamik bir IP adresi kullanıldığını tespit ettik - <0> {{ip}} </0>. Statik adresiniz olarak kullanmak ister misiniz?",
|
||||
"confirm_static_ip": "AdGuard Home, {{ip}} adresini statik IP adresiniz olacak şekilde yapılandıracak. Devam etmek istiyor musunuz?",
|
||||
"list_updated": "{{count}} liste güncellendi",
|
||||
"list_updated_plural": "{{count}} liste güncellendi",
|
||||
"dnssec_enable": "DNSSEC'i etkinleştir",
|
||||
"dnssec_enable_desc": "DNSSEC'i giden DNS sorguları için etkinleştir ve sonucu kontrol et (DNSSEC-etkin sorgulama gerekli)",
|
||||
"show_blocked_responses": "Engellendi",
|
||||
"show_whitelisted_responses": "Beyazlisteye eklendi",
|
||||
"blocked_adult_websites": "Yetişkin içerikli site engellendi",
|
||||
"blocked_threats": "Engellenen Tehditler",
|
||||
"allowed": "İzin verildi",
|
||||
"blocklist": "Engellenen listesi",
|
||||
"port_53_faq_link": "Port 53 genellikle \"DNSStubListener\" veya \"sistemd-resolved\" hizmetler tarafından kullanılır. Lütfen problemin nasıl çözüleceğine ilişkin <0>bu talimatı</0> okuyun."
|
||||
}
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"client_settings": "Cài đặt máy khách",
|
||||
"example_upstream_reserved": "bạn có thể chỉ định DNS ngược tuyến <0>cho một tên miền cụ thể(hoặc nhiều)</0>",
|
||||
"upstream_parallel": "Sử dụng truy vấn song song để tăng tốc độ giải quyết bằng cách truy vấn đồng thời tất cả các máy chủ ngược tuyến",
|
||||
"parallel_requests": "Yêu cầu song song",
|
||||
"bootstrap_dns": "Máy chủ DNS Bootstrap",
|
||||
"bootstrap_dns_desc": "Máy chủ DNS Bootstrap được sử dụng để phân giải địa chỉ IP của bộ phân giải DoH/DoT mà bạn chỉ định là ngược tuyến.",
|
||||
"check_dhcp_servers": "Kiểm tra máy chủ DHCP",
|
||||
"save_config": "Lưu thiết lập",
|
||||
"enabled_dhcp": "Máy chủ DHCP đã kích hoạt",
|
||||
@@ -9,9 +15,46 @@
|
||||
"dhcp_disable": "Tắt máy chủ DHCP",
|
||||
"dhcp_not_found": "Không có máy chủ DHCP nào được tìm thấy trong mạng. Có thể bật máy chủ DHCP một cách an toàn",
|
||||
"dhcp_found": "Đã tìm thấy máy chủ DHCP trong mạng. Có thể có rủi ro nếu kích hoạt máy chủ DHCP dựng sẵn",
|
||||
"dhcp_leases": "Thuê DHCP",
|
||||
"dhcp_static_leases": "Thuê DHCP tĩnh",
|
||||
"dhcp_leases_not_found": "Không tìm thấy DHCP cho thuê",
|
||||
"dhcp_config_saved": "Đã lưu cấu hình máy chủ DHCP",
|
||||
"form_error_required": "Trường bắt buộc",
|
||||
"form_error_ip4_format": "Định dạng IPv4 không hợp lệ",
|
||||
"form_error_ip6_format": "Định dạng IPv6 không hợp lệ",
|
||||
"form_error_ip_format": "Định dạng IPv4 không hợp lệ",
|
||||
"form_error_mac_format": "Định dạng MAC không hợp lệ",
|
||||
"form_error_client_id_format": "Định dạng client ID không hợp lệ",
|
||||
"form_error_positive": "Phải lớn hơn 0",
|
||||
"form_error_negative": "Phải lớn hơn hoặc bằng 0",
|
||||
"dhcp_form_gateway_input": "Cổng IP",
|
||||
"dhcp_form_subnet_input": "Mặt nạ mạng con",
|
||||
"dhcp_form_range_title": "Phạm vi của địa chỉ IP",
|
||||
"dhcp_form_range_start": "Phạm vi bắt đầu",
|
||||
"dhcp_form_range_end": "IP kết thúc",
|
||||
"dhcp_form_lease_title": "Thời gian thuê DHCP (tính bằng giây)",
|
||||
"dhcp_form_lease_input": "Thời hạn thuê",
|
||||
"dhcp_interface_select": "Chọn một card mạng",
|
||||
"dhcp_hardware_address": "Địa chỉ phần cứng",
|
||||
"dhcp_ip_addresses": "Các địa chỉ IP",
|
||||
"ip": "IP",
|
||||
"dhcp_table_hostname": "Tên máy chủ",
|
||||
"dhcp_table_expires": "Hết hạn",
|
||||
"dhcp_warning": "Nếu bạn vẫn muốn bật máy chủ DHCP, hãy đảm bảo rằng không có máy chủ DHCP hoạt động nào khác trong mạng của bạn. Nếu không, nó có thể phá vỡ Internet cho các thiết bị được kết nối!",
|
||||
"dhcp_error": "Chúng tôi không thể xác định liệu có một máy chủ DHCP khác trong mạng hay không.",
|
||||
"dhcp_static_ip_error": "Để sử dụng máy chủ DHCP, phải đặt địa chỉ IP tĩnh. Chúng tôi không thể xác định xem giao diện mạng này có được cấu hình bằng địa chỉ IP tĩnh hay không. Vui lòng đặt địa chỉ IP tĩnh theo cách thủ công.",
|
||||
"dhcp_dynamic_ip_found": "Hệ thống của bạn sử dụng cấu hình địa chỉ IP động cho giao diện <0>{{interfaceName}}</0>. Để sử dụng máy chủ DHCP, phải đặt địa chỉ IP tĩnh. Địa chỉ IP hiện tại của bạn là <0>{{ipAddress}}</0>. Chúng tôi sẽ tự động đặt địa chỉ IP này thành tĩnh nếu bạn nhấn nút Bật DHCP.",
|
||||
"dhcp_lease_added": "Cho thuê tĩnh \"{{key}}\" đã được thêm thành công",
|
||||
"dhcp_lease_deleted": "Cho thuê tĩnh \"{{key}}\" đã xóa thành công",
|
||||
"dhcp_new_static_lease": "Cho thuê tĩnh mới",
|
||||
"dhcp_static_leases_not_found": "Không tìm thấy DHCP cho thuê tĩnh",
|
||||
"dhcp_add_static_lease": "Thêm thuê tĩnh",
|
||||
"dhcp_reset": "Bạn có chắc chắn muốn đặt lại thiết lập DHCP?",
|
||||
"country": "Quốc gia",
|
||||
"delete_confirm": "Bạn có chắc chắn muốn xóa \"{{key}}\" không?",
|
||||
"form_enter_hostname": "Nhập tên máy chủ",
|
||||
"error_details": "Chi tiết lỗi",
|
||||
"details": "Chi tiết",
|
||||
"back": "Quay lại",
|
||||
"dashboard": "Tổng quan",
|
||||
"settings": "Cài đặt",
|
||||
@@ -25,22 +68,29 @@
|
||||
"copyright": "Bản quyền",
|
||||
"homepage": "Trang chủ",
|
||||
"report_an_issue": "Báo lỗi",
|
||||
"privacy_policy": "Chính sách riêng tư",
|
||||
"enable_protection": "Bật bảo vệ",
|
||||
"enabled_protection": "Đã bật bảo vệ",
|
||||
"disable_protection": "Tắt bảo vệ",
|
||||
"disabled_protection": "Đã tắt bảo vệ",
|
||||
"refresh_statics": "Làm mới thống kê",
|
||||
"dns_query": "Truy vấn DNS",
|
||||
"blocked_by": "<0>Chặn bởi Bộ lọc</0>",
|
||||
"stats_malware_phishing": "Mã độc/lừa đảo đã chặn",
|
||||
"stats_adult": "Website người lớn đã chặn",
|
||||
"stats_query_domain": "Tên miền truy vấn nhiều",
|
||||
"for_last_24_hours": "trong 24 giờ qua",
|
||||
"for_last_days": "trong {{count}} ngày qua",
|
||||
"for_last_days_plural": "trong {{count}} ngày qua",
|
||||
"no_domains_found": "Không có tên miền nào",
|
||||
"requests_count": "Số lần yêu cầu",
|
||||
"top_blocked_domains": "Tên miền chặn nhiều",
|
||||
"top_clients": "Client dùng nhiều",
|
||||
"no_clients_found": "Không có client nào",
|
||||
"general_statistics": "Thống kê chung",
|
||||
"number_of_dns_query_days": "Một số truy vấn DNS được xử lý trong {{count}} ngày qua",
|
||||
"number_of_dns_query_days_plural": "Một số truy vấn DNS được xử lý trong {{count}} ngày qua",
|
||||
"number_of_dns_query_24_hours": "Số yêu cầu DNS đã xử lý trong 24 giờ qua",
|
||||
"number_of_dns_query_blocked_24_hours": "Số yêu cầu DNS bị chặn bởi bộ lọc quảng cáo và danh sách chặn host",
|
||||
"number_of_dns_query_blocked_24_hours_by_sec": "Số yêu cầu DNS bị chặn bởi chế độ bảo vệ duyệt web AdGuard",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "Số website người lớn đã chặn",
|
||||
@@ -58,6 +108,9 @@
|
||||
"enforce_save_search_hint": "AdGuard Home có thể bắt buộc tìm kiếm an toàn với các dịch vụ tìm kiếm: Google, Youtube, Bing, Yandex.",
|
||||
"no_servers_specified": "Không có máy chủ nào được liệt kê",
|
||||
"general_settings": "Cài đặt chung",
|
||||
"dns_settings": "Cài đặt DNS",
|
||||
"encryption_settings": "Cài đặt mã hóa",
|
||||
"dhcp_settings": "Cài đặt DHCP",
|
||||
"upstream_dns": "Máy chủ DNS tìm kiếm",
|
||||
"upstream_dns_hint": "Nếu bạn để trống mục này, AdGuard Home sẽ sử dụng <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> để tìm kiếm. Sử dụng tiền tố tls:// cho các máy chủ DNS dựa trên TLS.",
|
||||
"test_upstream_btn": "Kiểm tra",
|
||||
@@ -72,21 +125,16 @@
|
||||
"enabled_save_search_toast": "Đã bật tìm kiếm an toàn",
|
||||
"enabled_table_header": "Kích hoạt",
|
||||
"name_table_header": "Tên",
|
||||
"filter_url_table_header": "URL bộ lọc",
|
||||
"list_url_table_header": "Danh sách liên kết",
|
||||
"rules_count_table_header": "Số quy tắc",
|
||||
"last_time_updated_table_header": "Cập nhật cuối",
|
||||
"actions_table_header": "Thao tác",
|
||||
"edit_table_action": "Chỉnh sửa",
|
||||
"delete_table_action": "Xoá",
|
||||
"filters_and_hosts": "Danh sách bộ lọc và hosts",
|
||||
"filters_and_hosts_hint": "AdGuard home hiểu các quy tắc chặn quảng cáo đơn giản và cú pháp file hosts",
|
||||
"no_filters_added": "Không có bộ lọc nào được thêm",
|
||||
"add_filter_btn": "Thêm bộ lọc",
|
||||
"cancel_btn": "Huỷ",
|
||||
"enter_name_hint": "Nhập tên",
|
||||
"enter_url_hint": "Nhập URL",
|
||||
"check_updates_btn": "Kiểm tra cập nhật",
|
||||
"new_filter_btn": "Đăng ký bộ lọc mới",
|
||||
"enter_valid_filter_url": "Nhập URL hợp lệ của bộ lọc hoặc file hosts",
|
||||
"custom_filter_rules": "Quy tắc lọc tuỳ chỉnh",
|
||||
"custom_filter_rules_hint": "Nhập mỗi quy tắc 1 dòng. Có thể sử dụng quy tắc chặn quảng cáo hoặc cú pháp file host",
|
||||
"examples_title": "Ví dụ",
|
||||
@@ -96,19 +144,20 @@
|
||||
"example_comment": "! Đây là một chú thích",
|
||||
"example_comment_meaning": "Chỉ 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 <0>biểu thức chính được quy định</0>",
|
||||
"example_upstream_regular": "DNS thông thường (dùng UDP)",
|
||||
"example_upstream_dot": "được mã hoá <a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-over-TLS</a>",
|
||||
"example_upstream_doh": "được mã hoá <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a>",
|
||||
"example_upstream_sdns": "bạn có thể sử dụng <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS Stamps</a> for <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> hoặc<a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a> ",
|
||||
"example_upstream_dot": "được mã hoá <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "được mã hoá <0>DNS-over-HTTPS</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_tcp": "DNS thông thường(dùng TCP)",
|
||||
"all_filters_up_to_date_toast": "Tất cả bộ lọc đã được cập nhật",
|
||||
"updated_upstream_dns_toast": "Đã cập nhật máy chủ DNS tìm kiếm",
|
||||
"dns_test_ok_toast": "Máy chủ DNS có thể sử dụng",
|
||||
"dns_test_not_ok_toast": "Máy chủ \"\"': không thể sử dụng, vui lòng kiểm tra lại",
|
||||
"unblock_btn": "Bỏ chặn",
|
||||
"block_btn": "Chặn",
|
||||
"unblock": "Bỏ chặn",
|
||||
"block": "Chặn",
|
||||
"time_table_header": "Thời gian",
|
||||
"domain_name_table_header": "Tên miền",
|
||||
"domain_or_client": "Tên miền hoặc khách hàng",
|
||||
"type_table_header": "Loại",
|
||||
"response_table_header": "Phản hồi",
|
||||
"client_table_header": "Người dùng cuối",
|
||||
@@ -121,15 +170,279 @@
|
||||
"next_btn": "Trang sau",
|
||||
"loading_table_status": "Đang tải...",
|
||||
"page_table_footer_text": "Trang",
|
||||
"of_table_footer_text": "của",
|
||||
"rows_table_footer_text": "hàng",
|
||||
"updated_custom_filtering_toast": "Đã cập nhật quy tắc lọc tuỳ chỉnh",
|
||||
"rule_removed_from_custom_filtering_toast": "Quy tắc đã được xoá khỏi quy tắc lọc tuỳ chỉnh",
|
||||
"rule_added_to_custom_filtering_toast": "Quy tắc đã được thêm vào quy tắc lọc tuỳ chỉnh",
|
||||
"query_log_response_status": "Trạng thái: {{value}}",
|
||||
"query_log_filtered": "Được lọc bởi {{filter}}",
|
||||
"query_log_confirm_clear": "Bạn có chắc chắn muốn xóa toàn bộ nhật ký truy vấn không?",
|
||||
"query_log_cleared": "Nhật ký truy vấn đã được xóa thành công",
|
||||
"query_log_clear": "Xóa nhật ký truy vấn",
|
||||
"query_log_retention": "Lưu giữ nhật ký truy vấn",
|
||||
"query_log_enable": "Bật nhật ký",
|
||||
"query_log_configuration": "Cấu hình nhật ký",
|
||||
"query_log_disabled": "Nhật ký truy vấn bị vô hiệu hóa và có thể được định cấu hình trong <0>cài đặt</ 0>",
|
||||
"query_log_strict_search": "Sử dụng dấu ngoặc kép để tìm kiếm nghiêm ngặt",
|
||||
"query_log_retention_confirm": "Bạn có chắc chắn muốn thay đổi lưu giữ nhật ký truy vấn? Nếu bạn giảm giá trị khoảng, một số dữ liệu sẽ bị mất",
|
||||
"anonymize_client_ip": "Ẩn danh IP khách",
|
||||
"anonymize_client_ip_desc": "Không lưu địa chỉ IP đầy đủ của khách hàng trong nhật ký và thống kê",
|
||||
"dns_config": "Thiết lập máy chủ DNS",
|
||||
"blocking_mode": "Chế độ chặn",
|
||||
"nxdomain": "NXDOMAIN",
|
||||
"null_ip": "Địa chỉ IP rỗng",
|
||||
"custom_ip": "IP tuỳ chỉnh",
|
||||
"blocking_ipv4": "Chặn IPv4",
|
||||
"blocking_ipv6": "Chặn IPv6",
|
||||
"form_enter_rate_limit": "Nhập giới hạn yêu cầu",
|
||||
"rate_limit": "Giới hạn yêu cầu",
|
||||
"edns_cs_desc": "Nếu được bật, AdGuard Home sẽ gửi các mạng con của khách hàng đến các máy chủ DNS.",
|
||||
"rate_limit_desc": "Số lượng yêu cầu mỗi giây mà một khách hàng được phép thực hiện (0: không giới hạn)",
|
||||
"blocking_ipv4_desc": "Địa chỉ IP được trả lại cho một yêu cầu A bị chặn",
|
||||
"blocking_mode_default": "Mặc định: Trả lời với NXDOMAIN khi bị chặn bởi quy tắc kiểu Adblock; phản hồi với địa chỉ IP được chỉ định trong quy tắc khi bị chặn bởi quy tắc / etc / hosts-style",
|
||||
"source_label": "Nguồn",
|
||||
"found_in_known_domain_db": "Tìm thấy trong cơ sở dữ liệu tên miền",
|
||||
"category_label": "Thể loại",
|
||||
"rule_label": "Quy tắc",
|
||||
"filter_label": "Bộ lọc",
|
||||
"unknown_filter": "Bộ lọc không rõ {{filterId}}"
|
||||
"list_label": "Danh sách",
|
||||
"unknown_filter": "Bộ lọc không rõ {{filterId}}",
|
||||
"install_welcome_title": "Chào mừng bạn đến với AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home là một máy chủ DNS chặn quảng cáo và theo dõi trên toàn mạng. Mục đích của nó là cho phép bạn kiểm soát toàn bộ mạng và tất cả các thiết bị của mình và không yêu cầu sử dụng chương trình phía máy khách.",
|
||||
"install_settings_title": "Giao Diện Web Quản Trị",
|
||||
"install_settings_listen": "Giao diện nghe",
|
||||
"install_settings_port": "Cổng",
|
||||
"install_settings_interface_link": "Giao diện web quản trị viên AdGuard Home của bạn sẽ có sẵn trên các địa chỉ sau:",
|
||||
"form_error_port": "Nhập giá trị cổng hợp lệ",
|
||||
"install_settings_dns": "Máy chủ DNS",
|
||||
"install_settings_dns_desc": "Bạn sẽ cần định cấu hình thiết bị hoặc bộ định tuyến của mình để sử dụng máy chủ DNS trên các địa chỉ sau:",
|
||||
"install_settings_all_interfaces": "Tất cả các giao diện",
|
||||
"install_auth_title": "Xác thực",
|
||||
"install_auth_desc": "Rất khuyến khích cấu hình xác thực mật khẩu cho giao diện web quản trị viên AdGuard Home của bạn. Ngay cả khi nó chỉ có thể truy cập được trong mạng cục bộ của bạn, điều quan trọng là phải bảo vệ nó khỏi sự truy cập không hạn chế.",
|
||||
"install_auth_username": "Tên đăng nhập",
|
||||
"install_auth_password": "Mật khẩu",
|
||||
"install_auth_confirm": "Xác nhận mật khẩu",
|
||||
"install_auth_username_enter": "Nhập tên đăng nhập",
|
||||
"install_auth_password_enter": "Nhập mật khẩu",
|
||||
"install_step": "Bước",
|
||||
"install_devices_title": "Định cấu hình thiết bị của bạn",
|
||||
"install_devices_desc": "Để bắt đầu sử dụng AdGuard Home, bạn cần định cấu hình thiết bị của mình để sử dụng nó.",
|
||||
"install_submit_title": "Xin chúc mừng!",
|
||||
"install_submit_desc": "Quy trình thiết lập đã kết thúc và bạn đã sẵn sàng bắt đầu sử dụng AdGuard Home.",
|
||||
"install_devices_router": "Bộ định tuyến",
|
||||
"install_devices_router_desc": "Thiết lập này sẽ tự động bao gồm tất cả các thiết bị được kết nối với bộ định tuyến gia đình của bạn và bạn sẽ không cần phải định cấu hình từng thiết bị theo cách thủ công.",
|
||||
"install_devices_address": "Máy chủ DNS của AdGuard Home đang lắng nghe các địa chỉ sau",
|
||||
"install_devices_router_list_1": "Mở các tùy chọn cho bộ định tuyến của bạn. Thông thường, bạn có thể truy cập nó từ trình duyệt của mình thông qua một URL (như http://192.168.0.1/ hoặc http://192.168.1.1/). Bạn có thể được yêu cầu nhập mật khẩu. Nếu bạn không nhớ nó, bạn có thể thường xuyên đặt lại mật khẩu bằng cách nhấn một nút trên chính bộ định tuyến. Một số bộ định tuyến yêu cầu một ứng dụng cụ thể, trong trường hợp đó nên được cài đặt trên máy tính/điện thoại của bạn.",
|
||||
"install_devices_router_list_2": "Tìm cài đặt DHCP/DNS. Tìm các chữ cái DNS bên cạnh một trường cho phép hai hoặc ba bộ số, mỗi bộ được chia thành bốn nhóm từ một đến ba chữ số.",
|
||||
"install_devices_router_list_3": "Nhập địa chỉ máy chủ AdGuard Home của bạn ở đó.",
|
||||
"install_devices_windows_list_1": "Mở Control Panel thông qua Trình đơn Bắt đầu hoặc Tìm kiếm Windows.",
|
||||
"install_devices_windows_list_2": "Chuyển đến danh mục Mạng và Internet, sau đó đến Trung tâm Mạng và Chia sẻ.",
|
||||
"install_devices_windows_list_3": "Ở bên trái màn hình, tìm Thay đổi cài đặt bộ điều hợp và nhấp vào nó.",
|
||||
"install_devices_windows_list_4": "Chọn kết nối hoạt động của bạn, nhấp chuột phải vào nó và chọn Thuộc tính.",
|
||||
"install_devices_windows_list_5": "Tìm Giao Thức Internet Phiên Bản 4 (TCP/IP) trong danh sách, chọn nó và sau đó nhấp vào Thuộc tính một lần nữa.",
|
||||
"install_devices_windows_list_6": "Chọn Sử dụng các địa chỉ máy chủ DNS sau và nhập địa chỉ máy chủ AdGuard Home của bạn.",
|
||||
"install_devices_macos_list_1": "Nhấp vào biểu tượng Apple và đi đến Tùy Chọn Hệ Thống.",
|
||||
"install_devices_macos_list_2": "Nhấp vào Mạng.",
|
||||
"install_devices_macos_list_3": "Chọn kết nối đầu tiên trong danh sách của bạn và nhấp vào Nâng cao.",
|
||||
"install_devices_macos_list_4": "Chọn thẻ DNS và nhập địa chỉ máy chủ AdGuard Home của bạn.",
|
||||
"install_devices_android_list_1": "Từ màn hình chính của Trình Đơn Android, chạm Cài đặt.",
|
||||
"install_devices_android_list_2": "Nhấp Wi-Fi trên trình đơn. Màn hình liệt kê tất cả các mạng khả dụng sẽ được hiển thị (không thể đặt DNS tùy chỉnh cho kết nối di động).",
|
||||
"install_devices_android_list_3": "Nhấn và giữ mạng mà bạn đã kết nối và chạm Sửa Đổi Mạng.",
|
||||
"install_devices_android_list_4": "Trên một số thiết bị, bạn có thể cần chọn hộp Nâng cao để xem thêm cài đặt. Để điều chỉnh cài đặt DNS Android của bạn, bạn sẽ cần chuyển cài đặt IP từ DHCP sang Tĩnh.",
|
||||
"install_devices_android_list_5": "Thay đổi giá trị DNS 1 và DNS 2 thành địa chỉ máy chủ AdGuard Home của bạn.",
|
||||
"install_devices_ios_list_1": "Từ màn hình chính, chạm Cài đặt.",
|
||||
"install_devices_ios_list_2": "Chọn Wi-Fi trong trình đơn bên trái (không thể định cấu hình DNS cho mạng di động).",
|
||||
"install_devices_ios_list_3": "Chạm vào tên của mạng hiện đang hoạt động.",
|
||||
"install_devices_ios_list_4": "Trong trường DNS nhập địa chỉ máy chủ AdGuard Home của bạn.",
|
||||
"get_started": "Bắt Đầu",
|
||||
"next": "Tiếp",
|
||||
"open_dashboard": "Mở Bảng Điều Khiển",
|
||||
"install_saved": "Đã lưu thành công",
|
||||
"encryption_title": "Mã hóa",
|
||||
"encryption_desc": "Hỗ trợ mã hóa (HTTPS/TLS) cho cả giao diện web quản trị viên và DNS",
|
||||
"encryption_config_saved": "Đã lưu cấu hình mã hóa",
|
||||
"encryption_server": "Tên máy chủ",
|
||||
"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.",
|
||||
"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_https": "Cổng HTTPS",
|
||||
"encryption_https_desc": "Nếu cổng HTTPS được định cấu hình, giao diện quản trị viên AdGuard Home sẽ có thể truy cập thông qua HTTPS và nó cũng sẽ cung cấp DNS-over-HTTPS trên vị trí '/dns-query'.",
|
||||
"encryption_dot": "Cổng DNS-over-TLS",
|
||||
"encryption_dot_desc": "Nếu cổng này được định cấu hình, AdGuard Home sẽ chạy máy chủ DNS-over-TLS trên cổng này.",
|
||||
"encryption_certificates": "Giấy chứng nhận",
|
||||
"encryption_certificates_desc": "Để sử dụng mã hóa, bạn cần cung cấp chuỗi chứng chỉ SSL hợp lệ cho miền của mình. Bạn có thể nhận chứng chỉ miễn phí trên <0>{{link}}</0> hoặc bạn có thể mua chứng chỉ từ một trong các Cơ Quan Chứng Nhận tin cậy.",
|
||||
"encryption_certificates_input": "Sao chép/dán chứng chỉ được mã hóa PEM của bạn tại đây.",
|
||||
"encryption_status": "Trạng thái",
|
||||
"encryption_expire": "Hết hạn",
|
||||
"encryption_key": "Khóa riêng",
|
||||
"encryption_key_input": "Sao chép/dán khóa riêng được mã hóa PEM cho chứng chỉ của bạn tại đây.",
|
||||
"encryption_enable": "Kích Hoạt Mã Hóa (HTTPS, DNS-over-HTTPS và DNS-over-TLS)",
|
||||
"encryption_enable_desc": "Nếu mã hóa được bật, giao diện quản trị viên AdGuard Home sẽ hoạt động trên HTTPS và máy chủ DNS sẽ lắng nghe các yêu cầu qua DNS-over-HTTPS và DNS-over-TLS.",
|
||||
"encryption_chain_valid": "Chuỗi chứng chỉ hợp lệ",
|
||||
"encryption_chain_invalid": "Chuỗi chứng chỉ không hợp lệ",
|
||||
"encryption_key_valid": "Đây là khóa riêng {{type}} hợp lệ",
|
||||
"encryption_key_invalid": "Đây là khóa riêng {{type}} không hợp lệ",
|
||||
"encryption_subject": "Chủ đề",
|
||||
"encryption_issuer": "Phát hành",
|
||||
"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?",
|
||||
"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>.",
|
||||
"form_error_port_range": "Nhập giá trị cổng trong phạm vi 80-65535",
|
||||
"form_error_port_unsafe": "Đây là một cổng không an toàn",
|
||||
"form_error_equal": "Không nên bằng nhau",
|
||||
"form_error_password": "Mật khẩu không khớp",
|
||||
"reset_settings": "Đặt lại cài đặt",
|
||||
"update_announcement": "AdGuard Home {{version}} hiện có sẵn! <0>Chạm vào đây</0> để biết thêm thông tin.",
|
||||
"setup_guide": "Hướng dẫn thiết lập",
|
||||
"dns_addresses": "Địa chỉ DNS",
|
||||
"dns_start": "Máy chủ DNS đang khởi động",
|
||||
"dns_status_error": "Có lỗi khi kiểm tra trạng thái máy chủ DNS",
|
||||
"down": "Xuống",
|
||||
"fix": "Sửa",
|
||||
"dns_providers": "Dưới đây là một <0>danh sách của các nhà cung cấp DNS đã biết</0> để lựa chọn.",
|
||||
"update_now": "Cập nhật ngay",
|
||||
"update_failed": "Tự động cập nhật thất bại. Vui lòng <a href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>làm theo các bước</a> để cập nhật thủ công.",
|
||||
"processing_update": "Xin vui lòng chờ, AdGuard Home đang được cập nhật",
|
||||
"clients_title": "Máy khách",
|
||||
"clients_desc": "Định cấu hình thiết bị được kết nối với AdGuard Home",
|
||||
"settings_global": "Toàn cầu",
|
||||
"settings_custom": "Tùy chỉnh",
|
||||
"table_client": "Máy khách",
|
||||
"table_name": "Tên",
|
||||
"save_btn": "Lưu",
|
||||
"client_add": "Thêm Máy Khách",
|
||||
"client_new": "Máy Khách Mới",
|
||||
"client_edit": "Chỉnh Sửa Máy Khách",
|
||||
"client_identifier": "Định danh",
|
||||
"ip_address": "Địa chỉ IP",
|
||||
"client_identifier_desc": "Các máy khách có thể được xác định bằng địa chỉ IP hoặc địa chỉ MAC. Xin lưu ý rằng chỉ có thể sử dụng MAC làm định danh nếu AdGuard Home cũng là <0>máy chủ DHCP</0>",
|
||||
"form_enter_ip": "Nhập IP",
|
||||
"form_enter_mac": "Nhập MAC",
|
||||
"form_enter_id": "Nhập định danh",
|
||||
"form_add_id": "Thêm định danh",
|
||||
"form_client_name": "Nhập tên máy khách",
|
||||
"client_global_settings": "Sử dụng cài đặt toàn cầu",
|
||||
"client_deleted": "Máy khách \"{{key}}\" đã xóa thành công",
|
||||
"client_added": "Máy khách \"{{key}}\" đã thêm thành công",
|
||||
"client_updated": "Máy khách \"{{key}}\" đã cập nhật thành công",
|
||||
"clients_not_found": "Không tìm thấy máy khách",
|
||||
"client_confirm_delete": "Bạn có chắc chắn muốn xóa máy khách \"{{key}}\" không?",
|
||||
"auto_clients_title": "Máy khách (thời gian chạy)",
|
||||
"auto_clients_desc": "Dữ liệu trên các máy khách sử dụng AdGuard Home, nhưng không được lưu trong cấu hình",
|
||||
"access_title": "Cài đặt truy cập",
|
||||
"access_desc": "Tại đây bạn có thể định cấu hình quy tắc truy cập cho máy chủ AdGuard Home DNS.",
|
||||
"access_allowed_title": "Máy chủ được phép",
|
||||
"access_allowed_desc": "Một danh sách các địa chỉ CIDR hoặc IP. Nếu được định cấu hình, AdGuard Home sẽ chỉ chấp nhận các yêu cầu từ các địa chỉ IP này.",
|
||||
"access_disallowed_title": "Máy chủ không được phép",
|
||||
"access_disallowed_desc": "Một danh sách các địa chỉ CIDR hoặc IP. Nếu được định cấu hình, AdGuard Home sẽ bỏ yêu cầu từ các địa chỉ IP này.",
|
||||
"access_blocked_title": "Tên miền bị chặn",
|
||||
"access_blocked_desc": "Đừng nhầm lẫn điều này với các bộ lọc. AdGuard Home sẽ bỏ các truy vấn DNS với các tên miền này trong câu hỏi của truy vấn.",
|
||||
"access_settings_saved": "Cài đặt truy cập đã lưu thành công",
|
||||
"updates_checked": "Đã kiểm tra thành công 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ờ",
|
||||
"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_2": "<0>DNS-over-HTTPS:</0> Sử dụng chuỗi <1>{{address}}</1>.",
|
||||
"setup_dns_privacy_3": "<0>Xin lưu ý rằng các giao thức DNS được mã hóa chỉ được hỗ trợ trên Android 9. Vì vậy, bạn cần cài đặt phần mềm bổ sung cho các hệ điều hành khác.</0><0>Đây là danh sách các phần mềm bạn có thể sử dụng.</0>",
|
||||
"setup_dns_privacy_android_1": "Android 9 hỗ trợ DNS trên TLS nguyên bản. Để định cấu hình, hãy đi tới Cài đặt → Mạng & internet → Nâng cao → DNS Riêng Tư và nhập tên miền của bạn vào đó.",
|
||||
"setup_dns_privacy_android_2": "<0>AdGuard for Android</0> hỗ trợ <1>DNS-over-HTTPS</1> và <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_android_3": "<0>Intra</0> thêm <1>DNS-over-HTTPS</1> hỗ trợ cho Android.",
|
||||
"setup_dns_privacy_ios_1": "<0>DNSCloak</0> hỗ trợ <1>DNS-over-HTTPS</1>, nhưng để định cấu hình nó để sử dụng máy chủ của riêng bạn, bạn sẽ cần phải tạo một <2>DNS Stamp</2> cho nó.",
|
||||
"setup_dns_privacy_ios_2": "<0>AdGuard for iOS</0> hỗ trợ thiết lập <1>DNS-over-HTTPS</1> và <1>DNS-over-TLS</1>.",
|
||||
"setup_dns_privacy_other_title": "Triển khai khác",
|
||||
"setup_dns_privacy_other_1": "Bản thân AdGuard Home có thể là máy khách DNS an toàn trên mọi nền tảng.",
|
||||
"setup_dns_privacy_other_2": "<0>dnsproxy</0> hỗ trợ tất cả các giao thức DNS bảo mật đã biết.",
|
||||
"setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> hỗ trợ <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> hỗ trợ <1>DNS-over-HTTPS</1>.",
|
||||
"setup_dns_privacy_other_5": "Bạn sẽ tìm thấy nhiều triển khai hơn <0>tại đây</0> và <1>tại đây</1>.",
|
||||
"setup_dns_notice": "Để sử dụng <1>DNS-over-HTTPS</1> hoặc <1>DNS-over-TLS</1>, bạn cần <0>định cấu hình Mã hóa</0> trong cài đặt AdGuard Home.",
|
||||
"rewrite_added": "DNS viết lại cho \"{{key}}\" đã thêm thành công",
|
||||
"rewrite_deleted": "DNS viết lại cho \"{{key}}\" đã xóa thành công",
|
||||
"rewrite_add": "Thêm DNS viết lại",
|
||||
"rewrite_not_found": "Không tìm thấy DNS viết lại",
|
||||
"rewrite_confirm_delete": "Bạn có chắc chắn muốn xóa DNS viết lại cho \"{{key}}\" không?",
|
||||
"rewrite_desc": "Cho phép dễ dàng định cấu hình tùy chỉnh DNS phản hồi cho một tên miền cụ thể.",
|
||||
"rewrite_applied": "Đã áp dụng quy tắc Viết lại",
|
||||
"dns_rewrites": "DNS viết lại",
|
||||
"form_domain": "Nhập tên miền",
|
||||
"form_answer": "Nhập địa chỉ IP hoặc tên miền",
|
||||
"form_error_domain_format": "Định dạng tên miền không hợp lệ",
|
||||
"form_error_answer_format": "Định dạng câu trả lời không hợp lệ",
|
||||
"configure": "Cấu hình",
|
||||
"main_settings": "Cài đặt chính",
|
||||
"block_services": "Chặn các dịch vụ cụ thể",
|
||||
"blocked_services": "Dịch vụ bị chặn",
|
||||
"blocked_services_desc": "Cho phép nhanh chóng chặn các trang web và dịch vụ phổ biến.",
|
||||
"blocked_services_saved": "Dịch vụ bị chặn đã lưu thành công",
|
||||
"blocked_services_global": "Sử dụng các dịch vụ bị chặn toàn cầu",
|
||||
"blocked_service": "Dịch vụ bị chặn",
|
||||
"block_all": "Chặn tất cả",
|
||||
"unblock_all": "Bỏ chặn tất cả",
|
||||
"encryption_certificate_path": "Đường dẫn chứng chỉ",
|
||||
"encryption_private_key_path": "Đường dẫn khóa riêng",
|
||||
"encryption_certificates_source_path": "Đặt đường dẫn tệp chứng chỉ",
|
||||
"encryption_certificates_source_content": "Dán nội dung chứng chỉ",
|
||||
"encryption_key_source_path": "Đặt tệp khóa riêng",
|
||||
"encryption_key_source_content": "Dán nội dung khóa riêng",
|
||||
"stats_params": "Cấu hình thống kê",
|
||||
"config_successfully_saved": "Cấu hình được lưu thành công",
|
||||
"interval_24_hour": "24 giờ",
|
||||
"interval_days": "{{count}} ngày",
|
||||
"interval_days_plural": "{{count}} ngày",
|
||||
"domain": "Tên miền",
|
||||
"answer": "Trả lời",
|
||||
"filter_added_successfully": "Bộ lọc đã được thêm thành công",
|
||||
"statistics_configuration": "Cấu hình thống kê",
|
||||
"statistics_retention": "Duy trì thống kê",
|
||||
"statistics_retention_desc": "Nếu bạn giảm giá trị khoảng, một số dữ liệu sẽ bị mất",
|
||||
"statistics_clear": " Xoá thống kê",
|
||||
"statistics_clear_confirm": "Bạn có chắc chắn muốn xóa số liệu thống kê?",
|
||||
"statistics_retention_confirm": "Bạn có chắc chắn muốn thay đổi lưu giữ số liệu thống kê? Nếu bạn giảm giá trị khoảng, một số dữ liệu sẽ bị mất",
|
||||
"statistics_cleared": "Xoá thống kê thành công",
|
||||
"interval_hours": "{{count}} giờ",
|
||||
"interval_hours_plural": "{{count}} giờ",
|
||||
"filters_configuration": "Cấu hình bộ lọc",
|
||||
"filters_enable": "Kích hoạt bộ lọc",
|
||||
"filters_interval": "Khoảng thời gian cập nhật bộ lọc",
|
||||
"disabled": "Đã vô hiệu",
|
||||
"username_label": "Tên đăng nhập",
|
||||
"username_placeholder": "Nhập tên đăng nhập",
|
||||
"password_label": "Mật khẩu",
|
||||
"password_placeholder": "Nhập mật khẩu",
|
||||
"sign_in": "Đăng nhập",
|
||||
"sign_out": "Đăng xuất",
|
||||
"forgot_password": "Quên mật khẩu?",
|
||||
"forgot_password_desc": "Vui lòng làm theo <0>các bước này</0> để tạo mật khẩu mới cho tài khoản người dùng của bạn.",
|
||||
"location": "Vị trí",
|
||||
"orgname": "Tên tổ chức",
|
||||
"netname": "Tên mạng",
|
||||
"descr": "Mô tả",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>Tìm hiểu thêm</0> về việc tạo danh sách chặn máy chủ của riêng bạn.",
|
||||
"blocked_by_response": "Chặn bởi CNAME hoặc địa IP ở phản hồi",
|
||||
"try_again": "Hãy thử lại",
|
||||
"fastest_addr_desc": "Truy vấn tất cả các máy chủ DNS và trả về địa chỉ IP nhanh nhất trong số tất cả các phản hồi",
|
||||
"autofix_warning_text": "Nếu bạn nhấp vào \"Khắc phục\", AdGuard Home sẽ định cấu hình hệ thống của bạn để sử dụng máy chủ DNS của AdGuard Home.",
|
||||
"autofix_warning_result": "Do đó, tất cả các yêu cầu DNS từ hệ thống của bạn sẽ được AdGuard Home xử lý theo mặc định.",
|
||||
"tags_title": "Thẻ",
|
||||
"tags_desc": "Bạn có thể chọn các thẻ tương ứng với khách hàng. Thẻ có thể được bao gồm trong các quy tắc lọc và cho phép bạn áp dụng chúng chính xác hơn. <0>Tìm hiểu thêm</0>",
|
||||
"form_select_tags": "Chọn thẻ khách hàng",
|
||||
"check_title": "Kiểm tra bộ lọc",
|
||||
"check_desc": "Kiểm tra xem tên máy chủ có được lọc không",
|
||||
"check": "Kiểm tra",
|
||||
"check_ip": "Địa chỉ IP: {{ip}}",
|
||||
"check_rule": "Quy tắc: {{rule}}",
|
||||
"check_not_found": "Không tìm thấy trong danh sách bộ lọc của bạn",
|
||||
"static_ip": "Địa chỉ IP tĩnh",
|
||||
"dnssec_enable": "Bật DNSSEC",
|
||||
"dnssec_enable_desc": "Cắm mốc DNSSEC trong các truy vấn DNS sắp tới và kiểm tra kết quả (buộc phải có trình sửa lỗi hỗ trợ DNSSEC)",
|
||||
"show_blocked_responses": "Bị chặn",
|
||||
"show_whitelisted_responses": "Đã thêm vào danh sách cho phép",
|
||||
"show_processed_responses": "Đã xử lý",
|
||||
"blocked_adult_websites": "Website người lớn đã chặn",
|
||||
"blocked_threats": "Mối nguy hiểm đã chặn",
|
||||
"allowed": "Được phép",
|
||||
"safe_search": "Tìm kiếm an toàn"
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "客户端设置",
|
||||
"example_upstream_reserved": "您可以<0>为特定域</0>指定上游 DNS",
|
||||
"upstream_parallel": "通过同时查询所有上流服务器以使用并行查询加速解析",
|
||||
"example_upstream_reserved": "您可以将上游DNS 服务器<0>指定为特定域名</0>",
|
||||
"upstream_parallel": "通过同时查询所有上游服务器,使用并行请求以加速解析",
|
||||
"parallel_requests": "并行请求",
|
||||
"load_balancing": "负载均衡",
|
||||
"load_balancing_desc": "一次查询一台服务器。 AdGuard Home将使用加权随机算法来选择服务器,以便更频繁地使用最快的服务器。",
|
||||
"bootstrap_dns": "Bootstrap DNS 服务器",
|
||||
"bootstrap_dns_desc": "Bootstrap DNS 服务器用于解析您指定为上游的 DoH / DoT 解析器的 IP 地址。",
|
||||
"check_dhcp_servers": "检查 DHCP 服务器",
|
||||
@@ -9,19 +12,23 @@
|
||||
"enabled_dhcp": "DHCP 服务器已启用",
|
||||
"disabled_dhcp": "DHCP 服务器已禁用",
|
||||
"dhcp_title": "DHCP 服务器(实验性)",
|
||||
"dhcp_description": "如果你的路由器没有提供动态主机设置协议(DHCP)设置,你可以使用 AdGuard 内置的 DHCP 服务器。",
|
||||
"dhcp_description": "如果你的路由器没有提供 DHCP (动态主机配置协议)设置,你可以使用 AdGuard 内置的 DHCP 服务器。",
|
||||
"dhcp_enable": "启用 DHCP 服务器",
|
||||
"dhcp_disable": "禁用 DHCP 服务器",
|
||||
"dhcp_not_found": "在当前网络中未检测到 DHCP 服务器。您可以安全地启用内置 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_leases_not_found": "未找到 DHCP 租约",
|
||||
"dhcp_config_saved": "已保存 DHCP 服务器配置",
|
||||
"form_error_required": "必填字段",
|
||||
"form_error_ip4_format": "无效的 IPv4 格式",
|
||||
"form_error_ip6_format": "无效的 IPv6 格式",
|
||||
"form_error_ip_format": "无效的 IPv4 格式",
|
||||
"form_error_mac_format": "无效的 MAC 格式",
|
||||
"form_error_client_id_format": "无效的客户端 ID 格式",
|
||||
"form_error_positive": "必须大于 0",
|
||||
"form_error_negative": "必须大于等于 0",
|
||||
"dhcp_form_gateway_input": "网关 IP",
|
||||
"dhcp_form_subnet_input": "子网掩码",
|
||||
"dhcp_form_range_title": "IP 地址范围",
|
||||
@@ -32,28 +39,40 @@
|
||||
"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_warning": "如果你想要启用内置的 DHCP 服务器,请确保在当前网络中没有其它起作用的 DHCP 服务器。否则,此操作可能会破坏已连接设备的网络连接!",
|
||||
"dhcp_error": "我们无法确定在当前网络中是否存在其它 DHCP 服务器。",
|
||||
"dhcp_static_ip_error": "要使用 DHCP 服务器,则必须设置静态 IP 地址。我们无法确定此网络接口是否已被配置为使用静态 IP 地址。请手动为此网络接口设置静态 IP 地址。",
|
||||
"dhcp_dynamic_ip_found": "您的系统对网络接口 <0>{{interfaceName}}</0> 使用了动态 IP 地址配置。要使用 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": "您确定要重置DHCP设定么?",
|
||||
"country": "国家",
|
||||
"city": "城市",
|
||||
"delete_confirm": "您确定要删除 \"{{key}}\"?",
|
||||
"form_enter_hostname": "输入主机名称",
|
||||
"error_details": "详细错误信息",
|
||||
"response_details": "响应细节",
|
||||
"request_details": "请求详情",
|
||||
"client_details": "客户端详情",
|
||||
"details": "详细信息",
|
||||
"back": "返回",
|
||||
"dashboard": "仪表盘",
|
||||
"settings": "设置",
|
||||
"filters": "过滤器",
|
||||
"filter": "过滤器",
|
||||
"query_log": "查询日志",
|
||||
"compact": "紧凑",
|
||||
"nothing_found": "没找到",
|
||||
"faq": "常见问题",
|
||||
"version": "版本",
|
||||
"address": "地址",
|
||||
"protocol": "协议",
|
||||
"on": "启用中",
|
||||
"off": "禁用中",
|
||||
"copyright": "版权",
|
||||
@@ -66,16 +85,22 @@
|
||||
"disabled_protection": "保护已禁用",
|
||||
"refresh_statics": "刷新状态",
|
||||
"dns_query": "DNS查询",
|
||||
"blocked_by": "<0>已被过滤器拦截</0>",
|
||||
"stats_malware_phishing": "被拦截的恶意/钓鱼网站",
|
||||
"stats_adult": "被拦截的成人网站",
|
||||
"stats_query_domain": "请求域名排行",
|
||||
"for_last_24_hours": "在过去 24 小时",
|
||||
"for_last_days": "最近 {{count}} 天",
|
||||
"for_last_days_plural": "最近 {{count}} 天",
|
||||
"no_domains_found": "未找到域名",
|
||||
"requests_count": "请求数",
|
||||
"top_blocked_domains": "被拦截域名排行",
|
||||
"top_clients": "客户端排行",
|
||||
"no_clients_found": "未找到客户端",
|
||||
"general_statistics": "概况统计",
|
||||
"number_of_dns_query_days": "过去 {{count}} 天内 处理的DNS 查询总数",
|
||||
"number_of_dns_query_days_plural": "在过去的 {{count}} 天内处理了多少个 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_by_sec": "被 AdGuard 安全浏览模块拦截的 DNS 请求总数",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "被拦截的成人网站总数",
|
||||
@@ -94,11 +119,17 @@
|
||||
"no_servers_specified": "未找到指定的服务器",
|
||||
"general_settings": "常规设置",
|
||||
"dns_settings": "DNS 设置",
|
||||
"dns_blocklists": "DNS封锁清单",
|
||||
"dns_allowlists": "DNS允许清单",
|
||||
"dns_blocklists_desc": "AdGuard Home将阻止匹配DNS拦截清单的域名",
|
||||
"dns_allowlists_desc": "来自DNS允许列表的域将被允许,即使它们位于任意阻止列表中也是如此",
|
||||
"custom_filtering_rules": "自定义过滤规则",
|
||||
"encryption_settings": "加密设置",
|
||||
"dhcp_settings": "DHCP 设置",
|
||||
"upstream_dns": "上游 DNS 服务器",
|
||||
"upstream_dns_hint": "如果此处留空,AdGuard Home 将会使用 <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> 作为上游 DNS。如果想要使用使用 DNS over TLS,请以 tls:// 为开头。",
|
||||
"upstream_dns_hint": "如果此处留空,AdGuard Home 将会使用 <a href='https://www.quad9.net/' target='_blank'>Quad9</a> 作为上游。",
|
||||
"test_upstream_btn": "测试上游 DNS",
|
||||
"upstreams": "上游服务器",
|
||||
"apply_btn": "应用",
|
||||
"disabled_filtering_toast": "过滤器已禁用",
|
||||
"enabled_filtering_toast": "过滤器已启用",
|
||||
@@ -110,22 +141,33 @@
|
||||
"enabled_save_search_toast": "安全搜索已启用",
|
||||
"enabled_table_header": "已启用",
|
||||
"name_table_header": "名称",
|
||||
"filter_url_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": "删除",
|
||||
"filters_and_hosts": "过滤器和 Hosts 拦截清单",
|
||||
"elapsed": "耗时",
|
||||
"filters_and_hosts_hint": "AdGuard Home 可以解析基础的 adblock 规则和 Hosts 语法。",
|
||||
"no_filters_added": "未添加任何过滤器",
|
||||
"add_filter_btn": "添加过滤器",
|
||||
"no_blocklist_added": "未添加阻止列表",
|
||||
"no_whitelist_added": "未添加允许列表",
|
||||
"add_blocklist": "添加阻止列表",
|
||||
"add_allowlist": "添加允许列表",
|
||||
"cancel_btn": "取消",
|
||||
"enter_name_hint": "输入名称",
|
||||
"enter_url_hint": "输入 URL",
|
||||
"enter_url_or_path_hint": "请输入URL或列表的绝对路径",
|
||||
"check_updates_btn": "检查更新",
|
||||
"new_filter_btn": "订阅新的过滤器",
|
||||
"enter_valid_filter_url": "输入一个过滤器订阅或 Hosts 文件的有效 URL",
|
||||
"new_blocklist": "新封锁清单",
|
||||
"new_allowlist": "新的允许清单",
|
||||
"edit_blocklist": "编辑阻止列表",
|
||||
"edit_allowlist": "编辑允许列表",
|
||||
"choose_blocklist": "选择拦截列表",
|
||||
"choose_allowlist": "选择允许列表",
|
||||
"enter_valid_blocklist": "输入有效的阻止列表URL",
|
||||
"enter_valid_allowlist": "输入有效的允许列表URL",
|
||||
"form_error_url_format": "无效的URL格式",
|
||||
"form_error_url_or_path_format": "无效的URL或列表的绝对路径",
|
||||
"custom_filter_rules": "自定义过滤器规则",
|
||||
"custom_filter_rules_hint": "请确保每行只输入一条规则。你可以输入符合 adblock 语法或 Hosts 语法的规则。",
|
||||
"examples_title": "范例",
|
||||
@@ -135,21 +177,25 @@
|
||||
"example_comment": "! 这是一行注释",
|
||||
"example_comment_meaning": "只是一条注释",
|
||||
"example_comment_hash": "# 这也是一行注释",
|
||||
"example_regex_meaning": "阻止访问与<0>指定的正则表达式</0>匹配的域",
|
||||
"example_upstream_regular": "常规 DNS(基于 UDP)",
|
||||
"example_upstream_dot": "加密 <a href='https://en.wikipedia.org/wiki/DNS_over_TLS' target='_blank'>DNS-over-TLS</a>",
|
||||
"example_upstream_doh": "加密 <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a>",
|
||||
"example_upstream_sdns": "你可以使用 <a href='https://dnscrypt.info/' target='_blank'>DNSCrypt</a> 的 <a href='https://dnscrypt.info/stamps/' target='_blank'>DNS Stamps</a> 或者 <a href='https://en.wikipedia.org/wiki/DNS_over_HTTPS' target='_blank'>DNS-over-HTTPS</a> 解析器",
|
||||
"example_upstream_dot": "加密 <0>DNS-over-TLS</0>",
|
||||
"example_upstream_doh": "加密 <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "你可以使用 <1>DNSCrypt</1> 的 <0>DNS Stamps</0> 或者 <2>DNS-over-HTTPS</2> 解析器",
|
||||
"example_upstream_tcp": "常规 DNS(基于 TCP )",
|
||||
"all_filters_up_to_date_toast": "所有过滤器已更新至最新",
|
||||
"all_lists_up_to_date_toast": "所有列表都是最新的",
|
||||
"updated_upstream_dns_toast": "上游 DNS 已更新",
|
||||
"dns_test_ok_toast": "指定的 DNS 服务器现已正常运行",
|
||||
"dns_test_not_ok_toast": "服务器 \"{{key}}\":无法使用,请检查你输入的是否正确",
|
||||
"unblock_btn": "放行",
|
||||
"block_btn": "拦截",
|
||||
"unblock": "放行",
|
||||
"block": "拦截",
|
||||
"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": "显示所有",
|
||||
@@ -160,17 +206,57 @@
|
||||
"next_btn": "下一页",
|
||||
"loading_table_status": "加载中……",
|
||||
"page_table_footer_text": "页",
|
||||
"of_table_footer_text": "在",
|
||||
"rows_table_footer_text": "行",
|
||||
"updated_custom_filtering_toast": "自定义过滤规则已更新",
|
||||
"rule_removed_from_custom_filtering_toast": "规则已从自定义过滤规则列表中移除",
|
||||
"rule_added_to_custom_filtering_toast": "规则已添加到自定义过滤规则列表中",
|
||||
"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": "无效域名",
|
||||
"null_ip": "无效 IP",
|
||||
"custom_ip": "自定义 IP",
|
||||
"blocking_ipv4": "拦截 IPv4",
|
||||
"blocking_ipv6": "拦截 IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "无加密DNS",
|
||||
"form_enter_rate_limit": "输入限制速率",
|
||||
"rate_limit": "速度限制",
|
||||
"edns_enable": "使用客户端的子网地址(EDNS)",
|
||||
"edns_cs_desc": "启用后AdGuard Home将会向DNS服务器发送客户端的子网地址进行查询",
|
||||
"rate_limit_desc": "每个客户端每秒钟查询次数的限制 (0:不限制)",
|
||||
"blocking_ipv4_desc": "拦截 A 记录请求返回的 IP 地址",
|
||||
"blocking_ipv6_desc": "拦截 AAAA 记录请求返回的 IP 地址",
|
||||
"blocking_mode_default": "默认:被Adblock规则拦截时以NXDOMAIN码响应;被/etc/hosts规则拦截时返回规则中指定IP",
|
||||
"blocking_mode_nxdomain": "NXDOMAIN:以NXDOMAIN码响应",
|
||||
"blocking_mode_null_ip": "空IP:以零IP地址响应(A记录 0.0.0.0;AAAA记录 ::)",
|
||||
"blocking_mode_custom_ip": "自定IP:以手动设置的IP地址响应",
|
||||
"upstream_dns_client_desc": "如果将此字段留空,AdGuard Home 将使用在<0>DNS设置</0>中配置的服务器。",
|
||||
"tracker_source": "追踪器来源",
|
||||
"source_label": "源",
|
||||
"found_in_known_domain_db": "成功在已知域名数据库中查询到",
|
||||
"category_label": "类别",
|
||||
"rule_label": "规则",
|
||||
"filter_label": "过滤器",
|
||||
"list_label": "列表",
|
||||
"unknown_filter": "未知过滤器 {{filterId}}",
|
||||
"known_tracker": "已知跟踪器",
|
||||
"install_welcome_title": "欢迎使用 AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home 是一个可在特定网络范围内拦截所有广告和跟踪器的 DNS 服务器。它的目的是让您控制整个网络和您的所有设备,且不需要使用任何客户端程序。",
|
||||
"install_settings_title": "网页管理界面",
|
||||
@@ -182,6 +268,7 @@
|
||||
"install_settings_dns_desc": "您将需要使用以下地址来设置您的设备或路由器的 DNS 服务器:",
|
||||
"install_settings_all_interfaces": "所有接口",
|
||||
"install_auth_title": "身份认证",
|
||||
"install_auth_desc": "我们强烈建议您为 AdGuard Home 的网页管理界面配置密码。即使该页面只能通过您的本地网络访问,但避免它被不加限制地访问仍十分重要。",
|
||||
"install_auth_username": "用户名",
|
||||
"install_auth_password": "密码",
|
||||
"install_auth_confirm": "确认密码",
|
||||
@@ -198,6 +285,7 @@
|
||||
"install_devices_router_list_1": "打开您的路由器配置界面。通常情况下,您可以通过浏览器访问地址(如 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 设置为 DHCP 服务器,可能会有所帮助。否则您应该查找如何根据特定路由器型号设置 DNS 服务器的使用手册。\n",
|
||||
"install_devices_windows_list_1": "通过开始菜单或 Windows 搜索功能打开控制面板。",
|
||||
"install_devices_windows_list_2": "点击进入 ”网络和 Internet“ 后,再次点击进入 “网络和共享中心”",
|
||||
"install_devices_windows_list_3": "在窗口的左侧找到 ”更改适配器设置“ 并点击进入。",
|
||||
@@ -260,6 +348,8 @@
|
||||
"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>。",
|
||||
@@ -281,14 +371,17 @@
|
||||
"client_identifier_desc": "客户端可通过 IP 地址或 MAC 地址识别。请注意,如 AdGuard Home 也是 <0>DHCP 服务器</0>,则仅能将 MAC 用作标识符",
|
||||
"form_enter_ip": "输入 IP",
|
||||
"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}}\"?",
|
||||
"filter_confirm_delete": "您确定是要删除过滤器?",
|
||||
"list_confirm_delete": "您确定要删除此列表吗?",
|
||||
"auto_clients_title": "客户端(运行时间)",
|
||||
"auto_clients_desc": "使用 Adguard Home 但未存储在配置中的客户端上的数据",
|
||||
"access_title": "访问设置",
|
||||
@@ -297,8 +390,8 @@
|
||||
"access_allowed_desc": "CIDR 或 IP 地址列表。如配置,则 AdGuard Home 仅会接受源自这些 IP 地址的请求。",
|
||||
"access_disallowed_title": "不允许的客户端",
|
||||
"access_disallowed_desc": "CIDR 或 IP 地址列表。如配置,则 AdGuard Home 会放弃源自这些 IP 地址的请求。",
|
||||
"access_blocked_title": "拦截的域",
|
||||
"access_blocked_desc": "不要与过滤器混淆。在查询问题时 AdGuard Home 会放弃源自这些域的 DNS 查询。",
|
||||
"access_blocked_title": "不允许的域名",
|
||||
"access_blocked_desc": "不要将此功能与过滤器混淆。AdGuard Home 将在查询时删除具有这些网域的 DNS 查询。在此可以明确指定域名、通配符(wildcard)和网址过滤器规则,例如 'example.org'、'*.example.org' 或 '||example.org^'。",
|
||||
"access_settings_saved": "访问设置保存成功",
|
||||
"updates_checked": "检查更新成功",
|
||||
"updates_version_equal": "AdGuard Home已经是最新版本",
|
||||
@@ -318,5 +411,157 @@
|
||||
"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_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_deleted": "已成功删除 \"{{key}}\" 的 DNS 重写",
|
||||
"rewrite_add": "添加 DNS 重写",
|
||||
"rewrite_not_found": "未找到 DNS 重写",
|
||||
"rewrite_confirm_delete": "您确定要删除 \"{{key}}\" 的 DNS 重写?",
|
||||
"rewrite_desc": "可以轻松地配置特定的域名的自定义 DNS 响应。",
|
||||
"rewrite_applied": " 重定向规则已应用",
|
||||
"rewrite_hosts_applied": "根据hosts文件规则已被重写",
|
||||
"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_24_hour": "24 小时",
|
||||
"interval_days": "{{count}} 天",
|
||||
"interval_days_plural": "{{count}} 天",
|
||||
"domain": "域名",
|
||||
"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": "统计数据已成功清除",
|
||||
"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>关于创建自己的hosts清单。",
|
||||
"blocked_by_response": "因响应的CNAME或IP被屏蔽",
|
||||
"blocked_by_cname_or_ip": "按CNAME或IP拦截",
|
||||
"try_again": "重试",
|
||||
"domain_desc": "输入您要重写的域名或通配符。",
|
||||
"example_rewrite_domain": "仅重写此域名的响应。",
|
||||
"example_rewrite_wildcard": "重写所有<0>example.org</0> 子域的响应。",
|
||||
"rewrite_ip_address": "IP地址:在 A或AAAA响应中使用这个IP",
|
||||
"rewrite_domain_name": "域名 :添加一个CNAME记录",
|
||||
"rewrite_A": "<0>A</0>:特殊值,保持来自上游的<0>A</0>记录",
|
||||
"rewrite_AAAA": "<0>AAAA</0>:特殊值,保持来自上游的<0>AAAA</0>记录",
|
||||
"disable_ipv6": "禁用 IPv6",
|
||||
"disable_ipv6_desc": "启用后,所有IPv6地址 (type AAAA) 的DNS查询都会被丢弃。",
|
||||
"fastest_addr": "最快的 IP 地址",
|
||||
"fastest_addr_desc": "查询所有DNS服务器并返回所有响应中速度最快的IP地址。因必须等待全部DNS服务器均有所回应,因而会降低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_result": "因此,默认情况下所有来自系统的DNS请求都将由AdGuardHome处理。",
|
||||
"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_rule": "规则:{{rule}}",
|
||||
"check_service": "服务名称:{{service}}",
|
||||
"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": "我们检测到一个动态IP地址—<0>{{ip}}</0>被使用。您想把它作为您的静态地址吗?",
|
||||
"confirm_static_ip": "AdGuard Home 将把{{ip}} 配置为您的静态IP地址。您想要继续吗?",
|
||||
"list_updated": "{{count}} 列表已更新",
|
||||
"list_updated_plural": "{{count}} 条列表已更新",
|
||||
"dnssec_enable": "启用DNSSEC",
|
||||
"dnssec_enable_desc": "在发出DNS查询中设置DNSSEC标志并检查结果(需要启用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": "毫秒",
|
||||
"cache_size": "缓存大小",
|
||||
"cache_size_desc": "DNS缓存大小 (单位:字节)",
|
||||
"cache_ttl_min_override": "覆盖最小TTL值",
|
||||
"cache_ttl_max_override": "覆盖最大TTL值",
|
||||
"enter_cache_size": "输入缓存大小",
|
||||
"enter_cache_ttl_min_override": "输入最小TTL值",
|
||||
"enter_cache_ttl_max_override": "输入最大TTL值",
|
||||
"cache_ttl_min_override_desc": "覆盖从上游服务器接收到的TTL值 (最小)。这个值不能超过3600秒(1小时)",
|
||||
"cache_ttl_max_override_desc": "覆盖从上游服务器接收到的TTL值(最大)",
|
||||
"min_exceeds_max_value": "最小值超过最大值",
|
||||
"value_not_larger_than": "值不能大于{{maximum}}",
|
||||
"filter_category_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": "其他阻止列表",
|
||||
"original_response": "原始响应",
|
||||
"click_to_view_queries": "点击查看查询",
|
||||
"port_53_faq_link": "53端口常被DNSStubListener或systemdn解析的服务占用。请阅读<0>这份关于如何解决这一问题的说明</0>"
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"client_settings": "用戶端設定",
|
||||
"example_upstream_reserved": "您可明確指定<0>用於特定的網域</0>之 DNS 上游",
|
||||
"upstream_parallel": "透過同時地查詢所有上游的伺服器,使用並行的查詢以加速解析",
|
||||
"upstream_parallel": "透過同時地查詢所有上游的伺服器,使用並行的查詢以加速解析網域",
|
||||
"parallel_requests": "並行的請求",
|
||||
"load_balancing": "負載平衡",
|
||||
"load_balancing_desc": "每次查詢一個伺服器。AdGuard Home 將使用加權隨機的演算法來選擇伺服器,以便最快的伺服器將被更常使用。",
|
||||
"bootstrap_dns": "自我啟動(Bootstrap)DNS 伺服器",
|
||||
"bootstrap_dns_desc": "自我啟動(Bootstrap)DNS 伺服器被用於解析您明確指定作為上游的 DoH/DoT 解析器之 IP 位址。",
|
||||
"check_dhcp_servers": "檢查動態主機設定協定(DHCP)伺服器",
|
||||
@@ -14,46 +17,62 @@
|
||||
"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_leases": "動態主機設定協定(DHCP)租約",
|
||||
"dhcp_static_leases": "動態主機設定協定(DHCP)靜態租約",
|
||||
"dhcp_leases_not_found": "無已發現之動態主機設定協定(DHCP)租約",
|
||||
"dhcp_config_saved": "動態主機設定協定(DHCP)配置被成功地儲存",
|
||||
"form_error_required": "必填的欄位",
|
||||
"form_error_ip_format": "無效的 IPv4 格式",
|
||||
"form_error_ip4_format": "無效的 IPv4 格式",
|
||||
"form_error_ip6_format": "無效的 IPv6 格式",
|
||||
"form_error_ip_format": "無效的 IP 格式",
|
||||
"form_error_mac_format": "無效的媒體存取控制(MAC)格式",
|
||||
"form_error_client_id_format": "無效的用戶端 ID 格式",
|
||||
"form_error_positive": "必須大於 0",
|
||||
"form_error_negative": "必須等於或大於 0",
|
||||
"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_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_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_lease_added": "靜態租約 \"{{key}}\" 被成功地加入",
|
||||
"dhcp_lease_deleted": "靜態租約 \"{{key}}\" 被成功地刪除",
|
||||
"dhcp_new_static_lease": "新的靜態租約",
|
||||
"dhcp_static_leases_not_found": "無已發現之動態主機設定協定(DHCP)靜態租約",
|
||||
"dhcp_add_static_lease": "增加靜態租約",
|
||||
"dhcp_reset": "您確定您想要重置動態主機設定協定(DHCP)配置嗎?",
|
||||
"country": "國家",
|
||||
"city": "城市",
|
||||
"delete_confirm": "您確定您想要刪除 \"{{key}}\" 嗎?",
|
||||
"form_enter_hostname": "輸入主機名稱",
|
||||
"error_details": "錯誤細節",
|
||||
"response_details": "回應細節",
|
||||
"request_details": "請求細節",
|
||||
"client_details": "用戶端細節",
|
||||
"details": "細節",
|
||||
"back": "返回",
|
||||
"dashboard": "儀表板",
|
||||
"settings": "設定",
|
||||
"filters": "過濾器",
|
||||
"filter": "過濾器",
|
||||
"query_log": "查詢記錄",
|
||||
"compact": "精簡的",
|
||||
"nothing_found": "無什麼被找到",
|
||||
"faq": "常見問答集",
|
||||
"version": "版本",
|
||||
"address": "位址",
|
||||
"protocol": "協定",
|
||||
"on": "開著",
|
||||
"off": "關著",
|
||||
"copyright": "版權",
|
||||
@@ -82,7 +101,7 @@
|
||||
"number_of_dns_query_days": "在最近的 {{count}} 日內已處理的 DNS 查詢之數量",
|
||||
"number_of_dns_query_days_plural": "在最近的 {{count}} 日內已處理的 DNS 查詢之數量",
|
||||
"number_of_dns_query_24_hours": "在最近的 24 小時內已處理的 DNS 查詢之數量",
|
||||
"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": "被 AdGuard 瀏覽安全模組封鎖的 DNS 請求之數量",
|
||||
"number_of_dns_query_blocked_24_hours_adult": "已封鎖的成人網站之數量",
|
||||
"enforced_save_search": "已強制執行的安全搜尋",
|
||||
@@ -96,15 +115,21 @@
|
||||
"use_adguard_parental": "使用 AdGuard 家長監控之網路服務",
|
||||
"use_adguard_parental_hint": "AdGuard Home 將檢查網域是否包含成人資料。它使用如同瀏覽安全網路服務一樣之友好的隱私應用程式介面(API)。",
|
||||
"enforce_safe_search": "強制執行安全搜尋",
|
||||
"enforce_save_search_hint": "AdGuard Home 可在下列的搜尋引擎:Google、YouTube、Bing、DuckDuckGo 和 Yandex 中強制執行安全搜尋。",
|
||||
"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_dns_hint": "如果您將該欄位留空,AdGuard Home 將使用 <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> 作為上游。",
|
||||
"upstream_dns_hint": "如果您將該欄位留空,AdGuard Home 將使用 <a href='https://www.quad9.net/' target='_blank'>Quad9</a> 作為上游。",
|
||||
"test_upstream_btn": "測試上行資料流",
|
||||
"upstreams": "上游",
|
||||
"apply_btn": "套用",
|
||||
"disabled_filtering_toast": "已禁用過濾",
|
||||
"enabled_filtering_toast": "已啟用過濾",
|
||||
@@ -116,28 +141,39 @@
|
||||
"enabled_save_search_toast": "已啟用安全搜尋",
|
||||
"enabled_table_header": "已啟用",
|
||||
"name_table_header": "名稱",
|
||||
"filter_url_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": "刪除",
|
||||
"filters_and_hosts": "過濾器和主機封鎖清單",
|
||||
"elapsed": "已經過",
|
||||
"filters_and_hosts_hint": "AdGuard Home 懂得基本的廣告封鎖規則和主機檔案語法。",
|
||||
"no_filters_added": "無已加入的過濾器",
|
||||
"add_filter_btn": "增加過濾器",
|
||||
"no_blocklist_added": "無已加入的封鎖清單",
|
||||
"no_whitelist_added": "無已加入的允許清單",
|
||||
"add_blocklist": "增加封鎖清單",
|
||||
"add_allowlist": "增加允許清單",
|
||||
"cancel_btn": "取消",
|
||||
"enter_name_hint": "輸入名稱",
|
||||
"enter_url_hint": "輸入網址",
|
||||
"enter_url_or_path_hint": "輸入一個該清單之網址或絕對的路徑",
|
||||
"check_updates_btn": "檢查更新",
|
||||
"new_filter_btn": "新的過濾器訂閱",
|
||||
"enter_valid_filter_url": "輸入關於過濾器訂閱或主機檔案之有效的網址。",
|
||||
"new_blocklist": "新的封鎖清單",
|
||||
"new_allowlist": "新的允許清單",
|
||||
"edit_blocklist": "編輯封鎖清單",
|
||||
"edit_allowlist": "編輯允許清單",
|
||||
"choose_blocklist": "選擇封鎖清單",
|
||||
"choose_allowlist": "選擇允許清單",
|
||||
"enter_valid_blocklist": "輸入一個到該封鎖清單之有效的網址。",
|
||||
"enter_valid_allowlist": "輸入一個到該允許清單之有效的網址。",
|
||||
"form_error_url_format": "無效的網址格式",
|
||||
"form_error_url_or_path_format": "該清單之網址或絕對的路徑為無效的",
|
||||
"custom_filter_rules": "自訂的過濾規則",
|
||||
"custom_filter_rules_hint": "於一行上輸入一個規則。您可使用廣告封鎖規則或主機檔案語法。",
|
||||
"custom_filter_rules_hint": "於一行上輸入一項規則。您可使用廣告封鎖規則或主機檔案語法。",
|
||||
"examples_title": "範例",
|
||||
"example_meaning_filter_block": "封鎖至 example.org 網域及其所有的子網域之存取",
|
||||
"example_meaning_filter_whitelist": "解除封鎖至 example.org 網域及其所有的子網域之存取",
|
||||
"example_meaning_host_block": "AdGuard Home 現在將對 example.org 網域返回 127.0.0.1 位址(但非其子網域)。",
|
||||
"example_meaning_host_block": "AdGuard Home 現在將對 example.org 網域(但非其子網域)返回 127.0.0.1 位址。",
|
||||
"example_comment": "! 看,一個註解",
|
||||
"example_comment_meaning": "只是一個註解",
|
||||
"example_comment_hash": "# 也是一個註解",
|
||||
@@ -147,18 +183,21 @@
|
||||
"example_upstream_doh": "加密的 <0>DNS-over-HTTPS</0>",
|
||||
"example_upstream_sdns": "您可使用關於 <1>DNSCrypt</1> 或 <2>DNS-over-HTTPS</2> 解析器之 <0>DNS 戳記</0>",
|
||||
"example_upstream_tcp": "一般的 DNS(透過 TCP)",
|
||||
"all_filters_up_to_date_toast": "所有的過濾器已是最新的",
|
||||
"all_lists_up_to_date_toast": "所有的清單已是最新的",
|
||||
"updated_upstream_dns_toast": "已更新上游的 DNS 伺服器",
|
||||
"dns_test_ok_toast": "已明確指定的 DNS 伺服器正在正確地運作",
|
||||
"dns_test_not_ok_toast": "伺服器 \"{{key}}\":無法被使用,請檢查您已正確地填寫它",
|
||||
"unblock_btn": "解除封鎖",
|
||||
"block_btn": "封鎖",
|
||||
"unblock": "解除封鎖",
|
||||
"block": "封鎖",
|
||||
"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": "空白的",
|
||||
"empty_response_status": "空無的",
|
||||
"show_all_filter_type": "顯示全部",
|
||||
"show_filtered_type": "顯示已過濾的",
|
||||
"no_logs_found": "無已發現之記錄",
|
||||
@@ -167,7 +206,6 @@
|
||||
"next_btn": "下一頁",
|
||||
"loading_table_status": "正在載入…",
|
||||
"page_table_footer_text": "頁面",
|
||||
"of_table_footer_text": "之",
|
||||
"rows_table_footer_text": "列",
|
||||
"updated_custom_filtering_toast": "已更新自訂的過濾規則",
|
||||
"rule_removed_from_custom_filtering_toast": "規則從自訂的過濾規則中被移除",
|
||||
@@ -176,6 +214,7 @@
|
||||
"query_log_filtered": "被 {{filter}} 過濾",
|
||||
"query_log_confirm_clear": "您確定您想要清除整個查詢記錄嗎?",
|
||||
"query_log_cleared": "該查詢記錄已被成功地清除",
|
||||
"query_log_updated": "該查詢記錄已被成功地更新",
|
||||
"query_log_clear": "清除查詢記錄",
|
||||
"query_log_retention": "查詢記錄保留",
|
||||
"query_log_enable": "啟用記錄",
|
||||
@@ -183,12 +222,41 @@
|
||||
"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)",
|
||||
"null_ip": "無效的 IP",
|
||||
"custom_ip": "自訂的 IP",
|
||||
"blocking_ipv4": "封鎖 IPv4",
|
||||
"blocking_ipv6": "封鎖 IPv6",
|
||||
"dns_over_https": "DNS-over-HTTPS",
|
||||
"dns_over_tls": "DNS-over-TLS",
|
||||
"plain_dns": "一般的 DNS",
|
||||
"form_enter_rate_limit": "輸入速率限制",
|
||||
"rate_limit": "速率限制",
|
||||
"edns_enable": "啟用對於 DNS 的擴充機制(EDNS)用戶端子網路",
|
||||
"edns_cs_desc": "如果被啟用,AdGuard Home 將持續傳送用戶端的子網路到 DNS 伺服器。",
|
||||
"rate_limit_desc": "單一的用戶端被允許傳送的每秒請求之數量(0:無限制的)",
|
||||
"blocking_ipv4_desc": "要被返回給已封鎖的 A 請求之 IP 位址",
|
||||
"blocking_ipv6_desc": "要被返回給已封鎖的 AAAA 請求之 IP 位址",
|
||||
"blocking_mode_default": "預設:當被廣告封鎖樣式的規則封鎖時,以 NXDOMAIN 回覆;當被 /etc/hosts 樣式的規則封鎖時,以在該規則中之已明確指定的 IP 位址回覆",
|
||||
"blocking_mode_nxdomain": "不存在的網域(NXDOMAIN):以 NXDOMAIN 碼回覆",
|
||||
"blocking_mode_null_ip": "無效的 IP:以零值 IP 位址(0.0.0.0 供 A;:: 供 AAAA)回覆",
|
||||
"blocking_mode_custom_ip": "自訂的 IP:以一組手動地被設定的 IP 位址回覆",
|
||||
"upstream_dns_client_desc": "如果您將該欄位留空,AdGuard Home 將使用在 <0>DNS 設定</0>中被配置的伺服器。",
|
||||
"tracker_source": "追蹤器來源",
|
||||
"source_label": "來源",
|
||||
"found_in_known_domain_db": "在已知的域名資料庫中被發現。",
|
||||
"category_label": "類別",
|
||||
"rule_label": "規則",
|
||||
"filter_label": "過濾器",
|
||||
"list_label": "清單",
|
||||
"unknown_filter": "未知的過濾器 {{filterId}}",
|
||||
"known_tracker": "已知的追蹤器",
|
||||
"install_welcome_title": "歡迎至 AdGuard Home!",
|
||||
"install_welcome_desc": "AdGuard Home 是全網路範圍廣告和追蹤器封鎖的 DNS 伺服器。它的目的為讓您控制您的整個網路和所有您的裝置,且不需要使用用戶端程式。",
|
||||
"install_settings_title": "管理員網路介面",
|
||||
@@ -212,11 +280,12 @@
|
||||
"install_submit_title": "恭喜!",
|
||||
"install_submit_desc": "該設置程序被完成,且您準備好開始使用 AdGuard Home。",
|
||||
"install_devices_router": "路由器",
|
||||
"install_devices_router_desc": "該設置將自動地涵蓋被連線至您的家庭路由器之所有的裝置,且您將無需手動地配置它們每個。",
|
||||
"install_devices_router_desc": "此設置將自動地涵蓋所有被連線至您的家庭路由器之裝置,且您將無需手動地配置它們每個。",
|
||||
"install_devices_address": "AdGuard Home DNS 伺服器正在監聽下列的位址",
|
||||
"install_devices_router_list_1": "開啟關於您的路由器之偏好設定。通常地,您可透過網址(如 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": "於畫面之左側上找到變更介面卡設定並於它上點擊。",
|
||||
@@ -279,12 +348,14 @@
|
||||
"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 href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>遵循這些步驟</a>以手動地更新。",
|
||||
"processing_update": "請等待,AdGuard Home 正被更新",
|
||||
"processing_update": "請稍候,AdGuard Home 正被更新",
|
||||
"clients_title": "用戶端",
|
||||
"clients_desc": "配置被連線到 AdGuard Home 的裝置",
|
||||
"settings_global": "全域的",
|
||||
@@ -297,27 +368,30 @@
|
||||
"client_edit": "編輯用戶端",
|
||||
"client_identifier": "識別碼",
|
||||
"ip_address": "IP 位址",
|
||||
"client_identifier_desc": "用戶端可被 IP 位址或媒體存取控制(MAC)位址識別。請注意,僅若 AdGuard Home 也是<0>動態主機設定協定(DHCP)伺服器</0>,使用 MAC 作為識別碼是可能的",
|
||||
"client_identifier_desc": "用戶端可被 IP 位址、無類別網域間路由(CIDR)或媒體存取控制(MAC)位址識別。請注意,只要 AdGuard Home 也是<0>動態主機設定協定(DHCP)伺服器</0>,使用 MAC 作為識別碼是可能的",
|
||||
"form_enter_ip": "輸入 IP",
|
||||
"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}}\" 嗎?",
|
||||
"filter_confirm_delete": "您確定您想要刪除該過濾器嗎?",
|
||||
"list_confirm_delete": "您確定您想要刪除該清單嗎?",
|
||||
"auto_clients_title": "用戶端(執行時期)",
|
||||
"auto_clients_desc": "使用 AdGuard Home 但未被儲存在配置中之關於用戶端的資料",
|
||||
"access_title": "存取設定",
|
||||
"access_desc": "於此您可配置用於 AdGuard Home DNS 伺服器之存取規則。",
|
||||
"access_allowed_title": "已允許的用戶端",
|
||||
"access_allowed_desc": "無類別網域間路由(CIDR)或 IP 位址之清單。如果被配置,AdGuard Home 將僅從這些 IP 位址中接受請求。",
|
||||
"access_allowed_desc": "無類別網域間路由(CIDR)或 IP 位址之清單。如果被配置,AdGuard Home 將接受僅來自這些 IP 位址的請求。",
|
||||
"access_disallowed_title": "不允許的用戶端",
|
||||
"access_disallowed_desc": "無類別網域間路由(CIDR)或 IP 位址之清單。如果被配置,AdGuard Home 將從這些 IP 位址中排除請求。",
|
||||
"access_blocked_title": "已封鎖的網域",
|
||||
"access_blocked_desc": "不要把這個和過濾器混淆。AdGuard Home 將從查詢的詢問中排除有這些網域的 DNS 查詢。",
|
||||
"access_disallowed_desc": "無類別網域間路由(CIDR)或 IP 位址之清單。如果被配置,AdGuard Home 將排除來自這些 IP 位址的請求。",
|
||||
"access_blocked_title": "不允許的網域",
|
||||
"access_blocked_desc": "不要把這個和過濾器混淆。AdGuard Home 將從查詢的詢問中排除有這些網域的 DNS 查詢。您可於此明確指定確切的域名、萬用字元(wildcard)和網址過濾器的規則,例如,'example.org'、'*.example.org' 或 '||example.org^'。",
|
||||
"access_settings_saved": "存取設定被成功地儲存",
|
||||
"updates_checked": "更新被成功地檢查",
|
||||
"updates_version_equal": "AdGuard Home 為最新的",
|
||||
@@ -344,9 +418,10 @@
|
||||
"rewrite_not_found": "無已發現之 DNS 改寫",
|
||||
"rewrite_confirm_delete": "您確定您想要刪除對於 \"{{key}}\" 之 DNS 改寫嗎?",
|
||||
"rewrite_desc": "允許輕易地配置自訂的 DNS 回應供特定的域名。",
|
||||
"rewrite_applied": "已套用的改寫規則",
|
||||
"rewrite_applied": "改寫規則被套用",
|
||||
"rewrite_hosts_applied": "被該主機檔案規則改寫",
|
||||
"dns_rewrites": "DNS 改寫",
|
||||
"form_domain": "輸入網域",
|
||||
"form_domain": "輸入域名或萬用字元(wildcard)",
|
||||
"form_answer": "輸入 IP 位址或域名",
|
||||
"form_error_domain_format": "無效的網域格式",
|
||||
"form_error_answer_format": "無效的回應格式",
|
||||
@@ -373,7 +448,9 @@
|
||||
"interval_days_plural": "{{count}} 日",
|
||||
"domain": "網域",
|
||||
"answer": "回應",
|
||||
"filter_added_successfully": "該過濾器已被成功地加入",
|
||||
"filter_added_successfully": "該清單已被成功地加入",
|
||||
"filter_removed_successfully": "該清單已被成功地移除",
|
||||
"filter_updated": "該清單已被成功地更新",
|
||||
"statistics_configuration": "統計資料配置",
|
||||
"statistics_retention": "統計資料保留",
|
||||
"statistics_retention_desc": "如果您減少該間隔值,某些資料將被丟失",
|
||||
@@ -398,7 +475,93 @@
|
||||
"location": "位置",
|
||||
"orgname": "組織名稱",
|
||||
"netname": "網路名稱",
|
||||
"network": "網路",
|
||||
"descr": "說明",
|
||||
"whois": "Whois",
|
||||
"filtering_rules_learn_more": "<0>了解更多</0>有關創建您自己的主機(hosts)封鎖清單。"
|
||||
"filtering_rules_learn_more": "<0>了解更多</0>有關創建您自己的主機(hosts)清單。",
|
||||
"blocked_by_response": "在回應過程中被正規名稱(CNAME)或 IP 封鎖",
|
||||
"blocked_by_cname_or_ip": "被正規名稱(CNAME)或 IP 封鎖",
|
||||
"try_again": "再次嘗試",
|
||||
"domain_desc": "輸入您想要被改寫的域名或萬用字元(wildcard)。",
|
||||
"example_rewrite_domain": "僅對於此域名改寫回應。",
|
||||
"example_rewrite_wildcard": "對於所有的 <0>example.org</0> 子網域改寫回應。",
|
||||
"rewrite_ip_address": "IP 位址:在一個 A 或 AAAA 回應中使用此 IP",
|
||||
"rewrite_domain_name": "域名:增加一筆正規名稱(CNAME)記錄",
|
||||
"rewrite_A": "<0>A</0>:特殊的數值,阻止 <0>A</0> 記錄免於該上游",
|
||||
"rewrite_AAAA": "<0>AAAA</0>:特殊的數值,阻止 <0>AAAA</0> 記錄免於該上游",
|
||||
"disable_ipv6": "禁用 IPv6",
|
||||
"disable_ipv6_desc": "如果此功能被啟用,所有對於 IPv6 位址(類型 AAAA)的 DNS 查詢將被丟棄。",
|
||||
"fastest_addr": "最快的 IP 位址",
|
||||
"fastest_addr_desc": "查詢所有的 DNS 伺服器並返回在所有的回應之中最快的 IP 位址。因為我們必須等待來自所有的 DNS 伺服器之回應,這將使 DNS 查詢變慢,但改善總體的連線。",
|
||||
"autofix_warning_text": "如果您點擊\"修復\",AdGuard Home 將配置您的系統使用 AdGuard Home DNS 伺服器。",
|
||||
"autofix_warning_list": "它將執行這些任務:<0>撤銷系統 DNSStubListener</0> <0>設定 DNS 伺服器位址為 127.0.0.1</0> <0>用 /run/systemd/resolve/resolv.conf 取代 /etc/resolv.conf 的符號連結目標</0> <0>停止 DNSStubListener(重新載入 systemd 已解析的服務)</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_rule": "規則:{{rule}}",
|
||||
"check_service": "服務名稱:{{service}}",
|
||||
"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": "我們已偵測到一組動態 IP 位址被使用 — <0>{{ip}}</0>。您想要使用它作為您的靜態位址嗎?",
|
||||
"confirm_static_ip": "AdGuard Home 將配置 {{ip}} 為您的靜態 IP 位址。您想要繼續嗎?",
|
||||
"list_updated": "{{count}} 清單被更新",
|
||||
"list_updated_plural": "{{count}} 清單被更新",
|
||||
"dnssec_enable": "啟用網域名稱系統安全性擴充功能(DNSSEC)",
|
||||
"dnssec_enable_desc": "在發出的 DNS 查詢中設定 DNSSEC 標記並檢查該結果(已啟用 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": "DNS 快取大小(以位元組)",
|
||||
"cache_ttl_min_override": "覆寫最小的存活時間(TTL)",
|
||||
"cache_ttl_max_override": "覆寫最大的存活時間(TTL)",
|
||||
"enter_cache_size": "輸入快取大小",
|
||||
"enter_cache_ttl_min_override": "輸入最小的存活時間(TTL)",
|
||||
"enter_cache_ttl_max_override": "輸入最大的存活時間(TTL)",
|
||||
"cache_ttl_min_override_desc": "覆寫從上游的伺服器收到的存活時間(TTL)數值(最小值)。此數值不能大於 3600(1 小時)",
|
||||
"cache_ttl_max_override_desc": "覆寫從上游的伺服器收到的存活時間(TTL)數值(最大值)",
|
||||
"min_exceeds_max_value": "最小值超過最大值",
|
||||
"value_not_larger_than": "數值不能大於 {{maximum}}",
|
||||
"filter_category_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": "其它的封鎖清單",
|
||||
"original_response": "原始的回應",
|
||||
"click_to_view_queries": "點擊以檢視查詢",
|
||||
"port_53_faq_link": "連接埠 53 常被 \"DNSStubListener\" 或 \"systemd-resolved\" 服務佔用。請閱讀有關如何解決這個的<0>用法說明</0>。"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import App from '../components/App';
|
||||
|
||||
it('renders without crashing', () => {
|
||||
const div = document.createElement('div');
|
||||
ReactDOM.render(<App />, div);
|
||||
ReactDOM.unmountComponentAtNode(div);
|
||||
});
|
||||
131
client/src/__tests__/helpers.test.js
Normal file
131
client/src/__tests__/helpers.test.js
Normal file
@@ -0,0 +1,131 @@
|
||||
import { getIpMatchListStatus } from '../helpers/helpers';
|
||||
import { IP_MATCH_LIST_STATUS } from '../helpers/constants';
|
||||
|
||||
describe('getIpMatchListStatus', () => {
|
||||
describe('IPv4', () => {
|
||||
test('should return EXACT on find the exact ip match', () => {
|
||||
const list = `127.0.0.2
|
||||
2001:db8:11a3:9d7:0:0:0:0
|
||||
192.168.0.1/8
|
||||
127.0.0.1
|
||||
127.0.0.3`;
|
||||
expect(getIpMatchListStatus('127.0.0.1', list))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.EXACT);
|
||||
});
|
||||
|
||||
test('should return CIDR on find the cidr match', () => {
|
||||
const list = `127.0.0.2
|
||||
2001:db8:11a3:9d7:0:0:0:0
|
||||
192.168.0.1/8
|
||||
127.0.0.0/24
|
||||
127.0.0.3`;
|
||||
expect(getIpMatchListStatus('127.0.0.1', list))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.CIDR);
|
||||
});
|
||||
|
||||
test('should return NOT_FOUND if the ip is not in the list', () => {
|
||||
const list = `127.0.0.1
|
||||
2001:db8:11a3:9d7:0:0:0:0
|
||||
192.168.0.1/8
|
||||
127.0.0.2
|
||||
127.0.0.3`;
|
||||
expect(getIpMatchListStatus('127.0.0.4', list))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.NOT_FOUND);
|
||||
});
|
||||
|
||||
test('should return the first EXACT or CIDR match in the list', () => {
|
||||
const list1 = `2001:db8:11a3:9d7:0:0:0:0
|
||||
127.0.0.1
|
||||
127.0.0.8/24
|
||||
127.0.0.3`;
|
||||
expect(getIpMatchListStatus('127.0.0.1', list1))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.EXACT);
|
||||
|
||||
const list2 = `2001:db8:11a3:9d7:ffff:ffff:ffff:ffff
|
||||
2001:0db8:11a3:09d7:0000:0000:0000:0000/64
|
||||
127.0.0.0/24
|
||||
127.0.0.1
|
||||
127.0.0.8/24
|
||||
127.0.0.3`;
|
||||
expect(getIpMatchListStatus('127.0.0.1', list2))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.CIDR);
|
||||
});
|
||||
});
|
||||
|
||||
describe('IPv6', () => {
|
||||
test('should return EXACT on find the exact ip match', () => {
|
||||
const list = `127.0.0.0
|
||||
2001:db8:11a3:9d7:0:0:0:0
|
||||
2001:db8:11a3:9d7:ffff:ffff:ffff:ffff
|
||||
127.0.0.1`;
|
||||
expect(getIpMatchListStatus('2001:db8:11a3:9d7:0:0:0:0', list))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.EXACT);
|
||||
});
|
||||
|
||||
test('should return EXACT on find the exact ip match of short and long notation', () => {
|
||||
const list = `127.0.0.0
|
||||
192.168.0.1/8
|
||||
2001:db8::
|
||||
127.0.0.2`;
|
||||
expect(getIpMatchListStatus('2001:db8:0:0:0:0:0:0', list))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.EXACT);
|
||||
});
|
||||
|
||||
test('should return CIDR on find the cidr match', () => {
|
||||
const list1 = `2001:0db8:11a3:09d7:0000:0000:0000:0000/64
|
||||
127.0.0.1
|
||||
127.0.0.2`;
|
||||
expect(getIpMatchListStatus('2001:db8:11a3:9d7:0:0:0:0', list1))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.CIDR);
|
||||
|
||||
const list2 = `2001:0db8::/16
|
||||
127.0.0.0
|
||||
2001:db8:11a3:9d7:0:0:0:0
|
||||
2001:db8::
|
||||
2001:db8:11a3:9d7:ffff:ffff:ffff:ffff
|
||||
127.0.0.1`;
|
||||
expect(getIpMatchListStatus('2001:db1::', list2))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.CIDR);
|
||||
});
|
||||
|
||||
test('should return NOT_FOUND if the ip is not in the list', () => {
|
||||
const list = `2001:db8:11a3:9d7:0:0:0:0
|
||||
2001:0db8:11a3:09d7:0000:0000:0000:0000/64
|
||||
127.0.0.1
|
||||
127.0.0.2`;
|
||||
expect(getIpMatchListStatus('::', list))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.NOT_FOUND);
|
||||
});
|
||||
|
||||
test('should return the first EXACT or CIDR match in the list', () => {
|
||||
const list1 = `2001:db8:11a3:9d7:0:0:0:0
|
||||
2001:0db8:11a3:09d7:0000:0000:0000:0000/64
|
||||
127.0.0.3`;
|
||||
expect(getIpMatchListStatus('2001:db8:11a3:9d7:0:0:0:0', list1))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.EXACT);
|
||||
|
||||
const list2 = `2001:0db8:11a3:09d7:0000:0000:0000:0000/64
|
||||
2001:db8:11a3:9d7:0:0:0:0
|
||||
127.0.0.3`;
|
||||
expect(getIpMatchListStatus('2001:db8:11a3:9d7:0:0:0:0', list2))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.CIDR);
|
||||
});
|
||||
});
|
||||
|
||||
describe('Empty list or IP', () => {
|
||||
test('should return NOT_FOUND on empty ip', () => {
|
||||
const list = `127.0.0.0
|
||||
2001:db8:11a3:9d7:0:0:0:0
|
||||
2001:db8:11a3:9d7:ffff:ffff:ffff:ffff
|
||||
127.0.0.1`;
|
||||
expect(getIpMatchListStatus('', list))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.NOT_FOUND);
|
||||
});
|
||||
|
||||
test('should return NOT_FOUND on empty list', () => {
|
||||
const list = '';
|
||||
expect(getIpMatchListStatus('127.0.0.1', list))
|
||||
.toEqual(IP_MATCH_LIST_STATUS.NOT_FOUND);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -1,7 +1,10 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
import i18next from 'i18next';
|
||||
|
||||
import apiClient from '../api/Api';
|
||||
import { addErrorToast, addSuccessToast } from './index';
|
||||
import { normalizeTextarea } from '../helpers/helpers';
|
||||
import { addErrorToast, addSuccessToast } from './toasts';
|
||||
import { BLOCK_ACTIONS } from '../helpers/constants';
|
||||
import { splitByNewLine } from '../helpers/helpers';
|
||||
|
||||
export const getAccessListRequest = createAction('GET_ACCESS_LIST_REQUEST');
|
||||
export const getAccessListFailure = createAction('GET_ACCESS_LIST_FAILURE');
|
||||
@@ -22,15 +25,15 @@ export const setAccessListRequest = createAction('SET_ACCESS_LIST_REQUEST');
|
||||
export const setAccessListFailure = createAction('SET_ACCESS_LIST_FAILURE');
|
||||
export const setAccessListSuccess = createAction('SET_ACCESS_LIST_SUCCESS');
|
||||
|
||||
export const setAccessList = config => async (dispatch) => {
|
||||
export const setAccessList = (config) => async (dispatch) => {
|
||||
dispatch(setAccessListRequest());
|
||||
try {
|
||||
const { allowed_clients, disallowed_clients, blocked_hosts } = config;
|
||||
|
||||
const values = {
|
||||
allowed_clients: (allowed_clients && normalizeTextarea(allowed_clients)) || [],
|
||||
disallowed_clients: (disallowed_clients && normalizeTextarea(disallowed_clients)) || [],
|
||||
blocked_hosts: (blocked_hosts && normalizeTextarea(blocked_hosts)) || [],
|
||||
allowed_clients: splitByNewLine(allowed_clients),
|
||||
disallowed_clients: splitByNewLine(disallowed_clients),
|
||||
blocked_hosts: splitByNewLine(blocked_hosts),
|
||||
};
|
||||
|
||||
await apiClient.setAccessList(values);
|
||||
@@ -41,3 +44,41 @@ export const setAccessList = config => async (dispatch) => {
|
||||
dispatch(setAccessListFailure());
|
||||
}
|
||||
};
|
||||
|
||||
export const toggleClientBlockRequest = createAction('TOGGLE_CLIENT_BLOCK_REQUEST');
|
||||
export const toggleClientBlockFailure = createAction('TOGGLE_CLIENT_BLOCK_FAILURE');
|
||||
export const toggleClientBlockSuccess = createAction('TOGGLE_CLIENT_BLOCK_SUCCESS');
|
||||
|
||||
export const toggleClientBlock = (type, ip) => async (dispatch) => {
|
||||
dispatch(toggleClientBlockRequest());
|
||||
try {
|
||||
const {
|
||||
allowed_clients, disallowed_clients, blocked_hosts,
|
||||
} = await apiClient.getAccessList();
|
||||
let updatedDisallowedClients = disallowed_clients || [];
|
||||
|
||||
if (type === BLOCK_ACTIONS.UNBLOCK && updatedDisallowedClients.includes(ip)) {
|
||||
updatedDisallowedClients = updatedDisallowedClients.filter((client) => client !== ip);
|
||||
} else if (type === BLOCK_ACTIONS.BLOCK && !updatedDisallowedClients.includes(ip)) {
|
||||
updatedDisallowedClients.push(ip);
|
||||
}
|
||||
|
||||
const values = {
|
||||
allowed_clients,
|
||||
blocked_hosts,
|
||||
disallowed_clients: updatedDisallowedClients,
|
||||
};
|
||||
|
||||
await apiClient.setAccessList(values);
|
||||
dispatch(toggleClientBlockSuccess(values));
|
||||
|
||||
if (type === BLOCK_ACTIONS.UNBLOCK) {
|
||||
dispatch(addSuccessToast(i18next.t('client_unblocked', { ip })));
|
||||
} else if (type === BLOCK_ACTIONS.BLOCK) {
|
||||
dispatch(addSuccessToast(i18next.t('client_blocked', { ip })));
|
||||
}
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(toggleClientBlockFailure());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
import { t } from 'i18next';
|
||||
import i18next from 'i18next';
|
||||
import apiClient from '../api/Api';
|
||||
import { addErrorToast, addSuccessToast, getClients } from './index';
|
||||
import { CLIENT_ID } from '../helpers/constants';
|
||||
import { getClients } from './index';
|
||||
import { addErrorToast, addSuccessToast } from './toasts';
|
||||
|
||||
export const toggleClientModal = createAction('TOGGLE_CLIENT_MODAL');
|
||||
|
||||
@@ -10,24 +10,13 @@ export const addClientRequest = createAction('ADD_CLIENT_REQUEST');
|
||||
export const addClientFailure = createAction('ADD_CLIENT_FAILURE');
|
||||
export const addClientSuccess = createAction('ADD_CLIENT_SUCCESS');
|
||||
|
||||
export const addClient = config => async (dispatch) => {
|
||||
export const addClient = (config) => async (dispatch) => {
|
||||
dispatch(addClientRequest());
|
||||
try {
|
||||
let data;
|
||||
if (config.identifier === CLIENT_ID.MAC) {
|
||||
const { ip, identifier, ...values } = config;
|
||||
|
||||
data = { ...values };
|
||||
} else {
|
||||
const { mac, identifier, ...values } = config;
|
||||
|
||||
data = { ...values };
|
||||
}
|
||||
|
||||
await apiClient.addClient(data);
|
||||
await apiClient.addClient(config);
|
||||
dispatch(addClientSuccess());
|
||||
dispatch(toggleClientModal());
|
||||
dispatch(addSuccessToast(t('client_added', { key: config.name })));
|
||||
dispatch(addSuccessToast(i18next.t('client_added', { key: config.name })));
|
||||
dispatch(getClients());
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
@@ -39,12 +28,12 @@ export const deleteClientRequest = createAction('DELETE_CLIENT_REQUEST');
|
||||
export const deleteClientFailure = createAction('DELETE_CLIENT_FAILURE');
|
||||
export const deleteClientSuccess = createAction('DELETE_CLIENT_SUCCESS');
|
||||
|
||||
export const deleteClient = config => async (dispatch) => {
|
||||
export const deleteClient = (config) => async (dispatch) => {
|
||||
dispatch(deleteClientRequest());
|
||||
try {
|
||||
await apiClient.deleteClient(config);
|
||||
dispatch(deleteClientSuccess());
|
||||
dispatch(addSuccessToast(t('client_deleted', { key: config.name })));
|
||||
dispatch(addSuccessToast(i18next.t('client_deleted', { key: config.name })));
|
||||
dispatch(getClients());
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
@@ -59,21 +48,12 @@ export const updateClientSuccess = createAction('UPDATE_CLIENT_SUCCESS');
|
||||
export const updateClient = (config, name) => async (dispatch) => {
|
||||
dispatch(updateClientRequest());
|
||||
try {
|
||||
let data;
|
||||
if (config.identifier === CLIENT_ID.MAC) {
|
||||
const { ip, identifier, ...values } = config;
|
||||
|
||||
data = { name, data: { ...values } };
|
||||
} else {
|
||||
const { mac, identifier, ...values } = config;
|
||||
|
||||
data = { name, data: { ...values } };
|
||||
}
|
||||
const data = { name, data: { ...config } };
|
||||
|
||||
await apiClient.updateClient(data);
|
||||
dispatch(updateClientSuccess());
|
||||
dispatch(toggleClientModal());
|
||||
dispatch(addSuccessToast(t('client_updated', { key: name })));
|
||||
dispatch(addSuccessToast(i18next.t('client_updated', { key: name })));
|
||||
dispatch(getClients());
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
|
||||
54
client/src/actions/dnsConfig.js
Normal file
54
client/src/actions/dnsConfig.js
Normal file
@@ -0,0 +1,54 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
|
||||
import apiClient from '../api/Api';
|
||||
import { splitByNewLine } from '../helpers/helpers';
|
||||
import { addErrorToast, addSuccessToast } from './toasts';
|
||||
|
||||
export const getDnsConfigRequest = createAction('GET_DNS_CONFIG_REQUEST');
|
||||
export const getDnsConfigFailure = createAction('GET_DNS_CONFIG_FAILURE');
|
||||
export const getDnsConfigSuccess = createAction('GET_DNS_CONFIG_SUCCESS');
|
||||
|
||||
export const getDnsConfig = () => async (dispatch) => {
|
||||
dispatch(getDnsConfigRequest());
|
||||
try {
|
||||
const data = await apiClient.getDnsConfig();
|
||||
dispatch(getDnsConfigSuccess(data));
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(getDnsConfigFailure());
|
||||
}
|
||||
};
|
||||
|
||||
export const setDnsConfigRequest = createAction('SET_DNS_CONFIG_REQUEST');
|
||||
export const setDnsConfigFailure = createAction('SET_DNS_CONFIG_FAILURE');
|
||||
export const setDnsConfigSuccess = createAction('SET_DNS_CONFIG_SUCCESS');
|
||||
|
||||
export const setDnsConfig = (config) => async (dispatch) => {
|
||||
dispatch(setDnsConfigRequest());
|
||||
try {
|
||||
const data = { ...config };
|
||||
|
||||
let hasDnsSettings = false;
|
||||
if (Object.prototype.hasOwnProperty.call(data, 'bootstrap_dns')) {
|
||||
data.bootstrap_dns = splitByNewLine(config.bootstrap_dns);
|
||||
hasDnsSettings = true;
|
||||
}
|
||||
if (Object.prototype.hasOwnProperty.call(data, 'upstream_dns')) {
|
||||
data.upstream_dns = splitByNewLine(config.upstream_dns);
|
||||
hasDnsSettings = true;
|
||||
}
|
||||
|
||||
await apiClient.setDnsConfig(data);
|
||||
|
||||
if (hasDnsSettings) {
|
||||
dispatch(addSuccessToast('updated_upstream_dns_toast'));
|
||||
} else {
|
||||
dispatch(addSuccessToast('config_successfully_saved'));
|
||||
}
|
||||
|
||||
dispatch(setDnsConfigSuccess(config));
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(setDnsConfigFailure());
|
||||
}
|
||||
};
|
||||
@@ -1,7 +1,7 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
import apiClient from '../api/Api';
|
||||
import { addErrorToast, addSuccessToast } from './index';
|
||||
import { redirectToCurrentProtocol } from '../helpers/helpers';
|
||||
import { addErrorToast, addSuccessToast } from './toasts';
|
||||
|
||||
export const getTlsStatusRequest = createAction('GET_TLS_STATUS_REQUEST');
|
||||
export const getTlsStatusFailure = createAction('GET_TLS_STATUS_FAILURE');
|
||||
@@ -25,7 +25,7 @@ export const setTlsConfigRequest = createAction('SET_TLS_CONFIG_REQUEST');
|
||||
export const setTlsConfigFailure = createAction('SET_TLS_CONFIG_FAILURE');
|
||||
export const setTlsConfigSuccess = createAction('SET_TLS_CONFIG_SUCCESS');
|
||||
|
||||
export const setTlsConfig = config => async (dispatch, getState) => {
|
||||
export const setTlsConfig = (config) => async (dispatch, getState) => {
|
||||
dispatch(setTlsConfigRequest());
|
||||
try {
|
||||
const { httpPort } = getState().dashboard;
|
||||
@@ -51,7 +51,7 @@ export const validateTlsConfigRequest = createAction('VALIDATE_TLS_CONFIG_REQUES
|
||||
export const validateTlsConfigFailure = createAction('VALIDATE_TLS_CONFIG_FAILURE');
|
||||
export const validateTlsConfigSuccess = createAction('VALIDATE_TLS_CONFIG_SUCCESS');
|
||||
|
||||
export const validateTlsConfig = config => async (dispatch) => {
|
||||
export const validateTlsConfig = (config) => async (dispatch) => {
|
||||
dispatch(validateTlsConfigRequest());
|
||||
try {
|
||||
const values = { ...config };
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
import { showLoading, hideLoading } from 'react-redux-loading-bar';
|
||||
import i18next from 'i18next';
|
||||
|
||||
import { normalizeFilteringStatus, normalizeRulesTextarea } from '../helpers/helpers';
|
||||
import { addErrorToast, addSuccessToast } from './index';
|
||||
import apiClient from '../api/Api';
|
||||
import { addErrorToast, addSuccessToast } from './toasts';
|
||||
|
||||
export const toggleFilteringModal = createAction('FILTERING_MODAL_TOGGLE');
|
||||
export const handleRulesChange = createAction('HANDLE_RULES_CHANGE');
|
||||
@@ -27,7 +28,7 @@ export const setRulesRequest = createAction('SET_RULES_REQUEST');
|
||||
export const setRulesFailure = createAction('SET_RULES_FAILURE');
|
||||
export const setRulesSuccess = createAction('SET_RULES_SUCCESS');
|
||||
|
||||
export const setRules = rules => async (dispatch) => {
|
||||
export const setRules = (rules) => async (dispatch) => {
|
||||
dispatch(setRulesRequest());
|
||||
try {
|
||||
const normalizedRules = normalizeRulesTextarea(rules);
|
||||
@@ -44,12 +45,14 @@ export const addFilterRequest = createAction('ADD_FILTER_REQUEST');
|
||||
export const addFilterFailure = createAction('ADD_FILTER_FAILURE');
|
||||
export const addFilterSuccess = createAction('ADD_FILTER_SUCCESS');
|
||||
|
||||
export const addFilter = (url, name) => async (dispatch) => {
|
||||
export const addFilter = (url, name, whitelist = false) => async (dispatch, getState) => {
|
||||
dispatch(addFilterRequest());
|
||||
try {
|
||||
await apiClient.addFilter(url, name);
|
||||
await apiClient.addFilter({ url, name, whitelist });
|
||||
dispatch(addFilterSuccess(url));
|
||||
dispatch(toggleFilteringModal());
|
||||
if (getState().filtering.isModalOpen) {
|
||||
dispatch(toggleFilteringModal());
|
||||
}
|
||||
dispatch(addSuccessToast('filter_added_successfully'));
|
||||
dispatch(getFilteringStatus());
|
||||
} catch (error) {
|
||||
@@ -62,11 +65,15 @@ export const removeFilterRequest = createAction('REMOVE_FILTER_REQUEST');
|
||||
export const removeFilterFailure = createAction('REMOVE_FILTER_FAILURE');
|
||||
export const removeFilterSuccess = createAction('REMOVE_FILTER_SUCCESS');
|
||||
|
||||
export const removeFilter = url => async (dispatch) => {
|
||||
export const removeFilter = (url, whitelist = false) => async (dispatch, getState) => {
|
||||
dispatch(removeFilterRequest());
|
||||
try {
|
||||
await apiClient.removeFilter(url);
|
||||
await apiClient.removeFilter({ url, whitelist });
|
||||
dispatch(removeFilterSuccess(url));
|
||||
if (getState().filtering.isModalOpen) {
|
||||
dispatch(toggleFilteringModal());
|
||||
}
|
||||
dispatch(addSuccessToast('filter_removed_successfully'));
|
||||
dispatch(getFilteringStatus());
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
@@ -78,10 +85,10 @@ export const toggleFilterRequest = createAction('FILTER_TOGGLE_REQUEST');
|
||||
export const toggleFilterFailure = createAction('FILTER_TOGGLE_FAILURE');
|
||||
export const toggleFilterSuccess = createAction('FILTER_TOGGLE_SUCCESS');
|
||||
|
||||
export const toggleFilterStatus = (url, enabled) => async (dispatch) => {
|
||||
export const toggleFilterStatus = (url, data, whitelist = false) => async (dispatch) => {
|
||||
dispatch(toggleFilterRequest());
|
||||
try {
|
||||
await apiClient.setFilterUrl({ url, enabled: !enabled });
|
||||
await apiClient.setFilterUrl({ url, data, whitelist });
|
||||
dispatch(toggleFilterSuccess(url));
|
||||
dispatch(getFilteringStatus());
|
||||
} catch (error) {
|
||||
@@ -90,25 +97,42 @@ export const toggleFilterStatus = (url, enabled) => async (dispatch) => {
|
||||
}
|
||||
};
|
||||
|
||||
export const editFilterRequest = createAction('EDIT_FILTER_REQUEST');
|
||||
export const editFilterFailure = createAction('EDIT_FILTER_FAILURE');
|
||||
export const editFilterSuccess = createAction('EDIT_FILTER_SUCCESS');
|
||||
|
||||
export const editFilter = (url, data, whitelist = false) => async (dispatch, getState) => {
|
||||
dispatch(editFilterRequest());
|
||||
try {
|
||||
await apiClient.setFilterUrl({ url, data, whitelist });
|
||||
dispatch(editFilterSuccess(url));
|
||||
if (getState().filtering.isModalOpen) {
|
||||
dispatch(toggleFilteringModal());
|
||||
}
|
||||
dispatch(addSuccessToast('filter_updated'));
|
||||
dispatch(getFilteringStatus());
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(editFilterFailure());
|
||||
}
|
||||
};
|
||||
|
||||
export const refreshFiltersRequest = createAction('FILTERING_REFRESH_REQUEST');
|
||||
export const refreshFiltersFailure = createAction('FILTERING_REFRESH_FAILURE');
|
||||
export const refreshFiltersSuccess = createAction('FILTERING_REFRESH_SUCCESS');
|
||||
|
||||
export const refreshFilters = () => async (dispatch) => {
|
||||
export const refreshFilters = (config) => async (dispatch) => {
|
||||
dispatch(refreshFiltersRequest());
|
||||
dispatch(showLoading());
|
||||
try {
|
||||
const refreshText = await apiClient.refreshFilters();
|
||||
const data = await apiClient.refreshFilters(config);
|
||||
const { updated } = data;
|
||||
dispatch(refreshFiltersSuccess());
|
||||
|
||||
if (refreshText.includes('OK')) {
|
||||
if (refreshText.includes('OK 0')) {
|
||||
dispatch(addSuccessToast('all_filters_up_to_date_toast'));
|
||||
} else {
|
||||
dispatch(addSuccessToast(refreshText.replace(/OK /g, '')));
|
||||
}
|
||||
if (updated > 0) {
|
||||
dispatch(addSuccessToast(i18next.t('list_updated', { count: updated })));
|
||||
} else {
|
||||
dispatch(addErrorToast({ error: refreshText }));
|
||||
dispatch(addSuccessToast('all_lists_up_to_date_toast'));
|
||||
}
|
||||
|
||||
dispatch(getFilteringStatus());
|
||||
@@ -124,7 +148,7 @@ export const setFiltersConfigRequest = createAction('SET_FILTERS_CONFIG_REQUEST'
|
||||
export const setFiltersConfigFailure = createAction('SET_FILTERS_CONFIG_FAILURE');
|
||||
export const setFiltersConfigSuccess = createAction('SET_FILTERS_CONFIG_SUCCESS');
|
||||
|
||||
export const setFiltersConfig = config => async (dispatch, getState) => {
|
||||
export const setFiltersConfig = (config) => async (dispatch, getState) => {
|
||||
dispatch(setFiltersConfigRequest());
|
||||
try {
|
||||
const { enabled } = config;
|
||||
@@ -143,3 +167,29 @@ export const setFiltersConfig = config => async (dispatch, getState) => {
|
||||
dispatch(setFiltersConfigFailure());
|
||||
}
|
||||
};
|
||||
|
||||
export const checkHostRequest = createAction('CHECK_HOST_REQUEST');
|
||||
export const checkHostFailure = createAction('CHECK_HOST_FAILURE');
|
||||
export const checkHostSuccess = createAction('CHECK_HOST_SUCCESS');
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {object} host
|
||||
* @param {string} host.name
|
||||
* @returns {undefined}
|
||||
*/
|
||||
export const checkHost = (host) => async (dispatch) => {
|
||||
dispatch(checkHostRequest());
|
||||
try {
|
||||
const data = await apiClient.checkHost(host);
|
||||
const { name: hostname } = host;
|
||||
|
||||
dispatch(checkHostSuccess({
|
||||
hostname,
|
||||
...data,
|
||||
}));
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(checkHostFailure());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
import { t } from 'i18next';
|
||||
import i18next from 'i18next';
|
||||
import axios from 'axios';
|
||||
|
||||
import { normalizeTextarea, sortClients, isVersionGreater } from '../helpers/helpers';
|
||||
import { SETTINGS_NAMES, CHECK_TIMEOUT } from '../helpers/constants';
|
||||
import { splitByNewLine, sortClients } from '../helpers/helpers';
|
||||
import { CHECK_TIMEOUT, SETTINGS_NAMES } from '../helpers/constants';
|
||||
import { areEqualVersions } from '../helpers/version';
|
||||
import { getTlsStatus } from './encryption';
|
||||
import apiClient from '../api/Api';
|
||||
|
||||
export const addErrorToast = createAction('ADD_ERROR_TOAST');
|
||||
export const addSuccessToast = createAction('ADD_SUCCESS_TOAST');
|
||||
export const addNoticeToast = createAction('ADD_NOTICE_TOAST');
|
||||
export const removeToast = createAction('REMOVE_TOAST');
|
||||
import { addErrorToast, addNoticeToast, addSuccessToast } from './toasts';
|
||||
|
||||
export const toggleSettingStatus = createAction('SETTING_STATUS_TOGGLE');
|
||||
export const showSettingsFailure = createAction('SETTINGS_FAILURE_SHOW');
|
||||
@@ -62,7 +59,7 @@ export const initSettingsRequest = createAction('SETTINGS_INIT_REQUEST');
|
||||
export const initSettingsFailure = createAction('SETTINGS_INIT_FAILURE');
|
||||
export const initSettingsSuccess = createAction('SETTINGS_INIT_SUCCESS');
|
||||
|
||||
export const initSettings = settingsList => async (dispatch) => {
|
||||
export const initSettings = (settingsList) => async (dispatch) => {
|
||||
dispatch(initSettingsRequest());
|
||||
try {
|
||||
const safebrowsingStatus = await apiClient.getSafebrowsingStatus();
|
||||
@@ -74,9 +71,18 @@ export const initSettings = settingsList => async (dispatch) => {
|
||||
safesearch,
|
||||
} = settingsList;
|
||||
const newSettingsList = {
|
||||
safebrowsing: { ...safebrowsing, enabled: safebrowsingStatus.enabled },
|
||||
parental: { ...parental, enabled: parentalStatus.enabled },
|
||||
safesearch: { ...safesearch, enabled: safesearchStatus.enabled },
|
||||
safebrowsing: {
|
||||
...safebrowsing,
|
||||
enabled: safebrowsingStatus.enabled,
|
||||
},
|
||||
parental: {
|
||||
...parental,
|
||||
enabled: parentalStatus.enabled,
|
||||
},
|
||||
safesearch: {
|
||||
...safesearch,
|
||||
enabled: safesearchStatus.enabled,
|
||||
},
|
||||
};
|
||||
dispatch(initSettingsSuccess({ settingsList: newSettingsList }));
|
||||
} catch (error) {
|
||||
@@ -89,19 +95,11 @@ export const toggleProtectionRequest = createAction('TOGGLE_PROTECTION_REQUEST')
|
||||
export const toggleProtectionFailure = createAction('TOGGLE_PROTECTION_FAILURE');
|
||||
export const toggleProtectionSuccess = createAction('TOGGLE_PROTECTION_SUCCESS');
|
||||
|
||||
export const toggleProtection = status => async (dispatch) => {
|
||||
export const toggleProtection = (status) => async (dispatch) => {
|
||||
dispatch(toggleProtectionRequest());
|
||||
let successMessage = '';
|
||||
|
||||
try {
|
||||
if (status) {
|
||||
successMessage = 'disabled_protection';
|
||||
await apiClient.disableGlobalProtection();
|
||||
} else {
|
||||
successMessage = 'enabled_protection';
|
||||
await apiClient.enableGlobalProtection();
|
||||
}
|
||||
|
||||
const successMessage = status ? 'disabled_protection' : 'enabled_protection';
|
||||
await apiClient.setDnsConfig({ protection_enabled: !status });
|
||||
dispatch(addSuccessToast(successMessage));
|
||||
dispatch(toggleProtectionSuccess());
|
||||
} catch (error) {
|
||||
@@ -124,7 +122,7 @@ export const getVersion = (recheck = false) => async (dispatch, getState) => {
|
||||
const { dnsVersion } = getState().dashboard;
|
||||
const currentVersion = dnsVersion === 'undefined' ? 0 : dnsVersion;
|
||||
|
||||
if (data && isVersionGreater(currentVersion, data.new_version)) {
|
||||
if (data && !areEqualVersions(currentVersion, data.new_version)) {
|
||||
dispatch(addSuccessToast('updates_checked'));
|
||||
} else {
|
||||
dispatch(addSuccessToast('updates_version_equal'));
|
||||
@@ -140,55 +138,65 @@ export const getUpdateRequest = createAction('GET_UPDATE_REQUEST');
|
||||
export const getUpdateFailure = createAction('GET_UPDATE_FAILURE');
|
||||
export const getUpdateSuccess = createAction('GET_UPDATE_SUCCESS');
|
||||
|
||||
const checkStatus = async (handleRequestSuccess, handleRequestError, attempts = 60) => {
|
||||
let timeout;
|
||||
|
||||
if (attempts === 0) {
|
||||
handleRequestError();
|
||||
}
|
||||
|
||||
const rmTimeout = (t) => t && clearTimeout(t);
|
||||
|
||||
try {
|
||||
const response = await axios.get('control/status');
|
||||
rmTimeout(timeout);
|
||||
if (response?.status === 200) {
|
||||
handleRequestSuccess(response);
|
||||
if (response.data.running === false) {
|
||||
timeout = setTimeout(
|
||||
checkStatus,
|
||||
CHECK_TIMEOUT,
|
||||
handleRequestSuccess,
|
||||
handleRequestError,
|
||||
attempts - 1,
|
||||
);
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
rmTimeout(timeout);
|
||||
timeout = setTimeout(
|
||||
checkStatus,
|
||||
CHECK_TIMEOUT,
|
||||
handleRequestSuccess,
|
||||
handleRequestError,
|
||||
attempts - 1,
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
export const getUpdate = () => async (dispatch, getState) => {
|
||||
const { dnsVersion } = getState().dashboard;
|
||||
|
||||
dispatch(getUpdateRequest());
|
||||
try {
|
||||
await apiClient.getUpdate();
|
||||
|
||||
const checkUpdate = async (attempts) => {
|
||||
let count = attempts || 1;
|
||||
let timeout;
|
||||
|
||||
if (count > 60) {
|
||||
dispatch(addNoticeToast({ error: 'update_failed' }));
|
||||
dispatch(getUpdateFailure());
|
||||
return false;
|
||||
}
|
||||
|
||||
const rmTimeout = t => t && clearTimeout(t);
|
||||
const setRecursiveTimeout = (time, ...args) => setTimeout(
|
||||
checkUpdate,
|
||||
time,
|
||||
...args,
|
||||
);
|
||||
|
||||
axios.get('control/status')
|
||||
.then((response) => {
|
||||
rmTimeout(timeout);
|
||||
if (response && response.status === 200) {
|
||||
const responseVersion = response.data && response.data.version;
|
||||
|
||||
if (dnsVersion !== responseVersion) {
|
||||
dispatch(getUpdateSuccess());
|
||||
window.location.reload(true);
|
||||
}
|
||||
}
|
||||
timeout = setRecursiveTimeout(CHECK_TIMEOUT, count += 1);
|
||||
})
|
||||
.catch(() => {
|
||||
rmTimeout(timeout);
|
||||
timeout = setRecursiveTimeout(CHECK_TIMEOUT, count += 1);
|
||||
});
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
checkUpdate();
|
||||
} catch (error) {
|
||||
const handleRequestError = () => {
|
||||
dispatch(addNoticeToast({ error: 'update_failed' }));
|
||||
dispatch(getUpdateFailure());
|
||||
};
|
||||
|
||||
const handleRequestSuccess = (response) => {
|
||||
const responseVersion = response.data?.version;
|
||||
|
||||
if (dnsVersion !== responseVersion) {
|
||||
dispatch(getUpdateSuccess());
|
||||
window.location.reload(true);
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
await apiClient.getUpdate();
|
||||
checkStatus(handleRequestSuccess, handleRequestError);
|
||||
} catch (error) {
|
||||
handleRequestError();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -206,6 +214,7 @@ export const getClients = () => async (dispatch) => {
|
||||
dispatch(getClientsSuccess({
|
||||
clients: sortedClients || [],
|
||||
autoClients: sortedAutoClients || [],
|
||||
supportedTags: data.supported_tags || [],
|
||||
}));
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
@@ -231,88 +240,35 @@ export const getProfile = () => async (dispatch) => {
|
||||
export const dnsStatusRequest = createAction('DNS_STATUS_REQUEST');
|
||||
export const dnsStatusFailure = createAction('DNS_STATUS_FAILURE');
|
||||
export const dnsStatusSuccess = createAction('DNS_STATUS_SUCCESS');
|
||||
export const setDnsRunningStatus = createAction('SET_DNS_RUNNING_STATUS');
|
||||
|
||||
export const getDnsStatus = () => async (dispatch) => {
|
||||
dispatch(dnsStatusRequest());
|
||||
try {
|
||||
const dnsStatus = await apiClient.getGlobalStatus();
|
||||
dispatch(dnsStatusSuccess(dnsStatus));
|
||||
dispatch(getVersion());
|
||||
dispatch(getTlsStatus());
|
||||
dispatch(getProfile());
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
|
||||
const handleRequestError = () => {
|
||||
dispatch(addErrorToast({ error: 'dns_status_error' }));
|
||||
dispatch(dnsStatusFailure());
|
||||
}
|
||||
};
|
||||
window.location.reload(true);
|
||||
};
|
||||
|
||||
export const getDnsSettingsRequest = createAction('GET_DNS_SETTINGS_REQUEST');
|
||||
export const getDnsSettingsFailure = createAction('GET_DNS_SETTINGS_FAILURE');
|
||||
export const getDnsSettingsSuccess = createAction('GET_DNS_SETTINGS_SUCCESS');
|
||||
const handleRequestSuccess = (response) => {
|
||||
const dnsStatus = response.data;
|
||||
const { running } = dnsStatus;
|
||||
const runningStatus = dnsStatus && running;
|
||||
if (runningStatus === true) {
|
||||
dispatch(dnsStatusSuccess(dnsStatus));
|
||||
dispatch(getVersion());
|
||||
dispatch(getTlsStatus());
|
||||
dispatch(getProfile());
|
||||
} else {
|
||||
dispatch(setDnsRunningStatus(running));
|
||||
}
|
||||
};
|
||||
|
||||
export const getDnsSettings = () => async (dispatch) => {
|
||||
dispatch(getDnsSettingsRequest());
|
||||
try {
|
||||
const dnsStatus = await apiClient.getGlobalStatus();
|
||||
dispatch(getDnsSettingsSuccess(dnsStatus));
|
||||
checkStatus(handleRequestSuccess, handleRequestError);
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(getDnsSettingsFailure());
|
||||
}
|
||||
};
|
||||
|
||||
export const enableDnsRequest = createAction('ENABLE_DNS_REQUEST');
|
||||
export const enableDnsFailure = createAction('ENABLE_DNS_FAILURE');
|
||||
export const enableDnsSuccess = createAction('ENABLE_DNS_SUCCESS');
|
||||
|
||||
export const enableDns = () => async (dispatch) => {
|
||||
dispatch(enableDnsRequest());
|
||||
try {
|
||||
await apiClient.startGlobalFiltering();
|
||||
dispatch(enableDnsSuccess());
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(enableDnsFailure());
|
||||
}
|
||||
};
|
||||
|
||||
export const disableDnsRequest = createAction('DISABLE_DNS_REQUEST');
|
||||
export const disableDnsFailure = createAction('DISABLE_DNS_FAILURE');
|
||||
export const disableDnsSuccess = createAction('DISABLE_DNS_SUCCESS');
|
||||
|
||||
export const disableDns = () => async (dispatch) => {
|
||||
dispatch(disableDnsRequest());
|
||||
try {
|
||||
await apiClient.stopGlobalFiltering();
|
||||
dispatch(disableDnsSuccess());
|
||||
} catch (error) {
|
||||
dispatch(disableDnsFailure(error));
|
||||
dispatch(addErrorToast({ error }));
|
||||
}
|
||||
};
|
||||
|
||||
export const handleUpstreamChange = createAction('HANDLE_UPSTREAM_CHANGE');
|
||||
export const setUpstreamRequest = createAction('SET_UPSTREAM_REQUEST');
|
||||
export const setUpstreamFailure = createAction('SET_UPSTREAM_FAILURE');
|
||||
export const setUpstreamSuccess = createAction('SET_UPSTREAM_SUCCESS');
|
||||
|
||||
export const setUpstream = config => async (dispatch) => {
|
||||
dispatch(setUpstreamRequest());
|
||||
try {
|
||||
const values = { ...config };
|
||||
values.bootstrap_dns = (
|
||||
values.bootstrap_dns && normalizeTextarea(values.bootstrap_dns)
|
||||
) || [];
|
||||
values.upstream_dns = (
|
||||
values.upstream_dns && normalizeTextarea(values.upstream_dns)
|
||||
) || [];
|
||||
|
||||
await apiClient.setUpstream(values);
|
||||
dispatch(addSuccessToast('updated_upstream_dns_toast'));
|
||||
dispatch(setUpstreamSuccess(config));
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(setUpstreamFailure());
|
||||
handleRequestError(error);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -320,27 +276,24 @@ export const testUpstreamRequest = createAction('TEST_UPSTREAM_REQUEST');
|
||||
export const testUpstreamFailure = createAction('TEST_UPSTREAM_FAILURE');
|
||||
export const testUpstreamSuccess = createAction('TEST_UPSTREAM_SUCCESS');
|
||||
|
||||
export const testUpstream = config => async (dispatch) => {
|
||||
export const testUpstream = (config) => async (dispatch) => {
|
||||
dispatch(testUpstreamRequest());
|
||||
try {
|
||||
const values = { ...config };
|
||||
values.bootstrap_dns = (
|
||||
values.bootstrap_dns && normalizeTextarea(values.bootstrap_dns)
|
||||
) || [];
|
||||
values.upstream_dns = (
|
||||
values.upstream_dns && normalizeTextarea(values.upstream_dns)
|
||||
) || [];
|
||||
values.bootstrap_dns = splitByNewLine(values.bootstrap_dns);
|
||||
values.upstream_dns = splitByNewLine(values.upstream_dns);
|
||||
|
||||
const upstreamResponse = await apiClient.testUpstream(values);
|
||||
const testMessages = Object.keys(upstreamResponse).map((key) => {
|
||||
const message = upstreamResponse[key];
|
||||
if (message !== 'OK') {
|
||||
dispatch(addErrorToast({ error: t('dns_test_not_ok_toast', { key }) }));
|
||||
}
|
||||
return message;
|
||||
});
|
||||
const testMessages = Object.keys(upstreamResponse)
|
||||
.map((key) => {
|
||||
const message = upstreamResponse[key];
|
||||
if (message !== 'OK') {
|
||||
dispatch(addErrorToast({ error: i18next.t('dns_test_not_ok_toast', { key }) }));
|
||||
}
|
||||
return message;
|
||||
});
|
||||
|
||||
if (testMessages.every(message => message === 'OK')) {
|
||||
if (testMessages.every((message) => message === 'OK')) {
|
||||
dispatch(addSuccessToast('dns_test_ok_toast'));
|
||||
}
|
||||
|
||||
@@ -355,7 +308,7 @@ export const changeLanguageRequest = createAction('CHANGE_LANGUAGE_REQUEST');
|
||||
export const changeLanguageFailure = createAction('CHANGE_LANGUAGE_FAILURE');
|
||||
export const changeLanguageSuccess = createAction('CHANGE_LANGUAGE_SUCCESS');
|
||||
|
||||
export const changeLanguage = lang => async (dispatch) => {
|
||||
export const changeLanguage = (lang) => async (dispatch) => {
|
||||
dispatch(changeLanguageRequest());
|
||||
try {
|
||||
await apiClient.changeLanguage(lang);
|
||||
@@ -415,7 +368,7 @@ export const findActiveDhcpRequest = createAction('FIND_ACTIVE_DHCP_REQUEST');
|
||||
export const findActiveDhcpSuccess = createAction('FIND_ACTIVE_DHCP_SUCCESS');
|
||||
export const findActiveDhcpFailure = createAction('FIND_ACTIVE_DHCP_FAILURE');
|
||||
|
||||
export const findActiveDhcp = name => async (dispatch) => {
|
||||
export const findActiveDhcp = (name) => async (dispatch) => {
|
||||
dispatch(findActiveDhcpRequest());
|
||||
try {
|
||||
const activeDhcp = await apiClient.findActiveDhcp(name);
|
||||
@@ -430,7 +383,7 @@ export const setDhcpConfigRequest = createAction('SET_DHCP_CONFIG_REQUEST');
|
||||
export const setDhcpConfigSuccess = createAction('SET_DHCP_CONFIG_SUCCESS');
|
||||
export const setDhcpConfigFailure = createAction('SET_DHCP_CONFIG_FAILURE');
|
||||
|
||||
export const setDhcpConfig = values => async (dispatch, getState) => {
|
||||
export const setDhcpConfig = (values) => async (dispatch, getState) => {
|
||||
const { config } = getState().dhcp;
|
||||
const updatedConfig = { ...config, ...values };
|
||||
dispatch(setDhcpConfigRequest());
|
||||
@@ -449,13 +402,19 @@ export const toggleDhcpRequest = createAction('TOGGLE_DHCP_REQUEST');
|
||||
export const toggleDhcpFailure = createAction('TOGGLE_DHCP_FAILURE');
|
||||
export const toggleDhcpSuccess = createAction('TOGGLE_DHCP_SUCCESS');
|
||||
|
||||
export const toggleDhcp = values => async (dispatch) => {
|
||||
export const toggleDhcp = (values) => async (dispatch) => {
|
||||
dispatch(toggleDhcpRequest());
|
||||
let config = { ...values, enabled: false };
|
||||
let config = {
|
||||
...values,
|
||||
enabled: false,
|
||||
};
|
||||
let successMessage = 'disabled_dhcp';
|
||||
|
||||
if (!values.enabled) {
|
||||
config = { ...values, enabled: true };
|
||||
config = {
|
||||
...values,
|
||||
enabled: true,
|
||||
};
|
||||
successMessage = 'enabled_dhcp';
|
||||
dispatch(findActiveDhcp(values.interface_name));
|
||||
}
|
||||
@@ -470,19 +429,35 @@ export const toggleDhcp = values => async (dispatch) => {
|
||||
}
|
||||
};
|
||||
|
||||
export const resetDhcpRequest = createAction('RESET_DHCP_REQUEST');
|
||||
export const resetDhcpSuccess = createAction('RESET_DHCP_SUCCESS');
|
||||
export const resetDhcpFailure = createAction('RESET_DHCP_FAILURE');
|
||||
|
||||
export const resetDhcp = () => async (dispatch) => {
|
||||
dispatch(resetDhcpRequest());
|
||||
try {
|
||||
const status = await apiClient.resetDhcp();
|
||||
dispatch(resetDhcpSuccess(status));
|
||||
dispatch(addSuccessToast('dhcp_config_saved'));
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(resetDhcpFailure());
|
||||
}
|
||||
};
|
||||
|
||||
export const toggleLeaseModal = createAction('TOGGLE_LEASE_MODAL');
|
||||
|
||||
export const addStaticLeaseRequest = createAction('ADD_STATIC_LEASE_REQUEST');
|
||||
export const addStaticLeaseFailure = createAction('ADD_STATIC_LEASE_FAILURE');
|
||||
export const addStaticLeaseSuccess = createAction('ADD_STATIC_LEASE_SUCCESS');
|
||||
|
||||
export const addStaticLease = config => async (dispatch) => {
|
||||
export const addStaticLease = (config) => async (dispatch) => {
|
||||
dispatch(addStaticLeaseRequest());
|
||||
try {
|
||||
const name = config.hostname || config.ip;
|
||||
await apiClient.addStaticLease(config);
|
||||
dispatch(addStaticLeaseSuccess(config));
|
||||
dispatch(addSuccessToast(t('dhcp_lease_added', { key: name })));
|
||||
dispatch(addSuccessToast(i18next.t('dhcp_lease_added', { key: name })));
|
||||
dispatch(toggleLeaseModal());
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
@@ -494,15 +469,17 @@ export const removeStaticLeaseRequest = createAction('REMOVE_STATIC_LEASE_REQUES
|
||||
export const removeStaticLeaseFailure = createAction('REMOVE_STATIC_LEASE_FAILURE');
|
||||
export const removeStaticLeaseSuccess = createAction('REMOVE_STATIC_LEASE_SUCCESS');
|
||||
|
||||
export const removeStaticLease = config => async (dispatch) => {
|
||||
export const removeStaticLease = (config) => async (dispatch) => {
|
||||
dispatch(removeStaticLeaseRequest());
|
||||
try {
|
||||
const name = config.hostname || config.ip;
|
||||
await apiClient.removeStaticLease(config);
|
||||
dispatch(removeStaticLeaseSuccess(config));
|
||||
dispatch(addSuccessToast(t('dhcp_lease_deleted', { key: name })));
|
||||
dispatch(addSuccessToast(i18next.t('dhcp_lease_deleted', { key: name })));
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(removeStaticLeaseFailure());
|
||||
}
|
||||
};
|
||||
|
||||
export const removeToast = createAction('REMOVE_TOAST');
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
import apiClient from '../api/Api';
|
||||
import { addErrorToast, addSuccessToast } from './index';
|
||||
import { addErrorToast, addSuccessToast } from './toasts';
|
||||
|
||||
export const nextStep = createAction('NEXT_STEP');
|
||||
export const prevStep = createAction('PREV_STEP');
|
||||
@@ -24,7 +24,7 @@ export const setAllSettingsRequest = createAction('SET_ALL_SETTINGS_REQUEST');
|
||||
export const setAllSettingsFailure = createAction('SET_ALL_SETTINGS_FAILURE');
|
||||
export const setAllSettingsSuccess = createAction('SET_ALL_SETTINGS_SUCCESS');
|
||||
|
||||
export const setAllSettings = values => async (dispatch) => {
|
||||
export const setAllSettings = (values) => async (dispatch) => {
|
||||
dispatch(setAllSettingsRequest());
|
||||
try {
|
||||
const {
|
||||
@@ -47,7 +47,7 @@ export const checkConfigRequest = createAction('CHECK_CONFIG_REQUEST');
|
||||
export const checkConfigFailure = createAction('CHECK_CONFIG_FAILURE');
|
||||
export const checkConfigSuccess = createAction('CHECK_CONFIG_SUCCESS');
|
||||
|
||||
export const checkConfig = values => async (dispatch) => {
|
||||
export const checkConfig = (values) => async (dispatch) => {
|
||||
dispatch(checkConfigRequest());
|
||||
try {
|
||||
const check = await apiClient.checkConfig(values);
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
|
||||
import { addErrorToast } from './index';
|
||||
import apiClient from '../api/Api';
|
||||
import { addErrorToast } from './toasts';
|
||||
|
||||
export const processLoginRequest = createAction('PROCESS_LOGIN_REQUEST');
|
||||
export const processLoginFailure = createAction('PROCESS_LOGIN_FAILURE');
|
||||
export const processLoginSuccess = createAction('PROCESS_LOGIN_SUCCESS');
|
||||
|
||||
export const processLogin = values => async (dispatch) => {
|
||||
export const processLogin = (values) => async (dispatch) => {
|
||||
dispatch(processLoginRequest());
|
||||
try {
|
||||
await apiClient.login(values);
|
||||
window.location.replace(window.location.origin);
|
||||
const dashboardUrl = window.location.origin + window.location.pathname.replace('/login.html', '/');
|
||||
window.location.replace(dashboardUrl);
|
||||
dispatch(processLoginSuccess());
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
|
||||
@@ -1,18 +1,35 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
|
||||
import apiClient from '../api/Api';
|
||||
import { addErrorToast, addSuccessToast } from './index';
|
||||
import { normalizeLogs } from '../helpers/helpers';
|
||||
import { TABLE_DEFAULT_PAGE_SIZE } from '../helpers/constants';
|
||||
import { normalizeLogs, getParamsForClientsSearch, addClientInfo } from '../helpers/helpers';
|
||||
import {
|
||||
DEFAULT_LOGS_FILTER,
|
||||
TABLE_DEFAULT_PAGE_SIZE,
|
||||
TABLE_FIRST_PAGE,
|
||||
} from '../helpers/constants';
|
||||
import { addErrorToast, addSuccessToast } from './toasts';
|
||||
|
||||
const getLogsWithParams = async (config) => {
|
||||
const { older_than, filter, ...values } = config;
|
||||
const rawLogs = await apiClient.getQueryLog({ ...filter, older_than });
|
||||
const rawLogs = await apiClient.getQueryLog({
|
||||
...filter,
|
||||
older_than,
|
||||
});
|
||||
const { data, oldest } = rawLogs;
|
||||
const logs = normalizeLogs(data);
|
||||
let logs = normalizeLogs(data);
|
||||
const clientsParams = getParamsForClientsSearch(logs, 'client');
|
||||
|
||||
if (Object.keys(clientsParams).length > 0) {
|
||||
const clients = await apiClient.findClients(clientsParams);
|
||||
logs = addClientInfo(logs, clients, 'client');
|
||||
}
|
||||
|
||||
return {
|
||||
logs, oldest, older_than, filter, ...values,
|
||||
logs,
|
||||
oldest,
|
||||
older_than,
|
||||
filter,
|
||||
...values,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -24,16 +41,19 @@ const checkFilteredLogs = async (data, filter, dispatch, total) => {
|
||||
const { logs, oldest } = data;
|
||||
const totalData = total || { logs };
|
||||
|
||||
const needToGetAdditionalLogs = (logs.length < TABLE_DEFAULT_PAGE_SIZE ||
|
||||
totalData.logs.length < TABLE_DEFAULT_PAGE_SIZE) &&
|
||||
oldest !== '';
|
||||
const needToGetAdditionalLogs = (logs.length < TABLE_DEFAULT_PAGE_SIZE
|
||||
|| totalData.logs.length < TABLE_DEFAULT_PAGE_SIZE)
|
||||
&& oldest !== '';
|
||||
|
||||
if (needToGetAdditionalLogs) {
|
||||
dispatch(getAdditionalLogsRequest());
|
||||
|
||||
try {
|
||||
const additionalLogs = await getLogsWithParams({ older_than: oldest, filter });
|
||||
if (additionalLogs.logs.length > 0) {
|
||||
const additionalLogs = await getLogsWithParams({
|
||||
older_than: oldest,
|
||||
filter,
|
||||
});
|
||||
if (additionalLogs.oldest.length > 0) {
|
||||
return await checkFilteredLogs(additionalLogs, filter, dispatch, {
|
||||
logs: [...totalData.logs, ...additionalLogs.logs],
|
||||
oldest: additionalLogs.oldest,
|
||||
@@ -53,22 +73,29 @@ const checkFilteredLogs = async (data, filter, dispatch, total) => {
|
||||
|
||||
export const setLogsPagination = createAction('LOGS_PAGINATION');
|
||||
export const setLogsPage = createAction('SET_LOG_PAGE');
|
||||
export const toggleDetailedLogs = createAction('TOGGLE_DETAILED_LOGS');
|
||||
|
||||
export const getLogsRequest = createAction('GET_LOGS_REQUEST');
|
||||
export const getLogsFailure = createAction('GET_LOGS_FAILURE');
|
||||
export const getLogsSuccess = createAction('GET_LOGS_SUCCESS');
|
||||
|
||||
export const getLogs = config => async (dispatch, getState) => {
|
||||
export const getLogs = (config) => async (dispatch, getState) => {
|
||||
dispatch(getLogsRequest());
|
||||
try {
|
||||
const { isFiltered, filter, page } = getState().queryLogs;
|
||||
const data = await getLogsWithParams({ ...config, filter });
|
||||
const data = await getLogsWithParams({
|
||||
...config,
|
||||
filter,
|
||||
});
|
||||
|
||||
if (isFiltered) {
|
||||
const additionalData = await checkFilteredLogs(data, filter, dispatch);
|
||||
const updatedData = additionalData.logs ? { ...data, ...additionalData } : data;
|
||||
dispatch(getLogsSuccess(updatedData));
|
||||
dispatch(setLogsPagination({ page, pageSize: TABLE_DEFAULT_PAGE_SIZE }));
|
||||
dispatch(setLogsPagination({
|
||||
page,
|
||||
pageSize: TABLE_DEFAULT_PAGE_SIZE,
|
||||
}));
|
||||
} else {
|
||||
dispatch(getLogsSuccess(data));
|
||||
}
|
||||
@@ -79,24 +106,48 @@ export const getLogs = config => async (dispatch, getState) => {
|
||||
};
|
||||
|
||||
export const setLogsFilterRequest = createAction('SET_LOGS_FILTER_REQUEST');
|
||||
export const setLogsFilterFailure = createAction('SET_LOGS_FILTER_FAILURE');
|
||||
export const setLogsFilterSuccess = createAction('SET_LOGS_FILTER_SUCCESS');
|
||||
|
||||
export const setLogsFilter = filter => async (dispatch) => {
|
||||
dispatch(setLogsFilterRequest());
|
||||
/**
|
||||
*
|
||||
* @param filter
|
||||
* @param {string} filter.search
|
||||
* @param {string} filter.response_status query field of RESPONSE_FILTER object
|
||||
* @returns function
|
||||
*/
|
||||
export const setLogsFilter = (filter) => setLogsFilterRequest(filter);
|
||||
|
||||
export const setFilteredLogsRequest = createAction('SET_FILTERED_LOGS_REQUEST');
|
||||
export const setFilteredLogsFailure = createAction('SET_FILTERED_LOGS_FAILURE');
|
||||
export const setFilteredLogsSuccess = createAction('SET_FILTERED_LOGS_SUCCESS');
|
||||
|
||||
export const setFilteredLogs = (filter) => async (dispatch) => {
|
||||
dispatch(setFilteredLogsRequest());
|
||||
try {
|
||||
const data = await getLogsWithParams({ older_than: '', filter });
|
||||
const data = await getLogsWithParams({
|
||||
older_than: '',
|
||||
filter,
|
||||
});
|
||||
const additionalData = await checkFilteredLogs(data, filter, dispatch);
|
||||
const updatedData = additionalData.logs ? { ...data, ...additionalData } : data;
|
||||
|
||||
dispatch(setLogsFilterSuccess({ ...updatedData, filter }));
|
||||
dispatch(setLogsPage(0));
|
||||
dispatch(setFilteredLogsSuccess({
|
||||
...updatedData,
|
||||
filter,
|
||||
}));
|
||||
dispatch(setLogsPage(TABLE_FIRST_PAGE));
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(setLogsFilterFailure(error));
|
||||
dispatch(setFilteredLogsFailure(error));
|
||||
}
|
||||
};
|
||||
|
||||
export const resetFilteredLogs = () => setFilteredLogs(DEFAULT_LOGS_FILTER);
|
||||
|
||||
export const refreshFilteredLogs = () => async (dispatch, getState) => {
|
||||
const { filter } = getState().queryLogs;
|
||||
await dispatch(setFilteredLogs(filter));
|
||||
};
|
||||
|
||||
export const clearLogsRequest = createAction('CLEAR_LOGS_REQUEST');
|
||||
export const clearLogsFailure = createAction('CLEAR_LOGS_FAILURE');
|
||||
export const clearLogsSuccess = createAction('CLEAR_LOGS_SUCCESS');
|
||||
@@ -132,7 +183,7 @@ export const setLogsConfigRequest = createAction('SET_LOGS_CONFIG_REQUEST');
|
||||
export const setLogsConfigFailure = createAction('SET_LOGS_CONFIG_FAILURE');
|
||||
export const setLogsConfigSuccess = createAction('SET_LOGS_CONFIG_SUCCESS');
|
||||
|
||||
export const setLogsConfig = config => async (dispatch) => {
|
||||
export const setLogsConfig = (config) => async (dispatch) => {
|
||||
dispatch(setLogsConfigRequest());
|
||||
try {
|
||||
await apiClient.setQueryLogConfig(config);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
import { t } from 'i18next';
|
||||
import i18next from 'i18next';
|
||||
import apiClient from '../api/Api';
|
||||
import { addErrorToast, addSuccessToast } from './index';
|
||||
import { addErrorToast, addSuccessToast } from './toasts';
|
||||
|
||||
export const toggleRewritesModal = createAction('TOGGLE_REWRITES_MODAL');
|
||||
|
||||
@@ -24,14 +24,14 @@ export const addRewriteRequest = createAction('ADD_REWRITE_REQUEST');
|
||||
export const addRewriteFailure = createAction('ADD_REWRITE_FAILURE');
|
||||
export const addRewriteSuccess = createAction('ADD_REWRITE_SUCCESS');
|
||||
|
||||
export const addRewrite = config => async (dispatch) => {
|
||||
export const addRewrite = (config) => async (dispatch) => {
|
||||
dispatch(addRewriteRequest());
|
||||
try {
|
||||
await apiClient.addRewrite(config);
|
||||
dispatch(addRewriteSuccess(config));
|
||||
dispatch(toggleRewritesModal());
|
||||
dispatch(getRewritesList());
|
||||
dispatch(addSuccessToast(t('rewrite_added', { key: config.domain })));
|
||||
dispatch(addSuccessToast(i18next.t('rewrite_added', { key: config.domain })));
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(addRewriteFailure());
|
||||
@@ -42,13 +42,13 @@ export const deleteRewriteRequest = createAction('DELETE_REWRITE_REQUEST');
|
||||
export const deleteRewriteFailure = createAction('DELETE_REWRITE_FAILURE');
|
||||
export const deleteRewriteSuccess = createAction('DELETE_REWRITE_SUCCESS');
|
||||
|
||||
export const deleteRewrite = config => async (dispatch) => {
|
||||
export const deleteRewrite = (config) => async (dispatch) => {
|
||||
dispatch(deleteRewriteRequest());
|
||||
try {
|
||||
await apiClient.deleteRewrite(config);
|
||||
dispatch(deleteRewriteSuccess());
|
||||
dispatch(getRewritesList());
|
||||
dispatch(addSuccessToast(t('rewrite_deleted', { key: config.domain })));
|
||||
dispatch(addSuccessToast(i18next.t('rewrite_deleted', { key: config.domain })));
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(deleteRewriteFailure());
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
import apiClient from '../api/Api';
|
||||
import { addErrorToast, addSuccessToast } from './index';
|
||||
import { addErrorToast, addSuccessToast } from './toasts';
|
||||
|
||||
export const getBlockedServicesRequest = createAction('GET_BLOCKED_SERVICES_REQUEST');
|
||||
export const getBlockedServicesFailure = createAction('GET_BLOCKED_SERVICES_FAILURE');
|
||||
@@ -21,7 +21,7 @@ export const setBlockedServicesRequest = createAction('SET_BLOCKED_SERVICES_REQU
|
||||
export const setBlockedServicesFailure = createAction('SET_BLOCKED_SERVICES_FAILURE');
|
||||
export const setBlockedServicesSuccess = createAction('SET_BLOCKED_SERVICES_SUCCESS');
|
||||
|
||||
export const setBlockedServices = values => async (dispatch) => {
|
||||
export const setBlockedServices = (values) => async (dispatch) => {
|
||||
dispatch(setBlockedServicesRequest());
|
||||
try {
|
||||
await apiClient.setBlockedServices(values);
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
|
||||
import apiClient from '../api/Api';
|
||||
import { addErrorToast, addSuccessToast } from './index';
|
||||
import { normalizeTopStats, secondsToMilliseconds } from '../helpers/helpers';
|
||||
import {
|
||||
normalizeTopStats, secondsToMilliseconds, getParamsForClientsSearch, addClientInfo,
|
||||
} from '../helpers/helpers';
|
||||
import { addErrorToast, addSuccessToast } from './toasts';
|
||||
|
||||
export const getStatsConfigRequest = createAction('GET_STATS_CONFIG_REQUEST');
|
||||
export const getStatsConfigFailure = createAction('GET_STATS_CONFIG_FAILURE');
|
||||
@@ -23,7 +25,7 @@ export const setStatsConfigRequest = createAction('SET_STATS_CONFIG_REQUEST');
|
||||
export const setStatsConfigFailure = createAction('SET_STATS_CONFIG_FAILURE');
|
||||
export const setStatsConfigSuccess = createAction('SET_STATS_CONFIG_SUCCESS');
|
||||
|
||||
export const setStatsConfig = config => async (dispatch) => {
|
||||
export const setStatsConfig = (config) => async (dispatch) => {
|
||||
dispatch(setStatsConfigRequest());
|
||||
try {
|
||||
await apiClient.setStatsConfig(config);
|
||||
@@ -43,11 +45,15 @@ export const getStats = () => async (dispatch) => {
|
||||
dispatch(getStatsRequest());
|
||||
try {
|
||||
const stats = await apiClient.getStats();
|
||||
const normalizedTopClients = normalizeTopStats(stats.top_clients);
|
||||
const clientsParams = getParamsForClientsSearch(normalizedTopClients, 'name');
|
||||
const clients = await apiClient.findClients(clientsParams);
|
||||
const topClientsWithInfo = addClientInfo(normalizedTopClients, clients, 'name');
|
||||
|
||||
const normalizedStats = {
|
||||
...stats,
|
||||
top_blocked_domains: normalizeTopStats(stats.top_blocked_domains),
|
||||
top_clients: normalizeTopStats(stats.top_clients),
|
||||
top_clients: topClientsWithInfo,
|
||||
top_queried_domains: normalizeTopStats(stats.top_queried_domains),
|
||||
avg_processing_time: secondsToMilliseconds(stats.avg_processing_time),
|
||||
};
|
||||
|
||||
5
client/src/actions/toasts.js
Normal file
5
client/src/actions/toasts.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import { createAction } from 'redux-actions';
|
||||
|
||||
export const addErrorToast = createAction('ADD_ERROR_TOAST');
|
||||
export const addSuccessToast = createAction('ADD_SUCCESS_TOAST');
|
||||
export const addNoticeToast = createAction('ADD_NOTICE_TOAST');
|
||||
@@ -1,6 +1,7 @@
|
||||
import axios from 'axios';
|
||||
|
||||
import { getPathWithQueryString } from '../helpers/helpers';
|
||||
import { R_PATH_LAST_PART } from '../helpers/constants';
|
||||
|
||||
class Api {
|
||||
baseUrl = 'control';
|
||||
@@ -17,6 +18,12 @@ class Api {
|
||||
console.error(error);
|
||||
const errorPath = `${this.baseUrl}/${path}`;
|
||||
if (error.response) {
|
||||
if (error.response.status === 403) {
|
||||
const loginPageUrl = window.location.href.replace(R_PATH_LAST_PART, '/login.html');
|
||||
window.location.replace(loginPageUrl);
|
||||
return false;
|
||||
}
|
||||
|
||||
throw new Error(`${errorPath} | ${error.response.data} | ${error.response.status}`);
|
||||
}
|
||||
throw new Error(`${errorPath} | ${error.message ? error.message : error}`);
|
||||
@@ -24,40 +31,19 @@ class Api {
|
||||
}
|
||||
|
||||
// Global methods
|
||||
GLOBAL_START = { path: 'start', method: 'POST' };
|
||||
GLOBAL_STATUS = { path: 'status', method: 'GET' };
|
||||
GLOBAL_STOP = { path: 'stop', method: 'POST' };
|
||||
GLOBAL_SET_UPSTREAM_DNS = { path: 'set_upstreams_config', method: 'POST' };
|
||||
|
||||
GLOBAL_TEST_UPSTREAM_DNS = { path: 'test_upstream_dns', method: 'POST' };
|
||||
|
||||
GLOBAL_VERSION = { path: 'version.json', method: 'POST' };
|
||||
GLOBAL_ENABLE_PROTECTION = { path: 'enable_protection', method: 'POST' };
|
||||
GLOBAL_DISABLE_PROTECTION = { path: 'disable_protection', method: 'POST' };
|
||||
|
||||
GLOBAL_UPDATE = { path: 'update', method: 'POST' };
|
||||
|
||||
startGlobalFiltering() {
|
||||
const { path, method } = this.GLOBAL_START;
|
||||
return this.makeRequest(path, method);
|
||||
}
|
||||
|
||||
stopGlobalFiltering() {
|
||||
const { path, method } = this.GLOBAL_STOP;
|
||||
return this.makeRequest(path, method);
|
||||
}
|
||||
|
||||
getGlobalStatus() {
|
||||
const { path, method } = this.GLOBAL_STATUS;
|
||||
return this.makeRequest(path, method);
|
||||
}
|
||||
|
||||
setUpstream(url) {
|
||||
const { path, method } = this.GLOBAL_SET_UPSTREAM_DNS;
|
||||
const config = {
|
||||
data: url,
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
};
|
||||
return this.makeRequest(path, method, config);
|
||||
}
|
||||
|
||||
testUpstream(servers) {
|
||||
const { path, method } = this.GLOBAL_TEST_UPSTREAM_DNS;
|
||||
const config = {
|
||||
@@ -76,16 +62,6 @@ class Api {
|
||||
return this.makeRequest(path, method, config);
|
||||
}
|
||||
|
||||
enableGlobalProtection() {
|
||||
const { path, method } = this.GLOBAL_ENABLE_PROTECTION;
|
||||
return this.makeRequest(path, method);
|
||||
}
|
||||
|
||||
disableGlobalProtection() {
|
||||
const { path, method } = this.GLOBAL_DISABLE_PROTECTION;
|
||||
return this.makeRequest(path, method);
|
||||
}
|
||||
|
||||
getUpdate() {
|
||||
const { path, method } = this.GLOBAL_UPDATE;
|
||||
return this.makeRequest(path, method);
|
||||
@@ -93,32 +69,44 @@ class Api {
|
||||
|
||||
// Filtering
|
||||
FILTERING_STATUS = { path: 'filtering/status', method: 'GET' };
|
||||
|
||||
FILTERING_ADD_FILTER = { path: 'filtering/add_url', method: 'POST' };
|
||||
|
||||
FILTERING_REMOVE_FILTER = { path: 'filtering/remove_url', method: 'POST' };
|
||||
|
||||
FILTERING_SET_RULES = { path: 'filtering/set_rules', method: 'POST' };
|
||||
|
||||
FILTERING_REFRESH = { path: 'filtering/refresh', method: 'POST' };
|
||||
|
||||
FILTERING_SET_URL = { path: 'filtering/set_url', method: 'POST' };
|
||||
|
||||
FILTERING_CONFIG = { path: 'filtering/config', method: 'POST' };
|
||||
|
||||
FILTERING_CHECK_HOST = { path: 'filtering/check_host', method: 'GET' };
|
||||
|
||||
getFilteringStatus() {
|
||||
const { path, method } = this.FILTERING_STATUS;
|
||||
return this.makeRequest(path, method);
|
||||
}
|
||||
|
||||
refreshFilters() {
|
||||
refreshFilters(config) {
|
||||
const { path, method } = this.FILTERING_REFRESH;
|
||||
return this.makeRequest(path, method);
|
||||
const parameters = {
|
||||
data: config,
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
};
|
||||
|
||||
return this.makeRequest(path, method, parameters);
|
||||
}
|
||||
|
||||
addFilter(url, name) {
|
||||
addFilter(config) {
|
||||
const { path, method } = this.FILTERING_ADD_FILTER;
|
||||
const config = {
|
||||
data: {
|
||||
name,
|
||||
url,
|
||||
},
|
||||
const parameters = {
|
||||
data: config,
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
};
|
||||
return this.makeRequest(path, method, config);
|
||||
|
||||
return this.makeRequest(path, method, parameters);
|
||||
}
|
||||
|
||||
removeFilter(config) {
|
||||
@@ -158,9 +146,17 @@ class Api {
|
||||
return this.makeRequest(path, method, parameters);
|
||||
}
|
||||
|
||||
checkHost(params) {
|
||||
const { path, method } = this.FILTERING_CHECK_HOST;
|
||||
const url = getPathWithQueryString(path, params);
|
||||
return this.makeRequest(url, method);
|
||||
}
|
||||
|
||||
// Parental
|
||||
PARENTAL_STATUS = { path: 'parental/status', method: 'GET' };
|
||||
|
||||
PARENTAL_ENABLE = { path: 'parental/enable', method: 'POST' };
|
||||
|
||||
PARENTAL_DISABLE = { path: 'parental/disable', method: 'POST' };
|
||||
|
||||
getParentalStatus() {
|
||||
@@ -185,7 +181,9 @@ class Api {
|
||||
|
||||
// Safebrowsing
|
||||
SAFEBROWSING_STATUS = { path: 'safebrowsing/status', method: 'GET' };
|
||||
|
||||
SAFEBROWSING_ENABLE = { path: 'safebrowsing/enable', method: 'POST' };
|
||||
|
||||
SAFEBROWSING_DISABLE = { path: 'safebrowsing/disable', method: 'POST' };
|
||||
|
||||
getSafebrowsingStatus() {
|
||||
@@ -205,7 +203,9 @@ class Api {
|
||||
|
||||
// Safesearch
|
||||
SAFESEARCH_STATUS = { path: 'safesearch/status', method: 'GET' };
|
||||
|
||||
SAFESEARCH_ENABLE = { path: 'safesearch/enable', method: 'POST' };
|
||||
|
||||
SAFESEARCH_DISABLE = { path: 'safesearch/disable', method: 'POST' };
|
||||
|
||||
getSafesearchStatus() {
|
||||
@@ -225,6 +225,7 @@ class Api {
|
||||
|
||||
// Language
|
||||
CURRENT_LANGUAGE = { path: 'i18n/current_language', method: 'GET' };
|
||||
|
||||
CHANGE_LANGUAGE = { path: 'i18n/change_language', method: 'POST' };
|
||||
|
||||
getCurrentLanguage() {
|
||||
@@ -243,12 +244,19 @@ class Api {
|
||||
|
||||
// DHCP
|
||||
DHCP_STATUS = { path: 'dhcp/status', method: 'GET' };
|
||||
|
||||
DHCP_SET_CONFIG = { path: 'dhcp/set_config', method: 'POST' };
|
||||
|
||||
DHCP_FIND_ACTIVE = { path: 'dhcp/find_active_dhcp', method: 'POST' };
|
||||
|
||||
DHCP_INTERFACES = { path: 'dhcp/interfaces', method: 'GET' };
|
||||
|
||||
DHCP_ADD_STATIC_LEASE = { path: 'dhcp/add_static_lease', method: 'POST' };
|
||||
|
||||
DHCP_REMOVE_STATIC_LEASE = { path: 'dhcp/remove_static_lease', method: 'POST' };
|
||||
|
||||
DHCP_RESET = { path: 'dhcp/reset', method: 'POST' };
|
||||
|
||||
getDhcpStatus() {
|
||||
const { path, method } = this.DHCP_STATUS;
|
||||
return this.makeRequest(path, method);
|
||||
@@ -295,9 +303,16 @@ class Api {
|
||||
return this.makeRequest(path, method, parameters);
|
||||
}
|
||||
|
||||
resetDhcp() {
|
||||
const { path, method } = this.DHCP_RESET;
|
||||
return this.makeRequest(path, method);
|
||||
}
|
||||
|
||||
// Installation
|
||||
INSTALL_GET_ADDRESSES = { path: 'install/get_addresses', method: 'GET' };
|
||||
|
||||
INSTALL_CONFIGURE = { path: 'install/configure', method: 'POST' };
|
||||
|
||||
INSTALL_CHECK_CONFIG = { path: 'install/check_config', method: 'POST' };
|
||||
|
||||
getDefaultAddresses() {
|
||||
@@ -325,7 +340,9 @@ class Api {
|
||||
|
||||
// DNS-over-HTTPS and DNS-over-TLS
|
||||
TLS_STATUS = { path: 'tls/status', method: 'GET' };
|
||||
|
||||
TLS_CONFIG = { path: 'tls/configure', method: 'POST' };
|
||||
|
||||
TLS_VALIDATE = { path: 'tls/validate', method: 'POST' };
|
||||
|
||||
getTlsStatus() {
|
||||
@@ -353,8 +370,13 @@ class Api {
|
||||
|
||||
// Per-client settings
|
||||
GET_CLIENTS = { path: 'clients', method: 'GET' };
|
||||
|
||||
FIND_CLIENTS = { path: 'clients/find', method: 'GET' };
|
||||
|
||||
ADD_CLIENT = { path: 'clients/add', method: 'POST' };
|
||||
|
||||
DELETE_CLIENT = { path: 'clients/delete', method: 'POST' };
|
||||
|
||||
UPDATE_CLIENT = { path: 'clients/update', method: 'POST' };
|
||||
|
||||
getClients() {
|
||||
@@ -389,8 +411,15 @@ class Api {
|
||||
return this.makeRequest(path, method, parameters);
|
||||
}
|
||||
|
||||
findClients(params) {
|
||||
const { path, method } = this.FIND_CLIENTS;
|
||||
const url = getPathWithQueryString(path, params);
|
||||
return this.makeRequest(url, method);
|
||||
}
|
||||
|
||||
// DNS access settings
|
||||
ACCESS_LIST = { path: 'access/list', method: 'GET' };
|
||||
|
||||
ACCESS_SET = { path: 'access/set', method: 'POST' };
|
||||
|
||||
getAccessList() {
|
||||
@@ -409,7 +438,9 @@ class Api {
|
||||
|
||||
// DNS rewrites
|
||||
REWRITES_LIST = { path: 'rewrite/list', method: 'GET' };
|
||||
|
||||
REWRITE_ADD = { path: 'rewrite/add', method: 'POST' };
|
||||
|
||||
REWRITE_DELETE = { path: 'rewrite/delete', method: 'POST' };
|
||||
|
||||
getRewritesList() {
|
||||
@@ -437,6 +468,7 @@ class Api {
|
||||
|
||||
// Blocked services
|
||||
BLOCKED_SERVICES_LIST = { path: 'blocked_services/list', method: 'GET' };
|
||||
|
||||
BLOCKED_SERVICES_SET = { path: 'blocked_services/set', method: 'POST' };
|
||||
|
||||
getBlockedServices() {
|
||||
@@ -455,8 +487,11 @@ class Api {
|
||||
|
||||
// Settings for statistics
|
||||
GET_STATS = { path: 'stats', method: 'GET' };
|
||||
|
||||
STATS_INFO = { path: 'stats_info', method: 'GET' };
|
||||
|
||||
STATS_CONFIG = { path: 'stats_config', method: 'POST' };
|
||||
|
||||
STATS_RESET = { path: 'stats_reset', method: 'POST' };
|
||||
|
||||
getStats() {
|
||||
@@ -485,8 +520,11 @@ class Api {
|
||||
|
||||
// Query log
|
||||
GET_QUERY_LOG = { path: 'querylog', method: 'GET' };
|
||||
|
||||
QUERY_LOG_CONFIG = { path: 'querylog_config', method: 'POST' };
|
||||
|
||||
QUERY_LOG_INFO = { path: 'querylog_info', method: 'GET' };
|
||||
|
||||
QUERY_LOG_CLEAR = { path: 'querylog_clear', method: 'POST' };
|
||||
|
||||
getQueryLog(params) {
|
||||
@@ -533,6 +571,25 @@ class Api {
|
||||
const { path, method } = this.GET_PROFILE;
|
||||
return this.makeRequest(path, method);
|
||||
}
|
||||
|
||||
// DNS config
|
||||
GET_DNS_CONFIG = { path: 'dns_info', method: 'GET' };
|
||||
|
||||
SET_DNS_CONFIG = { path: 'dns_config', method: 'POST' };
|
||||
|
||||
getDnsConfig() {
|
||||
const { path, method } = this.GET_DNS_CONFIG;
|
||||
return this.makeRequest(path, method);
|
||||
}
|
||||
|
||||
setDnsConfig(data) {
|
||||
const { path, method } = this.SET_DNS_CONFIG;
|
||||
const config = {
|
||||
data,
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
};
|
||||
return this.makeRequest(path, method, config);
|
||||
}
|
||||
}
|
||||
|
||||
const apiClient = new Api();
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
:root {
|
||||
--yellow-pale: rgba(247, 181, 0, 0.1);
|
||||
--green79: #67B279;
|
||||
--gray-a5: #a5a5a5;
|
||||
--gray-d8: #d8d8d8;
|
||||
--gray-f3: #F3F3F3;
|
||||
--font-family-monospace: Monaco, Menlo, "Ubuntu Mono", Consolas, source-code-pro, monospace;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
@@ -18,6 +27,12 @@ body {
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 992px) {
|
||||
.container--wrap {
|
||||
min-height: calc(100vh);
|
||||
}
|
||||
}
|
||||
|
||||
.loading-bar {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
@@ -27,6 +42,26 @@ body {
|
||||
background: linear-gradient(45deg, rgba(99, 125, 120, 1) 0%, rgba(88, 177, 101, 1) 100%);
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
@media (max-width: 575px) {
|
||||
.container {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.modal-body--medium {
|
||||
max-height: 20rem;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.modal-body__item:not(:first-child) {
|
||||
padding-top: 1.5rem;
|
||||
}
|
||||
|
||||
.font-monospace {
|
||||
font-family: var(--font-family-monospace);
|
||||
}
|
||||
|
||||
.mw-75 {
|
||||
max-width: 75% !important;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import React, { Component, Fragment } from 'react';
|
||||
import { HashRouter, Route } from 'react-router-dom';
|
||||
import PropTypes from 'prop-types';
|
||||
import { withNamespaces } from 'react-i18next';
|
||||
import { withTranslation } from 'react-i18next';
|
||||
import LoadingBar from 'react-redux-loading-bar';
|
||||
|
||||
import 'react-table/react-table.css';
|
||||
@@ -12,7 +12,11 @@ import './index.css';
|
||||
import Header from '../../containers/Header';
|
||||
import Dashboard from '../../containers/Dashboard';
|
||||
import Settings from '../../containers/Settings';
|
||||
import Filters from '../../containers/Filters';
|
||||
|
||||
import CustomRules from '../../containers/CustomRules';
|
||||
import DnsBlocklist from '../../containers/DnsBlocklist';
|
||||
import DnsAllowlist from '../../containers/DnsAllowlist';
|
||||
import DnsRewrites from '../../containers/DnsRewrites';
|
||||
|
||||
import Dns from '../../containers/Dns';
|
||||
import Encryption from '../../containers/Encryption';
|
||||
@@ -29,6 +33,10 @@ import UpdateOverlay from '../ui/UpdateOverlay';
|
||||
import EncryptionTopline from '../ui/EncryptionTopline';
|
||||
import Icons from '../ui/Icons';
|
||||
import i18n from '../../i18n';
|
||||
import Loading from '../ui/Loading';
|
||||
import { FILTERS_URLS, MENU_URLS, SETTINGS_URLS } from '../../helpers/constants';
|
||||
import Services from '../Filters/Services';
|
||||
import { getLogsUrlParams, setHtmlLangAttr } from '../../helpers/helpers';
|
||||
|
||||
class App extends Component {
|
||||
componentDidMount() {
|
||||
@@ -41,8 +49,8 @@ class App extends Component {
|
||||
}
|
||||
}
|
||||
|
||||
handleStatusChange = () => {
|
||||
this.props.enableDns();
|
||||
reloadPage = () => {
|
||||
window.location.reload();
|
||||
};
|
||||
|
||||
handleUpdate = () => {
|
||||
@@ -55,6 +63,7 @@ class App extends Component {
|
||||
if (!processing) {
|
||||
if (language) {
|
||||
i18n.changeLanguage(language);
|
||||
setHtmlLangAttr(language);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,26 +96,38 @@ class App extends Component {
|
||||
)}
|
||||
<LoadingBar className="loading-bar" updateTime={1000} />
|
||||
<Route component={Header} />
|
||||
<div className="container container--wrap">
|
||||
{!dashboard.processing && !dashboard.isCoreRunning && (
|
||||
<div className="container container--wrap pb-5">
|
||||
{dashboard.processing && <Loading />}
|
||||
{!dashboard.isCoreRunning && (
|
||||
<div className="row row-cards">
|
||||
<div className="col-lg-12">
|
||||
<Status handleStatusChange={this.handleStatusChange} />
|
||||
<Status reloadPage={this.reloadPage}
|
||||
message="dns_start"
|
||||
/>
|
||||
<Loading />
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{!dashboard.processing && dashboard.isCoreRunning && (
|
||||
<Fragment>
|
||||
<Route path="/" exact component={Dashboard} />
|
||||
<Route path="/settings" component={Settings} />
|
||||
<Route path="/dns" component={Dns} />
|
||||
<Route path="/encryption" component={Encryption} />
|
||||
<Route path="/dhcp" component={Dhcp} />
|
||||
<Route path="/clients" component={Clients} />
|
||||
<Route path="/filters" component={Filters} />
|
||||
<Route path="/logs" component={Logs} />
|
||||
<Route path="/guide" component={SetupGuide} />
|
||||
</Fragment>
|
||||
<>
|
||||
<Route path={MENU_URLS.root} exact component={Dashboard} />
|
||||
<Route
|
||||
path={[`${MENU_URLS.logs}${getLogsUrlParams(':search?', ':response_status?')}`, MENU_URLS.logs]}
|
||||
component={Logs} />
|
||||
<Route path={MENU_URLS.guide} component={SetupGuide} />
|
||||
<Route path={SETTINGS_URLS.settings} component={Settings} />
|
||||
<Route path={SETTINGS_URLS.dns} component={Dns} />
|
||||
<Route path={SETTINGS_URLS.encryption} component={Encryption} />
|
||||
<Route path={SETTINGS_URLS.dhcp} component={Dhcp} />
|
||||
<Route path={SETTINGS_URLS.clients} component={Clients} />
|
||||
<Route path={FILTERS_URLS.dns_blocklists}
|
||||
component={DnsBlocklist} />
|
||||
<Route path={FILTERS_URLS.dns_allowlists}
|
||||
component={DnsAllowlist} />
|
||||
<Route path={FILTERS_URLS.dns_rewrites} component={DnsRewrites} />
|
||||
<Route path={FILTERS_URLS.custom_rules} component={CustomRules} />
|
||||
<Route path={FILTERS_URLS.blocked_services} component={Services} />
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
<Footer
|
||||
@@ -114,6 +135,7 @@ class App extends Component {
|
||||
dnsPort={dashboard.dnsPort}
|
||||
processingVersion={dashboard.processingVersion}
|
||||
getVersion={getVersion}
|
||||
checkUpdateFlag={dashboard.checkUpdateFlag}
|
||||
/>
|
||||
<Toasts />
|
||||
<Icons />
|
||||
@@ -135,4 +157,4 @@ App.propTypes = {
|
||||
getVersion: PropTypes.func,
|
||||
};
|
||||
|
||||
export default withNamespaces()(App);
|
||||
export default withTranslation()(App);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import React from 'react';
|
||||
import ReactTable from 'react-table';
|
||||
import PropTypes from 'prop-types';
|
||||
import { withNamespaces, Trans } from 'react-i18next';
|
||||
import { withTranslation, Trans } from 'react-i18next';
|
||||
|
||||
import Card from '../ui/Card';
|
||||
import Cell from '../ui/Cell';
|
||||
@@ -10,13 +10,16 @@ import DomainCell from './DomainCell';
|
||||
import { getPercent } from '../../helpers/helpers';
|
||||
import { STATUS_COLORS } from '../../helpers/constants';
|
||||
|
||||
const CountCell = totalBlocked =>
|
||||
function cell(row) {
|
||||
const { value } = row;
|
||||
const percent = getPercent(totalBlocked, value);
|
||||
const CountCell = (totalBlocked) => function cell(row) {
|
||||
const { value } = row;
|
||||
const percent = getPercent(totalBlocked, value);
|
||||
|
||||
return <Cell value={value} percent={percent} color={STATUS_COLORS.red} />;
|
||||
};
|
||||
return <Cell value={value}
|
||||
percent={percent}
|
||||
color={STATUS_COLORS.red}
|
||||
search={row.original.domain}
|
||||
/>;
|
||||
};
|
||||
|
||||
const BlockedDomains = ({
|
||||
t,
|
||||
@@ -58,7 +61,7 @@ const BlockedDomains = ({
|
||||
noDataText={t('no_domains_found')}
|
||||
minRows={6}
|
||||
defaultPageSize={100}
|
||||
className="-striped -highlight card-table-overflow stats__table"
|
||||
className="-highlight card-table-overflow--limited stats__table"
|
||||
/>
|
||||
</Card>
|
||||
);
|
||||
@@ -74,4 +77,4 @@ BlockedDomains.propTypes = {
|
||||
t: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export default withNamespaces()(BlockedDomains);
|
||||
export default withTranslation()(BlockedDomains);
|
||||
|
||||
@@ -1,46 +1,84 @@
|
||||
import React from 'react';
|
||||
import ReactTable from 'react-table';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Trans, withNamespaces } from 'react-i18next';
|
||||
import { Trans, withTranslation } from 'react-i18next';
|
||||
|
||||
import Card from '../ui/Card';
|
||||
import Cell from '../ui/Cell';
|
||||
|
||||
import { getPercent } from '../../helpers/helpers';
|
||||
import { STATUS_COLORS } from '../../helpers/constants';
|
||||
import { getPercent, getIpMatchListStatus } from '../../helpers/helpers';
|
||||
import { IP_MATCH_LIST_STATUS, STATUS_COLORS } from '../../helpers/constants';
|
||||
import { formatClientCell } from '../../helpers/formatClientCell';
|
||||
|
||||
const getClientsPercentColor = (percent) => {
|
||||
if (percent > 50) {
|
||||
return STATUS_COLORS.green;
|
||||
} else if (percent > 10) {
|
||||
}
|
||||
if (percent > 10) {
|
||||
return STATUS_COLORS.yellow;
|
||||
}
|
||||
return STATUS_COLORS.red;
|
||||
};
|
||||
|
||||
const countCell = dnsQueries =>
|
||||
function cell(row) {
|
||||
const { value } = row;
|
||||
const percent = getPercent(dnsQueries, value);
|
||||
const percentColor = getClientsPercentColor(percent);
|
||||
const countCell = (dnsQueries) => function cell(row) {
|
||||
const { value } = row;
|
||||
const percent = getPercent(dnsQueries, value);
|
||||
const percentColor = getClientsPercentColor(percent);
|
||||
|
||||
return <Cell value={value} percent={percent} color={percentColor} />;
|
||||
};
|
||||
return <Cell value={value} percent={percent} color={percentColor} search={row.original.ip} />;
|
||||
};
|
||||
|
||||
const clientCell = (clients, autoClients, t) =>
|
||||
function cell(row) {
|
||||
const { value } = row;
|
||||
const renderBlockingButton = (ipMatchListStatus, ip, handleClick, processing) => {
|
||||
const buttonProps = ipMatchListStatus === IP_MATCH_LIST_STATUS.NOT_FOUND
|
||||
? {
|
||||
className: 'btn-outline-danger',
|
||||
text: 'block',
|
||||
type: 'block',
|
||||
}
|
||||
: {
|
||||
className: 'btn-outline-secondary',
|
||||
text: 'unblock',
|
||||
type: 'unblock',
|
||||
};
|
||||
|
||||
return (
|
||||
return (
|
||||
<div className="table__action button__action">
|
||||
<button
|
||||
type="button"
|
||||
className={`btn btn-sm ${buttonProps.className}`}
|
||||
onClick={() => handleClick(buttonProps.type, ip)}
|
||||
disabled={processing}
|
||||
>
|
||||
<Trans>{buttonProps.text}</Trans>
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
const clientCell = (t, toggleClientStatus, processing, disallowedClients) => function cell(row) {
|
||||
const { value } = row;
|
||||
const ipMatchListStatus = getIpMatchListStatus(value, disallowedClients);
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="logs__row logs__row--overflow logs__row--column">
|
||||
{formatClientCell(value, clients, autoClients, t)}
|
||||
{formatClientCell(row, true, false)}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
{ipMatchListStatus !== IP_MATCH_LIST_STATUS.CIDR
|
||||
&& renderBlockingButton(ipMatchListStatus, value, toggleClientStatus, processing)}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
const Clients = ({
|
||||
t, refreshButton, topClients, subtitle, clients, autoClients, dnsQueries,
|
||||
t,
|
||||
refreshButton,
|
||||
topClients,
|
||||
subtitle,
|
||||
dnsQueries,
|
||||
toggleClientStatus,
|
||||
processingAccessSet,
|
||||
disallowedClients,
|
||||
}) => (
|
||||
<Card
|
||||
title={t('top_clients')}
|
||||
@@ -49,17 +87,20 @@ const Clients = ({
|
||||
refresh={refreshButton}
|
||||
>
|
||||
<ReactTable
|
||||
data={topClients.map(({ name: ip, count }) => ({
|
||||
data={topClients.map(({
|
||||
name: ip, count, info, blocked,
|
||||
}) => ({
|
||||
ip,
|
||||
count,
|
||||
info,
|
||||
blocked,
|
||||
}))}
|
||||
columns={[
|
||||
{
|
||||
Header: 'IP',
|
||||
accessor: 'ip',
|
||||
sortMethod: (a, b) =>
|
||||
parseInt(a.replace(/\./g, ''), 10) - parseInt(b.replace(/\./g, ''), 10),
|
||||
Cell: clientCell(clients, autoClients, t),
|
||||
sortMethod: (a, b) => parseInt(a.replace(/\./g, ''), 10) - parseInt(b.replace(/\./g, ''), 10),
|
||||
Cell: clientCell(t, toggleClientStatus, processingAccessSet, disallowedClients),
|
||||
},
|
||||
{
|
||||
Header: <Trans>requests_count</Trans>,
|
||||
@@ -73,7 +114,17 @@ const Clients = ({
|
||||
noDataText={t('no_clients_found')}
|
||||
minRows={6}
|
||||
defaultPageSize={100}
|
||||
className="-striped -highlight card-table-overflow"
|
||||
className="-highlight card-table-overflow--limited clients__table"
|
||||
getTrProps={(_state, rowInfo) => {
|
||||
if (!rowInfo) {
|
||||
return {};
|
||||
}
|
||||
|
||||
const { ip } = rowInfo.original;
|
||||
|
||||
return getIpMatchListStatus(ip, disallowedClients)
|
||||
=== IP_MATCH_LIST_STATUS.NOT_FOUND ? {} : { className: 'red' };
|
||||
}}
|
||||
/>
|
||||
</Card>
|
||||
);
|
||||
@@ -86,6 +137,9 @@ Clients.propTypes = {
|
||||
autoClients: PropTypes.array.isRequired,
|
||||
subtitle: PropTypes.string.isRequired,
|
||||
t: PropTypes.func.isRequired,
|
||||
toggleClientStatus: PropTypes.func.isRequired,
|
||||
processingAccessSet: PropTypes.bool.isRequired,
|
||||
disallowedClients: PropTypes.string.isRequired,
|
||||
};
|
||||
|
||||
export default withNamespaces()(Clients);
|
||||
export default withTranslation()(Clients);
|
||||
|
||||
@@ -1,31 +1,85 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Trans, withNamespaces } from 'react-i18next';
|
||||
import propTypes from 'prop-types';
|
||||
import { Trans, useTranslation } from 'react-i18next';
|
||||
import round from 'lodash/round';
|
||||
|
||||
import { shallowEqual, useSelector } from 'react-redux';
|
||||
import Card from '../ui/Card';
|
||||
import { formatNumber } from '../../helpers/helpers';
|
||||
import LogsSearchLink from '../ui/LogsSearchLink';
|
||||
import { RESPONSE_FILTER } from '../../helpers/constants';
|
||||
import Tooltip from '../ui/Tooltip';
|
||||
|
||||
const tooltipType = 'tooltip-custom--narrow';
|
||||
const Row = ({
|
||||
label, count, response_status, tooltipTitle, translationComponents,
|
||||
}) => {
|
||||
const content = response_status
|
||||
? <LogsSearchLink response_status={response_status}>{formatNumber(count)}</LogsSearchLink>
|
||||
: count;
|
||||
|
||||
const Counters = (props) => {
|
||||
return <tr key={label}>
|
||||
<td>
|
||||
<Trans components={translationComponents}>{label}</Trans>
|
||||
<Tooltip content={tooltipTitle} placement="top"
|
||||
className="tooltip-container tooltip-custom--narrow text-center">
|
||||
<svg className="icons icon--20 icon--lightgray ml-2">
|
||||
<use xlinkHref="#question" />
|
||||
</svg>
|
||||
</Tooltip>
|
||||
</td>
|
||||
<td className="text-right"><strong>{content}</strong></td>
|
||||
</tr>;
|
||||
};
|
||||
|
||||
const Counters = ({ refreshButton, subtitle }) => {
|
||||
const {
|
||||
t,
|
||||
interval,
|
||||
refreshButton,
|
||||
subtitle,
|
||||
dnsQueries,
|
||||
blockedFiltering,
|
||||
replacedSafebrowsing,
|
||||
replacedParental,
|
||||
replacedSafesearch,
|
||||
numDnsQueries,
|
||||
numBlockedFiltering,
|
||||
numReplacedSafebrowsing,
|
||||
numReplacedParental,
|
||||
numReplacedSafesearch,
|
||||
avgProcessingTime,
|
||||
} = props;
|
||||
} = useSelector((state) => state.stats, shallowEqual);
|
||||
const { t } = useTranslation();
|
||||
|
||||
const tooltipTitle =
|
||||
interval === 1
|
||||
? t('number_of_dns_query_24_hours')
|
||||
: t('number_of_dns_query_days', { count: interval });
|
||||
const rows = [
|
||||
{
|
||||
label: 'dns_query',
|
||||
count: numDnsQueries,
|
||||
tooltipTitle: interval === 1 ? 'number_of_dns_query_24_hours' : t('number_of_dns_query_days', { count: interval }),
|
||||
response_status: RESPONSE_FILTER.ALL.query,
|
||||
},
|
||||
{
|
||||
label: 'blocked_by',
|
||||
count: numBlockedFiltering,
|
||||
tooltipTitle: 'number_of_dns_query_blocked_24_hours',
|
||||
response_status: RESPONSE_FILTER.BLOCKED.query,
|
||||
translationComponents: [<a href="#filters" key="0">link</a>],
|
||||
},
|
||||
{
|
||||
label: 'stats_malware_phishing',
|
||||
count: numReplacedSafebrowsing,
|
||||
tooltipTitle: 'number_of_dns_query_blocked_24_hours_by_sec',
|
||||
response_status: RESPONSE_FILTER.BLOCKED_THREATS.query,
|
||||
},
|
||||
{
|
||||
label: 'stats_adult',
|
||||
count: numReplacedParental,
|
||||
tooltipTitle: 'number_of_dns_query_blocked_24_hours_adult',
|
||||
response_status: RESPONSE_FILTER.BLOCKED_ADULT_WEBSITES.query,
|
||||
},
|
||||
{
|
||||
label: 'enforced_save_search',
|
||||
count: numReplacedSafesearch,
|
||||
tooltipTitle: 'number_of_dns_query_to_safe_search',
|
||||
response_status: RESPONSE_FILTER.SAFE_SEARCH.query,
|
||||
},
|
||||
{
|
||||
label: 'average_processing_time',
|
||||
count: avgProcessingTime ? `${round(avgProcessingTime)} ms` : 0,
|
||||
tooltipTitle: 'average_processing_time_hint',
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<Card
|
||||
@@ -35,94 +89,23 @@ const Counters = (props) => {
|
||||
refresh={refreshButton}
|
||||
>
|
||||
<table className="table card-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<Trans>dns_query</Trans>
|
||||
<Tooltip text={tooltipTitle} type={tooltipType} />
|
||||
</td>
|
||||
<td className="text-right">
|
||||
<span className="text-muted">{dnsQueries}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<Trans components={[<a href="#filters" key="0">link</a>]}>
|
||||
blocked_by
|
||||
</Trans>
|
||||
<Tooltip
|
||||
text={t('number_of_dns_query_blocked_24_hours')}
|
||||
type={tooltipType}
|
||||
/>
|
||||
</td>
|
||||
<td className="text-right">
|
||||
<span className="text-muted">{blockedFiltering}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<Trans>stats_malware_phishing</Trans>
|
||||
<Tooltip
|
||||
text={t('number_of_dns_query_blocked_24_hours_by_sec')}
|
||||
type={tooltipType}
|
||||
/>
|
||||
</td>
|
||||
<td className="text-right">
|
||||
<span className="text-muted">{replacedSafebrowsing}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<Trans>stats_adult</Trans>
|
||||
<Tooltip
|
||||
text={t('number_of_dns_query_blocked_24_hours_adult')}
|
||||
type={tooltipType}
|
||||
/>
|
||||
</td>
|
||||
<td className="text-right">
|
||||
<span className="text-muted">{replacedParental}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<Trans>enforced_save_search</Trans>
|
||||
<Tooltip
|
||||
text={t('number_of_dns_query_to_safe_search')}
|
||||
type={tooltipType}
|
||||
/>
|
||||
</td>
|
||||
<td className="text-right">
|
||||
<span className="text-muted">{replacedSafesearch}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<Trans>average_processing_time</Trans>
|
||||
<Tooltip text={t('average_processing_time_hint')} type={tooltipType} />
|
||||
</td>
|
||||
<td className="text-right">
|
||||
<span className="text-muted">
|
||||
{avgProcessingTime ? `${round(avgProcessingTime)} ms` : 0}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>{rows.map(Row)}</tbody>
|
||||
</table>
|
||||
</Card>
|
||||
);
|
||||
};
|
||||
|
||||
Counters.propTypes = {
|
||||
dnsQueries: PropTypes.number.isRequired,
|
||||
blockedFiltering: PropTypes.number.isRequired,
|
||||
replacedSafebrowsing: PropTypes.number.isRequired,
|
||||
replacedParental: PropTypes.number.isRequired,
|
||||
replacedSafesearch: PropTypes.number.isRequired,
|
||||
avgProcessingTime: PropTypes.number.isRequired,
|
||||
refreshButton: PropTypes.node.isRequired,
|
||||
subtitle: PropTypes.string.isRequired,
|
||||
interval: PropTypes.number.isRequired,
|
||||
t: PropTypes.func.isRequired,
|
||||
Row.propTypes = {
|
||||
label: propTypes.string.isRequired,
|
||||
count: propTypes.string.isRequired,
|
||||
response_status: propTypes.string,
|
||||
tooltipTitle: propTypes.string.isRequired,
|
||||
translationComponents: propTypes.arrayOf(propTypes.element),
|
||||
};
|
||||
|
||||
export default withNamespaces()(Counters);
|
||||
Counters.propTypes = {
|
||||
refreshButton: propTypes.node.isRequired,
|
||||
subtitle: propTypes.string.isRequired,
|
||||
};
|
||||
|
||||
export default Counters;
|
||||
|
||||
@@ -1,18 +1,67 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
import { getTrackerData } from '../../helpers/trackers/trackers';
|
||||
import Popover from '../ui/Popover';
|
||||
import { Trans } from 'react-i18next';
|
||||
import { getSourceData, getTrackerData } from '../../helpers/trackers/trackers';
|
||||
import Tooltip from '../ui/Tooltip';
|
||||
import { captitalizeWords } from '../../helpers/helpers';
|
||||
|
||||
const renderLabel = (value) => <strong><Trans>{value}</Trans></strong>;
|
||||
|
||||
const renderLink = ({ url, name }) => <a
|
||||
className="tooltip-custom__content-link"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href={url}
|
||||
>
|
||||
<strong>{name}</strong>
|
||||
</a>;
|
||||
|
||||
|
||||
const getTrackerInfo = (trackerData) => [{
|
||||
key: 'name_table_header',
|
||||
value: trackerData,
|
||||
render: renderLink,
|
||||
},
|
||||
{
|
||||
key: 'category_label',
|
||||
value: captitalizeWords(trackerData.category),
|
||||
render: renderLabel,
|
||||
},
|
||||
{
|
||||
key: 'source_label',
|
||||
value: getSourceData(trackerData),
|
||||
render: renderLink,
|
||||
}];
|
||||
|
||||
const DomainCell = ({ value }) => {
|
||||
const trackerData = getTrackerData(value);
|
||||
|
||||
const content = trackerData && <div className="popover__list">
|
||||
<div className="tooltip-custom__content-title mb-1">
|
||||
<Trans>found_in_known_domain_db</Trans>
|
||||
</div>
|
||||
{getTrackerInfo(trackerData)
|
||||
.map(({ key, value, render }) => <div
|
||||
key={key}
|
||||
className="tooltip-custom__content-item"
|
||||
>
|
||||
<Trans>{key}</Trans>: {render(value)}
|
||||
</div>)}
|
||||
</div>;
|
||||
|
||||
return (
|
||||
<div className="logs__row">
|
||||
<div className="logs__text logs__text--domain" title={value}>
|
||||
<div className="logs__text" title={value}>
|
||||
{value}
|
||||
</div>
|
||||
{trackerData && <Popover data={trackerData} />}
|
||||
{trackerData
|
||||
&& <Tooltip content={content} placement="top"
|
||||
className="tooltip-container tooltip-custom--wide">
|
||||
<svg className="icons icon--24 icon--green ml-1">
|
||||
<use xlinkHref="#privacy" />
|
||||
</svg>
|
||||
</Tooltip>}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
@@ -21,4 +70,9 @@ DomainCell.propTypes = {
|
||||
value: PropTypes.string.isRequired,
|
||||
};
|
||||
|
||||
renderLink.propTypes = {
|
||||
url: PropTypes.string.isRequired,
|
||||
name: PropTypes.string.isRequired,
|
||||
};
|
||||
|
||||
export default DomainCell;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import React from 'react';
|
||||
import ReactTable from 'react-table';
|
||||
import PropTypes from 'prop-types';
|
||||
import { withNamespaces, Trans } from 'react-i18next';
|
||||
import { withTranslation, Trans } from 'react-i18next';
|
||||
|
||||
import Card from '../ui/Card';
|
||||
import Cell from '../ui/Cell';
|
||||
@@ -13,20 +13,21 @@ import { getPercent } from '../../helpers/helpers';
|
||||
const getQueriedPercentColor = (percent) => {
|
||||
if (percent > 10) {
|
||||
return STATUS_COLORS.red;
|
||||
} else if (percent > 5) {
|
||||
}
|
||||
if (percent > 5) {
|
||||
return STATUS_COLORS.yellow;
|
||||
}
|
||||
return STATUS_COLORS.green;
|
||||
};
|
||||
|
||||
const countCell = dnsQueries =>
|
||||
function cell(row) {
|
||||
const { value } = row;
|
||||
const percent = getPercent(dnsQueries, value);
|
||||
const percentColor = getQueriedPercentColor(percent);
|
||||
const countCell = (dnsQueries) => function cell(row) {
|
||||
const { value } = row;
|
||||
const percent = getPercent(dnsQueries, value);
|
||||
const percentColor = getQueriedPercentColor(percent);
|
||||
|
||||
return <Cell value={value} percent={percent} color={percentColor} />;
|
||||
};
|
||||
return <Cell value={value} percent={percent} color={percentColor}
|
||||
search={row.original.domain} />;
|
||||
};
|
||||
|
||||
const QueriedDomains = ({
|
||||
t, refreshButton, topQueriedDomains, subtitle, dnsQueries,
|
||||
@@ -59,7 +60,7 @@ const QueriedDomains = ({
|
||||
noDataText={t('no_domains_found')}
|
||||
minRows={6}
|
||||
defaultPageSize={100}
|
||||
className="-striped -highlight card-table-overflow stats__table"
|
||||
className="-highlight card-table-overflow--limited stats__table"
|
||||
/>
|
||||
</Card>
|
||||
);
|
||||
@@ -72,4 +73,4 @@ QueriedDomains.propTypes = {
|
||||
t: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export default withNamespaces()(QueriedDomains);
|
||||
export default withTranslation()(QueriedDomains);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { withNamespaces, Trans } from 'react-i18next';
|
||||
import { withTranslation, Trans } from 'react-i18next';
|
||||
|
||||
import StatsCard from './StatsCard';
|
||||
import { getPercent, normalizeHistory } from '../../helpers/helpers';
|
||||
@@ -76,4 +76,4 @@ Statistics.propTypes = {
|
||||
refreshButton: PropTypes.node.isRequired,
|
||||
};
|
||||
|
||||
export default withNamespaces()(Statistics);
|
||||
export default withTranslation()(Statistics);
|
||||
|
||||
@@ -2,6 +2,7 @@ import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
import { STATUS_COLORS } from '../../helpers/constants';
|
||||
import { formatNumber } from '../../helpers/helpers';
|
||||
import Card from '../ui/Card';
|
||||
import Line from '../ui/Line';
|
||||
|
||||
@@ -10,10 +11,16 @@ const StatsCard = ({
|
||||
}) => (
|
||||
<Card type="card--full" bodyType="card-wrap">
|
||||
<div className="card-body-stats">
|
||||
<div className={`card-value card-value-stats text-${color}`}>{total}</div>
|
||||
<div className={`card-value card-value-stats text-${color}`}>
|
||||
{formatNumber(total)}
|
||||
</div>
|
||||
<div className="card-title-stats">{title}</div>
|
||||
</div>
|
||||
{percent >= 0 && (<div className={`card-value card-value-percent text-${color}`}>{percent}</div>)}
|
||||
{percent >= 0 && (
|
||||
<div className={`card-value card-value-percent text-${color}`}>
|
||||
{percent}
|
||||
</div>
|
||||
)}
|
||||
<div className="card-chart-bg">
|
||||
<Line data={lineData} color={STATUS_COLORS[color]} />
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import React, { Component, Fragment } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Trans, withNamespaces } from 'react-i18next';
|
||||
import { Trans, withTranslation } from 'react-i18next';
|
||||
|
||||
import Statistics from './Statistics';
|
||||
import Counters from './Counters';
|
||||
@@ -10,6 +10,7 @@ import BlockedDomains from './BlockedDomains';
|
||||
|
||||
import PageTitle from '../ui/PageTitle';
|
||||
import Loading from '../ui/Loading';
|
||||
import { BLOCK_ACTIONS } from '../../helpers/constants';
|
||||
import './Dashboard.css';
|
||||
|
||||
class Dashboard extends Component {
|
||||
@@ -18,9 +19,9 @@ class Dashboard extends Component {
|
||||
}
|
||||
|
||||
getAllStats = () => {
|
||||
this.props.getAccessList();
|
||||
this.props.getStats();
|
||||
this.props.getStatsConfig();
|
||||
this.props.getClients();
|
||||
};
|
||||
|
||||
getToggleFilteringButton = () => {
|
||||
@@ -40,18 +41,25 @@ class Dashboard extends Component {
|
||||
);
|
||||
};
|
||||
|
||||
render() {
|
||||
const { dashboard, stats, t } = this.props;
|
||||
const dashboardProcessing =
|
||||
dashboard.processing ||
|
||||
dashboard.processingClients ||
|
||||
stats.processingStats ||
|
||||
stats.processingGetConfig;
|
||||
toggleClientStatus = (type, ip) => {
|
||||
const confirmMessage = type === BLOCK_ACTIONS.BLOCK ? 'client_confirm_block' : 'client_confirm_unblock';
|
||||
|
||||
const subtitle =
|
||||
stats.interval === 1
|
||||
? t('for_last_24_hours')
|
||||
: t('for_last_days', { count: stats.interval });
|
||||
if (window.confirm(this.props.t(confirmMessage, { ip }))) {
|
||||
this.props.toggleClientBlock(type, ip);
|
||||
}
|
||||
};
|
||||
|
||||
render() {
|
||||
const {
|
||||
dashboard, stats, access, t,
|
||||
} = this.props;
|
||||
const statsProcessing = stats.processingStats
|
||||
|| stats.processingGetConfig
|
||||
|| access.processing;
|
||||
|
||||
const subtitle = stats.interval === 1
|
||||
? t('for_last_24_hours')
|
||||
: t('for_last_days', { count: stats.interval });
|
||||
|
||||
const refreshFullButton = (
|
||||
<button
|
||||
@@ -83,8 +91,8 @@ class Dashboard extends Component {
|
||||
{refreshFullButton}
|
||||
</div>
|
||||
</PageTitle>
|
||||
{dashboardProcessing && <Loading />}
|
||||
{!dashboardProcessing && (
|
||||
{statsProcessing && <Loading />}
|
||||
{!statsProcessing && (
|
||||
<div className="row row-cards">
|
||||
<div className="col-lg-12">
|
||||
<Statistics
|
||||
@@ -103,13 +111,6 @@ class Dashboard extends Component {
|
||||
<div className="col-lg-6">
|
||||
<Counters
|
||||
subtitle={subtitle}
|
||||
interval={stats.interval}
|
||||
dnsQueries={stats.numDnsQueries}
|
||||
blockedFiltering={stats.numBlockedFiltering}
|
||||
replacedSafebrowsing={stats.numReplacedSafebrowsing}
|
||||
replacedParental={stats.numReplacedParental}
|
||||
replacedSafesearch={stats.numReplacedSafesearch}
|
||||
avgProcessingTime={stats.avgProcessingTime}
|
||||
refreshButton={refreshButton}
|
||||
/>
|
||||
</div>
|
||||
@@ -121,6 +122,9 @@ class Dashboard extends Component {
|
||||
clients={dashboard.clients}
|
||||
autoClients={dashboard.autoClients}
|
||||
refreshButton={refreshButton}
|
||||
toggleClientStatus={this.toggleClientStatus}
|
||||
processingAccessSet={access.processingSet}
|
||||
disallowedClients={access.disallowed_clients}
|
||||
/>
|
||||
</div>
|
||||
<div className="col-lg-6">
|
||||
@@ -151,11 +155,14 @@ class Dashboard extends Component {
|
||||
Dashboard.propTypes = {
|
||||
dashboard: PropTypes.object.isRequired,
|
||||
stats: PropTypes.object.isRequired,
|
||||
access: PropTypes.object.isRequired,
|
||||
getStats: PropTypes.func.isRequired,
|
||||
getStatsConfig: PropTypes.func.isRequired,
|
||||
toggleProtection: PropTypes.func.isRequired,
|
||||
getClients: PropTypes.func.isRequired,
|
||||
t: PropTypes.func.isRequired,
|
||||
toggleClientBlock: PropTypes.func.isRequired,
|
||||
getAccessList: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export default withNamespaces()(Dashboard);
|
||||
export default withTranslation()(Dashboard);
|
||||
|
||||
38
client/src/components/Filters/Actions.js
Normal file
38
client/src/components/Filters/Actions.js
Normal file
@@ -0,0 +1,38 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { withTranslation, Trans } from 'react-i18next';
|
||||
|
||||
const Actions = ({
|
||||
handleAdd, handleRefresh, processingRefreshFilters, whitelist,
|
||||
}) => (
|
||||
<div className="card-actions">
|
||||
<button
|
||||
className="btn btn-success btn-standard mr-2 btn-large"
|
||||
type="submit"
|
||||
onClick={handleAdd}
|
||||
>
|
||||
{whitelist ? (
|
||||
<Trans>add_allowlist</Trans>
|
||||
) : (
|
||||
<Trans>add_blocklist</Trans>
|
||||
)}
|
||||
</button>
|
||||
<button
|
||||
className="btn btn-primary btn-standard"
|
||||
type="submit"
|
||||
onClick={handleRefresh}
|
||||
disabled={processingRefreshFilters}
|
||||
>
|
||||
<Trans>check_updates_btn</Trans>
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
|
||||
Actions.propTypes = {
|
||||
handleAdd: PropTypes.func.isRequired,
|
||||
handleRefresh: PropTypes.func.isRequired,
|
||||
processingRefreshFilters: PropTypes.bool.isRequired,
|
||||
whitelist: PropTypes.bool,
|
||||
};
|
||||
|
||||
export default withTranslation()(Actions);
|
||||
165
client/src/components/Filters/Check/Info.js
Normal file
165
client/src/components/Filters/Check/Info.js
Normal file
@@ -0,0 +1,165 @@
|
||||
import React, { Fragment } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { withTranslation } from 'react-i18next';
|
||||
|
||||
import {
|
||||
checkFiltered,
|
||||
checkRewrite,
|
||||
checkRewriteHosts,
|
||||
checkBlackList,
|
||||
checkNotFilteredNotFound,
|
||||
checkWhiteList,
|
||||
checkSafeSearch,
|
||||
checkSafeBrowsing,
|
||||
checkParental,
|
||||
} from '../../../helpers/helpers';
|
||||
import { FILTERED } from '../../../helpers/constants';
|
||||
|
||||
const getFilterName = (id, filters, whitelistFilters, t) => {
|
||||
if (id === 0) {
|
||||
return t('filtered_custom_rules');
|
||||
}
|
||||
|
||||
const filter = filters.find((filter) => filter.id === id)
|
||||
|| whitelistFilters.find((filter) => filter.id === id);
|
||||
|
||||
if (filter && filter.name) {
|
||||
return t('query_log_filtered', { filter: filter.name });
|
||||
}
|
||||
|
||||
return '';
|
||||
};
|
||||
|
||||
const getTitle = (reason, filterName, t, onlyFiltered) => {
|
||||
if (checkNotFilteredNotFound(reason)) {
|
||||
return t('check_not_found');
|
||||
}
|
||||
|
||||
if (checkRewrite(reason)) {
|
||||
return t('rewrite_applied');
|
||||
}
|
||||
|
||||
if (checkRewriteHosts(reason)) {
|
||||
return t('rewrite_hosts_applied');
|
||||
}
|
||||
|
||||
if (checkBlackList(reason)) {
|
||||
return filterName;
|
||||
}
|
||||
|
||||
if (checkWhiteList(reason)) {
|
||||
return (
|
||||
<div>
|
||||
{filterName}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (onlyFiltered) {
|
||||
const filterKey = reason.replace(FILTERED, '');
|
||||
|
||||
return (
|
||||
<div>
|
||||
{t('query_log_filtered', { filter: filterKey })}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<div>
|
||||
{t('check_reason', { reason })}
|
||||
</div>
|
||||
<div>
|
||||
{filterName}
|
||||
</div>
|
||||
</Fragment>
|
||||
);
|
||||
};
|
||||
|
||||
const getColor = (reason) => {
|
||||
if (checkFiltered(reason)) {
|
||||
return 'red';
|
||||
} if (checkRewrite(reason) || checkRewriteHosts(reason)) {
|
||||
return 'blue';
|
||||
} if (checkWhiteList(reason)) {
|
||||
return 'green';
|
||||
}
|
||||
|
||||
return '';
|
||||
};
|
||||
|
||||
const Info = ({
|
||||
filters,
|
||||
whitelistFilters,
|
||||
hostname,
|
||||
reason,
|
||||
filter_id,
|
||||
rule,
|
||||
service_name,
|
||||
cname,
|
||||
ip_addrs,
|
||||
t,
|
||||
}) => {
|
||||
const filterName = getFilterName(filter_id, filters, whitelistFilters, t);
|
||||
const onlyFiltered = checkSafeSearch(reason)
|
||||
|| checkSafeBrowsing(reason)
|
||||
|| checkParental(reason);
|
||||
const title = getTitle(reason, filterName, t, onlyFiltered);
|
||||
const color = getColor(reason);
|
||||
|
||||
if (onlyFiltered) {
|
||||
return (
|
||||
<div className={`card mb-0 p-3 ${color}`}>
|
||||
<div>
|
||||
<strong>{hostname}</strong>
|
||||
</div>
|
||||
|
||||
<div>{title}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={`card mb-0 p-3 ${color}`}>
|
||||
<div>
|
||||
<strong>{hostname}</strong>
|
||||
</div>
|
||||
|
||||
<div>{title}</div>
|
||||
|
||||
{rule && (
|
||||
<div>{t('check_rule', { rule })}</div>
|
||||
)}
|
||||
|
||||
{service_name && (
|
||||
<div>{t('check_service', { service: service_name })}</div>
|
||||
)}
|
||||
|
||||
{cname && (
|
||||
<div>{t('check_cname', { cname })}</div>
|
||||
)}
|
||||
|
||||
{ip_addrs && (
|
||||
<div>
|
||||
{t('check_ip', { ip: ip_addrs.join(', ') })}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
Info.propTypes = {
|
||||
filters: PropTypes.array.isRequired,
|
||||
whitelistFilters: PropTypes.array.isRequired,
|
||||
hostname: PropTypes.string.isRequired,
|
||||
reason: PropTypes.string.isRequired,
|
||||
filter_id: PropTypes.number,
|
||||
rule: PropTypes.string,
|
||||
service_name: PropTypes.string,
|
||||
cname: PropTypes.string,
|
||||
ip_addrs: PropTypes.array,
|
||||
t: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export default withTranslation()(Info);
|
||||
99
client/src/components/Filters/Check/index.js
Normal file
99
client/src/components/Filters/Check/index.js
Normal file
@@ -0,0 +1,99 @@
|
||||
import React, { Fragment } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Trans, withTranslation } from 'react-i18next';
|
||||
import { Field, reduxForm } from 'redux-form';
|
||||
import flow from 'lodash/flow';
|
||||
import Card from '../../ui/Card';
|
||||
|
||||
import { renderInputField } from '../../../helpers/form';
|
||||
import Info from './Info';
|
||||
import { FORM_NAME } from '../../../helpers/constants';
|
||||
|
||||
const Check = (props) => {
|
||||
const {
|
||||
t,
|
||||
handleSubmit,
|
||||
pristine,
|
||||
invalid,
|
||||
processing,
|
||||
check,
|
||||
filters,
|
||||
whitelistFilters,
|
||||
} = props;
|
||||
|
||||
const {
|
||||
hostname,
|
||||
reason,
|
||||
filter_id,
|
||||
rule,
|
||||
service_name,
|
||||
cname,
|
||||
ip_addrs,
|
||||
} = check;
|
||||
|
||||
return (
|
||||
<Card
|
||||
title={t('check_title')}
|
||||
subtitle={t('check_desc')}
|
||||
>
|
||||
<form onSubmit={handleSubmit}>
|
||||
<div className="row">
|
||||
<div className="col-12 col-md-6">
|
||||
<div className="input-group">
|
||||
<Field
|
||||
id="name"
|
||||
name="name"
|
||||
component={renderInputField}
|
||||
type="text"
|
||||
className="form-control"
|
||||
placeholder={t('form_enter_host')}
|
||||
/>
|
||||
<span className="input-group-append">
|
||||
<button
|
||||
className="btn btn-success btn-standard btn-large"
|
||||
type="submit"
|
||||
onClick={handleSubmit}
|
||||
disabled={pristine || invalid || processing}
|
||||
>
|
||||
<Trans>check</Trans>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
{check.hostname && (
|
||||
<Fragment>
|
||||
<hr />
|
||||
<Info
|
||||
filters={filters}
|
||||
whitelistFilters={whitelistFilters}
|
||||
hostname={hostname}
|
||||
reason={reason}
|
||||
filter_id={filter_id}
|
||||
rule={rule}
|
||||
service_name={service_name}
|
||||
cname={cname}
|
||||
ip_addrs={ip_addrs}
|
||||
/>
|
||||
</Fragment>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</Card>
|
||||
);
|
||||
};
|
||||
|
||||
Check.propTypes = {
|
||||
t: PropTypes.func.isRequired,
|
||||
handleSubmit: PropTypes.func.isRequired,
|
||||
pristine: PropTypes.bool.isRequired,
|
||||
invalid: PropTypes.bool.isRequired,
|
||||
processing: PropTypes.bool.isRequired,
|
||||
check: PropTypes.object.isRequired,
|
||||
filters: PropTypes.array.isRequired,
|
||||
whitelistFilters: PropTypes.array.isRequired,
|
||||
};
|
||||
|
||||
export default flow([
|
||||
withTranslation(),
|
||||
reduxForm({ form: FORM_NAME.DOMAIN_CHECK }),
|
||||
])(Check);
|
||||
95
client/src/components/Filters/CustomRules.js
Normal file
95
client/src/components/Filters/CustomRules.js
Normal file
@@ -0,0 +1,95 @@
|
||||
import React, { Component, Fragment } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Trans, withTranslation } from 'react-i18next';
|
||||
|
||||
import Card from '../ui/Card';
|
||||
import PageTitle from '../ui/PageTitle';
|
||||
import Examples from './Examples';
|
||||
import Check from './Check';
|
||||
|
||||
class CustomRules extends Component {
|
||||
componentDidMount() {
|
||||
this.props.getFilteringStatus();
|
||||
}
|
||||
|
||||
handleChange = (e) => {
|
||||
const { value } = e.currentTarget;
|
||||
this.handleRulesChange(value);
|
||||
};
|
||||
|
||||
handleSubmit = (e) => {
|
||||
e.preventDefault();
|
||||
this.handleRulesSubmit();
|
||||
};
|
||||
|
||||
handleRulesChange = (value) => {
|
||||
this.props.handleRulesChange({ userRules: value });
|
||||
};
|
||||
|
||||
handleRulesSubmit = () => {
|
||||
this.props.setRules(this.props.filtering.userRules);
|
||||
};
|
||||
|
||||
handleCheck = (values) => {
|
||||
this.props.checkHost(values);
|
||||
};
|
||||
|
||||
render() {
|
||||
const {
|
||||
t,
|
||||
filtering: {
|
||||
filters,
|
||||
whitelistFilters,
|
||||
userRules,
|
||||
processingCheck,
|
||||
check,
|
||||
},
|
||||
} = this.props;
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<PageTitle title={t('custom_filtering_rules')} />
|
||||
<Card
|
||||
subtitle={t('custom_filter_rules_hint')}
|
||||
>
|
||||
<form onSubmit={this.handleSubmit}>
|
||||
<textarea
|
||||
className="form-control form-control--textarea-large font-monospace"
|
||||
value={userRules}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<div className="card-actions">
|
||||
<button
|
||||
className="btn btn-success btn-standard btn-large"
|
||||
type="submit"
|
||||
onClick={this.handleSubmit}
|
||||
>
|
||||
<Trans>apply_btn</Trans>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<hr />
|
||||
<Examples />
|
||||
</Card>
|
||||
<Check
|
||||
filters={filters}
|
||||
whitelistFilters={whitelistFilters}
|
||||
check={check}
|
||||
onSubmit={this.handleCheck}
|
||||
processing={processingCheck}
|
||||
/>
|
||||
</Fragment>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
CustomRules.propTypes = {
|
||||
filtering: PropTypes.object.isRequired,
|
||||
setRules: PropTypes.func.isRequired,
|
||||
checkHost: PropTypes.func.isRequired,
|
||||
getFilteringStatus: PropTypes.func.isRequired,
|
||||
handleRulesChange: PropTypes.func.isRequired,
|
||||
t: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export default withTranslation()(CustomRules);
|
||||
139
client/src/components/Filters/DnsAllowlist.js
Normal file
139
client/src/components/Filters/DnsAllowlist.js
Normal file
@@ -0,0 +1,139 @@
|
||||
import React, { Component } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { withTranslation } from 'react-i18next';
|
||||
|
||||
import PageTitle from '../ui/PageTitle';
|
||||
import Card from '../ui/Card';
|
||||
import Modal from './Modal';
|
||||
import Actions from './Actions';
|
||||
import Table from './Table';
|
||||
|
||||
import { MODAL_TYPE } from '../../helpers/constants';
|
||||
import { getCurrentFilter } from '../../helpers/helpers';
|
||||
|
||||
class DnsAllowlist extends Component {
|
||||
componentDidMount() {
|
||||
this.props.getFilteringStatus();
|
||||
}
|
||||
|
||||
handleSubmit = (values) => {
|
||||
const { name, url } = values;
|
||||
const { filtering } = this.props;
|
||||
const whitelist = true;
|
||||
|
||||
if (filtering.modalType === MODAL_TYPE.EDIT_FILTERS) {
|
||||
this.props.editFilter(filtering.modalFilterUrl, values, whitelist);
|
||||
} else {
|
||||
this.props.addFilter(url, name, whitelist);
|
||||
}
|
||||
};
|
||||
|
||||
handleDelete = (url) => {
|
||||
if (window.confirm(this.props.t('list_confirm_delete'))) {
|
||||
const whitelist = true;
|
||||
this.props.removeFilter(url, whitelist);
|
||||
}
|
||||
};
|
||||
|
||||
toggleFilter = (url, data) => {
|
||||
const whitelist = true;
|
||||
this.props.toggleFilterStatus(url, data, whitelist);
|
||||
};
|
||||
|
||||
handleRefresh = () => {
|
||||
this.props.refreshFilters({ whitelist: true });
|
||||
};
|
||||
|
||||
openAddFiltersModal = () => {
|
||||
this.props.toggleFilteringModal({ type: MODAL_TYPE.ADD_FILTERS });
|
||||
};
|
||||
|
||||
render() {
|
||||
const {
|
||||
t,
|
||||
toggleFilteringModal,
|
||||
addFilter,
|
||||
toggleFilterStatus,
|
||||
filtering: {
|
||||
whitelistFilters,
|
||||
isModalOpen,
|
||||
isFilterAdded,
|
||||
processingRefreshFilters,
|
||||
processingRemoveFilter,
|
||||
processingAddFilter,
|
||||
processingConfigFilter,
|
||||
processingFilters,
|
||||
modalType,
|
||||
modalFilterUrl,
|
||||
},
|
||||
} = this.props;
|
||||
const currentFilterData = getCurrentFilter(modalFilterUrl, whitelistFilters);
|
||||
const loading = processingConfigFilter
|
||||
|| processingFilters
|
||||
|| processingAddFilter
|
||||
|| processingRemoveFilter
|
||||
|| processingRefreshFilters;
|
||||
const whitelist = true;
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageTitle
|
||||
title={t('dns_allowlists')}
|
||||
subtitle={t('dns_allowlists_desc')}
|
||||
/>
|
||||
<div className="content">
|
||||
<div className="row">
|
||||
<div className="col-md-12">
|
||||
<Card subtitle={t('filters_and_hosts_hint')}>
|
||||
<Table
|
||||
filters={whitelistFilters}
|
||||
loading={loading}
|
||||
processingConfigFilter={processingConfigFilter}
|
||||
toggleFilteringModal={toggleFilteringModal}
|
||||
toggleFilterStatus={toggleFilterStatus}
|
||||
handleDelete={this.handleDelete}
|
||||
toggleFilter={this.toggleFilter}
|
||||
whitelist={whitelist}
|
||||
/>
|
||||
<Actions
|
||||
handleAdd={this.openAddFiltersModal}
|
||||
handleRefresh={this.handleRefresh}
|
||||
processingRefreshFilters={processingRefreshFilters}
|
||||
whitelist={whitelist}
|
||||
/>
|
||||
</Card>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Modal
|
||||
filters={whitelistFilters}
|
||||
isOpen={isModalOpen}
|
||||
toggleFilteringModal={toggleFilteringModal}
|
||||
addFilter={addFilter}
|
||||
isFilterAdded={isFilterAdded}
|
||||
processingAddFilter={processingAddFilter}
|
||||
processingConfigFilter={processingConfigFilter}
|
||||
handleSubmit={this.handleSubmit}
|
||||
modalType={modalType}
|
||||
currentFilterData={currentFilterData}
|
||||
whitelist={whitelist}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
DnsAllowlist.propTypes = {
|
||||
getFilteringStatus: PropTypes.func.isRequired,
|
||||
filtering: PropTypes.object.isRequired,
|
||||
removeFilter: PropTypes.func.isRequired,
|
||||
toggleFilterStatus: PropTypes.func.isRequired,
|
||||
addFilter: PropTypes.func.isRequired,
|
||||
toggleFilteringModal: PropTypes.func.isRequired,
|
||||
handleRulesChange: PropTypes.func.isRequired,
|
||||
refreshFilters: PropTypes.func.isRequired,
|
||||
editFilter: PropTypes.func.isRequired,
|
||||
t: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export default withTranslation()(DnsAllowlist);
|
||||
154
client/src/components/Filters/DnsBlocklist.js
Normal file
154
client/src/components/Filters/DnsBlocklist.js
Normal file
@@ -0,0 +1,154 @@
|
||||
import React, { Component } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { withTranslation } from 'react-i18next';
|
||||
|
||||
import PageTitle from '../ui/PageTitle';
|
||||
import Card from '../ui/Card';
|
||||
import Modal from './Modal';
|
||||
import Actions from './Actions';
|
||||
|
||||
import Table from './Table';
|
||||
import { MODAL_TYPE } from '../../helpers/constants';
|
||||
|
||||
import {
|
||||
getCurrentFilter,
|
||||
getObjDiff,
|
||||
} from '../../helpers/helpers';
|
||||
|
||||
const filtersCatalog = require('../../helpers/filters/filters.json');
|
||||
|
||||
class DnsBlocklist extends Component {
|
||||
componentDidMount() {
|
||||
this.props.getFilteringStatus();
|
||||
}
|
||||
|
||||
handleSubmit = (values, _, { initialValues }) => {
|
||||
const { filtering: { modalFilterUrl, modalType } } = this.props;
|
||||
|
||||
switch (modalType) {
|
||||
case MODAL_TYPE.EDIT_FILTERS:
|
||||
this.props.editFilter(modalFilterUrl, values);
|
||||
break;
|
||||
case MODAL_TYPE.ADD_FILTERS: {
|
||||
const { name, url } = values;
|
||||
this.props.addFilter(url, name);
|
||||
break;
|
||||
}
|
||||
case MODAL_TYPE.CHOOSE_FILTERING_LIST: {
|
||||
const changedValues = getObjDiff(initialValues, values);
|
||||
|
||||
Object.keys(changedValues)
|
||||
.forEach((fieldName) => {
|
||||
// filterId is actually in the field name
|
||||
const { source, name } = filtersCatalog.filters[fieldName];
|
||||
this.props.addFilter(source, name);
|
||||
});
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
handleDelete = (url) => {
|
||||
if (window.confirm(this.props.t('list_confirm_delete'))) {
|
||||
this.props.removeFilter(url);
|
||||
}
|
||||
};
|
||||
|
||||
toggleFilter = (url, data) => {
|
||||
this.props.toggleFilterStatus(url, data);
|
||||
};
|
||||
|
||||
handleRefresh = () => {
|
||||
this.props.refreshFilters({ whitelist: false });
|
||||
};
|
||||
|
||||
openSelectTypeModal = () => {
|
||||
this.props.toggleFilteringModal({ type: MODAL_TYPE.SELECT_MODAL_TYPE });
|
||||
};
|
||||
|
||||
render() {
|
||||
const {
|
||||
t,
|
||||
toggleFilteringModal,
|
||||
addFilter,
|
||||
filtering: {
|
||||
filters,
|
||||
isModalOpen,
|
||||
isFilterAdded,
|
||||
processingRefreshFilters,
|
||||
processingRemoveFilter,
|
||||
processingAddFilter,
|
||||
processingConfigFilter,
|
||||
processingFilters,
|
||||
modalType,
|
||||
modalFilterUrl,
|
||||
},
|
||||
} = this.props;
|
||||
const currentFilterData = getCurrentFilter(modalFilterUrl, filters);
|
||||
const loading = processingConfigFilter
|
||||
|| processingFilters
|
||||
|| processingAddFilter
|
||||
|| processingRemoveFilter
|
||||
|| processingRefreshFilters;
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageTitle
|
||||
title={t('dns_blocklists')}
|
||||
subtitle={t('dns_blocklists_desc')}
|
||||
/>
|
||||
<div className="content">
|
||||
<div className="row">
|
||||
<div className="col-md-12">
|
||||
<Card subtitle={t('filters_and_hosts_hint')}>
|
||||
<Table
|
||||
filters={filters}
|
||||
loading={loading}
|
||||
processingConfigFilter={processingConfigFilter}
|
||||
toggleFilteringModal={toggleFilteringModal}
|
||||
handleDelete={this.handleDelete}
|
||||
toggleFilter={this.toggleFilter}
|
||||
/>
|
||||
<Actions
|
||||
handleAdd={this.openSelectTypeModal}
|
||||
handleRefresh={this.handleRefresh}
|
||||
processingRefreshFilters={processingRefreshFilters}
|
||||
/>
|
||||
</Card>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Modal
|
||||
filtersCatalog={filtersCatalog}
|
||||
filters={filters}
|
||||
isOpen={isModalOpen}
|
||||
toggleFilteringModal={toggleFilteringModal}
|
||||
addFilter={addFilter}
|
||||
isFilterAdded={isFilterAdded}
|
||||
processingAddFilter={processingAddFilter}
|
||||
processingConfigFilter={processingConfigFilter}
|
||||
handleSubmit={this.handleSubmit}
|
||||
modalType={modalType}
|
||||
currentFilterData={currentFilterData}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
DnsBlocklist.propTypes = {
|
||||
getFilteringStatus: PropTypes.func.isRequired,
|
||||
filtering: PropTypes.object.isRequired,
|
||||
removeFilter: PropTypes.func.isRequired,
|
||||
toggleFilterStatus: PropTypes.func.isRequired,
|
||||
addFilter: PropTypes.func.isRequired,
|
||||
toggleFilteringModal: PropTypes.func.isRequired,
|
||||
handleRulesChange: PropTypes.func.isRequired,
|
||||
refreshFilters: PropTypes.func.isRequired,
|
||||
editFilter: PropTypes.func.isRequired,
|
||||
t: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export default withTranslation()(DnsBlocklist);
|
||||
54
client/src/components/Filters/Examples.js
Normal file
54
client/src/components/Filters/Examples.js
Normal file
@@ -0,0 +1,54 @@
|
||||
import React, { Fragment } from 'react';
|
||||
import { withTranslation, Trans } from 'react-i18next';
|
||||
|
||||
const Examples = () => (
|
||||
<Fragment>
|
||||
<div className="list leading-loose">
|
||||
<Trans>examples_title</Trans>:
|
||||
<ol className="leading-loose">
|
||||
<li>
|
||||
<code>||example.org^</code> –
|
||||
<Trans>example_meaning_filter_block</Trans>
|
||||
</li>
|
||||
<li>
|
||||
<code> @@||example.org^</code> –
|
||||
<Trans>example_meaning_filter_whitelist</Trans>
|
||||
</li>
|
||||
<li>
|
||||
<code>127.0.0.1 example.org</code> –
|
||||
<Trans>example_meaning_host_block</Trans>
|
||||
</li>
|
||||
<li>
|
||||
<code><Trans>example_comment</Trans></code> –
|
||||
<Trans>example_comment_meaning</Trans>
|
||||
</li>
|
||||
<li>
|
||||
<code><Trans>example_comment_hash</Trans></code> –
|
||||
<Trans>example_comment_meaning</Trans>
|
||||
</li>
|
||||
<li>
|
||||
<code>/REGEX/</code> –
|
||||
<Trans>example_regex_meaning</Trans>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
<p className="mt-1">
|
||||
<Trans
|
||||
components={[
|
||||
<a
|
||||
href="https://github.com/AdguardTeam/AdGuardHome/wiki/Hosts-Blocklists"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
key="0"
|
||||
>
|
||||
link
|
||||
</a>,
|
||||
]}
|
||||
>
|
||||
filtering_rules_learn_more
|
||||
</Trans>
|
||||
</p>
|
||||
</Fragment>
|
||||
);
|
||||
|
||||
export default withTranslation()(Examples);
|
||||
178
client/src/components/Filters/Form.js
Normal file
178
client/src/components/Filters/Form.js
Normal file
@@ -0,0 +1,178 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Field, reduxForm } from 'redux-form';
|
||||
import { withTranslation } from 'react-i18next';
|
||||
import flow from 'lodash/flow';
|
||||
import classNames from 'classnames';
|
||||
import { validatePath, validateRequiredValue } from '../../helpers/validators';
|
||||
import { renderInputField, renderSelectField } from '../../helpers/form';
|
||||
import { MODAL_OPEN_TIMEOUT, MODAL_TYPE, FORM_NAME } from '../../helpers/constants';
|
||||
|
||||
const getIconsData = (homepage, source) => ([
|
||||
{
|
||||
iconName: 'dashboard',
|
||||
href: homepage,
|
||||
className: 'ml-1',
|
||||
},
|
||||
{
|
||||
iconName: 'info',
|
||||
href: source,
|
||||
},
|
||||
]);
|
||||
|
||||
const renderIcons = (iconsData) => iconsData.map(({
|
||||
iconName,
|
||||
href,
|
||||
className = '',
|
||||
}) => <a key={iconName} href={href} target="_blank" rel="noopener noreferrer"
|
||||
className={classNames('d-flex align-items-center', className)}
|
||||
>
|
||||
<svg className="nav-icon nav-icon--gray">
|
||||
<use xlinkHref={`#${iconName}`} />
|
||||
</svg>
|
||||
</a>);
|
||||
|
||||
const renderFilters = ({ categories, filters }, selectedSources, t) => Object.keys(categories)
|
||||
.map((categoryId) => {
|
||||
const category = categories[categoryId];
|
||||
const categoryFilters = [];
|
||||
Object.keys(filters)
|
||||
.sort()
|
||||
.forEach((key) => {
|
||||
const filter = filters[key];
|
||||
filter.id = key;
|
||||
if (filter.categoryId === categoryId) {
|
||||
categoryFilters.push(filter);
|
||||
}
|
||||
});
|
||||
|
||||
return <div key={category.name} className="modal-body__item">
|
||||
<h6 className="font-weight-bold mb-1">{t(category.name)}</h6>
|
||||
<p className="mb-3">{t(category.description)}</p>
|
||||
{categoryFilters.map((filter) => {
|
||||
const { homepage, source, name } = filter;
|
||||
|
||||
const isSelected = Object.prototype.hasOwnProperty.call(selectedSources, source);
|
||||
|
||||
const iconsData = getIconsData(homepage, source);
|
||||
|
||||
return <div key={name} className="d-flex align-items-center pb-1">
|
||||
<Field
|
||||
name={`${filter.id}`}
|
||||
type="checkbox"
|
||||
component={renderSelectField}
|
||||
placeholder={t(name)}
|
||||
disabled={isSelected}
|
||||
checked={isSelected}
|
||||
/>
|
||||
{renderIcons(iconsData)}
|
||||
</div>;
|
||||
})}
|
||||
</div>;
|
||||
});
|
||||
|
||||
const Form = (props) => {
|
||||
const {
|
||||
t,
|
||||
closeModal,
|
||||
handleSubmit,
|
||||
processingAddFilter,
|
||||
processingConfigFilter,
|
||||
whitelist,
|
||||
modalType,
|
||||
toggleFilteringModal,
|
||||
selectedSources,
|
||||
filtersCatalog,
|
||||
} = props;
|
||||
|
||||
const openModal = (modalType, timeout = MODAL_OPEN_TIMEOUT) => {
|
||||
toggleFilteringModal();
|
||||
setTimeout(() => toggleFilteringModal({ type: modalType }), timeout);
|
||||
};
|
||||
|
||||
const openFilteringListModal = () => openModal(MODAL_TYPE.CHOOSE_FILTERING_LIST);
|
||||
|
||||
const openAddFiltersModal = () => openModal(MODAL_TYPE.ADD_FILTERS);
|
||||
|
||||
return <form onSubmit={handleSubmit}>
|
||||
<div className="modal-body modal-body--medium">
|
||||
{modalType === MODAL_TYPE.SELECT_MODAL_TYPE
|
||||
&& <div className="d-flex justify-content-around">
|
||||
<button onClick={openFilteringListModal}
|
||||
className="btn btn-success btn-standard mr-2 btn-large">
|
||||
{t('choose_from_list')}
|
||||
</button>
|
||||
<button onClick={openAddFiltersModal} className="btn btn-primary btn-standard">
|
||||
{t('add_custom_list')}
|
||||
</button>
|
||||
</div>}
|
||||
{modalType === MODAL_TYPE.CHOOSE_FILTERING_LIST
|
||||
&& renderFilters(filtersCatalog, selectedSources, t)}
|
||||
{modalType !== MODAL_TYPE.CHOOSE_FILTERING_LIST
|
||||
&& modalType !== MODAL_TYPE.SELECT_MODAL_TYPE
|
||||
&& <>
|
||||
<div className="form__group">
|
||||
<Field
|
||||
id="name"
|
||||
name="name"
|
||||
type="text"
|
||||
component={renderInputField}
|
||||
className="form-control"
|
||||
placeholder={t('enter_name_hint')}
|
||||
validate={[validateRequiredValue]}
|
||||
normalizeOnBlur={(data) => data.trim()}
|
||||
/>
|
||||
</div>
|
||||
<div className="form__group">
|
||||
<Field
|
||||
id="url"
|
||||
name="url"
|
||||
type="text"
|
||||
component={renderInputField}
|
||||
className="form-control"
|
||||
placeholder={t('enter_url_or_path_hint')}
|
||||
validate={[validateRequiredValue, validatePath]}
|
||||
normalizeOnBlur={(data) => data.trim()}
|
||||
/>
|
||||
</div>
|
||||
<div className="form__description">
|
||||
{whitelist ? t('enter_valid_allowlist') : t('enter_valid_blocklist')}
|
||||
</div>
|
||||
</>}
|
||||
</div>
|
||||
<div className="modal-footer">
|
||||
<button
|
||||
type="button"
|
||||
className="btn btn-secondary"
|
||||
onClick={closeModal}
|
||||
>
|
||||
{t('cancel_btn')}
|
||||
</button>
|
||||
<button
|
||||
type="submit"
|
||||
className="btn btn-success"
|
||||
disabled={processingAddFilter || processingConfigFilter}
|
||||
>
|
||||
{t('save_btn')}
|
||||
</button>
|
||||
</div>
|
||||
</form>;
|
||||
};
|
||||
|
||||
Form.propTypes = {
|
||||
t: PropTypes.func.isRequired,
|
||||
closeModal: PropTypes.func.isRequired,
|
||||
handleSubmit: PropTypes.func.isRequired,
|
||||
processingAddFilter: PropTypes.bool.isRequired,
|
||||
processingConfigFilter: PropTypes.bool.isRequired,
|
||||
whitelist: PropTypes.bool,
|
||||
modalType: PropTypes.string.isRequired,
|
||||
toggleFilteringModal: PropTypes.func.isRequired,
|
||||
filtersCatalog: PropTypes.object,
|
||||
selectedSources: PropTypes.object,
|
||||
};
|
||||
|
||||
export default flow([
|
||||
withTranslation(),
|
||||
reduxForm({ form: FORM_NAME.FILTER }),
|
||||
])(Form);
|
||||
@@ -1,52 +1,86 @@
|
||||
import React, { Component } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import ReactModal from 'react-modal';
|
||||
import classnames from 'classnames';
|
||||
import { Trans, withNamespaces } from 'react-i18next';
|
||||
import { R_URL_REQUIRES_PROTOCOL } from '../../helpers/constants';
|
||||
import { withTranslation } from 'react-i18next';
|
||||
|
||||
import { MODAL_TYPE } from '../../helpers/constants';
|
||||
import Form from './Form';
|
||||
import '../ui/Modal.css';
|
||||
import { getMap } from '../../helpers/helpers';
|
||||
|
||||
ReactModal.setAppElement('#root');
|
||||
|
||||
const initialState = {
|
||||
url: '',
|
||||
name: '',
|
||||
isUrlValid: false,
|
||||
const MODAL_TYPE_TO_TITLE_TYPE_MAP = {
|
||||
[MODAL_TYPE.EDIT_FILTERS]: 'edit',
|
||||
[MODAL_TYPE.ADD_FILTERS]: 'new',
|
||||
[MODAL_TYPE.SELECT_MODAL_TYPE]: 'new',
|
||||
[MODAL_TYPE.CHOOSE_FILTERING_LIST]: 'choose',
|
||||
};
|
||||
|
||||
/**
|
||||
* @param modalType {'EDIT_FILTERS' | 'ADD_FILTERS' | 'CHOOSE_FILTERING_LIST'}
|
||||
* @param whitelist {boolean}
|
||||
* @returns {'new_allowlist' | 'edit_allowlist' | 'choose_allowlist' |
|
||||
* 'new_blocklist' | 'edit_blocklist' | 'choose_blocklist' | null}
|
||||
*/
|
||||
const getTitle = (modalType, whitelist) => {
|
||||
const titleType = MODAL_TYPE_TO_TITLE_TYPE_MAP[modalType];
|
||||
if (!titleType) {
|
||||
return null;
|
||||
}
|
||||
return `${titleType}_${whitelist ? 'allowlist' : 'blocklist'}`;
|
||||
};
|
||||
|
||||
const getSelectedValues = (filters, catalogSourcesToIdMap) => filters.reduce((acc, { url }) => {
|
||||
if (Object.prototype.hasOwnProperty.call(catalogSourcesToIdMap, url)) {
|
||||
const fieldId = `filter${catalogSourcesToIdMap[url]}`;
|
||||
acc.selectedFilterIds[fieldId] = true;
|
||||
acc.selectedSources[url] = true;
|
||||
}
|
||||
return acc;
|
||||
}, {
|
||||
selectedFilterIds: {},
|
||||
selectedSources: {},
|
||||
});
|
||||
|
||||
class Modal extends Component {
|
||||
state = initialState;
|
||||
|
||||
isUrlValid = url => R_URL_REQUIRES_PROTOCOL.test(url);
|
||||
|
||||
handleUrlChange = async (e) => {
|
||||
const { value: url } = e.currentTarget;
|
||||
this.setState(...this.state, { url, isUrlValid: this.isUrlValid(url) });
|
||||
};
|
||||
|
||||
handleNameChange = (e) => {
|
||||
const { value: name } = e.currentTarget;
|
||||
this.setState({ ...this.state, name });
|
||||
};
|
||||
|
||||
closeModal = () => {
|
||||
this.props.toggleModal();
|
||||
this.setState({ ...this.state, ...initialState });
|
||||
this.props.toggleFilteringModal();
|
||||
};
|
||||
|
||||
render() {
|
||||
const { isOpen, processingAddFilter } = this.props;
|
||||
const { isUrlValid, url, name } = this.state;
|
||||
const inputUrlClass = classnames({
|
||||
'form-control mb-2': true,
|
||||
'is-invalid': url.length > 0 && !isUrlValid,
|
||||
'is-valid': url.length > 0 && isUrlValid,
|
||||
});
|
||||
const inputNameClass = classnames({
|
||||
'form-control mb-2': true,
|
||||
'is-valid': name.length > 0,
|
||||
});
|
||||
const isValidForSubmit = url.length > 0 && isUrlValid && name.length > 0;
|
||||
const {
|
||||
isOpen,
|
||||
processingAddFilter,
|
||||
processingConfigFilter,
|
||||
handleSubmit,
|
||||
modalType,
|
||||
currentFilterData,
|
||||
whitelist,
|
||||
toggleFilteringModal,
|
||||
filters,
|
||||
t,
|
||||
filtersCatalog,
|
||||
} = this.props;
|
||||
|
||||
let initialValues;
|
||||
let selectedSources;
|
||||
switch (modalType) {
|
||||
case MODAL_TYPE.EDIT_FILTERS:
|
||||
initialValues = currentFilterData;
|
||||
break;
|
||||
case MODAL_TYPE.CHOOSE_FILTERING_LIST: {
|
||||
const catalogSourcesToIdMap = getMap(Object.values(filtersCatalog.filters), 'source', 'id');
|
||||
|
||||
const selectedValues = getSelectedValues(filters, catalogSourcesToIdMap);
|
||||
initialValues = selectedValues.selectedFilterIds;
|
||||
selectedSources = selectedValues.selectedSources;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
}
|
||||
|
||||
const title = t(getTitle(modalType, whitelist));
|
||||
|
||||
return (
|
||||
<ReactModal
|
||||
@@ -57,47 +91,23 @@ class Modal extends Component {
|
||||
>
|
||||
<div className="modal-content">
|
||||
<div className="modal-header">
|
||||
<h4 className="modal-title">
|
||||
<Trans>new_filter_btn</Trans>
|
||||
</h4>
|
||||
{title && <h4 className="modal-title">{title}</h4>}
|
||||
<button type="button" className="close" onClick={this.closeModal}>
|
||||
<span className="sr-only">Close</span>
|
||||
</button>
|
||||
</div>
|
||||
<div className="modal-body">
|
||||
<input
|
||||
type="text"
|
||||
className={inputNameClass}
|
||||
placeholder={this.props.t('enter_name_hint')}
|
||||
onChange={this.handleNameChange}
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
className={inputUrlClass}
|
||||
placeholder={this.props.t('enter_url_hint')}
|
||||
onChange={this.handleUrlChange}
|
||||
/>
|
||||
<div className="description">
|
||||
<Trans>enter_valid_filter_url</Trans>
|
||||
</div>
|
||||
</div>
|
||||
<div className="modal-footer">
|
||||
<button
|
||||
type="button"
|
||||
className="btn btn-secondary"
|
||||
onClick={this.closeModal}
|
||||
>
|
||||
<Trans>cancel_btn</Trans>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
className="btn btn-success"
|
||||
onClick={() => this.props.addFilter(url, name)}
|
||||
disabled={!isValidForSubmit || processingAddFilter}
|
||||
>
|
||||
<Trans>add_filter_btn</Trans>
|
||||
</button>
|
||||
</div>
|
||||
<Form
|
||||
selectedSources={selectedSources}
|
||||
initialValues={initialValues}
|
||||
filtersCatalog={filtersCatalog}
|
||||
modalType={modalType}
|
||||
onSubmit={handleSubmit}
|
||||
processingAddFilter={processingAddFilter}
|
||||
processingConfigFilter={processingConfigFilter}
|
||||
closeModal={this.closeModal}
|
||||
whitelist={whitelist}
|
||||
toggleFilteringModal={toggleFilteringModal}
|
||||
/>
|
||||
</div>
|
||||
</ReactModal>
|
||||
);
|
||||
@@ -105,12 +115,19 @@ class Modal extends Component {
|
||||
}
|
||||
|
||||
Modal.propTypes = {
|
||||
toggleModal: PropTypes.func.isRequired,
|
||||
toggleFilteringModal: PropTypes.func.isRequired,
|
||||
isOpen: PropTypes.bool.isRequired,
|
||||
addFilter: PropTypes.func.isRequired,
|
||||
isFilterAdded: PropTypes.bool.isRequired,
|
||||
processingAddFilter: PropTypes.bool.isRequired,
|
||||
processingConfigFilter: PropTypes.bool.isRequired,
|
||||
handleSubmit: PropTypes.func.isRequired,
|
||||
modalType: PropTypes.string.isRequired,
|
||||
currentFilterData: PropTypes.object.isRequired,
|
||||
t: PropTypes.func.isRequired,
|
||||
whitelist: PropTypes.bool,
|
||||
filters: PropTypes.array.isRequired,
|
||||
filtersCatalog: PropTypes.object,
|
||||
};
|
||||
|
||||
export default withNamespaces()(Modal);
|
||||
export default withTranslation()(Modal);
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Field, reduxForm } from 'redux-form';
|
||||
import { Trans, withNamespaces } from 'react-i18next';
|
||||
import { Trans, withTranslation } from 'react-i18next';
|
||||
import flow from 'lodash/flow';
|
||||
|
||||
import { renderField, required, domain, answer } from '../../../../helpers/form';
|
||||
import { renderInputField } from '../../../helpers/form';
|
||||
import { validateAnswer, validateDomain, validateRequiredValue } from '../../../helpers/validators';
|
||||
import { FORM_NAME } from '../../../helpers/constants';
|
||||
|
||||
const Form = (props) => {
|
||||
const {
|
||||
@@ -20,30 +21,56 @@ const Form = (props) => {
|
||||
return (
|
||||
<form onSubmit={handleSubmit}>
|
||||
<div className="modal-body">
|
||||
<div className="form__desc form__desc--top">
|
||||
<Trans>domain_desc</Trans>
|
||||
</div>
|
||||
<div className="form__group">
|
||||
<Field
|
||||
id="domain"
|
||||
name="domain"
|
||||
component={renderField}
|
||||
component={renderInputField}
|
||||
type="text"
|
||||
className="form-control"
|
||||
placeholder={t('form_domain')}
|
||||
validate={[required, domain]}
|
||||
validate={[validateRequiredValue, validateDomain]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<Trans>examples_title</Trans>:
|
||||
<ol className="leading-loose">
|
||||
<li>
|
||||
<code>example.org</code> – <Trans>example_rewrite_domain</Trans>
|
||||
</li>
|
||||
<li>
|
||||
<code>*.example.org</code> –
|
||||
<span>
|
||||
<Trans components={[<code key="0">text</code>]}>
|
||||
example_rewrite_wildcard
|
||||
</Trans>
|
||||
</span>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<div className="form__group">
|
||||
<Field
|
||||
id="answer"
|
||||
name="answer"
|
||||
component={renderField}
|
||||
component={renderInputField}
|
||||
type="text"
|
||||
className="form-control"
|
||||
placeholder={t('form_answer')}
|
||||
validate={[required, answer]}
|
||||
validate={[validateRequiredValue, validateAnswer]}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul>{['rewrite_ip_address',
|
||||
'rewrite_domain_name',
|
||||
'rewrite_A',
|
||||
'rewrite_AAAA']
|
||||
.map((str) => <li key={str}>
|
||||
<Trans components={[<code key="0">text</code>]}>{str}</Trans>
|
||||
</li>)
|
||||
}</ul>
|
||||
<div className="modal-footer">
|
||||
<div className="btn-list">
|
||||
<button
|
||||
@@ -81,9 +108,9 @@ Form.propTypes = {
|
||||
};
|
||||
|
||||
export default flow([
|
||||
withNamespaces(),
|
||||
withTranslation(),
|
||||
reduxForm({
|
||||
form: 'rewritesForm',
|
||||
form: FORM_NAME.REWRITES,
|
||||
enableReinitialize: true,
|
||||
}),
|
||||
])(Form);
|
||||
@@ -1,6 +1,6 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Trans, withNamespaces } from 'react-i18next';
|
||||
import { Trans, withTranslation } from 'react-i18next';
|
||||
import ReactModal from 'react-modal';
|
||||
|
||||
import Form from './Form';
|
||||
@@ -49,4 +49,4 @@ Modal.propTypes = {
|
||||
processingDelete: PropTypes.bool.isRequired,
|
||||
};
|
||||
|
||||
export default withNamespaces()(Modal);
|
||||
export default withTranslation()(Modal);
|
||||
@@ -1,11 +1,11 @@
|
||||
import React, { Component } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import ReactTable from 'react-table';
|
||||
import { withNamespaces } from 'react-i18next';
|
||||
import { withTranslation } from 'react-i18next';
|
||||
|
||||
class Table extends Component {
|
||||
cellWrap = ({ value }) => (
|
||||
<div className="logs__row logs__row--overflow">
|
||||
<div className="logs__row o-hidden">
|
||||
<span className="logs__text" title={value}>
|
||||
{value}
|
||||
</span>
|
||||
@@ -27,16 +27,15 @@ class Table extends Component {
|
||||
Header: this.props.t('actions_table_header'),
|
||||
accessor: 'actions',
|
||||
maxWidth: 100,
|
||||
Cell: value => (
|
||||
Cell: (value) => (
|
||||
<div className="logs__row logs__row--center">
|
||||
<button
|
||||
type="button"
|
||||
className="btn btn-icon btn-outline-secondary btn-sm"
|
||||
onClick={() =>
|
||||
this.props.handleDelete({
|
||||
answer: value.row.answer,
|
||||
domain: value.row.domain,
|
||||
})
|
||||
className="btn btn-icon btn-icon--green btn-outline-secondary btn-sm"
|
||||
onClick={() => this.props.handleDelete({
|
||||
answer: value.row.answer,
|
||||
domain: value.row.domain,
|
||||
})
|
||||
}
|
||||
title={this.props.t('delete_table_action')}
|
||||
>
|
||||
@@ -60,15 +59,15 @@ class Table extends Component {
|
||||
columns={this.columns}
|
||||
loading={processing || processingAdd || processingDelete}
|
||||
className="-striped -highlight card-table-overflow"
|
||||
showPagination={true}
|
||||
showPagination
|
||||
defaultPageSize={10}
|
||||
minRows={5}
|
||||
ofText="/"
|
||||
previousText={t('previous_btn')}
|
||||
nextText={t('next_btn')}
|
||||
loadingText={t('loading_table_status')}
|
||||
pageText={t('page_table_footer_text')}
|
||||
ofText={t('of_table_footer_text')}
|
||||
rowsText={t('rows_table_footer_text')}
|
||||
loadingText={t('loading_table_status')}
|
||||
noDataText={t('rewrite_not_found')}
|
||||
/>
|
||||
);
|
||||
@@ -84,4 +83,4 @@ Table.propTypes = {
|
||||
handleDelete: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export default withNamespaces()(Table);
|
||||
export default withTranslation()(Table);
|
||||
92
client/src/components/Filters/Rewrites/index.js
Normal file
92
client/src/components/Filters/Rewrites/index.js
Normal file
@@ -0,0 +1,92 @@
|
||||
import React, { Component, Fragment } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Trans, withTranslation } from 'react-i18next';
|
||||
|
||||
import Table from './Table';
|
||||
import Modal from './Modal';
|
||||
import Card from '../../ui/Card';
|
||||
import PageTitle from '../../ui/PageTitle';
|
||||
|
||||
class Rewrites extends Component {
|
||||
componentDidMount() {
|
||||
this.props.getRewritesList();
|
||||
}
|
||||
|
||||
handleSubmit = (values) => {
|
||||
this.props.addRewrite(values);
|
||||
};
|
||||
|
||||
handleDelete = (values) => {
|
||||
// eslint-disable-next-line no-alert
|
||||
if (window.confirm(this.props.t('rewrite_confirm_delete', { key: values.domain }))) {
|
||||
this.props.deleteRewrite(values);
|
||||
}
|
||||
};
|
||||
|
||||
render() {
|
||||
const {
|
||||
t,
|
||||
rewrites,
|
||||
toggleRewritesModal,
|
||||
} = this.props;
|
||||
|
||||
const {
|
||||
list,
|
||||
isModalOpen,
|
||||
processing,
|
||||
processingAdd,
|
||||
processingDelete,
|
||||
} = rewrites;
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<PageTitle
|
||||
title={t('dns_rewrites')}
|
||||
subtitle={t('rewrite_desc')}
|
||||
/>
|
||||
<Card
|
||||
id="rewrites"
|
||||
bodyType="card-body box-body--settings"
|
||||
>
|
||||
<Fragment>
|
||||
<Table
|
||||
list={list}
|
||||
processing={processing}
|
||||
processingAdd={processingAdd}
|
||||
processingDelete={processingDelete}
|
||||
handleDelete={this.handleDelete}
|
||||
/>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
className="btn btn-success btn-standard mt-3"
|
||||
onClick={() => toggleRewritesModal()}
|
||||
disabled={processingAdd}
|
||||
>
|
||||
<Trans>rewrite_add</Trans>
|
||||
</button>
|
||||
|
||||
<Modal
|
||||
isModalOpen={isModalOpen}
|
||||
toggleRewritesModal={toggleRewritesModal}
|
||||
handleSubmit={this.handleSubmit}
|
||||
processingAdd={processingAdd}
|
||||
processingDelete={processingDelete}
|
||||
/>
|
||||
</Fragment>
|
||||
</Card>
|
||||
</Fragment>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Rewrites.propTypes = {
|
||||
t: PropTypes.func.isRequired,
|
||||
getRewritesList: PropTypes.func.isRequired,
|
||||
toggleRewritesModal: PropTypes.func.isRequired,
|
||||
addRewrite: PropTypes.func.isRequired,
|
||||
deleteRewrite: PropTypes.func.isRequired,
|
||||
rewrites: PropTypes.object.isRequired,
|
||||
};
|
||||
|
||||
export default withTranslation()(Rewrites);
|
||||
@@ -1,12 +1,12 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Field, reduxForm } from 'redux-form';
|
||||
import { Trans, withNamespaces } from 'react-i18next';
|
||||
import { Trans, withTranslation } from 'react-i18next';
|
||||
import flow from 'lodash/flow';
|
||||
|
||||
import { toggleAllServices } from '../../../helpers/helpers';
|
||||
import { renderServiceField } from '../../../helpers/form';
|
||||
import { SERVICES } from '../../../helpers/constants';
|
||||
import { FORM_NAME, SERVICES } from '../../../helpers/constants';
|
||||
|
||||
const Form = (props) => {
|
||||
const {
|
||||
@@ -44,7 +44,7 @@ const Form = (props) => {
|
||||
</div>
|
||||
</div>
|
||||
<div className="services">
|
||||
{SERVICES.map(service => (
|
||||
{SERVICES.map((service) => (
|
||||
<Field
|
||||
key={service.id}
|
||||
icon={`service_${service.id}`}
|
||||
@@ -82,9 +82,9 @@ Form.propTypes = {
|
||||
};
|
||||
|
||||
export default flow([
|
||||
withNamespaces(),
|
||||
withTranslation(),
|
||||
reduxForm({
|
||||
form: 'servicesForm',
|
||||
form: FORM_NAME.SERVICES,
|
||||
enableReinitialize: true,
|
||||
}),
|
||||
])(Form);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user