mirror of
https://github.com/syncthing/syncthing.git
synced 2026-01-05 20:39:14 -05:00
Compare commits
213 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c7221b035d | ||
|
|
a69ba18f62 | ||
|
|
b31611a8d1 | ||
|
|
0ca0e3e9bd | ||
|
|
0a96a1150b | ||
|
|
b8c249cddc | ||
|
|
e8ba6d4771 | ||
|
|
606fce09ca | ||
|
|
3d8b4a42b7 | ||
|
|
ab8c2fb5c7 | ||
|
|
77578e8aac | ||
|
|
1fc2ab444b | ||
|
|
fa5c890ff6 | ||
|
|
a3c17f8f81 | ||
|
|
f1f21bf220 | ||
|
|
54155cb42d | ||
|
|
414c58174b | ||
|
|
94acc20dd6 | ||
|
|
8e9119eedf | ||
|
|
a04b92332f | ||
|
|
0ad10b0fee | ||
|
|
0ca2ed7ad7 | ||
|
|
fa4226cae4 | ||
|
|
cc63236a2e | ||
|
|
6623657ef3 | ||
|
|
4405117bea | ||
|
|
e371800878 | ||
|
|
7a47646534 | ||
|
|
d475ad7ce1 | ||
|
|
7c8418f493 | ||
|
|
200a7fc844 | ||
|
|
5a38e0ba3f | ||
|
|
c77490c32d | ||
|
|
b75c9f2bbb | ||
|
|
322bedbb04 | ||
|
|
487655b365 | ||
|
|
03c678a810 | ||
|
|
b79f8aceb8 | ||
|
|
92e8c4303a | ||
|
|
e735a3a25c | ||
|
|
8d13e01342 | ||
|
|
34f8cc8620 | ||
|
|
add10c98fa | ||
|
|
6503326073 | ||
|
|
db1dc9985a | ||
|
|
3641c97667 | ||
|
|
8f214fe4a9 | ||
|
|
98cfc204ca | ||
|
|
d0061c172c | ||
|
|
93a04158fd | ||
|
|
d862e79133 | ||
|
|
68c1a0b9b4 | ||
|
|
2a38d2a3d2 | ||
|
|
9c4175715a | ||
|
|
d637148cca | ||
|
|
3395992abd | ||
|
|
7a15fef3b8 | ||
|
|
9667a0a618 | ||
|
|
7346113742 | ||
|
|
3f1fa04725 | ||
|
|
719c313b23 | ||
|
|
3d11efc9e0 | ||
|
|
3dca7cd694 | ||
|
|
803da92ca9 | ||
|
|
b49bbe82dd | ||
|
|
3959eb26fb | ||
|
|
1235cead35 | ||
|
|
dd6bb6d5fd | ||
|
|
91d37f35bc | ||
|
|
51518490c6 | ||
|
|
2c10beed0b | ||
|
|
8f3f787a34 | ||
|
|
3522d451df | ||
|
|
cf3114b56d | ||
|
|
3d95135638 | ||
|
|
4db662e576 | ||
|
|
1d15b8be9b | ||
|
|
d25b15263a | ||
|
|
7931d956f7 | ||
|
|
c9afabf09f | ||
|
|
c262f48bfe | ||
|
|
8c108b4d20 | ||
|
|
ec137c9522 | ||
|
|
b17d7d8126 | ||
|
|
43569d8d36 | ||
|
|
c4b527e5e9 | ||
|
|
6386d079b0 | ||
|
|
d2699a20fc | ||
|
|
0b854dff9d | ||
|
|
9de6cdddfd | ||
|
|
5045842f4f | ||
|
|
e0405de5bf | ||
|
|
d6fbfc3545 | ||
|
|
bdaef44765 | ||
|
|
488444354b | ||
|
|
26654df48c | ||
|
|
7f5e236dd7 | ||
|
|
914b09fd1f | ||
|
|
e9f05d138f | ||
|
|
10894695c6 | ||
|
|
6b188ebcf3 | ||
|
|
57e3f9e64b | ||
|
|
b5694ca788 | ||
|
|
bcfd18ceb1 | ||
|
|
f689512a3f | ||
|
|
dd1f7a5ab7 | ||
|
|
d48e46a29c | ||
|
|
75460be98d | ||
|
|
ce0456b5ac | ||
|
|
e3e028c988 | ||
|
|
da34f27546 | ||
|
|
c205fdd77e | ||
|
|
ae4206f362 | ||
|
|
391665e322 | ||
|
|
5521759b23 | ||
|
|
f0492c4eb3 | ||
|
|
b1edf12257 | ||
|
|
2579e8f715 | ||
|
|
a1bcc15458 | ||
|
|
49c1527724 | ||
|
|
da35820fd5 | ||
|
|
79eac61b09 | ||
|
|
2ff08e6c84 | ||
|
|
25b314f5f1 | ||
|
|
c5e0c47989 | ||
|
|
4253f22680 | ||
|
|
bdb56d91b9 | ||
|
|
c3820fbbf2 | ||
|
|
cbdb036b69 | ||
|
|
b75b4190c8 | ||
|
|
1ad547fb65 | ||
|
|
ac46db78d7 | ||
|
|
53a7c7bd49 | ||
|
|
e667fcb472 | ||
|
|
ee92ee0190 | ||
|
|
3e49b73f70 | ||
|
|
236e206764 | ||
|
|
ed771f5c64 | ||
|
|
c6dd777fd6 | ||
|
|
1caa683ec1 | ||
|
|
88dfd634e5 | ||
|
|
5c27796471 | ||
|
|
a54365424e | ||
|
|
ef35a7a4cb | ||
|
|
601a4fac1a | ||
|
|
f4ccc69422 | ||
|
|
ceea5ebeb3 | ||
|
|
f35e1ac0c5 | ||
|
|
0e76f9d93b | ||
|
|
1b08176583 | ||
|
|
b3e2665a79 | ||
|
|
81af29e3e2 | ||
|
|
0da0774ce4 | ||
|
|
151004d645 | ||
|
|
4e3fdfaeef | ||
|
|
1c29a93013 | ||
|
|
689f13f4f1 | ||
|
|
0558565a95 | ||
|
|
b84c4e1417 | ||
|
|
416811a2a9 | ||
|
|
c20d612736 | ||
|
|
3475a9ab0a | ||
|
|
d7adee05a8 | ||
|
|
73cbd17e17 | ||
|
|
7260629bc0 | ||
|
|
566c348b00 | ||
|
|
190f153b92 | ||
|
|
c56c48a777 | ||
|
|
98d22b88a0 | ||
|
|
28449f9f5b | ||
|
|
a0e2e7a962 | ||
|
|
fb6d453c74 | ||
|
|
89f8be40c6 | ||
|
|
96fba1b322 | ||
|
|
0c68e1e510 | ||
|
|
22903df2c1 | ||
|
|
10618e80a3 | ||
|
|
161326c548 | ||
|
|
f7fc0c1d3e | ||
|
|
120e6eab2c | ||
|
|
72de47df00 | ||
|
|
dfe23e8d53 | ||
|
|
2b1c942d56 | ||
|
|
204f125ab3 | ||
|
|
73f9c7d174 | ||
|
|
c4ba580cbb | ||
|
|
9fda9642d3 | ||
|
|
dfd2c464b6 | ||
|
|
5a1ee7f0b0 | ||
|
|
fdcbd54cd7 | ||
|
|
e14741a58c | ||
|
|
67acef1794 | ||
|
|
237893ead3 | ||
|
|
2590536ef3 | ||
|
|
dc91995475 | ||
|
|
3655c97850 | ||
|
|
c0f3f06cfb | ||
|
|
05450ca034 | ||
|
|
c005e61151 | ||
|
|
63e0b53e8b | ||
|
|
1f586c0fdd | ||
|
|
f1a073501f | ||
|
|
a72f5379fb | ||
|
|
8cccecceba | ||
|
|
81418d724a | ||
|
|
3eb7a9373a | ||
|
|
ac510b26e2 | ||
|
|
20f8b4fd57 | ||
|
|
1c9361a818 | ||
|
|
35e87e23fd | ||
|
|
e03be9158b | ||
|
|
9833d13762 | ||
|
|
6ec7d711d8 |
14
AUTHORS
14
AUTHORS
@@ -21,6 +21,7 @@ Audrius Butkevicius (AudriusButkevicius) <audrius.butkevicius@gmail.com>
|
||||
Bart De Vries (mogwa1) <devriesb@gmail.com>
|
||||
Ben Curthoys (bencurthoys) <ben@bencurthoys.com>
|
||||
Ben Schulz (uok) <ueomkail@gmail.com> <uok@users.noreply.github.com>
|
||||
Ben Shepherd (benshep) <bjashepherd@gmail.com>
|
||||
Ben Sidhom (bsidhom) <bsidhom@gmail.com>
|
||||
Benny Ng (tpng) <benny.tpng@gmail.com>
|
||||
Brandon Philips (philips) <brandon@ifup.org>
|
||||
@@ -36,6 +37,7 @@ Colin Kennedy (moshen) <moshen.colin@gmail.com>
|
||||
Daniel Bergmann (brgmnn) <dan.arne.bergmann@gmail.com> <brgmnn@users.noreply.github.com>
|
||||
Daniel Harte (norgeous) <daniel@harte.me> <daniel@danielharte.co.uk> <norgeous@users.noreply.github.com>
|
||||
Daniel MartĂ (mvdan) <mvdan@mvdan.cc>
|
||||
Darshil Chanpura (dtchanpura) <dtchanpura@gmail.com> <dcprime314@gmail.com>
|
||||
David Rimmer (dinosore) <dinosore@dbrsoftware.co.uk>
|
||||
Denis A. (dva) <denisva@gmail.com>
|
||||
Dennis Wilson (snnd) <dw@risu.io>
|
||||
@@ -56,18 +58,21 @@ Jake Peterson (acogdev) <jake@acogdev.com>
|
||||
Jakob Borg (calmh) <jakob@nym.se> <jakob@kastelo.net>
|
||||
James Patterson (jpjp) <jamespatterson@operamail.com> <jpjp@users.noreply.github.com>
|
||||
Jaroslav Malec (dzarda) <dzardacz@gmail.com>
|
||||
Jaya Chithra (jayachithra) <s.k.jayachithra@gmail.com>
|
||||
Jens Diemer (jedie) <github.com@jensdiemer.de> <git@jensdiemer.de>
|
||||
Jochen Voss (seehuhn) <voss@seehuhn.de>
|
||||
Johan Vromans (sciurius) <jvromans@squirrel.nl>
|
||||
Jose Manuel Delicado (jmdaweb) <jmdaweb@hotmail.com> <jmdaweb@users.noreply.github.com>
|
||||
Karol RĂłĆŒycki (krozycki) <rozycki.karol@gmail.com>
|
||||
Kelong Cong (kc1212) <kc04bc@gmx.com> <kc1212@users.noreply.github.com>
|
||||
Ken'ichi Kamada (kamadak) <kamada@nanohz.org>
|
||||
Kevin Allen (ironmig) <kma1660@gmail.com>
|
||||
Kevin White, Jr. (kwhite17) <kevinwhite1710@gmail.com>
|
||||
Kurt Fitzner (Kudalufi) <kurt@va1der.ca>
|
||||
Kurt Fitzner (Kudalufi) <kurt@va1der.ca> <kurt.fitzner@gmail.com>
|
||||
Lars K.W. Gohlke (lkwg82) <lkwg82@gmx.de>
|
||||
Laurent Etiemble (letiemble) <laurent.etiemble@gmail.com> <laurent.etiemble@monobjc.net>
|
||||
Leo Arias (elopio) <yo@elopio.net>
|
||||
Liu Siyuan (liusy182) <liusy182@gmail.com> <liusy182@hotmail.com>
|
||||
Lode Hoste (Zillode) <zillode@zillode.be>
|
||||
Lord Landon Agahnim (LordLandon) <lordlandon@gmail.com>
|
||||
Majed Abdulaziz (majedev) <majed.alhajry@gmail.com>
|
||||
@@ -82,18 +87,23 @@ Michael Jephcote (Rewt0r) <rewt0r@gmx.com> <Rewt0r@users.noreply.github.com>
|
||||
Michael Ploujnikov (plouj) <ploujj@gmail.com>
|
||||
Michael Tilli (pyfisch) <pyfisch@gmail.com>
|
||||
Nate Morrison (nrm21) <natemorrison@gmail.com>
|
||||
Niels Peter Roest (Niller303) <nielsproest@hotmail.com> <seje.niels@hotmail.com>
|
||||
Pascal Jungblut (pascalj) <github@pascalj.com> <mail@pascal-jungblut.com>
|
||||
Peter Hoeg (peterhoeg) <peter@speartail.com>
|
||||
Philippe Schommers (filoozoom) <philippe@schommers.be>
|
||||
Phill Luby (pluby) <phill.luby@newredo.com>
|
||||
Piotr Bejda (piobpl) <piotrb10@gmail.com>
|
||||
Robert Carosi (nov1n) <robert@carosi.nl>
|
||||
Roman Zaynetdinov (zaynetro) <romanznet@gmail.com>
|
||||
Ross Smith II (rasa) <ross@smithii.com>
|
||||
Ryan Sullivan (KayoticSully) <kayoticsully@gmail.com>
|
||||
Sacheendra Talluri (sacheendra) <sacheendra.t@gmail.com>
|
||||
Scott Klupfel (kluppy) <kluppy@going2blue.com>
|
||||
Sergey Mishin (ralder) <ralder@yandex.ru>
|
||||
Simon Frei (imsodin) <freisim93@gmail.com>
|
||||
Stefan Kuntz (Stefan-Code) <stefan.github@gmail.com> <Stefan.github@gmail.com>
|
||||
Stefan Tatschner (rumpelsepp) <stefan@sevenbyte.org> <rumpelsepp@sevenbyte.org>
|
||||
Suhas Gundimeda (snugghash) <suhas.gundimeda@gmail.com> <snugghash@gmail.com>
|
||||
Tim Abell (timabell) <tim@timwise.co.uk>
|
||||
Tim Howes (timhowes) <timhowes@berkeley.edu>
|
||||
Tobias Nygren (tnn2) <tnn@nygren.pp.se>
|
||||
@@ -105,6 +115,6 @@ Veeti Paananen (veeti) <veeti.paananen@rojekti.fi>
|
||||
Victor Buinsky (buinsky) <vix_booja@tut.by>
|
||||
Vil Brekin (Vilbrekin) <vilbrekin@gmail.com>
|
||||
William A. Kennington III (wkennington) <william@wkennington.com>
|
||||
Wulf Weich (wweich) <wweich@users.noreply.github.com> <wweich@gmx.de>
|
||||
Wulf Weich (wweich) <wweich@users.noreply.github.com> <wweich@gmx.de> <wulf@weich-kr.de>
|
||||
Xavier O. (damajor) <damajor@gmail.com>
|
||||
Yannic A. (eipiminus1) <eipiminusone+github@gmail.com> <eipiminus1@users.noreply.github.com>
|
||||
|
||||
4
GOALS.md
4
GOALS.md
@@ -1,6 +1,6 @@
|
||||
# The Syncthing Goals
|
||||
|
||||
Syncthing is a **continous file synchronization program**. It synchronizes
|
||||
Syncthing is a **continuous file synchronization program**. It synchronizes
|
||||
files between two or more computers. We strive to fulfill the goals below.
|
||||
The goals are listed in order of importance, the most important one being
|
||||
the first.
|
||||
@@ -80,4 +80,4 @@ conflict with the stated goals above.
|
||||
> providing entertainment value for the maintainers are also things that
|
||||
> matter. It is understood that there are aspects of Syncthing that are
|
||||
> suboptimal or even in opposition with the goals above. However, we
|
||||
> continously strive to align Syncthing more and more with these goals.
|
||||
> continuously strive to align Syncthing more and more with these goals.
|
||||
|
||||
2
LICENSE
2
LICENSE
@@ -357,7 +357,7 @@ Exhibit A - Source Code Form License Notice
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
If it is not possible or desirable to put the notice in a particular
|
||||
file, then You may include the notice in a location (such as a LICENSE
|
||||
|
||||
17
NICKS
17
NICKS
@@ -15,6 +15,7 @@ AudriusButkevicius <audrius.butkevicius@gmail.com>
|
||||
aviau <alexandre@alexandreviau.net>
|
||||
aviau <aviau@debian.org>
|
||||
bencurthoys <ben@bencurthoys.com>
|
||||
benshep <bjashepherd@gmail.com>
|
||||
bigbear2nd <bigbear2nd@gmail.com>
|
||||
brbecker <brbecker@gmail.com>
|
||||
brendanlong <self@brendanlong.com>
|
||||
@@ -35,6 +36,8 @@ ceh <emil@hessman.se>
|
||||
cqcallaw <enlightened.despot@gmail.com>
|
||||
damajor <damajor@gmail.com>
|
||||
dinosore <dinosore@dbrsoftware.co.uk>
|
||||
dtchanpura <dtchanpura@gmail.com>
|
||||
dtchanpura <dcprime314@gmail.com>
|
||||
dva <denisva@gmail.com>
|
||||
dzarda <dzardacz@gmail.com>
|
||||
eipiminus1 <eipiminusone+github@gmail.com>
|
||||
@@ -50,9 +53,12 @@ hadogenes <szafar@linux.pl>
|
||||
imsodin <freisim93@gmail.com>
|
||||
ironmig <kma1660@gmail.com>
|
||||
jarlebring <jarlebring@gmail.com>
|
||||
jayachithra <s.k.jayachithra@gmail.com>
|
||||
jedie <github.com@jensdiemer.de>
|
||||
jedie <git@jensdiemer.de>
|
||||
jgke <jgke@jgke.fi>
|
||||
jmdaweb <jmdaweb@hotmail.com>
|
||||
jmdaweb <jmdaweb@users.noreply.github.com>
|
||||
jpjp <jamespatterson@operamail.com>
|
||||
jpjp <jpjp@users.noreply.github.com>
|
||||
kamadak <kamada@nanohz.org>
|
||||
@@ -66,9 +72,12 @@ kralo <max.schulze@online.de>
|
||||
kralo <kralo@users.noreply.github.com>
|
||||
krozycki <rozycki.karol@gmail.com>
|
||||
Kudalufi <kurt@va1der.ca>
|
||||
Kudalufi <kurt.fitzner@gmail.com>
|
||||
kwhite17 <kevinwhite1710@gmail.com>
|
||||
letiemble <laurent.etiemble@gmail.com>
|
||||
letiemble <laurent.etiemble@monobjc.net>
|
||||
liusy182 <liusy182@gmail.com>
|
||||
liusy182 <liusy182@hotmail.com>
|
||||
lkwg82 <lkwg82@gmx.de>
|
||||
LordLandon <lordlandon@gmail.com>
|
||||
majedev <majed.alhajry@gmail.com>
|
||||
@@ -81,9 +90,12 @@ moshen <moshen.colin@gmail.com>
|
||||
Moter8 <moter8@gmail.com>
|
||||
mpx <mark@kyne.com.au>
|
||||
mvdan <mvdan@mvdan.cc>
|
||||
Niller303 <nielsproest@hotmail.com>
|
||||
Niller303 <seje.niels@hotmail.com>
|
||||
norgeous <daniel@harte.me>
|
||||
norgeous <daniel@danielharte.co.uk>
|
||||
norgeous <norgeous@users.noreply.github.com>
|
||||
nov1n <robert@carosi.nl>
|
||||
nrm21 <natemorrison@gmail.com>
|
||||
Nutomic <me@nutomic.com>
|
||||
pascalj <github@pascalj.com>
|
||||
@@ -99,15 +111,19 @@ ProactiveServices <ProactiveServices@users.noreply.github.com>
|
||||
pyfisch <pyfisch@gmail.com>
|
||||
qbit <qbit@deftly.net>
|
||||
ralder <ralder@yandex.ru>
|
||||
rasa <ross@smithii.com>
|
||||
Rewt0r <rewt0r@gmx.com>
|
||||
Rewt0r <Rewt0r@users.noreply.github.com>
|
||||
rumpelsepp <stefan@sevenbyte.org>
|
||||
rumpelsepp <rumpelsepp@sevenbyte.org>
|
||||
sacheendra <sacheendra.t@gmail.com>
|
||||
scienmind <scintertech@cryptolab.net>
|
||||
sciurius <jvromans@squirrel.nl>
|
||||
seehuhn <voss@seehuhn.de>
|
||||
Smiley73 <heiko@zuerker.org>
|
||||
snnd <dw@risu.io>
|
||||
snugghash <suhas.gundimeda@gmail.com>
|
||||
snugghash <snugghash@gmail.com>
|
||||
Stefan-Code <stefan.github@gmail.com>
|
||||
Stefan-Code <Stefan.github@gmail.com>
|
||||
timabell <tim@timwise.co.uk>
|
||||
@@ -126,6 +142,7 @@ wkennington <william@wkennington.com>
|
||||
WSGCSysadmin <e.meitner@willystreet.coop>
|
||||
wweich <wweich@users.noreply.github.com>
|
||||
wweich <wweich@gmx.de>
|
||||
wweich <wulf@weich-kr.de>
|
||||
xduugu <cedric@gmx.ca>
|
||||
zaynetro <romanznet@gmail.com>
|
||||
Zillode <zillode@zillode.be>
|
||||
|
||||
18
README.md
18
README.md
@@ -1,13 +1,19 @@
|
||||
# Syncthing
|
||||
[![Syncthing][14]][15]
|
||||
|
||||
[](http://build.syncthing.net/job/syncthing/lastBuild/)
|
||||
[](http://godoc.org/github.com/syncthing/syncthing)
|
||||
---
|
||||
|
||||
[](https://build.syncthing.net/job/syncthing/lastBuild/)
|
||||
[](https://build.syncthing.net/job/syncthing/lastBuild/)
|
||||
[](https://build.syncthing.net/job/syncthing/lastBuild/)
|
||||
[](https://build.syncthing.net/job/syncthing/lastBuild/)
|
||||
[](https://godoc.org/github.com/syncthing/syncthing)
|
||||
[](https://www.mozilla.org/MPL/2.0/)
|
||||
[](https://bestpractices.coreinfrastructure.org/projects/88)
|
||||
[](https://goreportcard.com/report/github.com/syncthing/syncthing)
|
||||
|
||||
## Goals
|
||||
|
||||
Syncthing is a **continous file synchronization program**. It synchronizes
|
||||
Syncthing is a **continuous file synchronization program**. It synchronizes
|
||||
files between two or more computers. We strive to fulfill the goals below.
|
||||
The goals are listed in order of importance, the most important one being
|
||||
the first. This is the summary version of the goal list - for more
|
||||
@@ -94,7 +100,7 @@ All code is licensed under the [MPLv2 License][7].
|
||||
[1]: https://docs.syncthing.net/specs/bep-v1.html
|
||||
[2]: https://docs.syncthing.net/intro/getting-started.html
|
||||
[3]: https://github.com/syncthing/syncthing/blob/master/etc
|
||||
[4]: http://www.freenode.net/irc_servers.shtml
|
||||
[4]: https://www.freenode.net/
|
||||
[5]: https://docs.syncthing.net/dev/building.html
|
||||
[6]: https://docs.syncthing.net/
|
||||
[7]: https://github.com/syncthing/syncthing/blob/master/LICENSE
|
||||
@@ -104,3 +110,5 @@ All code is licensed under the [MPLv2 License][7].
|
||||
[11]: https://docs.syncthing.net/users/contrib.html#gui-wrappers
|
||||
[12]: https://www.bountysource.com/teams/syncthing/issues
|
||||
[13]: https://github.com/syncthing/syncthing/blob/master/GOALS.md
|
||||
[14]: assets/logo-text-128.png
|
||||
[15]: https://syncthing.net/
|
||||
|
||||
BIN
assets/syncthing_folder_icon.icns
Normal file
BIN
assets/syncthing_folder_icon.icns
Normal file
Binary file not shown.
474
build.go
474
build.go
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
// +build ignore
|
||||
|
||||
@@ -12,7 +12,9 @@ import (
|
||||
"archive/tar"
|
||||
"archive/zip"
|
||||
"bytes"
|
||||
"compress/flate"
|
||||
"compress/gzip"
|
||||
"crypto/sha256"
|
||||
"errors"
|
||||
"flag"
|
||||
"fmt"
|
||||
@@ -32,18 +34,25 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
versionRe = regexp.MustCompile(`-[0-9]{1,3}-g[0-9a-f]{5,10}`)
|
||||
goarch string
|
||||
goos string
|
||||
noupgrade bool
|
||||
version string
|
||||
goVersion float64
|
||||
race bool
|
||||
debug = os.Getenv("BUILDDEBUG") != ""
|
||||
versionRe = regexp.MustCompile(`-[0-9]{1,3}-g[0-9a-f]{5,10}`)
|
||||
goarch string
|
||||
goos string
|
||||
noupgrade bool
|
||||
version string
|
||||
goVersion float64
|
||||
race bool
|
||||
debug = os.Getenv("BUILDDEBUG") != ""
|
||||
noBuildGopath bool
|
||||
extraTags string
|
||||
installSuffix string
|
||||
)
|
||||
|
||||
type target struct {
|
||||
name string
|
||||
debname string
|
||||
debdeps []string
|
||||
debpost string
|
||||
description string
|
||||
buildPkg string
|
||||
binaryName string
|
||||
archiveFiles []archiveFile
|
||||
@@ -61,14 +70,18 @@ var targets = map[string]target{
|
||||
"all": {
|
||||
// Only valid for the "build" and "install" commands as it lacks all
|
||||
// the archive creation stuff.
|
||||
buildPkg: "./cmd/...",
|
||||
buildPkg: "github.com/syncthing/syncthing/cmd/...",
|
||||
tags: []string{"purego"},
|
||||
},
|
||||
"syncthing": {
|
||||
// The default target for "build", "install", "tar", "zip", "deb", etc.
|
||||
name: "syncthing",
|
||||
buildPkg: "./cmd/syncthing",
|
||||
binaryName: "syncthing", // .exe will be added automatically for Windows builds
|
||||
name: "syncthing",
|
||||
debname: "syncthing",
|
||||
debdeps: []string{"libc6", "procps"},
|
||||
debpost: "script/post-upgrade",
|
||||
description: "Open Source Continuous File Synchronization",
|
||||
buildPkg: "github.com/syncthing/syncthing/cmd/syncthing",
|
||||
binaryName: "syncthing", // .exe will be added automatically for Windows builds
|
||||
archiveFiles: []archiveFile{
|
||||
{src: "{{binary}}", dst: "{{binary}}", perm: 0755},
|
||||
{src: "README.md", dst: "README.txt", perm: 0644},
|
||||
@@ -98,9 +111,12 @@ var targets = map[string]target{
|
||||
},
|
||||
},
|
||||
"stdiscosrv": {
|
||||
name: "stdiscosrv",
|
||||
buildPkg: "./cmd/stdiscosrv",
|
||||
binaryName: "stdiscosrv", // .exe will be added automatically for Windows builds
|
||||
name: "stdiscosrv",
|
||||
debname: "syncthing-discosrv",
|
||||
debdeps: []string{"libc6"},
|
||||
description: "Syncthing Discovery Server",
|
||||
buildPkg: "github.com/syncthing/syncthing/cmd/stdiscosrv",
|
||||
binaryName: "stdiscosrv", // .exe will be added automatically for Windows builds
|
||||
archiveFiles: []archiveFile{
|
||||
{src: "{{binary}}", dst: "{{binary}}", perm: 0755},
|
||||
{src: "cmd/stdiscosrv/README.md", dst: "README.txt", perm: 0644},
|
||||
@@ -109,17 +125,20 @@ var targets = map[string]target{
|
||||
},
|
||||
installationFiles: []archiveFile{
|
||||
{src: "{{binary}}", dst: "deb/usr/bin/{{binary}}", perm: 0755},
|
||||
{src: "cmd/stdiscosrv/README.md", dst: "deb/usr/share/doc/stdiscosrv/README.txt", perm: 0644},
|
||||
{src: "cmd/stdiscosrv/LICENSE", dst: "deb/usr/share/doc/stdiscosrv/LICENSE.txt", perm: 0644},
|
||||
{src: "AUTHORS", dst: "deb/usr/share/doc/stdiscosrv/AUTHORS.txt", perm: 0644},
|
||||
{src: "cmd/stdiscosrv/README.md", dst: "deb/usr/share/doc/syncthing-discosrv/README.txt", perm: 0644},
|
||||
{src: "cmd/stdiscosrv/LICENSE", dst: "deb/usr/share/doc/syncthing-discosrv/LICENSE.txt", perm: 0644},
|
||||
{src: "AUTHORS", dst: "deb/usr/share/doc/syncthing-discosrv/AUTHORS.txt", perm: 0644},
|
||||
{src: "man/stdiscosrv.1", dst: "deb/usr/share/man/man1/stdiscosrv.1", perm: 0644},
|
||||
},
|
||||
tags: []string{"purego"},
|
||||
},
|
||||
"strelaysrv": {
|
||||
name: "strelaysrv",
|
||||
buildPkg: "./cmd/strelaysrv",
|
||||
binaryName: "strelaysrv", // .exe will be added automatically for Windows builds
|
||||
name: "strelaysrv",
|
||||
debname: "syncthing-relaysrv",
|
||||
debdeps: []string{"libc6"},
|
||||
description: "Syncthing Relay Server",
|
||||
buildPkg: "github.com/syncthing/syncthing/cmd/strelaysrv",
|
||||
binaryName: "strelaysrv", // .exe will be added automatically for Windows builds
|
||||
archiveFiles: []archiveFile{
|
||||
{src: "{{binary}}", dst: "{{binary}}", perm: 0755},
|
||||
{src: "cmd/strelaysrv/README.md", dst: "README.txt", perm: 0644},
|
||||
@@ -128,16 +147,19 @@ var targets = map[string]target{
|
||||
},
|
||||
installationFiles: []archiveFile{
|
||||
{src: "{{binary}}", dst: "deb/usr/bin/{{binary}}", perm: 0755},
|
||||
{src: "cmd/strelaysrv/README.md", dst: "deb/usr/share/doc/strelaysrv/README.txt", perm: 0644},
|
||||
{src: "cmd/strelaysrv/LICENSE", dst: "deb/usr/share/doc/strelaysrv/LICENSE.txt", perm: 0644},
|
||||
{src: "AUTHORS", dst: "deb/usr/share/doc/strelaysrv/AUTHORS.txt", perm: 0644},
|
||||
{src: "cmd/strelaysrv/README.md", dst: "deb/usr/share/doc/syncthing-relaysrv/README.txt", perm: 0644},
|
||||
{src: "cmd/strelaysrv/LICENSE", dst: "deb/usr/share/doc/syncthing-relaysrv/LICENSE.txt", perm: 0644},
|
||||
{src: "AUTHORS", dst: "deb/usr/share/doc/syncthing-relaysrv/AUTHORS.txt", perm: 0644},
|
||||
{src: "man/strelaysrv.1", dst: "deb/usr/share/man/man1/strelaysrv.1", perm: 0644},
|
||||
},
|
||||
},
|
||||
"strelaypoolsrv": {
|
||||
name: "strelaypoolsrv",
|
||||
buildPkg: "./cmd/strelaypoolsrv",
|
||||
binaryName: "strelaypoolsrv", // .exe will be added automatically for Windows builds
|
||||
name: "strelaypoolsrv",
|
||||
debname: "syncthing-relaypoolsrv",
|
||||
debdeps: []string{"libc6"},
|
||||
description: "Syncthing Relay Pool Server",
|
||||
buildPkg: "github.com/syncthing/syncthing/cmd/strelaypoolsrv",
|
||||
binaryName: "strelaypoolsrv", // .exe will be added automatically for Windows builds
|
||||
archiveFiles: []archiveFile{
|
||||
{src: "{{binary}}", dst: "{{binary}}", perm: 0755},
|
||||
{src: "cmd/strelaypoolsrv/README.md", dst: "README.txt", perm: 0644},
|
||||
@@ -146,47 +168,13 @@ var targets = map[string]target{
|
||||
},
|
||||
installationFiles: []archiveFile{
|
||||
{src: "{{binary}}", dst: "deb/usr/bin/{{binary}}", perm: 0755},
|
||||
{src: "cmd/strelaypoolsrv/README.md", dst: "deb/usr/share/doc/relaysrv/README.txt", perm: 0644},
|
||||
{src: "cmd/strelaypoolsrv/LICENSE", dst: "deb/usr/share/doc/relaysrv/LICENSE.txt", perm: 0644},
|
||||
{src: "AUTHORS", dst: "deb/usr/share/doc/relaysrv/AUTHORS.txt", perm: 0644},
|
||||
{src: "cmd/strelaypoolsrv/README.md", dst: "deb/usr/share/doc/syncthing-relaypoolsrv/README.txt", perm: 0644},
|
||||
{src: "cmd/strelaypoolsrv/LICENSE", dst: "deb/usr/share/doc/syncthing-relaypoolsrv/LICENSE.txt", perm: 0644},
|
||||
{src: "AUTHORS", dst: "deb/usr/share/doc/syncthing-relaypoolsrv/AUTHORS.txt", perm: 0644},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
var (
|
||||
// fast linters complete in a fraction of a second and might as well be
|
||||
// run always as part of the build
|
||||
fastLinters = []string{
|
||||
"deadcode",
|
||||
"golint",
|
||||
"ineffassign",
|
||||
"vet",
|
||||
}
|
||||
|
||||
// slow linters take several seconds and are run only as part of the
|
||||
// "metalint" command.
|
||||
slowLinters = []string{
|
||||
"gosimple",
|
||||
"staticcheck",
|
||||
"structcheck",
|
||||
"unused",
|
||||
"varcheck",
|
||||
}
|
||||
|
||||
// Which parts of the tree to lint
|
||||
lintDirs = []string{".", "./lib/...", "./cmd/..."}
|
||||
|
||||
// Messages to ignore
|
||||
lintExcludes = []string{
|
||||
".pb.go",
|
||||
"should have comment",
|
||||
"protocol.Vector composite literal uses unkeyed fields",
|
||||
"cli.Requires composite literal uses unkeyed fields",
|
||||
"Use DialContext instead", // Go 1.7
|
||||
"os.SEEK_SET is deprecated", // Go 1.7
|
||||
}
|
||||
)
|
||||
|
||||
func init() {
|
||||
// The "syncthing" target includes a few more files found in the "etc"
|
||||
// and "extra" dirs.
|
||||
@@ -203,12 +191,11 @@ func init() {
|
||||
targets["syncthing"] = syncthingPkg
|
||||
}
|
||||
|
||||
const minGoVersion = 1.5
|
||||
|
||||
func main() {
|
||||
log.SetOutput(os.Stdout)
|
||||
log.SetFlags(0)
|
||||
|
||||
parseFlags()
|
||||
|
||||
if debug {
|
||||
t0 := time.Now()
|
||||
defer func() {
|
||||
@@ -216,21 +203,26 @@ func main() {
|
||||
}()
|
||||
}
|
||||
|
||||
if os.Getenv("GOPATH") == "" {
|
||||
setGoPath()
|
||||
if gopath() == "" {
|
||||
gopath, err := temporaryBuildDir()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if !noBuildGopath {
|
||||
lazyRebuildAssets()
|
||||
if err := buildGOPATH(gopath); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
os.Setenv("GOPATH", gopath)
|
||||
log.Println("GOPATH is", gopath)
|
||||
}
|
||||
|
||||
// We use Go 1.5+ vendoring.
|
||||
os.Setenv("GO15VENDOREXPERIMENT", "1")
|
||||
|
||||
// Set path to $GOPATH/bin:$PATH so that we can for sure find tools we
|
||||
// might have installed during "build.go setup".
|
||||
os.Setenv("PATH", fmt.Sprintf("%s%cbin%c%s", os.Getenv("GOPATH"), os.PathSeparator, os.PathListSeparator, os.Getenv("PATH")))
|
||||
|
||||
parseFlags()
|
||||
|
||||
checkArchitecture()
|
||||
goVersion, _ = checkRequiredGoVersion()
|
||||
|
||||
// Invoking build.go with no parameters at all builds everything (incrementally),
|
||||
// which is what you want for maximum error checking during development.
|
||||
@@ -255,7 +247,7 @@ func main() {
|
||||
|
||||
func checkArchitecture() {
|
||||
switch goarch {
|
||||
case "386", "amd64", "arm", "arm64", "ppc64", "ppc64le":
|
||||
case "386", "amd64", "arm", "arm64", "ppc64", "ppc64le", "mips", "mipsle":
|
||||
break
|
||||
default:
|
||||
log.Printf("Unknown goarch %q; proceed with caution!", goarch)
|
||||
@@ -272,22 +264,23 @@ func runCommand(cmd string, target target) {
|
||||
if noupgrade {
|
||||
tags = []string{"noupgrade"}
|
||||
}
|
||||
tags = append(tags, strings.Fields(extraTags)...)
|
||||
install(target, tags)
|
||||
metalint(fastLinters, lintDirs)
|
||||
metalintShort()
|
||||
|
||||
case "build":
|
||||
var tags []string
|
||||
if noupgrade {
|
||||
tags = []string{"noupgrade"}
|
||||
}
|
||||
tags = append(tags, strings.Fields(extraTags)...)
|
||||
build(target, tags)
|
||||
metalint(fastLinters, lintDirs)
|
||||
|
||||
case "test":
|
||||
test("./lib/...", "./cmd/...")
|
||||
test("github.com/syncthing/syncthing/lib/...", "github.com/syncthing/syncthing/cmd/...")
|
||||
|
||||
case "bench":
|
||||
bench("./lib/...", "./cmd/...")
|
||||
bench("github.com/syncthing/syncthing/lib/...", "github.com/syncthing/syncthing/cmd/...")
|
||||
|
||||
case "assets":
|
||||
rebuildAssets()
|
||||
@@ -317,67 +310,41 @@ func runCommand(cmd string, target target) {
|
||||
clean()
|
||||
|
||||
case "vet":
|
||||
metalint(fastLinters, lintDirs)
|
||||
metalintShort()
|
||||
|
||||
case "lint":
|
||||
metalint(fastLinters, lintDirs)
|
||||
metalintShort()
|
||||
|
||||
case "metalint":
|
||||
metalint(fastLinters, lintDirs)
|
||||
metalint(slowLinters, lintDirs)
|
||||
metalint()
|
||||
|
||||
case "version":
|
||||
fmt.Println(getVersion())
|
||||
|
||||
case "gopath":
|
||||
gopath, err := temporaryBuildDir()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
fmt.Println(gopath)
|
||||
|
||||
default:
|
||||
log.Fatalf("Unknown command %q", cmd)
|
||||
}
|
||||
}
|
||||
|
||||
// setGoPath sets GOPATH correctly with the assumption that we are
|
||||
// in $GOPATH/src/github.com/syncthing/syncthing.
|
||||
func setGoPath() {
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
gopath := filepath.Clean(filepath.Join(cwd, "../../../../"))
|
||||
log.Println("GOPATH is", gopath)
|
||||
os.Setenv("GOPATH", gopath)
|
||||
}
|
||||
|
||||
func parseFlags() {
|
||||
flag.StringVar(&goarch, "goarch", runtime.GOARCH, "GOARCH")
|
||||
flag.StringVar(&goos, "goos", runtime.GOOS, "GOOS")
|
||||
flag.BoolVar(&noupgrade, "no-upgrade", noupgrade, "Disable upgrade functionality")
|
||||
flag.StringVar(&version, "version", getVersion(), "Set compiled in version string")
|
||||
flag.BoolVar(&race, "race", race, "Use race detector")
|
||||
flag.BoolVar(&noBuildGopath, "no-build-gopath", noBuildGopath, "Don't build GOPATH, assume it's OK")
|
||||
flag.StringVar(&extraTags, "tags", extraTags, "Extra tags, space separated")
|
||||
flag.StringVar(&installSuffix, "installsuffix", installSuffix, "Install suffix, optional")
|
||||
flag.Parse()
|
||||
}
|
||||
|
||||
func checkRequiredGoVersion() (float64, bool) {
|
||||
re := regexp.MustCompile(`go(\d+\.\d+)`)
|
||||
ver := runtime.Version()
|
||||
if m := re.FindStringSubmatch(ver); len(m) == 2 {
|
||||
vs := string(m[1])
|
||||
// This is a standard go build. Verify that it's new enough.
|
||||
f, err := strconv.ParseFloat(vs, 64)
|
||||
if err != nil {
|
||||
log.Printf("*** Couldn't parse Go version out of %q.\n*** This isn't known to work, proceed on your own risk.", vs)
|
||||
return 0, false
|
||||
}
|
||||
if f < 1.5 {
|
||||
log.Printf("*** Go version %.01f doesn't support the vendoring mechanism.\n*** Ensure correct dependencies in your $GOPATH.", f)
|
||||
} else if f < minGoVersion {
|
||||
log.Fatalf("*** Go version %.01f is less than required %.01f.\n*** This is known not to work, not proceeding.", f, minGoVersion)
|
||||
}
|
||||
return f, true
|
||||
}
|
||||
|
||||
log.Printf("*** Unknown Go version %q.\n*** This isn't known to work, proceed on your own risk.", ver)
|
||||
return 0, false
|
||||
}
|
||||
|
||||
func setup() {
|
||||
packages := []string{
|
||||
"github.com/alecthomas/gometalinter",
|
||||
@@ -401,7 +368,7 @@ func setup() {
|
||||
runPrint("go", "get", "-u", pkg)
|
||||
}
|
||||
|
||||
runPrint("go", "install", "-v", "./vendor/github.com/gogo/protobuf/protoc-gen-gogofast")
|
||||
runPrint("go", "install", "-v", "github.com/syncthing/syncthing/vendor/github.com/gogo/protobuf/protoc-gen-gogofast")
|
||||
}
|
||||
|
||||
func test(pkgs ...string) {
|
||||
@@ -440,6 +407,9 @@ func install(target target, tags []string) {
|
||||
if len(tags) > 0 {
|
||||
args = append(args, "-tags", strings.Join(tags, " "))
|
||||
}
|
||||
if installSuffix != "" {
|
||||
args = append(args, "-installsuffix", installSuffix)
|
||||
}
|
||||
if race {
|
||||
args = append(args, "-race")
|
||||
}
|
||||
@@ -455,11 +425,14 @@ func build(target target, tags []string) {
|
||||
|
||||
tags = append(target.tags, tags...)
|
||||
|
||||
rmr(target.binaryName)
|
||||
rmr(target.BinaryName())
|
||||
args := []string{"build", "-i", "-v", "-ldflags", ldflags()}
|
||||
if len(tags) > 0 {
|
||||
args = append(args, "-tags", strings.Join(tags, " "))
|
||||
}
|
||||
if installSuffix != "" {
|
||||
args = append(args, "-installsuffix", installSuffix)
|
||||
}
|
||||
if race {
|
||||
args = append(args, "-race")
|
||||
}
|
||||
@@ -483,22 +456,20 @@ func buildTar(target target) {
|
||||
build(target, tags)
|
||||
|
||||
if goos == "darwin" {
|
||||
macosCodesign(target.binaryName)
|
||||
macosCodesign(target.BinaryName())
|
||||
}
|
||||
|
||||
for i := range target.archiveFiles {
|
||||
target.archiveFiles[i].src = strings.Replace(target.archiveFiles[i].src, "{{binary}}", target.binaryName, 1)
|
||||
target.archiveFiles[i].dst = strings.Replace(target.archiveFiles[i].dst, "{{binary}}", target.binaryName, 1)
|
||||
target.archiveFiles[i].src = strings.Replace(target.archiveFiles[i].src, "{{binary}}", target.BinaryName(), 1)
|
||||
target.archiveFiles[i].dst = strings.Replace(target.archiveFiles[i].dst, "{{binary}}", target.BinaryName(), 1)
|
||||
target.archiveFiles[i].dst = name + "/" + target.archiveFiles[i].dst
|
||||
}
|
||||
|
||||
tarGz(filename, target.archiveFiles)
|
||||
log.Println(filename)
|
||||
fmt.Println(filename)
|
||||
}
|
||||
|
||||
func buildZip(target target) {
|
||||
target.binaryName += ".exe"
|
||||
|
||||
name := archiveName(target)
|
||||
filename := name + ".zip"
|
||||
|
||||
@@ -511,13 +482,13 @@ func buildZip(target target) {
|
||||
build(target, tags)
|
||||
|
||||
for i := range target.archiveFiles {
|
||||
target.archiveFiles[i].src = strings.Replace(target.archiveFiles[i].src, "{{binary}}", target.binaryName, 1)
|
||||
target.archiveFiles[i].dst = strings.Replace(target.archiveFiles[i].dst, "{{binary}}", target.binaryName, 1)
|
||||
target.archiveFiles[i].src = strings.Replace(target.archiveFiles[i].src, "{{binary}}", target.BinaryName(), 1)
|
||||
target.archiveFiles[i].dst = strings.Replace(target.archiveFiles[i].dst, "{{binary}}", target.BinaryName(), 1)
|
||||
target.archiveFiles[i].dst = name + "/" + target.archiveFiles[i].dst
|
||||
}
|
||||
|
||||
zipFile(filename, target.archiveFiles)
|
||||
log.Println(filename)
|
||||
fmt.Println(filename)
|
||||
}
|
||||
|
||||
func buildDeb(target target) {
|
||||
@@ -537,8 +508,8 @@ func buildDeb(target target) {
|
||||
build(target, []string{"noupgrade"})
|
||||
|
||||
for i := range target.installationFiles {
|
||||
target.installationFiles[i].src = strings.Replace(target.installationFiles[i].src, "{{binary}}", target.binaryName, 1)
|
||||
target.installationFiles[i].dst = strings.Replace(target.installationFiles[i].dst, "{{binary}}", target.binaryName, 1)
|
||||
target.installationFiles[i].src = strings.Replace(target.installationFiles[i].src, "{{binary}}", target.BinaryName(), 1)
|
||||
target.installationFiles[i].dst = strings.Replace(target.installationFiles[i].dst, "{{binary}}", target.BinaryName(), 1)
|
||||
}
|
||||
|
||||
for _, af := range target.installationFiles {
|
||||
@@ -551,16 +522,31 @@ func buildDeb(target target) {
|
||||
debver := version
|
||||
if strings.HasPrefix(debver, "v") {
|
||||
debver = debver[1:]
|
||||
// Debian interprets dashes as separator between main version and
|
||||
// Debian package version, and thus thinks 0.14.26-rc.1 is better
|
||||
// than just 0.14.26. This rectifies that.
|
||||
debver = strings.Replace(debver, "-", "~", -1)
|
||||
}
|
||||
runPrint("fpm", "-t", "deb", "-s", "dir", "-C", "deb",
|
||||
"-n", "syncthing", "-v", debver, "-a", debarch,
|
||||
"--vendor", maintainer, "-m", maintainer,
|
||||
"-d", "libc6",
|
||||
"-d", "procps", // because postinst script
|
||||
args := []string{
|
||||
"-t", "deb",
|
||||
"-s", "dir",
|
||||
"-C", "deb",
|
||||
"-n", target.debname,
|
||||
"-v", debver,
|
||||
"-a", debarch,
|
||||
"-m", maintainer,
|
||||
"--vendor", maintainer,
|
||||
"--description", target.description,
|
||||
"--url", "https://syncthing.net/",
|
||||
"--description", "Open Source Continuous File Synchronization",
|
||||
"--after-upgrade", "script/post-upgrade",
|
||||
"--license", "MPL-2")
|
||||
"--license", "MPL-2",
|
||||
}
|
||||
for _, dep := range target.debdeps {
|
||||
args = append(args, "-d", dep)
|
||||
}
|
||||
if target.debpost != "" {
|
||||
args = append(args, "--after-upgrade", target.debpost)
|
||||
}
|
||||
runPrint("fpm", args...)
|
||||
}
|
||||
|
||||
func buildSnap(target target) {
|
||||
@@ -585,7 +571,7 @@ func buildSnap(target target) {
|
||||
snapver = snapver[1:]
|
||||
}
|
||||
snapgrade := "devel"
|
||||
if matched, _ := regexp.MatchString(`^\d+\.\d+\.\d+$`, snapver); matched {
|
||||
if matched, _ := regexp.MatchString(`^\d+\.\d+\.\d+(-rc.\d+)?$`, snapver); matched {
|
||||
snapgrade = "stable"
|
||||
}
|
||||
err = tmpl.Execute(f, map[string]string{
|
||||
@@ -601,21 +587,36 @@ func buildSnap(target target) {
|
||||
runPrint("snapcraft")
|
||||
}
|
||||
|
||||
// copyFile copies a file from src to dst, ensuring the containing directory
|
||||
// exists. The permission bits are copied as well. If dst already exists and
|
||||
// the contents are identical to src the modification time is not updated.
|
||||
func copyFile(src, dst string, perm os.FileMode) error {
|
||||
dstDir := filepath.Dir(dst)
|
||||
os.MkdirAll(dstDir, 0755) // ignore error
|
||||
srcFd, err := os.Open(src)
|
||||
in, err := ioutil.ReadFile(src)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer srcFd.Close()
|
||||
dstFd, err := os.OpenFile(dst, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, perm)
|
||||
|
||||
out, err := ioutil.ReadFile(dst)
|
||||
if err != nil {
|
||||
// The destination probably doesn't exist, we should create
|
||||
// it.
|
||||
goto copy
|
||||
}
|
||||
|
||||
if bytes.Equal(in, out) {
|
||||
// The permission bits may have changed without the contents
|
||||
// changing so we always mirror them.
|
||||
os.Chmod(dst, perm)
|
||||
return nil
|
||||
}
|
||||
|
||||
copy:
|
||||
os.MkdirAll(filepath.Dir(dst), 0777)
|
||||
if err := ioutil.WriteFile(dst, in, perm); err != nil {
|
||||
return err
|
||||
}
|
||||
defer dstFd.Close()
|
||||
_, err = io.Copy(dstFd, srcFd)
|
||||
return err
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func listFiles(dir string) []string {
|
||||
@@ -670,7 +671,7 @@ func shouldRebuildAssets(target, srcdir string) bool {
|
||||
}
|
||||
|
||||
func proto() {
|
||||
runPrint("go", "generate", "./lib/...")
|
||||
runPrint("go", "generate", "github.com/syncthing/syncthing/lib/...")
|
||||
}
|
||||
|
||||
func translate() {
|
||||
@@ -797,8 +798,9 @@ func getBranchSuffix() string {
|
||||
}
|
||||
|
||||
branch = parts[len(parts)-1]
|
||||
if branch == "master" {
|
||||
// master builds are the default.
|
||||
switch branch {
|
||||
case "master", "release":
|
||||
// these are not special
|
||||
return ""
|
||||
}
|
||||
|
||||
@@ -922,7 +924,10 @@ func tarGz(out string, files []archiveFile) {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
gw := gzip.NewWriter(fd)
|
||||
gw, err := gzip.NewWriterLevel(fd, gzip.BestCompression)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
tw := tar.NewWriter(gw)
|
||||
|
||||
for _, f := range files {
|
||||
@@ -975,6 +980,21 @@ func zipFile(out string, files []archiveFile) {
|
||||
|
||||
zw := zip.NewWriter(fd)
|
||||
|
||||
var fw *flate.Writer
|
||||
|
||||
// Register the deflator.
|
||||
zw.RegisterCompressor(zip.Deflate, func(out io.Writer) (io.WriteCloser, error) {
|
||||
var err error
|
||||
if fw == nil {
|
||||
// Creating a flate compressor for every file is
|
||||
// expensive, create one and reuse it.
|
||||
fw, err = flate.NewWriter(out, flate.BestCompression)
|
||||
} else {
|
||||
fw.Reset(out)
|
||||
}
|
||||
return fw, err
|
||||
})
|
||||
|
||||
for _, f := range files {
|
||||
sf, err := os.Open(f.src)
|
||||
if err != nil {
|
||||
@@ -1050,59 +1070,129 @@ func macosCodesign(file string) {
|
||||
}
|
||||
}
|
||||
|
||||
func metalint(linters []string, dirs []string) {
|
||||
ok := true
|
||||
if isGometalinterInstalled() {
|
||||
if !gometalinter(linters, dirs, lintExcludes...) {
|
||||
ok = false
|
||||
}
|
||||
}
|
||||
if !ok {
|
||||
log.Fatal("Build succeeded, but there were lint warnings")
|
||||
}
|
||||
func metalint() {
|
||||
lazyRebuildAssets()
|
||||
runPrint("go", "test", "-run", "Metalint", "./meta")
|
||||
}
|
||||
|
||||
func isGometalinterInstalled() bool {
|
||||
if _, err := runError("gometalinter", "--disable-all"); err != nil {
|
||||
log.Println("gometalinter is not installed")
|
||||
return false
|
||||
}
|
||||
return true
|
||||
func metalintShort() {
|
||||
lazyRebuildAssets()
|
||||
runPrint("go", "test", "-short", "-run", "Metalint", "./meta")
|
||||
}
|
||||
|
||||
func gometalinter(linters []string, dirs []string, excludes ...string) bool {
|
||||
params := []string{"--disable-all", "--concurrency=2", "--deadline=300s"}
|
||||
func temporaryBuildDir() (string, error) {
|
||||
// The base of our temp dir is "syncthing-xxxxxxxx" where the x:es
|
||||
// are eight bytes from the sha256 of our working directory. We do
|
||||
// this because we want a name in the global temp dir that doesn't
|
||||
// conflict with someone else building syncthing on the same
|
||||
// machine, yet is persistent between runs from the same source
|
||||
// directory.
|
||||
wd, err := os.Getwd()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
hash := sha256.Sum256([]byte(wd))
|
||||
base := fmt.Sprintf("syncthing-%x", hash[:4])
|
||||
|
||||
for _, linter := range linters {
|
||||
params = append(params, "--enable="+linter)
|
||||
// The temp dir is taken from $STTMPDIR if set, otherwise the system
|
||||
// default (potentially infrluenced by $TMPDIR on unixes).
|
||||
var tmpDir string
|
||||
if t := os.Getenv("STTMPDIR"); t != "" {
|
||||
tmpDir = t
|
||||
} else {
|
||||
tmpDir = os.TempDir()
|
||||
}
|
||||
|
||||
for _, exclude := range excludes {
|
||||
params = append(params, "--exclude="+exclude)
|
||||
return filepath.Join(tmpDir, base), nil
|
||||
}
|
||||
|
||||
func buildGOPATH(gopath string) error {
|
||||
pkg := filepath.Join(gopath, "src/github.com/syncthing/syncthing")
|
||||
dirs := []string{"cmd", "lib", "meta", "script", "test", "vendor"}
|
||||
|
||||
if debug {
|
||||
t0 := time.Now()
|
||||
log.Println("build temporary GOPATH in", gopath)
|
||||
defer func() {
|
||||
log.Println("... in", time.Since(t0))
|
||||
}()
|
||||
}
|
||||
|
||||
// Walk the sources and copy the files into the temporary GOPATH.
|
||||
// Remember which files are supposed to be present so we can clean
|
||||
// out everything else in the next step. The copyFile() step will
|
||||
// only actually copy the file if it doesn't exist or the contents
|
||||
// differ.
|
||||
|
||||
exists := map[string]struct{}{}
|
||||
for _, dir := range dirs {
|
||||
params = append(params, dir)
|
||||
err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if info.IsDir() {
|
||||
return nil
|
||||
}
|
||||
|
||||
dst := filepath.Join(pkg, path)
|
||||
exists[dst] = struct{}{}
|
||||
|
||||
if err := copyFile(path, dst, info.Mode()); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
bs, _ := runError("gometalinter", params...)
|
||||
// Walk the temporary GOPATH and remove any files that we wouldn't
|
||||
// have copied there in the previous step.
|
||||
|
||||
nerr := 0
|
||||
lines := make(map[string]struct{})
|
||||
for _, line := range strings.Split(string(bs), "\n") {
|
||||
if line == "" {
|
||||
continue
|
||||
filepath.Walk(pkg, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if _, ok := lines[line]; ok {
|
||||
continue
|
||||
if info.IsDir() {
|
||||
return nil
|
||||
}
|
||||
log.Println(line)
|
||||
if strings.Contains(line, "executable file not found") {
|
||||
log.Println(` - Try "go run build.go setup" to install missing tools`)
|
||||
if _, ok := exists[path]; !ok {
|
||||
os.Remove(path)
|
||||
}
|
||||
lines[line] = struct{}{}
|
||||
nerr++
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
return nerr == 0
|
||||
return nil
|
||||
}
|
||||
|
||||
func gopath() string {
|
||||
if gopath := os.Getenv("GOPATH"); gopath != "" {
|
||||
// The env var is set, use that.
|
||||
return gopath
|
||||
}
|
||||
|
||||
// Ask Go what it thinks.
|
||||
bs, err := runError("go", "env", "GOPATH")
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
|
||||
// We got something. Check if we are in fact available in that location.
|
||||
gopath := string(bs)
|
||||
if _, err := os.Stat(filepath.Join(gopath, "src/github.com/syncthing/syncthing/build.go")); err == nil {
|
||||
// That seems to be the gopath.
|
||||
return gopath
|
||||
}
|
||||
|
||||
// The gopath is not valid.
|
||||
return ""
|
||||
}
|
||||
|
||||
func (t target) BinaryName() string {
|
||||
if goos == "windows" {
|
||||
return t.binaryName + ".exe"
|
||||
}
|
||||
return t.binaryName
|
||||
}
|
||||
|
||||
38
build.sh
38
build.sh
@@ -61,9 +61,9 @@ case "${1:-default}" in
|
||||
prerelease)
|
||||
go run script/authors.go
|
||||
build transifex
|
||||
git add -A gui/default/assets/ lib/auto/
|
||||
pushd man ; ./refresh.sh ; popd
|
||||
git add -A man
|
||||
git add -A gui man
|
||||
git commit -m 'gui, man: Update docs & translations'
|
||||
;;
|
||||
|
||||
noupgrade)
|
||||
@@ -93,40 +93,6 @@ case "${1:-default}" in
|
||||
done
|
||||
;;
|
||||
|
||||
test-cov)
|
||||
ulimit -t 600 &>/dev/null || true
|
||||
ulimit -d 512000 &>/dev/null || true
|
||||
ulimit -m 512000 &>/dev/null || true
|
||||
|
||||
echo "mode: set" > coverage.out
|
||||
fail=0
|
||||
|
||||
# For every package in the repo
|
||||
for dir in $(go list ./lib/... ./cmd/...) ; do
|
||||
# run the tests
|
||||
GOPATH="$(pwd)/Godeps/_workspace:$GOPATH" go test -coverprofile=profile.out $dir
|
||||
if [ -f profile.out ] ; then
|
||||
# and if there was test output, append it to coverage.out
|
||||
grep -v "mode: " profile.out >> coverage.out
|
||||
rm profile.out
|
||||
fi
|
||||
done
|
||||
|
||||
notCovered=$(egrep -c '\s0$' coverage.out)
|
||||
total=$(wc -l coverage.out | awk '{print $1}')
|
||||
coverPct=$(awk "BEGIN{print (1 - $notCovered / $total) * 100}")
|
||||
echo "Total coverage is $coverPct%"
|
||||
|
||||
gocov convert coverage.out | gocov-xml > coverage.xml
|
||||
|
||||
# This is usually run from within Jenkins. If it is, we need to
|
||||
# tweak the paths in coverage.xml so cobertura finds the
|
||||
# source.
|
||||
if [[ "${WORKSPACE:-default}" != "default" ]] ; then
|
||||
sed "s#$WORKSPACE##g" < coverage.xml > coverage.xml.new && mv coverage.xml.new coverage.xml
|
||||
fi
|
||||
;;
|
||||
|
||||
test-xunit)
|
||||
ulimit -t 600 &>/dev/null || true
|
||||
ulimit -d 512000 &>/dev/null || true
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
// This doesn't build on Windows due to the Rusage stuff.
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
syncthing-cli
|
||||
=============
|
||||
|
||||
[](http://build.syncthing.net/job/syncthing-cli/lastBuild/)
|
||||
|
||||
A CLI that talks to the Syncthing REST interface.
|
||||
|
||||
`go get github.com/syncthing/syncthing-cli`
|
||||
|
||||
Or download the [latest build](http://build.syncthing.net/job/syncthing-cli/lastSuccessfulBuild/artifact/).
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
|
||||
"github.com/AudriusButkevicius/cli"
|
||||
"github.com/syncthing/syncthing/lib/config"
|
||||
"github.com/syncthing/syncthing/lib/fs"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -102,8 +103,10 @@ func foldersList(c *cli.Context) {
|
||||
if !first {
|
||||
fmt.Fprintln(writer)
|
||||
}
|
||||
fs := folder.Filesystem()
|
||||
fmt.Fprintln(writer, "ID:\t", folder.ID, "\t")
|
||||
fmt.Fprintln(writer, "Path:\t", folder.RawPath, "\t(directory)")
|
||||
fmt.Fprintln(writer, "Path:\t", fs.URI(), "\t(directory)")
|
||||
fmt.Fprintln(writer, "Path type:\t", fs.Type(), "\t(directory-type)")
|
||||
fmt.Fprintln(writer, "Folder type:\t", folder.Type, "\t(type)")
|
||||
fmt.Fprintln(writer, "Ignore permissions:\t", folder.IgnorePerms, "\t(permissions)")
|
||||
fmt.Fprintln(writer, "Rescan interval in seconds:\t", folder.RescanIntervalS, "\t(rescan)")
|
||||
@@ -124,8 +127,9 @@ func foldersAdd(c *cli.Context) {
|
||||
abs, err := filepath.Abs(c.Args()[1])
|
||||
die(err)
|
||||
folder := config.FolderConfiguration{
|
||||
ID: c.Args()[0],
|
||||
RawPath: filepath.Clean(abs),
|
||||
ID: c.Args()[0],
|
||||
Path: filepath.Clean(abs),
|
||||
FilesystemType: fs.FilesystemTypeBasic,
|
||||
}
|
||||
cfg.Folders = append(cfg.Folders, folder)
|
||||
setConfig(c, cfg)
|
||||
@@ -185,7 +189,9 @@ func foldersGet(c *cli.Context) {
|
||||
}
|
||||
switch arg {
|
||||
case "directory":
|
||||
fmt.Println(folder.RawPath)
|
||||
fmt.Println(folder.Filesystem().URI())
|
||||
case "directory-type":
|
||||
fmt.Println(folder.Filesystem().Type())
|
||||
case "type":
|
||||
fmt.Println(folder.Type)
|
||||
case "permissions":
|
||||
@@ -197,7 +203,7 @@ func foldersGet(c *cli.Context) {
|
||||
fmt.Println(folder.Versioning.Type)
|
||||
}
|
||||
default:
|
||||
die("Invalid property: " + c.Args()[1] + "\nAvailable properties: directory, type, permissions, versioning, versioning-<key>")
|
||||
die("Invalid property: " + c.Args()[1] + "\nAvailable properties: directory, directory-type, type, permissions, versioning, versioning-<key>")
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -220,7 +226,11 @@ func foldersSet(c *cli.Context) {
|
||||
}
|
||||
switch arg {
|
||||
case "directory":
|
||||
cfg.Folders[i].RawPath = val
|
||||
cfg.Folders[i].Path = val
|
||||
case "directory-type":
|
||||
var fsType fs.FilesystemType
|
||||
fsType.UnmarshalText([]byte(val))
|
||||
cfg.Folders[i].FilesystemType = fsType
|
||||
case "type":
|
||||
var t config.FolderType
|
||||
if err := t.UnmarshalText([]byte(val)); err != nil {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
@@ -15,8 +15,6 @@ import (
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/syncthing/syncthing/lib/symlinks"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -104,7 +102,7 @@ func startWalker(dir string, res chan<- fileInfo, abort <-chan struct{}) chan er
|
||||
mode: os.ModeSymlink,
|
||||
}
|
||||
|
||||
tgt, _, err := symlinks.Read(path)
|
||||
tgt, err := os.Readlink(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -1,14 +1,8 @@
|
||||
stdiscosrv
|
||||
==========
|
||||
|
||||
[](http://build.syncthing.net/job/stdiscosrv/lastBuild/)
|
||||
|
||||
This is the global discovery server for the `syncthing` project.
|
||||
|
||||
To get it, run `go get github.com/syncthing/stdiscosrv` or download the
|
||||
[latest build](http://build.syncthing.net/job/stdiscosrv/lastSuccessfulBuild/artifact/)
|
||||
from the build server.
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"flag"
|
||||
"log"
|
||||
"os"
|
||||
@@ -70,7 +71,7 @@ func main() {
|
||||
if *standardBlocks || blockSize < protocol.BlockSize {
|
||||
blockSize = protocol.BlockSize
|
||||
}
|
||||
bs, err := scanner.Blocks(fd, blockSize, fi.Size(), nil, true)
|
||||
bs, err := scanner.Blocks(context.TODO(), fd, blockSize, fi.Size(), nil, true)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
|
||||
"github.com/syncthing/syncthing/lib/osutil"
|
||||
"github.com/syncthing/syncthing/lib/fs"
|
||||
)
|
||||
|
||||
func nulString(bs []byte) string {
|
||||
@@ -33,7 +33,7 @@ func defaultConfigDir() string {
|
||||
return filepath.Join(os.Getenv("AppData"), "Syncthing")
|
||||
|
||||
case "darwin":
|
||||
dir, err := osutil.ExpandTilde("~/Library/Application Support/Syncthing")
|
||||
dir, err := fs.ExpandTilde("~/Library/Application Support/Syncthing")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -43,7 +43,7 @@ func defaultConfigDir() string {
|
||||
if xdgCfg := os.Getenv("XDG_CONFIG_HOME"); xdgCfg != "" {
|
||||
return filepath.Join(xdgCfg, "syncthing")
|
||||
}
|
||||
dir, err := osutil.ExpandTilde("~/.config/syncthing")
|
||||
dir, err := fs.ExpandTilde("~/.config/syncthing")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
# relaypoolsrv
|
||||
|
||||
[](http://build.syncthing.net/job/relaypoolsrv/lastBuild/)
|
||||
This is the relay pool server for the `syncthing` project, which allows
|
||||
community hosted [relaysrv](https://github.com/syncthing/relaysrv)'s to join
|
||||
the public pool.
|
||||
|
||||
This is the relay pool server for the `syncthing` project, which allows community hosted [relaysrv](https://github.com/syncthing/relaysrv)'s to join the public pool.
|
||||
Servers that join the pool are then advertised to users of `syncthing` as
|
||||
potential connection points for those who are unable to connect directly due
|
||||
to NAT or firewall issues.
|
||||
|
||||
Servers that join the pool are then advertised to users of `syncthing` as potential connection points for those who are unable to connect directly due to NAT or firewall issues.
|
||||
|
||||
There is very little reason why you'd want to run this yourself, as `relaypoolsrv` is just used for announcement and lookup of public relay servers. If you are looking to setup a private or a public relay, please check the documentation for [relaysrv](https://github.com/syncthing/relaysrv), which also explains how to join the default public pool.
|
||||
|
||||
If you still want to run it, you can run `go get github.com/syncthing/relaypoolsrv` download it or download the
|
||||
[latest build](http://build.syncthing.net/job/relaypoolsrv/lastSuccessfulBuild/artifact/)
|
||||
from the build server.
|
||||
There is very little reason why you'd want to run this yourself, as
|
||||
`relaypoolsrv` is just used for announcement and lookup of public relay
|
||||
servers. If you are looking to setup a private or a public relay, please
|
||||
check the documentation for
|
||||
[relaysrv](https://github.com/syncthing/relaysrv), which also explains how
|
||||
to join the default public pool.
|
||||
|
||||
See `relaypoolsrv -help` for configuration options.
|
||||
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
|
||||
<html lang="en" ng-app="syncthing" ng-controller="relayDataController">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<meta charset="utf-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta name="description" content=""/>
|
||||
<meta name="author" content=""/>
|
||||
|
||||
<title>Relay stats</title>
|
||||
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css">
|
||||
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
|
||||
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css"/>
|
||||
|
||||
<style>
|
||||
#map {
|
||||
@@ -36,9 +36,9 @@
|
||||
|
||||
<body class="ng-cloak">
|
||||
<div class="container">
|
||||
<h1>Relay Pool Data</h2>
|
||||
<h1>Relay Pool Data</h1>
|
||||
<div ng-if="relays === undefined" class="text-center">
|
||||
<img src="//cdnjs.cloudflare.com/ajax/libs/galleriffic/2.0.1/css/loader.gif"/>
|
||||
<img src="//cdnjs.cloudflare.com/ajax/libs/galleriffic/2.0.1/css/loader.gif" alt=""/>
|
||||
<p>Please wait while we gather data</p>
|
||||
</div>
|
||||
<div>
|
||||
@@ -48,7 +48,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div id="map"></div> <!-- Can't hide the map, otherwise it freaks out -->
|
||||
<p>The circle size represents how much bytes the relay transfered relative to other relays</p>
|
||||
<p>The circle size represents how much bytes the relay transferred relative to other relays</p>
|
||||
</div>
|
||||
<div>
|
||||
<table class="table table-striped table-condensed table">
|
||||
@@ -138,7 +138,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="relay in relays | orderBy:sortType:sortReverse:sortCompare">
|
||||
<tr ng-repeat="relay in relays | orderBy:sortType:sortReverse:sortCompare" ng-mouseover="relay.showMarker()" ng-mouseleave="relay.hideMarker()">
|
||||
<td>{{ relay.address }}</td>
|
||||
<td ng-if="relay.status === undefined" colspan="11" class="text-center">Looking up...</td>
|
||||
<td ng-if-start="relay.status !== undefined">{{ relay.status.numActiveSessions }}</td>
|
||||
@@ -184,10 +184,10 @@
|
||||
</div>
|
||||
|
||||
|
||||
<script src="//code.jquery.com/jquery-2.1.4.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.min.js"></script>
|
||||
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||||
<script src="//maps.googleapis.com/maps/api/js"></script>
|
||||
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.4.min.js"></script>
|
||||
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.min.js"></script>
|
||||
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="//maps.googleapis.com/maps/api/js"></script>
|
||||
</body>
|
||||
|
||||
<script>
|
||||
@@ -307,13 +307,16 @@
|
||||
content: $compile($scope.tooltipTemplate)(scope)[0],
|
||||
});
|
||||
|
||||
relay.marker.addListener('mouseover', function() {
|
||||
relay.showMarker = function() {
|
||||
relay.marker.info.open($scope.map, relay.marker);
|
||||
});
|
||||
}
|
||||
|
||||
relay.marker.addListener('mouseout', function() {
|
||||
relay.hideMarker = function() {
|
||||
relay.marker.info.close();
|
||||
});
|
||||
}
|
||||
|
||||
relay.marker.addListener('mouseover', relay.showMarker);
|
||||
relay.marker.addListener('mouseout', relay.hideMarker);
|
||||
|
||||
$scope.mapBounds.extend(relay.marker.position);
|
||||
}
|
||||
@@ -392,12 +395,12 @@
|
||||
<span ng-if="relay.status.options['global-rate'] != undefined">
|
||||
<span ng-if="relay.status.options['global-rate'] > 0">Global rate limit: {{ relay.status.options['global-rate'] | bytes }}/s</span>
|
||||
<span ng-if="relay.status.options['global-rate'] == 0">Global rate limit: unlimited</span>
|
||||
</br>
|
||||
<br/>
|
||||
</span>
|
||||
<span ng-if="relay.status.options['per-session-rate'] != undefined">
|
||||
<span ng-if="relay.status.options['per-session-rate'] > 0">Session rate limit: {{ relay.status.options['per-session-rate'] | bytes }}/s</span>
|
||||
<span ng-if="relay.status.options['per-session-rate'] == 0">Session rate limit: unlimited</span>
|
||||
</br>
|
||||
<br/>
|
||||
</span>
|
||||
</div>
|
||||
<div ng-if="!relay.status">
|
||||
|
||||
@@ -1,18 +1,12 @@
|
||||
strelaysrv
|
||||
==========
|
||||
|
||||
[](http://build.syncthing.net/job/strelaysrv/lastBuild/)
|
||||
|
||||
This is the relay server for the `syncthing` project.
|
||||
|
||||
To get it, run `go get github.com/syncthing/syncthing/cmd/strelaysrv` or download the
|
||||
[latest build](http://build.syncthing.net/job/strelaysrv/lastSuccessfulBuild/artifact/)
|
||||
from the build server.
|
||||
|
||||
:exclamation:Warnings:exclamation: - Read or regret
|
||||
-----
|
||||
|
||||
By default, all relay servers will join to the default public relay pool, which means that the relay server will be availble for public use, and **will consume your bandwidth** helping others to connect.
|
||||
By default, all relay servers will join to the default public relay pool, which means that the relay server will be available for public use, and **will consume your bandwidth** helping others to connect.
|
||||
|
||||
If you wish to disable this behaviour, please specify the `-pools=""` argument.
|
||||
|
||||
|
||||
@@ -59,6 +59,13 @@ func listener(proto, addr string, config *tls.Config) {
|
||||
|
||||
func protocolConnectionHandler(tcpConn net.Conn, config *tls.Config) {
|
||||
conn := tls.Server(tcpConn, config)
|
||||
if err := conn.SetDeadline(time.Now().Add(messageTimeout)); err != nil {
|
||||
if debug {
|
||||
log.Println("Weird error setting deadline:", err, "on", conn.RemoteAddr())
|
||||
}
|
||||
conn.Close()
|
||||
return
|
||||
}
|
||||
err := conn.Handshake()
|
||||
if err != nil {
|
||||
if debug {
|
||||
@@ -81,6 +88,7 @@ func protocolConnectionHandler(tcpConn net.Conn, config *tls.Config) {
|
||||
conn.Close()
|
||||
return
|
||||
}
|
||||
conn.SetDeadline(time.Time{})
|
||||
|
||||
id := syncthingprotocol.NewDeviceID(certs[0].Raw)
|
||||
|
||||
@@ -277,6 +285,7 @@ func sessionConnectionHandler(conn net.Conn) {
|
||||
if debug {
|
||||
log.Println("Weird error setting deadline:", err, "on", conn.RemoteAddr())
|
||||
}
|
||||
conn.Close()
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -16,8 +16,16 @@ var rc *rateCalculator
|
||||
func statusService(addr string) {
|
||||
rc = newRateCalculator(360, 10*time.Second, &bytesProxied)
|
||||
|
||||
http.HandleFunc("/status", getStatus)
|
||||
if err := http.ListenAndServe(addr, nil); err != nil {
|
||||
handler := http.NewServeMux()
|
||||
handler.HandleFunc("/status", getStatus)
|
||||
|
||||
srv := http.Server{
|
||||
Addr: addr,
|
||||
Handler: handler,
|
||||
ReadTimeout: 15 * time.Second,
|
||||
}
|
||||
srv.SetKeepAlivesEnabled(false)
|
||||
if err := srv.ListenAndServe(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
@@ -20,13 +20,13 @@ func TestAuditService(t *testing.T) {
|
||||
service := newAuditService(buf)
|
||||
|
||||
// Event sent before start, will not be logged
|
||||
events.Default.Log(events.Ping, "the first event")
|
||||
events.Default.Log(events.ConfigSaved, "the first event")
|
||||
|
||||
go service.Serve()
|
||||
service.WaitForStart()
|
||||
|
||||
// Event that should end up in the audit log
|
||||
events.Default.Log(events.Ping, "the second event")
|
||||
events.Default.Log(events.ConfigSaved, "the second event")
|
||||
|
||||
// We need to give the events time to arrive, since the channels are buffered etc.
|
||||
time.Sleep(10 * time.Millisecond)
|
||||
@@ -35,7 +35,7 @@ func TestAuditService(t *testing.T) {
|
||||
service.WaitForStop()
|
||||
|
||||
// This event should not be logged, since we have stopped.
|
||||
events.Default.Log(events.Ping, "the third event")
|
||||
events.Default.Log(events.ConfigSaved, "the third event")
|
||||
|
||||
result := string(buf.Bytes())
|
||||
t.Log(result)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
13
cmd/syncthing/buildtag_noupgrade.go
Normal file
13
cmd/syncthing/buildtag_noupgrade.go
Normal file
@@ -0,0 +1,13 @@
|
||||
// Copyright (C) 2017 The Syncthing Authors.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
//+build noupgrade
|
||||
|
||||
package main
|
||||
|
||||
func init() {
|
||||
BuildTags = append(BuildTags, "noupgrade")
|
||||
}
|
||||
13
cmd/syncthing/buildtag_race.go
Normal file
13
cmd/syncthing/buildtag_race.go
Normal file
@@ -0,0 +1,13 @@
|
||||
// Copyright (C) 2017 The Syncthing Authors.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
//+build race
|
||||
|
||||
package main
|
||||
|
||||
func init() {
|
||||
BuildTags = append(BuildTags, "race")
|
||||
}
|
||||
59
cmd/syncthing/cpuusage.go
Normal file
59
cmd/syncthing/cpuusage.go
Normal file
@@ -0,0 +1,59 @@
|
||||
// Copyright (C) 2017 The Syncthing Authors.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"math"
|
||||
"time"
|
||||
|
||||
metrics "github.com/rcrowley/go-metrics"
|
||||
)
|
||||
|
||||
const cpuTickRate = 5 * time.Second
|
||||
|
||||
type cpuService struct {
|
||||
avg metrics.EWMA
|
||||
stop chan struct{}
|
||||
}
|
||||
|
||||
func newCPUService() *cpuService {
|
||||
return &cpuService{
|
||||
// 10 second average. Magic alpha value comes from looking at EWMA package
|
||||
// definitions of EWMA1, EWMA5. The tick rate *must* be five seconds (hard
|
||||
// coded in the EWMA package).
|
||||
avg: metrics.NewEWMA(1 - math.Exp(-float64(cpuTickRate)/float64(time.Second)/10.0)),
|
||||
stop: make(chan struct{}),
|
||||
}
|
||||
}
|
||||
|
||||
func (s *cpuService) Serve() {
|
||||
// Initialize prevUsage to an actual value returned by cpuUsage
|
||||
// instead of zero, because at least Windows returns a huge negative
|
||||
// number here that then slowly increments...
|
||||
prevUsage := cpuUsage()
|
||||
ticker := time.NewTicker(cpuTickRate)
|
||||
defer ticker.Stop()
|
||||
for {
|
||||
select {
|
||||
case <-ticker.C:
|
||||
curUsage := cpuUsage()
|
||||
s.avg.Update(int64((curUsage - prevUsage) / time.Millisecond))
|
||||
prevUsage = curUsage
|
||||
s.avg.Tick()
|
||||
case <-s.stop:
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (s *cpuService) Stop() {
|
||||
close(s.stop)
|
||||
}
|
||||
|
||||
func (s *cpuService) Rate() float64 {
|
||||
return s.avg.Rate()
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
//+build solaris
|
||||
|
||||
@@ -59,40 +59,20 @@ type prusage_t struct {
|
||||
|
||||
}
|
||||
|
||||
func solarisPrusage(pid int, rusage *prusage_t) error {
|
||||
fd, err := os.Open(fmt.Sprintf("/proc/%d/usage", pid))
|
||||
var procFile = fmt.Sprintf("/proc/%d/usage", os.Getpid())
|
||||
|
||||
func cpuUsage() time.Duration {
|
||||
fd, err := os.Open(procFile)
|
||||
if err != nil {
|
||||
return err
|
||||
return 0
|
||||
}
|
||||
|
||||
var rusage prusage_t
|
||||
err = binary.Read(fd, binary.LittleEndian, rusage)
|
||||
fd.Close()
|
||||
return err
|
||||
}
|
||||
|
||||
func init() {
|
||||
go trackCPUUsage()
|
||||
}
|
||||
|
||||
func trackCPUUsage() {
|
||||
var prevUsage int64
|
||||
var prevTime = time.Now().UnixNano()
|
||||
var rusage prusage_t
|
||||
var pid = os.Getpid()
|
||||
for range time.NewTicker(time.Second).C {
|
||||
err := solarisPrusage(pid, &rusage)
|
||||
if err != nil {
|
||||
l.Warnln("getting prusage:", err)
|
||||
continue
|
||||
}
|
||||
curTime := time.Now().UnixNano()
|
||||
timeDiff := curTime - prevTime
|
||||
curUsage := rusage.Pr_utime.Nano() + rusage.Pr_stime.Nano()
|
||||
usageDiff := curUsage - prevUsage
|
||||
cpuUsageLock.Lock()
|
||||
copy(cpuUsagePercent[1:], cpuUsagePercent[0:])
|
||||
cpuUsagePercent[0] = 100 * float64(usageDiff) / float64(timeDiff)
|
||||
cpuUsageLock.Unlock()
|
||||
prevTime = curTime
|
||||
prevUsage = curUsage
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
|
||||
return time.Duration(rusage.Pr_utime.Nano() + rusage.Pr_stime.Nano())
|
||||
}
|
||||
18
cmd/syncthing/cpuusage_unix.go
Normal file
18
cmd/syncthing/cpuusage_unix.go
Normal file
@@ -0,0 +1,18 @@
|
||||
// Copyright (C) 2014 The Syncthing Authors.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
//+build !windows,!solaris
|
||||
|
||||
package main
|
||||
|
||||
import "syscall"
|
||||
import "time"
|
||||
|
||||
func cpuUsage() time.Duration {
|
||||
var rusage syscall.Rusage
|
||||
syscall.Getrusage(syscall.RUSAGE_SELF, &rusage)
|
||||
return time.Duration(rusage.Utime.Nano() + rusage.Stime.Nano())
|
||||
}
|
||||
27
cmd/syncthing/cpuusage_windows.go
Normal file
27
cmd/syncthing/cpuusage_windows.go
Normal file
@@ -0,0 +1,27 @@
|
||||
// Copyright (C) 2014 The Syncthing Authors.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
//+build windows
|
||||
|
||||
package main
|
||||
|
||||
import "syscall"
|
||||
import "time"
|
||||
|
||||
func cpuUsage() time.Duration {
|
||||
handle, err := syscall.GetCurrentProcess()
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
defer syscall.CloseHandle(handle)
|
||||
|
||||
var ctime, etime, ktime, utime syscall.Filetime
|
||||
if err := syscall.GetProcessTimes(handle, &ctime, &etime, &ktime, &utime); err != nil {
|
||||
return 0
|
||||
}
|
||||
|
||||
return time.Duration(ktime.Nanoseconds() + utime.Nanoseconds())
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
@@ -28,9 +28,9 @@ import (
|
||||
"github.com/syncthing/syncthing/lib/db"
|
||||
"github.com/syncthing/syncthing/lib/discover"
|
||||
"github.com/syncthing/syncthing/lib/events"
|
||||
"github.com/syncthing/syncthing/lib/fs"
|
||||
"github.com/syncthing/syncthing/lib/logger"
|
||||
"github.com/syncthing/syncthing/lib/model"
|
||||
"github.com/syncthing/syncthing/lib/osutil"
|
||||
"github.com/syncthing/syncthing/lib/protocol"
|
||||
"github.com/syncthing/syncthing/lib/rand"
|
||||
"github.com/syncthing/syncthing/lib/stats"
|
||||
@@ -45,6 +45,12 @@ var (
|
||||
startTime = time.Now()
|
||||
)
|
||||
|
||||
const (
|
||||
defaultEventMask = events.AllEvents &^ events.LocalChangeDetected &^ events.RemoteChangeDetected
|
||||
diskEventMask = events.LocalChangeDetected | events.RemoteChangeDetected
|
||||
eventSubBufferSize = 1000
|
||||
)
|
||||
|
||||
type apiService struct {
|
||||
id protocol.DeviceID
|
||||
cfg configIntf
|
||||
@@ -52,8 +58,8 @@ type apiService struct {
|
||||
httpsKeyFile string
|
||||
statics *staticsServer
|
||||
model modelIntf
|
||||
eventSub events.BufferedSubscription
|
||||
diskEventSub events.BufferedSubscription
|
||||
eventSubs map[events.EventType]events.BufferedSubscription
|
||||
eventSubsMut sync.Mutex
|
||||
discoverer discover.CachingMux
|
||||
connectionsService connectionsIntf
|
||||
fss *folderSummaryService
|
||||
@@ -62,6 +68,7 @@ type apiService struct {
|
||||
configChanged chan struct{} // signals intentional listener close due to config change
|
||||
started chan string // signals startup complete by sending the listener address, for testing only
|
||||
startedOnce chan struct{} // the service has started successfully at least once
|
||||
cpu rater
|
||||
|
||||
guiErrors logger.Recorder
|
||||
systemLog logger.Recorder
|
||||
@@ -104,6 +111,7 @@ type configIntf interface {
|
||||
Folders() map[string]config.FolderConfiguration
|
||||
Devices() map[protocol.DeviceID]config.DeviceConfiguration
|
||||
SetDevice(config.DeviceConfiguration) error
|
||||
SetDevices([]config.DeviceConfiguration) error
|
||||
Save() error
|
||||
ListenAddresses() []string
|
||||
RequiresRestart() bool
|
||||
@@ -113,16 +121,23 @@ type connectionsIntf interface {
|
||||
Status() map[string]interface{}
|
||||
}
|
||||
|
||||
func newAPIService(id protocol.DeviceID, cfg configIntf, httpsCertFile, httpsKeyFile, assetDir string, m modelIntf, eventSub events.BufferedSubscription, diskEventSub events.BufferedSubscription, discoverer discover.CachingMux, connectionsService connectionsIntf, errors, systemLog logger.Recorder) *apiService {
|
||||
type rater interface {
|
||||
Rate() float64
|
||||
}
|
||||
|
||||
func newAPIService(id protocol.DeviceID, cfg configIntf, httpsCertFile, httpsKeyFile, assetDir string, m modelIntf, defaultSub, diskSub events.BufferedSubscription, discoverer discover.CachingMux, connectionsService connectionsIntf, errors, systemLog logger.Recorder, cpu rater) *apiService {
|
||||
service := &apiService{
|
||||
id: id,
|
||||
cfg: cfg,
|
||||
httpsCertFile: httpsCertFile,
|
||||
httpsKeyFile: httpsKeyFile,
|
||||
statics: newStaticsServer(cfg.GUI().Theme, assetDir),
|
||||
model: m,
|
||||
eventSub: eventSub,
|
||||
diskEventSub: diskEventSub,
|
||||
id: id,
|
||||
cfg: cfg,
|
||||
httpsCertFile: httpsCertFile,
|
||||
httpsKeyFile: httpsKeyFile,
|
||||
statics: newStaticsServer(cfg.GUI().Theme, assetDir),
|
||||
model: m,
|
||||
eventSubs: map[events.EventType]events.BufferedSubscription{
|
||||
defaultEventMask: defaultSub,
|
||||
diskEventMask: diskSub,
|
||||
},
|
||||
eventSubsMut: sync.NewMutex(),
|
||||
discoverer: discoverer,
|
||||
connectionsService: connectionsService,
|
||||
systemConfigMut: sync.NewMutex(),
|
||||
@@ -131,6 +146,7 @@ func newAPIService(id protocol.DeviceID, cfg configIntf, httpsCertFile, httpsKey
|
||||
startedOnce: make(chan struct{}),
|
||||
guiErrors: errors,
|
||||
systemLog: systemLog,
|
||||
cpu: cpu,
|
||||
}
|
||||
|
||||
return service
|
||||
@@ -233,8 +249,8 @@ func (s *apiService) Serve() {
|
||||
getRestMux.HandleFunc("/rest/db/need", s.getDBNeed) // folder [perpage] [page]
|
||||
getRestMux.HandleFunc("/rest/db/status", s.getDBStatus) // folder
|
||||
getRestMux.HandleFunc("/rest/db/browse", s.getDBBrowse) // folder [prefix] [dirsonly] [levels]
|
||||
getRestMux.HandleFunc("/rest/events", s.getIndexEvents) // since [limit]
|
||||
getRestMux.HandleFunc("/rest/events/disk", s.getDiskEvents) // since [limit]
|
||||
getRestMux.HandleFunc("/rest/events", s.getIndexEvents) // [since] [limit] [timeout] [events]
|
||||
getRestMux.HandleFunc("/rest/events/disk", s.getDiskEvents) // [since] [limit] [timeout]
|
||||
getRestMux.HandleFunc("/rest/stats/device", s.getDeviceStats) // -
|
||||
getRestMux.HandleFunc("/rest/stats/folder", s.getFolderStats) // -
|
||||
getRestMux.HandleFunc("/rest/svc/deviceid", s.getDeviceID) // id
|
||||
@@ -269,8 +285,8 @@ func (s *apiService) Serve() {
|
||||
postRestMux.HandleFunc("/rest/system/restart", s.postSystemRestart) // -
|
||||
postRestMux.HandleFunc("/rest/system/shutdown", s.postSystemShutdown) // -
|
||||
postRestMux.HandleFunc("/rest/system/upgrade", s.postSystemUpgrade) // -
|
||||
postRestMux.HandleFunc("/rest/system/pause", s.makeDevicePauseHandler(true)) // device
|
||||
postRestMux.HandleFunc("/rest/system/resume", s.makeDevicePauseHandler(false)) // device
|
||||
postRestMux.HandleFunc("/rest/system/pause", s.makeDevicePauseHandler(true)) // [device]
|
||||
postRestMux.HandleFunc("/rest/system/resume", s.makeDevicePauseHandler(false)) // [device]
|
||||
postRestMux.HandleFunc("/rest/system/debug", s.postSystemDebug) // [enable] [disable]
|
||||
|
||||
// Debug endpoints, not for general use
|
||||
@@ -343,7 +359,7 @@ func (s *apiService) Serve() {
|
||||
s.started <- listener.Addr().String()
|
||||
}
|
||||
|
||||
// Indicate successfull initial startup, to ourselves and to interested
|
||||
// Indicate successful initial startup, to ourselves and to interested
|
||||
// listeners (i.e. the thing that starts the browser).
|
||||
select {
|
||||
case <-s.startedOnce:
|
||||
@@ -836,14 +852,11 @@ func (s *apiService) flushResponse(resp string, w http.ResponseWriter) {
|
||||
f.Flush()
|
||||
}
|
||||
|
||||
var cpuUsagePercent [10]float64 // The last ten seconds
|
||||
var cpuUsageLock = sync.NewRWMutex()
|
||||
|
||||
func (s *apiService) getSystemStatus(w http.ResponseWriter, r *http.Request) {
|
||||
var m runtime.MemStats
|
||||
runtime.ReadMemStats(&m)
|
||||
|
||||
tilde, _ := osutil.ExpandTilde("~")
|
||||
tilde, _ := fs.ExpandTilde("~")
|
||||
res := make(map[string]interface{})
|
||||
res["myID"] = myID.String()
|
||||
res["goroutines"] = runtime.NumGoroutine()
|
||||
@@ -865,14 +878,9 @@ func (s *apiService) getSystemStatus(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
res["connectionServiceStatus"] = s.connectionsService.Status()
|
||||
|
||||
cpuUsageLock.RLock()
|
||||
var cpusum float64
|
||||
for _, p := range cpuUsagePercent {
|
||||
cpusum += p
|
||||
}
|
||||
cpuUsageLock.RUnlock()
|
||||
res["cpuPercent"] = cpusum / float64(len(cpuUsagePercent)) / float64(runtime.NumCPU())
|
||||
// cpuUsage.Rate() is in milliseconds per second, so dividing by ten
|
||||
// gives us percent
|
||||
res["cpuPercent"] = s.cpu.Rate() / 10 / float64(runtime.NumCPU())
|
||||
res["pathSeparator"] = string(filepath.Separator)
|
||||
res["uptime"] = int(time.Since(startTime).Seconds())
|
||||
res["startTime"] = startTime
|
||||
@@ -968,7 +976,9 @@ func (s *apiService) getRandomString(w http.ResponseWriter, r *http.Request) {
|
||||
func (s *apiService) getDBIgnores(w http.ResponseWriter, r *http.Request) {
|
||||
qs := r.URL.Query()
|
||||
|
||||
ignores, patterns, err := s.model.GetIgnores(qs.Get("folder"))
|
||||
folder := qs.Get("folder")
|
||||
|
||||
ignores, patterns, err := s.model.GetIgnores(folder)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), 500)
|
||||
return
|
||||
@@ -1008,20 +1018,29 @@ func (s *apiService) postDBIgnores(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
func (s *apiService) getIndexEvents(w http.ResponseWriter, r *http.Request) {
|
||||
s.fss.gotEventRequest()
|
||||
s.getEvents(w, r, s.eventSub)
|
||||
mask := s.getEventMask(r.URL.Query().Get("events"))
|
||||
sub := s.getEventSub(mask)
|
||||
s.getEvents(w, r, sub)
|
||||
}
|
||||
|
||||
func (s *apiService) getDiskEvents(w http.ResponseWriter, r *http.Request) {
|
||||
s.getEvents(w, r, s.diskEventSub)
|
||||
sub := s.getEventSub(diskEventMask)
|
||||
s.getEvents(w, r, sub)
|
||||
}
|
||||
|
||||
func (s *apiService) getEvents(w http.ResponseWriter, r *http.Request, eventSub events.BufferedSubscription) {
|
||||
qs := r.URL.Query()
|
||||
sinceStr := qs.Get("since")
|
||||
limitStr := qs.Get("limit")
|
||||
timeoutStr := qs.Get("timeout")
|
||||
since, _ := strconv.Atoi(sinceStr)
|
||||
limit, _ := strconv.Atoi(limitStr)
|
||||
|
||||
timeout := defaultEventTimeout
|
||||
if timeoutSec, timeoutErr := strconv.Atoi(timeoutStr); timeoutErr == nil && timeoutSec >= 0 { // 0 is a valid timeout
|
||||
timeout = time.Duration(timeoutSec) * time.Second
|
||||
}
|
||||
|
||||
// Flush before blocking, to indicate that we've received the request and
|
||||
// that it should not be retried. Must set Content-Type header before
|
||||
// flushing.
|
||||
@@ -1029,7 +1048,8 @@ func (s *apiService) getEvents(w http.ResponseWriter, r *http.Request, eventSub
|
||||
f := w.(http.Flusher)
|
||||
f.Flush()
|
||||
|
||||
evs := eventSub.Since(since, nil)
|
||||
// If there are no events available return an empty slice, as this gets serialized as `[]`
|
||||
evs := eventSub.Since(since, []events.Event{}, timeout)
|
||||
if 0 < limit && limit < len(evs) {
|
||||
evs = evs[len(evs)-limit:]
|
||||
}
|
||||
@@ -1037,12 +1057,38 @@ func (s *apiService) getEvents(w http.ResponseWriter, r *http.Request, eventSub
|
||||
sendJSON(w, evs)
|
||||
}
|
||||
|
||||
func (s *apiService) getEventMask(evs string) events.EventType {
|
||||
eventMask := defaultEventMask
|
||||
if evs != "" {
|
||||
eventList := strings.Split(evs, ",")
|
||||
eventMask = 0
|
||||
for _, ev := range eventList {
|
||||
eventMask |= events.UnmarshalEventType(strings.TrimSpace(ev))
|
||||
}
|
||||
}
|
||||
return eventMask
|
||||
}
|
||||
|
||||
func (s *apiService) getEventSub(mask events.EventType) events.BufferedSubscription {
|
||||
s.eventSubsMut.Lock()
|
||||
bufsub, ok := s.eventSubs[mask]
|
||||
if !ok {
|
||||
evsub := events.Default.Subscribe(mask)
|
||||
bufsub = events.NewBufferedSubscription(evsub, eventSubBufferSize)
|
||||
s.eventSubs[mask] = bufsub
|
||||
}
|
||||
s.eventSubsMut.Unlock()
|
||||
|
||||
return bufsub
|
||||
}
|
||||
|
||||
func (s *apiService) getSystemUpgrade(w http.ResponseWriter, r *http.Request) {
|
||||
if noUpgrade {
|
||||
if noUpgradeFromEnv {
|
||||
http.Error(w, upgrade.ErrUpgradeUnsupported.Error(), 500)
|
||||
return
|
||||
}
|
||||
rel, err := upgrade.LatestRelease(s.cfg.Options().ReleasesURL, Version)
|
||||
opts := s.cfg.Options()
|
||||
rel, err := upgrade.LatestRelease(opts.ReleasesURL, Version, opts.UpgradeToPreReleases)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), 500)
|
||||
return
|
||||
@@ -1083,7 +1129,8 @@ func (s *apiService) getLang(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func (s *apiService) postSystemUpgrade(w http.ResponseWriter, r *http.Request) {
|
||||
rel, err := upgrade.LatestRelease(s.cfg.Options().ReleasesURL, Version)
|
||||
opts := s.cfg.Options()
|
||||
rel, err := upgrade.LatestRelease(opts.ReleasesURL, Version, opts.UpgradeToPreReleases)
|
||||
if err != nil {
|
||||
l.Warnln("getting latest release:", err)
|
||||
http.Error(w, err.Error(), 500)
|
||||
@@ -1109,19 +1156,31 @@ func (s *apiService) makeDevicePauseHandler(paused bool) http.HandlerFunc {
|
||||
var qs = r.URL.Query()
|
||||
var deviceStr = qs.Get("device")
|
||||
|
||||
device, err := protocol.DeviceIDFromString(deviceStr)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), 500)
|
||||
return
|
||||
var cfgs []config.DeviceConfiguration
|
||||
|
||||
if deviceStr == "" {
|
||||
for _, cfg := range s.cfg.Devices() {
|
||||
cfg.Paused = paused
|
||||
cfgs = append(cfgs, cfg)
|
||||
}
|
||||
} else {
|
||||
device, err := protocol.DeviceIDFromString(deviceStr)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), 500)
|
||||
return
|
||||
}
|
||||
|
||||
cfg, ok := s.cfg.Devices()[device]
|
||||
if !ok {
|
||||
http.Error(w, "not found", http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
|
||||
cfg.Paused = paused
|
||||
cfgs = append(cfgs, cfg)
|
||||
}
|
||||
|
||||
cfg, ok := s.cfg.Devices()[device]
|
||||
if !ok {
|
||||
http.Error(w, "not found", http.StatusNotFound)
|
||||
}
|
||||
|
||||
cfg.Paused = paused
|
||||
if err := s.cfg.SetDevice(cfg); err != nil {
|
||||
if err := s.cfg.SetDevices(cfgs); err != nil {
|
||||
http.Error(w, err.Error(), 500)
|
||||
}
|
||||
}
|
||||
@@ -1131,18 +1190,17 @@ func (s *apiService) postDBScan(w http.ResponseWriter, r *http.Request) {
|
||||
qs := r.URL.Query()
|
||||
folder := qs.Get("folder")
|
||||
if folder != "" {
|
||||
subs := qs["sub"]
|
||||
err := s.model.ScanFolderSubdirs(folder, subs)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), 500)
|
||||
return
|
||||
}
|
||||
nextStr := qs.Get("next")
|
||||
next, err := strconv.Atoi(nextStr)
|
||||
if err == nil {
|
||||
s.model.DelayScan(folder, time.Duration(next)*time.Second)
|
||||
}
|
||||
|
||||
subs := qs["sub"]
|
||||
err = s.model.ScanFolderSubdirs(folder, subs)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), 500)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
errors := s.model.ScanFolders()
|
||||
if len(errors) > 0 {
|
||||
@@ -1201,23 +1259,35 @@ func (s *apiService) getPeerCompletion(w http.ResponseWriter, r *http.Request) {
|
||||
func (s *apiService) getSystemBrowse(w http.ResponseWriter, r *http.Request) {
|
||||
qs := r.URL.Query()
|
||||
current := qs.Get("current")
|
||||
// Default value or in case of error unmarshalling ends up being basic fs.
|
||||
var fsType fs.FilesystemType
|
||||
fsType.UnmarshalText([]byte(qs.Get("filesystem")))
|
||||
|
||||
if current == "" {
|
||||
if roots, err := osutil.GetFilesystemRoots(); err == nil {
|
||||
filesystem := fs.NewFilesystem(fsType, "")
|
||||
if roots, err := filesystem.Roots(); err == nil {
|
||||
sendJSON(w, roots)
|
||||
} else {
|
||||
http.Error(w, err.Error(), 500)
|
||||
}
|
||||
return
|
||||
}
|
||||
search, _ := osutil.ExpandTilde(current)
|
||||
pathSeparator := string(os.PathSeparator)
|
||||
search, _ := fs.ExpandTilde(current)
|
||||
pathSeparator := string(fs.PathSeparator)
|
||||
|
||||
if strings.HasSuffix(current, pathSeparator) && !strings.HasSuffix(search, pathSeparator) {
|
||||
search = search + pathSeparator
|
||||
}
|
||||
subdirectories, _ := osutil.Glob(search + "*")
|
||||
searchDir := filepath.Dir(search)
|
||||
searchFile := filepath.Base(search)
|
||||
|
||||
fs := fs.NewFilesystem(fsType, searchDir)
|
||||
|
||||
subdirectories, _ := fs.Glob(searchFile + "*")
|
||||
|
||||
ret := make([]string, 0, len(subdirectories))
|
||||
for _, subdirectory := range subdirectories {
|
||||
info, err := os.Stat(subdirectory)
|
||||
info, err := fs.Stat(subdirectory)
|
||||
if err == nil && info.IsDir() {
|
||||
ret = append(ret, subdirectory+pathSeparator)
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
@@ -23,6 +23,7 @@ import (
|
||||
|
||||
"github.com/d4l3k/messagediff"
|
||||
"github.com/syncthing/syncthing/lib/config"
|
||||
"github.com/syncthing/syncthing/lib/events"
|
||||
"github.com/syncthing/syncthing/lib/protocol"
|
||||
"github.com/syncthing/syncthing/lib/sync"
|
||||
"github.com/thejerf/suture"
|
||||
@@ -70,7 +71,7 @@ func TestStopAfterBrokenConfig(t *testing.T) {
|
||||
}
|
||||
w := config.Wrap("/dev/null", cfg)
|
||||
|
||||
srv := newAPIService(protocol.LocalDeviceID, w, "../../test/h1/https-cert.pem", "../../test/h1/https-key.pem", "", nil, nil, nil, nil, nil, nil, nil)
|
||||
srv := newAPIService(protocol.LocalDeviceID, w, "../../test/h1/https-cert.pem", "../../test/h1/https-key.pem", "", nil, nil, nil, nil, nil, nil, nil, nil)
|
||||
srv.started = make(chan string)
|
||||
|
||||
sup := suture.NewSimple("test")
|
||||
@@ -474,11 +475,12 @@ func startHTTP(cfg *mockedConfig) (string, error) {
|
||||
connections := new(mockedConnections)
|
||||
errorLog := new(mockedLoggerRecorder)
|
||||
systemLog := new(mockedLoggerRecorder)
|
||||
cpu := new(mockedCPUService)
|
||||
addrChan := make(chan string)
|
||||
|
||||
// Instantiate the API service
|
||||
svc := newAPIService(protocol.LocalDeviceID, cfg, httpsCertFile, httpsKeyFile, assetDir, model,
|
||||
eventSub, diskEventSub, discoverer, connections, errorLog, systemLog)
|
||||
eventSub, diskEventSub, discoverer, connections, errorLog, systemLog, cpu)
|
||||
svc.started = addrChan
|
||||
|
||||
// Actually start the API service
|
||||
@@ -924,3 +926,34 @@ func TestOptionsRequest(t *testing.T) {
|
||||
t.Fatal("OPTIONS on /rest/system/status should return a 'Access-Control-Allow-Headers: Content-Type, X-API-KEY' header")
|
||||
}
|
||||
}
|
||||
|
||||
func TestEventMasks(t *testing.T) {
|
||||
cfg := new(mockedConfig)
|
||||
defSub := new(mockedEventSub)
|
||||
diskSub := new(mockedEventSub)
|
||||
svc := newAPIService(protocol.LocalDeviceID, cfg, "", "", "", nil, defSub, diskSub, nil, nil, nil, nil, nil)
|
||||
|
||||
if mask := svc.getEventMask(""); mask != defaultEventMask {
|
||||
t.Errorf("incorrect default mask %x != %x", int64(mask), int64(defaultEventMask))
|
||||
}
|
||||
|
||||
expected := events.FolderSummary | events.LocalChangeDetected
|
||||
if mask := svc.getEventMask("FolderSummary,LocalChangeDetected"); mask != expected {
|
||||
t.Errorf("incorrect parsed mask %x != %x", int64(mask), int64(expected))
|
||||
}
|
||||
|
||||
expected = 0
|
||||
if mask := svc.getEventMask("WeirdEvent,something else that doesn't exist"); mask != expected {
|
||||
t.Errorf("incorrect parsed mask %x != %x", int64(mask), int64(expected))
|
||||
}
|
||||
|
||||
if res := svc.getEventSub(defaultEventMask); res != defSub {
|
||||
t.Errorf("should have returned the given default event sub")
|
||||
}
|
||||
if res := svc.getEventSub(diskEventMask); res != diskSub {
|
||||
t.Errorf("should have returned the given disk event sub")
|
||||
}
|
||||
if res := svc.getEventSub(events.LocalIndexUpdated); res == nil || res == defSub || res == diskSub {
|
||||
t.Errorf("should have returned a valid, non-default event sub")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
// Copyright (C) 2014 The Syncthing Authors.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
//+build !windows,!solaris
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"syscall"
|
||||
"time"
|
||||
)
|
||||
|
||||
func init() {
|
||||
go trackCPUUsage()
|
||||
}
|
||||
|
||||
func trackCPUUsage() {
|
||||
var prevUsage int64
|
||||
var prevTime = time.Now().UnixNano()
|
||||
var rusage syscall.Rusage
|
||||
for range time.NewTicker(time.Second).C {
|
||||
syscall.Getrusage(syscall.RUSAGE_SELF, &rusage)
|
||||
curTime := time.Now().UnixNano()
|
||||
timeDiff := curTime - prevTime
|
||||
curUsage := rusage.Utime.Nano() + rusage.Stime.Nano()
|
||||
usageDiff := curUsage - prevUsage
|
||||
cpuUsageLock.Lock()
|
||||
copy(cpuUsagePercent[1:], cpuUsagePercent[0:])
|
||||
cpuUsagePercent[0] = 100 * float64(usageDiff) / float64(timeDiff)
|
||||
cpuUsageLock.Unlock()
|
||||
prevTime = curTime
|
||||
prevUsage = curUsage
|
||||
}
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
// Copyright (C) 2014 The Syncthing Authors.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
//+build windows
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"syscall"
|
||||
"time"
|
||||
)
|
||||
|
||||
func init() {
|
||||
go trackCPUUsage()
|
||||
}
|
||||
|
||||
func trackCPUUsage() {
|
||||
handle, err := syscall.GetCurrentProcess()
|
||||
if err != nil {
|
||||
l.Warnln("Cannot track CPU usage:", err)
|
||||
return
|
||||
}
|
||||
|
||||
var ctime, etime, ktime, utime syscall.Filetime
|
||||
err = syscall.GetProcessTimes(handle, &ctime, &etime, &ktime, &utime)
|
||||
if err != nil {
|
||||
l.Warnln("Cannot track CPU usage:", err)
|
||||
return
|
||||
}
|
||||
|
||||
prevTime := ctime.Nanoseconds()
|
||||
prevUsage := ktime.Nanoseconds() + utime.Nanoseconds() // Always overflows
|
||||
|
||||
for range time.NewTicker(time.Second).C {
|
||||
err := syscall.GetProcessTimes(handle, &ctime, &etime, &ktime, &utime)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
|
||||
curTime := time.Now().UnixNano()
|
||||
timeDiff := curTime - prevTime
|
||||
// This is sometimes 0, no clue why.
|
||||
if timeDiff == 0 {
|
||||
continue
|
||||
}
|
||||
curUsage := ktime.Nanoseconds() + utime.Nanoseconds()
|
||||
usageDiff := curUsage - prevUsage
|
||||
cpuUsageLock.Lock()
|
||||
copy(cpuUsagePercent[1:], cpuUsagePercent[0:])
|
||||
cpuUsagePercent[0] = 100 * float64(usageDiff) / float64(timeDiff)
|
||||
cpuUsageLock.Unlock()
|
||||
prevTime = curTime
|
||||
prevUsage = curUsage
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/syncthing/syncthing/lib/osutil"
|
||||
"github.com/syncthing/syncthing/lib/fs"
|
||||
)
|
||||
|
||||
type locationEnum string
|
||||
@@ -65,7 +65,7 @@ func expandLocations() error {
|
||||
dir = strings.Replace(dir, "${"+varName+"}", value, -1)
|
||||
}
|
||||
var err error
|
||||
dir, err = osutil.ExpandTilde(dir)
|
||||
dir, err = fs.ExpandTilde(dir)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -86,7 +86,7 @@ func defaultConfigDir() string {
|
||||
return filepath.Join(os.Getenv("AppData"), "Syncthing")
|
||||
|
||||
case "darwin":
|
||||
dir, err := osutil.ExpandTilde("~/Library/Application Support/Syncthing")
|
||||
dir, err := fs.ExpandTilde("~/Library/Application Support/Syncthing")
|
||||
if err != nil {
|
||||
l.Fatalln(err)
|
||||
}
|
||||
@@ -96,7 +96,7 @@ func defaultConfigDir() string {
|
||||
if xdgCfg := os.Getenv("XDG_CONFIG_HOME"); xdgCfg != "" {
|
||||
return filepath.Join(xdgCfg, "syncthing")
|
||||
}
|
||||
dir, err := osutil.ExpandTilde("~/.config/syncthing")
|
||||
dir, err := fs.ExpandTilde("~/.config/syncthing")
|
||||
if err != nil {
|
||||
l.Fatalln(err)
|
||||
}
|
||||
@@ -106,7 +106,7 @@ func defaultConfigDir() string {
|
||||
|
||||
// homeDir returns the user's home directory, or dies trying.
|
||||
func homeDir() string {
|
||||
home, err := osutil.ExpandTilde("~")
|
||||
home, err := fs.ExpandTilde("~")
|
||||
if err != nil {
|
||||
l.Fatalln(err)
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
@@ -37,15 +37,16 @@ import (
|
||||
"github.com/syncthing/syncthing/lib/dialer"
|
||||
"github.com/syncthing/syncthing/lib/discover"
|
||||
"github.com/syncthing/syncthing/lib/events"
|
||||
"github.com/syncthing/syncthing/lib/fs"
|
||||
"github.com/syncthing/syncthing/lib/logger"
|
||||
"github.com/syncthing/syncthing/lib/model"
|
||||
"github.com/syncthing/syncthing/lib/osutil"
|
||||
"github.com/syncthing/syncthing/lib/protocol"
|
||||
"github.com/syncthing/syncthing/lib/rand"
|
||||
"github.com/syncthing/syncthing/lib/sha256"
|
||||
"github.com/syncthing/syncthing/lib/symlinks"
|
||||
"github.com/syncthing/syncthing/lib/tlsutil"
|
||||
"github.com/syncthing/syncthing/lib/upgrade"
|
||||
"github.com/syncthing/syncthing/lib/weakhash"
|
||||
|
||||
"github.com/thejerf/suture"
|
||||
|
||||
@@ -60,8 +61,10 @@ var (
|
||||
BuildHost = "unknown"
|
||||
BuildUser = "unknown"
|
||||
IsRelease bool
|
||||
IsCandidate bool
|
||||
IsBeta bool
|
||||
LongVersion string
|
||||
BuildTags []string
|
||||
allowedVersionExp = regexp.MustCompile(`^v\d+\.\d+\.\d+(-[a-z0-9]+)*(\.\d+)*(\+\d+-g[0-9a-f]+)?(-[^\s]+)?$`)
|
||||
)
|
||||
|
||||
@@ -78,7 +81,7 @@ const (
|
||||
tlsDefaultCommonName = "syncthing"
|
||||
httpsRSABits = 2048
|
||||
bepRSABits = 0 // 384 bit ECDSA used instead
|
||||
pingEventInterval = time.Minute
|
||||
defaultEventTimeout = time.Minute
|
||||
maxSystemErrors = 5
|
||||
initialSystemLog = 10
|
||||
maxSystemLog = 250
|
||||
@@ -98,15 +101,26 @@ func init() {
|
||||
l.Fatalf("Invalid version string %q;\n\tdoes not match regexp %v", Version, allowedVersionExp)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check for a clean release build. A release is something like "v0.1.2",
|
||||
// with an optional suffix of letters and dot separated numbers like
|
||||
// "-beta3.47". If there's more stuff, like a plus sign and a commit hash
|
||||
// and so on, then it's not a release. If there's a dash anywhere in
|
||||
// there, it's some kind of beta or prerelease version.
|
||||
func setBuildMetadata() {
|
||||
// Check for a clean release build. A release is something like
|
||||
// "v0.1.2", with an optional suffix of letters and dot separated
|
||||
// numbers like "-beta3.47". If there's more stuff, like a plus sign and
|
||||
// a commit hash and so on, then it's not a release. If it has a dash in
|
||||
// it, it's some sort of beta, release candidate or special build. If it
|
||||
// has "-rc." in it, like "v0.14.35-rc.42", then it's a candidate build.
|
||||
//
|
||||
// So, every build that is not a stable release build has IsBeta = true.
|
||||
// This is used to enable some extra debugging (the deadlock detector).
|
||||
//
|
||||
// Release candidate builds are also "betas" from this point of view and
|
||||
// will have that debugging enabled. In addition, some features are
|
||||
// forced for release candidates - auto upgrade, and usage reporting.
|
||||
|
||||
exp := regexp.MustCompile(`^v\d+\.\d+\.\d+(-[a-z]+[\d\.]+)?$`)
|
||||
IsRelease = exp.MatchString(Version)
|
||||
IsCandidate = strings.Contains(Version, "-rc.")
|
||||
IsBeta = strings.Contains(Version, "-")
|
||||
|
||||
stamp, _ := strconv.Atoi(BuildStamp)
|
||||
@@ -114,6 +128,10 @@ func init() {
|
||||
|
||||
date := BuildDate.UTC().Format("2006-01-02 15:04:05 MST")
|
||||
LongVersion = fmt.Sprintf(`syncthing %s "%s" (%s %s-%s) %s@%s %s`, Version, Codename, runtime.Version(), runtime.GOOS, runtime.GOARCH, BuildUser, BuildHost, date)
|
||||
|
||||
if len(BuildTags) > 0 {
|
||||
LongVersion = fmt.Sprintf("%s [%s]", LongVersion, strings.Join(BuildTags, ", "))
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -207,9 +225,9 @@ The following are valid values for the STTRACE variable:
|
||||
|
||||
// Environment options
|
||||
var (
|
||||
noUpgrade = os.Getenv("STNOUPGRADE") != ""
|
||||
innerProcess = os.Getenv("STNORESTART") != "" || os.Getenv("STMONITORED") != ""
|
||||
noDefaultFolder = os.Getenv("STNODEFAULTFOLDER") != ""
|
||||
noUpgradeFromEnv = os.Getenv("STNOUPGRADE") != ""
|
||||
innerProcess = os.Getenv("STNORESTART") != "" || os.Getenv("STMONITORED") != ""
|
||||
noDefaultFolder = os.Getenv("STNODEFAULTFOLDER") != ""
|
||||
)
|
||||
|
||||
type RuntimeOptions struct {
|
||||
@@ -252,7 +270,7 @@ func defaultRuntimeOptions() RuntimeOptions {
|
||||
}
|
||||
|
||||
if os.Getenv("STTRACE") != "" {
|
||||
options.logFlags = log.Ltime | log.Ldate | log.Lmicroseconds | log.Lshortfile
|
||||
options.logFlags = logger.DebugFlags
|
||||
}
|
||||
|
||||
if runtime.GOOS != "windows" {
|
||||
@@ -308,6 +326,8 @@ func parseCommandLineOptions() RuntimeOptions {
|
||||
}
|
||||
|
||||
func main() {
|
||||
setBuildMetadata()
|
||||
|
||||
options := parseCommandLineOptions()
|
||||
l.SetFlags(options.logFlags)
|
||||
|
||||
@@ -334,6 +354,13 @@ func main() {
|
||||
|
||||
if options.confDir != "" {
|
||||
// Not set as default above because the string can be really long.
|
||||
if !filepath.IsAbs(options.confDir) {
|
||||
var err error
|
||||
options.confDir, err = filepath.Abs(options.confDir)
|
||||
if err != nil {
|
||||
l.Fatalln(err)
|
||||
}
|
||||
}
|
||||
baseDirs["config"] = options.confDir
|
||||
}
|
||||
|
||||
@@ -418,7 +445,7 @@ func openGUI() {
|
||||
}
|
||||
|
||||
func generate(generateDir string) {
|
||||
dir, err := osutil.ExpandTilde(generateDir)
|
||||
dir, err := fs.ExpandTilde(generateDir)
|
||||
if err != nil {
|
||||
l.Fatalln("generate:", err)
|
||||
}
|
||||
@@ -481,8 +508,8 @@ func debugFacilities() string {
|
||||
|
||||
func checkUpgrade() upgrade.Release {
|
||||
cfg, _ := loadConfig()
|
||||
releasesURL := cfg.Options().ReleasesURL
|
||||
release, err := upgrade.LatestRelease(releasesURL, Version)
|
||||
opts := cfg.Options()
|
||||
release, err := upgrade.LatestRelease(opts.ReleasesURL, Version, opts.UpgradeToPreReleases)
|
||||
if err != nil {
|
||||
l.Fatalln("Upgrade:", err)
|
||||
}
|
||||
@@ -583,8 +610,8 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
|
||||
// Event subscription for the API; must start early to catch the early
|
||||
// events. The LocalChangeDetected event might overwhelm the event
|
||||
// receiver in some situations so we will not subscribe to it here.
|
||||
apiSub := events.NewBufferedSubscription(events.Default.Subscribe(events.AllEvents&^events.LocalChangeDetected&^events.RemoteChangeDetected), 1000)
|
||||
diskSub := events.NewBufferedSubscription(events.Default.Subscribe(events.LocalChangeDetected|events.RemoteChangeDetected|events.Ping), 1000)
|
||||
defaultSub := events.NewBufferedSubscription(events.Default.Subscribe(defaultEventMask), eventSubBufferSize)
|
||||
diskSub := events.NewBufferedSubscription(events.Default.Subscribe(diskEventMask), eventSubBufferSize)
|
||||
|
||||
if len(os.Getenv("GOMAXPROCS")) == 0 {
|
||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||
@@ -595,7 +622,7 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
|
||||
// report the error if there is one.
|
||||
osutil.MaximizeOpenFileLimit()
|
||||
|
||||
// Ensure that that we have a certificate and key.
|
||||
// Ensure that we have a certificate and key.
|
||||
cert, err := tls.LoadX509KeyPair(locations[locCertFile], locations[locKeyFile])
|
||||
if err != nil {
|
||||
l.Infof("Generating ECDSA key and certificate for %s...", tlsDefaultCommonName)
|
||||
@@ -613,8 +640,10 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
|
||||
|
||||
sha256.SelectAlgo()
|
||||
sha256.Report()
|
||||
perf := cpuBench(3, 150*time.Millisecond)
|
||||
l.Infof("Actual hashing performance is %.02f MB/s", perf)
|
||||
perfWithWeakHash := cpuBench(3, 150*time.Millisecond, true)
|
||||
l.Infof("Hashing performance with weak hash is %.02f MB/s", perfWithWeakHash)
|
||||
perfWithoutWeakHash := cpuBench(3, 150*time.Millisecond, false)
|
||||
l.Infof("Hashing performance without weak hash is %.02f MB/s", perfWithoutWeakHash)
|
||||
|
||||
// Emit the Starting event, now that we know who we are.
|
||||
|
||||
@@ -666,8 +695,20 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
|
||||
|
||||
opts := cfg.Options()
|
||||
|
||||
if !opts.SymlinksEnabled {
|
||||
symlinks.Supported = false
|
||||
if opts.WeakHashSelectionMethod == config.WeakHashAuto {
|
||||
if perfWithoutWeakHash*0.8 > perfWithWeakHash {
|
||||
l.Infof("Weak hash disabled, as it has an unacceptable performance impact.")
|
||||
weakhash.Enabled = false
|
||||
} else {
|
||||
l.Infof("Weak hash enabled, as it has an acceptable performance impact.")
|
||||
weakhash.Enabled = true
|
||||
}
|
||||
} else if opts.WeakHashSelectionMethod == config.WeakHashNever {
|
||||
l.Infof("Disabling weak hash")
|
||||
weakhash.Enabled = false
|
||||
} else if opts.WeakHashSelectionMethod == config.WeakHashAlways {
|
||||
l.Infof("Enabling weak hash")
|
||||
weakhash.Enabled = true
|
||||
}
|
||||
|
||||
if (opts.MaxRecvKbps > 0 || opts.MaxSendKbps > 0) && !opts.LimitBandwidthInLan {
|
||||
@@ -722,8 +763,12 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
|
||||
// have been incorrectly ignore filtered.
|
||||
ldb.DropDeltaIndexIDs()
|
||||
}
|
||||
if cfg.RawCopy().OriginalVersion < 19 {
|
||||
// Converts old symlink types to new in the entire database.
|
||||
ldb.ConvertSymlinkTypes()
|
||||
}
|
||||
|
||||
m := model.NewModel(cfg, myID, myDeviceName(cfg), "syncthing", Version, ldb, protectedFiles)
|
||||
m := model.NewModel(cfg, myID, "syncthing", Version, ldb, protectedFiles)
|
||||
|
||||
if t := os.Getenv("STDEADLOCKTIMEOUT"); len(t) > 0 {
|
||||
it, err := strconv.Atoi(t)
|
||||
@@ -743,6 +788,7 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
|
||||
// Add and start folders
|
||||
for _, folderCfg := range cfg.Folders() {
|
||||
if folderCfg.Paused {
|
||||
folderCfg.CreateRoot()
|
||||
continue
|
||||
}
|
||||
m.AddFolder(folderCfg)
|
||||
@@ -796,7 +842,7 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
|
||||
|
||||
// GUI
|
||||
|
||||
setupGUI(mainService, cfg, m, apiSub, diskSub, cachedDiscovery, connectionsService, errors, systemLog, runtimeOptions)
|
||||
setupGUI(mainService, cfg, m, defaultSub, diskSub, cachedDiscovery, connectionsService, errors, systemLog, runtimeOptions)
|
||||
|
||||
if runtimeOptions.cpuProfile {
|
||||
f, err := os.Create(fmt.Sprintf("cpu-%d.pprof", os.Getpid()))
|
||||
@@ -812,20 +858,26 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
|
||||
}
|
||||
}
|
||||
|
||||
// Candidate builds always run with usage reporting.
|
||||
|
||||
if IsCandidate {
|
||||
l.Infoln("Anonymous usage reporting is always enabled for candidate releases.")
|
||||
opts.URAccepted = usageReportVersion
|
||||
// Unique ID will be set and config saved below if necessary.
|
||||
}
|
||||
|
||||
if opts.URAccepted > 0 && opts.URAccepted < usageReportVersion {
|
||||
l.Infoln("Anonymous usage report has changed; revoking acceptance")
|
||||
opts.URAccepted = 0
|
||||
opts.URUniqueID = ""
|
||||
cfg.SetOptions(opts)
|
||||
}
|
||||
if opts.URAccepted >= usageReportVersion {
|
||||
if opts.URUniqueID == "" {
|
||||
// Previously the ID was generated from the node ID. We now need
|
||||
// to generate a new one.
|
||||
opts.URUniqueID = rand.String(8)
|
||||
cfg.SetOptions(opts)
|
||||
cfg.Save()
|
||||
}
|
||||
|
||||
if opts.URAccepted >= usageReportVersion && opts.URUniqueID == "" {
|
||||
// Generate and save a new unique ID if it is missing.
|
||||
opts.URUniqueID = rand.String(8)
|
||||
cfg.SetOptions(opts)
|
||||
cfg.Save()
|
||||
}
|
||||
|
||||
// The usageReportingManager registers itself to listen to configuration
|
||||
@@ -837,18 +889,38 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
|
||||
go standbyMonitor()
|
||||
}
|
||||
|
||||
// Candidate builds should auto upgrade. Make sure the option is set,
|
||||
// unless we are in a build where it's disabled or the STNOUPGRADE
|
||||
// environment variable is set.
|
||||
|
||||
if IsCandidate && !upgrade.DisabledByCompilation && !noUpgradeFromEnv {
|
||||
l.Infoln("Automatic upgrade is always enabled for candidate releases.")
|
||||
if opts.AutoUpgradeIntervalH == 0 || opts.AutoUpgradeIntervalH > 24 {
|
||||
opts.AutoUpgradeIntervalH = 12
|
||||
// Set the option into the config as well, as the auto upgrade
|
||||
// loop expects to read a valid interval from there.
|
||||
cfg.SetOptions(opts)
|
||||
cfg.Save()
|
||||
}
|
||||
// We don't tweak the user's choice of upgrading to pre-releases or
|
||||
// not, as otherwise they cannot step off the candidate channel.
|
||||
}
|
||||
|
||||
if opts.AutoUpgradeIntervalH > 0 {
|
||||
if noUpgrade {
|
||||
if noUpgradeFromEnv {
|
||||
l.Infof("No automatic upgrades; STNOUPGRADE environment variable defined.")
|
||||
} else {
|
||||
go autoUpgrade(cfg)
|
||||
}
|
||||
}
|
||||
|
||||
if isSuperUser() {
|
||||
l.Warnln("Syncthing should not run as a privileged or system user. Please consider using a normal user account.")
|
||||
}
|
||||
|
||||
events.Default.Log(events.StartupComplete, map[string]string{
|
||||
"myID": myID.String(),
|
||||
})
|
||||
go generatePingEvents()
|
||||
|
||||
cleanConfigDirectory()
|
||||
|
||||
@@ -865,15 +937,6 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
|
||||
os.Exit(code)
|
||||
}
|
||||
|
||||
func myDeviceName(cfg *config.Wrapper) string {
|
||||
devices := cfg.Devices()
|
||||
myName := devices[myID].Name
|
||||
if myName == "" {
|
||||
myName, _ = os.Hostname()
|
||||
}
|
||||
return myName
|
||||
}
|
||||
|
||||
func setupSignalHandling() {
|
||||
// Exit cleanly with "restarting" code on SIGHUP.
|
||||
|
||||
@@ -992,7 +1055,7 @@ func startAuditing(mainService *suture.Supervisor, auditFile string) {
|
||||
l.Infoln("Audit log in", auditDest)
|
||||
}
|
||||
|
||||
func setupGUI(mainService *suture.Supervisor, cfg *config.Wrapper, m *model.Model, apiSub events.BufferedSubscription, diskSub events.BufferedSubscription, discoverer discover.CachingMux, connectionsService *connections.Service, errors, systemLog logger.Recorder, runtimeOptions RuntimeOptions) {
|
||||
func setupGUI(mainService *suture.Supervisor, cfg *config.Wrapper, m *model.Model, defaultSub, diskSub events.BufferedSubscription, discoverer discover.CachingMux, connectionsService *connections.Service, errors, systemLog logger.Recorder, runtimeOptions RuntimeOptions) {
|
||||
guiCfg := cfg.GUI()
|
||||
|
||||
if !guiCfg.Enabled {
|
||||
@@ -1003,13 +1066,16 @@ func setupGUI(mainService *suture.Supervisor, cfg *config.Wrapper, m *model.Mode
|
||||
l.Warnln("Insecure admin access is enabled.")
|
||||
}
|
||||
|
||||
api := newAPIService(myID, cfg, locations[locHTTPSCertFile], locations[locHTTPSKeyFile], runtimeOptions.assetDir, m, apiSub, diskSub, discoverer, connectionsService, errors, systemLog)
|
||||
cpu := newCPUService()
|
||||
mainService.Add(cpu)
|
||||
|
||||
api := newAPIService(myID, cfg, locations[locHTTPSCertFile], locations[locHTTPSKeyFile], runtimeOptions.assetDir, m, defaultSub, diskSub, discoverer, connectionsService, errors, systemLog, cpu)
|
||||
cfg.Subscribe(api)
|
||||
mainService.Add(api)
|
||||
|
||||
if cfg.Options().StartBrowser && !runtimeOptions.noBrowser && !runtimeOptions.stRestarting {
|
||||
// Can potentially block if the utility we are invoking doesn't
|
||||
// fork, and just execs, hence keep it in it's own routine.
|
||||
// fork, and just execs, hence keep it in its own routine.
|
||||
<-api.startedOnce
|
||||
go openURL(guiCfg.URL())
|
||||
}
|
||||
@@ -1020,10 +1086,10 @@ func defaultConfig(myName string) config.Configuration {
|
||||
|
||||
if !noDefaultFolder {
|
||||
l.Infoln("Default folder created and/or linked to new config")
|
||||
defaultFolder = config.NewFolderConfiguration("default", locations[locDefFolder])
|
||||
defaultFolder = config.NewFolderConfiguration("default", fs.FilesystemTypeBasic, locations[locDefFolder])
|
||||
defaultFolder.Label = "Default Folder"
|
||||
defaultFolder.RescanIntervalS = 60
|
||||
defaultFolder.MinDiskFreePct = 1
|
||||
defaultFolder.MinDiskFree = config.Size{Value: 1, Unit: "%"}
|
||||
defaultFolder.Devices = []config.FolderDeviceConfiguration{{DeviceID: myID}}
|
||||
defaultFolder.AutoNormalize = true
|
||||
defaultFolder.MaxConflicts = -1
|
||||
@@ -1062,13 +1128,6 @@ func defaultConfig(myName string) config.Configuration {
|
||||
return newCfg
|
||||
}
|
||||
|
||||
func generatePingEvents() {
|
||||
for {
|
||||
time.Sleep(pingEventInterval)
|
||||
events.Default.Log(events.Ping, nil)
|
||||
}
|
||||
}
|
||||
|
||||
func resetDB() error {
|
||||
return os.RemoveAll(locations[locDatabase])
|
||||
}
|
||||
@@ -1083,19 +1142,20 @@ func shutdown() {
|
||||
stop <- exitSuccess
|
||||
}
|
||||
|
||||
func ensureDir(dir string, mode os.FileMode) {
|
||||
err := osutil.MkdirAll(dir, mode)
|
||||
func ensureDir(dir string, mode fs.FileMode) {
|
||||
fs := fs.NewFilesystem(fs.FilesystemTypeBasic, dir)
|
||||
err := fs.MkdirAll(".", mode)
|
||||
if err != nil {
|
||||
l.Fatalln(err)
|
||||
}
|
||||
|
||||
if fi, err := os.Stat(dir); err == nil {
|
||||
if fi, err := fs.Stat("."); err == nil {
|
||||
// Apprently the stat may fail even though the mkdirall passed. If it
|
||||
// does, we'll just assume things are in order and let other things
|
||||
// fail (like loading or creating the config...).
|
||||
currentMode := fi.Mode() & 0777
|
||||
if currentMode != mode {
|
||||
err := os.Chmod(dir, mode)
|
||||
err := fs.Chmod(".", mode)
|
||||
// This can fail on crappy filesystems, nothing we can do about it.
|
||||
if err != nil {
|
||||
l.Warnln(err)
|
||||
@@ -1159,7 +1219,15 @@ func autoUpgrade(cfg *config.Wrapper) {
|
||||
case <-timer.C:
|
||||
}
|
||||
|
||||
rel, err := upgrade.LatestRelease(cfg.Options().ReleasesURL, Version)
|
||||
opts := cfg.Options()
|
||||
checkInterval := time.Duration(opts.AutoUpgradeIntervalH) * time.Hour
|
||||
if checkInterval < time.Hour {
|
||||
// We shouldn't be here if AutoUpgradeIntervalH < 1, but for
|
||||
// safety's sake.
|
||||
checkInterval = time.Hour
|
||||
}
|
||||
|
||||
rel, err := upgrade.LatestRelease(opts.ReleasesURL, Version, opts.UpgradeToPreReleases)
|
||||
if err == upgrade.ErrUpgradeUnsupported {
|
||||
events.Default.Unsubscribe(sub)
|
||||
return
|
||||
@@ -1168,13 +1236,13 @@ func autoUpgrade(cfg *config.Wrapper) {
|
||||
// Don't complain too loudly here; we might simply not have
|
||||
// internet connectivity, or the upgrade server might be down.
|
||||
l.Infoln("Automatic upgrade:", err)
|
||||
timer.Reset(time.Duration(cfg.Options().AutoUpgradeIntervalH) * time.Hour)
|
||||
timer.Reset(checkInterval)
|
||||
continue
|
||||
}
|
||||
|
||||
if upgrade.CompareVersions(rel.Tag, Version) != upgrade.Newer {
|
||||
// Skip equal, older or majorly newer (incompatible) versions
|
||||
timer.Reset(time.Duration(cfg.Options().AutoUpgradeIntervalH) * time.Hour)
|
||||
timer.Reset(checkInterval)
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -1182,7 +1250,7 @@ func autoUpgrade(cfg *config.Wrapper) {
|
||||
err = upgrade.To(rel)
|
||||
if err != nil {
|
||||
l.Warnln("Automatic upgrade:", err)
|
||||
timer.Reset(time.Duration(cfg.Options().AutoUpgradeIntervalH) * time.Hour)
|
||||
timer.Reset(checkInterval)
|
||||
continue
|
||||
}
|
||||
events.Default.Unsubscribe(sub)
|
||||
@@ -1210,22 +1278,22 @@ func cleanConfigDirectory() {
|
||||
}
|
||||
|
||||
for pat, dur := range patterns {
|
||||
pat = filepath.Join(baseDirs["config"], pat)
|
||||
files, err := osutil.Glob(pat)
|
||||
fs := fs.NewFilesystem(fs.FilesystemTypeBasic, baseDirs["config"])
|
||||
files, err := fs.Glob(pat)
|
||||
if err != nil {
|
||||
l.Infoln("Cleaning:", err)
|
||||
continue
|
||||
}
|
||||
|
||||
for _, file := range files {
|
||||
info, err := osutil.Lstat(file)
|
||||
info, err := fs.Lstat(file)
|
||||
if err != nil {
|
||||
l.Infoln("Cleaning:", err)
|
||||
continue
|
||||
}
|
||||
|
||||
if time.Since(info.ModTime()) > dur {
|
||||
if err = os.RemoveAll(file); err != nil {
|
||||
if err = fs.RemoveAll(file); err != nil {
|
||||
l.Infoln("Cleaning:", err)
|
||||
} else {
|
||||
l.Infoln("Cleaned away old file", filepath.Base(file))
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
// +build solaris
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
// +build freebsd openbsd dragonfly
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/syncthing/syncthing/lib/config"
|
||||
"github.com/syncthing/syncthing/lib/protocol"
|
||||
"github.com/syncthing/syncthing/lib/util"
|
||||
)
|
||||
|
||||
type mockedConfig struct {
|
||||
@@ -24,7 +25,9 @@ func (c *mockedConfig) ListenAddresses() []string {
|
||||
}
|
||||
|
||||
func (c *mockedConfig) RawCopy() config.Configuration {
|
||||
return config.Configuration{}
|
||||
cfg := config.Configuration{}
|
||||
util.SetDefaults(&cfg.Options)
|
||||
return cfg
|
||||
}
|
||||
|
||||
func (c *mockedConfig) Options() config.OptionsConfiguration {
|
||||
@@ -49,6 +52,10 @@ func (c *mockedConfig) SetDevice(config.DeviceConfiguration) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *mockedConfig) SetDevices([]config.DeviceConfiguration) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *mockedConfig) Save() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
13
cmd/syncthing/mocked_cpuusage_test.go
Normal file
13
cmd/syncthing/mocked_cpuusage_test.go
Normal file
@@ -0,0 +1,13 @@
|
||||
// Copyright (C) 2017 The Syncthing Authors.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
type mockedCPUService struct{}
|
||||
|
||||
func (*mockedCPUService) Rate() float64 {
|
||||
return 42
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,14 +2,18 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
import "github.com/syncthing/syncthing/lib/events"
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/syncthing/syncthing/lib/events"
|
||||
)
|
||||
|
||||
type mockedEventSub struct{}
|
||||
|
||||
func (s *mockedEventSub) Since(id int, into []events.Event) []events.Event {
|
||||
func (s *mockedEventSub) Since(id int, into []events.Event, timeout time.Duration) []events.Event {
|
||||
select {}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
@@ -35,7 +35,6 @@ const (
|
||||
)
|
||||
|
||||
func monitorMain(runtimeOptions RuntimeOptions) {
|
||||
os.Setenv("STMONITORED", "yes")
|
||||
l.SetPrefix("[monitor] ")
|
||||
|
||||
var dst io.Writer = os.Stdout
|
||||
@@ -69,6 +68,8 @@ func monitorMain(runtimeOptions RuntimeOptions) {
|
||||
sigHup := syscall.Signal(1)
|
||||
signal.Notify(restartSign, sigHup)
|
||||
|
||||
childEnv := childEnv()
|
||||
first := true
|
||||
for {
|
||||
if t := time.Since(restarts[0]); t < loopThreshold {
|
||||
l.Warnf("%d restarts in %v; not retrying further", countRestarts, t)
|
||||
@@ -79,6 +80,7 @@ func monitorMain(runtimeOptions RuntimeOptions) {
|
||||
restarts[len(restarts)-1] = time.Now()
|
||||
|
||||
cmd := exec.Command(args[0], args[1:]...)
|
||||
cmd.Env = childEnv
|
||||
|
||||
stderr, err := cmd.StderrPipe()
|
||||
if err != nil {
|
||||
@@ -96,10 +98,6 @@ func monitorMain(runtimeOptions RuntimeOptions) {
|
||||
l.Fatalln(err)
|
||||
}
|
||||
|
||||
// Let the next child process know that this is not the first time
|
||||
// it's starting up.
|
||||
os.Setenv("STRESTART", "yes")
|
||||
|
||||
stdoutMut.Lock()
|
||||
stdoutFirstLines = make([]string, 0, 10)
|
||||
stdoutLastLines = make([]string, 0, 50)
|
||||
@@ -149,7 +147,6 @@ func monitorMain(runtimeOptions RuntimeOptions) {
|
||||
// Restart the monitor process to release the .old
|
||||
// binary as part of the upgrade process.
|
||||
l.Infoln("Restarting monitor...")
|
||||
os.Setenv("STNORESTART", "")
|
||||
if err = restartMonitor(args); err != nil {
|
||||
l.Warnln("Restart:", err)
|
||||
}
|
||||
@@ -161,6 +158,13 @@ func monitorMain(runtimeOptions RuntimeOptions) {
|
||||
|
||||
l.Infoln("Syncthing exited:", err)
|
||||
time.Sleep(1 * time.Second)
|
||||
|
||||
if first {
|
||||
// Let the next child process know that this is not the first time
|
||||
// it's starting up.
|
||||
childEnv = append(childEnv, "STRESTART=yes")
|
||||
first = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -409,3 +413,19 @@ func (f *autoclosedFile) closerLoop() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Returns the desired child environment, properly filtered and added to.
|
||||
func childEnv() []string {
|
||||
var env []string
|
||||
for _, str := range os.Environ() {
|
||||
if strings.HasPrefix("STNORESTART=", str) {
|
||||
continue
|
||||
}
|
||||
if strings.HasPrefix("STMONITORED=", str) {
|
||||
continue
|
||||
}
|
||||
env = append(env, str)
|
||||
}
|
||||
env = append(env, "STMONITORED=yes")
|
||||
return env
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
// +build !windows
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
// +build windows
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
// +build !solaris,!windows
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
@@ -169,7 +169,7 @@ func (c *folderSummaryService) foldersToHandle() []string {
|
||||
c.lastEventReqMut.Lock()
|
||||
last := c.lastEventReq
|
||||
c.lastEventReqMut.Unlock()
|
||||
if time.Since(last) > pingEventInterval {
|
||||
if time.Since(last) > defaultEventTimeout {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
17
cmd/syncthing/superuser_unix.go
Normal file
17
cmd/syncthing/superuser_unix.go
Normal file
@@ -0,0 +1,17 @@
|
||||
// Copyright (C) 2017 The Syncthing Authors.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
// +build !windows
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
)
|
||||
|
||||
func isSuperUser() bool {
|
||||
return os.Geteuid() == 0
|
||||
}
|
||||
41
cmd/syncthing/superuser_windows.go
Normal file
41
cmd/syncthing/superuser_windows.go
Normal file
@@ -0,0 +1,41 @@
|
||||
// Copyright (C) 2017 The Syncthing Authors.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
import "syscall"
|
||||
|
||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa379649(v=vs.85).aspx
|
||||
const securityLocalSystemRID = "S-1-5-18"
|
||||
|
||||
func isSuperUser() bool {
|
||||
tok, err := syscall.OpenCurrentProcessToken()
|
||||
if err != nil {
|
||||
l.Debugln("OpenCurrentProcessToken:", err)
|
||||
return false
|
||||
}
|
||||
defer tok.Close()
|
||||
|
||||
user, err := tok.GetTokenUser()
|
||||
if err != nil {
|
||||
l.Debugln("GetTokenUser:", err)
|
||||
return false
|
||||
}
|
||||
|
||||
if user.User.Sid == nil {
|
||||
l.Debugln("sid is nil")
|
||||
return false
|
||||
}
|
||||
|
||||
sid, err := user.User.Sid.String()
|
||||
if err != nil {
|
||||
l.Debugln("Sid.String():", err)
|
||||
return false
|
||||
}
|
||||
|
||||
l.Debugf("SID: %q", sid)
|
||||
return sid == securityLocalSystemRID
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
//+build go1.7
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -2,12 +2,13 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"crypto/rand"
|
||||
"crypto/tls"
|
||||
"encoding/json"
|
||||
@@ -81,9 +82,10 @@ func (m *usageReportingManager) String() string {
|
||||
// reportData returns the data to be sent in a usage report. It's used in
|
||||
// various places, so not part of the usageReportingManager object.
|
||||
func reportData(cfg configIntf, m modelIntf) map[string]interface{} {
|
||||
opts := cfg.Options()
|
||||
res := make(map[string]interface{})
|
||||
res["urVersion"] = usageReportVersion
|
||||
res["uniqueID"] = cfg.Options().URUniqueID
|
||||
res["uniqueID"] = opts.URUniqueID
|
||||
res["version"] = Version
|
||||
res["longVersion"] = LongVersion
|
||||
res["platform"] = runtime.GOOS + "-" + runtime.GOARCH
|
||||
@@ -112,7 +114,8 @@ func reportData(cfg configIntf, m modelIntf) map[string]interface{} {
|
||||
var mem runtime.MemStats
|
||||
runtime.ReadMemStats(&mem)
|
||||
res["memoryUsageMiB"] = (mem.Sys - mem.HeapReleased) / 1024 / 1024
|
||||
res["sha256Perf"] = cpuBench(5, 125*time.Millisecond)
|
||||
res["sha256Perf"] = cpuBench(5, 125*time.Millisecond, false)
|
||||
res["hashPerf"] = cpuBench(5, 125*time.Millisecond, true)
|
||||
|
||||
bytes, err := memorySize()
|
||||
if err == nil {
|
||||
@@ -188,7 +191,7 @@ func reportData(cfg configIntf, m modelIntf) map[string]interface{} {
|
||||
res["deviceUses"] = deviceUses
|
||||
|
||||
defaultAnnounceServersDNS, defaultAnnounceServersIP, otherAnnounceServers := 0, 0, 0
|
||||
for _, addr := range cfg.Options().GlobalAnnServers {
|
||||
for _, addr := range opts.GlobalAnnServers {
|
||||
if addr == "default" || addr == "default-v4" || addr == "default-v6" {
|
||||
defaultAnnounceServersDNS++
|
||||
} else {
|
||||
@@ -196,8 +199,8 @@ func reportData(cfg configIntf, m modelIntf) map[string]interface{} {
|
||||
}
|
||||
}
|
||||
res["announce"] = map[string]interface{}{
|
||||
"globalEnabled": cfg.Options().GlobalAnnEnabled,
|
||||
"localEnabled": cfg.Options().LocalAnnEnabled,
|
||||
"globalEnabled": opts.GlobalAnnEnabled,
|
||||
"localEnabled": opts.LocalAnnEnabled,
|
||||
"defaultServersDNS": defaultAnnounceServersDNS,
|
||||
"defaultServersIP": defaultAnnounceServersIP,
|
||||
"otherServers": otherAnnounceServers,
|
||||
@@ -218,10 +221,11 @@ func reportData(cfg configIntf, m modelIntf) map[string]interface{} {
|
||||
"otherServers": otherRelayServers,
|
||||
}
|
||||
|
||||
res["usesRateLimit"] = cfg.Options().MaxRecvKbps > 0 || cfg.Options().MaxSendKbps > 0
|
||||
res["usesRateLimit"] = opts.MaxRecvKbps > 0 || opts.MaxSendKbps > 0
|
||||
|
||||
res["upgradeAllowedManual"] = !(upgrade.DisabledByCompilation || noUpgrade)
|
||||
res["upgradeAllowedAuto"] = !(upgrade.DisabledByCompilation || noUpgrade) && cfg.Options().AutoUpgradeIntervalH > 0
|
||||
res["upgradeAllowedManual"] = !(upgrade.DisabledByCompilation || noUpgradeFromEnv)
|
||||
res["upgradeAllowedAuto"] = !(upgrade.DisabledByCompilation || noUpgradeFromEnv) && opts.AutoUpgradeIntervalH > 0
|
||||
res["upgradeAllowedPre"] = !(upgrade.DisabledByCompilation || noUpgradeFromEnv) && opts.AutoUpgradeIntervalH > 0 && opts.UpgradeToPreReleases
|
||||
|
||||
return res
|
||||
}
|
||||
@@ -284,10 +288,14 @@ func (s *usageReportingService) Stop() {
|
||||
}
|
||||
|
||||
// cpuBench returns CPU performance as a measure of single threaded SHA-256 MiB/s
|
||||
func cpuBench(iterations int, duration time.Duration) float64 {
|
||||
func cpuBench(iterations int, duration time.Duration, useWeakHash bool) float64 {
|
||||
dataSize := 16 * protocol.BlockSize
|
||||
bs := make([]byte, dataSize)
|
||||
rand.Reader.Read(bs)
|
||||
|
||||
var perf float64
|
||||
for i := 0; i < iterations; i++ {
|
||||
if v := cpuBenchOnce(duration); v > perf {
|
||||
if v := cpuBenchOnce(duration, useWeakHash, bs); v > perf {
|
||||
perf = v
|
||||
}
|
||||
}
|
||||
@@ -297,17 +305,13 @@ func cpuBench(iterations int, duration time.Duration) float64 {
|
||||
|
||||
var blocksResult []protocol.BlockInfo // so the result is not optimized away
|
||||
|
||||
func cpuBenchOnce(duration time.Duration) float64 {
|
||||
dataSize := 16 * protocol.BlockSize
|
||||
bs := make([]byte, dataSize)
|
||||
rand.Reader.Read(bs)
|
||||
|
||||
func cpuBenchOnce(duration time.Duration, useWeakHash bool, bs []byte) float64 {
|
||||
t0 := time.Now()
|
||||
b := 0
|
||||
for time.Since(t0) < duration {
|
||||
r := bytes.NewReader(bs)
|
||||
blocksResult, _ = scanner.Blocks(r, protocol.BlockSize, int64(dataSize), nil, true)
|
||||
b += dataSize
|
||||
blocksResult, _ = scanner.Blocks(context.TODO(), r, protocol.BlockSize, int64(len(bs)), nil, useWeakHash)
|
||||
b += len(bs)
|
||||
}
|
||||
d := time.Since(t0)
|
||||
return float64(int(float64(b)/d.Seconds()/(1<<20)*100)) / 100
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
package main
|
||||
|
||||
@@ -66,7 +66,7 @@ func (s *verboseService) WaitForStart() {
|
||||
|
||||
func (s *verboseService) formatEvent(ev events.Event) string {
|
||||
switch ev.Type {
|
||||
case events.Ping, events.DownloadProgress, events.LocalIndexUpdated:
|
||||
case events.DownloadProgress, events.LocalIndexUpdated:
|
||||
// Skip
|
||||
return ""
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
// +build ignore
|
||||
|
||||
|
||||
@@ -5,4 +5,4 @@ This directory contains configuration files for running Syncthing under the
|
||||
systemd user service. For further documentation take a look at the [systemd
|
||||
section][1] on https://docs.syncthing.net.
|
||||
|
||||
[1]: https://docs.syncthing.net/users/autostart.html#systemd
|
||||
[1]: https://docs.syncthing.net/users/autostart.html#using-systemd
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
[Unit]
|
||||
Description=Restart Syncthing after resume
|
||||
Documentation=man:syncthing(1)
|
||||
After=suspend.target
|
||||
After=sleep.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=-/usr/bin/pkill -HUP -x syncthing
|
||||
|
||||
[Install]
|
||||
WantedBy=suspend.target
|
||||
WantedBy=sleep.target
|
||||
|
||||
@@ -5,7 +5,7 @@ the "Upstart" service manager on Linux. To have syncthing start when you login
|
||||
place "user/syncthing.conf" in the "/home/[username]/.config/upstart/" folder.
|
||||
To have syncthing start when the system boots place "system/syncthing.conf"
|
||||
in the "/etc/init/" folder.
|
||||
To manualy start syncthing via Upstart when using the system configuration use:
|
||||
To manually start syncthing via Upstart when using the system configuration use:
|
||||
|
||||
```
|
||||
sudo initctl start syncthing
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
*/
|
||||
|
||||
@@ -100,9 +100,20 @@ ul+h5 {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Removing text decoration on anchor link hover pull request: #4135 */
|
||||
.table td.small-data span a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
table.table-condensed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
table.table-dynamic {
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
table.table-condensed td {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
@@ -215,6 +226,13 @@ identicon {
|
||||
height: 1em;
|
||||
}
|
||||
|
||||
a.toggler {
|
||||
color: inherit;
|
||||
}
|
||||
a.toggler:hover {
|
||||
border-bottom: 1px dashed;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Progress bars with centered text
|
||||
@@ -253,6 +271,21 @@ ul.three-columns li, ul.two-columns li {
|
||||
z-index: 980;
|
||||
}
|
||||
|
||||
.globalChanges-path-col {
|
||||
/* These are technically the same, but use both */
|
||||
overflow-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
|
||||
-ms-word-break: break-all;
|
||||
/* This is the dangerous one in WebKit, as it breaks things wherever */
|
||||
word-break: break-all;
|
||||
/* Instead use this non-standard one: */
|
||||
word-break: break-word;
|
||||
}
|
||||
.globalChanges-time-col {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
/** Footer nav on small devices **/
|
||||
@media (max-width: 1199px) {
|
||||
/* Stay at the end of the page, with space reserved for the footer
|
||||
@@ -333,4 +366,4 @@ ul.three-columns li, ul.two-columns li {
|
||||
.navbar-fixed-bottom li {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"Add Device": "ĐĐŸĐ±Đ°ĐČĐž ŃŃŃŃĐŸĐčŃŃĐČĐŸ",
|
||||
"Add Folder": "ĐĐŸĐ±Đ°ĐČĐž папĐșа",
|
||||
"Add Remote Device": "ĐĐŸĐ±Đ°ĐČĐž ĐœĐŸĐČĐŸ ŃŃŃŃĐŸĐčŃŃĐČĐŸ",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "ĐĐŸĐ±Đ°ĐČŃĐœĐ” ĐœĐ° ŃŃŃŃĐŸĐčŃŃĐČа ĐŸŃ ŃпОŃŃĐșа ĐœĐ° Đ·Đ°ĐżĐŸĐ·ĐœĐ°ĐČаŃĐŸŃĐŸ ŃŃŃŃĐŸĐčŃĐČĐŸ ĐČ ĐœĐ°ŃĐžŃŃ ŃпОŃŃĐș Ń ŃŃŃŃĐŸĐčŃŃĐČа, за ĐČĐ·Đ°ĐžĐŒĐœĐŸ ŃĐżĐŸĐŽĐ”Đ»Đ”ĐœĐž папĐșĐž.",
|
||||
"Add new folder?": "ĐĐŸĐ±Đ°ĐČĐž ĐœĐŸĐČа папĐșа?",
|
||||
"Address": "ĐĐŽŃĐ”Ń",
|
||||
"Addresses": "ĐĐŽŃĐ”ŃĐž",
|
||||
@@ -18,16 +19,20 @@
|
||||
"Advanced settings": "ĐĐŸĐżŃĐ»ĐœĐžŃĐ”Đ»ĐœĐž ĐœĐ°ŃŃŃĐŸĐčĐșĐž",
|
||||
"All Data": "ĐŃĐžŃĐșĐž ĐŽĐ°ĐœĐœĐž",
|
||||
"Allow Anonymous Usage Reporting?": "РазŃĐ”ŃĐž Đ°ĐœĐŸĐœĐžĐŒĐœĐŸ ĐŽĐŸĐșлаЎĐČĐ°ĐœĐ” за ŃĐżĐŸŃŃДбаŃа ĐœĐ° ĐżŃĐŸĐłŃĐ°ĐŒĐ°Ńа?",
|
||||
"Allowed Networks": "РазŃĐ”ŃĐ”ĐœĐž ĐŒŃДжО",
|
||||
"Alphabetic": "ĐзбŃŃĐ”Đœ ŃДЎ",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "ĐŃŃга ĐșĐŸĐŒĐ°ĐœĐŽĐ° ŃĐ” Đ·Đ°ĐœĐžĐŒĐ°ĐČа Ń ĐČĐ”ŃŃООŃĐ”. йазО ĐșĐŸĐŒĐ°ĐœĐŽĐ° ŃŃŃбĐČа Ўа ĐżŃĐ”ĐŒĐ°Ń
ĐœĐ” ŃаĐčла ĐŸŃ ŃĐžĐœŃ
ŃĐŸĐœĐžĐ·ĐžŃĐ°ĐœĐ°Ńа папĐșа.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "ĐŃŃга ĐșĐŸĐŒĐ°ĐœĐŽĐ° ŃĐ” Đ·Đ°ĐœĐžĐŒĐ°ĐČа Ń ĐČĐ”ŃŃООŃĐ”. йазО ĐșĐŸĐŒĐ°ĐœĐŽĐ° ŃŃŃбĐČа Ўа ĐżŃĐ”ĐŒĐ°Ń
ĐœĐž ŃаĐčла ĐŸŃ ŃĐžĐœŃ
ŃĐŸĐœĐžĐ·ĐžŃĐ°ĐœĐ°Ńа папĐșа.",
|
||||
"Anonymous Usage Reporting": "ĐĐœĐŸĐœĐžĐŒĐ”Đœ ĐŽĐŸĐșлаЎ",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "ĐŁŃŃŃĐŸĐčŃŃĐČа ĐœĐ°ŃŃŃĐŸĐ”ĐœĐž Ўа ĐżŃДЎŃŃаĐČŃŃ ĐŽŃŃгО ŃŃŃŃĐŸĐčŃŃĐČа ŃŃŃĐŸ ŃĐ” бŃĐŽĐ°Ń ĐŽĐŸĐ±Đ°ĐČĐ”ĐœĐž ĐșŃĐŒ ŃĐŸĐČа ŃŃŃŃĐŸĐčŃŃĐČĐŸ.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "ĐĐČŃĐŸĐŒĐ°ŃĐžŃĐœĐŸŃĐŸ ĐŸĐ±ĐœĐŸĐČŃĐČĐ°ĐœĐ” ĐČĐ”ŃĐ” ĐżŃДЎлага ĐžĐ·Đ±ĐŸŃ ĐŒĐ”Đ¶ĐŽŃ ŃŃĐ°Đ±ĐžĐ»ĐœĐž ĐČĐ”ŃŃОО Đž ĐșĐ°ĐœĐŽĐžĐŽĐ°Ń ĐČĐ”ŃŃОО.",
|
||||
"Automatic upgrades": "ĐĐČŃĐŸĐŒĐ°ŃĐžŃĐœĐŸ ĐŸĐ±ĐœĐŸĐČŃĐČĐ°ĐœĐ”",
|
||||
"Be careful!": "ĐĐœĐžĐŒĐ°ĐœĐžĐ”!",
|
||||
"Bugs": "ĐŃĐłĐŸĐČĐ”",
|
||||
"CPU Utilization": "ĐĐ·ĐżĐŸĐ»Đ·ĐČĐ°Đœ ĐżŃĐŸŃĐ”ŃĐŸŃ",
|
||||
"Changelog": "ХпОŃŃĐș Ń ĐżŃĐŸĐŒĐ”ĐœĐž",
|
||||
"Clean out after": "ĐĐ·ŃĐžŃŃĐž ŃлДЎ",
|
||||
"Click to see discovery failures": "ĐаŃĐžŃĐœĐ”ŃĐ”, за Ўа ĐČОЎОŃĐ” ĐłŃĐ”ŃĐșĐž ĐżŃĐž ĐŸŃĐșŃĐžĐČĐ°ĐœĐ”ŃĐŸ",
|
||||
"Close": "ĐаŃĐČĐŸŃĐž",
|
||||
"Command": "ĐĐŸĐŒĐ°ĐœĐŽĐ°",
|
||||
"Comment, when used at the start of a line": "ĐĐŸĐŒĐ”ĐœŃаŃ, ĐžĐ·ĐżĐŸĐ»Đ·ĐČĐ°Đœ ĐČ ĐœĐ°ŃĐ°Đ»ĐŸŃĐŸ ĐœĐ° ŃДЎа",
|
||||
@@ -39,6 +44,7 @@
|
||||
"Copied from original": "ĐĐŸĐżĐžŃĐ°Đœ ĐŸŃ ĐŸŃĐžĐłĐžĐœĐ°Đ»Đ°",
|
||||
"Copyright © 2014-2016 the following Contributors:": "ĐŃĐžŃĐșĐž ĐżŃаĐČаŃа Đ·Đ°ĐżĐ°Đ·Đ”ĐœĐž © 2014-2016 ĐĄŃŃŃŃĐŽĐœĐžŃĐž:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "ĐŃĐžŃĐșĐž ĐżŃаĐČаŃа Đ·Đ°ĐżĐ°Đ·Đ”ĐœĐž © 2014-2017. ĐĄŃŃŃŃĐŽĐœĐžŃĐž:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "ĐĄŃзЎаĐČĐ°ĐœĐ” ĐœĐ° ŃĐ°Đ±Đ»ĐŸĐœĐž за ĐžĐłĐœĐŸŃĐžŃĐ°ĐœĐ”, ĐżŃДзапОŃĐČĐ°ĐœĐ” ĐœĐ° ŃŃŃĐ”ŃŃĐČŃĐČĐ°Ń ŃаĐčĐ» ĐČ {{path}}.",
|
||||
"Danger!": "ĐпаŃĐœĐŸŃŃ!",
|
||||
"Deleted": "ĐĐ·ŃŃĐžŃĐŸ",
|
||||
"Device": "ĐŁŃŃŃĐŸĐčŃŃĐČĐŸ",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "ĐĐ” Đ” ŃĐČŃŃĐ·Đ°ĐœĐŸ",
|
||||
"Discovered": "ĐŃĐșŃĐžŃ",
|
||||
"Discovery": "ĐŃĐșŃĐžĐČĐ°ĐœĐ”",
|
||||
"Discovery Failures": "ĐŃĐ”ŃĐșа ĐČ ĐŸŃĐșŃĐžĐČĐ°ĐœĐ”ŃĐŸ",
|
||||
"Documentation": "ĐĐŸĐșŃĐŒĐ”ĐœŃаŃĐžŃ",
|
||||
"Download Rate": "ĐĄĐșĐŸŃĐŸŃŃ ĐœĐ° ŃĐČалŃĐœĐ”",
|
||||
"Downloaded": "ĐĐ·ŃĐ”ĐłĐ»Đ”Đœ",
|
||||
@@ -58,17 +65,23 @@
|
||||
"Edit Device": "ĐŃĐŸĐŒŃĐœĐ° ĐœĐ° ŃŃŃŃĐŸĐčŃŃĐČĐŸŃĐŸ",
|
||||
"Edit Folder": "ĐŃĐŸĐŒŃĐœĐ° ĐœĐ° папĐșаŃа",
|
||||
"Editing": "ĐŃĐŸĐŒĐ”ĐœŃĐœĐ”",
|
||||
"Editing {%path%}.": "ĐŃĐŸĐŒŃĐœĐ° ĐœĐ° {{path}}.",
|
||||
"Enable NAT traversal": "РазŃĐ”ŃĐž NAT traversal",
|
||||
"Enable Relaying": "РазŃĐ”ŃĐž ĐżŃДпŃаŃĐ°ĐœĐ”",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "ĐŃĐČДЎДŃĐ” ĐœĐ” ĐŸŃŃĐžŃаŃĐ”Đ»ĐœĐŸ ŃĐžŃĐ»ĐŸ (ĐżŃ. \"2.35\") Đž ОзбДŃĐ”ŃĐ” Đ”ĐŽĐžĐœĐžŃа.\nĐŃĐŸŃĐ”ĐœŃĐžŃĐ” Ńа ĐșаŃĐŸ ŃаŃŃ ĐŸŃ ŃĐ°Đ·ĐŒĐ”Ńа ĐœĐ° ŃŃĐ»ĐŸŃĐŸ ĐŽĐžŃĐșĐŸĐČĐŸ ĐżŃĐŸŃŃŃĐ°ĐœŃŃĐČĐŸ.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "ĐŃĐČДЎДŃĐ” ĐœĐ”ĐżŃĐžĐČОлДгОŃĐŸĐČĐ°Đœ ĐœĐŸĐŒĐ”Ń ĐœĐ° ĐżĐŸŃŃ (1024-65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "ĐŃĐČДЎДŃĐ” аЎŃĐ”ŃĐž ŃĐ°Đ·ĐŽĐ”Đ»Đ”ĐœĐž ŃŃŃ Đ·Đ°ĐżĐ”ŃĐ°Ń (\"tcp://ip:port\", \"tcp://host:port\") ОлО \"dynamic\", за Ўа аĐČŃĐŸĐŒĐ°ŃĐžŃĐœĐŸ ĐŸŃĐșŃĐžĐČĐ°ĐœĐ” ĐœĐ° ĐœĐ°Đ»ĐžŃĐœĐžŃĐ” аЎŃĐ”ŃĐž.",
|
||||
"Enter ignore patterns, one per line.": "ĐĐŸĐ±Đ°ĐČĐž ŃĐ°Đ±Đ»ĐŸĐœĐž за ĐžĐłĐœĐŸŃĐžŃĐ°ĐœĐ”, ĐżĐŸ Đ”ĐŽĐžĐœ ĐœĐ° ŃДЎ.",
|
||||
"Error": "ĐŃĐ”ŃĐșа",
|
||||
"External File Versioning": "ĐŃĐœŃĐœĐŸ ŃĐżŃаĐČĐ»Đ”ĐœĐžĐ” ĐœĐ° ĐČĐ”ŃŃООŃĐ”",
|
||||
"Failed Items": "ĐĐ”ŃŃпДŃĐœĐž",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "ĐĐ”ŃŃпДŃĐœĐ° ĐČŃŃĐ·Đșа ĐșŃĐŒ IPv6 ŃŃŃĐČŃŃĐž ĐŒĐŸĐ¶Đ” Ўа ŃĐ” ĐŸŃаĐșĐČа аĐșĐŸ ĐœŃĐŒĐ° IPv6 ŃĐČŃŃĐ·Đ°ĐœĐŸŃŃ.",
|
||||
"File Pull Order": "РДЎ ĐœĐ° ŃĐČалŃĐœĐ”",
|
||||
"File Versioning": "ĐĐ”ŃŃОО ĐœĐ° ŃаĐčĐ»ĐŸĐČĐ”ŃĐ”",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "ĐĐžŃĐŸĐČĐ”ŃĐ” за ĐżŃаĐČа за ĐŽĐŸŃŃŃĐż ŃĐ” бŃĐŽĐ°Ń ĐžĐłĐœĐŸŃĐžŃĐ°ĐœĐž, ĐșĐŸĐłĐ°ŃĐŸ ŃĐ” ĐżŃĐŸĐČĐ”ŃŃĐČа за ĐżŃĐŸĐŒĐ”ĐœĐž. ĐĐŸĐ»Đ·ĐČаĐčŃĐ” за ŃаĐčĐ»ĐŸĐČĐž ŃĐžŃŃĐ”ĐŒĐž ŃОп FAT.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "ЀаĐčĐ»ĐŸĐČĐ”ŃĐ” бОĐČĐ°Ń ĐżŃĐ”ĐŒĐ”ŃŃĐ”ĐœĐž ĐČ .stversions папĐșа, ĐșĐŸĐłĐ°ŃĐŸ Ńа Đ·Đ°ĐŒĐ”ĐœĐ”Đœ ОлО ОзŃŃĐžŃĐž ĐŸŃ Syncthing.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "ЀаĐčĐ»ĐŸĐČĐ”ŃĐ” бОĐČĐ°Ń ĐżŃĐ”ĐŒĐ”ŃŃĐ”ĐœĐž ĐČ .stversions папĐșа, ĐșĐŸĐłĐ°ŃĐŸ Ńа Đ·Đ°ĐŒĐ”ĐœĐ”Đœ ОлО ОзŃŃĐžŃĐž ĐŸŃ Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "ĐĐŸĐłĐ°ŃĐŸ syncthing Đ·Đ°ĐŒĐ”ĐœĐž ОлО ОзŃŃОД ŃаĐčĐ» ŃĐŸĐč ŃĐ” ĐżŃĐ”ĐŒĐ”ŃŃĐČа ĐČ .stversions Đž ĐżŃĐ”ĐžĐŒĐ”ĐœŃĐČа Ń ĐœĐ°Đ±Đ°ĐČĐ”ĐœĐž ЎаŃа Đž ŃаŃ.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "ĐĐŸĐłĐ°ŃĐŸ syncthing Đ·Đ°ĐŒĐ”ĐœĐž ОлО ОзŃŃОД ŃаĐčĐ» ŃĐŸĐč ŃĐ” ĐżŃĐ”ĐŒĐ”ŃŃĐČа ĐČ .stversions Đž ĐżŃĐ”ĐžĐŒĐ”ĐœŃĐČа Ń ĐœĐ°Đ±Đ°ĐČĐ”ĐœĐž ЎаŃа Đž ŃаŃ.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "ĐаŃĐžŃаĐČа ŃаĐčĐ»ĐŸĐČĐ”ŃĐ” ĐŸŃ ĐżŃĐŸĐŒĐ”ĐœĐž ĐœĐ°ĐżŃаĐČĐ”ĐœĐž ĐœĐ° ĐŽŃŃгО ŃŃŃŃĐŸĐčŃŃĐČа, ĐœĐŸ ĐżŃĐŸĐŒĐ”ĐœĐžŃĐ” ĐœĐ°ĐżŃаĐČĐ”ĐœĐž ĐœĐ° ŃĐŸĐČа ŃŃŃŃĐŸĐčŃŃĐČĐŸ ŃĐ” бŃĐŽĐ°Ń ŃĐžĐœŃ
ŃĐŸĐœĐžĐ·ĐžŃĐ°ĐœĐž Ń ĐŸŃŃĐ°ĐœĐ°Đ»ĐžŃĐ” ŃŃŃŃĐŸĐčŃŃĐČа.",
|
||||
"Folder": "ĐапĐșа",
|
||||
@@ -80,7 +93,9 @@
|
||||
"GUI": "ĐĐŸŃŃДбОŃДлŃĐșĐž ĐžĐœŃĐ”ŃŃĐ”ĐčŃ",
|
||||
"GUI Authentication Password": "ĐаŃĐŸĐ»Đ° за ĐžĐœŃĐ”ŃŃĐ”ĐčŃа",
|
||||
"GUI Authentication User": "ĐĐŸŃŃДбОŃДлŃĐșĐŸ ĐžĐŒĐ” за ĐžĐœŃĐ”ŃŃĐ”ĐčŃа",
|
||||
"GUI Listen Address": "ĐĐŽŃĐ”Ń ĐœĐ° ŃĐ»ŃŃĐ°ĐœĐ” ĐœĐ° GUI-ŃĐŸ",
|
||||
"GUI Listen Addresses": "ĐĐŽŃĐ”Ń Đ·Đ° ŃĐČŃŃĐ·ĐČĐ°ĐœĐ” Ń ĐżĐŸŃŃДбОŃДлŃĐșĐžŃ ĐžĐœŃĐ”ŃŃĐ”ĐčŃ",
|
||||
"GUI Theme": "ĐąĐ”ĐŒĐ° за ĐżĐŸŃŃДбОŃДлŃĐșĐžŃ ĐžĐœŃĐ”ŃĐ”ĐčŃ",
|
||||
"Generate": "ĐĐ”ĐœĐ”ŃĐžŃаĐč",
|
||||
"Global Changes": "ĐĐ»ĐŸĐ±Đ°Đ»ĐœĐž ĐżŃĐŸĐŒĐ”ĐœĐž",
|
||||
"Global Discovery": "ĐĐ»ĐŸĐ±Đ°Đ»ĐœĐŸ ĐŸŃĐșŃĐžĐČĐ°ĐœĐ”",
|
||||
@@ -103,6 +118,7 @@
|
||||
"Last seen": "ĐĐŸŃĐ»Đ”ĐŽĐœĐŸ ĐČОЎŃĐœĐŸ",
|
||||
"Later": "ĐĐŸ-ĐșŃŃĐœĐŸ",
|
||||
"Latest Change": "ĐĐŸŃĐ»Đ”ĐŽĐœĐ° ĐżŃĐŸĐŒŃĐœĐ°",
|
||||
"Learn more": "ĐаŃŃĐ”ŃĐ” ĐżĐŸĐČĐ”ŃĐ”",
|
||||
"Listeners": "ĐĄĐžĐœŃ
ŃĐŸĐœĐžĐ·ĐžŃаŃĐž ŃŃŃŃĐŸĐčŃŃĐČа",
|
||||
"Local Discovery": "ĐĐŸĐșĐ°Đ»ĐœĐŸ ĐŸŃĐșŃĐžĐČĐ°ĐœĐ”",
|
||||
"Local State": "ĐĐŸĐșĐ°Đ»ĐœĐŸ ŃŃŃŃĐŸŃĐœĐžĐ”",
|
||||
@@ -120,6 +136,7 @@
|
||||
"Newest First": "ĐŃŃĐČĐŸ ĐœĐ°Đč-ĐœĐŸĐČĐžŃĐ”",
|
||||
"No": "ĐĐ”",
|
||||
"No File Versioning": "ĐДз ĐČĐ”ŃŃОО",
|
||||
"No upgrades": "ĐŃĐŒĐ° ĐŸĐ±ĐœĐŸĐČĐ»Đ”ĐœĐžŃ",
|
||||
"Normal": "ĐĐŸŃĐŒĐ°Đ»Đ”Đœ",
|
||||
"Notice": "ĐĐ·ĐČĐ”ŃŃОД",
|
||||
"OK": "ĐĐ",
|
||||
@@ -133,12 +150,16 @@
|
||||
"Override Changes": "ĐĐ°Đ»ĐŸĐ¶Đž Đ»ĐŸĐșĐ°Đ»ĐœĐžŃĐ” ĐżŃĐŸĐŒĐ”ĐœĐž",
|
||||
"Path": "ĐŃŃ",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "ĐŃŃ ĐŽĐŸ папĐșаŃа ĐœĐ° ŃĐŸĐČа ŃŃŃŃĐŸĐčŃŃĐČĐŸ. ĐĐșĐŸ ĐœĐ” ŃŃŃĐ”ŃŃĐČŃĐČа ŃĐ” бŃĐŽĐ” ŃŃĐ·ĐŽĐ°ĐŽĐ”ĐœĐ°. ĐĄĐžĐŒĐČĐŸĐ»ŃŃ ŃОлЎа (~) ĐŒĐŸĐ¶Đ” Ўа бŃĐŽĐ” ĐžĐ·ĐżĐŸĐ»Đ·ĐČĐ°Đœ ĐșаŃĐŸ Đ·Đ°ĐŒĐ”ŃŃĐžŃДл ĐœĐ°",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "ĐŃŃŃŃ, ĐșŃĐŽĐ”ŃĐŸ ĐČĐ”ŃŃООŃĐ” Ўа бŃĐŽĐ°Ń ŃĐșлаЎОŃĐ°ĐœĐž(ĐŸŃŃаĐČĐ”ŃĐ” ĐżŃĐ°Đ·ĐœĐŸ за папĐșаŃа .stversions).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "ĐŃŃŃŃ, ĐșŃĐŽĐ”ŃĐŸ ĐČĐ”ŃŃООŃĐ” Ўа бŃĐŽĐ°Ń ŃĐșлаЎОŃĐ°ĐœĐž(ĐŸŃŃаĐČĐž ĐżŃĐ°Đ·ĐœĐŸ за папĐșаŃа .stversions).",
|
||||
"Pause": "ĐаŃза",
|
||||
"Pause All": "ĐаŃза ĐœĐ° ĐČĐžŃŃĐșĐŸ",
|
||||
"Paused": "Đа паŃза",
|
||||
"Please consult the release notes before performing a major upgrade.": "ĐĐŸĐ»Ń ĐżŃĐŸŃĐ”ŃĐž бДлДжĐșĐžŃĐ” ĐżĐŸ ĐŸĐ±ĐœĐŸĐČŃĐČĐ°ĐœĐ”ŃĐŸ ĐżŃДЎО Ўа Đ·Đ°ĐżĐŸŃĐœĐ”Ń.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "ĐĐŸĐ»Ń Đ·Đ°ĐŽĐ°ĐčŃĐ” ĐżĐŸŃŃДбОŃДлŃĐșĐŸ ĐžĐŒĐ” Đž паŃĐŸĐ»Đ° за ĐżĐŸŃŃДбОŃДлŃĐșĐžŃ ĐžĐœŃĐ”ŃŃĐ”ĐčŃ ĐČ ŃĐ”ĐșŃĐžŃŃа ĐаŃŃŃĐŸĐčĐșĐž.",
|
||||
"Please wait": "ĐĐŸĐ»Ń ĐžĐ·ŃаĐșаĐč",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "ĐŃДЎŃŃаĐČĐșа, ĐșĐŸŃŃĐŸ ĐžĐœĐŽĐžĐșĐžŃа, ŃĐ” ŃаĐčĐ»ŃŃ ĐŒĐŸĐ¶Đ” Ўа бŃĐŽĐ” ОзŃŃĐžŃ Đ°ĐșĐŸ ĐżŃĐ”ŃĐž ĐœĐ° ĐżŃĐ”ĐŒĐ°Ń
ĐČĐ°ĐœĐ”ŃĐŸ ĐœĐ° папĐșа",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "ĐŃДЎŃŃаĐČĐșа, ĐșĐŸŃŃĐŸ ĐžĐœĐŽĐžĐșĐžŃа, ŃĐ” Đ·Đ°ĐŽĐ°ĐŽĐ”ĐœĐžŃ ŃĐ°Đ±Đ»ĐŸĐœ ŃŃŃбĐČа Ўа бŃĐŽĐ” ĐżŃĐŸĐČĐ”ŃĐ”Đœ бДз Đ·ĐœĐ°ŃĐ”ĐœĐžĐ” за глаĐČĐœĐž/ĐŒĐ°Đ»ĐșĐž бŃĐșĐČĐž",
|
||||
"Preview": "ĐŃДглДЎ",
|
||||
"Preview Usage Report": "РазглДЎаĐč ĐŽĐŸĐșлаЎа за ĐžĐ·ĐżĐŸĐ»Đ·ĐČĐ°ĐœĐ”",
|
||||
"Quick guide to supported patterns": "ĐŃŃĐ· ĐœĐ°ŃŃŃĐœĐžĐș ĐșŃĐŒ ĐżĐŸĐŽĐŽŃŃĐ¶Đ°ĐœĐžŃĐ” ŃĐ°Đ±Đ»ĐŸĐœĐž",
|
||||
@@ -146,6 +167,7 @@
|
||||
"Random": "ĐŃĐŸĐžĐ·ĐČĐŸĐ»Đ”Đœ",
|
||||
"Reduced by ignore patterns": "ĐĐ°ĐŒĐ°Đ»Đ”ĐœĐŸ ĐżĐŸŃŃДЎŃŃĐČĐŸĐŒ ŃĐ°Đ±Đ»ĐŸĐœ за ĐžĐłĐœĐŸŃĐžŃĐ°ĐœĐ”",
|
||||
"Release Notes": "ĐДлДжĐșĐž ĐżĐŸ ĐŸĐ±ĐœĐŸĐČŃĐČĐ°ĐœĐ”ŃĐŸ",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "ĐĐ°ĐœĐŽĐžĐŽĐ°Ń ĐČĐ”ŃŃООŃĐ” ŃŃĐŽŃŃĐ¶Đ°Ń ĐœĐ°Đč-ĐœĐŸĐČаŃа ŃŃĐœĐșŃĐžĐŸĐœĐ°Đ»ĐœĐŸŃŃ Đž ĐżĐŸĐżŃаĐČĐșĐž. йД Ńа блОзĐșĐž ĐŽĐŸ ŃŃаЎОŃĐžĐŸĐœĐœĐžŃĐ” ĐŽĐČŃ-ŃĐ”ĐŽĐŒĐžŃĐœĐž Synchthing ĐŸĐ±ĐœĐŸĐČĐ»Đ”ĐœĐžŃ.",
|
||||
"Remote Devices": "ЧŃжЎО ŃŃŃŃĐŸĐčŃŃĐČа",
|
||||
"Remove": "ĐŃĐ”ĐŒĐ°Ń
ĐœĐž",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "ĐаЎŃлжОŃĐ”Đ»Đ”Đœ ĐžĐŽĐ”ĐœŃĐžŃĐžĐșаŃĐŸŃ Đ·Đ° ŃазО папĐșа. ĐąŃŃбĐČа Ўа бŃĐŽĐ” Đ”ĐŽĐžĐœ Đž ŃŃŃ ĐœĐ° ĐČŃĐžŃĐșĐž ŃŃŃŃĐŸĐčŃŃĐČа.",
|
||||
@@ -156,6 +178,7 @@
|
||||
"Restart Needed": "ĐĐ·ĐžŃĐșĐČа ŃĐ” ŃĐ”ŃŃаŃŃĐžŃĐ°ĐœĐ”",
|
||||
"Restarting": "Đ Đ”ŃŃаŃŃĐžŃĐ°ĐœĐ”",
|
||||
"Resume": "ĐŃŃĐœĐž",
|
||||
"Resume All": "ĐŃŃĐșĐ°ĐœĐ” ĐœĐ° ĐČŃĐžŃĐșĐŸ",
|
||||
"Reused": "ĐĐŸĐČŃĐŸŃĐœĐŸ ĐžĐ·ĐżĐŸĐ»Đ·ĐČĐ°Đœ",
|
||||
"Save": "ĐапазО",
|
||||
"Scan Time Remaining": "ĐŃŃаĐČаŃĐŸ ĐČŃĐ”ĐŒĐ” за ŃĐșĐ°ĐœĐžŃĐ°ĐœĐ”",
|
||||
@@ -181,6 +204,9 @@
|
||||
"Single level wildcard (matches within a directory only)": "ĐаŃĐșа ĐœĐ° Đ”ĐŽĐœĐŸ ĐœĐžĐČĐŸ (ĐżĐŸĐșŃĐžĐČа ŃĐ°ĐŒĐŸ ĐČ ĐżĐ°ĐżĐșа)",
|
||||
"Smallest First": "ĐŃŃĐČĐŸ ĐœĐ°Đč-ĐŒĐ°Đ»ĐșĐžŃĐ”",
|
||||
"Source Code": "ĐĄĐŸŃŃ ĐșĐŸĐŽ",
|
||||
"Stable releases and release candidates": "ĐĄŃĐ°Đ±ĐžĐ»ĐœĐž ĐČĐ”ŃŃОО Đž ĐșĐ°ĐœĐŽĐžĐŽĐ°ŃĐž за ŃŃĐ°Đ±ĐžĐ»ĐœĐž ĐČĐ”ŃŃОО",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "ĐĄŃĐ°Đ±ĐžĐ»ĐœĐžŃĐ” ĐČĐ”ŃŃОО Ńа забаĐČĐ”ĐœĐž Ń ĐŽĐČĐ” ŃĐ”ĐŽĐŒĐžŃĐž. ĐŃДз ŃĐŸĐČа ĐČŃĐ”ĐŒĐ” ŃĐ” ĐżŃĐ”ĐŒĐžĐœĐ°ĐČĐ°Ń ĐżŃДз ŃĐ”ŃŃĐČĐ°ĐœĐ” ĐșаŃĐŸ бŃĐŽĐ°Ń ĐșĐ°ĐœĐŽĐžĐŽĐ°Ń ĐČĐ”ŃŃОО.",
|
||||
"Stable releases only": "ĐĄĐ°ĐŒĐŸ ŃŃĐ°Đ±ĐžĐ»ĐœĐž ĐČĐ”ŃŃОО",
|
||||
"Staggered File Versioning": "ĐаŃлагĐČаŃĐž ŃĐ” ĐČĐ”ŃŃОО",
|
||||
"Start Browser": "ĐĄŃаŃŃĐžŃаĐč бŃаŃĐ·ŃŃа",
|
||||
"Statistics": "ĐĄŃаŃĐžŃŃĐžĐșа",
|
||||
@@ -221,6 +247,7 @@
|
||||
"This Device": "ĐаŃĐ”ŃĐŸ ŃŃŃŃĐŸĐčŃŃĐČĐŸ",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "ĐąĐŸĐČа ЎаĐČа лДŃĐ”Đœ ĐŽĐŸŃŃŃĐż ĐœĐ° Ń
аĐșĐ”ŃĐž Ўа ŃĐ°Đ·ĐłĐ»Đ”Đ¶ĐŽĐ°Ń Đž ĐżŃĐŸĐŒĐ”ĐœŃŃ ĐČŃŃĐșаĐșĐČĐž ŃаĐčĐ»ĐŸĐČĐ” ĐœĐ° ĐșĐŸĐŒĐżŃŃŃŃа ĐĐž.",
|
||||
"This is a major version upgrade.": "ĐąĐŸĐČа Đ” ĐœĐŸĐČа ĐŸŃĐœĐŸĐČĐœĐ° ĐČĐ”ŃŃĐžŃ.",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "йазО ĐœĐ°ŃŃŃĐŸĐčĐșа ĐșĐŸĐœŃŃĐŸĐ»ĐžŃа ĐœŃĐ¶ĐœĐŸŃĐŸ ŃĐČĐŸĐ±ĐŸĐŽĐœĐŸŃĐŸ ĐŒŃŃŃĐŸ ĐœĐ° ĐŸŃĐœĐŸĐČĐœĐžŃ (ĐżŃ. ŃĐŸĐ·Đž Ń Đ±Đ°Đ·Đ°Ńа ĐŽĐ°ĐœĐœĐž) ĐŽĐžŃĐș.",
|
||||
"Time": "ĐŃĐ”ĐŒĐ”",
|
||||
"Trash Can File Versioning": "ĐĄĐ°ĐŒĐŸ ĐœĐ° ŃаĐčĐ»ĐŸĐČĐ”ŃĐ” ĐČ ĐșĐŸŃŃĐ”ŃĐŸ",
|
||||
"Type": "йОп",
|
||||
@@ -234,6 +261,7 @@
|
||||
"Upgrading": "ĐĐ±ĐœĐŸĐČŃĐČĐ°ĐœĐ”",
|
||||
"Upload Rate": "ĐĄĐșĐŸŃĐŸŃŃ ĐœĐ° ĐșаŃĐČĐ°ĐœĐ”",
|
||||
"Uptime": "Đ Đ°Đ±ĐŸŃĐž ĐŸŃ",
|
||||
"Usage reporting is always enabled for candidate releases.": "ĐĐŸĐșлаЎŃŃ Đ·Đ° ĐżĐŸĐ»Đ·ĐČĐ°ĐœĐ”ŃĐŸ Đ” ĐČĐžĐœĐ°ĐłĐž ĐČĐșĐ»ŃŃĐ”Đœ за ĐșĐ°ĐœĐŽĐžĐŽĐ°Ń ĐœĐŸĐČĐž ĐČĐ”ŃŃОО.",
|
||||
"Use HTTPS for GUI": "ĐĐ·ĐżĐŸĐ»Đ·ĐČаĐč HTTPS за ĐżĐŸŃŃДбОŃДлŃĐșĐžŃ ĐžĐœŃĐ”ŃŃĐ”ĐčŃ",
|
||||
"Version": "ĐĐ”ŃŃĐžŃ",
|
||||
"Versions Path": "ĐŃŃ ĐŽĐŸ ĐČĐ”ŃŃООŃĐ”",
|
||||
@@ -245,6 +273,9 @@
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "ĐĐŸĐłĐ°ŃĐŸ ĐŽĐŸĐ±Đ°ĐČŃŃ ĐœĐŸĐČĐŸ ŃŃŃŃĐŸĐčŃŃĐČĐŸ ĐżĐŸĐŒĐœĐž, ŃĐ” ŃĐČĐŸĐ”ŃĐŸ ŃŃŃŃĐŸĐčŃŃĐČĐŸ ŃŃŃĐŸ ŃŃŃбĐČа Ўа бŃĐŽĐ” ĐŽĐŸĐ±Đ°ĐČĐ”ĐœĐŸ ĐŸŃ ĐŽŃŃгаŃа ŃŃŃĐ°ĐœĐ°.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "ĐĐŸĐłĐ°ŃĐŸ ĐŽĐŸĐ±Đ°ĐČŃŃ ĐœĐŸĐČ ĐžĐŽĐ”ĐœŃĐžŃĐžĐșаŃĐŸŃ ĐœĐ° папĐșа ĐżĐŸĐŒĐœĐž, ŃĐ” ŃĐŸĐč ŃĐ” ĐžĐ·ĐżĐŸĐ»Đ·ĐČа за ŃĐČŃŃĐ·ĐČĐ°ĐœĐ” ĐœĐ° папĐșĐžŃĐ” ĐœĐ° ŃазлОŃĐœĐž ŃŃŃŃĐŸĐčŃŃĐČа. ĐлаĐČĐœĐž/ĐŒĐ°Đ»ĐșĐž бŃĐșĐČĐž Ńа ĐŸŃ Đ·ĐœĐ°ŃĐ”ĐœĐžĐ” Đž ŃŃŃбĐČа Ўа Ńа Đ”ĐŽĐœĐ°ĐșĐČĐž ĐœĐ° ĐČŃĐžŃĐșĐž ŃŃŃŃĐŸĐčŃŃĐČа.",
|
||||
"Yes": "Đа",
|
||||
"You can also select one of these nearby devices:": "ĐĄŃŃĐŸ ŃаĐșа ĐŒĐŸĐ¶Đ” Ўа ОзбДŃĐ”ŃĐ” Đ”ĐŽĐœĐŸ ĐŸŃ ŃĐ»Đ”ĐŽĐœĐžŃĐ” ŃŃŃŃĐŸĐčŃĐČа ĐœĐ°ĐŒĐžŃаŃĐž ŃĐ” ĐœĐ°Đ±Đ»ĐžĐ·ĐŸ:",
|
||||
"You can change your choice at any time in the Settings dialog.": "ĐĐŸĐ¶Đ” Ўа ĐżŃĐŸĐŒĐ”ĐœĐžŃĐ” ŃĐ”ŃĐ”ĐœĐžĐ”ŃĐŸ ŃĐž ĐżĐŸ ĐČŃŃĐșĐŸ ĐČŃĐ”ĐŒĐ” ĐČ ĐżŃĐŸĐ·ĐŸŃĐ”Ńа ĐаŃŃŃĐŸĐčĐșĐž.",
|
||||
"You can read more about the two release channels at the link below.": "ĐĐŸĐ¶Đ” Ўа ĐœĐ°ŃŃĐžŃĐ” ĐŽĐŸĐżŃĐ»ĐœĐžŃĐ”Đ»ĐœĐŸ за ĐŽĐČаŃа ĐșĐ°ĐœĐ°Đ»Đ° ĐœĐ° ĐČĐ”ŃŃОО, ŃлДЎĐČаĐčĐșĐž ĐČŃŃĐ·ĐșаŃа ĐżĐŸ-ĐŽĐŸĐ»Ń.",
|
||||
"You must keep at least one version.": "ĐąŃŃбĐČа Ўа ĐżĐ°Đ·ĐžŃ ĐżĐŸĐœĐ” Đ”ĐŽĐœĐ° ĐČĐ”ŃŃĐžŃ.",
|
||||
"days": "ĐŽĐœĐž",
|
||||
"directories": "ĐŽĐžŃĐ”ĐșŃĐŸŃОО",
|
||||
|
||||
@@ -1,256 +0,0 @@
|
||||
{
|
||||
"A device with that ID is already added.": "Ja s'ha afegit un dispositiu amb aquesta ID.",
|
||||
"A negative number of days doesn't make sense.": "Un nombre negatiu de dies no té sentit.",
|
||||
"A new major version may not be compatible with previous versions.": "Una nova versiĂł major pot ser incompatible amb versions anteriors.",
|
||||
"API Key": "Clau API",
|
||||
"About": "Sobre",
|
||||
"Action": "Action",
|
||||
"Actions": "Accions",
|
||||
"Add": "Afegir",
|
||||
"Add Device": "Afegir dispositiu",
|
||||
"Add Folder": "Afegir carpeta",
|
||||
"Add Remote Device": "Add Remote Device",
|
||||
"Add new folder?": "Afegir nova carpeta?",
|
||||
"Address": "Adreça",
|
||||
"Addresses": "Adreces",
|
||||
"Advanced": "Avançat",
|
||||
"Advanced Configuration": "Configuració Avançada",
|
||||
"Advanced settings": "Advanced settings",
|
||||
"All Data": "Totes les dades",
|
||||
"Allow Anonymous Usage Reporting?": "Permetre l'enviament anĂČnim d'informes d'Ășs?",
|
||||
"Alphabetic": "AlfabĂštic",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Un comando extern s'encarrega del control de versions. Ha d'eliminar l'arxiu de la carpeta sincronitzada.",
|
||||
"Anonymous Usage Reporting": "Informe anĂČnim d'Ășs",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Qualsevol dispositiu configurat en un dispositiu introductor també s'afegirà a aquest dispositiu.",
|
||||
"Automatic upgrades": "Actualitzacions automĂ tiques",
|
||||
"Be careful!": "Ves amb compte!",
|
||||
"Bugs": "Bugs",
|
||||
"CPU Utilization": "UtilitzaciĂł del CPU",
|
||||
"Changelog": "Historial de canvis",
|
||||
"Clean out after": "Netejar després",
|
||||
"Close": "Tancar",
|
||||
"Command": "Comando",
|
||||
"Comment, when used at the start of a line": "Comentari quan Ă©s usat al principi d'una lĂnia",
|
||||
"Compression": "CompressiĂł",
|
||||
"Configured": "Configured",
|
||||
"Connection Error": "Error de connexiĂł",
|
||||
"Connection Type": "Connection Type",
|
||||
"Copied from elsewhere": "Copiat d'un altre lloc",
|
||||
"Copied from original": "Copiat de l'original",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 the following Contributors:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 the following Contributors:",
|
||||
"Danger!": "Perill!",
|
||||
"Deleted": "Esborrat",
|
||||
"Device": "Device",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "Device \"{{name}}\" ({{device}} at {{address}}) wants to connect. Add new device?",
|
||||
"Device ID": "ID del dispositiu",
|
||||
"Device Identification": "IdentificaciĂł del dispositiu",
|
||||
"Device Name": "Nom del dispositiu",
|
||||
"Devices": "Dispositius",
|
||||
"Disconnected": "Desconnectat",
|
||||
"Discovered": "Discovered",
|
||||
"Discovery": "Descobriment",
|
||||
"Documentation": "DocumentaciĂł",
|
||||
"Download Rate": "Tasca de descarrega",
|
||||
"Downloaded": "Descarregat",
|
||||
"Downloading": "Descarregant",
|
||||
"Edit": "Editar",
|
||||
"Edit Device": "Edit Device",
|
||||
"Edit Folder": "Edit Folder",
|
||||
"Editing": "Modificant",
|
||||
"Enable NAT traversal": "Enable NAT traversal",
|
||||
"Enable Relaying": "Enable Relaying",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Introdueix adreces separades per comes (\"tcp://ip:port\", \"tcp://host:port\") o \"dinà mic\" per realitzar descobriments automà tics de l'adreça.",
|
||||
"Enter ignore patterns, one per line.": "Introduex patrons a ignorar, un per lĂnia.",
|
||||
"Error": "Error",
|
||||
"External File Versioning": "Versionat de fitxers extern",
|
||||
"Failed Items": "Elements fallats",
|
||||
"File Pull Order": "Ordre d'agafar fitxers",
|
||||
"File Versioning": "Versionat de Fitxers",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Els bits de permisos dels fitxers son ignorats quan es cerquen canvis. Utilitzar en sistemes de fitxers FAT.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Els fitxers són moguts a la carpeta .stversions quan són reemplaçats o esborrats per Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Els fitxers es mouen amb l'estampat de la data a la carpeta .stversions quan son substituĂŻts o esborrats per syncthing.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Els fitxers estan protegits de canvis fets per altres dispositius, perĂČ els canvis fets en aquest dispositiu seran enviats a la resta del cluster.",
|
||||
"Folder": "Carpeta",
|
||||
"Folder ID": "ID de carpeta",
|
||||
"Folder Label": "Folder Label",
|
||||
"Folder Path": "CamĂ de carpeta",
|
||||
"Folder Type": "Folder Type",
|
||||
"Folders": "Carpetes",
|
||||
"GUI": "GUI",
|
||||
"GUI Authentication Password": "Contrasenya d'autenticaciĂł GUI",
|
||||
"GUI Authentication User": "Usuari d'autenticaciĂł GUI",
|
||||
"GUI Listen Addresses": "Adreça d'escolta del GUI",
|
||||
"Generate": "Generar",
|
||||
"Global Changes": "Global Changes",
|
||||
"Global Discovery": "Descobriment Global",
|
||||
"Global Discovery Servers": "Global Discovery Servers",
|
||||
"Global State": "Estat global",
|
||||
"Help": "Ajuda",
|
||||
"Home page": "PĂ gina d'inici",
|
||||
"Ignore": "Ignorar",
|
||||
"Ignore Patterns": "Patrons d'ignoraciĂł",
|
||||
"Ignore Permissions": "Ignora Permisos",
|
||||
"Incoming Rate Limit (KiB/s)": "LĂmit de velocitat d'entrada (KiB/s)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "Una configuraciĂł incorrecta pot malmetre els continguts de la teva carpeta i que Syncthing esdevingui inoperatiu.",
|
||||
"Introduced By": "Introduced By",
|
||||
"Introducer": "Introductor",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "InversiĂł del patrĂČ introduĂŻt",
|
||||
"Keep Versions": "Mantenir Versions",
|
||||
"Largest First": "Més gran primer",
|
||||
"Last File Received": "Ăltim fitxer rebut",
|
||||
"Last Scan": "Last Scan",
|
||||
"Last seen": "Vist per Ășltima vegada",
|
||||
"Later": "Després",
|
||||
"Latest Change": "Latest Change",
|
||||
"Listeners": "Listeners",
|
||||
"Local Discovery": "Descobriment Local",
|
||||
"Local State": "Estat local",
|
||||
"Local State (Total)": "Estat local (Total)",
|
||||
"Major Upgrade": "ActualitzaciĂł major",
|
||||
"Master": "Master",
|
||||
"Maximum Age": "Antiguitat MĂ xima",
|
||||
"Metadata Only": "Només metadades",
|
||||
"Minimum Free Disk Space": "Espai de disc lliure mĂnim",
|
||||
"Move to top of queue": "Moure al primer de la cua",
|
||||
"Multi level wildcard (matches multiple directory levels)": "CarĂ cter comodĂ de nivell mĂșltiple (aparella en carpetes de nivells mĂșltiples)",
|
||||
"Never": "Mai",
|
||||
"New Device": "Nou dispositiu",
|
||||
"New Folder": "Nova carpeta",
|
||||
"Newest First": "Més nou primer",
|
||||
"No": "No",
|
||||
"No File Versioning": "Sense Versionat de Fitxer",
|
||||
"Normal": "Normal",
|
||||
"Notice": "AvĂs",
|
||||
"OK": "OK",
|
||||
"Off": "Desactivar",
|
||||
"Oldest First": "Més antic primer",
|
||||
"Optional descriptive label for the folder. Can be different on each device.": "Optional descriptive label for the folder. Can be different on each device.",
|
||||
"Options": "Opcions",
|
||||
"Out of Sync": "Fora de sincronia",
|
||||
"Out of Sync Items": "Arxius encara no sincronitzats",
|
||||
"Outgoing Rate Limit (KiB/s)": "LĂmit de velocitat de sortida (KiB/s)",
|
||||
"Override Changes": "Sobreescriure Canvis",
|
||||
"Path": "Path",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Ruta de la carpeta a l'equip local. Si no existeix serĂ creada. El carĂ cter (~) es pot fer servir com a drecera de",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Ruta on les versions s'haurien de guardar (deixa-ho buit per fer servir el directori .stversions per defecte a la carpeta)",
|
||||
"Pause": "Pausa",
|
||||
"Paused": "Pausat",
|
||||
"Please consult the release notes before performing a major upgrade.": "Si us plau consulta les notes de llançament abans de realitzar una actualització major.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Si us plau, estableix un usuari i contrasenya al GUI a través del quadre de dià leg de configuració.",
|
||||
"Please wait": "Si-us-plau espera",
|
||||
"Preview": "Vista prĂšvia",
|
||||
"Preview Usage Report": "Vista PrĂšvia de l'Informe d'Ăs",
|
||||
"Quick guide to supported patterns": "Guia rĂ pida per als possibles patrons",
|
||||
"RAM Utilization": "UtilitzaciĂł de la RAM",
|
||||
"Random": "Aleatori",
|
||||
"Reduced by ignore patterns": "Reduced by ignore patterns",
|
||||
"Release Notes": "Notes de llançament",
|
||||
"Remote Devices": "Remote Devices",
|
||||
"Remove": "Esborrar",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Required identifier for the folder. Must be the same on all cluster devices.",
|
||||
"Rescan": "Re-escanejar",
|
||||
"Rescan All": "Re-escanejar tot",
|
||||
"Rescan Interval": "Interval de re-escaneig",
|
||||
"Restart": "Reiniciar",
|
||||
"Restart Needed": "Ăs Necessari Reiniciar",
|
||||
"Restarting": "Reiniciant",
|
||||
"Resume": "Reprendre",
|
||||
"Reused": "Reutilitzat",
|
||||
"Save": "Guardar",
|
||||
"Scan Time Remaining": "Temps d'escanejat restant",
|
||||
"Scanning": "Escanejant",
|
||||
"Select the devices to share this folder with.": "Selecciona els dispositius en els quals compartir aquesta carpeta.",
|
||||
"Select the folders to share with this device.": "Selecciona la carpeta per a compartir en aquest dispositiu.",
|
||||
"Send & Receive": "Send & Receive",
|
||||
"Send Only": "Send Only",
|
||||
"Settings": "PreferĂšncies",
|
||||
"Share": "Compartir",
|
||||
"Share Folder": "Compartir carpeta",
|
||||
"Share Folders With Device": "Compartir carpetes en dispositiu",
|
||||
"Share With Devices": "Compartir en dispositius",
|
||||
"Share this folder?": "Compartir aquesta carpeta?",
|
||||
"Shared With": "Compartir Amb",
|
||||
"Show ID": "Mostrar ID",
|
||||
"Show QR": "Show QR",
|
||||
"Shown instead of Device ID in the cluster status. Will be advertised to other devices as an optional default name.": "Mostrat en comptes del ID del Node en l'estat del cluster. SerĂ advertit als altres dispositius com un nom opcional per defecte.",
|
||||
"Shown instead of Device ID in the cluster status. Will be updated to the name the device advertises if left empty.": "Mostrat en comptes del ID del Node en l'estat del cluster. S'actualitzarĂ al nom del dispositiu si es deixa buit.",
|
||||
"Shutdown": "Apagar",
|
||||
"Shutdown Complete": "Apagat complet",
|
||||
"Simple File Versioning": "Versionat de Fitxers Senzill",
|
||||
"Single level wildcard (matches within a directory only)": "CarĂ cter comodĂ de nivell singular (aparella sĂłls en una carpeta)",
|
||||
"Smallest First": "Més petit primer",
|
||||
"Source Code": "Codi Font",
|
||||
"Staggered File Versioning": "Versionat de Fitxers Esglaonat",
|
||||
"Start Browser": "Arrancar Navegador",
|
||||
"Statistics": "EstadĂstiques",
|
||||
"Stopped": "Aturat",
|
||||
"Support": "Suport",
|
||||
"Sync Protocol Listen Addresses": "Adreça d'escolta del Protocol Sync",
|
||||
"Syncing": "Synthing",
|
||||
"Syncthing has been shut down.": "S'ha aturat el synthing.",
|
||||
"Syncthing includes the following software or portions thereof:": "Syncthing inclou el segĂŒent programari o parts dels mateixos:",
|
||||
"Syncthing is restarting.": "Reiniciant syncthing.",
|
||||
"Syncthing is upgrading.": "Actualitzant syncthing.",
|
||||
"Syncthing seems to be down, or there is a problem with your Internet connection. RetryingâŠ": "Synthing sembla parat, o hi ha algun problema amb la connexiĂł a Internet. Reintentant...",
|
||||
"Syncthing seems to be experiencing a problem processing your request. Please refresh the page or restart Syncthing if the problem persists.": "Sembla ser que Syncthing estĂ tinguent problemes per processar la teva peticiĂł. Si us plau, refresca la pĂ gina o reinicia Syncthing si el problema persisteix.",
|
||||
"The Syncthing admin interface is configured to allow remote access without a password.": "La interfĂcie d'administraciĂł de Syncthing estĂ configurada per permetre l'accĂ©s remot sense contrasenya.",
|
||||
"The aggregated statistics are publicly available at the URL below.": "The aggregated statistics are publicly available at the URL below.",
|
||||
"The configuration has been saved but not activated. Syncthing must restart to activate the new configuration.": "La configuraciĂł s'ha guardar perĂČ no s'ha activat. S'ha de reiniciar el synthing per activar la nova configuraciĂł.",
|
||||
"The device ID cannot be blank.": "El ID del dispositiu no pot estar en blanc.",
|
||||
"The device ID to enter here can be found in the \"Actions > Show ID\" dialog on the other device. Spaces and dashes are optional (ignored).": "The device ID to enter here can be found in the \"Actions > Show ID\" dialog on the other device. Spaces and dashes are optional (ignored).",
|
||||
"The encrypted usage report is sent daily. It is used to track common platforms, folder sizes and app versions. If the reported data set is changed you will be prompted with this dialog again.": "L'informe d'Ășs encriptat s'envia diĂ riament. Es fa servir per rastrejar plataformes habituals, mides de carpetes i versions de l'aplicaciĂł. Si es canvia el conjunt de dades reportades es demanarĂ amb aquest diĂ leg de nou.",
|
||||
"The entered device ID does not look valid. It should be a 52 or 56 character string consisting of letters and numbers, with spaces and dashes being optional.": "El ID del dispositiu introduĂŻt no sembla vĂ lid. Hauria de tenir 52 o 56 carĂ cters amb lletres i nĂșmeros, els espais i les barres son opcionals.",
|
||||
"The first command line parameter is the folder path and the second parameter is the relative path in the folder.": "El primer parĂ metre de la lĂnia de comandes Ă©s el camĂ a la carpeta i el segon parĂ metre Ă©s el camĂ relatiu a la carpeta.",
|
||||
"The folder ID cannot be blank.": "El ID del dispositiu no pot estar en blanc.",
|
||||
"The folder ID must be unique.": "El ID de la carpeta ha de ser Ășnic.",
|
||||
"The folder path cannot be blank.": "El camĂ a la carpeta no pot estar en blanc.",
|
||||
"The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.": "Es fan servir els segĂŒents intervals: per la primera hora es mantĂ© una versiĂł cada 30 segons, pel primer dia es mantĂ© una versiĂł cada hora, pel primer cada 30 dies es mantĂ© una versiĂł cada dia, fins el mĂ xim d'antiguitat es mantĂ© una versiĂł cada setmana.",
|
||||
"The following items could not be synchronized.": "Els segĂŒents elements no es poden sincronitzar.",
|
||||
"The maximum age must be a number and cannot be blank.": "La mĂ xima antiguitat ha de ser un nĂșmero i no pot estar en blanc.",
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "Temps mĂ xim en mantenir una versiĂł (en dies, si es deixa en 0 es mantenen les versions per sempre).",
|
||||
"The minimum free disk space percentage must be a non-negative number between 0 and 100 (inclusive).": "El percentatge d'espai de disc lliure mĂnim ha de ser un nombre positiu entre 0 i 100 (inclosos).",
|
||||
"The number of days must be a number and cannot be blank.": "El nombre de dies ha de ser un nĂșmero i no pot estar en blanc.",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "El nombre de dies per guardar els fitxers a la paperera. Zero significa per sempre.",
|
||||
"The number of old versions to keep, per file.": "El nombre de versions antigues que es mantenen per fitxer.",
|
||||
"The number of versions must be a number and cannot be blank.": "El nombre de versions ha de ser un nĂșmero i no es pot deixar en blanc.",
|
||||
"The path cannot be blank.": "El camĂ no pot estar en blanc.",
|
||||
"The rate limit must be a non-negative number (0: no limit)": "El lĂmit de velocitat ha de ser un nombre positiu (0: sense lĂmit)",
|
||||
"The rescan interval must be a non-negative number of seconds.": "El interval de re-escaneig ha der ser un nombre positiu de segons.",
|
||||
"They are retried automatically and will be synced when the error is resolved.": "SĂłn reintentats automĂ ticament i seran sincronitzats quan l'error estigui resolt.",
|
||||
"This Device": "This Device",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "AixĂČ pot donar facilment accĂ©s a hackers per llegir i canviar qualsevol fitxer del teu ordinador.",
|
||||
"This is a major version upgrade.": "Aquesta és una actualització de versió major.",
|
||||
"Time": "Time",
|
||||
"Trash Can File Versioning": "Paperera de versionat de fitxers",
|
||||
"Type": "Type",
|
||||
"Unknown": "Desconegut",
|
||||
"Unshared": "No compartit",
|
||||
"Unused": "No usat",
|
||||
"Up to Date": "Actualitzat",
|
||||
"Updated": "Actualitzat",
|
||||
"Upgrade": "ActualitzaciĂł",
|
||||
"Upgrade To {%version%}": "Actualitzar a {{version}}",
|
||||
"Upgrading": "Actualitzant",
|
||||
"Upload Rate": "Tasca de Pujada",
|
||||
"Uptime": "Temps funcionant",
|
||||
"Use HTTPS for GUI": "Utilitzar HTTPS pel GUI",
|
||||
"Version": "VersiĂł",
|
||||
"Versions Path": "Carpeta de les Versions",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Les versions son automà ticament eliminades si son més antigues que el mà xim d'antiguitat o si excedeixen del nombre de fitxers permesos en un interval.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Warning, this path is a parent directory of an existing folder \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a parent directory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Warning, this path is a subdirectory of an existing folder \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a subdirectory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Quan s'afegeix un nou dispositiu, recorda que aquest dispositiu tambĂš s'ha d'afegir a l'altre banda.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Quan s'afegeix una nova carpeta recorda que el ID d'aquesta s'utilitza per lligar repositoris entre els dispositius. Es distingeix entre majĂșscules i minĂșscules i ha de ser exactament iguals entre tots els dispositius.",
|
||||
"Yes": "Si",
|
||||
"You must keep at least one version.": "Has de mantenir com a mĂnim una versiĂł.",
|
||||
"days": "dies",
|
||||
"directories": "directories",
|
||||
"files": "files",
|
||||
"full documentation": "documentaciĂł sencera",
|
||||
"items": "Elements",
|
||||
"{%device%} wants to share folder \"{%folder%}\".": "{{device}} vol compartir la carpeta \"{{folder}}\".",
|
||||
"{%device%} wants to share folder \"{%folderlabel%}\" ({%folder%}).": "{{device}} wants to share folder \"{{folderlabel}}\" ({{folder}})."
|
||||
}
|
||||
@@ -4,12 +4,13 @@
|
||||
"A new major version may not be compatible with previous versions.": "Una nova versiĂłn amb canvis importants pot no ser compatible amb versions prĂšvies.",
|
||||
"API Key": "Clau API",
|
||||
"About": "Sobre",
|
||||
"Action": "Action",
|
||||
"Action": "AcciĂł",
|
||||
"Actions": "Accions",
|
||||
"Add": "Afegir",
|
||||
"Add Device": "Afegir dispositiu",
|
||||
"Add Folder": "Afegir carpeta",
|
||||
"Add Remote Device": "Afegir Dispositiu Remot.",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Afegir dispositius des-de l'introductor a la nostra llista de dispositius, per a tindre carpetes compartides mĂștuament",
|
||||
"Add new folder?": "Afegir nova carpeta?",
|
||||
"Address": "DirecciĂł",
|
||||
"Addresses": "Direccions",
|
||||
@@ -18,16 +19,20 @@
|
||||
"Advanced settings": "Ajustos avançats.",
|
||||
"All Data": "Totes les dades",
|
||||
"Allow Anonymous Usage Reporting?": "Permetre informes d'Ășs anĂČnim?",
|
||||
"Allowed Networks": "Xarxes permeses",
|
||||
"Alphabetic": "AlfabĂštic",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "Un command extern maneja les versions. TĂ© que eliminar el fitxer de la carpeta compartida.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Un comando extern controla el versionat. Ăs necessari eliminar el fitxer de la carpeta sincronitzada.",
|
||||
"Anonymous Usage Reporting": "Informe d'Ășs anĂČnim",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Tots els dispositius configurats en un dispositiu presentador serà n afegits també a aquest dispositiu.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "L'actualitzaciĂł automĂ tica ara ofereix l'elecciĂł entre les versions estables i les versions candidates.",
|
||||
"Automatic upgrades": "Actualitzacions automĂ tiques",
|
||||
"Be careful!": "Tin precauciĂł!",
|
||||
"Bugs": "Errors (Bugs)",
|
||||
"CPU Utilization": "UtilitzaciĂł de la CPU",
|
||||
"Changelog": "Registre de canvis",
|
||||
"Clean out after": "Netejar després de",
|
||||
"Click to see discovery failures": "Clica per a vore els fallos en el descobriment",
|
||||
"Close": "Tancar",
|
||||
"Command": "Comando",
|
||||
"Comment, when used at the start of a line": "Comentar, quant s'utilitza al principi d'una lĂnia",
|
||||
@@ -38,10 +43,11 @@
|
||||
"Copied from elsewhere": "Copiat de qualsevol lloc",
|
||||
"Copied from original": "Copiat de l'original",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 els segĂŒents Col·laboradors:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 the following Contributors:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 els segĂŒents Col·laboradors:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Creant patrons a ignorar, sobreescriguent un fitxer que ja existeix a {{path}}.",
|
||||
"Danger!": "Perill!",
|
||||
"Deleted": "Esborrat",
|
||||
"Device": "Device",
|
||||
"Device": "Dispositiu",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "Dispositiu \"{{name}}\" ({{device}} a l'adreça {{address}}) vol connectar. Afegir nou dispositiu?",
|
||||
"Device ID": "ID del dispositiu",
|
||||
"Device Identification": "IdentificaciĂł del dispositiu",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "Desconnectat",
|
||||
"Discovered": "Descobert",
|
||||
"Discovery": "Descobriment",
|
||||
"Discovery Failures": "Fallades al Descobriment",
|
||||
"Documentation": "DocumentaciĂł",
|
||||
"Download Rate": "Velocitat de descĂ rrega",
|
||||
"Downloaded": "Descarregat",
|
||||
@@ -58,17 +65,23 @@
|
||||
"Edit Device": "Editar Dispositiu",
|
||||
"Edit Folder": "Editar Carpeta",
|
||||
"Editing": "Editant",
|
||||
"Editing {%path%}.": "Editant {{path}}.",
|
||||
"Enable NAT traversal": "Permetre NAT transversal",
|
||||
"Enable Relaying": "Permetre Transmissions",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Introdueix un nombre no negatiu (per exemple, \"2.35\") i selecciona una unitat. Els percentatges sĂłn com a part del tamany total del disc.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Introdueix un nombre de port sense privilegis (1024-65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Introdueix adreces separades per coma (\"tcp://ip:port\", \"tcp://host:port\") o \"dynamic\" per a realitzar el descobriment automà tic de l'adreça.",
|
||||
"Enter ignore patterns, one per line.": "IntroduĂŻr patrons a ignorar, un per lĂnia.",
|
||||
"Error": "Error",
|
||||
"External File Versioning": "Versionat extern de fitxers",
|
||||
"Failed Items": "Objectes fallits",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "Ăs possible que es produĂŻsca una fallada al connectar als servidors IPv6 si no hi ha connectivitat IPv6.",
|
||||
"File Pull Order": "Ordre de fitxers del pull",
|
||||
"File Versioning": "Versionat de fitxer",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Els bits de permĂs del fitxer sĂłn ignorats quant es busquen els canvis. Utilitzar en sistemes de fitxers FAT.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Els fitxers serà n moguts al directori .stversions quant siguen reemplaçats o esborrats per Syncthing.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Els arxius es menejen a la carpeta .stversions quant sĂłn substituĂŻts o esborrats per Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Els arxius seran moguts a un directori .stversions a versions amb control de la data quan siguen reemplaçats o esborrats per Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Els fitxers són canviats a versions amb indicació de data en una carpeta \".stversions\" quant són reemplaçats o esborrats per Syncthing.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Els fitxers sĂłn protegits dels canvis fets en altres dispositius, perĂČ els canvis fets en aquest dispositiu serĂ n enviats a la resta del grup (cluster).",
|
||||
"Folder": "Carpeta",
|
||||
@@ -80,9 +93,11 @@
|
||||
"GUI": "IGU (InterfĂcie GrĂ fica d'Usuari)",
|
||||
"GUI Authentication Password": "Password d'autenticaciĂł de l'InterfĂcie GrĂ fica d'Usuari (GUI)",
|
||||
"GUI Authentication User": "AutenticaciĂł de l'usuari de l'InterfĂcie GrĂ fica d'Usuari (GUI)",
|
||||
"GUI Listen Address": "Adreça d'Escolta de l'InterfĂcie GrĂ fica d'Usuari (GUI).",
|
||||
"GUI Listen Addresses": "DirecciĂł d'escolta de l'InterfĂcie GrĂ fica d'Usuari (GUI)",
|
||||
"GUI Theme": "Tema de l'InterfĂcie GrĂ fica d'Usuari (GUI)",
|
||||
"Generate": "Generar",
|
||||
"Global Changes": "Global Changes",
|
||||
"Global Changes": "Canvis Globals",
|
||||
"Global Discovery": "Descobriment global",
|
||||
"Global Discovery Servers": "Servidors de Descobriment Global",
|
||||
"Global State": "Estat global",
|
||||
@@ -93,7 +108,7 @@
|
||||
"Ignore Permissions": "Permisos a ignorar",
|
||||
"Incoming Rate Limit (KiB/s)": "LĂmit de descĂ rrega (KiB/s)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "La configuraciĂłn incorrecta pot danyar el contingut de la teua carpeta i deixar Syncthing inoperatiu.",
|
||||
"Introduced By": "Introduced By",
|
||||
"Introduced By": "IntroduĂŻt Per",
|
||||
"Introducer": "Presentador",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "InversiĂł de la condiciĂł donada (per exemple no excloure)",
|
||||
"Keep Versions": "Mantindre versions",
|
||||
@@ -103,6 +118,7 @@
|
||||
"Last seen": "Vist per Ășltima vegada",
|
||||
"Later": "Més tard",
|
||||
"Latest Change": "Ăltim Canvi",
|
||||
"Learn more": "Saber més",
|
||||
"Listeners": "Escoltants",
|
||||
"Local Discovery": "Descobriment local",
|
||||
"Local State": "Estat local",
|
||||
@@ -120,6 +136,7 @@
|
||||
"Newest First": "El més nou primer",
|
||||
"No": "No",
|
||||
"No File Versioning": "Sense versionat de fitxer",
|
||||
"No upgrades": "Sense actualitzacions",
|
||||
"Normal": "Normal",
|
||||
"Notice": "AvĂs",
|
||||
"OK": "OK",
|
||||
@@ -131,14 +148,18 @@
|
||||
"Out of Sync Items": "Dispositius sense sincronitzar",
|
||||
"Outgoing Rate Limit (KiB/s)": "LĂmit de pujada (KiB/s)",
|
||||
"Override Changes": "Sobreescriure els canvis",
|
||||
"Path": "Path",
|
||||
"Path": "Ruta",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Ruta a la carpeta local en l'ordinador. Es crearĂ si no existeix. El carĂ cter tilde (~) es pot utilitzar com a drecera",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "La ruta on deuen guardar-se les versions (deixar buit per al directori per defecte .stversions en la carpeta compartida).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Ruta on les versions deurien estar emmagatzemades (deixar buit per a la carpeta .stversions en la carpeta).",
|
||||
"Pause": "Pausa",
|
||||
"Pause All": "Pausa Tot",
|
||||
"Paused": "Pausat",
|
||||
"Please consult the release notes before performing a major upgrade.": "Per favor, consultar les notes de la versiĂł abans de fer una actualitzaciĂł important.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Per favor, estableix un usuari i password per a l'InterfĂcie GrĂ fica d'Usuari en el menĂș d'Adjustos.",
|
||||
"Please wait": "Per favor, espere",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefix indicating that the file can be deleted if preventing directory removal",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefix indicating that the pattern should be matched without case sensitivity",
|
||||
"Preview": "Vista prĂšvia",
|
||||
"Preview Usage Report": "Informe d'Ășs de vista prĂšvia",
|
||||
"Quick guide to supported patterns": "GuĂa rĂ pida de patrons suportats",
|
||||
@@ -146,6 +167,7 @@
|
||||
"Random": "Aleatori",
|
||||
"Reduced by ignore patterns": "ReduĂŻt ignorant patrons",
|
||||
"Release Notes": "Notes de la versiĂł",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Les versions candidates (Release Candidates) contenen les darreres caracterĂstiques i arreglos. SĂłn paregudes a les versions tradicionals bi-semanals de Syncthing. ",
|
||||
"Remote Devices": "Dispositius Remots",
|
||||
"Remove": "Eliminar",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Identificador necessari per la carpeta. Deu ser el mateix en tots els dispositius del cluster.",
|
||||
@@ -156,6 +178,7 @@
|
||||
"Restart Needed": "Reinici necesari",
|
||||
"Restarting": "Reiniciant",
|
||||
"Resume": "Continuar",
|
||||
"Resume All": "Continuar Tot",
|
||||
"Reused": "Reutilitzat",
|
||||
"Save": "Gravar",
|
||||
"Scan Time Remaining": "Temps d'escaneig restant",
|
||||
@@ -181,6 +204,9 @@
|
||||
"Single level wildcard (matches within a directory only)": "ComodĂ de nivell Ășnic (coincideix sols dins d'un directori)",
|
||||
"Smallest First": "El més xicotet primer",
|
||||
"Source Code": "Codi font",
|
||||
"Stable releases and release candidates": "Versions estables i versions candidates",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Les versions estables es retrasen sobre dos setmanes. Durant aquest temps es fiquen a prova com versions candidates.",
|
||||
"Stable releases only": "Solament versions estables",
|
||||
"Staggered File Versioning": "Versionat de fitxers escalonat",
|
||||
"Start Browser": "Iniciar navegador",
|
||||
"Statistics": "EstadĂstiques",
|
||||
@@ -221,9 +247,10 @@
|
||||
"This Device": "Aquest Dispositiu",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "AçĂČ pot donar accĂ©s fĂ cilment als hackers per a llegir i canviar qualsevol fitxer al teu ordinador.",
|
||||
"This is a major version upgrade.": "Aquesta és una actualització important de la versió.",
|
||||
"Time": "Time",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "Aquest ajust controla l'espai lliure requerit en el disc inicial (per exemple, la base de dades de l'index).",
|
||||
"Time": "Temps",
|
||||
"Trash Can File Versioning": "Versionat d'arxius de la paperera",
|
||||
"Type": "Type",
|
||||
"Type": "Tipus",
|
||||
"Unknown": "Desconegut",
|
||||
"Unshared": "No compartit",
|
||||
"Unused": "No utilitzat",
|
||||
@@ -234,17 +261,21 @@
|
||||
"Upgrading": "Actualitzant",
|
||||
"Upload Rate": "Velocitat d'actualitzaciĂł",
|
||||
"Uptime": "Temps de funcionament",
|
||||
"Use HTTPS for GUI": "Utilitzar HTTP per a l'InterfĂcie GrĂ fica d'Usuari (GUI)",
|
||||
"Usage reporting is always enabled for candidate releases.": "Els informes d'Ășs sempre estan activats per a les versions candidates.",
|
||||
"Use HTTPS for GUI": "Utilitzar HTTPS per a l'InterfĂcie GrĂ fica d'Usuari (GUI)",
|
||||
"Version": "VersiĂł",
|
||||
"Versions Path": "Ruta de les versions",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Les versions s'esborren automà ticament si són més antigues que l'edat mà xima o excedixen el nombre de fitxer permesos en un interval.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Warning, this path is a parent directory of an existing folder \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a parent directory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Perill! Aquesta ruta és un subdirectori d'una carpeta que ja existeix nomenada \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a subdirectory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Perill! Esta ruta és un directori pare d'una carpeta ja existent \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Perill! Esta ruta és un directori pare d'una carpeta existent \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Perill! Esta ruta és un subdirectori d'una carpeta que ja existeix nomenada \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Perill! Esta ruta és un subdirectori de una carpeta existent \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Quant s'afig un nou dispositiu, hi ha que tindre en compte que aquest dispositiu deu ser afegit també en l'altre costat.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Quant s'afig una nova carpeta, hi ha que tindre en compte que l'ID de la carpeta s'utilitza per a juntar les carpetes entre dispositius. SĂłn sensibles a les majĂșscules i deuen coincidir exactament entre tots els dispositius.",
|
||||
"Yes": "SĂ",
|
||||
"You can also select one of these nearby devices:": "You can also select one of these nearby devices:",
|
||||
"You can change your choice at any time in the Settings dialog.": "Pots canviar la teua elecciĂł en qualsevol moment en el dialog Ajustos",
|
||||
"You can read more about the two release channels at the link below.": "Pots llegir més sobre els dos canals de versions en l'enllaç de baix.",
|
||||
"You must keep at least one version.": "Es deu mantindre al menys una versiĂł.",
|
||||
"days": "dies",
|
||||
"directories": "directoris",
|
||||
|
||||
@@ -4,12 +4,13 @@
|
||||
"A new major version may not be compatible with previous versions.": "NovĂĄ dĆŻleĆŸitĂĄ verze nemusĂ bĂœt kompatibilnĂ s pĆedchozĂmi verzemi.",
|
||||
"API Key": "API klĂÄ",
|
||||
"About": "O aplikaci",
|
||||
"Action": "Action",
|
||||
"Action": "Akce",
|
||||
"Actions": "Akce",
|
||||
"Add": "PĆidat",
|
||||
"Add Device": "PĆidat pĆĂstroj",
|
||||
"Add Folder": "PĆidat adresĂĄĆ",
|
||||
"Add Remote Device": "PĆidat vzdĂĄlenĂ© zaĆĂzenĂ",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "PĆidat zaĆĂzenĂ ze zavadÄÄe do naĆĄeho seznamu zaĆĂzenĂ, pro vzĂĄjemnÄ sdĂlenĂ© adresĂĄĆe.",
|
||||
"Add new folder?": "PĆidat novĂœ adresĂĄĆ?",
|
||||
"Address": "Adresa",
|
||||
"Addresses": "Adresy",
|
||||
@@ -18,16 +19,20 @@
|
||||
"Advanced settings": "PokroÄilĂĄ nastavenĂ",
|
||||
"All Data": "VĆĄechna data",
|
||||
"Allow Anonymous Usage Reporting?": "Povolit anonymnĂ hlĂĄĆĄenĂ o pouĆŸĂvĂĄnĂ?",
|
||||
"Allowed Networks": "PovolenĂ© sĂtÄ",
|
||||
"Alphabetic": "AbecednÄ",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "O verzovĂĄnĂ se starĂĄ externĂ pĆĂkaz. To on musĂ smazat soubor ze sdĂlenĂ©ho adresĂĄĆe.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "VerzovĂĄnĂ obstarĂĄvĂĄ externĂ pĆĂkaz. MusĂ odstranit soubor ze sdĂlenĂ©ho adresĂĄĆe.",
|
||||
"Anonymous Usage Reporting": "AnonymnĂ hlĂĄĆĄenĂ o pouĆŸĂvĂĄnĂ",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "JakĂ©koliv pĆĂstroje nakonfigurovanĂ© na zavadÄÄi budou pĆidĂĄny takĂ© na tento pĆĂstroj.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "AutomatickĂĄ aktualizace nynĂ nabĂzĂ volbu mezi stabilnĂmi vydĂĄnĂmi a kandidĂĄty na vydĂĄnĂ.",
|
||||
"Automatic upgrades": "Automatické aktualizace",
|
||||
"Be careful!": "Pozor!",
|
||||
"Bugs": "Chyby",
|
||||
"CPU Utilization": "VyuĆŸitĂ CPU",
|
||||
"Changelog": "Changelog",
|
||||
"Clean out after": "VyÄistit po",
|
||||
"Click to see discovery failures": "KliknutĂm zobrazĂte selhĂĄnĂ pĆi oznamovĂĄnĂ",
|
||||
"Close": "ZavĆĂt",
|
||||
"Command": "PĆĂkaz",
|
||||
"Comment, when used at the start of a line": "KomentĂĄĆ, pokud pouĆŸito na zaÄĂĄtku ĆĂĄdku",
|
||||
@@ -38,10 +43,11 @@
|
||||
"Copied from elsewhere": "ZkopĂrovĂĄno odjinud",
|
||||
"Copied from original": "ZkopĂrovĂĄno z originĂĄlu",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 nĂĄsledujĂcĂ pĆispÄvatelĂ©:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 the following Contributors:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 nĂĄsledujĂcĂ pĆispÄvatelĂ©:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "VytvĂĄĆenĂ ignorovanĂœch vzorĆŻ, pĆepisovĂĄnĂ existujĂcĂho souboru v {{path}}.",
|
||||
"Danger!": "Pozor!",
|
||||
"Deleted": "SmazĂĄno",
|
||||
"Device": "Device",
|
||||
"Device": "ZaĆĂzenĂ",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "ZaĆĂzenĂ \"{{name}}\" ({{device}} na {{address}}) se chce pĆipojit. PĆidat novĂ© zaĆĂzenĂ?",
|
||||
"Device ID": "ID pĆĂstroje",
|
||||
"Device Identification": "Identifikace pĆĂstroje",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "Odpojen",
|
||||
"Discovered": "Nalezeno",
|
||||
"Discovery": "OznamovĂĄnĂ",
|
||||
"Discovery Failures": "SelhĂĄnĂ pĆi oznamovĂĄnĂ",
|
||||
"Documentation": "Dokumentace",
|
||||
"Download Rate": "Rychlost stahovĂĄnĂ",
|
||||
"Downloaded": "StaĆŸeno",
|
||||
@@ -58,18 +65,24 @@
|
||||
"Edit Device": "Upravit zaĆĂzenĂ",
|
||||
"Edit Folder": "Upravit adresĂĄĆ",
|
||||
"Editing": "Upravuje se",
|
||||
"Editing {%path%}.": "Editace {{path}}.",
|
||||
"Enable NAT traversal": "Povolit NAT pĆenos",
|
||||
"Enable Relaying": "Povolit pĆenaĆĄeÄe",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Zadajte kladnĂ© ÄĂslo (napĆ. \"2.35\") a zvolte jednotku. Percenta znamenajĂ ÄĂĄst celkovĂ© velikosti disku.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Enter a non-privileged port number (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Zadejte adresy oddÄlenĂ© ÄĂĄrkou (\"tcp://ip:port\", \"tcp://host:port\") nebo \"dynamic\" pro automatickĂ© zjiĆĄĆ„ovĂĄnĂ adres.",
|
||||
"Enter ignore patterns, one per line.": "VloĆŸit ignorovanĂ© vzory, jeden na ĆĂĄdek.",
|
||||
"Error": "Chyba",
|
||||
"External File Versioning": "ExternĂ verzovĂĄnĂ souborĆŻ",
|
||||
"Failed Items": "Selhalo",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "Je v poĆĂĄdku, kdyĆŸ pĆipojenĂ k IPv6 serverĆŻm selĆŸe, pokud nenĂ k dispozici IPv6 konektivita.",
|
||||
"File Pull Order": "PoĆadĂ stahovĂĄnĂ souborĆŻ",
|
||||
"File Versioning": "VerzovĂĄnĂ souborĆŻ",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Bity oznaÄujĂcĂ prĂĄva souborĆŻ jsou pĆi hledĂĄnĂ zmÄn ignorovĂĄny. PouĆŸĂt pro souborovĂ© systĂ©my FAT.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Po nahrazenĂ nebo smazĂĄnĂ aplikacĂ Syncthing jsou soubory pĆesunuty do adresĂĄĆe .stversions.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Po nahrazenĂ nebo smazĂĄnĂ aplikacĂ Syncthing jsou soubory pĆesunuty do verzĂ oznaÄenĂœch daty v adresĂĄĆi .stversions.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Po nahrazenĂ nebo smazĂĄnĂ aplikacĂ Syncthing jsou soubory pĆesunuty do adresĂĄĆe .stversions.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Po nahrazenĂ nebo smazĂĄnĂ aplikacĂ Syncthing jsou soubory pĆesunuty do sloĆŸky .stversions.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Po nahrazenĂ nebo smazĂĄnĂ aplikacĂ Syncthing jsou soubory pĆesunuty do verzĂ oznaÄenĂœch daty v adresĂĄĆi .stversions.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Po nahrazenĂ nebo smazĂĄnĂ aplikacĂ Syncthing jsou soubory pĆesunuty do verzĂ oznaÄenĂœch daty ve sloĆŸce .stversions.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Soubory jsou chrĂĄnÄny pĆed zmÄnami na ostatnĂch pĆĂstrojĂch, ale zmÄny provedenĂ© z tohoto pĆĂstroje budou rozeslĂĄny na zbytek clusteru.",
|
||||
"Folder": "AdresĂĄĆ",
|
||||
"Folder ID": "ID adresĂĄĆe",
|
||||
@@ -80,9 +93,11 @@
|
||||
"GUI": "GUI",
|
||||
"GUI Authentication Password": "PĆihlaĆĄovacĂ heslo pro GUI",
|
||||
"GUI Authentication User": "PĆihlaĆĄovacĂ jmĂ©no pro GUI",
|
||||
"GUI Listen Address": "Adresa naslouchĂĄnĂ GUI",
|
||||
"GUI Listen Addresses": "Adresa naslouchĂĄnĂ GUI",
|
||||
"GUI Theme": "Grafické téma",
|
||||
"Generate": "Generovat",
|
||||
"Global Changes": "Global Changes",
|
||||
"Global Changes": "GlobĂĄlnĂ zmÄny",
|
||||
"Global Discovery": "GlobĂĄlnĂ oznamovĂĄnĂ",
|
||||
"Global Discovery Servers": "Servery globĂĄlnĂho oznamovĂĄnĂ",
|
||||
"Global State": "GlobĂĄlnĂ status",
|
||||
@@ -93,7 +108,7 @@
|
||||
"Ignore Permissions": "Ignorovat oprĂĄvnÄnĂ",
|
||||
"Incoming Rate Limit (KiB/s)": "OmezenĂ pĆĂchozĂ rychlosti (KiB/s)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "NesprĂĄvnĂ© nastavenĂ mĆŻĆŸe poĆĄkodit obsah VaĆĄich adresĂĄĆĆŻ a uÄinit Syncthing nefunkÄnĂ.",
|
||||
"Introduced By": "Introduced By",
|
||||
"Introduced By": "Zavedl",
|
||||
"Introducer": "ZavadÄÄ",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "ProhozenĂ zadanĂ© podmĂnky (napĆ. nevynechat)",
|
||||
"Keep Versions": "Ponechat verze",
|
||||
@@ -103,6 +118,7 @@
|
||||
"Last seen": "Naposledy spatĆen",
|
||||
"Later": "PozdÄji",
|
||||
"Latest Change": "PoslednĂ zmÄna",
|
||||
"Learn more": "ZjistÄte vĂce",
|
||||
"Listeners": "NaslouchajĂcĂ",
|
||||
"Local Discovery": "MĂstnĂ oznamovĂĄnĂ",
|
||||
"Local State": "MĂstnĂ status",
|
||||
@@ -113,13 +129,14 @@
|
||||
"Metadata Only": "Pouze metadata",
|
||||
"Minimum Free Disk Space": "MinimĂĄlnĂ velikost volnĂ©ho mĂsta na disku",
|
||||
"Move to top of queue": "PĆesunout na zaÄĂĄtek fronty",
|
||||
"Multi level wildcard (matches multiple directory levels)": "VĂceĂșrovĆovĂœ zĂĄstupnĂœ znak (shoda skrz vĂce ĂșrovnĂ adresĂĄĆĆŻ)",
|
||||
"Multi level wildcard (matches multiple directory levels)": "VĂceĂșrovĆovĂœ zĂĄstupnĂœ znak (shoda skrz vĂce ĂșrovnĂ sloĆŸek)",
|
||||
"Never": "Nikdy",
|
||||
"New Device": "NovĂœ pĆĂstroj",
|
||||
"New Folder": "NovĂœ adresĂĄĆ",
|
||||
"Newest First": "Od nejnovÄjĆĄĂho",
|
||||
"No": "Ne",
|
||||
"No File Versioning": "Bez verzovĂĄnĂ souborĆŻ",
|
||||
"No upgrades": "ĆœĂĄdnĂ© aktualizace",
|
||||
"Normal": "NormĂĄlnĂ",
|
||||
"Notice": "OznĂĄmenĂ",
|
||||
"OK": "OK",
|
||||
@@ -131,14 +148,18 @@
|
||||
"Out of Sync Items": "NesesynchronizovanĂ© poloĆŸky",
|
||||
"Outgoing Rate Limit (KiB/s)": "OmezenĂ odchozĂ rychlosti (KiB/s)",
|
||||
"Override Changes": "PĆepsat zmÄny",
|
||||
"Path": "Path",
|
||||
"Path": "Cesta",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Cesta k adresĂĄĆi na lokĂĄlnĂm poÄĂtaÄi. Pokud neexistuje, bude vytvoĆen. Znak vlnovky (~) mĆŻĆŸe bĂœt pouĆŸit jako zkratka pro",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Cesta pro uklĂĄdĂĄnĂ verzĂ (nechat prĂĄzdnĂ© pro vĂœchozĂ podadresĂĄĆ .stversions v adresĂĄĆĂch).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Cesta pro uklĂĄdĂĄnĂ verzĂ (ponechte prĂĄzdnĂ© pro vĂœchozĂ adresĂĄĆ .stversions ve sdĂlenĂ©m adresĂĄĆi).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Cesta pro uklĂĄdĂĄnĂ verzĂ (nechat prĂĄzdnĂ© pro vĂœchozĂ sloĆŸku .stversions v adresĂĄĆi).",
|
||||
"Pause": "Pozastavit",
|
||||
"Pause All": "Pozastavit vĆĄe",
|
||||
"Paused": "Pozastaveno",
|
||||
"Please consult the release notes before performing a major upgrade.": "PĆed spuĆĄtÄnĂm dĆŻleĆŸitĂ© aktualizace si nejdĆĂve pĆeÄtÄte poznĂĄmky k vydĂĄnĂ novĂ© verze.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Zadejte prosĂm pĆihlaĆĄovacĂ jmĂ©no a heslo pro GUI v dialogu nastavenĂ.",
|
||||
"Please wait": "ChvĂli strpenĂ",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefix indicating that the file can be deleted if preventing directory removal",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefix indicating that the pattern should be matched without case sensitivity",
|
||||
"Preview": "NĂĄhled",
|
||||
"Preview Usage Report": "NĂĄhled zĂĄznamu o vyuĆŸĂtĂ",
|
||||
"Quick guide to supported patterns": "RychlĂĄ nĂĄpovÄda k podporovanĂœm vzorĆŻm",
|
||||
@@ -146,6 +167,7 @@
|
||||
"Random": "NĂĄhodnÄ",
|
||||
"Reduced by ignore patterns": "Redukovåno o ignorované vzory",
|
||||
"Release Notes": "PoznĂĄmky k vydĂĄnĂ",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "KandidĂĄti na vydĂĄnĂ obsahujĂ nejnovÄjĆĄĂ zmÄny a opravy. PodobajĂ se tradiÄnĂm dvoutĂœdennĂm vydĂĄnĂm Syncthing.",
|
||||
"Remote Devices": "VzdĂĄlenĂĄ zaĆĂzenĂ",
|
||||
"Remove": "Odstranit",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "PoĆŸadovanĂœ identifikĂĄtor adresĂĄĆe. MusĂ bĂœt stejnĂœ na vĆĄech zaĆĂzenĂch.",
|
||||
@@ -156,6 +178,7 @@
|
||||
"Restart Needed": "Je nutnĂœ restart",
|
||||
"Restarting": "Restartuji",
|
||||
"Resume": "PokraÄovat",
|
||||
"Resume All": "PokraÄovat (vĆĄe)",
|
||||
"Reused": "OpakovanÄ pouĆŸitĂ©",
|
||||
"Save": "UloĆŸit",
|
||||
"Scan Time Remaining": "ZbĂœvajĂcĂ Äas skenovĂĄnĂ",
|
||||
@@ -178,9 +201,12 @@
|
||||
"Shutdown": "Vypnout",
|
||||
"Shutdown Complete": "VypnutĂ dokonÄeno",
|
||||
"Simple File Versioning": "Jednoduché verzovånà souborƯ",
|
||||
"Single level wildcard (matches within a directory only)": "JednoĂșrovĆovĂœ zĂĄstupnĂœ znak (shody pouze uvnitĆ adresĂĄĆe)",
|
||||
"Single level wildcard (matches within a directory only)": "JednoĂșrovĆovĂœ zĂĄstupnĂœ znak (shody pouze uvnitĆ sloĆŸky)",
|
||||
"Smallest First": "Od nejmenĆĄĂho",
|
||||
"Source Code": "ZdrojovĂœ kĂłd",
|
||||
"Stable releases and release candidates": "StabilnĂ vydĂĄnĂ a kandidĂĄti na vydĂĄnĂ",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "StabilnĂ vydĂĄnĂ jsou opoĆŸdÄna zhruba o dva tĂœdny. Po tuto dobu se testujĂ jako kandidĂĄti na vydĂĄnĂ.",
|
||||
"Stable releases only": "Pouze stabilnĂ vydĂĄnĂ",
|
||||
"Staggered File Versioning": "Postupné verzovånà souborƯ",
|
||||
"Start Browser": "OtevĆĂt prohlĂĆŸeÄ",
|
||||
"Statistics": "Statistiky",
|
||||
@@ -221,9 +247,10 @@
|
||||
"This Device": "Toto zaĆĂzenĂ",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "To mĆŻĆŸe ĂștoÄnĂkĆŻm jednoduĆĄe povolit ÄtenĂ a Ășpravy souborĆŻ na vaĆĄem pĆĂstroji. ",
|
||||
"This is a major version upgrade.": "Toto je dĆŻleĆŸitĂĄ aktualizace.",
|
||||
"Time": "Time",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "This setting controls the free space required on the home (i.e., index database) disk.",
|
||||
"Time": "Äas",
|
||||
"Trash Can File Versioning": "VerzovĂĄnĂ souborĆŻ v koĆĄi",
|
||||
"Type": "Type",
|
||||
"Type": "Typ",
|
||||
"Unknown": "NeznĂĄmĂœ",
|
||||
"Unshared": "NesdĂlenĂœ",
|
||||
"Unused": "NepouĆŸitĂœ",
|
||||
@@ -234,17 +261,21 @@
|
||||
"Upgrading": "Aktualizuji",
|
||||
"Upload Rate": "Rychlost odesĂlĂĄnĂ",
|
||||
"Uptime": "CelkovĂœ Äas bÄhu",
|
||||
"Usage reporting is always enabled for candidate releases.": "HlĂĄĆĄenĂ o pouĆŸĂvĂĄnĂ je pro kandidĂĄty na vydĂĄnĂ vĆŸdy zapnuto.",
|
||||
"Use HTTPS for GUI": "PouĆŸĂt HTTPS pro grafickĂ© rozhranĂ",
|
||||
"Version": "Verze",
|
||||
"Versions Path": "Cesta k verzĂm",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Verze jsou automaticky smazĂĄny, pokud jsou starĆĄĂ neĆŸ maximĂĄlnĂ ÄasovĂœ limit nebo pĆekroÄĂ poÄet souborĆŻ povolenĂœch pro interval.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Warning, this path is a parent directory of an existing folder \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a parent directory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "VarovĂĄnĂ: tato cesta je podadresĂĄĆem existujĂcĂho adresĂĄĆe \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a subdirectory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "VarovĂĄnĂ, tato cesta je nadĆazenou sloĆŸkou existujĂcĂho adresĂĄĆe \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "VarovĂĄnĂ, tato cesta je nadĆazenou sloĆŸkou existujĂcĂho adresĂĄĆe \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "VarovĂĄnĂ: tato cesta je podsloĆŸkou existujĂcĂho adresĂĄĆe \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "VarovĂĄnĂ, tato cesta je podsloĆŸkou existujĂcĂho adresĂĄĆe \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "PĆi pĆidĂĄvĂĄnĂ novĂ©ho pĆĂstroje mÄjte na pamÄti, ĆŸe je ho tĆeba takĂ© zadat na druhĂ© stranÄ.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "PĆi pĆidĂĄvĂĄnĂ novĂ©ho adresĂĄĆe mÄjte na pamÄti, ĆŸe jeho ID je pouĆŸito ke svĂĄzĂĄnĂ adresĂĄĆĆŻ napĆĂÄ pĆĂstoji. RozliĆĄujĂ se malĂĄ a velkĂĄ pĂsmena a musĂ pĆesnÄ souhlasit mezi vĆĄemi pĆĂstroji.",
|
||||
"Yes": "Ano",
|
||||
"You can also select one of these nearby devices:": "You can also select one of these nearby devices:",
|
||||
"You can change your choice at any time in the Settings dialog.": "VaĆĄi volbu mĆŻĆŸete kdykoliv zmÄnit v dialogu nastavenĂ.",
|
||||
"You can read more about the two release channels at the link below.": "O kandidĂĄtech na vydĂĄnĂ si mĆŻĆŸete pĆeÄĂst vĂce v odkazu nĂĆŸe.",
|
||||
"You must keep at least one version.": "Je tĆeba ponechat alespoĆ jednu verzi.",
|
||||
"days": "dnĂ",
|
||||
"directories": "sloĆŸek",
|
||||
|
||||
@@ -1,90 +1,105 @@
|
||||
{
|
||||
"A device with that ID is already added.": "A device with that ID is already added.",
|
||||
"A device with that ID is already added.": "En enhed, med dette id, er allerede tilfĂžjet.",
|
||||
"A negative number of days doesn't make sense.": "Et negativt antal dage giver ikke mening.",
|
||||
"A new major version may not be compatible with previous versions.": "En ny versionsudgivelse er mÄske ikke kompatibel med tidligere versioner.",
|
||||
"API Key": "API-nĂžgle",
|
||||
"About": "Om",
|
||||
"Action": "Action",
|
||||
"Action": "Handling",
|
||||
"Actions": "Handlinger.",
|
||||
"Add": "TilfĂžj",
|
||||
"Add Device": "TilfĂžj enhed",
|
||||
"Add Folder": "TilfĂžj mappe",
|
||||
"Add Remote Device": "Add Remote Device",
|
||||
"Add Remote Device": "TilfĂžj fjernenhed",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Add devices from the introducer to our device list, for mutually shared folders.",
|
||||
"Add new folder?": "TilfĂžj ny mappe",
|
||||
"Address": "Adresse",
|
||||
"Addresses": "Adresser",
|
||||
"Advanced": "Avanceret",
|
||||
"Advanced Configuration": "Avanceret konfiguration",
|
||||
"Advanced settings": "Advanced settings",
|
||||
"Advanced settings": "Avancerede indstillinger",
|
||||
"All Data": "Alt data",
|
||||
"Allow Anonymous Usage Reporting?": "Tillad anonym brugerstatistik?",
|
||||
"Allowed Networks": "Tilladte netvĂŠrk",
|
||||
"Alphabetic": "Alfabetisk",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "En ekstern kommando styrer versioneringen. Den skal fjerne filen fra den delte mappe.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": " ",
|
||||
"Anonymous Usage Reporting": "Anonym brugerstatistik",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Alle enheder som er konfigueret som en introducerende enhed, vil ogsÄ blive tilfÞjet til denne enhed.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Den automatiske opdatering tilbyder nu valget mellem stabile - og udgivelses kandidater.",
|
||||
"Automatic upgrades": "Automatisk opdatering",
|
||||
"Be careful!": "VĂŠr forsigtig!",
|
||||
"Bugs": "Fejl",
|
||||
"CPU Utilization": "CPU-forbrug",
|
||||
"Changelog": "Udgivelsesnoter",
|
||||
"Clean out after": "Rens efter",
|
||||
"Click to see discovery failures": "Klik for at se opdagelses fejl ",
|
||||
"Close": "Luk",
|
||||
"Command": "Kommando",
|
||||
"Comment, when used at the start of a line": "Kommentering som bruges i starten af en linje",
|
||||
"Compression": "Anvend komprimering",
|
||||
"Configured": "Configured",
|
||||
"Configured": "Konfigureret",
|
||||
"Connection Error": "Tilslutnings fejl",
|
||||
"Connection Type": "Connection Type",
|
||||
"Connection Type": "Tilslutningstype",
|
||||
"Copied from elsewhere": "Kopieret fra et andet sted",
|
||||
"Copied from original": "Kopieret fra originalen",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 the following Contributors:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 the following Contributors:",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 de fÞlgende bidragsydere:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 de fÞlgende bidragsydere:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Creating ignore patterns, overwriting an existing file at {{path}}.",
|
||||
"Danger!": "Fare!",
|
||||
"Deleted": "Slettet",
|
||||
"Device": "Device",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "Device \"{{name}}\" ({{device}} at {{address}}) wants to connect. Add new device?",
|
||||
"Device": "Enhed",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "Enheden\"{{name}}\" ({{device}} pÄ {{address}}) vil gerne forbinde. TilfÞj denne enhed ? ",
|
||||
"Device ID": "Enheds-ID",
|
||||
"Device Identification": "Enhedsidentifikation",
|
||||
"Device Name": "Enhedsnavn",
|
||||
"Devices": "Enheder",
|
||||
"Disconnected": "Ikke tilsluttet",
|
||||
"Discovered": "Discovered",
|
||||
"Discovered": "Opdaget",
|
||||
"Discovery": "Opslag",
|
||||
"Discovery Failures": "Opdagelses Fejl ",
|
||||
"Documentation": "Dokumentation",
|
||||
"Download Rate": "Downloadhastighed",
|
||||
"Downloaded": "Downloadet",
|
||||
"Downloading": "Downloader",
|
||||
"Edit": "Rediger",
|
||||
"Edit Device": "Edit Device",
|
||||
"Edit Folder": "Edit Folder",
|
||||
"Edit Device": "Rediger enhed",
|
||||
"Edit Folder": "Rediger mappe",
|
||||
"Editing": "Redigerer",
|
||||
"Enable NAT traversal": "Enable NAT traversal",
|
||||
"Enable Relaying": "Enable Relaying",
|
||||
"Editing {%path%}.": "Redigerer {{path}}.",
|
||||
"Enable NAT traversal": "Aktiver NAT",
|
||||
"Enable Relaying": "Aktiver Relaying",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Enter a non-privileged port number (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Angiv kommaseparerede adresser (\"tcp://ip:port\", \"tcp://host:port\") eller \"dynamic\" for at benytte automatisk opdagelse af adressen.",
|
||||
"Enter ignore patterns, one per line.": "VÊlg ignorer maske, én per linje.",
|
||||
"Error": "Fejl",
|
||||
"External File Versioning": "Ekstern fil-versionskontrol",
|
||||
"Failed Items": "Mislykkede filer",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "Fejl i forbindelse med opkobling til IPv6 servere skal forventes hvis der ikke er IPv6 forbindelse. ",
|
||||
"File Pull Order": "Filhentnings rĂŠkkefĂžlge",
|
||||
"File Versioning": "Filversionering",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Filtilladelses bits ignoreres nÄr der sÞges efter Êndringer. Bruges pÄ FAT filsystemer. ",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Filer bliver flyttet til .stversions mappen, nÄr de bliver erstattet eller slettet af Syncthing.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Filer flyttes til .stversions mappen nÄr de erstattes eller slettes af Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Filer er flyttet til datostemplet versioner i en .stversions mappe nÄr de bliver erstattet eller slettet af Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Filer flyttes til data-stemplede versioner i en .stversions mappe nÄr de erstattes eller slettes af Syncthing.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Filer er beskyttet fra Êndringer foretaget pÄ andre enheder, men Êndringerne pÄ denne enhed vil blive sendt til alle andre tilknyttede enheder.",
|
||||
"Folder": "Mappe",
|
||||
"Folder ID": "Mappe-ID",
|
||||
"Folder Label": "Folder Label",
|
||||
"Folder Label": "Mappelabel",
|
||||
"Folder Path": "Mappesti",
|
||||
"Folder Type": "Folder Type",
|
||||
"Folder Type": "Mappetype",
|
||||
"Folders": "Mapper",
|
||||
"GUI": "GUI",
|
||||
"GUI Authentication Password": "GUI-kodeord",
|
||||
"GUI Authentication User": "GUI-brugernavn",
|
||||
"GUI Listen Address": "GUI Listen Address",
|
||||
"GUI Listen Addresses": "GUI-lytteadresse",
|
||||
"GUI Theme": "GUI tema",
|
||||
"Generate": "Opret",
|
||||
"Global Changes": "Global Changes",
|
||||
"Global Changes": "Globale ĂŠndringer",
|
||||
"Global Discovery": "Globalt opslag",
|
||||
"Global Discovery Servers": "Global Discovery Servers",
|
||||
"Global Discovery Servers": "Globale opslags servere",
|
||||
"Global State": "Global tilstand",
|
||||
"Help": "HjĂŠlp",
|
||||
"Home page": "Hjem",
|
||||
@@ -93,22 +108,23 @@
|
||||
"Ignore Permissions": "Ignorér filrettigheder",
|
||||
"Incoming Rate Limit (KiB/s)": "IndgÄende hastighedsbegrÊnsning (KiB/s)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "Ukorrekt opsĂŠtning kan skade dine data og gĂžre Syncthing ude af stand til at fungere.",
|
||||
"Introduced By": "Introduced By",
|
||||
"Introduced By": "Introduceret af",
|
||||
"Introducer": "Introducerende enhed",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "Det omvendte (dvs. undlad ikke)",
|
||||
"Keep Versions": "Behold versioner",
|
||||
"Largest First": "StĂžrste fĂžrst",
|
||||
"Last File Received": "Sidste modtaget fil",
|
||||
"Last Scan": "Last Scan",
|
||||
"Last Scan": "Sidste skanning.",
|
||||
"Last seen": "Sidst set",
|
||||
"Later": "Senere",
|
||||
"Latest Change": "Latest Change",
|
||||
"Listeners": "Listeners",
|
||||
"Latest Change": "Sidste ĂŠndring",
|
||||
"Learn more": "LĂŠr mere",
|
||||
"Listeners": "Lyttere",
|
||||
"Local Discovery": "Lokal opslag",
|
||||
"Local State": "Lokal tilstand",
|
||||
"Local State (Total)": "Lokal tilstand (total)",
|
||||
"Major Upgrade": "Ny version",
|
||||
"Master": "Master",
|
||||
"Master": "Mester ",
|
||||
"Maximum Age": "Maks alder",
|
||||
"Metadata Only": "Kun metadata",
|
||||
"Minimum Free Disk Space": "Mindst ledig diskplads",
|
||||
@@ -120,35 +136,41 @@
|
||||
"Newest First": "Nyeste fĂžrst",
|
||||
"No": "Nej",
|
||||
"No File Versioning": "Ingen filversion",
|
||||
"No upgrades": "Ingen opgraderinger",
|
||||
"Normal": "Normal",
|
||||
"Notice": "OBS",
|
||||
"OK": "OK",
|
||||
"Off": "SlÄ fra",
|
||||
"Oldest First": "Ăldste fĂžrst",
|
||||
"Optional descriptive label for the folder. Can be different on each device.": "Optional descriptive label for the folder. Can be different on each device.",
|
||||
"Optional descriptive label for the folder. Can be different on each device.": "En frivillig beskrivelse af mappen. Kan vÊre forskellig pÄ hver enkelt enhed.",
|
||||
"Options": "Indstillinger",
|
||||
"Out of Sync": "Ikke synkroniseret",
|
||||
"Out of Sync Items": "Endnu ikke synkroniserede filer",
|
||||
"Outgoing Rate Limit (KiB/s)": "UdgÄende hastighedsbegrÊnsning (KiB/s)",
|
||||
"Override Changes": "Overskriv ĂŠndringer",
|
||||
"Path": "Path",
|
||||
"Path": "Sti",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Sti til den lokale mappe. Vil blive oprettet hvis den ikke findes. Tilde tegnet (~) kan bruges som en forkortelse for",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Sti hvor versioner skal gemmes ( lad dette felt vĂŠre tom for at bruge .stversions mappen i den delte mappe)",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Sti hvor versioner skal gemmes (efterlad tom for default .stversions mappe)",
|
||||
"Pause": "Pause",
|
||||
"Pause All": "SÊt alt pÄ pause",
|
||||
"Paused": "Pauset",
|
||||
"Please consult the release notes before performing a major upgrade.": "Tjek venligst udgivelsesnoterne fĂžr opgradering til en ny version.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "SĂŠt vensligt en GUI bruger og kodeord i opsĂŠtningsdialogen.",
|
||||
"Please wait": "Vent venligst",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefix indicating that the file can be deleted if preventing directory removal",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefix indicating that the pattern should be matched without case sensitivity",
|
||||
"Preview": "ForhÄndsvisning",
|
||||
"Preview Usage Report": "ForhÄndsvisning af forbrugsrapport",
|
||||
"Quick guide to supported patterns": "Hurtig guide til supporteret mĂžnstre",
|
||||
"RAM Utilization": "RAM-forbrug",
|
||||
"Random": "TilfĂŠldig",
|
||||
"Reduced by ignore patterns": "Reduced by ignore patterns",
|
||||
"Reduced by ignore patterns": "Reduceret af ignorerings mĂžnsteret. ",
|
||||
"Release Notes": "Udgivelsesnoter",
|
||||
"Remote Devices": "Remote Devices",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Udgivelseskandidater indeholder alle de nyeste funktioner og rettelser. De er ens med de traditionelle 2 ugers Syncthing udgivelser.",
|
||||
"Remote Devices": "Fjernenheder ",
|
||||
"Remove": "Fjern",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Required identifier for the folder. Must be the same on all cluster devices.",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "NÞdvendig identifikation af mappen. Dette skal vÊre det samme pÄ alle enheder.",
|
||||
"Rescan": "Skan igen",
|
||||
"Rescan All": "Skan alt igen",
|
||||
"Rescan Interval": "Genskannings interval",
|
||||
@@ -156,14 +178,15 @@
|
||||
"Restart Needed": "Programmet krĂŠver genstart",
|
||||
"Restarting": "Genstarter",
|
||||
"Resume": "Genoptag",
|
||||
"Resume All": "Genoptag alt",
|
||||
"Reused": "Genbrugt",
|
||||
"Save": "Gem",
|
||||
"Scan Time Remaining": "Tid tilbage af skanningen",
|
||||
"Scanning": "Opdaterer",
|
||||
"Select the devices to share this folder with.": "VĂŠlg hvilke enheder du vil dele denne mappe med",
|
||||
"Select the folders to share with this device.": "VĂŠlg hvilke mapper du vil dele med denne enhed.",
|
||||
"Send & Receive": "Send & Receive",
|
||||
"Send Only": "Send Only",
|
||||
"Send & Receive": "Send & Modtag",
|
||||
"Send Only": "Send Kun",
|
||||
"Settings": "Indstillinger",
|
||||
"Share": "Del",
|
||||
"Share Folder": "Delt mappe",
|
||||
@@ -172,7 +195,7 @@
|
||||
"Share this folder?": "Del denne mappe",
|
||||
"Shared With": "Delt med",
|
||||
"Show ID": "Vis ID",
|
||||
"Show QR": "Show QR",
|
||||
"Show QR": "Vis QR",
|
||||
"Shown instead of Device ID in the cluster status. Will be advertised to other devices as an optional default name.": "Vist istedet for Enheds ID i klynge status. Vil blive vist pÄ andre enheder som valgfrit standard navn.",
|
||||
"Shown instead of Device ID in the cluster status. Will be updated to the name the device advertises if left empty.": "Vist istedet for Enheds ID i klynge status. Vil blive opdateret til det navn som enheden viser, hvis det ikke er udfyldt.",
|
||||
"Shutdown": "Luk ned",
|
||||
@@ -181,6 +204,9 @@
|
||||
"Single level wildcard (matches within a directory only)": "Enkeltnivau wildcard (matcher kun inden for en mapp)",
|
||||
"Smallest First": "Mindste fĂžrst",
|
||||
"Source Code": "Kildekode",
|
||||
"Stable releases and release candidates": "Stabile udgivelser og udgivelseskandidater ",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Stabile udgivelser er forsinket med omkring 2 uger. I denne periode gennemgÄr de tests som udgivelseskandidater. ",
|
||||
"Stable releases only": "Kun stabile udgivelser",
|
||||
"Staggered File Versioning": "Forskudte filversioner",
|
||||
"Start Browser": "Start browser",
|
||||
"Statistics": "Statistikker",
|
||||
@@ -195,10 +221,10 @@
|
||||
"Syncthing seems to be down, or there is a problem with your Internet connection. RetryingâŠ": "Syncthing ser ud til at vĂŠre stoppet eller oplever problemer med din internetforbindels. PrĂžver igen...",
|
||||
"Syncthing seems to be experiencing a problem processing your request. Please refresh the page or restart Syncthing if the problem persists.": "Det ser ud til at Syncthiing har problemer med at udfĂžre opgaven. PrĂžv at genopfriske siden eller genstarte Synching hvis problemet vedbliver.",
|
||||
"The Syncthing admin interface is configured to allow remote access without a password.": "Syncthing administationsdelen er konfigureret til at blive fjernstyret uden kodeord.",
|
||||
"The aggregated statistics are publicly available at the URL below.": "The aggregated statistics are publicly available at the URL below.",
|
||||
"The aggregated statistics are publicly available at the URL below.": "Den indsamlede statistik er offentlig tilgÊngelig pÄ den nedenstÄende URL.",
|
||||
"The configuration has been saved but not activated. Syncthing must restart to activate the new configuration.": "Konfigurationen er gemt, men ikke aktiveret. Syncthing skal genstarte for at aktivere den nye konfiguration.",
|
||||
"The device ID cannot be blank.": "Enhedens ID mÄ ikke vÊre tom.",
|
||||
"The device ID to enter here can be found in the \"Actions > Show ID\" dialog on the other device. Spaces and dashes are optional (ignored).": "The device ID to enter here can be found in the \"Actions > Show ID\" dialog on the other device. Spaces and dashes are optional (ignored).",
|
||||
"The device ID to enter here can be found in the \"Actions > Show ID\" dialog on the other device. Spaces and dashes are optional (ignored).": "Det enheds ID som skal indtastes her kan findes under menuen \"Handlinger > Vis ID\" pÄ den anden enhed. Mellemrum og streger er frivillige. (De bliver ignoreret) ",
|
||||
"The encrypted usage report is sent daily. It is used to track common platforms, folder sizes and app versions. If the reported data set is changed you will be prompted with this dialog again.": "Den krypterede forbrugsrapport sendes dagligt. Den benyttes til at spore anvendte platforme, mappestÞrrelser og versioner. Hvis det typen af opsamlet data Êndres pÄ et senere tidspunkt, vil du blive spurgt om tilladelse igen.",
|
||||
"The entered device ID does not look valid. It should be a 52 or 56 character string consisting of letters and numbers, with spaces and dashes being optional.": "Det indtastede node ID ser ikke gyldigt ud. Det skal vÊre en 52 eller 56 tegn streng, bestÄende af tal og bogstaver, eventuelt med mellemrum og bindestreger.",
|
||||
"The first command line parameter is the folder path and the second parameter is the relative path in the folder.": "Den fĂžrste kommandolinjeparameter er mappestien og den anden parameter er den relative sti til mappen.",
|
||||
@@ -218,10 +244,11 @@
|
||||
"The rate limit must be a non-negative number (0: no limit)": "RatebegrÊnsningen mÄ ikke vÊre negative tal (0: ingen begrÊnsning)",
|
||||
"The rescan interval must be a non-negative number of seconds.": "Genskanningsintervallet skal vĂŠre et ikke-negativt antal sekunder",
|
||||
"They are retried automatically and will be synced when the error is resolved.": "De prÞves igen automatisk og vil blive synkroniseret nÄr fejlen er lÞst.",
|
||||
"This Device": "This Device",
|
||||
"This Device": "Denne Enhed",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Dette gÞr det nemt for hackere at fÄ adgang til at lÊse og Êndre filer pÄ din computer.",
|
||||
"This is a major version upgrade.": "Dette er en ny version",
|
||||
"Time": "Time",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "This setting controls the free space required on the home (i.e., index database) disk.",
|
||||
"Time": "Tid",
|
||||
"Trash Can File Versioning": "Skraldespand fil versioner",
|
||||
"Type": "Type",
|
||||
"Unknown": "Ukendt",
|
||||
@@ -234,23 +261,27 @@
|
||||
"Upgrading": "Opgradere",
|
||||
"Upload Rate": "Uploadhastighed",
|
||||
"Uptime": "Oppetid",
|
||||
"Usage reporting is always enabled for candidate releases.": "Forbrugsraportering er altid slÄet til for udgivelseskandidater.",
|
||||
"Use HTTPS for GUI": "Anvend HTTPS til GUI adgang",
|
||||
"Version": "Version",
|
||||
"Versions Path": "Versions-sti",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Versioner slettes automatisk, hvis de er ĂŠldre end den satte maksimum alder eller overstiger det tilladte antal filer i et interval.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Warning, this path is a parent directory of an existing folder \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a parent directory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Warning, this path is a subdirectory of an existing folder \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a subdirectory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Advarsel, denne sti er en rodmappe til den eksisterende mappe \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Advarsel, denne sti er en rodmappe til den eksisterende mappe \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Advarsel, denne sti er en undermappe af en eksisterende mappe \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Advarsel, denne sti er en undermappe af en eksisterende mappe \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "NÄr der tilfÞjes en ny enhed, vÊr da opmÊrksom pÄ, at denne enhed ogsÄ skal tilfÞjes pÄ den anden side.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "NÄr der tilfÞjes en ny enhed, vÊr da opmÊrksom pÄ at samme ID bruges til at forbinde mapperne pÄ de forskellige enheder. Der er forskel pÄ store og smÄ bogstaver, og ID skal vÊre fuldstÊndig identisk pÄ alle enheder.",
|
||||
"Yes": "Ja",
|
||||
"You can also select one of these nearby devices:": "You can also select one of these nearby devices:",
|
||||
"You can change your choice at any time in the Settings dialog.": "Du kan altid ĂŠndre dit valg under indstillinger.",
|
||||
"You can read more about the two release channels at the link below.": "Du kan lÊse mere om de to udgivelseskanaler pÄ links herunder.",
|
||||
"You must keep at least one version.": "Du skal beholde mindst én version.",
|
||||
"days": "dage",
|
||||
"directories": "directories",
|
||||
"files": "files",
|
||||
"directories": "mapper",
|
||||
"files": "filer",
|
||||
"full documentation": "Fuld dokumentation",
|
||||
"items": "poster",
|
||||
"{%device%} wants to share folder \"{%folder%}\".": "{{device}} Ăžnsker at dele mappen \"{{folder}}\". ",
|
||||
"{%device%} wants to share folder \"{%folderlabel%}\" ({%folder%}).": "{{device}} wants to share folder \"{{folderlabel}}\" ({{folder}})."
|
||||
"{%device%} wants to share folder \"{%folderlabel%}\" ({%folder%}).": "{{device}} vil gerne dele mappen \"{{folderlabel}}\" ({{folder}})."
|
||||
}
|
||||
@@ -10,6 +10,7 @@
|
||||
"Add Device": "GerĂ€t hinzufĂŒgen",
|
||||
"Add Folder": "Ordner hinzufĂŒgen",
|
||||
"Add Remote Device": "GerĂ€t hinzufĂŒgen",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "FĂŒgt GerĂ€te vom VerteilergerĂ€t zu der eigenen GerĂ€teliste hinzu, um gegenseitig geteilte Ordner zu ermöglichen.",
|
||||
"Add new folder?": "Neuen Ordner hinzufĂŒgen?",
|
||||
"Address": "Adresse",
|
||||
"Addresses": "Adressen",
|
||||
@@ -18,16 +19,20 @@
|
||||
"Advanced settings": "Erweiterte Einstellungen",
|
||||
"All Data": "Alle Daten",
|
||||
"Allow Anonymous Usage Reporting?": "Ăbertragung von anonymen Nutzungsberichten erlauben?",
|
||||
"Allowed Networks": "Erlaubte Netzwerke",
|
||||
"Alphabetic": "Alphabetisch",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "Ein externer Befehl fĂŒhrt die Versionierung durch. Er muss die Datei aus dem geteilten Ordner entfernen.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Ein externer Programmaufruf handhabt die Versionierung. Es muss die Datei aus dem zu synchronisierendem Ordner entfernen.",
|
||||
"Anonymous Usage Reporting": "Anonymer Nutzungsbericht",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Alle GerÀte, die beim Verteiler eingetragen sind, werden auch bei diesem GerÀt eingetragen",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Alle GerĂ€te, die beim VerteilergerĂ€t eingetragen sind, werden auch bei diesem GerĂ€t hinzugefĂŒgt.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Die automatische Aktualisierung bietet jetzt die Wahl zwischen stabilen Veröffentlichungen und Veröffentlichungskandidaten.",
|
||||
"Automatic upgrades": "Automatische Updates aktivieren",
|
||||
"Be careful!": "Vorsicht!",
|
||||
"Bugs": "Fehler",
|
||||
"CPU Utilization": "Prozessorauslastung",
|
||||
"Changelog": "Ănderungsprotokoll",
|
||||
"Clean out after": "Löschen nach",
|
||||
"Click to see discovery failures": "Klick um GerÀtesuchfehler anzuzeigen",
|
||||
"Close": "SchlieĂen",
|
||||
"Command": "Befehl",
|
||||
"Comment, when used at the start of a line": "Kommentar, wenn am Anfang der Zeile benutzt.",
|
||||
@@ -39,6 +44,7 @@
|
||||
"Copied from original": "Vom Original kopiert",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 der folgenden UnterstĂŒtzer:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 der folgenden UnterstĂŒtzer:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Erstelle Ignoriermuster, welche die existierende Datei {{path}} ĂŒberschreiben.",
|
||||
"Danger!": "Achtung!",
|
||||
"Deleted": "Gelöscht",
|
||||
"Device": "GerÀt",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "Getrennt",
|
||||
"Discovered": "Ermittelt",
|
||||
"Discovery": "GerÀtesuche",
|
||||
"Discovery Failures": "GerÀtesuchfehler",
|
||||
"Documentation": "Dokumentation",
|
||||
"Download Rate": "Download",
|
||||
"Downloaded": "Heruntergeladen",
|
||||
@@ -58,18 +65,24 @@
|
||||
"Edit Device": "GerÀt bearbeiten",
|
||||
"Edit Folder": "Ordner bearbeiten",
|
||||
"Editing": "Bearbeitet",
|
||||
"Editing {%path%}.": "Bearbeite {{path}}.",
|
||||
"Enable NAT traversal": "NAT-Durchdringung aktivieren",
|
||||
"Enable Relaying": "Weiterleitung aktivieren",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Geben Sie eine positive Zahl ein (z.B. \"2.35\") und wĂ€hlen Sie eine Einheit. ProzentsĂ€tze sind Teil der gesamten FestplattengröĂe.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Geben Sie eine nichtprivilegierte Portnummer ein (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Kommagetrennte Adressen (\"tcp://ip:port\", \"tcp://host:port\") oder \"dynamic\" eingeben, um die Adresse automatisch zu ermitteln.",
|
||||
"Enter ignore patterns, one per line.": "Geben Sie Ignoriermuster ein, eines pro Zeile.",
|
||||
"Error": "Fehler",
|
||||
"External File Versioning": "Externe Dateiversionierung",
|
||||
"Failed Items": "Fehlgeschlagene Objekte",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "Ein Verbindungsfehler zu IPv6-Servern ist zu erwarten, wenn es keine IPv6-KonnektivitÀt gibt.",
|
||||
"File Pull Order": "DateiĂŒbertragungsreihenfolge",
|
||||
"File Versioning": "Dateiversionierung",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Dateizugriffsrechte beim Suchen nach VerÀnderungen ignorieren. Bei FAT-Dateisystemen zu verwenden.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Wenn Syncthing Dateien ersetzt oder löscht, werden sie in den Ordner .stversions verschoben.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Dateien werden, bevor Syncthing sie löscht oder ersetzt, datiert in den Ordner .stversions verschoben.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Dateien werden in den .stversions Ordner verschoben, wenn sie von Syncthing ersetzt oder gelöscht werden.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Dateien werden in den .stversions Ordner verschoben, wenn sie von Syncthing ersetzt oder gelöscht werden.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Dateien werden mit Datumsstempel versioniert und in den .stversions Ordner verschoben, wenn sie von Syncthing ersetzt oder gelöscht werden.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Dateien werden mit Datumsstempel versioniert und in den .stversions Ordner verschoben, wenn sie von Syncthing ersetzt oder gelöscht werden.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Dateien sind auf diesem GerĂ€t schreibgeschĂŒtzt. Auf diesem GerĂ€t durchgefĂŒhrte VerĂ€nderungen werden aber auf den Rest des Verbunds ĂŒbertragen.",
|
||||
"Folder": "Ordner",
|
||||
"Folder ID": "Ordnerkennung",
|
||||
@@ -80,7 +93,9 @@
|
||||
"GUI": "GUI",
|
||||
"GUI Authentication Password": "Passwort fĂŒr Zugang zur BenutzeroberflĂ€che",
|
||||
"GUI Authentication User": "Nutzername fĂŒr Zugang zur BenutzeroberflĂ€che",
|
||||
"GUI Listen Addresses": "Adresse(n) fĂŒr die BenutzeroberflĂ€che",
|
||||
"GUI Listen Address": "Addresse der BenutzeroberflÀche",
|
||||
"GUI Listen Addresses": "Adressen der BenutzeroberflÀche",
|
||||
"GUI Theme": "GUI Design",
|
||||
"Generate": "Generieren",
|
||||
"Global Changes": "Globale Ănderungen",
|
||||
"Global Discovery": "Globale GerÀtesuche",
|
||||
@@ -103,11 +118,12 @@
|
||||
"Last seen": "Zuletzt online",
|
||||
"Later": "SpÀter",
|
||||
"Latest Change": "Letzte Ănderung",
|
||||
"Learn more": "Mehr erfahren",
|
||||
"Listeners": "Zuhörer",
|
||||
"Local Discovery": "Lokale GerÀtesuche",
|
||||
"Local State": "Lokaler Status",
|
||||
"Local State (Total)": "Lokaler Status (Gesamt)",
|
||||
"Major Upgrade": "Hauptversionsupgrade",
|
||||
"Major Upgrade": "Hauptversionsupdate",
|
||||
"Master": "Master",
|
||||
"Maximum Age": "Höchstalter",
|
||||
"Metadata Only": "Nur Metadaten",
|
||||
@@ -120,6 +136,7 @@
|
||||
"Newest First": "Neueste zuerst",
|
||||
"No": "Nein",
|
||||
"No File Versioning": "Keine Dateiversionierung",
|
||||
"No upgrades": "Keine Updates",
|
||||
"Normal": "Normal",
|
||||
"Notice": "Hinweis",
|
||||
"OK": "OK",
|
||||
@@ -133,12 +150,16 @@
|
||||
"Override Changes": "Ănderungen ĂŒberschreiben",
|
||||
"Path": "Pfad",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Pfad zum Ordner auf dem lokalen GerĂ€t. Ordner wird erzeugt, wenn er nicht existiert. Das Tilden-Zeichen (~) kann als AbkĂŒrzung benutzt werden fĂŒr",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Pfad in dem alte Dateiversionen gespeichert werden sollen (ohne Angabe wird der Ordner .stversions im Ordner verwendet).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Pfad in dem Versionen gespeichert werden sollen (leer lassen, wenn der Standard .stversions Ordner fĂŒr den geteilten Ordner verwendet werden soll).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Pfad in dem Versionen gespeichert werden sollen (leer lassen, wenn der Standard .stversions Ordner fĂŒr den geteilten Ordner verwendet werden soll).",
|
||||
"Pause": "Pause",
|
||||
"Pause All": "Alles pausieren",
|
||||
"Paused": "Pausiert",
|
||||
"Please consult the release notes before performing a major upgrade.": "Bitte lesen Sie die Veröffentlichungsnotizen bevor Sie eine neue Hauptversion installieren.",
|
||||
"Please consult the release notes before performing a major upgrade.": "Bitte lesen Sie die Veröffentlichungsnotizen bevor Sie ein neues Hauptversionsupdate installieren.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Bitte setze einen Benutzer und ein Passwort fĂŒr das GUI in den Einstellungen.",
|
||||
"Please wait": "Bitte warten",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "PrÀfix, das anzeigt, dass die Datei gelöscht werden kann, wenn sie die Entfernung des Ordners verhindert",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "PrĂ€fix, das anzeigt, dass das Muster ohne Beachtung der GroĂ-/Kleinschreibung ĂŒbereinstimmen soll",
|
||||
"Preview": "Vorschau",
|
||||
"Preview Usage Report": "Vorschau des Nutzungsberichts",
|
||||
"Quick guide to supported patterns": "Schnellanleitung zu den unterstĂŒtzten Mustern",
|
||||
@@ -146,6 +167,7 @@
|
||||
"Random": "Zufall",
|
||||
"Reduced by ignore patterns": "Durch Ignoriermuster reduziert",
|
||||
"Release Notes": "Veröffentlichungsnotizen",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Veröffentlichungskandidaten enthalten die neuesten Funktionen und Verbesserungen. Sie gleichen den ĂŒblichen zweiwöchentlichen Syncthing-Veröffentlichungen.",
|
||||
"Remote Devices": "Fern-GerÀte",
|
||||
"Remove": "Entfernen",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Erforderlicher Bezeichner fĂŒr den Ordner. Muss auf allen Verbund-GerĂ€ten gleich sein.",
|
||||
@@ -155,7 +177,8 @@
|
||||
"Restart": "Neustart",
|
||||
"Restart Needed": "Neustart benötigt",
|
||||
"Restarting": "Wird neu gestartet",
|
||||
"Resume": "Fortfahren",
|
||||
"Resume": "Fortsetzen",
|
||||
"Resume All": "Alles fortsetzen",
|
||||
"Reused": "Erneut benutzt",
|
||||
"Save": "Speichern",
|
||||
"Scan Time Remaining": "Zeit fĂŒr Scan verbleibend",
|
||||
@@ -181,6 +204,9 @@
|
||||
"Single level wildcard (matches within a directory only)": "Einzelnes Maskenzeichen (wird fĂŒr einen einzelnen Ordner verwendet)",
|
||||
"Smallest First": "Kleinstes zuerst",
|
||||
"Source Code": "Quellcode",
|
||||
"Stable releases and release candidates": "Stabile Veröffentlichungen und Veröffentlichungskandidaten",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Stabile Veröffentlichungen werden ca. 2 Wochen verzögert. WÀhrend dieser Zeit durchlaufen sie eine Testphase als Veröffentlichungskandidaten.",
|
||||
"Stable releases only": "Nur stabile Veröffentlichungen",
|
||||
"Staggered File Versioning": "Stufenweise Dateiversionierung",
|
||||
"Start Browser": "Browser starten",
|
||||
"Statistics": "Statistiken",
|
||||
@@ -220,7 +246,8 @@
|
||||
"They are retried automatically and will be synced when the error is resolved.": "Sie werden automatisch heruntergeladen und werden synchronisiert, wenn der Fehler behoben wurde.",
|
||||
"This Device": "Dieses GerÀt",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Dies kann dazu fĂŒhren, dass Unberechtigte relativ einfach auf Ihre Dateien zugreifen und diese Ă€ndern können.",
|
||||
"This is a major version upgrade.": "Dies ist eine neue Hauptversion.",
|
||||
"This is a major version upgrade.": "Dies ist ein neues Hauptversionsupdate.",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "Diese Einstellung regelt den freien Speicherplatz, der fĂŒr den Systemordner (d.h. Indexdatenbank) erforderlich ist.",
|
||||
"Time": "Zeit",
|
||||
"Trash Can File Versioning": "Papierkorb Dateiversionierung",
|
||||
"Type": "Typ",
|
||||
@@ -229,11 +256,12 @@
|
||||
"Unused": "Ungenutzt",
|
||||
"Up to Date": "Aktuell",
|
||||
"Updated": "Aktualisiert",
|
||||
"Upgrade": "Upgrade",
|
||||
"Upgrade": "Update",
|
||||
"Upgrade To {%version%}": "Update auf {{version}}",
|
||||
"Upgrading": "Wird aktualisiert",
|
||||
"Upload Rate": "Upload",
|
||||
"Uptime": "Betriebszeit",
|
||||
"Usage reporting is always enabled for candidate releases.": "Nutzungsbericht ist fĂŒr Veröffentlichungskandidaten immer aktiviert.",
|
||||
"Use HTTPS for GUI": "HTTPS fĂŒr BenutzeroberflĂ€che benutzen",
|
||||
"Version": "Version",
|
||||
"Versions Path": "Versionierungspfad",
|
||||
@@ -245,6 +273,9 @@
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Beachte beim HinzufĂŒgen eines neuen GerĂ€tes, dass dieses GerĂ€t auch auf den anderen GerĂ€ten hinzugefĂŒgt werden muss.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Beachte bitte beim HinzufĂŒgen eines neuen Ordners, dass die Ordnerkennung dazu verwendet wird, Ordner zwischen GerĂ€ten zu verbinden. Die Kennung muss also auf allen GerĂ€ten gleich sein, die GroĂ- und Kleinschreibung muss dabei beachtet werden.",
|
||||
"Yes": "Ja",
|
||||
"You can also select one of these nearby devices:": "Sie können auch ein in der NÀhe befindliches GerÀte auswÀhlen:",
|
||||
"You can change your choice at any time in the Settings dialog.": "Sie können Ihre Wahl jederzeit in den Einstellungen Àndern.",
|
||||
"You can read more about the two release channels at the link below.": "Ăber den folgenden Link können Sie mehr ĂŒber die zwei VeröffentlichungskanĂ€le erfahren.",
|
||||
"You must keep at least one version.": "Du musst mindestens eine Version behalten.",
|
||||
"days": "Tage",
|
||||
"directories": "Ordner",
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"Add Device": "Î ÏÎżÏΞΟÎșη ÏÏ
ÏÎșΔÏ
ÎźÏ",
|
||||
"Add Folder": "Î ÏÎżÏΞΟÎșη ÏαÎșÎλοÏ
",
|
||||
"Add Remote Device": "Î ÏÎżÏΞΟÎșη ÎÏÎżÎŒÎ±ÎșÏÏ
ÏÎŒÎÎœÎ·Ï ÎŁÏ
ÏÎșΔÏ
ÎźÏ",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Î ÏÎżÏΞΟÎșη ÏÏ
ÏÎșΔÏ
ÏΜ αÏÏ ÏÎż ÎαÏÎčÎșÏ ÎșÏÎŒÎČÎż ÏÏη λίÏÏα ÏÏ
ÏÎșΔÏ
ÏΜ ΌαÏ, ÎłÎčα ÏÏÎżÏ
Ï ÎșÎżÎčÎœÎżÏÏ ÏαÎșÎλοÏ
Ï Ï
ÏÎŹÏÏÎżÏ
Μ ΌΔÏÎ±ÎŸÏ ÏÎżÏ
Ï.",
|
||||
"Add new folder?": "Î ÏÎżÏΞΟÎșη ΜÎÎżÏ
ÏαÎșÎλοÏ
;",
|
||||
"Address": "ÎÎčΔÏΞÏ
ΜÏη",
|
||||
"Addresses": "ÎÎčΔÏ
ΞÏΜÏΔÎčÏ",
|
||||
@@ -18,16 +19,20 @@
|
||||
"Advanced settings": "Î ÏÎżÏÏÏηΌÎÎœÎ”Ï ÏÏ
ÎžÎŒÎŻÏΔÎčÏ",
|
||||
"All Data": "Îλα Ïα ÎŽÎ”ÎŽÎżÎŒÎΜα",
|
||||
"Allow Anonymous Usage Reporting?": "Îα ΔÏÎčÏÏÎÏΔÏαÎč η αÏÎżÏÏολΟ αΜÏΜÏ
ÎŒÏΜ ÏÏÎżÎčÏΔίÏΜ ÏÏÎźÏηÏ;",
|
||||
"Allowed Networks": "ÎÏÎčÏÏΔÏÏΌΔΜα ÎŽÎŻÎșÏÏ
α",
|
||||
"Alphabetic": "ÎλÏαÎČηÏÎčÎșÎŹ",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "ÎÎčα ΔΟÏÏΔÏÎčÎșÎź ΔΜÏολΟ ÏΔÎčÏίζΔÏαÎč ÏηΜ ÏÎźÏηÏη ΔÎșÎŽÏÏΔÏΜ ÎșαÎč αΜαλαΌÎČÎŹÎœÎ”Îč Μα αÏαÎčÏÎÏΔÎč ÏÎż αÏÏΔίο αÏÏ ÏÎżÎœ ÏÏ
ÎłÏÏÎżÎœÎčÏÎŒÎÎœÎż ÏÎŹÎșΔλο.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "ÎÎčα ΔΟÏÏΔÏÎčÎșÎź ΔΜÏολΟ ÏΔÎčÏίζΔÏαÎč ÏηΜ ÎŽÎčαÏΔίÏÎčÏη ΔÎșÎŽÏÏΔÏΜ. ΧÏΔÎčΏζΔÏαÎč Μα αÏαÎčÏÎÏΔÎč ÏÎż αÏÏΔίο αÏÏ ÏÎż ÏÎŹÎșΔλο ÏÏ
ÎłÏÏÎżÎœÎčÏÎŒÎΜÏΜ.",
|
||||
"Anonymous Usage Reporting": "ÎΜÏΜÏ
Όα ÏÏÎżÎčÏΔία ÏÏÎźÏηÏ",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "ÎΜ ΎηλÏΞΔί ÏαΜ «ÎČαÏÎčÎșÏÏ ÎșÏÎŒÎČÎżÏ», ÏÏÏΔ ÏÎ»Î”Ï ÎżÎč ÏÏ
ÏÎșΔÏ
ÎÏ ÏÎżÏ
Î”ÎŻÎœÎ±Îč ΎηλÏÎŒÎÎœÎ”Ï Î”ÎșΔί Ξα Ï
ÏÎŹÏÏÎżÏ
Μ ÎșαÎč ÏÏÎżÎœ ÏÎżÏÎčÎșÏ ÎșÏÎŒÎČÎż.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "ÎÎčα ÏÎčÏ Î±Ï
ÏÏΌαÏÎ”Ï Î±ÎœÎ±ÎČÎ±ÎžÎŒÎŻÏΔÎčÏ ÎŒÏÎżÏΔίÏΔ ÏλÎÎżÎœ Μα ΔÏÎčλÎΟΔÏΔ ΌΔÏÎ±ÎŸÏ ÏÏαΞΔÏÏΜ ΔÎșÎŽÏÏΔÏΜ ÎșαÎč Ï
ÏÎżÏÎźÏÎčÏΜ ΔÎșÎŽÏÏΔÏΜ.",
|
||||
"Automatic upgrades": "ÎÏ
ÏÏΌαÏη αΜαÎČÎŹÎžÎŒÎčÏη",
|
||||
"Be careful!": "ÎΔ ÏÏÎżÏÎżÏÎź!",
|
||||
"Bugs": "Bugs",
|
||||
"CPU Utilization": "ÎÏÎčÎČÎŹÏÏ
ΜÏη ÏÎżÏ
ΔÏΔΟΔÏγαÏÏÎź",
|
||||
"Changelog": "ΠληÏÎżÏÎżÏÎŻÎ”Ï Î”ÎșÎŽÏÏΔÏΜ",
|
||||
"Clean out after": "ÎÎșÎșαΞΏÏÎčÏη ΌΔÏÎŹ αÏÏ",
|
||||
"Click to see discovery failures": "ΠαÏÎźÏÏΔ ÎłÎčα Μα ΎΔίÏΔ ÏÎčÏ Î±ÏÎżÏÏ
ÏÎŻÎ”Ï Î±ÎœÎ”ÏÏΔÏÎ·Ï ÏÏ
ÏÎșΔÏ
ÏΜ",
|
||||
"Close": "΀ÎλοÏ",
|
||||
"Command": "ÎΜÏολΟ",
|
||||
"Comment, when used at the start of a line": "ÎŁÏÏλÎčÎż, ÏÏαΜ ÏÏηÏÎčÎŒÎżÏÎżÎčΔίÏαÎč ÏÏηΜ αÏÏÎź ÎŒÎčÎ±Ï ÎłÏÎ±ÎŒÎŒÎźÏ",
|
||||
@@ -39,6 +44,7 @@
|
||||
"Copied from original": "ÎÏΔÎč αΜÏÎčÎłÏαÏΔί αÏÏ ÏÎż ÏÏÏÏÏÏÏ
ÏÎż",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 ÎłÎčα ÏÎżÏ
Ï ÏαÏαÎșÎŹÏÏ ÏÏ
ΜΔÎčÏÏÎÏÎżÎœÏΔÏ:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 ÎłÎčα ÏÎżÏ
Ï ÏαÏαÎșÎŹÏÏ ÏÏ
ΜΔÎčÏÏÎÏÎżÎœÏΔÏ:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "ÎηΌÎčÎżÏ
Ïγία ÏÏÎżÏÏÏÏΜ Î±ÎłÎœÏηÏηÏ, αΜÏÎčÎșαÏÎŹÏÏαÏη ÏÎżÏ
Ï
ÏÎŹÏÏÎżÎœÏÎżÏ Î±ÏÏΔίοÏ
ÏÏÎż {{path}}.",
|
||||
"Danger!": "Î ÏÎżÏÎżÏÎź!",
|
||||
"Deleted": "ÎÎčαγÏαΌΌÎΜα",
|
||||
"Device": "ÎŁÏ
ÏÎșΔÏ
Îź",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "ÎÏÎżÏÏ
ΜΎΔΎΔΌÎÎœÎżÏ",
|
||||
"Discovered": "ÎÎŹÏΔÎč αΜΔÏÏΔÏηÏ",
|
||||
"Discovery": "ÎΜΔÏÏΔÏη ÏÏ
ÏÎșΔÏ
ÏΜ",
|
||||
"Discovery Failures": "ÎÏÎżÏÏ
ÏÎŻÎ”Ï Î±ÎœÎ”ÏÏΔÏÎ·Ï ÏÏ
ÏÎșΔÏ
ÏΜ",
|
||||
"Documentation": "΀ΔÎșΌηÏÎŻÏÏη",
|
||||
"Download Rate": "΀αÏÏÏηÏα λΟÏηÏ",
|
||||
"Downloaded": "ÎÏΔÎč ληÏΞΔί",
|
||||
@@ -58,17 +65,23 @@
|
||||
"Edit Device": "ÎÏΔΟΔÏγαÏία ÏÏ
ÏÎșΔÏ
ÎźÏ",
|
||||
"Edit Folder": "ÎÏΔΟΔÏγαÏία ÏαÎșÎλοÏ
",
|
||||
"Editing": "ÎÏΔΟΔÏγαÏία ÏΔ ΔΟÎλÎčΟη",
|
||||
"Editing {%path%}.": "ÎÏΔΟΔÏγαÏία ÏÎżÏ
{{path}}.",
|
||||
"Enable NAT traversal": "ÎΜΔÏγοÏοίηÏη ÎŽÎčÎŹÏÏÎčÏÎ·Ï NAT",
|
||||
"Enable Relaying": "ÎΜΔÏγοÏοίηÏη αΜαΌΔÏÎŹÎŽÎżÏηÏ",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "ÎÎčÏΏγΔÏΔ ÎΜαΜ Όη αÏΜηÏÎčÎșÏ Î±ÏÎčÎžÎŒÏ (Ï.Ï. «2.35») ÎșαÎč ΔÏÎčλÎΟÏΔ ÎŒÎčα ÎŒÎżÎœÎŹÎŽÎ± ÎŒÎÏÏηÏηÏ. ΀α ÏÎżÏÎżÏÏÎŹ ÎčÏÏÏÎżÏ
Μ ÏÏ ÏÏÎżÏ ÏÎż ÏÏ
ÎœÎżÎ»ÎčÎșÏ ÎŒÎÎłÎ”ÎžÎżÏ ÏÎżÏ
ÎŽÎŻÏÎșÎżÏ
.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "ÎÎčÏΏγΔÏΔ ÏÎżÎœ αÏÎčÎžÎŒÏ ÎŒÎčÎ±Ï ÎŒÎ· ΎΔÏΌΔÏ
ÎŒÎÎœÎ·Ï ÎžÏÏÎ±Ï (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "ÎÎčÏΏγΔÏΔ ÏÎčÏ ÎŽÎčΔÏ
ΞÏΜÏΔÎčÏ ÏÏÏÎčÏÎŒÎÎœÎ”Ï ÎŒÎ” ÎșÏΌΌα (\"tcp://ip:port\", \"tcp://host:port\") Îź ÎłÏÎŹÏÏΔ \"dynamic\" ÎłÎčα ÏηΜ αÏ
ÏÏΌαÏη αΜΔÏÏΔÏη ÏÎżÏ
Ï.",
|
||||
"Enter ignore patterns, one per line.": "ÎÏÏΔ Ïα ÏÏÏÏÏ
Ïα ÏÎżÏ
Ξα Î±ÎłÎœÎżÎ·ÎžÎżÏΜ, ÎΜα ÏΔ ÎșΏΞΔ ÎłÏÎ±ÎŒÎŒÎź.",
|
||||
"Error": "ÎŁÏÎŹÎ»ÎŒÎ±",
|
||||
"External File Versioning": "ÎΟÏÏΔÏÎčÎșÎź ÏÎźÏηÏη ΔÎșÎŽÏÏΔÏΜ",
|
||||
"Failed Items": "ÎÏÏΔία ÏÎżÏ
αÏÎÏÏ
ÏαΜ",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "ÎÎŻÎœÎ±Îč ÏÏ
ÏÎčολογÎčÎșÎź η αÏÎżÏÏ
Ïία ÏÏΜΎΔÏÎ·Ï ÏΔ ΔΟÏ
ÏηÏΔÏηÏÎÏ IPv6 ÏÏαΜ ΎΔΜ Ï
ÏÎŹÏÏΔÎč ÏÏ
ΜΎΔÏÎčÎŒÏÏηÏα IPv6.",
|
||||
"File Pull Order": "ΣΔÎčÏÎŹ ΌΔ ÏηΜ ÎżÏοία Ξα ÎșαÏΔÎČÎ±ÎŻÎœÎżÏ
Μ Ïα αÏÏΔία",
|
||||
"File Versioning": "΀ΟÏηÏη ΔÎșÎŽÏÏΔÏΜ",
|
||||
"File Versioning": "΀ΟÏηÏη ΔÎșÎŽÏÏΔÏΜ αÏÏΔίÏΜ",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "΀α ÎŽÎčÎșαÎčÏΌαÏα ÏÏΜ αÏÏΔίÏΜ Ξα Î±ÎłÎœÎżÎżÏΜÏαÎč ÏÏαΜ ÎșÎżÎčÏÎŹÎ¶Ï ÎłÎčα αλλαγÎÏ. ÎÏÎżÏÎŹ ÏÏ
ÏÏÎźÎŒÎ±Ïα αÏÏΔίÏΜ FAT.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "΀α αÏÏΔία ÏÎżÏ
ÏÎČÎźÎœÎżÎœÏαÎč Îź αΜÏÎčÎșαΞίÏÏαΜÏαÎč αÏÏ ÏÎż Syncthing ΌΔÏαÎșÎčÎœÎżÏΜÏαÎč ÏÏÎżÎœ ÎșαÏΏλογο .stversions.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "΀α αÏÏΔία ÏÎżÏ
ÏÎČÎźÎœÎżÎœÏαÎč Îź αΜÏÎčÎșαΞÎčÏÏÎżÏΜÏαÎč αÏÏ ÏÎż Syncthing ΌΔÏαÎșÎčÎœÎżÏΜÏαÎč ÏΔ ÎΜαΜ ÏÎŹÎșΔλο .stversions ΌΔ ÏÏÎżÎœÎżÏÏÏαγίΎα.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "΀α αÏÏΔία ÏÎżÏ
ÏÎČÎźÎœÎżÎœÏαÎč Îź αΜÏÎčÎșαΞίÏÏαΜÏαÎč αÏÏ ÏÎż Syncthing ΌΔÏαÎșÎčÎœÎżÏΜÏαÎč ÏÏÎżÎœ ÎșαÏΏλογο .stversions ΌΔ ÏÏÎżÎœÎżÏÎźÎŒÎ±ÎœÏη.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "΀α αÏÏΔία ÏÎżÏ
ÏÎČÎźÎœÎżÎœÏαÎč Îź αΜÏÎčÎșαΞÎčÏÏÎżÏΜÏαÎč αÏÏ ÏÎż Syncthing ΌΔÏαÎșÎčÎœÎżÏΜÏαÎč ÏΔ ÎΜαΜ ÏÎŹÎșΔλο .stversions ΌΔ ÏÏÎżÎœÎżÏÏÏαγίΎα.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "΀α αÏÏΔία ÏÏÎżÏÏαÏΔÏÎżÎœÏαÎč αÏÏ Î±Î»Î»Î±ÎłÎÏ ÏÎżÏ
ÎłÎŻÎœÎżÎœÏαÎč ÏΔ ÎŹÎ»Î»Î”Ï ÏÏ
ÏÎșΔÏ
ÎÏ, αλλΏ ÏÏÎżÎčÎ”Ï Î±Î»Î»Î±ÎłÎÏ ÎłÎŻÎœÎżÏ
Μ ÏΔ αÏ
ÏÎź Ïη ÏÏ
ÏÎșΔÏ
Îź Ξα αÏÎżÏÏαλοÏΜ ÏΔ Ïλη Ïη ÏÏ
ÏÏΏΎα ÏÏ
ÏÎșΔÏ
ÏΜ.",
|
||||
"Folder": "ΊΏÎșΔλοÏ",
|
||||
@@ -80,7 +93,9 @@
|
||||
"GUI": "ÎÏαÏÎčÎșÏ ÏΔÏÎčÎČÎŹÎ»Î»ÎżÎœ",
|
||||
"GUI Authentication Password": "ÎÏÎŽÎčÎșÏÏ ÎłÎčα ÏηΜ ÏÏÏÏÎČαÏη ÏÏη ÎŽÎčΔÏαÏÎź",
|
||||
"GUI Authentication User": "ΧÏηÏÏÏΜÏ
ÎŒÎż ÎłÎčα ÏηΜ ÏÏÏÏÎČαÏη ÏÏη ÎŽÎčΔÏαÏÎź",
|
||||
"GUI Listen Address": "ÎÎčΔÏΞÏ
ΜÏη αÎșÏÏαÏÎ·Ï ÎłÏαÏÎčÎșÎżÏ ÏΔÏÎčÎČÎŹÎ»Î»ÎżÎœÏÎżÏ (GUI)",
|
||||
"GUI Listen Addresses": "ÎÎčΔÏ
ΞÏΜÏΔÎčÏ Î±ÏÏ ÏÎčÏ ÎżÏÎżÎŻÎ”Ï ÎžÎ± Î”ÎŻÎœÎ±Îč ÏÏÎżÏÎČÎŹÏÎčΌη η ÎŽÎčΔÏαÏÎź",
|
||||
"GUI Theme": "ÎÎΌα GUI",
|
||||
"Generate": "ÎηΌÎčÎżÏ
Ïγία",
|
||||
"Global Changes": "ÎŁÏ
ÎœÎżÎ»ÎčÎșÎÏ Î±Î»Î»Î±ÎłÎÏ",
|
||||
"Global Discovery": "ÎαΞολÎčÎșÎź αΜΔÏÏΔÏη",
|
||||
@@ -103,6 +118,7 @@
|
||||
"Last seen": "΀ΔλΔÏ
Ïαία ÏÎżÏÎŹ ÏÏ
ΜΎΔΎΔΌÎÎœÎżÏ",
|
||||
"Later": "ÎÏÎłÏÏΔÏα",
|
||||
"Latest Change": "΀ΔλΔÏ
Ïαία αλλαγΟ",
|
||||
"Learn more": "ÎΏΞΔÏΔ ÏΔÏÎčÏÏÏÏΔÏα",
|
||||
"Listeners": "ÎÎșÏοαÏÎÏ",
|
||||
"Local Discovery": "΀οÏÎčÎșÎź αΜΔÏÏΔÏη",
|
||||
"Local State": "΀οÏÎčÎșÎź ÎșαÏÎŹÏÏαÏη",
|
||||
@@ -120,6 +136,7 @@
|
||||
"Newest First": "΀ο ΜΔÏÏΔÏÎż ÏÏÏÏα",
|
||||
"No": "ÎÏÎč",
|
||||
"No File Versioning": "Îα ΌηΜ ÏηÏÎżÏΜÏαÎč ΔÎșÎŽÏÏΔÎčÏ",
|
||||
"No upgrades": "ÎÏΔΜΔÏγοÏÎżÎčηΌÎΜΔÏ",
|
||||
"Normal": "ÎÎ±ÎœÎżÎœÎčÎșÏÏ",
|
||||
"Notice": "ÎŁÎ·ÎŒÎ”ÎŻÏÏη",
|
||||
"OK": "OK",
|
||||
@@ -133,12 +150,16 @@
|
||||
"Override Changes": "Îα αΜÏÎčÎșαÏαÏÏαΞοÏΜ ÎżÎč αλλαγÎÏ",
|
||||
"Path": "ÎÎżÎœÎżÏÎŹÏÎč",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "ÎÎżÎœÎżÏÎŹÏÎč ÏÎżÏ
ÏαÎșÎλοÏ
ÏΔ αÏ
ÏÏΜ ÏÎżÎœ Ï
ÏολογÎčÏÏÎź. ÎΜ ΎΔΜ Ï
ÏÎŹÏÏΔÎč Ξα ΎηΌÎčÎżÏ
ÏγηΞΔί. Î ÏΔÏÎčÏÏÏÎŒÎΜη (~) ÎŒÏÎżÏΔί Μα ÎŒÏΔÎč ÏαΜ ÏÏ
ΜÏÏΌΔÏ
Ïη ÎłÎčα ÏÎż",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Î ÎșαÏÎŹÎ»ÎżÎłÎżÏ ÏÏÎżÎœ ÎżÏοίο Ξα αÏοΞηÎșΔÏÎżÎœÏαÎč ÎżÎč ΔÎșÎŽÏÏΔÎčÏ ÏÏΜ αÏÏΔίÏΜ (αΜ ΎΔΜ ÎżÏÎčÏÏΔί, Ξα αÏοΞηÎșΔÏÎżÎœÏαÎč ÏÏÎżÎœ Ï
ÏÎżÎșαÏΏλογο .stversions)",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Î ÏÎŹÎșÎ”Î»ÎżÏ ÏÏÎżÎœ ÎżÏοίο Ξα αÏοΞηÎșΔÏÎżÎœÏαÎč ÎżÎč ΔÎșÎŽÏÏΔÎčÏ ÏÏΜ αÏÏΔίÏΜ (αΜ ΎΔΜ ÎżÏÎčÏÏΔί Ξα αÏοΞηÎșΔÏÎżÎœÏαÎč ÏÏÎżÎœ Ï
ÏÎżÏÎŹÎșΔλο .stversions)",
|
||||
"Pause": "ΠαÏÏη",
|
||||
"Pause All": "ΠαÏÏη ÏλÏΜ",
|
||||
"Paused": "ΣΔ ÏαÏÏη",
|
||||
"Please consult the release notes before performing a major upgrade.": "ΠαÏαÎșαλοÏΌΔ, ÏÏÎčΜ αÏÏ ÏηΜ ΔÎșÏÎλΔÏη ÎŒÎčÎ±Ï ÏηΌαΜÏÎčÎșÎźÏ Î±ÎœÎ±ÎČÎŹÎžÎŒÎčÏηÏ, Μα ÏÏ
ÎŒÎČÎżÏ
λΔÏ
ÏÎ”ÎŻÏ ÏÎż ÏÎ·ÎŒÎ”ÎŻÏΌα ÏÎżÏ
Ïη ÏÏ
ÎœÎżÎŽÎ”ÏΔÎč. ",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "ΠαÏαÎșÎ±Î»Ï ÏÏÎčÏΔ ÏÏÎčÏ ÏÏ
ÎžÎŒÎŻÏΔÎčÏ ÎΜαΜ ÏÏÎźÏÏη ÎșαÎč ÎΜαΜ ÎșÏÎŽÎčÎșÏ ÏÏÏÏÎČαÏÎ·Ï ÎłÎčα Ïη ÎŽÎčΔÏαÏÎź.",
|
||||
"Please wait": "ΠαÏαÎșÎ±Î»Ï ÏΔÏÎčÎŒÎΜΔÏΔ",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Î ÏÏΞΔΌα ÏÎżÏ
ΎΔίÏΜΔÎč ÏÏÎč ÏÎż αÏÏΔίο Ξα ÎŒÏÎżÏΔί Μα ÎŽÎčαγÏαÏΔί αΜ ΔΌÏοΎίζΔÎč Ïη ÎŽÎčαγÏαÏÎź ÎșαÏαλÏγοÏ
",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Î ÏÏΞΔΌα ÏÎżÏ
ΎΔίÏΜΔÎč ÏÏÎč η αΜÏÎčÏÏοίÏÎčÏη ÏÏÎżÏÏÏÎżÏ
Ξα ÎłÎŻÎœÎ”ÏαÎč ÏÏÏÎŻÏ ÎŽÎčÎŹÎșÏÎčÏη ÏΔζÏΜ ÎșαÎč ÎșΔÏαλαίÏΜ ÏαÏαÎșÏÎźÏÏΜ",
|
||||
"Preview": "Î ÏοΔÏÎčÏÎșÏÏηÏη",
|
||||
"Preview Usage Report": "Î ÏοΔÏÎčÏÎșÏÏηÏη αΜαÏÎżÏÎŹÏ ÏÏÎźÏηÏ",
|
||||
"Quick guide to supported patterns": "ÎŁÏΜÏÎżÎŒÎ· ÎČοΟΞΔÎčα ÏÏΔÏÎčÎșÎŹ ΌΔ Ïα ÏÏÏÏÏ
Ïα Î±ÎœÎ±Î¶ÎźÏηÏÎ·Ï ÏÎżÏ
Ï
ÏÎżÏÏηÏÎŻÎ¶ÎżÎœÏαÎč",
|
||||
@@ -146,6 +167,7 @@
|
||||
"Random": "΀Ï
Ïαία",
|
||||
"Reduced by ignore patterns": "ΠΔÏÎčÎżÏÎčÏÎŒÎΜα λÏÎłÏ ÏÏÎżÏÏÏÏΜ Î±ÎłÎœÏηÏηÏ",
|
||||
"Release Notes": "ÎŁÎ·ÎŒÎ”ÎŻÏΌα ÎÎșÎŽÎżÏηÏ",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "ÎÎč Ï
ÏÎżÏÎźÏÎčÎ”Ï Î”ÎșÎŽÏÏΔÎčÏ ÏΔÏÎčÎÏÎżÏ
Μ ÏÎčÏ ÎœÎ”ÏÏΔÏÎ”Ï Î»Î”ÎčÏÎżÏ
ÏÎłÎŻÎ”Ï ÎșαÎč ΔÏÎčÎŽÎčÎżÏΞÏÏΔÎčÏ ÏÏÎ±Î»ÎŒÎŹÏÏΜ, ÏÏÏÏ ÎșαÎč ÎżÎč ÏαÏαΎοÏÎčαÎșÎÏ ÎŽÎčÏΔÎČÎŽÎżÎŒÎ±ÎŽÎčÎ±ÎŻÎ”Ï Î”ÎșÎŽÏÏΔÎčÏ ÏÎżÏ
Syncthing.",
|
||||
"Remote Devices": "ÎÏÎżÎŒÎ±ÎșÏÏ
ÏÎŒÎÎœÎ”Ï ÏÏ
ÏÎșΔÏ
ÎÏ",
|
||||
"Remove": "ÎÏαίÏΔÏη",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "ÎÏαÏαίÏηÏÎż Î±ÎœÎ±ÎłÎœÏÏÎčÏÏÎčÎșÏ ÎłÎčα ÏÎżÎœ ÏÎŹÎșΔλο. Î ÏÎÏΔÎč Μα Î”ÎŻÎœÎ±Îč ÏÎż ÎŻÎŽÎčÎż ÏΔ ÏÎ»Î”Ï ÏÎčÏ ÏÏ
ÏÎșΔÏ
ÎÏ ÎŒÎ” ÏÎčÏ ÎżÏÎżÎŻÎ”Ï ÎŽÎčÎ±ÎŒÎżÎčÏΏζΔÏαÎč Îż ÏÎŹÎșÎ”Î»ÎżÏ Î±Ï
ÏÏÏ.",
|
||||
@@ -156,6 +178,7 @@
|
||||
"Restart Needed": "ÎÏαÎčÏΔίÏαÎč ΔÏαΜΔÎșÎșÎŻÎœÎ·Ïη",
|
||||
"Restarting": "ÎÏαΜΔÎșÎșÎŻÎœÎ·Ïη",
|
||||
"Resume": "ÎŁÏ
ΜÎÏΔÎčα",
|
||||
"Resume All": "ÎŁÏ
ΜÎÏÎčÏη ÏλÏΜ",
|
||||
"Reused": "ΧÏηÏÎčÎŒÎżÏÎżÎčΟΞηÎșΔ ÎŸÎ±ÎœÎŹ",
|
||||
"Save": "ÎÏοΞΟÎșΔÏ
Ïη",
|
||||
"Scan Time Remaining": "ÎΜαÏÎżÎŒÎ”ÎŻÎœÎ±ÎœÏÎ±Ï ÏÏÏÎœÎżÏ ÎłÎčα ÏÎżÎœ ÎλΔγÏÎż ",
|
||||
@@ -181,6 +204,9 @@
|
||||
"Single level wildcard (matches within a directory only)": "΀ΔλΔÏÏÎźÏ ÎŒÏαλαΜÏÎÏ (*) ÎłÎčα ÎΜα ΔÏÎŻÏΔΎο (ÏÏηÏÎčÎŒÎżÏÎżÎčΔίÏαÎč ÎłÎčα ÎΜαΜ ÏÎŹÎșΔλο ÎŒÏÎœÎż)",
|
||||
"Smallest First": "΀ο ÎŒÎčÎșÏÏÏΔÏÎż ÏÏÏÏα",
|
||||
"Source Code": "Î Î·ÎłÎ±ÎŻÎżÏ ÎșÏÎŽÎčÎșαÏ",
|
||||
"Stable releases and release candidates": "ÎŁÏαΞΔÏÎÏ Î”ÎșÎŽÏÏΔÎčÏ ÎșαÎč Ï
ÏÎżÏÎźÏÎčÎ”Ï Î”ÎșÎŽÏÏΔÎčÏ.",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "ÎÎč ÏÏαΞΔÏÎÏ Î”ÎșÎŽÏÏΔÎčÏ ÎČÎłÎ±ÎŻÎœÎżÏ
Μ ΌΔ ÎșαΞÏ
ÏÏÎÏηÏη ÏΔÏÎŻÏÎżÏ
ÎŽÏÎż ΔÎČÎŽÎżÎŒÎŹÎŽÏΜ. ΣΔ αÏ
ÏÏ ÏÎż ÎŽÎčÎŹÏÏηΌα ÎŽÎżÎșÎčÎŒÎŹÎ¶ÎżÎœÏαÎč ÏÏ Ï
ÏÎżÏÎźÏÎčÎ”Ï Î”ÎșÎŽÏÏΔÎčÏ.",
|
||||
"Stable releases only": "ÎÏÎœÎż ÏÏαΞΔÏÎÏ Î”ÎșÎŽÏÏΔÎčÏ",
|
||||
"Staggered File Versioning": "Îα ÏηÏÎżÏΜÏαÎč ÎșλÎčΌαÎșÎżÏÎŒÎ”ÎœÎ”Ï Î”ÎșÎŽÏÏΔÎčÏ",
|
||||
"Start Browser": "ÎÎșÎșÎŻÎœÎ·Ïη ÏÏογÏÎŹÎŒÎŒÎ±ÏÎżÏ ÏΔÏÎčΟγηÏηÏ",
|
||||
"Statistics": "ÎŁÏαÏÎčÏÏÎčÎșÎŹ",
|
||||
@@ -211,7 +237,7 @@
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "Î ÎŒÎÎłÎčÏÏη ηλÎčÎșία ÏαλÎčÏÏΔÏÏΜ ΔÎșÎŽÏÏΔÏΜ (ÏΔ ηΌÎÏΔÏ, αΜ ÎŽÏÏΔÎčÏ 0 ÎżÎč ÏαλÎčÏÏΔÏÎ”Ï Î”ÎșÎŽÏÏΔÎčÏ ÎžÎ± ÎŽÎčαÏηÏÎżÏΜÏαÎč ÎłÎčα ÏÎŹÎœÏα).",
|
||||
"The minimum free disk space percentage must be a non-negative number between 0 and 100 (inclusive).": "΀ο ÏÎżÏÎżÏÏÏ ÏÎżÏ
ΔλΏÏÎčÏÏÎżÏ
ÎŽÎčαΞÎÏÎčÎŒÎżÏ
αÏοΞηÎșΔÏ
ÏÎčÎșÏÏ
ÏÏÏÎżÏ
ÏÏÎÏΔÎč Μα Î”ÎŻÎœÎ±Îč ÎΜαΜ Όη-αÏΜηÏÎčÎșÏÏ Î±ÏÎčΞΌÏÏ ÎŒÎ”ÏÎ±ÎŸÏ ÏÎżÏ
0 ÎșαÎč ÏÎżÏ
100 (ÏÏ
ÎŒÏΔÏÎčλαΌÎČÎ±ÎœÎżÎŒÎΜÏΜ)",
|
||||
"The number of days must be a number and cannot be blank.": "ΠαÏÎčΞΌÏÏ Î·ÎŒÎ”ÏÏΜ ÏÏÎÏΔÎč Μα Î”ÎŻÎœÎ±Îč αÏÎčΞΌÏÏ ÎșαÎč ÏίγοÏ
Ïα ÏÏÎč ÎșΔΜÏ.",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "ΠαÏÎčΞΌÏÏ Î·ÎŒÎ”ÏÏΜ ÏÎżÏ
Ξα ÎŽÎčαÏηÏÎżÏΜÏα Ïα αÏÏΔία ÏÏÎżÎœ ÎșÎŹÎŽÎż. ÎηΎÎΜ ÏÎ·ÎŒÎ±ÎŻÎœÎ”Îč ÎŽÎčαÏÎźÏηÏη ÎłÎčα ÏÎŹÎœÏα.",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "ΠαÏÎčΞΌÏÏ Î·ÎŒÎ”ÏÏΜ ÏÎżÏ
Ξα ÎŽÎčαÏηÏÎżÏΜÏαÎč Ïα αÏÏΔία ÏÏÎżÎœ ÎșÎŹÎŽÎż. ÎηΎÎΜ ÏÎ·ÎŒÎ±ÎŻÎœÎ”Îč ÎŽÎčαÏÎźÏηÏη ÎłÎčα ÏÎŹÎœÏα.",
|
||||
"The number of old versions to keep, per file.": "Î ÏÏÎ”Ï ÏαλÎčÏÏΔÏÎ”Ï Î”ÎșÎŽÏÏΔÎčÏ ÎžÎ± ÎŽÎčαÏηÏÎżÏΜÏαÎč, Î±ÎœÎŹ αÏÏΔίο.",
|
||||
"The number of versions must be a number and cannot be blank.": "ΠαÏÎčΞΌÏÏ Î”ÎșÎŽÏÏΔÏΜ ÏÏÎÏΔÎč Μα Î”ÎŻÎœÎ±Îč αÏÎčΞΌÏÏ ÎșαÎč ÏίγοÏ
Ïα ÏÏÎč ÎșΔΜÏ.",
|
||||
"The path cannot be blank.": "΀ο ÎŒÎżÎœÎżÏÎŹÏÎč ΎΔΜ ÎŒÏÎżÏΔί Μα Î”ÎŻÎœÎ±Îč ÎșΔΜÏ.",
|
||||
@@ -221,6 +247,7 @@
|
||||
"This Device": "ÎÏ
ÏÎź η ÏÏ
ÏÎșΔÏ
Îź",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "ÎÏ
ÏÏ ÎŒÏÎżÏΔί ΔÏÎșολα Μα ÎŽÏÏΔÎč ÏÏÏÏÎČαÏη Î±ÎœÎŹÎłÎœÏÏÎ·Ï ÎșαÎč ΔÏΔΟΔÏγαÏÎŻÎ±Ï Î±ÏÏΔίÏΜ ÏÎżÏ
Ï
ÏολογÎčÏÏÎź ÏÎ±Ï ÏΔ ÏÎŹÎșΔÏÏ.",
|
||||
"This is a major version upgrade.": "ÎÏ
ÏÎź Î”ÎŻÎœÎ±Îč ÎŒÎčα ÏηΌαΜÏÎčÎșÎź αΜαÎČÎŹÎžÎŒÎčÏη.",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "ÎÏ
ÏÎź η ΔÏÎčλογΟ ÎșαΞοÏίζΔÎč ÏÎżÎœ ΔλΔÏΞΔÏÎż ÏÏÏÎż ÏÎżÏ
Ξα ÏαÏαΌÎΜΔÎč ΔλΔÏΞΔÏÎżÏ ÏÏÎżÎœ ÎŽÎŻÏÎșÎż ÏÏÎżÏ
ÎČÏÎŻÏÎșΔÏαÎč Îż ÎșαÏÎŹÎ»ÎżÎłÎżÏ ÏÎ·Ï Î”ÏαÏÎŒÎżÎłÎźÏ (ÎșαÎč ÏÏ
ΜΔÏÏÏ Î· ÎČÎŹÏη ÎŽÎ”ÎŽÎżÎŒÎΜÏΜ ΔÏ
ÏΔÏηÏÎŻÏΜ).",
|
||||
"Time": "ΧÏÏÎœÎżÏ",
|
||||
"Trash Can File Versioning": "΀ΟÏηÏη ΔÎșÎŽÏÏΔÏΜ ÎșÎŹÎŽÎżÏ
αΜαÎșÏÎșλÏÏηÏ",
|
||||
"Type": "΀ÏÏÎżÏ",
|
||||
@@ -234,6 +261,7 @@
|
||||
"Upgrading": "ÎΜαÎČÎŹÎžÎŒÎčÏη",
|
||||
"Upload Rate": "΀αÏÏÏηÏα αΜΔÎČÎŹÏΌαÏÎżÏ",
|
||||
"Uptime": "ΧÏÏÎœÎżÏ Î±ÏÏÏÏÎșÎżÏÏÎ·Ï Î»Î”ÎčÏÎżÏ
ÏγίαÏ",
|
||||
"Usage reporting is always enabled for candidate releases.": "ΠαÏÎżÏÏολΟ αΜαÏÎżÏÏΜ ÏÏÎźÏÎ·Ï Î”ÎŻÎœÎ±Îč ÏÎŹÎœÏα ΔΜΔÏγοÏÎżÎčηΌÎΜη ÏÏÎčÏ Ï
ÏÎżÏÎźÏÎčÎ”Ï Î”ÎșÎŽÏÏΔÎčÏ.",
|
||||
"Use HTTPS for GUI": "ΧÏÎźÏη HTTPS ÎłÎčα Ïη ÎŽÎčΔÏαÏÎź",
|
||||
"Version": "ÎÎșÎŽÎżÏη",
|
||||
"Versions Path": "ΊΏÎșÎ”Î»ÎżÏ ÏÎźÏηÏÎ·Ï Î”ÎșÎŽÏÏΔÏΜ",
|
||||
@@ -245,6 +273,9 @@
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "ÎÏ
ÎŒÎźÏÎżÏ
ÏÏÏ ÏÏαΜ ÏÏÎżÏΞÎÏΔÎčÏ ÎŒÎčα ΜÎα ÏÏ
ÏÎșΔÏ
Îź, ΔÏÎżÏÏη η ÏÏ
ÏÎșΔÏ
Îź Ξα ÏÏÎÏΔÎč Μα ÏÏÎżÏÏΔΞΔί ÎșαÎč ÏÏηΜ Ώλλη ÏλΔÏ
ÏÎŹ.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "ÎÏαΜ ÏÏÎżÏΞÎÏΔÎčÏ ÎΜαΜ ΜÎÎż ÏÎŹÎșΔλο, ΞÏ
ÎŒÎźÏÎżÏ
ÏÏÏ Î· ÏαÏ
ÏÏÏηÏα ΔΜÏÏ ÏαÎșÎλοÏ
ÏÏηÏÎčÎŒÎżÏÎżÎčΔίÏαÎč ÎłÎčα Μα Μα ÏÏ
ÏÏΔÏÎŻÏΔÎč ÏαÎșÎλοÏ
Ï ÎŒÎ”ÏÎ±ÎŸÏ ÏÏ
ÏÎșΔÏ
ÏΜ. Î ÏαÏ
ÏÏÏηÏα ÏÎżÏ
ÏαÎșÎλοÏ
Ξα ÏÏÎÏΔÎč Μα Î”ÎŻÎœÎ±Îč η ÎŻÎŽÎčα ÏΔ ÏÎ»Î”Ï ÏÎčÏ ÏÏ
ÏÎșΔÏ
ÎÏ ÎșαÎč ÎÏÎżÏ
Μ ÏηΌαÏία Ïα ÏΔζΏ Îź ÎșΔÏαλαία ÎłÏÎŹÎŒÎŒÎ±Ïα.",
|
||||
"Yes": "ÎαÎč",
|
||||
"You can also select one of these nearby devices:": "ÎÏÎżÏΔίÏΔ ΔÏÎŻÏÎ·Ï ÎœÎ± ΔÏÎčλÎΟΔÏΔ ÎŒÎčα αÏÏ Î±Ï
ÏÎÏ ÏÎčÏ ÎłÎ”ÎčÏÎżÎœÎčÎșÎÏ ÏÏ
ÏÎșΔÏ
ÎÏ:",
|
||||
"You can change your choice at any time in the Settings dialog.": "ÎÏÎżÏΔίÏΔ Μα Î±Î»Î»ÎŹÎŸÎ”ÏΔ Ïη ÏÏΞΌÎčÏη αÏ
ÏÎź Î±ÎœÎŹ ÏÎŹÏα ÏÏÎčÎłÎŒÎź ÏÏÎż ÏαÏΏΞÏ
ÏÎż «ΥÏ
ÎžÎŒÎŻÏΔÎčÏ».",
|
||||
"You can read more about the two release channels at the link below.": "ÎÏÎżÏΔίÏΔ Μα ÎŽÎčαÎČÎŹÏΔÏΔ ÏΔÏÎčÏÏÏÏΔÏα ÎłÎčα Ïα ÎŽÏÎż ÎșÎ±ÎœÎŹÎ»Îčα ΔÎșÎŽÏÏΔÏΜ ÏÏÎżÎœ ÏαÏαÎșÎŹÏÏ ÏÏΜΎΔÏÎŒÎż.",
|
||||
"You must keep at least one version.": "Î ÏÎÏΔÎč Μα ÏηÏÎźÏΔÎčÏ ÏÎżÏ
λΏÏÎčÏÏÎżÎœ ÎŒÎčα ÎÎșÎŽÎżÏη.",
|
||||
"days": "ÎÎÏΔÏ",
|
||||
"directories": "ÎșαÏΏλογοÎč",
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"Add Device": "Add Device",
|
||||
"Add Folder": "Add Folder",
|
||||
"Add Remote Device": "Add Remote Device",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Add devices from the introducer to our device list, for mutually shared folders.",
|
||||
"Add new folder?": "Add new folder?",
|
||||
"Address": "Address",
|
||||
"Addresses": "Addresses",
|
||||
@@ -18,16 +19,20 @@
|
||||
"Advanced settings": "Advanced settings",
|
||||
"All Data": "All Data",
|
||||
"Allow Anonymous Usage Reporting?": "Allow Anonymous Usage Reporting?",
|
||||
"Allowed Networks": "Allowed Networks",
|
||||
"Alphabetic": "Alphabetic",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "An external command handles the versioning. It has to remove the file from the shared folder.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "An external command handles the versioning. It has to remove the file from the synced folder.",
|
||||
"Anonymous Usage Reporting": "Anonymous Usage Reporting",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Any devices configured on an introducer device will be added to this device as well.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Automatic upgrade now offers the choice between stable releases and release candidates.",
|
||||
"Automatic upgrades": "Automatic upgrades",
|
||||
"Be careful!": "Be careful!",
|
||||
"Bugs": "Bugs",
|
||||
"CPU Utilization": "CPU Utilisation",
|
||||
"Changelog": "Changelog",
|
||||
"Clean out after": "Clean out after",
|
||||
"Click to see discovery failures": "Click to see discovery failures",
|
||||
"Close": "Close",
|
||||
"Command": "Command",
|
||||
"Comment, when used at the start of a line": "Comment, when used at the start of a line",
|
||||
@@ -39,6 +44,7 @@
|
||||
"Copied from original": "Copied from original",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 the following Contributors:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 the following Contributors:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Creating ignore patterns, overwriting an existing file at {{path}}.",
|
||||
"Danger!": "Danger!",
|
||||
"Deleted": "Deleted",
|
||||
"Device": "Device",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "Disconnected",
|
||||
"Discovered": "Discovered",
|
||||
"Discovery": "Discovery",
|
||||
"Discovery Failures": "Discovery Failures",
|
||||
"Documentation": "Documentation",
|
||||
"Download Rate": "Download Rate",
|
||||
"Downloaded": "Downloaded",
|
||||
@@ -58,17 +65,23 @@
|
||||
"Edit Device": "Edit Device",
|
||||
"Edit Folder": "Edit Folder",
|
||||
"Editing": "Editing",
|
||||
"Editing {%path%}.": "Editing {{path}}.",
|
||||
"Enable NAT traversal": "Enable NAT traversal",
|
||||
"Enable Relaying": "Enable Relaying",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Enter a non-privileged port number (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.",
|
||||
"Enter ignore patterns, one per line.": "Enter ignore patterns, one per line.",
|
||||
"Error": "Error",
|
||||
"External File Versioning": "External File Versioning",
|
||||
"Failed Items": "Failed Items",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.",
|
||||
"File Pull Order": "File Pull Order",
|
||||
"File Versioning": "File Versioning",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "File permission bits are ignored when looking for changes. Use on FAT file systems.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Files are moved to .stversions directory when replaced or deleted by Syncthing.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Files are moved to .stversions folder when replaced or deleted by Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.",
|
||||
"Folder": "Folder",
|
||||
@@ -80,7 +93,9 @@
|
||||
"GUI": "GUI",
|
||||
"GUI Authentication Password": "GUI Authentication Password",
|
||||
"GUI Authentication User": "GUI Authentication User",
|
||||
"GUI Listen Address": "GUI Listen Address",
|
||||
"GUI Listen Addresses": "GUI Listen Addresses",
|
||||
"GUI Theme": "GUI Theme",
|
||||
"Generate": "Generate",
|
||||
"Global Changes": "Global Changes",
|
||||
"Global Discovery": "Global Discovery",
|
||||
@@ -103,6 +118,7 @@
|
||||
"Last seen": "Last seen",
|
||||
"Later": "Later",
|
||||
"Latest Change": "Latest Change",
|
||||
"Learn more": "Learn more",
|
||||
"Listeners": "Listeners",
|
||||
"Local Discovery": "Local Discovery",
|
||||
"Local State": "Local State",
|
||||
@@ -120,6 +136,7 @@
|
||||
"Newest First": "Newest First",
|
||||
"No": "No",
|
||||
"No File Versioning": "No File Versioning",
|
||||
"No upgrades": "No upgrades",
|
||||
"Normal": "Normal",
|
||||
"Notice": "Notice",
|
||||
"OK": "OK",
|
||||
@@ -133,12 +150,16 @@
|
||||
"Override Changes": "Override Changes",
|
||||
"Path": "Path",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Path where versions should be stored (leave empty for the default .stversions folder in the folder).",
|
||||
"Pause": "Pause",
|
||||
"Pause All": "Pause All",
|
||||
"Paused": "Paused",
|
||||
"Please consult the release notes before performing a major upgrade.": "Please consult the release notes before performing a major upgrade.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Please set a GUI Authentication User and Password in the Settings dialogue.",
|
||||
"Please wait": "Please wait",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefix indicating that the file can be deleted if preventing directory removal",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefix indicating that the pattern should be matched without case sensitivity",
|
||||
"Preview": "Preview",
|
||||
"Preview Usage Report": "Preview Usage Report",
|
||||
"Quick guide to supported patterns": "Quick guide to supported patterns",
|
||||
@@ -146,6 +167,7 @@
|
||||
"Random": "Random",
|
||||
"Reduced by ignore patterns": "Reduced by ignore patterns",
|
||||
"Release Notes": "Release Notes",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Release candidates contain the latest features and fixes. They are similar to the traditional fortnightly Syncthing releases.",
|
||||
"Remote Devices": "Remote Devices",
|
||||
"Remove": "Remove",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Required identifier for the folder. Must be the same on all cluster devices.",
|
||||
@@ -156,6 +178,7 @@
|
||||
"Restart Needed": "Restart Needed",
|
||||
"Restarting": "Restarting",
|
||||
"Resume": "Resume",
|
||||
"Resume All": "Resume All",
|
||||
"Reused": "Reused",
|
||||
"Save": "Save",
|
||||
"Scan Time Remaining": "Scan Time Remaining",
|
||||
@@ -181,6 +204,9 @@
|
||||
"Single level wildcard (matches within a directory only)": "Single level wildcard (matches within a directory only)",
|
||||
"Smallest First": "Smallest First",
|
||||
"Source Code": "Source Code",
|
||||
"Stable releases and release candidates": "Stable releases and release candidates",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.",
|
||||
"Stable releases only": "Stable releases only",
|
||||
"Staggered File Versioning": "Staggered File Versioning",
|
||||
"Start Browser": "Start Browser",
|
||||
"Statistics": "Statistics",
|
||||
@@ -221,6 +247,7 @@
|
||||
"This Device": "This Device",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "This can easily give hackers access to read and change any files on your computer.",
|
||||
"This is a major version upgrade.": "This is a major version upgrade.",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "This setting controls the free space required on the home (i.e., index database) disk.",
|
||||
"Time": "Time",
|
||||
"Trash Can File Versioning": "Rubbish Bin File Versioning",
|
||||
"Type": "Type",
|
||||
@@ -234,6 +261,7 @@
|
||||
"Upgrading": "Upgrading",
|
||||
"Upload Rate": "Upload Rate",
|
||||
"Uptime": "Uptime",
|
||||
"Usage reporting is always enabled for candidate releases.": "Usage reporting is always enabled for candidate releases.",
|
||||
"Use HTTPS for GUI": "Use HTTPS for GUI",
|
||||
"Version": "Version",
|
||||
"Versions Path": "Versions Path",
|
||||
@@ -245,6 +273,9 @@
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "When adding a new device, keep in mind that this device must be added on the other side too.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.",
|
||||
"Yes": "Yes",
|
||||
"You can also select one of these nearby devices:": "You can also select one of these nearby devices:",
|
||||
"You can change your choice at any time in the Settings dialog.": "You can change your choice at any time in the Settings dialogue.",
|
||||
"You can read more about the two release channels at the link below.": "You can read more about the two release channels at the link below.",
|
||||
"You must keep at least one version.": "You must keep at least one version.",
|
||||
"days": "days",
|
||||
"directories": "directories",
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"Add Device": "Add Device",
|
||||
"Add Folder": "Add Folder",
|
||||
"Add Remote Device": "Add Remote Device",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Add devices from the introducer to our device list, for mutually shared folders.",
|
||||
"Add new folder?": "Add new folder?",
|
||||
"Address": "Address",
|
||||
"Addresses": "Addresses",
|
||||
@@ -18,16 +19,20 @@
|
||||
"Advanced settings": "Advanced settings",
|
||||
"All Data": "All Data",
|
||||
"Allow Anonymous Usage Reporting?": "Allow Anonymous Usage Reporting?",
|
||||
"Allowed Networks": "Allowed Networks",
|
||||
"Alphabetic": "Alphabetic",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "An external command handles the versioning. It has to remove the file from the shared folder.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "An external command handles the versioning. It has to remove the file from the synced folder.",
|
||||
"Anonymous Usage Reporting": "Anonymous Usage Reporting",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Any devices configured on an introducer device will be added to this device as well.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Automatic upgrade now offers the choice between stable releases and release candidates.",
|
||||
"Automatic upgrades": "Automatic upgrades",
|
||||
"Be careful!": "Be careful!",
|
||||
"Bugs": "Bugs",
|
||||
"CPU Utilization": "CPU Utilization",
|
||||
"Changelog": "Changelog",
|
||||
"Clean out after": "Clean out after",
|
||||
"Click to see discovery failures": "Click to see discovery failures",
|
||||
"Close": "Close",
|
||||
"Command": "Command",
|
||||
"Comment, when used at the start of a line": "Comment, when used at the start of a line",
|
||||
@@ -39,6 +44,7 @@
|
||||
"Copied from original": "Copied from original",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 the following Contributors:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 the following Contributors:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Creating ignore patterns, overwriting an existing file at {{path}}.",
|
||||
"Danger!": "Danger!",
|
||||
"Deleted": "Deleted",
|
||||
"Device": "Device",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "Disconnected",
|
||||
"Discovered": "Discovered",
|
||||
"Discovery": "Discovery",
|
||||
"Discovery Failures": "Discovery Failures",
|
||||
"Documentation": "Documentation",
|
||||
"Download Rate": "Download Rate",
|
||||
"Downloaded": "Downloaded",
|
||||
@@ -58,17 +65,23 @@
|
||||
"Edit Device": "Edit Device",
|
||||
"Edit Folder": "Edit Folder",
|
||||
"Editing": "Editing",
|
||||
"Editing {%path%}.": "Editing {{path}}.",
|
||||
"Enable NAT traversal": "Enable NAT traversal",
|
||||
"Enable Relaying": "Enable Relaying",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Enter a non-privileged port number (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.",
|
||||
"Enter ignore patterns, one per line.": "Enter ignore patterns, one per line.",
|
||||
"Error": "Error",
|
||||
"External File Versioning": "External File Versioning",
|
||||
"Failed Items": "Failed Items",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.",
|
||||
"File Pull Order": "File Pull Order",
|
||||
"File Versioning": "File Versioning",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "File permission bits are ignored when looking for changes. Use on FAT file systems.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Files are moved to .stversions directory when replaced or deleted by Syncthing.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Files are moved to .stversions folder when replaced or deleted by Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.",
|
||||
"Folder": "Folder",
|
||||
@@ -80,7 +93,9 @@
|
||||
"GUI": "GUI",
|
||||
"GUI Authentication Password": "GUI Authentication Password",
|
||||
"GUI Authentication User": "GUI Authentication User",
|
||||
"GUI Listen Address": "GUI Listen Address",
|
||||
"GUI Listen Addresses": "GUI Listen Addresses",
|
||||
"GUI Theme": "GUI Theme",
|
||||
"Generate": "Generate",
|
||||
"Global Changes": "Global Changes",
|
||||
"Global Discovery": "Global Discovery",
|
||||
@@ -103,6 +118,7 @@
|
||||
"Last seen": "Last seen",
|
||||
"Later": "Later",
|
||||
"Latest Change": "Latest Change",
|
||||
"Learn more": "Learn more",
|
||||
"Listeners": "Listeners",
|
||||
"Local Discovery": "Local Discovery",
|
||||
"Local State": "Local State",
|
||||
@@ -120,6 +136,7 @@
|
||||
"Newest First": "Newest First",
|
||||
"No": "No",
|
||||
"No File Versioning": "No File Versioning",
|
||||
"No upgrades": "No upgrades",
|
||||
"Normal": "Normal",
|
||||
"Notice": "Notice",
|
||||
"OK": "OK",
|
||||
@@ -133,12 +150,16 @@
|
||||
"Override Changes": "Override Changes",
|
||||
"Path": "Path",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Path where versions should be stored (leave empty for the default .stversions folder in the folder).",
|
||||
"Pause": "Pause",
|
||||
"Pause All": "Pause All",
|
||||
"Paused": "Paused",
|
||||
"Please consult the release notes before performing a major upgrade.": "Please consult the release notes before performing a major upgrade.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Please set a GUI Authentication User and Password in the Settings dialog.",
|
||||
"Please wait": "Please wait",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefix indicating that the file can be deleted if preventing directory removal",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefix indicating that the pattern should be matched without case sensitivity",
|
||||
"Preview": "Preview",
|
||||
"Preview Usage Report": "Preview Usage Report",
|
||||
"Quick guide to supported patterns": "Quick guide to supported patterns",
|
||||
@@ -146,6 +167,7 @@
|
||||
"Random": "Random",
|
||||
"Reduced by ignore patterns": "Reduced by ignore patterns",
|
||||
"Release Notes": "Release Notes",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.",
|
||||
"Remote Devices": "Remote Devices",
|
||||
"Remove": "Remove",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Required identifier for the folder. Must be the same on all cluster devices.",
|
||||
@@ -156,6 +178,7 @@
|
||||
"Restart Needed": "Restart Needed",
|
||||
"Restarting": "Restarting",
|
||||
"Resume": "Resume",
|
||||
"Resume All": "Resume All",
|
||||
"Reused": "Reused",
|
||||
"Save": "Save",
|
||||
"Scan Time Remaining": "Scan Time Remaining",
|
||||
@@ -181,6 +204,9 @@
|
||||
"Single level wildcard (matches within a directory only)": "Single level wildcard (matches within a directory only)",
|
||||
"Smallest First": "Smallest First",
|
||||
"Source Code": "Source Code",
|
||||
"Stable releases and release candidates": "Stable releases and release candidates",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.",
|
||||
"Stable releases only": "Stable releases only",
|
||||
"Staggered File Versioning": "Staggered File Versioning",
|
||||
"Start Browser": "Start Browser",
|
||||
"Statistics": "Statistics",
|
||||
@@ -221,6 +247,7 @@
|
||||
"This Device": "This Device",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "This can easily give hackers access to read and change any files on your computer.",
|
||||
"This is a major version upgrade.": "This is a major version upgrade.",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "This setting controls the free space required on the home (i.e., index database) disk.",
|
||||
"Time": "Time",
|
||||
"Trash Can File Versioning": "Trash Can File Versioning",
|
||||
"Type": "Type",
|
||||
@@ -234,6 +261,7 @@
|
||||
"Upgrading": "Upgrading",
|
||||
"Upload Rate": "Upload Rate",
|
||||
"Uptime": "Uptime",
|
||||
"Usage reporting is always enabled for candidate releases.": "Usage reporting is always enabled for candidate releases.",
|
||||
"Use HTTPS for GUI": "Use HTTPS for GUI",
|
||||
"Version": "Version",
|
||||
"Versions Path": "Versions Path",
|
||||
@@ -245,6 +273,9 @@
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "When adding a new device, keep in mind that this device must be added on the other side too.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.",
|
||||
"Yes": "Yes",
|
||||
"You can also select one of these nearby devices:": "You can also select one of these nearby devices:",
|
||||
"You can change your choice at any time in the Settings dialog.": "You can change your choice at any time in the Settings dialog.",
|
||||
"You can read more about the two release channels at the link below.": "You can read more about the two release channels at the link below.",
|
||||
"You must keep at least one version.": "You must keep at least one version.",
|
||||
"days": "days",
|
||||
"directories": "directories",
|
||||
|
||||
287
gui/default/assets/lang/lang-eo.json
Normal file
287
gui/default/assets/lang/lang-eo.json
Normal file
@@ -0,0 +1,287 @@
|
||||
{
|
||||
"A device with that ID is already added.": "Aparato kies ID estis jam aldonita.",
|
||||
"A negative number of days doesn't make sense.": "Negativa numero de tagoj sen senco.",
|
||||
"A new major version may not be compatible with previous versions.": "Nova Äefa versio eble ne kongruanta kun antaĆaj versioj.",
|
||||
"API Key": "API Ćlosilo",
|
||||
"About": "Pri",
|
||||
"Action": "Ago",
|
||||
"Actions": "Agoj",
|
||||
"Add": "Aldoni",
|
||||
"Add Device": "Aldonu Aparaton",
|
||||
"Add Folder": "Aldonu Dosierujon",
|
||||
"Add Remote Device": "Aldonu Foran Aparaton",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Add devices from the introducer to our device list, for mutually shared folders.",
|
||||
"Add new folder?": "Aldoni novan dosierujon?",
|
||||
"Address": "Adreso",
|
||||
"Addresses": "Adresoj",
|
||||
"Advanced": "Altnivela",
|
||||
"Advanced Configuration": "Altnivela Konfiguro",
|
||||
"Advanced settings": "Altnivelaj agordoj",
|
||||
"All Data": "Äiuj Datumoj",
|
||||
"Allow Anonymous Usage Reporting?": "Permesi Anoniman Raporton de Uzado?",
|
||||
"Allowed Networks": "Permesitaj Retoj",
|
||||
"Alphabetic": "Alfabeta",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "Ekstera komando manipulas la version. Äi devas forigi la dosieron el la partigita dosierujo.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Ekstera komando manipulas la version. Äi devas forigi la dosieron el la sinkronigita dosierujo.",
|
||||
"Anonymous Usage Reporting": "Anonima Raporto de Uzado",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Ajna aparatoj agorditaj sur enkondukanto aparato estos ankaĆ aldonita al Äi tiu aparato.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "AĆtomata Äisdatigo nun proponas la elekton inter stabilaj eldonoj kaj kandidataj eldonoj.",
|
||||
"Automatic upgrades": "AĆtomataj Äisdatigoj",
|
||||
"Be careful!": "Atentu!",
|
||||
"Bugs": "Bugoj",
|
||||
"CPU Utilization": "Äefprocesoro Uzo",
|
||||
"Changelog": "ĆanÄoprotokolo",
|
||||
"Clean out after": "Purigi poste",
|
||||
"Click to see discovery failures": "Klaku por vidi malsukcesajn malkovrojn",
|
||||
"Close": "Fermi",
|
||||
"Command": "Komando",
|
||||
"Comment, when used at the start of a line": "Komento, kiam uzita Äe la komenco de lineo",
|
||||
"Compression": "Densigo",
|
||||
"Configured": "Agordita",
|
||||
"Connection Error": "Eraro de Konekto",
|
||||
"Connection Type": "Tipo de Konekto",
|
||||
"Copied from elsewhere": "Kopiita el aliloke",
|
||||
"Copied from original": "Kopiita el la originalo",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Kopirajto © 2014-2016 por la sekvantaj Kontribuantoj:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Kopirajto © 2014-2017 por la sekvantaj Kontribuantoj:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Kreante ignori skemojn, anstataĆige ekzistantan dosieron Äe {{path}}.",
|
||||
"Danger!": "DanÄero!",
|
||||
"Deleted": "Forigita",
|
||||
"Device": "Aparato",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "Aparato \"{{name}}\" ({{device}} Äe {{address}}) volas konekti. Aldoni la novan aparaton?",
|
||||
"Device ID": "Aparato ID",
|
||||
"Device Identification": "Identigo de Aparato",
|
||||
"Device Name": "Nomo de Aparato",
|
||||
"Devices": "Aparatoj",
|
||||
"Disconnected": "Malkonektita",
|
||||
"Discovered": "Malkovrita",
|
||||
"Discovery": "Malkovro",
|
||||
"Discovery Failures": "Malkovritaj Fiaskoj",
|
||||
"Documentation": "Dokumentado",
|
||||
"Download Rate": "ElĆutado rapida",
|
||||
"Downloaded": "ElĆutita",
|
||||
"Downloading": "ElĆutado",
|
||||
"Edit": "Redakti",
|
||||
"Edit Device": "Redakti Aparaton",
|
||||
"Edit Folder": "Redakti Dosierujon",
|
||||
"Editing": "Redaktado",
|
||||
"Editing {%path%}.": "Redaktado {{path}}.",
|
||||
"Enable NAT traversal": "Ćaltu trairan NAT",
|
||||
"Enable Relaying": "Ćaltu Relajsadon",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Enter a non-privileged port number (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Enigi adresojn dividitajn per komoj (\"tcp://ip:port\", \"tcp://host:port\") aĆ \"dynamic\" por elfari aĆtomatan malkovradon de la adreso.",
|
||||
"Enter ignore patterns, one per line.": "Entajpu ignori skemojn, unu po linio.",
|
||||
"Error": "Eraro",
|
||||
"External File Versioning": "Ekstera Versionado de Dosiero",
|
||||
"Failed Items": "Malsukcesaj Eroj",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "Malsukceso por konekti al IPv6 serviloj atendante se ekzistas neniu IPv6 konektebleco.",
|
||||
"File Pull Order": "Ordo por Tiri Dosieron",
|
||||
"File Versioning": "Versionado de Dosieroj",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Permesoj bitaj de dosieroj estas ignorita dum la serÄado por ĆanÄoj. Uzi en FAT dosiersistemoj.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Dosieroj estas movigitaj al .stversiaj dosierujoj kiam anstataĆigitaj aĆ forigitaj en Syncthing.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Dosieroj estas movigitaj al .stversions dosierujo kiam anstataĆigitaj aĆ forigitaj en Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Dosieroj estas movigitaj al date stampitaj versioj en .stversiaj dosierujo kiam ili estas anstataĆigitaj aĆ forigitaj en Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Dosieroj estas movigitaj al datostampitaj versioj en .stversions dosierujoj kiam ili estas anstataĆigitaj aĆ forigitaj en Syncthing.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Dosieroj estas protektataj kontraĆ ĆanÄoj faritaj en aliaj aparatoj, sed ĆanÄoj faritaj en Äi tiu aparato estos senditaj al cetera parto de la grupo.",
|
||||
"Folder": "Dosierujo",
|
||||
"Folder ID": "Dosieruja ID",
|
||||
"Folder Label": "Dosieruja Etikedo",
|
||||
"Folder Path": "Dosieruja Vojo",
|
||||
"Folder Type": "Dosieruja Tipo",
|
||||
"Folders": "Dosierujoj",
|
||||
"GUI": "Grafika Interfaco",
|
||||
"GUI Authentication Password": "Pasvorta AĆtentigo en Grafika Interfaco",
|
||||
"GUI Authentication User": "Uzanta AĆtentigo en Grafika Interfaco",
|
||||
"GUI Listen Address": "GUI Listen Address",
|
||||
"GUI Listen Addresses": "AĆskultado de Adresoj en Grafika Interfaco",
|
||||
"GUI Theme": "Etoso de Grafika Interfaco",
|
||||
"Generate": "Generi",
|
||||
"Global Changes": "Kompletaj ĆanÄoj",
|
||||
"Global Discovery": "Kompleta Malkovro",
|
||||
"Global Discovery Servers": "Kompleta Malkovrado de Serviloj",
|
||||
"Global State": "Kompleta Stato",
|
||||
"Help": "Helpo",
|
||||
"Home page": "Hejma paÄo",
|
||||
"Ignore": "Ignoru",
|
||||
"Ignore Patterns": "Ignori Ćablonojn",
|
||||
"Ignore Permissions": "Ignori Permesojn",
|
||||
"Incoming Rate Limit (KiB/s)": "Alvenanta Limo Rapideco (KiB/s)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "Erara agordo povas difekti viajn dosierujajn enhavojn kaj senefikigi Syncthing-n.",
|
||||
"Introduced By": "Enkondukita Per",
|
||||
"Introducer": "Enkondukita",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "Inversigo de la donita kondiÄo (i.e. ne ekskludas)",
|
||||
"Keep Versions": "Konservi Versiojn.",
|
||||
"Largest First": "Plej Granda Unue",
|
||||
"Last File Received": "Lasta Dosiero Ricevita",
|
||||
"Last Scan": "Lasta Skano",
|
||||
"Last seen": "Lasta vidita",
|
||||
"Later": "Poste",
|
||||
"Latest Change": "Lasta ĆanÄo",
|
||||
"Learn more": "Lerni pli",
|
||||
"Listeners": "AĆskultantoj",
|
||||
"Local Discovery": "Loka Malkovro",
|
||||
"Local State": "Loka Stato",
|
||||
"Local State (Total)": "Loka Stato (Tuta)",
|
||||
"Major Upgrade": "Äefa Äisdatigo",
|
||||
"Master": "Äefa",
|
||||
"Maximum Age": "Maksimuma AÄo",
|
||||
"Metadata Only": "Nur Metadatumoj",
|
||||
"Minimum Free Disk Space": "Minimuma Libera Diskospaco",
|
||||
"Move to top of queue": "Movi supren en la atendovico",
|
||||
"Multi level wildcard (matches multiple directory levels)": "Multi nivelo Ĕokero (egalas multoblajn dosierujaj niveloj)",
|
||||
"Never": "Neniam",
|
||||
"New Device": "Nova Aparato",
|
||||
"New Folder": "Dova Dosierujo",
|
||||
"Newest First": "Plejnova Unue",
|
||||
"No": "Ne",
|
||||
"No File Versioning": "Sen Dosiera Versionado",
|
||||
"No upgrades": "Sen Äisdatigoj",
|
||||
"Normal": "Normala",
|
||||
"Notice": "Avizo",
|
||||
"OK": "Bone",
|
||||
"Off": "For",
|
||||
"Oldest First": "Malnova Unue",
|
||||
"Optional descriptive label for the folder. Can be different on each device.": "LaĆvola priskriba etikedo por la dosierujo. Povas esti malsama en Äiu aparato.",
|
||||
"Options": "Opcioj",
|
||||
"Out of Sync": "Elsinkronigita",
|
||||
"Out of Sync Items": "Elsinkronigitaj Eroj",
|
||||
"Outgoing Rate Limit (KiB/s)": "Limo de Eliranta Rapideco (KiB/s)",
|
||||
"Override Changes": "Transpasi ĆanÄojn",
|
||||
"Path": "Vojo",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Vojo de la dosierujo en la loka komputilo. KreiÄos se ne ekzistas. La tilda signo (~) povas esti uzata kiel mallongigilo por",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Vojo kies versioj devus esti stokitaj (lasi malplena por la defaĆlta .stversiaj dosierujoj en la dividita dosierujo).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Vojo kies vesioj estas konservitaj (lasi malplena por la defaĆlta .stversiaj dosierujoj en la dosierujo).",
|
||||
"Pause": "PaĆzu",
|
||||
"Pause All": "PaĆzu Äion",
|
||||
"Paused": "PaĆzita",
|
||||
"Please consult the release notes before performing a major upgrade.": "Bonvolu konsulti la eldonitajn notojn antaĆ elfari Äefan Äisdatigon.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Bonvolu agordi GUI Authentication Uzanto kaj Pasvorto en la agordoj dialogo.",
|
||||
"Please wait": "Bonvolu atendi",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefix indicating that the file can be deleted if preventing directory removal",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefix indicating that the pattern should be matched without case sensitivity",
|
||||
"Preview": "AntaĆrigardo",
|
||||
"Preview Usage Report": "AntaĆrigardo Uzada Raporto",
|
||||
"Quick guide to supported patterns": "Rapida gvidisto al subtenata Ćablonoj",
|
||||
"RAM Utilization": "RAM Utiligado",
|
||||
"Random": "Hazarda",
|
||||
"Reduced by ignore patterns": "Reduktita per ignorado de la Ćablonoj",
|
||||
"Release Notes": "Eldonitaj Notoj",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Kandidataj eldonoj enhavas la lastajn trajtojn kaj korektojn. Ili estas similaj al la tradiciaj dusemajnaj Syncthing Ĕetoj.",
|
||||
"Remote Devices": "Foraj Aparatoj",
|
||||
"Remove": "Forigu",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Nepra identigilo por la dosierujo. Devas esti la sama en Äiuj aparatoj de la grupo.",
|
||||
"Rescan": "Reskanu",
|
||||
"Rescan All": "Reskanu Äion",
|
||||
"Rescan Interval": "Reskana Intervalo",
|
||||
"Restart": "Restartu",
|
||||
"Restart Needed": "Restarto Bezonata",
|
||||
"Restarting": "Restartado",
|
||||
"Resume": "DaĆrigu",
|
||||
"Resume All": "DaĆrigu Äion",
|
||||
"Reused": "Reuzita",
|
||||
"Save": "Konservu",
|
||||
"Scan Time Remaining": "Skanada Restanta Tempo",
|
||||
"Scanning": "Skanado",
|
||||
"Select the devices to share this folder with.": "Elekti la aparatojn por komunigi Äi tiun dosierujon.",
|
||||
"Select the folders to share with this device.": "Elekti la dosierujojn por komunigi kun Äi tiu aparato.",
|
||||
"Send & Receive": "Sendi kaj Ricevi",
|
||||
"Send Only": "Nur Sendi",
|
||||
"Settings": "Agordoj",
|
||||
"Share": "Komunigu",
|
||||
"Share Folder": "Komunigu Dosierujon",
|
||||
"Share Folders With Device": "Dosierujoj Komunigitaj Kun Aparato",
|
||||
"Share With Devices": "Komunigu Kun Aparatoj",
|
||||
"Share this folder?": "Komunigi Äi tiun dosierujon?",
|
||||
"Shared With": "Komunigita Kun",
|
||||
"Show ID": "Montru ID",
|
||||
"Show QR": "Montru QR",
|
||||
"Shown instead of Device ID in the cluster status. Will be advertised to other devices as an optional default name.": "Montrita anstataĆ ID de Aparato en la statuso de la grupo. Estos anoncita al aliaj aparatoj kiel laĆvola defaĆlta nomo.",
|
||||
"Shown instead of Device ID in the cluster status. Will be updated to the name the device advertises if left empty.": "Montri anstataĆ ID de Aparato en la statuso de la grupo. Estos Äisdatigita al la nomo de la aparato sciigante se Äi estas lasita malplena.",
|
||||
"Shutdown": "Sistemfermu",
|
||||
"Shutdown Complete": "Sistemfermu tute",
|
||||
"Simple File Versioning": "Simpla Versionado de Dosieroj",
|
||||
"Single level wildcard (matches within a directory only)": "Ununura nivelo Ĕokero (egalas nur ene de dosierujo)",
|
||||
"Smallest First": "Plej Malgranda Unue",
|
||||
"Source Code": "Fontkodo",
|
||||
"Stable releases and release candidates": "Stabilaj eldonoj kaj kandidataj eldonoj",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Stabilaj eldonoj prokrastas je ÄirkaĆ du semjanoj. Dum tiu tempo ili estos testataj kiel kandidataj eldonoj.",
|
||||
"Stable releases only": "Nur stabilaj eldonoj",
|
||||
"Staggered File Versioning": "Gradigitaj Dosiera versionado",
|
||||
"Start Browser": "Startu Retumilon",
|
||||
"Statistics": "Statistikoj",
|
||||
"Stopped": "Haltita",
|
||||
"Support": "Subteno",
|
||||
"Sync Protocol Listen Addresses": "Sync Protokolo de AĆskultado de Adresoj",
|
||||
"Syncing": "Elsinkronado",
|
||||
"Syncthing has been shut down.": "Syncthing estis malĆaltita.",
|
||||
"Syncthing includes the following software or portions thereof:": "Syncthing inkluzivas la jenajn programarojn aĆ porciojn Äiajn:",
|
||||
"Syncthing is restarting.": "Syncthing estas restartanta.",
|
||||
"Syncthing is upgrading.": "Syncthing estas Äisdatigita.",
|
||||
"Syncthing seems to be down, or there is a problem with your Internet connection. RetryingâŠ": "Syncthing Ćajnas nefunkcii, aĆ estas problemo kun via retkonekto. Reprovado...",
|
||||
"Syncthing seems to be experiencing a problem processing your request. Please refresh the page or restart Syncthing if the problem persists.": "Syncthing Ćajnas renkonti problemon kun la traktado de via peto. Bonvolu refreĆigi la paÄon aĆ restarti Syncthing se la problemo daĆras.",
|
||||
"The Syncthing admin interface is configured to allow remote access without a password.": "La administra interfaco de Syncthing estas agordita por permesi foran atingon sen pasvorto.",
|
||||
"The aggregated statistics are publicly available at the URL below.": "La agregita statistikoj estas publike disponebla Äe la URL malsupre.",
|
||||
"The configuration has been saved but not activated. Syncthing must restart to activate the new configuration.": "La agordo estis registrita sed ne aktivigita. Syncthing devas restarti por aktivigi la novan agordon.",
|
||||
"The device ID cannot be blank.": "La aparato ID ne povas esti malplena.",
|
||||
"The device ID to enter here can be found in the \"Actions > Show ID\" dialog on the other device. Spaces and dashes are optional (ignored).": "La aparato ID por eniri Äi tie estas trovebla per \"Agoj > Montru ID\" dialogo en la alia aparato. Interspacoj kaj streketoj estas opcio (ignorigita).",
|
||||
"The encrypted usage report is sent daily. It is used to track common platforms, folder sizes and app versions. If the reported data set is changed you will be prompted with this dialog again.": "La Äifrita raporto de uzado estas sendata Äiutage. Äi estas uzata por sekvi komunajn platformojn, dosierujajn grandojn kaj aplikaÄ”ajn versiojn. Se la raporto datumaro ĆanÄis, vi estos avertata per Äi tiu dialogo denove.",
|
||||
"The entered device ID does not look valid. It should be a 52 or 56 character string consisting of letters and numbers, with spaces and dashes being optional.": "La enigita aparato ID ne Ćajnas valida. Äi devas esti signoÄeno el 52 aĆ 56 karaktroj longa enhavanta leterojn kaj nombrojn, kun interspacoj kaj streketoj opciaj.",
|
||||
"The first command line parameter is the folder path and the second parameter is the relative path in the folder.": "La unua komandlinia parametro estas la vojo de la dosierujo kaj la dua parametro estas la relativa vojo en la dosierujo.",
|
||||
"The folder ID cannot be blank.": "La dosierujo ID ne povas esti malplena.",
|
||||
"The folder ID must be unique.": "La dosierujo ID devas esti unika.",
|
||||
"The folder path cannot be blank.": "La vojo de la dosierujo ne povas esti malplena.",
|
||||
"The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.": "La jenaj intervaloj estas uzataj: dum la unua horo version restas dum Äiuj 30 sekundoj, dum la unua tago versio restas konservita dum Äiu horo, dum la unuaj 30 tagoj versio estas konservita dum Äiu tago, Äis la maksimume aÄa versio restas konservita dum Äiu semajno.",
|
||||
"The following items could not be synchronized.": "La sekvantaj elementoj ne povas esti sinkronigataj.",
|
||||
"The maximum age must be a number and cannot be blank.": "La maksimuma aÄo devas esti nombro kaj ne povas esti malplena.",
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "La maksimuma tempo por konservi version (en tagoj, agordi je 0 por konservi versiojn eterne).",
|
||||
"The minimum free disk space percentage must be a non-negative number between 0 and 100 (inclusive).": "La minimuma libera procento de diskospaco devas esti pozitiva nombro inter 0 kaj 100 (inkluziva).",
|
||||
"The number of days must be a number and cannot be blank.": "La nombro da tagoj devas esti nombro kaj ne povas esti malplena.",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "La nombro da tagoj por konservi dosierojn en la rubujo. Nulo signifas eterne.",
|
||||
"The number of old versions to keep, per file.": "La nombro da malnovaj versioj por konservi, po Äiu dosiero.",
|
||||
"The number of versions must be a number and cannot be blank.": "La nombro da versioj devas esti nombro kaj ne povas esti malplena.",
|
||||
"The path cannot be blank.": "La vojo ne povas esti malplena.",
|
||||
"The rate limit must be a non-negative number (0: no limit)": "La rapideca limo devas esti pozitiva nombro (0: senlimo)",
|
||||
"The rescan interval must be a non-negative number of seconds.": "La intervalo de reskano devas esti pozitiva nombro da sekundoj.",
|
||||
"They are retried automatically and will be synced when the error is resolved.": "Ili estas reprovitaj aĆtomate kaj estos sinkronigitaj kiam la eraro estas solvita.",
|
||||
"This Device": "Äi tiu Aparato",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Äi tio povas facile doni al kodumuloj atingon por legi kaj ĆanÄi ajnajn dosierojn en via komputilo.",
|
||||
"This is a major version upgrade.": "Äi tio estas Äefversio Äisdatigita.",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "This setting controls the free space required on the home (i.e., index database) disk.",
|
||||
"Time": "Tempo",
|
||||
"Trash Can File Versioning": "Rubujo ebligas Dosieran Versionadon",
|
||||
"Type": "Tipo",
|
||||
"Unknown": "Nekonata",
|
||||
"Unshared": "Nekomunigita",
|
||||
"Unused": "Neuzita",
|
||||
"Up to Date": "Äisdata",
|
||||
"Updated": "Äisdatigita",
|
||||
"Upgrade": "Altgradigo",
|
||||
"Upgrade To {%version%}": "Altgradigi Al {{version}}",
|
||||
"Upgrading": "Altgradigata",
|
||||
"Upload Rate": "AlĆutorapideco",
|
||||
"Uptime": "DaĆro de funkciado",
|
||||
"Usage reporting is always enabled for candidate releases.": "Uzada raportado Äiam Ćaltita por kandidataj Ä”etoj.",
|
||||
"Use HTTPS for GUI": "Uzi HTTPS por grafika interfaco.",
|
||||
"Version": "Versio",
|
||||
"Versions Path": "Vojo de Versioj",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Versioj estas aĆtomate forigita se ili estas pli malnovaj ol la maksimuma aÄo aĆ superas la nombron da dosieroj permesita en intervalo.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Averto, Äi tiu vojo estas parenta dosierujo de ekzistanta dosierujo \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Averto, Äi tiu vojo estas parenta dosierujo de ekzistanta dosierujo \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Averto, Äi tiu vojo estas subdosierujo de ekzistanta dosierujo \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Averto, Äi tiu vojo estas subdosierujo de ekzistanta dosierujo \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Dum la aldonado de nova aparato, memoru ke Äi tiu aparato devas esti aldonita en la alia flanko ankaĆ.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Dum la aldonado de nova dosierujo, memoru ke la Dosieruja ID estas uzita por ligi la dosierujojn kune inter aparatoj. Ili estas literfakodistingaj kaj devas kongrui precize inter Äiuj aparatoj.",
|
||||
"Yes": "Jes",
|
||||
"You can also select one of these nearby devices:": "You can also select one of these nearby devices:",
|
||||
"You can change your choice at any time in the Settings dialog.": "Vi povas ĆanÄi vian elekton iam ajn en la Agorda dialogo.",
|
||||
"You can read more about the two release channels at the link below.": "Vi povas legi plu pri la du eldonkanaloj per la malsupra ligilo.",
|
||||
"You must keep at least one version.": "Vi devas konservi almenaĆ unu version.",
|
||||
"days": "tagoj",
|
||||
"directories": "dosierujoj",
|
||||
"files": "dosieroj",
|
||||
"full documentation": "tuta dokumentado",
|
||||
"items": "elementoj",
|
||||
"{%device%} wants to share folder \"{%folder%}\".": "{{device}} volas komunigi dosierujon \"{{folder}}\".",
|
||||
"{%device%} wants to share folder \"{%folderlabel%}\" ({%folder%}).": "{{device}} volas komunigi dosierujon \"{{folderlabel}}\" ({{folder}})."
|
||||
}
|
||||
@@ -4,12 +4,13 @@
|
||||
"A new major version may not be compatible with previous versions.": "Una nueva versiĂłn con cambios importantes puede no ser compatible con versiones anteriores.",
|
||||
"API Key": "Clave del API",
|
||||
"About": "Acerca de",
|
||||
"Action": "Action",
|
||||
"Action": "AcciĂłn",
|
||||
"Actions": "Acciones",
|
||||
"Add": "Agregar",
|
||||
"Add Device": "Agregar el dispositivo",
|
||||
"Add Folder": "Agregar Carpeta",
|
||||
"Add Remote Device": "Añadir un dispositivo",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Añadir dispositivos desde el introductor a nuestra lista de dispositivos, para las carpetas compartidas mutuamente.",
|
||||
"Add new folder?": "ÂżAgregar una carpeta nueva?",
|
||||
"Address": "DirecciĂłn",
|
||||
"Addresses": "Direcciones",
|
||||
@@ -18,16 +19,20 @@
|
||||
"Advanced settings": "Ajustes avanzados",
|
||||
"All Data": "Todos los datos",
|
||||
"Allow Anonymous Usage Reporting?": "ÂżDeseas permitir el envĂo anĂłnimo de informes de uso?",
|
||||
"Allowed Networks": "Redes permitidas",
|
||||
"Alphabetic": "Alfabético",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "Un comando externo gestiona las versiones. Tiene que eliminar el fichero de la carpeta compartida.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Un comando externo controla la versiĂłn. El fichero debe ser eliminado de la carpeta sincronizada.",
|
||||
"Anonymous Usage Reporting": "Informe anĂłnimo de uso",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Cualquier dispositivo configurado en un dispositivo de introducción serå añadido también.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Ahora la actualizaciĂłn automĂĄtica permite elegir entre versiones estables o versiones candidatas.",
|
||||
"Automatic upgrades": "Actualizaciones automĂĄticas",
|
||||
"Be careful!": "ÂĄTen cuidado!",
|
||||
"Bugs": "Errores",
|
||||
"CPU Utilization": "Uso de CPU",
|
||||
"Changelog": "Registro de cambios",
|
||||
"Clean out after": "Limpiar tras",
|
||||
"Click to see discovery failures": "Clica para ver fallos de descubrimiento.",
|
||||
"Close": "Cerrar",
|
||||
"Command": "AcciĂłn",
|
||||
"Comment, when used at the start of a line": "Comentar, cuando se usa al comienzo de una lĂnea",
|
||||
@@ -38,10 +43,11 @@
|
||||
"Copied from elsewhere": "Copiado de otro sitio",
|
||||
"Copied from original": "Copiado del original",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 los siguientes Colaboradores:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 the following Contributors:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 Los siguientes colaboradores:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Crear patrones a ignorar, sobreescribiendo un fichero existente en {{path}}.",
|
||||
"Danger!": "ÂĄPeligro!",
|
||||
"Deleted": "Eliminado",
|
||||
"Device": "Device",
|
||||
"Device": "Dispositivo",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "El dispositivo \"{{name}}\" ({{device}} en la dirección {{address}}) quiere conectarse. Añadir nuevo dispositivo?",
|
||||
"Device ID": "ID del Dispositivo",
|
||||
"Device Identification": "IdentificaciĂłn del Dispositivo",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "Desconectado",
|
||||
"Discovered": "Descubierto",
|
||||
"Discovery": "Descubrimiento",
|
||||
"Discovery Failures": "Fallos de Descubrimiento",
|
||||
"Documentation": "DocumentaciĂłn",
|
||||
"Download Rate": "Velocidad de descarga",
|
||||
"Downloaded": "Descargado",
|
||||
@@ -58,17 +65,23 @@
|
||||
"Edit Device": "Editar Dispositivo",
|
||||
"Edit Folder": "Editar Carpeta",
|
||||
"Editing": "Editando",
|
||||
"Editing {%path%}.": "Editando {{path}}.",
|
||||
"Enable NAT traversal": "Permitir NAT transversal",
|
||||
"Enable Relaying": "Habilitar RetransmisiĂłn",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Introduce un nĂșmero no negativo (por ejemplo, \"2.35\") y selecciona una unidad. Los porcentajes son como parte del tamaño total del disco.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Introduce un puerto sin privilegios (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Introduzca las direcciones, separadas por comas (\"tcp://ip:port\", \"tcp://host:port\"), o \"dynamic\" para llevar a cabo el descubrimiento automĂĄtico de la direcciĂłn.",
|
||||
"Enter ignore patterns, one per line.": "Introducir patrones a ignorar, uno por lĂnea.",
|
||||
"Error": "Error",
|
||||
"External File Versioning": "Versionado externo de fichero",
|
||||
"Failed Items": "Elementos fallidos",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "Se espera un fallo al conectar a los servidores IPv6 si no hay conectividad IPv6.",
|
||||
"File Pull Order": "Orden de obtenciĂłn de los ficheros",
|
||||
"File Versioning": "Versionado de ficheros",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Los bits de permiso de ficheros son ignorados cuando se buscan cambios. Utilizar en sistemas de ficheros FAT.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Los ficheros son movidos a la carpeta .stversions cuando son reemplazados o borrados por Syncthing.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Los archivos serĂĄn movidos a la carpeta .stversions cuando sean reemplazados o borrados por Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Los ficheros son movidos a una carpeta .stversions a versiones con control de fecha cuando son reemplazados o borrados por Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Los ficheros son cambiados a versiones con indicaciĂłn de fecha en una carpeta \".stversions\" cuando son reemplazados o borrados por Syncthing.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Los ficheros son protegidos por los cambios hechos en otros dispositivos, pero los cambios hechos en este dispositivo serĂĄn enviados al resto del grupo (cluster).",
|
||||
"Folder": "Carpeta",
|
||||
@@ -80,9 +93,11 @@
|
||||
"GUI": "GUI",
|
||||
"GUI Authentication Password": "Password de la Interfaz GrĂĄfica de Usuario (GUI)",
|
||||
"GUI Authentication User": "AutentificaciĂłn de usuario de la Interfaz GrĂĄfica de Usuario (GUI)",
|
||||
"GUI Listen Address": "DirecciĂłn de Escucha del GUI.",
|
||||
"GUI Listen Addresses": "Direcciones de escucha de la Interfaz GrĂĄfica de Usuario (GUI)",
|
||||
"GUI Theme": "Tema GUI",
|
||||
"Generate": "Generar",
|
||||
"Global Changes": "Global Changes",
|
||||
"Global Changes": "Cambios globales",
|
||||
"Global Discovery": "Descubrimiento global",
|
||||
"Global Discovery Servers": "Servidores Globales de Descubrimiento",
|
||||
"Global State": "Estado global",
|
||||
@@ -93,7 +108,7 @@
|
||||
"Ignore Permissions": "Permisos a ignorar",
|
||||
"Incoming Rate Limit (KiB/s)": "LĂmite de descarga (KiB/s)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "Una configuración incorrecta puede dañar los contenidos de la carpeta y hacer que Syncthing no funcione.",
|
||||
"Introduced By": "Introduced By",
|
||||
"Introduced By": "Introducido por",
|
||||
"Introducer": "Presentador",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "InversiĂłn de la condiciĂłn dada (por ejemplo, \"no excluir\")",
|
||||
"Keep Versions": "Mantener versiones",
|
||||
@@ -103,6 +118,7 @@
|
||||
"Last seen": "Visto por Ășltima vez",
|
||||
"Later": "MĂĄs tarde",
|
||||
"Latest Change": "Ăltimo Cambio",
|
||||
"Learn more": "Saber mĂĄs",
|
||||
"Listeners": "Oyentes",
|
||||
"Local Discovery": "Descubrimiento local",
|
||||
"Local State": "Estado local",
|
||||
@@ -120,6 +136,7 @@
|
||||
"Newest First": "El mĂĄs nuevo primero",
|
||||
"No": "No",
|
||||
"No File Versioning": "Sin versionado de fichero",
|
||||
"No upgrades": "Sin actualizaciones",
|
||||
"Normal": "Normal",
|
||||
"Notice": "Aviso",
|
||||
"OK": "OK",
|
||||
@@ -131,14 +148,18 @@
|
||||
"Out of Sync Items": "Elementos no sincronizados",
|
||||
"Outgoing Rate Limit (KiB/s)": "LĂmite de subida (KiB/s)",
|
||||
"Override Changes": "Anular cambios",
|
||||
"Path": "Path",
|
||||
"Path": "Parche",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Ruta a la carpeta en la mĂĄquina local. Se crearĂĄ si no existe. El carĂĄcter de la tilde (~) puede usarse como atajo.",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "La ruta donde las versiones deben ser almacenadas (dejar vacĂo para el directorio .stversions por defecto en la carpeta compartida).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Ruta donde se almacenarĂĄn las versiones (dejar vacĂo para usar la carpeta por defecto \".stversions\").",
|
||||
"Pause": "Pausar",
|
||||
"Pause All": "Pausar todo",
|
||||
"Paused": "Pausado",
|
||||
"Please consult the release notes before performing a major upgrade.": "Por favor, consultar las notas de la versiĂłn antes de realizar una actualizaciĂłn importante.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Por favor, introduzca un Usuario y Contraseña para la Autenticación de la Interfaz de Usuario en el panel de Ajustes.",
|
||||
"Please wait": "Por favor, espere",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefix indicating that the file can be deleted if preventing directory removal",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefix indicating that the pattern should be matched without case sensitivity",
|
||||
"Preview": "Vista previa",
|
||||
"Preview Usage Report": "Informe de uso de vista previa",
|
||||
"Quick guide to supported patterns": "GuĂa rĂĄpida de patrones soportados",
|
||||
@@ -146,6 +167,7 @@
|
||||
"Random": "Aleatorio",
|
||||
"Reduced by ignore patterns": "Reducido por patrones de ignorar",
|
||||
"Release Notes": "Notas de la versiĂłn",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Las versiones candidatas contienen las Ășltimas funcionalidades y correcciones. Son similares a las tradicionales versiones bisemanales de Syncthing.",
|
||||
"Remote Devices": "Otros dispositivos",
|
||||
"Remove": "Eliminar",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Identificador requerido para la carpeta. Debe ser el mismo en todos los dispositivos del clĂșster.",
|
||||
@@ -156,6 +178,7 @@
|
||||
"Restart Needed": "Reinicio necesario",
|
||||
"Restarting": "Reiniciando",
|
||||
"Resume": "Continuar",
|
||||
"Resume All": "Continuar todo",
|
||||
"Reused": "Reutilizado",
|
||||
"Save": "Guardar",
|
||||
"Scan Time Remaining": "Tiempo Restante de Escaneo",
|
||||
@@ -181,6 +204,9 @@
|
||||
"Single level wildcard (matches within a directory only)": "ComodĂn de nivel Ășnico (coincide solamente dentro de un directorio)",
|
||||
"Smallest First": "El mås pequeño primero",
|
||||
"Source Code": "CĂłdigo fuente",
|
||||
"Stable releases and release candidates": "Versiones estables y versiones candidatas",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Las versiones estables son publicadas cada dos semanas. Durante este tiempo son probadas como versiones candidatas.",
|
||||
"Stable releases only": "Solo versiones estables",
|
||||
"Staggered File Versioning": "Versionado escalonado de fichero",
|
||||
"Start Browser": "Iniciar el navegador",
|
||||
"Statistics": "EstadĂsticas",
|
||||
@@ -221,9 +247,10 @@
|
||||
"This Device": "Este Dispositivo",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Esto podrĂa permitir fĂĄcilmente el acceso a hackers para leer y modificar cualquier fichero de tu equipo.",
|
||||
"This is a major version upgrade.": "Hay una actualizaciĂłn importante.",
|
||||
"Time": "Time",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "Este ajuste controla el espacio libre necesario en el disco principal (por ejemplo, el Ăndice de la base de datos).",
|
||||
"Time": "Hora",
|
||||
"Trash Can File Versioning": "Versionado de archivos de la papelera",
|
||||
"Type": "Type",
|
||||
"Type": "Tipo",
|
||||
"Unknown": "Desconocido",
|
||||
"Unshared": "No compartido",
|
||||
"Unused": "No usado",
|
||||
@@ -234,17 +261,21 @@
|
||||
"Upgrading": "Actualizando",
|
||||
"Upload Rate": "Velocidad de subida",
|
||||
"Uptime": "Tiempo de funcionamiento",
|
||||
"Usage reporting is always enabled for candidate releases.": "El informe de uso estĂĄ siempre habilitado en las versiones candidatas.",
|
||||
"Use HTTPS for GUI": "Usar HTTPS para la Interfaz GrĂĄfica de Usuario (GUI)",
|
||||
"Version": "VersiĂłn",
|
||||
"Versions Path": "Ruta de las versiones",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Las versiones se borran automĂĄticamente si son mĂĄs antiguas que la edad mĂĄxima o exceden el nĂșmero de ficheros permitidos en un intervalo.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Warning, this path is a parent directory of an existing folder \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a parent directory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "ÂĄPeligro! Esta ruta es un directorio principal de la carpeta ya existente \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "'Peligro! Esta ruta es un subdirectorio de la carpeta ya existente \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Peligro! Esta ruta es un subdirectorio de una carpeta ya existente llamada \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a subdirectory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Peligro, esta ruta es un subdirectorio de una carpeta ya existente llamada \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Cuando añada un nuevo dispositivo, tenga en cuenta que este debe añadirse también en el otro lado.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Cuando añada una nueva carpeta, tenga en cuenta que su ID se usa para unir carpetas entre dispositivos. Son sensibles a las mayĂșsculas y deben coincidir exactamente entre todos los dispositivos.",
|
||||
"Yes": "Si",
|
||||
"You can also select one of these nearby devices:": "You can also select one of these nearby devices:",
|
||||
"You can change your choice at any time in the Settings dialog.": "Puedes cambiar tu elecciĂłn en cualquier momento en el panel de Ajustes.",
|
||||
"You can read more about the two release channels at the link below.": "Puedes leer mås sobre los dos método de publicación de versiones en el siguiente enlace.",
|
||||
"You must keep at least one version.": "Debes mantener al menos una versiĂłn.",
|
||||
"days": "dĂas",
|
||||
"directories": "directorios",
|
||||
|
||||
@@ -1,256 +1,287 @@
|
||||
{
|
||||
"A device with that ID is already added.": "Ya se ha agregado un dispositivo con esa ID.",
|
||||
"A device with that ID is already added.": "Ya se ha agregado un equipo con ese ID.",
|
||||
"A negative number of days doesn't make sense.": "Un nĂșmero negativo de dĂas no tiene sentido.",
|
||||
"A new major version may not be compatible with previous versions.": "Una versiĂłn mĂĄs reciente puede no ser compatible con las versiones anteriores.",
|
||||
"API Key": "Clave API",
|
||||
"A new major version may not be compatible with previous versions.": "Una nueva versiĂłn con cambios importantes puede no ser compatible con versiones anteriores.",
|
||||
"API Key": "Clave del API",
|
||||
"About": "Acerca de",
|
||||
"Action": "Action",
|
||||
"Action": "AcciĂłn",
|
||||
"Actions": "Acciones",
|
||||
"Add": "Agregar",
|
||||
"Add Device": "Agregar Dispositivo",
|
||||
"Add Folder": "Agregar Repositorio",
|
||||
"Add Device": "Agregar el dispositivo",
|
||||
"Add Folder": "Agregar Carpeta",
|
||||
"Add Remote Device": "Añadir un dispositivo",
|
||||
"Add new folder?": "ÂżAgregar nueva carpeta?",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Añadir dispositivos desde el introductor a nuestra lista de dispositivos, para las carpetas compartidas mutuamente.",
|
||||
"Add new folder?": "ÂżAgregar una carpeta nueva?",
|
||||
"Address": "DirecciĂłn",
|
||||
"Addresses": "Direcciones",
|
||||
"Advanced": "Avanzada",
|
||||
"Advanced Configuration": "ConfiguraciĂłn avanzada",
|
||||
"Advanced settings": "Optiones avanzadas",
|
||||
"Advanced": "Avanzado",
|
||||
"Advanced Configuration": "ConfiguraciĂłn Avanzada",
|
||||
"Advanced settings": "Ajustes avanzados",
|
||||
"All Data": "Todos los datos",
|
||||
"Allow Anonymous Usage Reporting?": "Permitir reporte anĂłnimo de uso?",
|
||||
"Allow Anonymous Usage Reporting?": "ÂżDeseas permitir el envĂo anĂłnimo de informes de uso?",
|
||||
"Allowed Networks": "Redes permitidas",
|
||||
"Alphabetic": "Alfabético",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Un comando exterior maneja el control de versiones. Ăste tiene que eliminar el archivo de la carpeta sincronizada.",
|
||||
"Anonymous Usage Reporting": "Reporte anĂłnimo de uso",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Cualquier dispositivo configurado en un dispositivo introductor serå también agregado a tu propio dispositivo.",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "Un comando externo gestiona las versiones. Tiene que eliminar el fichero de la carpeta compartida.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Un comando externo controla la versiĂłn. El fichero debe ser eliminado de la carpeta sincronizada.",
|
||||
"Anonymous Usage Reporting": "Informe anĂłnimo de uso",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Cualquier dispositivo configurado en un dispositivo de introducción serå añadido también.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Ahora la actualizaciĂłn automĂĄtica permite elegir entre versiones estables o versiones candidatas.",
|
||||
"Automatic upgrades": "Actualizaciones automĂĄticas",
|
||||
"Be careful!": "ÂĄSĂ© cuidadoso!",
|
||||
"Be careful!": "ÂĄTen cuidado!",
|
||||
"Bugs": "Errores",
|
||||
"CPU Utilization": "Uso de CPU",
|
||||
"Changelog": "Registro de cambios",
|
||||
"Clean out after": "Limpiar después",
|
||||
"Clean out after": "Limpiar tras",
|
||||
"Click to see discovery failures": "Clica para ver fallos de descubrimiento.",
|
||||
"Close": "Cerrar",
|
||||
"Command": "Comando",
|
||||
"Comment, when used at the start of a line": "Comentario, cuando es utilizado al inicio de una lĂnea.",
|
||||
"Command": "AcciĂłn",
|
||||
"Comment, when used at the start of a line": "Comentar, cuando se usa al comienzo de una lĂnea",
|
||||
"Compression": "CompresiĂłn",
|
||||
"Configured": "Configurado",
|
||||
"Connection Error": "Error de conexiĂłn",
|
||||
"Connection Type": "Tipo de conexiĂłn",
|
||||
"Copied from elsewhere": "Copiado desde otra parte.",
|
||||
"Copied from elsewhere": "Copiado de otro sitio",
|
||||
"Copied from original": "Copiado del original",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 los siguientes contribuidores:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 the following Contributors:",
|
||||
"Danger!": "Peligro!",
|
||||
"Deleted": "Suprimido",
|
||||
"Device": "Device",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "Dispositivo \"{{name}}\" ({{device}} en {{address}}) quiere conectar. ¿Añadir nuevo dispositivo?",
|
||||
"Device ID": "ID del dispositivo",
|
||||
"Device Identification": "IdentificaciĂłn del dispositivo",
|
||||
"Device Name": "Nombre del dispositivo",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 los siguientes Colaboradores:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 Los siguientes colaboradores:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Crear patrones a ignorar, sobreescribiendo un fichero existente en {{path}}.",
|
||||
"Danger!": "ÂĄPeligro!",
|
||||
"Deleted": "Eliminado",
|
||||
"Device": "Dispositivo",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "El dispositivo \"{{name}}\" ({{device}} en la dirección {{address}}) quiere conectarse. Añadir nuevo dispositivo?",
|
||||
"Device ID": "ID del Dispositivo",
|
||||
"Device Identification": "IdentificaciĂłn del Dispositivo",
|
||||
"Device Name": "Nombre del Dispositivo",
|
||||
"Devices": "Dispositivos",
|
||||
"Disconnected": "Desconectado",
|
||||
"Discovered": "Descubierto",
|
||||
"Discovery": "BĂșsqueda",
|
||||
"Discovery": "Descubrimiento",
|
||||
"Discovery Failures": "Fallos de Descubrimiento",
|
||||
"Documentation": "DocumentaciĂłn",
|
||||
"Download Rate": "Tasa de descarga",
|
||||
"Download Rate": "Velocidad de descarga",
|
||||
"Downloaded": "Descargado",
|
||||
"Downloading": "Descargando",
|
||||
"Edit": "Editar",
|
||||
"Edit Device": "Cambiando dispositivo",
|
||||
"Edit Folder": "Cambiando repositorio",
|
||||
"Edit Device": "Editar Dispositivo",
|
||||
"Edit Folder": "Editar Carpeta",
|
||||
"Editing": "Editando",
|
||||
"Enable NAT traversal": "Habilitar NAT trasversal",
|
||||
"Editing {%path%}.": "Editando {{path}}.",
|
||||
"Enable NAT traversal": "Permitir NAT transversal",
|
||||
"Enable Relaying": "Habilitar RetransmisiĂłn",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Introduce las direcciones (\"tcp://ip:puerto\", \"tcp://huésped:puerto\") separadas por comas, o \"dynamic\" para ejecutar un descubrimiento automåtico de la dirección. ",
|
||||
"Enter ignore patterns, one per line.": "Añadir patrones de exclusiĂłn, uno por lĂnea.",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Introduce un nĂșmero no negativo (por ejemplo, \"2.35\") y selecciona una unidad. Los porcentajes son como parte del tamaño total del disco.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Introduce un puerto sin privilegios (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Introduzca las direcciones, separadas por comas (\"tcp://ip:port\", \"tcp://host:port\"), o \"dynamic\" para llevar a cabo el descubrimiento automĂĄtico de la direcciĂłn.",
|
||||
"Enter ignore patterns, one per line.": "Introducir patrones a ignorar, uno por lĂnea.",
|
||||
"Error": "Error",
|
||||
"External File Versioning": "Control de versiones externo",
|
||||
"Failed Items": "ArtĂculos fallidos",
|
||||
"File Pull Order": "Orden para coger ficheros",
|
||||
"File Versioning": "Control de versiones",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Los permisos de archivo son ignorados al buscar cambios. Usar el sistemas de archivos FAT.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Los archivos son movidos al directorio .stversions cuando son reemplazados o eliminados por Syncthing. Sus caminos de accesos relativos son recreados aquĂ si necesidad. ",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Lo archivos son movidos al directorio .stversions y renombrados a versiones marcadas por fecha cuando son reemplazados o eliminados por Syncthing, Sus caminos de accesos relativos son recreados aquĂ si necesidad.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Los archivos estĂĄn protegidos frente a los cambios realizados en otros dispositivos, peros los cambios realizados en este dispositivo serĂĄn envĂados al resto del grupo",
|
||||
"Folder": "Repositorio",
|
||||
"Folder ID": "ID del repositorio",
|
||||
"Folder Label": "Etiqueta de Carpeta",
|
||||
"Folder Path": "Ruta del repositorio",
|
||||
"Folder Type": "Tipo de Carpeta",
|
||||
"Folders": "Repositorios",
|
||||
"External File Versioning": "Versionado externo de fichero",
|
||||
"Failed Items": "Elementos fallidos",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "Se espera un fallo al conectar a los servidores IPv6 si no hay conectividad IPv6.",
|
||||
"File Pull Order": "Orden de obtenciĂłn de los ficheros",
|
||||
"File Versioning": "Versionado de ficheros",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Los bits de permiso de ficheros son ignorados cuando se buscan cambios. Utilizar en sistemas de ficheros FAT.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Los ficheros son movidos a la carpeta .stversions cuando son reemplazados o borrados por Syncthing.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Los archivos serĂĄn movidos a la carpeta .stversions cuando sean reemplazados o borrados por Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Los ficheros son movidos a una carpeta .stversions a versiones con control de fecha cuando son reemplazados o borrados por Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Los ficheros son cambiados a versiones con indicaciĂłn de fecha en una carpeta \".stversions\" cuando son reemplazados o borrados por Syncthing.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Los ficheros son protegidos por los cambios hechos en otros dispositivos, pero los cambios hechos en este dispositivo serĂĄn enviados al resto del grupo (cluster).",
|
||||
"Folder": "Carpeta",
|
||||
"Folder ID": "ID de carpeta",
|
||||
"Folder Label": "Etiqueta de la Carpeta",
|
||||
"Folder Path": "Ruta de la carpeta",
|
||||
"Folder Type": "Tipo de carpeta",
|
||||
"Folders": "Carpetas",
|
||||
"GUI": "GUI",
|
||||
"GUI Authentication Password": "Contraseña de autenticación de la GUI",
|
||||
"GUI Authentication User": "Usuario de la GUI",
|
||||
"GUI Listen Addresses": "Direcciones de escucha para la GUI.",
|
||||
"GUI Authentication Password": "Password de la Interfaz GrĂĄfica de Usuario (GUI)",
|
||||
"GUI Authentication User": "AutentificaciĂłn de usuario de la Interfaz GrĂĄfica de Usuario (GUI)",
|
||||
"GUI Listen Address": "DirecciĂłn de Escucha del GUI.",
|
||||
"GUI Listen Addresses": "Direcciones de escucha de la Interfaz GrĂĄfica de Usuario (GUI)",
|
||||
"GUI Theme": "Tema GUI",
|
||||
"Generate": "Generar",
|
||||
"Global Changes": "Global Changes",
|
||||
"Global Discovery": "BĂșsqueda en internet",
|
||||
"Global Discovery Servers": "Servidores globales de identificaciĂłn",
|
||||
"Global Changes": "Cambios globales",
|
||||
"Global Discovery": "Descubrimiento global",
|
||||
"Global Discovery Servers": "Servidores Globales de Descubrimiento",
|
||||
"Global State": "Estado global",
|
||||
"Help": "Ayuda",
|
||||
"Home page": "Pagina de inicio",
|
||||
"Home page": "PĂĄgina de inicio",
|
||||
"Ignore": "Ignorar",
|
||||
"Ignore Patterns": "Patrones de exclusiĂłn",
|
||||
"Ignore Permissions": "Ignorar permisos",
|
||||
"Incoming Rate Limit (KiB/s)": "LĂmite de velocidad de entrada (KiB/s)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "Configuración incorrecta puede dañar los contenidos de la carpeta y hacer Syncthing inoperable.",
|
||||
"Introduced By": "Introduced By",
|
||||
"Introducer": "Dispositivo introductor",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "InversiĂłn de la condiciĂłn dada (es decir, no excluir)",
|
||||
"Keep Versions": "Conservar versiones",
|
||||
"Ignore Patterns": "Patrones a ignorar",
|
||||
"Ignore Permissions": "Permisos a ignorar",
|
||||
"Incoming Rate Limit (KiB/s)": "LĂmite de descarga (KiB/s)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "Una configuración incorrecta puede dañar los contenidos de la carpeta y hacer que Syncthing no funcione.",
|
||||
"Introduced By": "Introducido por",
|
||||
"Introducer": "Presentador",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "InversiĂłn de la condiciĂłn dada (por ejemplo, \"no excluir\")",
|
||||
"Keep Versions": "Mantener versiones",
|
||||
"Largest First": "MĂĄs grande primero",
|
||||
"Last File Received": "Ăltima actualizaciĂłn",
|
||||
"Last Scan": "Ăltimo escaneo",
|
||||
"Last seen": "Visto por ultima vez",
|
||||
"Last seen": "Visto por Ășltima vez",
|
||||
"Later": "MĂĄs tarde",
|
||||
"Latest Change": "Ăltimo cambio",
|
||||
"Listeners": "Receptor",
|
||||
"Local Discovery": "BĂșsqueda en red local",
|
||||
"Latest Change": "Ăltimo Cambio",
|
||||
"Learn more": "Saber mĂĄs",
|
||||
"Listeners": "Oyentes",
|
||||
"Local Discovery": "Descubrimiento local",
|
||||
"Local State": "Estado local",
|
||||
"Local State (Total)": "Estado local (total)",
|
||||
"Major Upgrade": "ActualizaciĂłn mayor",
|
||||
"Local State (Total)": "Estado Local (Total)",
|
||||
"Major Upgrade": "ActualizaciĂłn importante",
|
||||
"Master": "Maestro",
|
||||
"Maximum Age": "Edad mĂĄxima",
|
||||
"Metadata Only": "SĂłlo metadatos",
|
||||
"Minimum Free Disk Space": "Espacio mĂnimo libre en disco",
|
||||
"Move to top of queue": "Mover al principio de la cola.",
|
||||
"Multi level wildcard (matches multiple directory levels)": "CarĂĄcter comodĂn multinivel (coincide en el directorio y sus subdirectorios)",
|
||||
"Move to top of queue": "Mover al principio de la cola",
|
||||
"Multi level wildcard (matches multiple directory levels)": "ComodĂn multinivel (coincide con mĂșltiples niveles de directorio)",
|
||||
"Never": "Nunca",
|
||||
"New Device": "Nuevo dispositivo",
|
||||
"New Folder": "Nuevo repositorio",
|
||||
"Newest First": "Nuevo primero",
|
||||
"New Device": "Nuevo Dispositivo",
|
||||
"New Folder": "Nueva Carpeta",
|
||||
"Newest First": "El mĂĄs nuevo primero",
|
||||
"No": "No",
|
||||
"No File Versioning": "Sin control de versiones de archivos",
|
||||
"No File Versioning": "Sin versionado de fichero",
|
||||
"No upgrades": "Sin actualizaciones",
|
||||
"Normal": "Normal",
|
||||
"Notice": "Aviso",
|
||||
"OK": "OK",
|
||||
"Off": "Apagado",
|
||||
"Oldest First": "Antiguo primero",
|
||||
"Off": "Desconectar",
|
||||
"Oldest First": "El mĂĄs antiguo primero",
|
||||
"Optional descriptive label for the folder. Can be different on each device.": "Etiqueta descriptiva opcional para la carpeta. Puede ser diferente en cada dispositivo.",
|
||||
"Options": "Opciones",
|
||||
"Out of Sync": "Fuera de sincronizaciĂłn",
|
||||
"Out of Sync Items": "Ătems no sincronizados",
|
||||
"Outgoing Rate Limit (KiB/s)": "Tasa mĂĄxima de envĂo (KiB/s)",
|
||||
"Override Changes": "Reemplazar los cambios",
|
||||
"Path": "Path",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Ruta del repositorio en el equipo local. SerĂĄ creado si no existe. El carĂĄcter tilde (~) puede ser utilizado como atajo de ",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Ruta donde serĂĄn guardas las versiones (dejar vacĂo para usar el directorio predifinido \".stversions\" en el repositorio)",
|
||||
"Pause": "Pausa",
|
||||
"Paused": "En pausa",
|
||||
"Please consult the release notes before performing a major upgrade.": "Por favor consulta las notas de lanzamiento antes de realizar una actualizacĂłn mayor.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Por favor, establece un Usuario y Contraseña de Autenticación en la GUI en el diålogo de Configuración",
|
||||
"Please wait": "Aguarde por favor",
|
||||
"Out of Sync": "No sincronizado",
|
||||
"Out of Sync Items": "Elementos no sincronizados",
|
||||
"Outgoing Rate Limit (KiB/s)": "LĂmite de subida (KiB/s)",
|
||||
"Override Changes": "Anular cambios",
|
||||
"Path": "Parche",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Ruta a la carpeta en la mĂĄquina local. Se crearĂĄ si no existe. El carĂĄcter de la tilde (~) puede usarse como atajo.",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "La ruta donde las versiones deben ser almacenadas (dejar vacĂo para el directorio .stversions por defecto en la carpeta compartida).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Ruta donde se almacenarĂĄn las versiones (dejar vacĂo para usar la carpeta por defecto \".stversions\").",
|
||||
"Pause": "Pausar",
|
||||
"Pause All": "Pausar todo",
|
||||
"Paused": "Pausado",
|
||||
"Please consult the release notes before performing a major upgrade.": "Por favor, consultar las notas de la versiĂłn antes de realizar una actualizaciĂłn importante.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Por favor, introduzca un Usuario y Contraseña para la Autenticación de la Interfaz de Usuario en el panel de Ajustes.",
|
||||
"Please wait": "Por favor, espere",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefix indicating that the file can be deleted if preventing directory removal",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefix indicating that the pattern should be matched without case sensitivity",
|
||||
"Preview": "Vista previa",
|
||||
"Preview Usage Report": "Ver reporte de uso",
|
||||
"Quick guide to supported patterns": "GuĂa rĂĄpida sobre los patrones soportados",
|
||||
"RAM Utilization": "UtilizaciĂłn de RAM",
|
||||
"Preview Usage Report": "Informe de uso de vista previa",
|
||||
"Quick guide to supported patterns": "GuĂa rĂĄpida de patrones soportados",
|
||||
"RAM Utilization": "Uso de RAM",
|
||||
"Random": "Aleatorio",
|
||||
"Reduced by ignore patterns": "(Restringido por patrones de exclusiĂłn)",
|
||||
"Release Notes": "Notas de lanzamiento",
|
||||
"Reduced by ignore patterns": "Reducido por patrones de ignorar",
|
||||
"Release Notes": "Notas de la versiĂłn",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Las versiones candidatas contienen las Ășltimas funcionalidades y correcciones. Son similares a las tradicionales versiones bisemanales de Syncthing.",
|
||||
"Remote Devices": "Otros dispositivos",
|
||||
"Remove": "Eliminar",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "IdentificaciĂłn requerida para la carpeta. Debe ser la misma en todos los dispositivos del grupo.",
|
||||
"Rescan": "Reescanear",
|
||||
"Rescan All": "Reescanear todo",
|
||||
"Rescan Interval": "Intervalo de reescaneo",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Identificador requerido para la carpeta. Debe ser el mismo en todos los dispositivos del clĂșster.",
|
||||
"Rescan": "Volver a analizar",
|
||||
"Rescan All": "Volver a analizar Todo",
|
||||
"Rescan Interval": "Intervalo de anĂĄlisis",
|
||||
"Restart": "Reiniciar",
|
||||
"Restart Needed": "Es necesario reiniciar",
|
||||
"Restart Needed": "Reinicio necesario",
|
||||
"Restarting": "Reiniciando",
|
||||
"Resume": "Reanudar",
|
||||
"Resume": "Continuar",
|
||||
"Resume All": "Continuar todo",
|
||||
"Reused": "Reutilizado",
|
||||
"Save": "Guardar",
|
||||
"Scan Time Remaining": "Tiempo de Escaneo Restante",
|
||||
"Scanning": "ActualizaciĂłn",
|
||||
"Select the devices to share this folder with.": "Seleccione los dispositivos con los cuales compartir este repositorio.",
|
||||
"Select the folders to share with this device.": "Seleccione los repositorios para compartir con este dispositivo.",
|
||||
"Send & Receive": "Send & Receive",
|
||||
"Send Only": "Send Only",
|
||||
"Settings": "ConfiguraciĂłn",
|
||||
"Scan Time Remaining": "Tiempo Restante de Escaneo",
|
||||
"Scanning": "Analizando",
|
||||
"Select the devices to share this folder with.": "Selecciona los dispositivos con los que compartir esta carpeta.",
|
||||
"Select the folders to share with this device.": "Selecciona las carpetas para compartir con este dispositivo.",
|
||||
"Send & Receive": "Enviar y Recibir",
|
||||
"Send Only": "Solo Enviar",
|
||||
"Settings": "Ajustes",
|
||||
"Share": "Compartir",
|
||||
"Share Folder": "Compartir repositorio",
|
||||
"Share Folders With Device": "Compartir repositorios con dispositivo",
|
||||
"Share With Devices": "Compartir con los dispositivos",
|
||||
"Share this folder?": "ÂżCompartir este repositorio?",
|
||||
"Shared With": "Compartido con",
|
||||
"Share Folder": "Compartir carpeta",
|
||||
"Share Folders With Device": "Compartir carpetas con dispositivo",
|
||||
"Share With Devices": "Compartir con dispositivos",
|
||||
"Share this folder?": "ÂżDeseas compartir esta carpeta?",
|
||||
"Shared With": "Compartir con",
|
||||
"Show ID": "Mostrar ID",
|
||||
"Show QR": "Mostrar QR",
|
||||
"Shown instead of Device ID in the cluster status. Will be advertised to other devices as an optional default name.": "Mostrado en lugar de la ID del dispositivo en el estado del grupo. SerĂĄ sugerido a otros dispositivos como nombre fĂĄcil de usar predeterminado opcional.",
|
||||
"Shown instead of Device ID in the cluster status. Will be updated to the name the device advertises if left empty.": "Mostrado en lugar de la ID del dispositivo en el estado del grupo. Si se deja en blanco, serĂĄ llenado por el nombre fĂĄcil de usar sugerido por el dispositivo.",
|
||||
"Shown instead of Device ID in the cluster status. Will be advertised to other devices as an optional default name.": "Se muestra en lugar del ID del dispositivo en el estado del grupo (cluster). Se notificarĂĄ a los otros dispositivos como nombre opcional por defecto.",
|
||||
"Shown instead of Device ID in the cluster status. Will be updated to the name the device advertises if left empty.": "Se muestra en lugar del ID del dispositivo en el estado del grupo (cluster). Se actualizarĂĄ al nombre que el dispositivo anuncia si se deja vacĂo.",
|
||||
"Shutdown": "Apagar",
|
||||
"Shutdown Complete": "Apagado completado",
|
||||
"Simple File Versioning": "Versiones simple de archivos",
|
||||
"Single level wildcard (matches within a directory only)": "CarĂĄcter comodĂn de un solo nivel (coincide sĂłlo dentro de un directorio)",
|
||||
"Smallest First": "Mås pequeño primero",
|
||||
"Shutdown Complete": "Apagar completamente",
|
||||
"Simple File Versioning": "Versionado simple de fichero",
|
||||
"Single level wildcard (matches within a directory only)": "ComodĂn de nivel Ășnico (coincide solamente dentro de un directorio)",
|
||||
"Smallest First": "El mås pequeño primero",
|
||||
"Source Code": "CĂłdigo fuente",
|
||||
"Staggered File Versioning": "Versiones del archivo escalonado",
|
||||
"Start Browser": "Iniciar navegador",
|
||||
"Stable releases and release candidates": "Versiones estables y versiones candidatas",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Las versiones estables son publicadas cada dos semanas. Durante este tiempo son probadas como versiones candidatas.",
|
||||
"Stable releases only": "Solo versiones estables",
|
||||
"Staggered File Versioning": "Versionado escalonado de fichero",
|
||||
"Start Browser": "Iniciar el navegador",
|
||||
"Statistics": "EstadĂsticas",
|
||||
"Stopped": "Parado",
|
||||
"Stopped": "Detenido",
|
||||
"Support": "Forum",
|
||||
"Sync Protocol Listen Addresses": "DirecciĂłn de escucha del protocolo de sincronizaciĂłn",
|
||||
"Syncing": "SincronizaciĂłn",
|
||||
"Syncthing has been shut down.": "La sincronizaciĂłn esta apagada",
|
||||
"Syncthing includes the following software or portions thereof:": "Syncthing incluye los siguientes softwares o partes de ellos:",
|
||||
"Syncthing is restarting.": "Syncthing estĂĄ reiniciando.",
|
||||
"Sync Protocol Listen Addresses": "Direcciones de escucha del protocolo de sincronizaciĂłn",
|
||||
"Syncing": "Sincronizando",
|
||||
"Syncthing has been shut down.": "Syncthing se ha detenido.",
|
||||
"Syncthing includes the following software or portions thereof:": "Syncthing incluye el siguiente software o partes de él:",
|
||||
"Syncthing is restarting.": "Syncthing se estĂĄ reiniciando.",
|
||||
"Syncthing is upgrading.": "Syncthing se estĂĄ actualizando.",
|
||||
"Syncthing seems to be down, or there is a problem with your Internet connection. RetryingâŠ": "Syncthing parece estar apagado, o hay un problema con su conexiĂłn de Internet. Reintentando...",
|
||||
"Syncthing seems to be experiencing a problem processing your request. Please refresh the page or restart Syncthing if the problem persists.": "Syncthing parece estar experimentando un problema al procesar su solicitud. Por favor, recargue el navegador o reinicie Syncthing si el problema persiste.",
|
||||
"The Syncthing admin interface is configured to allow remote access without a password.": "La interfaz administrativa del Syncthing estå configurada para permitir acceso remoto sin una contraseña.",
|
||||
"The aggregated statistics are publicly available at the URL below.": "Las estadĂsticas agregadas estĂĄn disponibles pĂșblicamente en la direcciĂłn de abajo.",
|
||||
"The configuration has been saved but not activated. Syncthing must restart to activate the new configuration.": "La configuraciĂłn ha sido guardada pero no activada.\nSyncthing debe reiniciarse para activar la nueva configuraciĂłn.",
|
||||
"The device ID cannot be blank.": "La ID del dispositivo no puede estar en blanco.",
|
||||
"The device ID to enter here can be found in the \"Actions > Show ID\" dialog on the other device. Spaces and dashes are optional (ignored).": "La ID de dispositivo a introducir ser puede encontrar en el menĂș \"Acciones > Mostrar ID\" en el otro dispositivo. Espacios y guiones son opcionales (ignorados). ",
|
||||
"The encrypted usage report is sent daily. It is used to track common platforms, folder sizes and app versions. If the reported data set is changed you will be prompted with this dialog again.": "El informe de uso se envĂa encriptado diariamente. Se utiliza para hacer un seguimiento de plataformas comunes, tamaño de repositorios y versiones de la aplicaciĂłn. Si el conjunto de datos cambia serĂĄ notificado mediante este dialogo nuevamente.",
|
||||
"The entered device ID does not look valid. It should be a 52 or 56 character string consisting of letters and numbers, with spaces and dashes being optional.": "La ID del dispositivo introducida no es vĂĄlida. Debe ser una cadena de 52 o 56 caracteres consistente en letras y nĂșmeros, con espacios y guiones opcionales.",
|
||||
"The first command line parameter is the folder path and the second parameter is the relative path in the folder.": "El primer argumento es la ruta de la carpeta y el segundo argumento es la ruta relativa de esta carpeta.",
|
||||
"The folder ID cannot be blank.": "La ID del repositorio no puede estar en blanco.",
|
||||
"The folder ID must be unique.": "La ID del repositorio debe ser Ășnica.",
|
||||
"The folder path cannot be blank.": "La ruta del repositorio no puede estar vacĂa.",
|
||||
"The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.": "Los siguientes intervalos se utilizan: para la primera hora una versiĂłn se mantiene cada 30 segundos, para el primer dĂa de una versiĂłn se mantiene cada hora, durante los primeros 30 dĂas de la versiĂłn se mantiene todos los dĂas, hasta que la edad mĂĄxima de una versiĂłn se mantiene cada semana.",
|
||||
"The following items could not be synchronized.": "Los siguientes artĂculos no pueden ser sincronizados.",
|
||||
"The maximum age must be a number and cannot be blank.": "La edad mĂĄxima debe ser un nĂșmero y no puede estar en blanco.",
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "El tiempo mĂĄximo para mantener una versiĂłn (en dĂas, establece en 0 para mantener versiones para siempre).",
|
||||
"The minimum free disk space percentage must be a non-negative number between 0 and 100 (inclusive).": "El porcentaje de espacio libre en disco mĂnimo debe ser un nĂșmero no negativo entre 0 y 100 (incluidos).",
|
||||
"The number of days must be a number and cannot be blank.": "El nĂșmero de dĂas debe ser un nĂșmero y no puede estar vacĂo.",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "El tiempo mĂĄximo para mantener un archivo en el cubo de basura (en dĂas, establece en 0 para mantener versiones para siempre).",
|
||||
"The number of old versions to keep, per file.": "El numero de versiones anteriores a conservar, por archivo.",
|
||||
"Syncthing seems to be down, or there is a problem with your Internet connection. RetryingâŠ": "Syncthing parece no estar activo o hay un problema con tu conexiĂłn de internet. Reintentando...",
|
||||
"Syncthing seems to be experiencing a problem processing your request. Please refresh the page or restart Syncthing if the problem persists.": "Syncthing tiene problemas para procesar tu solicitud. Por favor, actualiza la pĂĄgina o reinicia Syncthing si el problema persiste.",
|
||||
"The Syncthing admin interface is configured to allow remote access without a password.": "El panel de administración de Syncthing estå configurado para permitir el acceso remoto sin contraseña.",
|
||||
"The aggregated statistics are publicly available at the URL below.": "Las estadĂsticas agragadas estĂĄn disponibles pĂșblicamente en la URL de abajo.",
|
||||
"The configuration has been saved but not activated. Syncthing must restart to activate the new configuration.": "La configuraciĂłn ha sido grabada pero no activada. Syncthing debe reiniciarse para activar la nueva configuraciĂłn.",
|
||||
"The device ID cannot be blank.": "La ID del dispositivo no puede estar vacĂa.",
|
||||
"The device ID to enter here can be found in the \"Actions > Show ID\" dialog on the other device. Spaces and dashes are optional (ignored).": "El ID del dispositivo que hay que introducir aquĂ se puede encontrar en el diĂĄlogo \"Acciones > Mostrar ID\" en el otro dispositivo. Los espacios y las barras son opcionales (ignorados).",
|
||||
"The encrypted usage report is sent daily. It is used to track common platforms, folder sizes and app versions. If the reported data set is changed you will be prompted with this dialog again.": "El informe encriptado de uso se envĂa diariamente. Se usa para rastrear plataformas comunes, tamaños de carpetas y versiones de la aplicaciĂłn. Si el conjunto de datos enviados en el informes se cambia, se le pedirĂĄ a usted autorizaciĂłn de nuevo.",
|
||||
"The entered device ID does not look valid. It should be a 52 or 56 character string consisting of letters and numbers, with spaces and dashes being optional.": "La ID del dispositivo introducida no parece vĂĄlida. Debe ser una cadena de 52 Ăł 56 caracteres formada por letras y nĂșmeros, con espacios y guiones opcionales.",
|
||||
"The first command line parameter is the folder path and the second parameter is the relative path in the folder.": "El primer parĂĄmetro del comando es la ruta de la carpeta y el segundo es la ruta relativa en la carpeta.",
|
||||
"The folder ID cannot be blank.": "La ID de la carpeta no puede estar vacĂa.",
|
||||
"The folder ID must be unique.": "La ID de la carpeta debe ser Ășnica.",
|
||||
"The folder path cannot be blank.": "La ruta de la carpeta no puede estar en blanco.",
|
||||
"The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.": "Se utilizan los siguientes intervalos: para la primera hora se mantiene una versiĂłn cada 30 segundos, para el primer dĂa se mantiene una versiĂłn cada hora, para los primeros 30 dĂas se mantiene una versiĂłn diaria hasta la edad mĂĄxima de una semana.",
|
||||
"The following items could not be synchronized.": "Los siguientes elementos no pueden ser sincronizados.",
|
||||
"The maximum age must be a number and cannot be blank.": "La edad mĂĄxima debe ser un nĂșmero y no puede estar vacĂa.",
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "El tiempo mĂĄximo para mantener una versiĂłn en dĂas (introducir 0 para mantener las versiones indefinidamente).",
|
||||
"The minimum free disk space percentage must be a non-negative number between 0 and 100 (inclusive).": "El porcentaje de espacio libre mĂnimo debe ser un nĂșmero no negativo entre 0 y 100 (ambos inclusive).",
|
||||
"The number of days must be a number and cannot be blank.": "El nĂșmero de dĂas debe ser un nĂșmero y no puede estar en blanco.",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "El nĂșmero de dĂas para mantener los archivos en la papelera. Cero significa \"para siempre\".",
|
||||
"The number of old versions to keep, per file.": "El nĂșmero de versiones a antiguas a mantener para cada fichero.",
|
||||
"The number of versions must be a number and cannot be blank.": "El nĂșmero de versiones debe ser un nĂșmero y no puede estar vacĂo.",
|
||||
"The path cannot be blank.": "La ruta no puede estar vacĂa.",
|
||||
"The rate limit must be a non-negative number (0: no limit)": "El intervalo de reescaneo debe ser un nĂșmero no negativo de segundos. (0: no limit)",
|
||||
"The rescan interval must be a non-negative number of seconds.": "El intervalo de reescaneo debe ser un nĂșmero no negativo de segundos.",
|
||||
"They are retried automatically and will be synced when the error is resolved.": "Los archivos se sincronizan automĂĄticamente cuando el error se resuelve.",
|
||||
"The rate limit must be a non-negative number (0: no limit)": "El lĂmite de velocidad debe ser un nĂșmero no negativo (0: sin lĂmite)",
|
||||
"The rescan interval must be a non-negative number of seconds.": "El intervalo de actualizaciĂłn debe ser un nĂșmero positivo de segundos.",
|
||||
"They are retried automatically and will be synced when the error is resolved.": "Se reintentarĂĄn de forma automĂĄtica y se sincronizarĂĄn cuando se resuelva el error.",
|
||||
"This Device": "Este Dispositivo",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Esto puede darle permiso a los hackers, podrån acceder a cualquier archivo, pudiéndolos leer y editar.",
|
||||
"This is a major version upgrade.": "Esta es una actualizaciĂłn de version mayor.",
|
||||
"Time": "Time",
|
||||
"Trash Can File Versioning": "Versiones como cubo de basura",
|
||||
"Type": "Type",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Esto podrĂa permitir fĂĄcilmente el acceso a hackers para leer y modificar cualquier fichero de tu equipo.",
|
||||
"This is a major version upgrade.": "Hay una actualizaciĂłn importante.",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "Este ajuste controla el espacio libre necesario en el disco principal (por ejemplo, el Ăndice de la base de datos).",
|
||||
"Time": "Hora",
|
||||
"Trash Can File Versioning": "Versionado de archivos de la papelera",
|
||||
"Type": "Tipo",
|
||||
"Unknown": "Desconocido",
|
||||
"Unshared": "No compartido",
|
||||
"Unused": "No utilizado",
|
||||
"Unused": "No usado",
|
||||
"Up to Date": "Actualizado",
|
||||
"Updated": "Actualizado",
|
||||
"Upgrade": "Actualizar",
|
||||
"Upgrade To {%version%}": "Actualizar a {{version}}",
|
||||
"Upgrading": "Actualizando",
|
||||
"Upload Rate": "Tasa de subida",
|
||||
"Uptime": "Tiempo en funcionamiento",
|
||||
"Use HTTPS for GUI": "Usar HTTPS para la GUI",
|
||||
"Upload Rate": "Velocidad de subida",
|
||||
"Uptime": "Tiempo de funcionamiento",
|
||||
"Usage reporting is always enabled for candidate releases.": "El informe de uso estĂĄ siempre habilitado en las versiones candidatas.",
|
||||
"Use HTTPS for GUI": "Usar HTTPS para la Interfaz GrĂĄfica de Usuario (GUI)",
|
||||
"Version": "VersiĂłn",
|
||||
"Versions Path": "Ruta de versiones",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Las versiones se eliminan automĂĄticamente si son mayores de la edad mĂĄxima o mayor que el nĂșmero de archivos permitidos en un intervalo.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Warning, this path is a parent directory of an existing folder \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a parent directory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "AtenciĂłn, esta direcciĂłn es un subdirectorio de un directorio existente \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a subdirectory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Al agregar un nuevo dispositivo, tenga en cuenta que este dispositivo se debe agregar en el otro lado también.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Al agregar un nuevo repositorio, tenga en cuenta que la ID del repositorio se utiliza para conectar los repositorios entre dispositivos. Se distingue entre mayĂșsculas y minĂșsculas y debe ser exactamente igual en todos los dispositivos.",
|
||||
"Yes": "SĂ",
|
||||
"You must keep at least one version.": "Debe mantener al menos una versiĂłn",
|
||||
"Versions Path": "Ruta de las versiones",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Las versiones se borran automĂĄticamente si son mĂĄs antiguas que la edad mĂĄxima o exceden el nĂșmero de ficheros permitidos en un intervalo.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "ÂĄPeligro! Esta ruta es un directorio principal de la carpeta ya existente \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "'Peligro! Esta ruta es un subdirectorio de la carpeta ya existente \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Peligro! Esta ruta es un subdirectorio de una carpeta ya existente llamada \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Peligro, esta ruta es un subdirectorio de una carpeta ya existente llamada \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Cuando añada un nuevo dispositivo, tenga en cuenta que este debe añadirse también en el otro lado.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Cuando añada una nueva carpeta, tenga en cuenta que su ID se usa para unir carpetas entre dispositivos. Son sensibles a las mayĂșsculas y deben coincidir exactamente entre todos los dispositivos.",
|
||||
"Yes": "Si",
|
||||
"You can also select one of these nearby devices:": "También puede seleccionar uno de estos dispositivos cercanos:",
|
||||
"You can change your choice at any time in the Settings dialog.": "Puedes cambiar tu elecciĂłn en cualquier momento en el panel de Ajustes.",
|
||||
"You can read more about the two release channels at the link below.": "Puedes leer mås sobre los dos método de publicación de versiones en el siguiente enlace.",
|
||||
"You must keep at least one version.": "Debes mantener al menos una versiĂłn.",
|
||||
"days": "dĂas",
|
||||
"directories": "directorios",
|
||||
"files": "archivos",
|
||||
"full documentation": "documentaciĂłn completa",
|
||||
"items": "Ătems",
|
||||
"{%device%} wants to share folder \"{%folder%}\".": "{{device}} quiere compartir repositorio \"{{folder}}\".",
|
||||
"full documentation": "DocumentaciĂłn completa",
|
||||
"items": "Elementos",
|
||||
"{%device%} wants to share folder \"{%folder%}\".": "{{device}} quiere compartir la carpeta \"{{folder}}\".",
|
||||
"{%device%} wants to share folder \"{%folderlabel%}\" ({%folder%}).": "{{device}} quiere compartir la carpeta \"{{folderlabel}}\" ({{folder}})."
|
||||
}
|
||||
@@ -1,256 +1,287 @@
|
||||
{
|
||||
"A device with that ID is already added.": "Id horrekin beste talde bat gehitu da.",
|
||||
"A negative number of days doesn't make sense.": "Hemen 0 edo zenbaki positiboa ,mesedez.",
|
||||
"A new major version may not be compatible with previous versions.": "Aldaketa garrantzitsuak dituen bertsio berria beharbada ez da bateragarria izango bertsio zaharragoekin.",
|
||||
"A device with that ID is already added.": "Id hori duen tresna bat jadanik bada",
|
||||
"A negative number of days doesn't make sense.": "0 edo zenbaki positiboa onartzen da bakarrik",
|
||||
"A new major version may not be compatible with previous versions.": "Aldaketa garrantzitsuak dituen bertsio berri bat ez da beharbada bateragarria izanen bertsio zaharragoekin.",
|
||||
"API Key": "API giltza",
|
||||
"About": "Egoki",
|
||||
"Action": "Ekintza",
|
||||
"About": "Honi buruz",
|
||||
"Action": "Egintza",
|
||||
"Actions": "Egintzak",
|
||||
"Add": "Gaineratu",
|
||||
"Add Device": "Gaineratu makina",
|
||||
"Add Folder": "Gaineratu partekatze",
|
||||
"Add Remote Device": "Gaineratu makinan izan",
|
||||
"Add new folder?": "Gaineratu hau partekatze ?",
|
||||
"Address": "Helbide",
|
||||
"Addresses": "Helbidek",
|
||||
"Advanced": "Aditu",
|
||||
"Advanced Configuration": "Konfigurazio aintzinatua",
|
||||
"Advanced settings": "Ezarpen aurreratuak",
|
||||
"Add": "Gehitu",
|
||||
"Add Device": "Tresna gehitu",
|
||||
"Add Folder": "Karpeta gehitu",
|
||||
"Add Remote Device": "Urrundikako tresna bat gehitu",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Gure tresna zerrendan tresnak gehitzea baimendu, partekatzeetan.",
|
||||
"Add new folder?": "Karpeta berria gehitu?",
|
||||
"Address": "Helbidea",
|
||||
"Addresses": "Helbideak",
|
||||
"Advanced": "Aitzinatua",
|
||||
"Advanced Configuration": "Konfigurazio aitzinatua",
|
||||
"Advanced settings": "Parametro aitzinatuak",
|
||||
"All Data": "Datu guziak",
|
||||
"Allow Anonymous Usage Reporting?": "Izenik gabeko erabiltze erreportak baimendu",
|
||||
"Allow Anonymous Usage Reporting?": "Izenik gabeko erabiltze erreportak baimendu?",
|
||||
"Allowed Networks": "Sare baimenduak",
|
||||
"Alphabetic": "Alfabetikoa",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Kanpoko kontrolagailu batek bertsioak erabiltzen ditu. Fitxeroak errepertorio sinkronizatutik desagertaraztea berari doakio.",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "Kanpoko kontrolagailu batek fitxategien bertsioak kudeatzen ditu. Fitxategiak kendu behar ditu errepertorio sinkronizatuan.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Kanpoko kontrolagailu batek fitxeroen bertsioak erabiltzen ditu. Fitxeroak errepertorio sinkronizatutik desagertaraztea berari doakio.",
|
||||
"Anonymous Usage Reporting": "Izenik gabeko erabiltze erreportak",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Sarrarazle batean sartua izanen edozein tresna dena huntan ere izanen da.",
|
||||
"Automatic upgrades": "Aktualizatze automatikoak",
|
||||
"Be careful!": "Kasu!",
|
||||
"Bugs": "Akatsek",
|
||||
"CPU Utilization": "Prozesadore erabiltze",
|
||||
"Changelog": "Bertsio historia",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Sarrarazle deitzen duzun tresna batean gehitua izanen den edozein tresna, zurean ere gehitua izanen da.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Eguneratze automatiko sistemak iraunkor bertsioen eta aitzineko bertsioen artean hautatzea proposatzen du",
|
||||
"Automatic upgrades": "Eguneratze automatikoak",
|
||||
"Be careful!": "Kasu emazu!",
|
||||
"Bugs": "Akatsak",
|
||||
"CPU Utilization": "Prozesadorearen erabiltzea",
|
||||
"Changelog": "Bertsioen historia",
|
||||
"Clean out after": "Garbi âŠ. epearen ondotik",
|
||||
"Close": "Ezeztatu",
|
||||
"Click to see discovery failures": "Klik egin hutsegiteak ikusteko",
|
||||
"Close": "Hetsi",
|
||||
"Command": "Kontrolagailua",
|
||||
"Comment, when used at the start of a line": "Komentarioa, lerro baten hastean delarik",
|
||||
"Compression": "Trinkotze",
|
||||
"Configured": "Konfiguratua",
|
||||
"Connection Error": "Konexio hutsa",
|
||||
"Connection Type": "Konexion mota",
|
||||
"Connection Type": "Konexio mota",
|
||||
"Copied from elsewhere": "Beste nunbaitik kopiatua",
|
||||
"Copied from original": "Kopiatua jatorrizkoatik",
|
||||
"Copied from original": "Jatorrizkotik kopiatua",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright 2014-2016, ekarle hauk:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright 2014-2017, ekarle hauk:",
|
||||
"Danger!": "Lanjer !",
|
||||
"Deleted": "Ezeztatu",
|
||||
"Device": "Horrekin",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "Makina \"{{name}}\" ({{device}} izan {{address}}) konektatu nahi du. Gaineratu berri makina ?",
|
||||
"Device ID": "Makina ID",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Baztertze modelo batzuen sortzea, dagoen fitxategiari ordaina ezartzea: {{path}}",
|
||||
"Danger!": "Lanjera !",
|
||||
"Deleted": "Kendua",
|
||||
"Device": "Tresna",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "Tresna \"{{name}}\" ({{device}} {{address}} era) konektatu nahi du. Onhartzen duzu ?",
|
||||
"Device ID": "Tresnaren ID-a",
|
||||
"Device Identification": "Tresnaren identifikazioa",
|
||||
"Device Name": "Makina izen",
|
||||
"Devices": "Makinak",
|
||||
"Disconnected": "Desloturik",
|
||||
"Discovered": "Ziloa",
|
||||
"Discovery": "Aurkikuntza",
|
||||
"Documentation": "Dokumentazio",
|
||||
"Download Rate": "Deskargatze emari",
|
||||
"Downloaded": "Telekargatua",
|
||||
"Downloading": "Deskargatze",
|
||||
"Device Name": "Tresnaren izena",
|
||||
"Devices": "Tresnak",
|
||||
"Disconnected": "Deskonektatua",
|
||||
"Discovered": "Agertua",
|
||||
"Discovery": "Agertzea",
|
||||
"Discovery Failures": "Agertze hutsegiteak",
|
||||
"Documentation": "Dokumentazioa",
|
||||
"Download Rate": "Deskargatzearen bit-tasa",
|
||||
"Downloaded": "Deskargatua",
|
||||
"Downloading": "Deskargatzea",
|
||||
"Edit": "Aldatu",
|
||||
"Edit Device": "Aldaketa tresna",
|
||||
"Edit Folder": "Aldaketa partekatze",
|
||||
"Editing": "Aldaketa",
|
||||
"Enable NAT traversal": "Ahalbidetu NAT",
|
||||
"Enable Relaying": "Ahalbidetu lekua hartu",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": " (\"tcp://ip:port\" ou \"tcp://nom:port\") zuzenbideak sar, krakotx batez separatuak edo bestenaz \"dynamic\", zuzenbidearen xekatze automatikoa aktibatzeko\nTu peux traduire nom et port dans la parenthĂšse, c'est pas des variables du programme, juste du texte explicatif",
|
||||
"Enter ignore patterns, one per line.": "Ezkluzio filtroak sar, lerro batean bakar bat",
|
||||
"Error": "Huts",
|
||||
"External File Versioning": "Fitxero bertsioen kanpoko kudeaketa",
|
||||
"Failed Items": "Fitxategiken huts",
|
||||
"File Pull Order": "Fitxategiak irekitzeko agindua",
|
||||
"File Versioning": "Artxiboak babesteko metodoa",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Aldaketa bilaketetan fitxero baimenen bitak ez dira kontuan hartuko. Fitxero FAT sistimetan erabilia.",
|
||||
"Edit Device": "Tresna aldatzea",
|
||||
"Edit Folder": "Partekatze aldatzea",
|
||||
"Editing": "Aldaketak",
|
||||
"Editing {%path%}.": "Muntatzea {{path}}",
|
||||
"Enable NAT traversal": "NAT translazioa aktibatu",
|
||||
"Enable Relaying": "Aldizkatzea posible",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Negatiboa ez den zenbaki bat hauta ezazu (\"2.35\" adib.) bai eta unitate bat. Disko osoaren ehuneko espazioa",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Abantailatua ez den portu zenbalki bat sar ezazu (1024 - 65535)",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": " (\"tcp://ip:ataka\", \"tcp://izena:ataka\") zuzenbideak sar, krakotx batez separatuak edo bestenaz \"dynamic\", zuzenbidearen xekatze automatikoa aktibatzeko",
|
||||
"Enter ignore patterns, one per line.": "Ezkluzio filtroak sar, lerro bakoitzean bat bakarrik.",
|
||||
"Error": "Hutsa",
|
||||
"External File Versioning": "Fitxategi bertsioen kanpoko kudeaketa",
|
||||
"Failed Items": "Huts egin duten fitxategiak",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "IPv6 zerbitzariei buruzko konexioak huts eginen du, IPv6 konektibitaterik ez bada",
|
||||
"File Pull Order": "Fitxategiak berreskuratzeko ordena",
|
||||
"File Versioning": "Fitxategiak zaintzeko metodoa",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Aldaketa bilaketetan, fitxeroen baimen bitak ez dira kontuan hartuko. Fitxero FAT sistimetan erabilia.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Fitxategiak .stbersioak errepertorioan lekutuak dira, Syncthing-ek ordezkatzen edo kentzen dituelarik",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": ".stbersioak azpi karpetan lekutuko dira fitxeroak, Syncthing-ek aldatu edo ezeztatuko dituelarik. Beren helbide errelatiboak hor berean berriz sortuak izanen dira, behar balin bada",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": ".stbersioak azpi karpetan lekutuko eta ordu-markatuko dira fitxeroak, Syncthing-ek aldatu edo ezeztatuko dituelarik. Beren helbide errelatiboak hor berean berriz sortuak izanen dira, behar balin bada",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Beste tresnetan eginak izanen diren aldaketetatik zainduak izanen dira fitxeroak; haatik, tresna huntan egindako aldaketak besteeri hedatuak izanen dira",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Syncthing-ek aldatzen edo kentzen dituelarik, fitxeroak \".stbertsioak\" peko-errepertoriorat lekutuak dira, jatorrizkoaren berdin berdina den zuhaitz-formako batean",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": ".stbersioak azpi karpetan lekutuko eta ordu-markatuko dira fitxeroak, egitura errelatibo berdin batean, Syncthing-ek aldatu edo ezeztatuko dituelarik.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Beste tresnetan eginak izanen diren aldaketetatik zainduak izanen dira fitxeroak; haatik, tresna huntan egindako aldaketak besteeri hedatuak izanen dira.",
|
||||
"Folder": "Partekatze",
|
||||
"Folder ID": "Partekatze ID",
|
||||
"Folder Label": "Partekatze izengoiti",
|
||||
"Folder Path": "Partekatze bidexka",
|
||||
"Folder ID": "ID partekatze",
|
||||
"Folder Label": "Partekatzearen izena",
|
||||
"Folder Path": "Partekatzearen sustrai bidea",
|
||||
"Folder Type": "Partekatze mota",
|
||||
"Folders": "Partekatzek",
|
||||
"GUI": "Interfaze grafiko",
|
||||
"GUI Authentication Password": "Interfaze grafiko pasahitz",
|
||||
"GUI Authentication User": "Interfaze grafiko erabiltzaile",
|
||||
"GUI Listen Addresses": "Interfaze grafiko helbide",
|
||||
"Folders": "Partekatzeak",
|
||||
"GUI": "Interfaze grafikoa",
|
||||
"GUI Authentication Password": "Interfaze grafiko pasahitza",
|
||||
"GUI Authentication User": "Interfaze grafiko erabiltzaile baimendua",
|
||||
"GUI Listen Address": "Interfaze grafiko helbidea",
|
||||
"GUI Listen Addresses": "Interfaze grafiko helbideak",
|
||||
"GUI Theme": "Interfaze grafiko tema",
|
||||
"Generate": "Sortu",
|
||||
"Global Changes": "Global Changes",
|
||||
"Global Discovery": "Aurkikuntza oso",
|
||||
"Global Discovery Servers": "Aurkikuntza oso zerbitzarik",
|
||||
"Global State": "Oso egoera",
|
||||
"Help": "Aiuta",
|
||||
"Home page": "Errezibitze",
|
||||
"Ignore": "Baztertu",
|
||||
"Ignore Patterns": "Bazterketak arauk",
|
||||
"Ignore Permissions": "Baztertu baimenek",
|
||||
"Incoming Rate Limit (KiB/s)": "Deskargatze emari gehieneko (KiB/s)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "Langer !!!!",
|
||||
"Introduced By": "Introduced By",
|
||||
"Introducer": "Abiarazle",
|
||||
"Global Changes": "Azken aldaketak",
|
||||
"Global Discovery": "Aurkikuntza orokorra",
|
||||
"Global Discovery Servers": "Orokor aurkikuntza zerbitzaria",
|
||||
"Global State": "Egoera orokorra",
|
||||
"Help": "Laguntza",
|
||||
"Home page": "Harrera",
|
||||
"Ignore": "Kontuan ez hartu",
|
||||
"Ignore Patterns": "Baztertzeak",
|
||||
"Ignore Permissions": "Baimenak kontuan ez hartu",
|
||||
"Incoming Rate Limit (KiB/s)": "Deskargatze emari muga (KiB/s)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "Behar ez den konfigurazio batek zuen partekatzetan makurrak egin ditzake eta Syncthing ezin erabilia utzi",
|
||||
"Introduced By": "...k sartua",
|
||||
"Introducer": "Tresna sarrarazlea",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "Emana izan den baldintza alderantziz eman (i.e ez baztertu)",
|
||||
"Keep Versions": "Gorde bertsioak",
|
||||
"Largest First": "Handienak lehenik",
|
||||
"Last File Received": " Fitxategi azken eskuratu",
|
||||
"Last Scan": "Azterketa azken",
|
||||
"Last File Received": " Azkenik eskuratu fitxategia",
|
||||
"Last Scan": "Azken azterketa",
|
||||
"Last seen": "Azken agerraldia",
|
||||
"Later": "Berantago",
|
||||
"Latest Change": "Asken aldaketa",
|
||||
"Latest Change": "Azken aldaketa",
|
||||
"Learn more": "Gehiago jakiteko",
|
||||
"Listeners": "Entzungailuak",
|
||||
"Local Discovery": "Lekuko aurkikuntza",
|
||||
"Local State": "Lekuko egoera",
|
||||
"Local State (Total)": "Lekuko egoera (Oso)",
|
||||
"Major Upgrade": "Nagusi eguneratu",
|
||||
"Master": "Nagusi",
|
||||
"Maximum Age": "Goren adin",
|
||||
"Local State (Total)": "Lekuko egoera (Osoa)",
|
||||
"Major Upgrade": "Eguneratze nagusia",
|
||||
"Master": "Nagusia",
|
||||
"Maximum Age": "Adin gehiena",
|
||||
"Metadata Only": "Metadatuak bakarrik",
|
||||
"Minimum Free Disk Space": "Diskoan leku libre gutxieneko",
|
||||
"Move to top of queue": "Igurikatze zerrenda bururat lekuz alda",
|
||||
"Multi level wildcard (matches multiple directory levels)": "Hein askorentzako jokerra (errepertorio eta azpi errepertorioeri dagokiona)",
|
||||
"Minimum Free Disk Space": "Diskoan gutieneko leku libroa ",
|
||||
"Move to top of queue": "Lerro bururat lekuz alda",
|
||||
"Multi level wildcard (matches multiple directory levels)": "Hein anitzerako jokerra (errepertorio eta azpi errepertorioeri dagokiona)",
|
||||
"Never": "Sekulan",
|
||||
"New Device": "Berria makina",
|
||||
"New Folder": "Berri partekatze",
|
||||
"Newest First": "Gehien gertatu berri lehen",
|
||||
"New Device": "Tresna berria",
|
||||
"New Folder": "Partekatze berria",
|
||||
"Newest First": "Berrienak lehenik",
|
||||
"No": "Ez",
|
||||
"No File Versioning": "Ez babestu",
|
||||
"Normal": "Normal",
|
||||
"No File Versioning": "Fitxategi bersioen kontrolik ez",
|
||||
"No upgrades": "Eguneratzerik ez",
|
||||
"Normal": "Normala",
|
||||
"Notice": "Jakinaraztea",
|
||||
"OK": "Ados",
|
||||
"Off": "Desgaitu",
|
||||
"Oldest First": "Gehien zahar lehen",
|
||||
"Optional descriptive label for the folder. Can be different on each device.": "Partikatzearen izen hautuzkoa eta atsegina, zure gisa. Tresna bakotxean desberdina izaiten ahal da.",
|
||||
"Options": "Hautuk",
|
||||
"Oldest First": "Zaharrenak lehenik",
|
||||
"Optional descriptive label for the folder. Can be different on each device.": "Partekatzearen izen hautuzkoa eta atsegina, zure gisa. Tresna bakotxean desberdina izaiten ahal da.",
|
||||
"Options": "Hautuzkoak",
|
||||
"Out of Sync": "Ez sinkronizatua",
|
||||
"Out of Sync Items": "Ez sinkronizatu elementuak",
|
||||
"Outgoing Rate Limit (KiB/s)": "Bidaltze emari gehieneko (KiB/s)",
|
||||
"Outgoing Rate Limit (KiB/s)": "Bidaltze emari gehienekoa (KiB/s)",
|
||||
"Override Changes": "Aldaketak desegin",
|
||||
"Path": "Bidexka",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Bertako tresnaren karpetari buruzko bidea. Ez balin bada, asmatu beharko da bat. Vous pouvez entrer un chemin absolu (p.ex \"/home/moi/Sync/Exemple\") ou relatif Ă celui du programme (p.ex \"..\\Partages\\Exemple\" - utile pour installation portable). Tildea (~, edo ~+Espazioa Windows XP+Azerty-n) erabil litzateke bide motz gisa",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Kopiak kontserbatzeko bidea (hutsa utzezazu, .stversioen karpetaren bide ohituan).",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Lekuko tresnaren partekatzeari buruzko bidea. Ez balitz, asmatu beharko da bat. Programarenari, baitezpadako bide bat sartzen ahal duzu (adibidez \"/home/ni/Sync/Etsenplua\") edo bestenaz bide errelatibo bat (adibidez \"..\\Partekatzeak\\Etsenplua\" - instalazio mugikor batentzat baliagarria). Tildea (~, edo ~+Espazioa Windows XP+Azerty-n) erabil litzateke laburbide gisa",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Kopiak kontserbatzeko bidea (hutsa utz ezazu, .steversioen ohizko bidearentzat, dosier partekatuan)",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Kopiak kontserbatzeko bidea (hutsa utz ezazu, .stversioen ohizko dosierarentzat, karpeta partekatuan)",
|
||||
"Pause": "Pausa",
|
||||
"Paused": "Geldirik",
|
||||
"Pause All": "Geldi dena",
|
||||
"Paused": "Gelditua",
|
||||
"Please consult the release notes before performing a major upgrade.": "Aktualizatze garrantzitsu bat egin baino lehen, bertsioaren oharrak begira itzazu.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Konfigurazio leihoan asma itzazu erabiltzale izen bat eta sartzeko giltza bat",
|
||||
"Please wait": "Oraino pazientzia pixka bat har ezazu",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Konfigurazio leihoan asma itzazu erabiltzale izen bat eta pasahitz bat",
|
||||
"Please wait": "Pazientzia pixka bat, otoi",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefix indicating that the file can be deleted if preventing directory removal",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefix indicating that the pattern should be matched without case sensitivity",
|
||||
"Preview": "Aurrebista",
|
||||
"Preview Usage Report": "Erabiltze aurrebista",
|
||||
"Quick guide to supported patterns": "Filtro ez onartuen txostena",
|
||||
"RAM Utilization": "RAM erabiltze",
|
||||
"Random": "Aleatorio",
|
||||
"Reduced by ignore patterns": "(Mugatu baztertzek patroikez)",
|
||||
"Preview Usage Report": "Erabiltze estatistika txostenaren aurrebista",
|
||||
"Quick guide to supported patterns": "Eredu konpatibleen gidaliburuxka",
|
||||
"RAM Utilization": "RAM aren erabiltzea",
|
||||
"Random": "Aleatorioa",
|
||||
"Reduced by ignore patterns": "Baztertze eredu batzuk mugatuak",
|
||||
"Release Notes": "Bertsioen notak",
|
||||
"Remote Devices": "Besteak makinak",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Azken zuzenketak eta funtzionalitateak edukitzen dituzte aitzin-bertsioek. Bi hilabete guziz egiten diren eguneratzeen berdinak dira.",
|
||||
"Remote Devices": "Beste tresnak",
|
||||
"Remove": "Kendu",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Partikatzearen erabilzaile izena. Diren tresna guzietan berdin berdina izan behar du",
|
||||
"Rescan": "Berreskanea",
|
||||
"Rescan All": "Berreskanea guzia",
|
||||
"Rescan Interval": "Arte berreskanea",
|
||||
"Restart": "Berriz abiatu",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Partekatzearen erabilzaile izena. Dauden tresna guzietan berdin berdina izan behar du",
|
||||
"Rescan": "Berriz eskaneatu",
|
||||
"Rescan All": "Dena berriz eskaneatu",
|
||||
"Rescan Interval": "Berriz eskaneatzeko tartea",
|
||||
"Restart": "Berriz piztu",
|
||||
"Restart Needed": "Berriz piztea beharrezkoa",
|
||||
"Restarting": "Berriz piztea martxan",
|
||||
"Resume": "Berriz hasi",
|
||||
"Resume": "Berriz hastea",
|
||||
"Resume All": "Dena berriz hastea",
|
||||
"Reused": "Berriz erabilia",
|
||||
"Save": "Begiratu",
|
||||
"Scan Time Remaining": "Gelditzen den denbora azterketa",
|
||||
"Scanning": "Etengabeko azterketa",
|
||||
"Select the devices to share this folder with.": "Honekin sinkronizatua:",
|
||||
"Select the folders to share with this device.": "Tresna hunek erabiltzen dituen banaketak hauta",
|
||||
"Send & Receive": "Igorri & Artu",
|
||||
"Send Only": "Bakarrik igorri",
|
||||
"Settings": "Egokitzek",
|
||||
"Share": "Banatu",
|
||||
"Share Folder": "Banatu",
|
||||
"Share Folders With Device": "Partekatu makinakekin",
|
||||
"Share With Devices": "Partekatuekin makinak",
|
||||
"Share this folder?": "Banatze hau onartzen duzu?",
|
||||
"Shared With": "Partekatuekin",
|
||||
"Show ID": "Erakutsi ene ID",
|
||||
"Show QR": "Erakutsi QR",
|
||||
"Shown instead of Device ID in the cluster status. Will be advertised to other devices as an optional default name.": "Tresnaren ID-aren ordez erakutsia, taldearen egoeran. Beste tresneri erakutsia izanen da, izen erabilgarria bezala",
|
||||
"Save": "Grabatu",
|
||||
"Scan Time Remaining": "Gelditzen den azterketa denbora",
|
||||
"Scanning": "Azterketa martxan",
|
||||
"Select the devices to share this folder with.": " Tresnak hauta itzazu partekatze honekin sinkronizatzeko ",
|
||||
"Select the folders to share with this device.": "Tresna honek erabiltzen dituen partekatzeak hauta itzazu",
|
||||
"Send & Receive": "Igorri eta errezibitu",
|
||||
"Send Only": "Igorrri bakarrik",
|
||||
"Settings": "Konfigurazioa",
|
||||
"Share": "Partekatu",
|
||||
"Share Folder": "Partekatzea",
|
||||
"Share Folders With Device": "Tresnarekin partekatzeak",
|
||||
"Share With Devices": "Tresnekin partekatu",
|
||||
"Share this folder?": "Partekatze hau onartzen duzu?",
|
||||
"Shared With": "...ekin partekatua",
|
||||
"Show ID": "Erakutsi ene ID-a",
|
||||
"Show QR": "Erakutsi QR-a",
|
||||
"Shown instead of Device ID in the cluster status. Will be advertised to other devices as an optional default name.": "Tresnaren ID-aren ordez erakutsia, taldearen egoeran. Beste tresneri erakutsia izanen da, izen erabilgarri bat bezala",
|
||||
"Shown instead of Device ID in the cluster status. Will be updated to the name the device advertises if left empty.": "Tresnaren ID-aren ordez erakutsia, taldearen egoeran. Hutsa utzia balin bada, urrun den tresnak proposatu izenarekin aktualizatua izanen da",
|
||||
"Shutdown": "Utzi",
|
||||
"Shutdown": "Geldi",
|
||||
"Shutdown Complete": "Gelditua!",
|
||||
"Simple File Versioning": "Bertsioen segitze sinplifikatuak",
|
||||
"Simple File Versioning": "Bertsioen segitze sinplifikatua",
|
||||
"Single level wildcard (matches within a directory only)": "Hein bakar bateko jokerra (karpetaren barnean bakarrik dagokiona)",
|
||||
"Smallest First": "Tipienak lehenik",
|
||||
"Source Code": "Iturri kode",
|
||||
"Staggered File Versioning": "Bertsio eskaleratuak",
|
||||
"Start Browser": "Web nabigatzailea pitz",
|
||||
"Statistics": "Statistikak",
|
||||
"Smallest First": "Ttipienak lehenik",
|
||||
"Source Code": "Iturri kodea",
|
||||
"Stable releases and release candidates": "iraunkor eta aintzin-bertsioak",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Iraunkor bertsioak bi astez (nonbait han) gibelatuak dira. Bitartean, aintzin-bertsio gisa probatuak izanen dira.",
|
||||
"Stable releases only": "Iraunkor bertsioak bakarrik",
|
||||
"Staggered File Versioning": "Bertsio mailakatuak",
|
||||
"Start Browser": "Web nabigatzailea piztu",
|
||||
"Statistics": "Estatistikak",
|
||||
"Stopped": "Gelditua!",
|
||||
"Support": "Foroa",
|
||||
"Sync Protocol Listen Addresses": "Sinkronizatu protokoloaren entzun zuzenbideak",
|
||||
"Syncing": "Sinkronizazio joaira",
|
||||
"Syncing": "Sinkronizazioa martxan",
|
||||
"Syncthing has been shut down.": "Syncthing gelditua izan da",
|
||||
"Syncthing includes the following software or portions thereof:": "Syncthing-ek programa hauk integratzen ditu (edo programa hauetatik datozten elementuak):",
|
||||
"Syncthing is restarting.": "Syncthing berriz pizten ari",
|
||||
"Syncthing is upgrading.": "Syncthing aktualizatzen ari da",
|
||||
"Syncthing seems to be down, or there is a problem with your Internet connection. RetryingâŠ": "Iduri luke Syncthing gelditua dela, edo bestenaz arrazo bat bada interneten konekzioarekin. Berriz entsea zaitezâŠ",
|
||||
"Syncthing seems to be experiencing a problem processing your request. Please refresh the page or restart Syncthing if the problem persists.": "Iduri luke Syncthing arazo bat duela zure eskaeraren tratatzeko. Otoi, horria freska ezazu edo bestenaz Syncthing berriz pitz arazoak segitzen badu.",
|
||||
"The Syncthing admin interface is configured to allow remote access without a password.": "Syncthing administrazio interfazea pentsatua da urrundikako irisbideak sekretu hitz gabe onartzeko !!!",
|
||||
"The aggregated statistics are publicly available at the URL below.": "Estadistikak zuzen bide honetan publikoki ikusgarri dira",
|
||||
"The configuration has been saved but not activated. Syncthing must restart to activate the new configuration.": "Konfigurazioa grabatua izan da bainan ez aktibatua. Syncthing berriz piztu behar da konfigurazio berriaren berriz aktibatzeko.",
|
||||
"Syncthing seems to be experiencing a problem processing your request. Please refresh the page or restart Syncthing if the problem persists.": "Iduri luke Syncthing-ek arazo bat duela zure eskaera tratatzeko. Otoi, orrialdea freska ezazu edo bestenaz, arazoak segitzen badu, Syncthing berriz pitz ezazu .",
|
||||
"The Syncthing admin interface is configured to allow remote access without a password.": "Syncthing-en administrazio interfazea pentsatua da urrundikako helbideak pasahitzik gabe onartzeko !",
|
||||
"The aggregated statistics are publicly available at the URL below.": "Estadistikak zuzen bide honetan publikoki ikusgarriak dira",
|
||||
"The configuration has been saved but not activated. Syncthing must restart to activate the new configuration.": "Konfigurazioa grabatua izan da bainan ez aktibatua. Syncthing berriz piztu behar da konfigurazio berria berriz aktibatzeko.",
|
||||
"The device ID cannot be blank.": "Tresnaren ID-a ez da hutsa izaiten ahal.",
|
||||
"The device ID to enter here can be found in the \"Actions > Show ID\" dialog on the other device. Spaces and dashes are optional (ignored).": "Tresnaren ID-a atxemaiten ahal da \"Ekintzak > Tresna urrunduaren \"ID-a erakuts\" menuan. Espazio eta gioiak ez dira beharrezkoak.",
|
||||
"The encrypted usage report is sent daily. It is used to track common platforms, folder sizes and app versions. If the reported data set is changed you will be prompted with this dialog again.": "Erabileraren zifratu txostena egun guziz igorria da. Erabili diren plataformak, banaketeen neurriak eta aplikazioaren bertsioen zerendatzeko balio du.",
|
||||
"The entered device ID does not look valid. It should be a 52 or 56 character string consisting of letters and numbers, with spaces and dashes being optional.": "Sartu den tresnaren ID-ak iduri du ez duela balio. 52 edo 56-ko ezaugarriko kadena baten itxura behar luke, hizkiak, zifrak eta baita ere tarte edo gioiez egina",
|
||||
"The first command line parameter is the folder path and the second parameter is the relative path in the folder.": "Agingailu lerroaren lehen parametroa banatua den karpetaren bidea da, eta bigarrena karpetan den errelatibo bidea",
|
||||
"The folder ID cannot be blank.": "banatzearen ID-a ez da hutsa izaiten ahal",
|
||||
"The folder ID must be unique.": "Banatzearen ID-ak bakarra izan behar du",
|
||||
"The folder path cannot be blank.": "Karpetari buruzko bidea ez da hutsa izaiten ahal",
|
||||
"The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.": "Hunako tarteak erabiliak dira: oren bateko denboraldian bertsio bat kontserbatua da 30 segundu guziz. Egun batekoan,bertsio bat egunero. Handik harat, adinaren mugetan egonez, bertsio bat astero.",
|
||||
"The device ID to enter here can be found in the \"Actions > Show ID\" dialog on the other device. Spaces and dashes are optional (ignored).": "Sartu behar den tresnaren ID-a atxemaiten ahal da menuan \"Ekintzak > ID-a erakuts\" (tresna urrunduarena). Espazio eta gioiak ez dira beharrezkoak.",
|
||||
"The encrypted usage report is sent daily. It is used to track common platforms, folder sizes and app versions. If the reported data set is changed you will be prompted with this dialog again.": "Erabileraren zifratu txostena egun guziz igorria da. Erabili diren plataformak, partekatzeen neurriak eta aplikazioaren bertsioen zerendatzeko balio du. Datu orokorrak aldatzen balin badira, mezu honen bidez ontzat emaitea eskatua izanen zaizu.\nErabiltzearen zifratu txostena egun guziz igorria da. Balio du erabiliak izan diren plataformak, partekatzeen izaria eta aplikazioaren bertsioak zerrendatzeko. Datu orokorrek aldatuak izan behar balute, mezu honen bidez ontzat emaitea eskatua izanen zaizu. Zure erabakia aldatzen ahal duzu Ekintzak/Konfigurazioa-ren bidez, baita igortzeen maiztasuna Ekintzak/ aitzinatua/Opzioak -en bidez.",
|
||||
"The entered device ID does not look valid. It should be a 52 or 56 character string consisting of letters and numbers, with spaces and dashes being optional.": "Sartu den tresnaren ID-ak iduri du ez duela balio. 52 edo 56-ko ezaugarriko kadena baten itxura behar luke, hizkiak, zifrak eta baita ere tarte edo gioiez egina.",
|
||||
"The first command line parameter is the folder path and the second parameter is the relative path in the folder.": "Agingailu lerroaren lehen parametroa partekatzearen bidea da, eta bigarrena partekatzean den bide errelatiboa.",
|
||||
"The folder ID cannot be blank.": "Partekatzearen ID-a ez da hutsa izaiten ahal",
|
||||
"The folder ID must be unique.": "Partekatzearen ID-a bakarra izan behar da",
|
||||
"The folder path cannot be blank.": "Partekatzeari buruzko bidea ez da hutsa izaiten ahal",
|
||||
"The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.": "Hunako tarteak erabiliak dira: lehen orduan bertsio bat kontserbatua da 30 segundu guziz. Lehen egunean, bertsio bat ordu bakoitz, lehen 30 egunetan bertsio bat egunero. Handik harat, adinaren mugetan egonez, bertsio bat astero.",
|
||||
"The following items could not be synchronized.": "Ondoko fitxero hauk ez dira sinkronizatuak ahal izan",
|
||||
"The maximum age must be a number and cannot be blank.": "Gehieneko adinak zenbaki bat behar du izan eta ez da hutsa izaiten ahal.",
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "Bertsio baten kontserbatzeko epe haundiena (egunez behar du izan. Jar ezazu zerotan bertsioak betirako atxikitzeko)",
|
||||
"The minimum free disk space percentage must be a non-negative number between 0 and 100 (inclusive).": "Diskoaren ehuneko espazioa hutsak zenbaki positibo bat behar du izan, 0 eta 100-en artekoa (100 barne)",
|
||||
"The number of days must be a number and cannot be blank.": "Egunen kopuruak numerikoa izan behar du eta ez da hutsa izaiten ahal",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "Zikin ontziko elgar hizketen kontserbatzeko egun kopurua. Beti 0 erran nahi du.",
|
||||
"The number of old versions to keep, per file.": "Atxikitzeko diren lehenagoko bertsio kopurua,fitxero bakotxarentzat",
|
||||
"The number of versions must be a number and cannot be blank.": "Bertsio kopuruak numerikoa behar du izan eta ez da hutsa izaiten ahal",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "Zikin ontzian elgar hizketak kontserbatzeko egun kopurua. Zerok \"betirako\" erran nahi du.",
|
||||
"The number of old versions to keep, per file.": "Atxikitzeko diren lehenagoko bertsioen kopurua, fitxero bakoitzarentzat",
|
||||
"The number of versions must be a number and cannot be blank.": "Bertsioen kopuruak numerikoa behar du izan eta ez da hutsa izaiten ahal",
|
||||
"The path cannot be blank.": "Bidea ez da hutsa izaiten ahal",
|
||||
"The rate limit must be a non-negative number (0: no limit)": "Ixuriaren neurria ez da negatiboa izaiten ahal (0 = mugarik gabekoa)",
|
||||
"The rescan interval must be a non-negative number of seconds.": "Ikerketaren tartea ez da segundu kopuru negatiboa izaiten ahal",
|
||||
"They are retried automatically and will be synced when the error is resolved.": "Akatsa zuzendua izanen delarik, automatikoki berriz entseatuak et sinkronizatuak izanen dira",
|
||||
"This Device": "Makina hau",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Hunek errexki irakurtzen eta aldatzen uzten ahal du zure ordenagailuko edozein fitxero, nahiz eta sartu denak ez haizu!",
|
||||
"The rate limit must be a non-negative number (0: no limit)": "Ixuriaren emaria ez da negatiboa izaiten ahal (0 = mugarik gabekoa)",
|
||||
"The rescan interval must be a non-negative number of seconds.": "Ikerketaren tartea ez da segundo kopuru negatiboa izaiten ahal",
|
||||
"They are retried automatically and will be synced when the error is resolved.": "Errorea zuzendua izanen delarik, automatikoki berriz entseatuak et sinkronizatuak izanen dira",
|
||||
"This Device": "Tresna hau",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Hunek errexki irakurtzen eta aldatzen uzten ahal du zure ordenagailuko edozein fitxero, nahiz eta sartu denak ez haizu izan!",
|
||||
"This is a major version upgrade.": "Aktualizatze garrantzitsu bat da",
|
||||
"Time": "Denbora",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "Behar den espazio kontrolatzen du egokitze honek, zure erabiltzale partekatzea geritzatzen duen diskoan (hori da, indexazio datu-basean)",
|
||||
"Time": "Ordua",
|
||||
"Trash Can File Versioning": "Zakarrontzia",
|
||||
"Type": "Mota",
|
||||
"Unknown": "Ez ezaguna",
|
||||
"Unshared": "Partekatu ez den",
|
||||
"Unknown": "Ezezaguna",
|
||||
"Unshared": "Partekatua ez dena",
|
||||
"Unused": "Ez baliatua",
|
||||
"Up to Date": "Egun",
|
||||
"Updated": "Berritu",
|
||||
"Up to Date": "Eguneratua",
|
||||
"Updated": "Berritua",
|
||||
"Upgrade": "Aktualizatu",
|
||||
"Upgrade To {%version%}": "Egunetaratzea {{version}}-i buruz",
|
||||
"Upgrade To {%version%}": "Egunetaratu {{version}}-ari buruz",
|
||||
"Upgrading": "Syncthing-en egunetaratzea",
|
||||
"Upload Rate": "Bidaltze emari",
|
||||
"Uptime": "Denbora ibiltze",
|
||||
"Use HTTPS for GUI": "HTTPS-a erabil GUI-arentzat",
|
||||
"Version": "Bertsio",
|
||||
"Versions Path": "Bertsioen egon tokia",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Bertsioak automatikoki ezeztatuak izanen dira, kontserbatzeko iraupen denbora pasatua badute edo bitartean onartua den kopurua gainditua balin bada",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Warning, this path is a parent directory of an existing folder \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a parent directory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Kasu emazu, \"{{otherFolder}}\" banaketa azpi-karpetaren bidea da. Arazoak emaiten ahal ditu, fitxero batzuen ezeztatze edo duplikatzeak batez ere.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Kasu emazu, \"{{otherFolderLabel}}\" ({{otherFolder}}) banaketa azpi-karpetaren bidea da. Arazoak emaiten ahal ditu, fitxero batzuen ezeztatze edo duplikatzeak batez ere.",
|
||||
"Upload Rate": "Igortze emaria",
|
||||
"Uptime": "Erabiltze denbora",
|
||||
"Usage reporting is always enabled for candidate releases.": "Erabiltze estatiskitak aintzin-bertsioetan beti igorriak dira",
|
||||
"Use HTTPS for GUI": "HTTPS-a erabil ezazu GUI-arentzat",
|
||||
"Version": "Bertsioa",
|
||||
"Versions Path": "Bertsioen kokalekua",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Bertsioak automatikoki ezeztatuak izanen dira, kontserbatzeko iraupen denbora pasatua badute edo bitartean onartua den kopurua (fitxategi bakoitzean) gainditua balin bada",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Kasu, bide hau dagoen partekatze baten karpeta ahaidea da (adibidez, \"{{otherFolder}}\"). Segitzen baduzu, azpi-karpeta berri bat sortu behar duzu, bestenaz arazoak sortzen ahal dira, fitxategi kentzeak edo doblatzeak.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Kasu, bide hau dagoen partekatze baten karpeta ahaidea da (adibidez, \"{{otherFolderLabel}}\" ({{otherFolder}}). ",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Kasu, bide hau \"{{otherFolder}}\" partekatzearen azpi-karpeta da. Arazoak emaiten ahal ditu, fitxategi kentzeak edo doblatzeak, adibidez.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Kasu, bide hau \"{{otherFolderLabel}}\" ({{otherFolder}}) partekatzearen azpi-karpeta da. Arazoak emaiten ahal ditu, fitxategi kentzeak edo doblatzeak, adibidez.",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Tresna bat gehitzen duzularik, gogoan atxik ezazu zurea bestaldean gehitu behar dela ere",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Tresna bat gehitzen delarik, gogoan atxik ezazu bere IDa erabilia dela errepertorioak lotzeko tresnen bitartez. ID-a hautskorra da eta banatze huntan parte hartzen duten tresna guzietan berdina izanen da",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Partekatze bat gehitzen delarik, gogoan atxik ezazu bere IDa erabilia dela errepertorioak lotzeko tresnen bitartez. ID-a hautskorra da eta partekatze hontan parte hartzen duten tresna guzietan berdina izan behar du.",
|
||||
"Yes": "Bai",
|
||||
"You can also select one of these nearby devices:": "You can also select one of these nearby devices:",
|
||||
"You can change your choice at any time in the Settings dialog.": "Zure hautua aldatzen ahal duzu \"Konfigurazio\" leihatilan",
|
||||
"You can read more about the two release channels at the link below.": "Bi banaketa kanal hauen bidez gehiago jakin dezakezu, lokarri honen bidez ",
|
||||
"You must keep at least one version.": "Bertsio bat bederen behar duzu atxiki",
|
||||
"days": "Egunak",
|
||||
"directories": "karpetak",
|
||||
"files": "fitxategik",
|
||||
"directories": "Karpetak",
|
||||
"files": "Fitxategiak",
|
||||
"full documentation": "Dokumentazio osoa",
|
||||
"items": "Elementuak",
|
||||
"{%device%} wants to share folder \"{%folder%}\".": "{{device}} banaketa \"{{folder}}\" gomitatzen zaitu.",
|
||||
"{%device%} wants to share folder \"{%folderlabel%}\" ({%folder%}).": "{{device}} \"{{folderlabel}}\" ({{folder}}) gomitatzen zaitu."
|
||||
"{%device%} wants to share folder \"{%folder%}\".": "{{device}}k \"{{folder}}\" partekatze hontan gomitatzen zaitu.",
|
||||
"{%device%} wants to share folder \"{%folderlabel%}\" ({%folder%}).": "{{device}}k \"{{folderlabel}}\" ({{folder}}) hontan gomitatzen zaitu."
|
||||
}
|
||||
@@ -10,6 +10,7 @@
|
||||
"Add Device": "LisÀÀ laite",
|
||||
"Add Folder": "LisÀÀ kansio",
|
||||
"Add Remote Device": "LisÀÀ laite",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Add devices from the introducer to our device list, for mutually shared folders.",
|
||||
"Add new folder?": "LisÀÀ uusi kansio?",
|
||||
"Address": "Osoite",
|
||||
"Addresses": "Osoitteet",
|
||||
@@ -18,16 +19,20 @@
|
||||
"Advanced settings": "Kehittyneet asetukset",
|
||||
"All Data": "Kaikki data",
|
||||
"Allow Anonymous Usage Reporting?": "Salli anonyymi kÀyttöraportointi?",
|
||||
"Allowed Networks": "Allowed Networks",
|
||||
"Alphabetic": "Aakkosellinen",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "An external command handles the versioning. It has to remove the file from the shared folder.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Ulkoinen komento hallitsee versionnin. Sen tÀytyy poistaa tiedosto synkronoidusta kansiosta.",
|
||||
"Anonymous Usage Reporting": "Anonyymi kÀyttöraportointi",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Kaikki esittelijÀksi mÀÀritetyn laitteen tuntemat laitteet lisÀtÀÀn myös tÀhÀn laitteeseen.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Automatic upgrade now offers the choice between stable releases and release candidates.",
|
||||
"Automatic upgrades": "Automaattiset pÀivitykset",
|
||||
"Be careful!": "Ole varovainen!",
|
||||
"Bugs": "Bugit",
|
||||
"CPU Utilization": "CPU:n kÀyttö",
|
||||
"Changelog": "Muutoshistoria",
|
||||
"Clean out after": "Puhdista seuraavan ajan kuluttua",
|
||||
"Click to see discovery failures": "Click to see discovery failures",
|
||||
"Close": "Sulje",
|
||||
"Command": "Komento",
|
||||
"Comment, when used at the start of a line": "Kommentti, kÀytettÀessÀ rivin alussa",
|
||||
@@ -39,6 +44,7 @@
|
||||
"Copied from original": "Kopioitu alkuperÀisestÀ lÀhteestÀ",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 seuraavat avustajat",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 the following Contributors:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Creating ignore patterns, overwriting an existing file at {{path}}.",
|
||||
"Danger!": "Vaara!",
|
||||
"Deleted": "Poistettu",
|
||||
"Device": "Laite",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "Yhteys katkaistu",
|
||||
"Discovered": "Löydetty",
|
||||
"Discovery": "EtsintÀ",
|
||||
"Discovery Failures": "Discovery Failures",
|
||||
"Documentation": "Dokumentaatio",
|
||||
"Download Rate": "LatausmÀÀrÀ",
|
||||
"Downloaded": "Ladattu",
|
||||
@@ -58,17 +65,23 @@
|
||||
"Edit Device": "Muokkaa laitetta",
|
||||
"Edit Folder": "Muokkaa kansiota",
|
||||
"Editing": "Muokkaus",
|
||||
"Editing {%path%}.": "Editing {{path}}.",
|
||||
"Enable NAT traversal": "Aktivoi osoitteenmuunnoksen kierto",
|
||||
"Enable Relaying": "Aktivoi yhteyden vÀlitys",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Enter a non-privileged port number (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "SyötÀ osoitteet pilkuilla erotettuina (\"tcp://ip:portti, tcp://nimi:portti\") tai \"dynamic\" kÀyttÀÀksesi osoitteen automaattista selvitystÀ.",
|
||||
"Enter ignore patterns, one per line.": "SyötÀ ohituslausekkeet, yksi riviÀ kohden.",
|
||||
"Error": "Virhe",
|
||||
"External File Versioning": "Ulkoinen tiedostoversionti",
|
||||
"Failed Items": "EpÀonnistuneet kohteet",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.",
|
||||
"File Pull Order": "Tiedostojen noutojÀrjestys",
|
||||
"File Versioning": "Tiedostoversiointi",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Tiedostojen oikeusbitit jÀtetÀÀn huomiotta etsittÀessÀ muutoksia. KÀytÀ FAT-tiedostojÀrjestelmissÀ.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Files are moved to .stversions directory when replaced or deleted by Syncthing.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Kun Syncthing poistaa tai korvaa tiedostoja, ne siirretÀÀn .stversions-hakemistoon.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Tiedostot siirretÀÀn pÀivÀmÀÀrÀllÀ merkityiksi versioiksi .stversions-kansioon, kun Syncthing korvaa tai poistaa ne.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Tiedostot on suojattu muilla laitteilla tehdyiltÀ muutoksilta, mutta tÀllÀ laitteella tehdyt muutokset lÀhetetÀÀn muuhun ryhmÀÀn.",
|
||||
"Folder": "Kansio",
|
||||
@@ -80,7 +93,9 @@
|
||||
"GUI": "GUI",
|
||||
"GUI Authentication Password": "GUI:n salasana",
|
||||
"GUI Authentication User": "GUI:n kÀyttÀjÀtunnus",
|
||||
"GUI Listen Address": "GUI Listen Address",
|
||||
"GUI Listen Addresses": "GUI:n kuunteluosoitteet",
|
||||
"GUI Theme": "GUI Theme",
|
||||
"Generate": "Generoi",
|
||||
"Global Changes": "Global Changes",
|
||||
"Global Discovery": "Globaali etsintÀ",
|
||||
@@ -103,6 +118,7 @@
|
||||
"Last seen": "NĂ€hty viimeksi",
|
||||
"Later": "Myöhemmin",
|
||||
"Latest Change": "Viimeisin muutos",
|
||||
"Learn more": "Learn more",
|
||||
"Listeners": "Kuuntelijat",
|
||||
"Local Discovery": "Paikallinen etsintÀ",
|
||||
"Local State": "Paikallinen tila",
|
||||
@@ -120,6 +136,7 @@
|
||||
"Newest First": "Uusin ensin",
|
||||
"No": "Ei",
|
||||
"No File Versioning": "Ei tiedostoversiointia",
|
||||
"No upgrades": "Ei pÀivityksiÀ",
|
||||
"Normal": "Normaali kansio",
|
||||
"Notice": "Huomautus",
|
||||
"OK": "OK",
|
||||
@@ -133,12 +150,16 @@
|
||||
"Override Changes": "Ohita muutokset",
|
||||
"Path": "Path",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Polku kansioon paikallisella tietokoneella. Kansio luodaan, ellei sitÀ ole olemassa. Tilde-merkkiÀ (~) voidaan kÀyttÀÀ oikotienÀ polulle",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Polku jonne versiot tullaan tallentamaan (jÀtÀ tyhjÀksi oletusvalintaa .stversions varten).",
|
||||
"Pause": "KeskeytÀ",
|
||||
"Pause All": "Pause All",
|
||||
"Paused": "Keskeytetty",
|
||||
"Please consult the release notes before performing a major upgrade.": "Tutustu julkaisutietoihin ennen kuin teet pÀÀversion pÀivityksen.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Ole hyvÀ ja aseta kÀyttÀjÀtunnus ja salasana kÀyttöliittymÀÀ varten asetusvalikossa.",
|
||||
"Please wait": "Ole hyvÀ ja odota",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefix indicating that the file can be deleted if preventing directory removal",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefix indicating that the pattern should be matched without case sensitivity",
|
||||
"Preview": "Esikatselu",
|
||||
"Preview Usage Report": "Esikatsele kÀyttöraportti",
|
||||
"Quick guide to supported patterns": "Tuettujen lausekkeiden pikaohje",
|
||||
@@ -146,6 +167,7 @@
|
||||
"Random": "Satunnainen",
|
||||
"Reduced by ignore patterns": "VĂ€hennetty ohituslausekkeiden perusteella",
|
||||
"Release Notes": "Julkaisutiedot",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.",
|
||||
"Remote Devices": "Laitteet",
|
||||
"Remove": "Poista",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Pakollinen tunniste kansiolle, jonka tÀytyy olla sama kaikilla laitteilla.",
|
||||
@@ -156,6 +178,7 @@
|
||||
"Restart Needed": "UudelleenkÀynnistys tarvitaan",
|
||||
"Restarting": "KÀynnistetÀÀn uudelleen",
|
||||
"Resume": "Jatka",
|
||||
"Resume All": "Resume All",
|
||||
"Reused": "UudelleenkÀytetty",
|
||||
"Save": "Tallenna",
|
||||
"Scan Time Remaining": "Skannausaikaa jÀljellÀ",
|
||||
@@ -181,6 +204,9 @@
|
||||
"Single level wildcard (matches within a directory only)": "Yksitasoinen jokerimerkki (vaikuttaa vain kyseisen kansion sisÀllÀ)",
|
||||
"Smallest First": "Pienin ensin",
|
||||
"Source Code": "LĂ€hdekoodi",
|
||||
"Stable releases and release candidates": "Vakaat julkaisut ja julkaisuehdokkaat",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.",
|
||||
"Stable releases only": "Vain vakaat julkaisut",
|
||||
"Staggered File Versioning": "Porrastettu tiedostoversiointi",
|
||||
"Start Browser": "KÀynnistÀ selain",
|
||||
"Statistics": "Tilastot",
|
||||
@@ -221,6 +247,7 @@
|
||||
"This Device": "TÀmÀ laite",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "TÀmÀ voi helposti sallia vihamielisille tahoille pÀÀsyn lukea ja muokata kaikkia tiedostojasi",
|
||||
"This is a major version upgrade.": "TÀmÀ on pÀÀversion pÀivitys.",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "This setting controls the free space required on the home (i.e., index database) disk.",
|
||||
"Time": "Aika",
|
||||
"Trash Can File Versioning": "Roskakorin tiedostoversiointi",
|
||||
"Type": "Tyyppi",
|
||||
@@ -234,6 +261,7 @@
|
||||
"Upgrading": "PÀivitetÀÀn",
|
||||
"Upload Rate": "LÀhetysmÀÀrÀ",
|
||||
"Uptime": "PÀÀllÀoloaika",
|
||||
"Usage reporting is always enabled for candidate releases.": "Usage reporting is always enabled for candidate releases.",
|
||||
"Use HTTPS for GUI": "KÀytÀ HTTPS:ÀÀ GUI:n kanssa",
|
||||
"Version": "Versio",
|
||||
"Versions Path": "Versioiden polku",
|
||||
@@ -245,6 +273,9 @@
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "LisÀttÀessÀ laitetta, muista ettÀ tÀmÀ laite tulee myös lisÀtÀ toiseen laitteeseen.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "LisÀttÀessÀ uutta kansiota, muista ettÀ kansion ID:tÀ kÀytetÀÀn solmimaan kansiot yhteen laitteiden vÀlillÀ. Ne ovat riippuvaisia kirjankoosta ja niiden tulee tÀsmÀtÀ kaikkien laitteiden vÀlillÀ.",
|
||||
"Yes": "KyllÀ",
|
||||
"You can also select one of these nearby devices:": "You can also select one of these nearby devices:",
|
||||
"You can change your choice at any time in the Settings dialog.": "You can change your choice at any time in the Settings dialog.",
|
||||
"You can read more about the two release channels at the link below.": "You can read more about the two release channels at the link below.",
|
||||
"You must keep at least one version.": "Sinun tulee sÀilyttÀÀ ainakin yksi versio.",
|
||||
"days": "pÀivÀÀ",
|
||||
"directories": "kansiot",
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"Add Device": "Ajouter l'appareil",
|
||||
"Add Folder": "Ajouter un partage",
|
||||
"Add Remote Device": "Ajouter un appareil",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Lui permettre d'ajouter et enlever des membres à toutes mes listes de membres de partages dont il fait partie (ceci permet de créer toutes les liaisons point à point possibles en complétant mes listes par les siennes, meilleur débit de réception par cumul des débits d'envoi, indépendance vis à vis de l'introducteur, etc).",
|
||||
"Add new folder?": "Ajouter ce partage ?",
|
||||
"Address": "Adresse",
|
||||
"Addresses": "Adresses",
|
||||
@@ -18,16 +19,20 @@
|
||||
"Advanced settings": "ParamÚtres avancés",
|
||||
"All Data": "Toutes les données",
|
||||
"Allow Anonymous Usage Reporting?": "Autoriser l'envoi de statistiques d'utilisation anonymisées ?",
|
||||
"Allowed Networks": "Réseaux autorisés",
|
||||
"Alphabetic": "Alphabétique",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "Une commande externe gÚre les versions de fichiers. Il lui incombe de supprimer les fichiers dans le répertoire synchronisé.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Une commande externe gÚre les versions de fichiers. Il lui incombe de supprimer les fichiers dans le répertoire synchronisé.",
|
||||
"Anonymous Usage Reporting": "Rapport anonyme de statistiques d'utilisation",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Tout appareil ajouté sur un appareil introducteur sera aussi ajouté sur votre propre appareil.",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Lui permettre d'ajouter et enlever des membres à toutes mes listes de membres de partages dont il fait partie (ceci permet de créer toutes les liaisons point à point possibles en complétant mes listes par les siennes, meilleur débit de réception par cumul des débits d'envoi, indépendance vis à vis de l'introducteur, etc).",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Le systÚme de mise à jour automatique propose le choix entre versions stables et versions préliminaires.",
|
||||
"Automatic upgrades": "Mises Ă jour automatiques",
|
||||
"Be careful!": "Faites attention !",
|
||||
"Bugs": "Bugs",
|
||||
"CPU Utilization": "Utilisation du CPU",
|
||||
"Changelog": "Historique des changements",
|
||||
"Changelog": "Historique des versions",
|
||||
"Clean out after": "Purger aprĂšs :",
|
||||
"Click to see discovery failures": "Voir les échecs de découverte",
|
||||
"Close": "Fermer",
|
||||
"Command": "Commande",
|
||||
"Comment, when used at the start of a line": "Commentaire lorsque utilisé en début de ligne",
|
||||
@@ -39,6 +44,7 @@
|
||||
"Copied from original": "Copié depuis l'original",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016, les contributeurs suivants:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017, les contributeurs suivants :",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Création de masques d'exclusion, remplacement du fichier existant : {{path}}.",
|
||||
"Danger!": "Attention !",
|
||||
"Deleted": "Supprimé",
|
||||
"Device": "Appareil",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "Déconnecté",
|
||||
"Discovered": "Découvert",
|
||||
"Discovery": "Découverte",
|
||||
"Discovery Failures": "Ăchecs de dĂ©couverte",
|
||||
"Documentation": "Documentation",
|
||||
"Download Rate": "Débit de réception",
|
||||
"Downloaded": "Reçu",
|
||||
@@ -58,18 +65,24 @@
|
||||
"Edit Device": "Modifier l'appareil",
|
||||
"Edit Folder": "Modifier le partage",
|
||||
"Editing": "Modifications",
|
||||
"Editing {%path%}.": "Modification de {{path}}.",
|
||||
"Enable NAT traversal": "Activer transfert d'adresses NAT",
|
||||
"Enable Relaying": "Activer le relayage",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Nombre positif (p.ex, \"2.35\") et unité. Pourcentage de l'espace disque total.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Enter a non-privileged port number (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Entrer les adresses (\"tcp://ip:port\" ou \"tcp://hÎte:port\") séparées par une virgule, ou \"dynamic\" afin d'activer la recherche automatique de l'adresse.",
|
||||
"Enter ignore patterns, one per line.": "Entrer les masques d'exclusion, un par ligne.",
|
||||
"Error": "Erreur",
|
||||
"External File Versioning": "Gestion externe des versions de fichiers",
|
||||
"Failed Items": "ĂlĂ©ments en Ă©chec",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "La connexion aux serveurs en IPv6 va échouer s'il n'y a pas de connectivité IPv6.",
|
||||
"File Pull Order": "Ordre de récupération de fichier",
|
||||
"File Versioning": "Méthode de préservation des fichiers",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Les bits de permission de fichier sont ignorés lors de la recherche de changements. Utilisé sur les systÚmes de fichiers FAT.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Les fichiers sont déplacés dans le sous-répertoire .stversions quand ils sont remplacés ou supprimés par Syncthing. Leurs chemins d'accÚs relatifs y sont recréés si besoin.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Les fichiers sont déplacés dans le sous-répertoire .stversions quand ils sont remplacés ou supprimés par Syncthing. Leurs chemins d'accÚs relatifs y sont recréés si besoin.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Les fichiers sont déplacés, avec horodatage, dans le répertoire .stversions quand ils sont remplacés ou supprimés par Syncthing. Leurs chemins d'accÚs relatifs y sont recréés si besoin.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Quand ils sont remplacés ou supprimés par Syncthing, les fichiers sont déplacés et horodatés vers le sous-répertoire .stversions dans une arborescence relative identique à celle de l'original.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Quand ils sont remplacés ou supprimés par Syncthing, les fichiers sont déplacés et horodatés vers le sous-répertoire .stversions dans une arborescence relative identique à celle de l'original.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Les fichiers sont protégés des changements réalisés sur les autres appareils, mais les changements réalisés sur celui-ci seront transférés aux autres.",
|
||||
"Folder": "Partage",
|
||||
"Folder ID": "ID du partage",
|
||||
@@ -80,7 +93,9 @@
|
||||
"GUI": "Interface graphique",
|
||||
"GUI Authentication Password": "Mot de passe d'authentification GUI",
|
||||
"GUI Authentication User": "Utilisateur autorisé GUI",
|
||||
"GUI Listen Address": "GUI Listen Address",
|
||||
"GUI Listen Addresses": "Adresses de l'interface (GUI)",
|
||||
"GUI Theme": "ThĂšme graphique",
|
||||
"Generate": "Générer",
|
||||
"Global Changes": "Derniers changements",
|
||||
"Global Discovery": "Découverte globale",
|
||||
@@ -103,6 +118,7 @@
|
||||
"Last seen": "DerniĂšre apparition",
|
||||
"Later": "Plus tard",
|
||||
"Latest Change": "Dernier changement",
|
||||
"Learn more": "En savoir plus",
|
||||
"Listeners": "SystÚmes à l'écoute",
|
||||
"Local Discovery": "Découverte locale",
|
||||
"Local State": "Ătat local",
|
||||
@@ -120,6 +136,7 @@
|
||||
"Newest First": "Les plus récents en premier",
|
||||
"No": "Non",
|
||||
"No File Versioning": "Pas de préservation",
|
||||
"No upgrades": "Pas de mises Ă jour",
|
||||
"Normal": "Normal",
|
||||
"Notice": "Notification",
|
||||
"OK": "OK",
|
||||
@@ -132,30 +149,36 @@
|
||||
"Outgoing Rate Limit (KiB/s)": "Limite du débit d'envoi (Kio/s)",
|
||||
"Override Changes": "Ăcraser les changements",
|
||||
"Path": "Chemin",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Chemin vers le rĂ©pertoire dans l'appareil local. Il sera créé s'il n'existe pas. Vous pouvez entrer un chemin absolu (p.ex \"/home/moi/Sync/Exemple\") ou relatif Ă celui du programme (p.ex \"..\\Partages\\Exemple\" - utile pour installation portable). Le caractĂšre tilde (~, ou ~+Espace sous Windows XP+Azerty) peut ĂȘtre utilisĂ© comme raccourci vers",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Chemin oĂč les versions doivent ĂȘtre conservĂ©es (laisser vide pour le chemin par dĂ©faut de .stversions dans le rĂ©pertoire)",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Chemin vers le rĂ©pertoire Ă partager dans l'appareil local. Il sera créé s'il n'existe pas. Vous pouvez entrer un chemin absolu (p.ex \"/home/moi/Sync/Exemple\") ou relatif Ă celui du programme (p.ex \"..\\Partages\\Exemple\" - utile pour installation portable). Le caractĂšre tilde (~, ou ~+Espace sous Windows XP+Azerty) peut ĂȘtre utilisĂ© comme raccourci vers",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Chemin oĂč les versions doivent ĂȘtre conservĂ©es (laisser vide pour le chemin par dĂ©faut de .stversions dans le rĂ©pertoire partagĂ©).\nChemin relatif ou absolu (recommandĂ©), mais dans un rĂ©pertoire non synchronisĂ© (par masque ou hors du chemin du partage).\nSur la mĂȘme partition ou systĂšme de fichiers (recommandĂ©).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Chemin oĂč les versions doivent ĂȘtre conservĂ©es (laisser vide pour le chemin par dĂ©faut de .stversions dans le rĂ©pertoire partagĂ©).\nChemin relatif ou absolu (recommandĂ©), mais dans un rĂ©pertoire non synchronisĂ© (par masque ou hors du chemin du partage).\nSur la mĂȘme partition ou systĂšme de fichiers (recommandĂ©).",
|
||||
"Pause": "Pause",
|
||||
"Pause All": "Tout suspendre",
|
||||
"Paused": "En pause",
|
||||
"Please consult the release notes before performing a major upgrade.": "Veuillez consulter les notes de version avant de réaliser une mise à jour majeure.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Veuillez définir un nom d'utilisateur et un mot de passe dans les réglages.",
|
||||
"Please wait": "Merci de patienter",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefix indicating that the file can be deleted if preventing directory removal",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefix indicating that the pattern should be matched without case sensitivity",
|
||||
"Preview": "Aperçu",
|
||||
"Preview Usage Report": "Aperçu du rapport de statistiques d'utilisation",
|
||||
"Quick guide to supported patterns": "Guide rapide des masques supportés",
|
||||
"Quick guide to supported patterns": "Guide rapide des masques compatibles ci-dessous",
|
||||
"RAM Utilization": "Utilisation de la RAM",
|
||||
"Random": "Aléatoire",
|
||||
"Reduced by ignore patterns": "(Limité par des masques d'exclusion)",
|
||||
"Release Notes": "Notes de version",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Les versions préliminaires contiennent les derniÚres fonctionnalités et derniers correctifs. Elles sont identiques aux traditionnelles mises à jour bimensuelles.",
|
||||
"Remote Devices": "Autres appareils",
|
||||
"Remove": "Enlever",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Identifiant du partage. Doit ĂȘtre le mĂȘme sur tous les appareils concernĂ©s.",
|
||||
"Rescan": "Réanalyser",
|
||||
"Rescan All": "Réanalyser tout",
|
||||
"Rescan All": "Tout réanalyser",
|
||||
"Rescan Interval": "Intervalle d'analyse",
|
||||
"Restart": "Redémarrer",
|
||||
"Restart Needed": "Redémarrage nécessaire",
|
||||
"Restarting": "Redémarrage en cours",
|
||||
"Resume": "Reprise",
|
||||
"Resume All": "Tout libérer",
|
||||
"Reused": "Réutilisé",
|
||||
"Save": "Enregistrer",
|
||||
"Scan Time Remaining": "Temps d'analyse restant",
|
||||
@@ -181,6 +204,9 @@
|
||||
"Single level wildcard (matches within a directory only)": "Joker Ă un seul niveau (correspond uniquement Ă lâintĂ©rieur du rĂ©pertoire)",
|
||||
"Smallest First": "Les plus petits d'abord",
|
||||
"Source Code": "Code source",
|
||||
"Stable releases and release candidates": "Versions stables et préliminaires",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Les versions stables sont reportées d'environ deux semaines. Pendant ce temps elles sont testées en tant que versions préliminaires.",
|
||||
"Stable releases only": "Seulement les versions stables",
|
||||
"Staggered File Versioning": "Versions échelonnées",
|
||||
"Start Browser": "Lancer le navigateur web",
|
||||
"Statistics": "Statistiques",
|
||||
@@ -205,14 +231,14 @@
|
||||
"The folder ID cannot be blank.": "L'identifiant du partage ne peut ĂȘtre vide.",
|
||||
"The folder ID must be unique.": "L'ID du partage doit ĂȘtre unique.",
|
||||
"The folder path cannot be blank.": "Le chemin vers le rĂ©pertoire ne peut pas ĂȘtre vide.",
|
||||
"The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.": "Les intervalles suivant sont utilisés: jusqu'à une heure une version est conservée toutes les 30 secondes. Jusqu'à un jour une version est conservée chaque heure. Jusqu'à 30 jours une version est conservée chaque jour. Au-delà , jusqu'à la limite d'ùge, une version est conservée chaque semaine.",
|
||||
"The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.": "Les seuils de durĂ©e suivants dĂ©finissent le nombre maximum de versions pour chaque fichier : pendant la premiĂšre heure une version peut ĂȘtre conservĂ©e toutes les 30 secondes. Jusqu'Ă un jour, jusqu'Ă une version par heure - des versions de la premiĂšre heure sont alors progressivement effacĂ©es pour n'en garder qu'une par heure. Jusqu'Ă 30 jours, jusqu'Ă une version par jour - des versions horaires du premier jour sont alors progressivement effacĂ©es pour n'en garder qu'une par jour. Au-delĂ , jusqu'Ă la limite d'Ăąge, jusqu'Ă une version est conservĂ©e par semaine - des versions journaliĂšres du premier mois sont alors progressivement effacĂ©es pour n'en garder qu'une par semaine.",
|
||||
"The following items could not be synchronized.": "Les fichiers suivants n'ont pas pu ĂȘtre synchronisĂ©s.",
|
||||
"The maximum age must be a number and cannot be blank.": "L'Ăąge maximum doit ĂȘtre un nombre et ne peut ĂȘtre vide.",
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "Le temps maximum de conservation d'une version (en jours, mettre à 0 pour conserver les versions indéfiniment)",
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "Durée maximum de conservation d'une version (en jours, 0 pour conserver les versions indéfiniment)",
|
||||
"The minimum free disk space percentage must be a non-negative number between 0 and 100 (inclusive).": "Le pourcentage d'espace disque libre doit ĂȘtre un nombre positif compris entre 0 et 100 (inclus).",
|
||||
"The number of days must be a number and cannot be blank.": "Le nombre de jours doit ĂȘtre numĂ©rique et ne peut pas ĂȘtre vide.",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "Le nombre de jours de conservation des fichiers dans la poubelle. 0 signifie toujours.",
|
||||
"The number of old versions to keep, per file.": "Le nombre d'anciennes versions Ă garder, par fichier.",
|
||||
"The number of old versions to keep, per file.": "Le nombre maximum d'anciennes versions à garder indéfiniment, par fichier.",
|
||||
"The number of versions must be a number and cannot be blank.": "Le nombre de versions doit ĂȘtre numĂ©rique, et ne peut pas ĂȘtre vide.",
|
||||
"The path cannot be blank.": "Le chemin ne peut pas ĂȘtre vide.",
|
||||
"The rate limit must be a non-negative number (0: no limit)": "La limite de dĂ©bit ne doit pas ĂȘtre nĂ©gative (0 = pas de limite)",
|
||||
@@ -221,35 +247,40 @@
|
||||
"This Device": "Cet appareil",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Ceci peut aisément permettre à un intrus de lire et modifier n'importe quel fichier de votre ordinateur. ",
|
||||
"This is a major version upgrade.": "Il s'agit d'une mise Ă jour majeure.",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "Ce réglage contrÎle l'espace disque requis dans le disque qui abrite votre répertoire utilisateur (pour la base de données d'indexation).",
|
||||
"Time": "Heure",
|
||||
"Trash Can File Versioning": "Style poubelle",
|
||||
"Type": "Type",
|
||||
"Unknown": "Inconnu",
|
||||
"Unshared": "Non partagé",
|
||||
"Unused": "Non utilisé",
|
||||
"Up to Date": "Synchronisé",
|
||||
"Up to Date": "Ă jour",
|
||||
"Updated": "Mis Ă jour",
|
||||
"Upgrade": "Mettre Ă jour",
|
||||
"Upgrade To {%version%}": "Mettre Ă jour vers {{version}}",
|
||||
"Upgrading": "Mise Ă jour de Syncthing",
|
||||
"Upload Rate": "Débit d'envoi",
|
||||
"Uptime": "Durée de fonctionnement",
|
||||
"Usage reporting is always enabled for candidate releases.": "Les statistiques d'utilisation sont toujours envoyées pour les versions préliminaires.",
|
||||
"Use HTTPS for GUI": "Utiliser l'HTTPS pour le GUI",
|
||||
"Version": "Version",
|
||||
"Versions Path": "Emplacement des versions",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Les versions seront supprimées automatiquement, si elles dépassent la durée maximum de conservation, ou si leur nombre est supérieur à la valeur autorisée dans l'intervalle.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Attention, ce chemin est un répertoire parent du partage existant \"{{otherFolder}}\". Ceci peut causer des problÚmes tels que duplications ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Attention, ce chemin est un répertoire parent du partage existant \"{{otherFolderLabel}}\" ({{otherFolder}}). Ceci peut causer des problÚmes tels que duplications ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Attention, ce chemin est un sous-répertoire du partage existant \"{{otherFolder}}\". Ceci peut causer des problÚmes tels que duplications ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Attention, ce chemin est un sous-répertoire du partage existant \"{{otherFolderLabel}}\" ({{otherFolder}}). Ceci peut causer des problÚmes tels que duplications ou suppressions intempestives de fichiers.",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Les plus anciennes versions seront supprimées automatiquement quand elles dépassent la durée maximum de conservation ou si leur nombre (par fichier) est supérieur à la limite prédéfinie pour l'intervalle.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Attention, ce chemin est un répertoire parent d'au moins un partage existant (par exemple \"{{otherFolder}}\"). Si vous continuez, vous devriez créer un nouveau sous-répertoire, sinon ceci peut causer des problÚmes tels que duplications et/ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Attention, ce chemin est un répertoire parent d'au moins un partage existant (par exemple \"{{otherFolderLabel}}\" ({{otherFolder}})). Si vous continuez, vous devriez créer un nouveau sous-répertoire, sinon ceci peut causer des problÚmes tels que duplications et/ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "ATTENTION, ce chemin est un sous-répertoire du partage existant \"{{otherFolder}}\". Ceci peut causer des problÚmes tels que duplications et/ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "ATTENTION, ce chemin est un sous-répertoire du partage existant \"{{otherFolderLabel}}\" ({{otherFolder}}). Ceci peut causer des problÚmes tels que duplications et/ou suppressions intempestives de fichiers.",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Lorsque vous ajoutez un appareil, gardez Ă l'esprit que le votre doit aussi ĂȘtre ajoutĂ© de l'autre cotĂ©.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Lorsqu'un nouveau partage est ajoutĂ©, gardez Ă l'esprit que son ID est utilisĂ©e pour lier les rĂ©pertoires Ă travers les appareils. L'ID est sensible Ă la casse et sera forcĂ©ment la mĂȘme sur tous les appareils participant Ă ce partage.",
|
||||
"Yes": "Oui",
|
||||
"You can also select one of these nearby devices:": "You can also select one of these nearby devices:",
|
||||
"You can change your choice at any time in the Settings dialog.": "Vous pouvez changer votre choix dans la boĂźte de dialogue \"Configuration\".",
|
||||
"You can read more about the two release channels at the link below.": "Vous pouvez en savoir plus sur les deux canaux de distribution via le lien ci-dessous.",
|
||||
"You must keep at least one version.": "Vous devez garder au minimum une version.",
|
||||
"days": "Jours",
|
||||
"directories": "répertoires",
|
||||
"files": "fichiers",
|
||||
"full documentation": "documentation complĂšte",
|
||||
"full documentation": "Documentation complĂšte ici",
|
||||
"items": "éléments",
|
||||
"{%device%} wants to share folder \"{%folder%}\".": "{{device}} vous invite au partage \"{{folder}}\".",
|
||||
"{%device%} wants to share folder \"{%folderlabel%}\" ({%folder%}).": "{{device}} vous invite au partage \"{{folderlabel}}\" ({{folder}})."
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"A device with that ID is already added.": "L'appareil portant cette ID est déjà présent.",
|
||||
"A device with that ID is already added.": " L'appareil portant cet ID est déjà présent.",
|
||||
"A negative number of days doesn't make sense.": "Ce champ n'accepte qu'un entier positif ou nul.",
|
||||
"A new major version may not be compatible with previous versions.": "Une nouvelle version majeure peut présenter des incompatibilités avec les versions antérieures.",
|
||||
"API Key": "Clé API",
|
||||
@@ -10,6 +10,7 @@
|
||||
"Add Device": "Ajouter l'appareil",
|
||||
"Add Folder": "Ajouter un partage",
|
||||
"Add Remote Device": "Ajouter un appareil",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Lui permettre d'ajouter et enlever des membres à toutes mes listes de membres des partages dont il fait (ou fera !) partie (ceci permet de créer toutes les liaisons point à point possibles en complétant mes listes par les siennes, meilleur débit de réception par cumul des débits d'envoi, indépendance vis à vis de l'introducteur, etc).",
|
||||
"Add new folder?": "Ajouter ce partage ?",
|
||||
"Address": "Adresse",
|
||||
"Addresses": "Adresses",
|
||||
@@ -18,31 +19,36 @@
|
||||
"Advanced settings": "ParamÚtres avancés",
|
||||
"All Data": "Toutes les données",
|
||||
"Allow Anonymous Usage Reporting?": "Autoriser l'envoi de statistiques d'utilisation anonymisées ?",
|
||||
"Allowed Networks": "Réseaux autorisés",
|
||||
"Alphabetic": "Alphabétique",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "Une commande externe gÚre les versions de fichiers. Il lui incombe de supprimer les fichiers dans le répertoire synchronisé.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "Une commande externe gÚre les versions de fichiers. Il lui incombe de supprimer les fichiers dans le répertoire synchronisé.",
|
||||
"Anonymous Usage Reporting": "Rapport anonyme de statistiques d'utilisation",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Tout appareil ajouté sur un appareil introducteur sera aussi ajouté sur votre propre appareil.",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Lui permettre d'ajouter et enlever des membres à toutes mes listes de membres des partages dont il fait (ou fera !) partie (ceci permet de créer toutes les liaisons point à point possibles en complétant mes listes par les siennes, meilleur débit de réception par cumul des débits d'envoi, indépendance vis à vis de l'introducteur, etc).",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Le systÚme de mise à jour automatique propose le choix entre versions stables et versions préliminaires.",
|
||||
"Automatic upgrades": "Mises Ă jour automatiques",
|
||||
"Be careful!": "Faites attention !",
|
||||
"Bugs": "Bugs",
|
||||
"CPU Utilization": "Utilisation du CPU",
|
||||
"Changelog": "Historique des changements",
|
||||
"Clean out after": "Purger aprĂšs :",
|
||||
"Changelog": "Historique des versions",
|
||||
"Clean out after": "Conserver pendant :",
|
||||
"Click to see discovery failures": "Voir les échecs de découverte",
|
||||
"Close": "Fermer",
|
||||
"Command": "Commande",
|
||||
"Comment, when used at the start of a line": "Commentaire lorsque utilisé en début de ligne",
|
||||
"Compression": "Compression",
|
||||
"Configured": "Configuré",
|
||||
"Configured": "Configurée",
|
||||
"Connection Error": "Erreur de connexion",
|
||||
"Connection Type": "Type de connexion",
|
||||
"Copied from elsewhere": "Copié d'ailleurs",
|
||||
"Copied from original": "Copié depuis l'original",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016, les contributeurs suivants:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017, les contributeurs suivants :",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016, les contributeurs sont:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017, les contributeurs sont:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Création de masques d'exclusion, remplacement du fichier existant : {{path}}.",
|
||||
"Danger!": "Attention !",
|
||||
"Deleted": "Supprimé",
|
||||
"Device": "Appareil",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "L'appareil \"{{name}}\" ({{device}} Ă {{address}}) veut se connecter. L'acceptez-vous ?",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "\"{{name}}\" ({{device}}), appareil actuellement Ă {{address}}, demande Ă se connecter.\nAcceptez-vous de l'ajouter Ă votre liste d'appareils connus ?",
|
||||
"Device ID": "ID de l'appareil",
|
||||
"Device Identification": "Identifiant de l'appareil",
|
||||
"Device Name": "Nom de l'appareil",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "Déconnecté",
|
||||
"Discovered": "Découvert",
|
||||
"Discovery": "Découverte",
|
||||
"Discovery Failures": "Ăchecs de dĂ©couverte",
|
||||
"Documentation": "Documentation",
|
||||
"Download Rate": "Débit de réception",
|
||||
"Downloaded": "Reçu",
|
||||
@@ -58,18 +65,24 @@
|
||||
"Edit Device": "Modifier l'appareil",
|
||||
"Edit Folder": "Modifier le partage",
|
||||
"Editing": "Modifications",
|
||||
"Editing {%path%}.": "Modification de {{path}}.",
|
||||
"Enable NAT traversal": "Activer la translation d'adresses (NAT)",
|
||||
"Enable Relaying": "Relayage possible",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Nombre positif (p.ex, \"2.35\") et unité. Pourcentage de l'espace disque total.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Entrez un n° de port non-privilégié (1024 - 65535)",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Entrer les adresses (\"tcp://ip:port\" ou \"tcp://hÎte:port\") séparées par une virgule, ou \"dynamic\" afin d'activer la recherche automatique de l'adresse.",
|
||||
"Enter ignore patterns, one per line.": "Entrez les masques d'exclusion, un par ligne.",
|
||||
"Error": "Erreur",
|
||||
"External File Versioning": "Gestion externe des versions de fichiers",
|
||||
"Failed Items": "Fichiers en échec",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "La connexion aux serveurs en IPv6 va échouer s'il n'y a pas de connectivité IPv6.",
|
||||
"File Pull Order": "Ordre de récupération des fichiers",
|
||||
"File Versioning": "Méthode de préservation des fichiers",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Les bits de permission de fichier sont ignorés lors de la recherche de changements. Utilisé sur les systÚmes de fichiers FAT.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Les fichiers sont déplacés dans le sous-répertoire .stversions quand ils sont remplacés ou supprimés par Syncthing. Leurs chemins d'accÚs relatifs y sont recréés si besoin.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Les fichiers sont déplacés dans le sous-répertoire .stversions quand ils sont remplacés ou supprimés par Syncthing. Leurs chemins d'accÚs relatifs y sont recréés si besoin.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Les fichiers sont déplacés et horodatés dans le sous-répertoire .stversions quand ils sont remplacés ou supprimés par Syncthing. Leurs chemins d'accÚs relatifs y sont recréés si besoin.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Quand ils sont remplacés ou supprimés par Syncthing, les fichiers sont déplacés et horodatés vers le sous-répertoire .stversions dans une arborescence relative identique à celle de l'original.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Quand ils sont remplacés ou supprimés par Syncthing, les fichiers sont déplacés et horodatés vers le sous-répertoire .stversions dans une arborescence relative identique à celle de l'original.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Les fichiers sont protégés des changements réalisés sur les autres appareils, mais les changements réalisés sur celui-ci seront transférés aux autres.",
|
||||
"Folder": "Partage",
|
||||
"Folder ID": "ID du partage",
|
||||
@@ -80,7 +93,9 @@
|
||||
"GUI": "Interface graphique",
|
||||
"GUI Authentication Password": "Mot de passe d'authentification GUI",
|
||||
"GUI Authentication User": "Utilisateur autorisé GUI",
|
||||
"GUI Listen Address": "Adresse d'écoute du GUI",
|
||||
"GUI Listen Addresses": "Adresses de l'interface (GUI)",
|
||||
"GUI Theme": "ThĂšme graphique",
|
||||
"Generate": "Générer",
|
||||
"Global Changes": "Derniers changements",
|
||||
"Global Discovery": "Découverte globale",
|
||||
@@ -97,12 +112,13 @@
|
||||
"Introducer": "Appareil introducteur",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "Inverser la condition donnée (i.e. ne pas exclure)",
|
||||
"Keep Versions": "Combien de versions conserver",
|
||||
"Largest First": "Les plus volumineux d'abord",
|
||||
"Largest First": "Les plus volumineux en premier",
|
||||
"Last File Received": "Dernier changement",
|
||||
"Last Scan": "DerniĂšre analyse",
|
||||
"Last seen": "DerniĂšre apparition",
|
||||
"Later": "Plus tard",
|
||||
"Latest Change": "Dernier changement",
|
||||
"Learn more": "En savoir plus",
|
||||
"Listeners": "SystÚmes en écoute",
|
||||
"Local Discovery": "Découverte locale",
|
||||
"Local State": "Ătat local",
|
||||
@@ -120,6 +136,7 @@
|
||||
"Newest First": "Les plus récents en premier",
|
||||
"No": "Non",
|
||||
"No File Versioning": "Pas de préservation",
|
||||
"No upgrades": "Pas de mises Ă jour",
|
||||
"Normal": "Normal",
|
||||
"Notice": "Notification",
|
||||
"OK": "OK",
|
||||
@@ -132,42 +149,48 @@
|
||||
"Outgoing Rate Limit (KiB/s)": "Limite du débit d'envoi (Kio/s)",
|
||||
"Override Changes": "Ăcraser les changements",
|
||||
"Path": "Chemin",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Chemin vers le rĂ©pertoire dans l'appareil local. Il sera créé s'il n'existe pas. Vous pouvez entrer un chemin absolu (p.ex \"/home/moi/Sync/Exemple\") ou relatif Ă celui du programme (p.ex \"..\\Partages\\Exemple\" - utile pour installation portable). Le caractĂšre tilde (~, ou ~+Espace sous Windows XP+Azerty) peut ĂȘtre utilisĂ© comme raccourci vers",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Chemin oĂč les copies doivent ĂȘtre conservĂ©es (laisser vide pour le chemin par dĂ©faut de .stversions dans le rĂ©pertoire)",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Chemin vers le rĂ©pertoire Ă partager dans l'appareil local. Il sera créé s'il n'existe pas. Vous pouvez entrer un chemin absolu (p.ex \"/home/moi/Sync/Exemple\") ou relatif Ă celui du programme (p.ex \"..\\Partages\\Exemple\" - utile pour installation portable). Le caractĂšre tilde (~, ou ~+Espace sous Windows XP+Azerty) peut ĂȘtre utilisĂ© comme raccourci vers",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Chemin oĂč les versions doivent ĂȘtre conservĂ©es (laisser vide pour le chemin par dĂ©faut de .stversions dans le rĂ©pertoire partagĂ©).\nChemin relatif ou absolu (recommandĂ©), mais dans un rĂ©pertoire non synchronisĂ© (par masque ou hors du chemin du partage).\nSur la mĂȘme partition ou systĂšme de fichiers (recommandĂ©).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Chemin oĂč les versions doivent ĂȘtre conservĂ©es (laisser vide pour le chemin par dĂ©faut de .stversions dans le rĂ©pertoire partagĂ©).\nChemin relatif ou absolu (recommandĂ©), mais dans un rĂ©pertoire non synchronisĂ© (par masque ou hors du chemin du partage).\nSur la mĂȘme partition ou systĂšme de fichiers (recommandĂ©).",
|
||||
"Pause": "Pause",
|
||||
"Pause All": "Tout suspendre",
|
||||
"Paused": "En pause",
|
||||
"Please consult the release notes before performing a major upgrade.": "Veuillez consulter les notes de version avant de réaliser une mise à jour majeure.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Veuillez dĂ©finir un nom d'utilisateur et un mot de passe dans la fenĂȘtre de Configuration.",
|
||||
"Please wait": "Merci de patienter",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Ce préfixe autorise la suppression des fichiers pour permettre la suppression de répertoires.",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Ce préfixe, inutile sur Windows et Mac OS, indique que le masque d'exclusion est insensible à la casse.",
|
||||
"Preview": "Aperçu",
|
||||
"Preview Usage Report": "Aperçu du rapport de statistiques d'utilisation",
|
||||
"Quick guide to supported patterns": "Filtro ez onartuen txostena",
|
||||
"Quick guide to supported patterns": "Guide rapide des masques compatibles ci-dessous",
|
||||
"RAM Utilization": "Utilisation de la RAM",
|
||||
"Random": "Aléatoire",
|
||||
"Reduced by ignore patterns": "(Limité par des masques d'exclusion)",
|
||||
"Release Notes": "Notes de version",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Les versions préliminaires contiennent les derniÚres fonctionnalités et derniers correctifs. Elles sont identiques aux traditionnelles mises à jour bimensuelles.",
|
||||
"Remote Devices": "Autres appareils",
|
||||
"Remove": "Enlever",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Identifiant du partage. Doit ĂȘtre le mĂȘme sur tous les appareils concernĂ©s.",
|
||||
"Rescan": "Réanalyser",
|
||||
"Rescan All": "Réanalyser tout",
|
||||
"Rescan All": "Tout réanalyser",
|
||||
"Rescan Interval": "Intervalle d'analyse",
|
||||
"Restart": "Redémarrer",
|
||||
"Restart Needed": "Redémarrage nécessaire",
|
||||
"Restarting": "Redémarrage en cours",
|
||||
"Resume": "Reprise",
|
||||
"Resume All": "Tout libérer",
|
||||
"Reused": "Réutilisé",
|
||||
"Save": "Enregistrer",
|
||||
"Scan Time Remaining": "Temps d'analyse restant",
|
||||
"Scanning": "Analyse en cours",
|
||||
"Select the devices to share this folder with.": "Synchroniser avec :",
|
||||
"Select the folders to share with this device.": "Sélectionner les partages auxquels participe cet appareil.",
|
||||
"Select the folders to share with this device.": "Sélectionner les partages auxquels cet appareil doit participer :",
|
||||
"Send & Receive": "Envoi & réception",
|
||||
"Send Only": "Envoi (lecture seule)",
|
||||
"Settings": "Configuration",
|
||||
"Share": "Partager",
|
||||
"Share Folder": "Partager",
|
||||
"Share Folders With Device": "Partages avec cet appareil",
|
||||
"Share Folders With Device": "Participe Ă ces partages",
|
||||
"Share With Devices": "Synchroniser avec des appareils",
|
||||
"Share this folder?": "Acceptez-vous ce partage ?",
|
||||
"Shared With": "Synchronisé avec",
|
||||
@@ -179,8 +202,11 @@
|
||||
"Shutdown Complete": "ArrĂȘtĂ© !",
|
||||
"Simple File Versioning": "Suivi simplifié des versions",
|
||||
"Single level wildcard (matches within a directory only)": "Joker Ă un seul niveau (correspond uniquement Ă lâintĂ©rieur du rĂ©pertoire)",
|
||||
"Smallest First": "Les plus petits d'abord",
|
||||
"Smallest First": "Les plus petits en premier",
|
||||
"Source Code": "Code source",
|
||||
"Stable releases and release candidates": "Versions stables et préliminaires",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Les versions stables sont reportées d'environ deux semaines. Pendant ce temps elles sont testées en tant que versions préliminaires.",
|
||||
"Stable releases only": "Seulement les versions stables",
|
||||
"Staggered File Versioning": "Versions échelonnées",
|
||||
"Start Browser": "Lancer le navigateur web",
|
||||
"Statistics": "Statistiques",
|
||||
@@ -205,14 +231,14 @@
|
||||
"The folder ID cannot be blank.": "L'ID du partage ne peut ĂȘtre vide.",
|
||||
"The folder ID must be unique.": "L'ID du partage doit ĂȘtre unique.",
|
||||
"The folder path cannot be blank.": "Le chemin vers le rĂ©pertoire ne peut pas ĂȘtre vide.",
|
||||
"The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.": "Les intervalles suivant sont utilisés: jusqu'à une heure une version est conservée toutes les 30 secondes. Jusqu'à un jour une version est conservée chaque heure. Jusqu'à 30 jours une version est conservée chaque jour. Au-delà , jusqu'à la limite d'ùge, une version est conservée chaque semaine.",
|
||||
"The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.": "Les seuils de durĂ©e suivants dĂ©finissent le nombre maximum de versions pour chaque fichier : pendant la premiĂšre heure une version peut ĂȘtre conservĂ©e toutes les 30 secondes. Jusqu'Ă un jour, jusqu'Ă une version par heure - des versions de la premiĂšre heure sont alors progressivement effacĂ©es pour n'en garder qu'une par heure. Jusqu'Ă 30 jours, jusqu'Ă une version par jour - des versions horaires du premier jour sont alors progressivement effacĂ©es pour n'en garder qu'une par jour. Au-delĂ , jusqu'Ă la limite d'Ăąge, jusqu'Ă une version est conservĂ©e par semaine - des versions journaliĂšres du premier mois sont alors progressivement effacĂ©es pour n'en garder qu'une par semaine.",
|
||||
"The following items could not be synchronized.": "Les fichiers suivants n'ont pas pu ĂȘtre synchronisĂ©s.",
|
||||
"The maximum age must be a number and cannot be blank.": "L'Ăąge maximum doit ĂȘtre un nombre et ne peut ĂȘtre vide.",
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "Le temps maximum de conservation d'une version (en jours, mettre à 0 pour conserver les versions indéfiniment)",
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "Durée maximum de conservation d'une version (en jours, 0 pour conserver les versions indéfiniment)",
|
||||
"The minimum free disk space percentage must be a non-negative number between 0 and 100 (inclusive).": "Le pourcentage d'espace disque libre doit ĂȘtre un nombre positif compris entre 0 et 100 (inclus).",
|
||||
"The number of days must be a number and cannot be blank.": "Le nombre de jours doit ĂȘtre numĂ©rique et ne peut pas ĂȘtre vide.",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "Le nombre de jours de conservation des fichiers dans la poubelle. 0 signifie toujours.",
|
||||
"The number of old versions to keep, per file.": "Le nombre d'anciennes versions Ă garder, par fichier.",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "Nombre de jours de conservation des fichiers dans la poubelle. 0 signifie \"indéfiniment\".",
|
||||
"The number of old versions to keep, per file.": "Le nombre maximum d'anciennes versions à garder indéfiniment, par fichier.",
|
||||
"The number of versions must be a number and cannot be blank.": "Le nombre de versions doit ĂȘtre numĂ©rique, et ne peut pas ĂȘtre vide.",
|
||||
"The path cannot be blank.": "Le chemin ne peut pas ĂȘtre vide.",
|
||||
"The rate limit must be a non-negative number (0: no limit)": "La limite de dĂ©bit ne doit pas ĂȘtre nĂ©gative (0 = pas de limite)",
|
||||
@@ -221,35 +247,40 @@
|
||||
"This Device": "Cet appareil",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Ceci peut aisément permettre à un intrus de lire et modifier n'importe quel fichier de votre ordinateur.",
|
||||
"This is a major version upgrade.": "Il s'agit d'une mise Ă jour majeure.",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "Ce réglage contrÎle l'espace disque requis dans le disque qui abrite votre répertoire utilisateur (pour la base de données d'indexation).",
|
||||
"Time": "Heure",
|
||||
"Trash Can File Versioning": "Style poubelle",
|
||||
"Type": "Type",
|
||||
"Unknown": "Inconnu",
|
||||
"Unshared": "Non partagé",
|
||||
"Unused": "Non utilisé",
|
||||
"Up to Date": "Synchronisé",
|
||||
"Up to Date": "Ă jour",
|
||||
"Updated": "Mis Ă jour",
|
||||
"Upgrade": "Mettre Ă jour",
|
||||
"Upgrade To {%version%}": "Mettre Ă jour vers {{version}}",
|
||||
"Upgrading": "Mise Ă jour de Syncthing",
|
||||
"Upload Rate": "Débit d'envoi",
|
||||
"Uptime": "Durée de fonctionnement",
|
||||
"Usage reporting is always enabled for candidate releases.": "Les statistiques d'utilisation sont toujours envoyées pour les versions préliminaires.",
|
||||
"Use HTTPS for GUI": "Utiliser l'HTTPS pour le GUI",
|
||||
"Version": "Version",
|
||||
"Versions Path": "Emplacement des versions",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Les versions seront supprimées automatiquement, si elles dépassent la durée maximum de conservation, ou si leur nombre est supérieur à la valeur autorisée dans l'intervalle.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Attention, ce chemin est un répertoire parent du partage existant \"{{otherFolder}}\". Ceci peut causer des problÚmes tels que duplications ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Attention, ce chemin est un répertoire parent du partage existant \"{{otherFolderLabel}}\" ({{otherFolder}}). Ceci peut causer des problÚmes tels que duplications ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Attention, ce chemin est un sous-répertoire du partage existant \"{{otherFolder}}\". Ceci peut causer des problÚmes tels que duplications ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Attention, ce chemin est un sous-répertoire du partage existant \"{{otherFolderLabel}}\" ({{otherFolder}}). Ceci peut causer des problÚmes tels que duplications ou suppressions intempestives de fichiers.",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Les plus anciennes versions seront supprimées automatiquement quand elles dépassent la durée maximum de conservation ou si leur nombre (par fichier) est supérieur à la limite prédéfinie pour l'intervalle.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Attention, ce chemin est un répertoire parent d'au moins un partage existant (par exemple \"{{otherFolder}}\"). Si c'est bien ce que vous souhaitez, vous devriez créer un nouveau sous-répertoire, sinon ceci peut causer des problÚmes tels que duplications et/ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Attention, ce chemin est un répertoire parent d'au moins un partage existant (par exemple \"{{otherFolderLabel}}\" ({{otherFolder}})). Si vous continuez, vous devriez créer un nouveau sous-répertoire, sinon ceci peut causer des problÚmes tels que duplications et/ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "ATTENTION, ce chemin est un sous-répertoire du partage existant \"{{otherFolder}}\". Ceci peut causer des problÚmes tels que duplications et/ou suppressions intempestives de fichiers.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "ATTENTION, ce chemin est un sous-répertoire du partage existant \"{{otherFolderLabel}}\" ({{otherFolder}}). Ceci peut causer des problÚmes tels que duplications et/ou suppressions intempestives de fichiers.",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Lorsque vous ajoutez un appareil, gardez Ă l'esprit que le votre doit aussi ĂȘtre ajoutĂ© de l'autre cotĂ©.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Lorsqu'un nouveau partage est ajoutĂ©, gardez Ă l'esprit que son ID est utilisĂ©e pour lier les rĂ©pertoires Ă travers les appareils. L'ID est sensible Ă la casse et sera forcĂ©ment la mĂȘme sur tous les appareils participant Ă ce partage.",
|
||||
"Yes": "Oui",
|
||||
"You can also select one of these nearby devices:": "Vous pouvez également sélectionner l'un de ces appareils proches :",
|
||||
"You can change your choice at any time in the Settings dialog.": "Vous pouvez changer votre choix dans la boĂźte de dialogue \"Configuration\".",
|
||||
"You can read more about the two release channels at the link below.": "Vous pouvez en savoir plus sur les deux canaux de distribution via le lien ci-dessous.",
|
||||
"You must keep at least one version.": "Vous devez garder au minimum une version.",
|
||||
"days": "Jours",
|
||||
"directories": "répertoires",
|
||||
"files": "Fichiers",
|
||||
"full documentation": "documentation complĂšte",
|
||||
"full documentation": "Documentation complĂšte ici",
|
||||
"items": "éléments",
|
||||
"{%device%} wants to share folder \"{%folder%}\".": "{{device}} vous invite au partage \"{{folder}}\".",
|
||||
"{%device%} wants to share folder \"{%folderlabel%}\" ({%folder%}).": "{{device}} vous invite au partage \"{{folderlabel}}\" ({{folder}})."
|
||||
|
||||
@@ -4,12 +4,13 @@
|
||||
"A new major version may not be compatible with previous versions.": "In nije, wichtige ferzje koe wol ris net te kombinearjen wĂȘze mei foargeande ferzjes.",
|
||||
"API Key": "API-kaai",
|
||||
"About": "Oer",
|
||||
"Action": "Action",
|
||||
"Action": "Aksje",
|
||||
"Actions": "Aksjes",
|
||||
"Add": "Taheakje",
|
||||
"Add Device": "Apparaat taheakje",
|
||||
"Add Folder": "Map taheakje",
|
||||
"Add Remote Device": "Apparaat op OfstĂąn Taheakje",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Heakje apparaten fan de yntrodusearders ta oan Ășs apparatenlyst, foar mei-inoar dielde mappen.",
|
||||
"Add new folder?": "Nije map taheakje?",
|
||||
"Address": "Adres",
|
||||
"Addresses": "Adressen",
|
||||
@@ -18,16 +19,20 @@
|
||||
"Advanced settings": "Avansearre ynstellings",
|
||||
"All Data": "Alle data",
|
||||
"Allow Anonymous Usage Reporting?": "Anonime brûkensrapportaazje tastean?",
|
||||
"Allowed Networks": "Tasteane Netwurken",
|
||||
"Alphabetic": "Alfabetysk",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "In ekstern kommando soarget foar it ferzjebehear. It moat de triem Ășt de dielde map fuortsmite.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "In ekstern kommando soarget foar it ferzjebehear. It moat de triem Ășt de syngronisearre map fuortsmite.",
|
||||
"Anonymous Usage Reporting": "Anonym brûkensrapportaazje",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "Alle apparaten die op in 'yntrodusearjend apparaat' ynstelt binne, wurde ek op dit apparaat taheakke.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Automatyske fernijing biedt no de kar tusken stabyle ferzjes en ferzje kandidaten",
|
||||
"Automatic upgrades": "Automatyske fernijings",
|
||||
"Be careful!": "Tink derom!",
|
||||
"Bugs": "Brekkings",
|
||||
"CPU Utilization": "CPU-brûken",
|
||||
"Changelog": "Feroaringslochboek",
|
||||
"Clean out after": "Opromje nei",
|
||||
"Click to see discovery failures": "Klik om ûntdekkingsflaters te besjen",
|
||||
"Close": "Slute",
|
||||
"Command": "Kommando",
|
||||
"Comment, when used at the start of a line": "Kommentaar, wannear as brûkt by it begjin fan in rige",
|
||||
@@ -38,10 +43,11 @@
|
||||
"Copied from elsewhere": "Oernommen fan earne oars",
|
||||
"Copied from original": "Oernommen fan orizjineel",
|
||||
"Copyright © 2014-2016 the following Contributors:": "Copyright © 2014-2016 de folgende bydragers:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 the following Contributors:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "Copyright © 2014-2017 de folgende Bydragers:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Meitsje negear-patroanen dy in besteande triem oerskriuwe yn {{path}}.",
|
||||
"Danger!": "Gefaar!",
|
||||
"Deleted": "Fuortsmiten",
|
||||
"Device": "Device",
|
||||
"Device": "Apparaat",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "Apparaat \"{{name}}\" {{device}} op ({{address}}) wol ferbining meitsje. Nij apparaat taheakje?",
|
||||
"Device ID": "Apparaat-ID",
|
||||
"Device Identification": "Apparaatidentifikaasje",
|
||||
@@ -50,6 +56,7 @@
|
||||
"Disconnected": "Ferbining ferbrutsen",
|
||||
"Discovered": "Untdekt",
|
||||
"Discovery": "Untdekking",
|
||||
"Discovery Failures": "Untdekkingsflaters",
|
||||
"Documentation": "Dokumintaasje",
|
||||
"Download Rate": "Ynlaadfluggens",
|
||||
"Downloaded": "Ynladen",
|
||||
@@ -58,17 +65,23 @@
|
||||
"Edit Device": "Apparaat Bewurkje",
|
||||
"Edit Folder": "Map Bewurkje",
|
||||
"Editing": "Bewurkjen",
|
||||
"Editing {%path%}.": "{{path}} wurd bewurke.",
|
||||
"Enable NAT traversal": "NAT-trochkruse ynskeakelje",
|
||||
"Enable Relaying": "Trochjaan tastean",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Fier in net-negatyf nûmer yn (bygelyks \"2.35\") en selektearje in ienheid. Percentages stean foar it part fan de totale skiifromte.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Fier in net-befoarrjochte poart-nûmer yn (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "Fier troch komma's skieden (\"tcp://ip:port\", \"tcp://host:port\") adressen yn of \"dynamic\" om automatyske Ă»ntdekking fan it adres Ășt te fieren.",
|
||||
"Enter ignore patterns, one per line.": "Fier negearpatroanen yn, ien per rigel.",
|
||||
"Error": "Flater",
|
||||
"External File Versioning": "Ekstern ferzjebehear foar triemen",
|
||||
"Failed Items": "Mislearre items",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": " Mislearjen fan it ferbinen mei IPv6-tsjinners wurd ferwachte as der gjin stipe foar IPv6-ferbinings is.",
|
||||
"File Pull Order": "Triemlûkfolchoarder",
|
||||
"File Versioning": "Triemferzjebehear",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "Bits foar triemrjochten wurde negearre yn it sykjen foar feroarings. Brûk dit op FAT-triemsystemen.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Triemen wurde ferset nei map .stversions wannear't troch Syncthing ferfangen of fuortsmiten.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Triemen wurde ferset nei map .stversions wannear't troch Syncthing ferfangen of fuortsmiten.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Triemen wurde ferset nei mei datum stimpele ferzjes yn in .stversions map wannear troch Syncthing ferfangen of fuortsmiten.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Triemen wurde ferset nei in mei datum stimpele ferzjes yn in .stversions map wannear troch Syncthing ferfangen of fuortsmiten.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "Triemen binne ymmĂșn foar feroarings makke troch oare apparaten, mar feroarings makke op dit apparaat wurde nei de rest fan 'e bondel ferstjoerd.",
|
||||
"Folder": "Map",
|
||||
@@ -80,9 +93,11 @@
|
||||
"GUI": "GUI",
|
||||
"GUI Authentication Password": "Wachtwurd foar ferifikaasje yn GUI",
|
||||
"GUI Authentication User": "Brûkers-ID foar ferifikaasje yn GUI",
|
||||
"GUI Listen Address": "GUI-harkadres",
|
||||
"GUI Listen Addresses": "Harkadres foar GUI",
|
||||
"GUI Theme": "Ynterfaasjetema",
|
||||
"Generate": "Generearje",
|
||||
"Global Changes": "Global Changes",
|
||||
"Global Changes": "WrĂąldwide Feroarings",
|
||||
"Global Discovery": "Wrùldwide ûntdekking",
|
||||
"Global Discovery Servers": "Wrùldwide ûntdekkingstsjinners",
|
||||
"Global State": "WrĂąldwide tastĂąn",
|
||||
@@ -93,7 +108,7 @@
|
||||
"Ignore Permissions": "Negear-rjochten",
|
||||
"Incoming Rate Limit (KiB/s)": "Downloadfluggenslimyt (KiB/s)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "Ferkearde konfiguraasje kin de ynhùld fan jo mappen skeine en Syncthing unbrûkber meitsje.",
|
||||
"Introduced By": "Introduced By",
|
||||
"Introduced By": "Yntrodusearre Troch",
|
||||
"Introducer": "Yntrodusearrer",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "Dizze betingst omkeare (d.w.z. net Ăștslute) ",
|
||||
"Keep Versions": "Ferzjes bewarje",
|
||||
@@ -103,6 +118,7 @@
|
||||
"Last seen": "LĂȘst sjoen",
|
||||
"Later": "Letter",
|
||||
"Latest Change": "Meast Resinte Feroarings",
|
||||
"Learn more": "Mear witte",
|
||||
"Listeners": "Harkers",
|
||||
"Local Discovery": "Lokale ûntdekking",
|
||||
"Local State": "Lokale tastĂąn",
|
||||
@@ -120,6 +136,7 @@
|
||||
"Newest First": "Nijste earst",
|
||||
"No": "Nee",
|
||||
"No File Versioning": "Gjin triemferzjebehear",
|
||||
"No upgrades": "Gjin fernijings",
|
||||
"Normal": "Normaal",
|
||||
"Notice": "Notysje",
|
||||
"OK": "Okee",
|
||||
@@ -131,14 +148,18 @@
|
||||
"Out of Sync Items": "Net syngronisearre items",
|
||||
"Outgoing Rate Limit (KiB/s)": "Uploadfluggenslimyt (KiB/s)",
|
||||
"Override Changes": "Feroarings oerskriuwe",
|
||||
"Path": "Path",
|
||||
"Path": "Paad",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "Paad nei de map op de lokale kompjûter. Wurd oanmakke as dizze net bestiet. It tilde teken (~) kin brûkt wurde as fluchkeppeling foar",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "Paad dĂȘr't de ferzjes bewarre wurde moatte (leech litte foar de standert .stversions-map yn de map).",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "Paad dĂȘr't de ferzjes bewarre wurde moatte (leech litte foar de standert .stversions-map yn de map).",
|
||||
"Pause": "Skoftsje",
|
||||
"Pause All": "Alles skoftsje",
|
||||
"Paused": "Skoftet",
|
||||
"Please consult the release notes before performing a major upgrade.": "Foardat jo in wichtige fernijing ynstallearre, graach earst de fernijingsoantekenings lĂȘze.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Graach foar GUI-ferifikaasje in brûkers-ID en wachtwurd ynstelle yn it ynstellingsdialooch.",
|
||||
"Please wait": "In amerijke",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "Prefiks dy't oanjout dat de triem fourtsmiten wurde kin wannear dit it ferwiderjen belet.",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "Prefiks dy't oanjout dat fergelykings mei it patroans net haadlettergefoelich wĂȘze sille.",
|
||||
"Preview": "Foarbyld",
|
||||
"Preview Usage Report": "Foarbyld fan brûkensrapport ",
|
||||
"Quick guide to supported patterns": "Fluch-paadwizer foar stipe patroanen",
|
||||
@@ -146,6 +167,7 @@
|
||||
"Random": "Willekeurich",
|
||||
"Reduced by ignore patterns": "Ferlytse troch negear-patroanen",
|
||||
"Release Notes": "Utjeftenotysjes",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Ferzje kandidaten hawwe de lĂȘste mooglikheden en ferbetterings. Se binne allyksa de tradisjonele twa-wyklikse Syncthing ferzjes.",
|
||||
"Remote Devices": "Apparaten op OfstĂąn",
|
||||
"Remove": "Fuortsmite",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "Ferplicht ID foar de map. Moat op alle bondelapparaten itselde wĂȘze.",
|
||||
@@ -156,6 +178,7 @@
|
||||
"Restart Needed": "Werstart nedich",
|
||||
"Restarting": "Oan it werstarten",
|
||||
"Resume": "Trochgean",
|
||||
"Resume All": "Alles trochgean litte",
|
||||
"Reused": "Opnij brûkt",
|
||||
"Save": "Bewarje",
|
||||
"Scan Time Remaining": "Oerbleaune skentiid",
|
||||
@@ -181,6 +204,9 @@
|
||||
"Single level wildcard (matches within a directory only)": "Inkel-nivo jokerteken (wildcard) (fergeliket allinnich binnen in map)",
|
||||
"Smallest First": "Lytste earst",
|
||||
"Source Code": "Boarnekoade",
|
||||
"Stable releases and release candidates": "Stabyle ferzjes en ferzje kanditaten",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "Stabyle ferzjes wurde likernĂŽch twa wiken Ăștstelt. Yn die tiid wurde se testen as ferzje kandidaten.",
|
||||
"Stable releases only": "Allinnich stabyle ferzjes",
|
||||
"Staggered File Versioning": "Sprieden triemferzjebehear",
|
||||
"Start Browser": "Browser iepenje wannear't Syncthing start",
|
||||
"Statistics": "Statistiken",
|
||||
@@ -221,7 +247,8 @@
|
||||
"This Device": "Dit Apparaat",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Dit kin samar ynkringers (hackers) tagong jaan om elke triem op jo kompjûter te besjen en te feroarjen.",
|
||||
"This is a major version upgrade.": "Dit is in wichtige ferzjefernijing.",
|
||||
"Time": "Time",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "Dizze ynstelling bepaalt de frije romte dy't noadich is op de home-skiif (fan de yndeks-databank).",
|
||||
"Time": "Tiid",
|
||||
"Trash Can File Versioning": "Jiskefet-triemferzjebehear",
|
||||
"Type": "Type",
|
||||
"Unknown": "Unbekend",
|
||||
@@ -234,17 +261,21 @@
|
||||
"Upgrading": "Oan it fernijen",
|
||||
"Upload Rate": "Oplaadfluggens",
|
||||
"Uptime": "Rintiid",
|
||||
"Usage reporting is always enabled for candidate releases.": "Brûkersrapportaazje stiet altyd oan foar ferzje kandidaten.",
|
||||
"Use HTTPS for GUI": "Brûk HTTPS foar GUI",
|
||||
"Version": "Ferzje",
|
||||
"Versions Path": "Ferzjes-paad",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "Ferzjes wurde automatysk fuortsmiten wannear't se Ăąlder binne dan de maksimale Ăąldens of wannear it tal fan triemen yn in ynterval grutter is dan tastean.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Warning, this path is a parent directory of an existing folder \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a parent directory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "WarskĂŽging, dit paad is in boppelizzende triemtafel fan in besteande map \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "WarskĂŽging, dit paad is in boppelizzende triemtafel fan in besteande map \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "WarskÎging, dit paad is in ûnderlizzende triemtafel fan in besteande map \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Warning, this path is a subdirectory of an existing folder \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "WarskÎging, dit paad is in ûnderlizzende triemtafel fan in besteande map \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "HĂąld by it taheakjen fan in nij apparaat yn de holle dat it apparaat oan de oare kant ek taheakke wurde moat. ",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Hùld by it taheakjen fan in nije map yn de holle dat de map-ID brûkt wurd om de mappen tusken apparaten mei-inoar te ferbinen. Se binne haadlettergefoelich en moatte oer alle apparaten eksakt oerienkomme.",
|
||||
"Yes": "Ja",
|
||||
"You can also select one of these nearby devices:": "Jo kinne ek ien fan dizze tichtbye apparaten selektearje:",
|
||||
"You can change your choice at any time in the Settings dialog.": "Jo kinne jo kar op elk stuit oanpasse yn it Ynstellingsdialooch.",
|
||||
"You can read more about the two release channels at the link below.": "Jo kinne mear lĂȘze oer de twa Ăștjeftekanalen fia de Ă»ndersteande link.",
|
||||
"You must keep at least one version.": "Jo moatte minstens ien ferzje bewarje.",
|
||||
"days": "dagen",
|
||||
"directories": "triemtafels",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"A device with that ID is already added.": "MĂĄr van hozzĂĄadott eszköz ezzel az azonosĂtĂłval.",
|
||||
"A negative number of days doesn't make sense.": "NegatĂv szĂĄmĂș nap nincs Ă©rtelmezve.",
|
||||
"A negative number of days doesn't make sense.": "NegatĂv szĂĄmĂș napnak nincs Ă©rtelme.",
|
||||
"A new major version may not be compatible with previous versions.": "Az Ășj fĆverziĂł nem feltĂ©tlenĂŒl kompatibilis az elĆzĆ fĆverziĂłkkal.",
|
||||
"API Key": "API kulcs",
|
||||
"API Key": "API-kulcs",
|
||||
"About": "Névjegy",
|
||||
"Action": "MƱvelet",
|
||||
"Actions": "MƱveletek",
|
||||
@@ -10,46 +10,53 @@
|
||||
"Add Device": "Eszköz hozzåadåsa",
|
||||
"Add Folder": "Mappa hozzĂĄadĂĄsa",
|
||||
"Add Remote Device": "Tåvoli eszköz hozzåadåsa",
|
||||
"Add new folder?": " Ăj mappa hozzĂĄadĂĄs?",
|
||||
"Add devices from the introducer to our device list, for mutually shared folders.": "Eszközök hozzĂĄadĂĄsa a bevezetĆrĆl az eszköz listĂĄhoz, a közösen megosztott mappĂĄkhoz.",
|
||||
"Add new folder?": "HozzĂĄadhatĂł az Ășj mappa?",
|
||||
"Address": "CĂm",
|
||||
"Addresses": "CĂmek",
|
||||
"Advanced": "HaladĂł",
|
||||
"Advanced Configuration": "HaladĂł beĂĄllĂtĂĄsok",
|
||||
"Advanced settings": "HaladĂł beĂĄllĂtĂĄsok",
|
||||
"All Data": "Minden adat",
|
||||
"Allow Anonymous Usage Reporting?": "EngedĂ©lyezed a nĂ©vtelen felhasznĂĄlĂĄsi adatok kĂŒldĂ©sĂ©t?",
|
||||
"Allow Anonymous Usage Reporting?": "A nĂ©vtelen felhasznĂĄlĂĄsi adatok elkĂŒldhetĆk?",
|
||||
"Allowed Networks": "Engedélyezett hålózatok",
|
||||
"Alphabetic": "ABC sorrendben",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "KĂŒlsĆ program kezeli a fĂĄjl verziĂłkövetĂ©st. A fĂĄjlt el kell tĂĄvolĂtania a szinkronizĂĄlt mappĂĄbĂłl.",
|
||||
"An external command handles the versioning. It has to remove the file from the shared folder.": "KĂŒlsĆ program kezeli a fĂĄjlverziĂł-követĂ©st. Az tĂĄvolĂtja el a fĂĄjlt a megosztott mappĂĄbĂłl.",
|
||||
"An external command handles the versioning. It has to remove the file from the synced folder.": "KĂŒlsĆ program kezeli a fĂĄjlverziĂł-követĂ©st. Az tĂĄvolĂtja el a fĂĄjlt a szinkronizĂĄlt mappĂĄbĂłl.",
|
||||
"Anonymous Usage Reporting": "NĂ©vtelen felhasznĂĄlĂĄsi adatok kĂŒldĂ©se",
|
||||
"Any devices configured on an introducer device will be added to this device as well.": "A bevezetĆ eszközön beĂĄllĂtott minden eszköz hozzĂĄ lesz adva ehhez az eszközhöz is.",
|
||||
"Automatic upgrade now offers the choice between stable releases and release candidates.": "Az automatikus frissĂtĂ©s most lehetĆsĂ©get kĂnĂĄl a stabil Ă©s az elĆzetes kiadĂĄsok közötti vĂĄlasztĂĄsra.",
|
||||
"Automatic upgrades": "Automatikus frissĂtĂ©sek",
|
||||
"Be careful!": "Légy óvatos!",
|
||||
"Be careful!": "Ăvatosan!",
|
||||
"Bugs": "HibĂĄk",
|
||||
"CPU Utilization": "Processzor hasznĂĄlat",
|
||||
"CPU Utilization": "ProcesszorhasznĂĄlat",
|
||||
"Changelog": "VĂĄltozĂĄsok",
|
||||
"Clean out after": "TakarĂtĂĄs",
|
||||
"Click to see discovery failures": "Kattints ide a feltérképezési hibåk megtekintéséhez",
|
||||
"Close": "BezĂĄrĂĄs",
|
||||
"Command": "Parancs",
|
||||
"Comment, when used at the start of a line": "Megjegyzés, a sor elején hasznålva",
|
||||
"Compression": "TömörĂtĂ©s",
|
||||
"Configured": "BeĂĄllĂtott",
|
||||
"Connection Error": "KapcsolĂłdĂĄsi hiba",
|
||||
"Connection Type": "Kapcsolat tĂpus",
|
||||
"Connection Type": "KapcsolattĂpus",
|
||||
"Copied from elsewhere": "MĂĄshonnan mĂĄsolva",
|
||||
"Copied from original": "EredetirĆl mĂĄsolva",
|
||||
"Copyright © 2014-2016 the following Contributors:": "SzerzĆi jog © 2014-2016 az alĂĄbbi közremƱködĆk:",
|
||||
"Copyright © 2014-2017 the following Contributors:": "SzerzĆi jog © 2014-2017 az alĂĄbbi közremƱködĆk:",
|
||||
"Creating ignore patterns, overwriting an existing file at {%path%}.": "Figyelmen kĂvĂŒl hagyĂĄs mintĂĄk lĂ©trehozĂĄsa, egy lĂ©tezĆ fĂĄjl felĂŒlĂrĂĄsa itt: {{path}}.",
|
||||
"Danger!": "Veszély!",
|
||||
"Deleted": "Törölve",
|
||||
"Device": "Eszköz",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "\"{{name}}\" eszköz ({{device}} @ {{address}}) szeretne csatlakozni. HozzĂĄadod az Ășj eszközt?",
|
||||
"Device ID": "Eszköz azonosĂtĂł",
|
||||
"Device Identification": "Eszköz azonosĂtĂł",
|
||||
"Device \"{%name%}\" ({%device%} at {%address%}) wants to connect. Add new device?": "\"{{name}}\" eszköz ({{device}} @ {{address}}) szeretne csatlakozni. HozzĂĄadhatĂł az Ășj eszköz?",
|
||||
"Device ID": "EszközazonosĂtĂł",
|
||||
"Device Identification": "EszközazonosĂtĂł",
|
||||
"Device Name": "Eszköz neve",
|
||||
"Devices": "Eszközök",
|
||||
"Disconnected": "Kapcsolat bontva",
|
||||
"Discovered": "Felfedezett",
|
||||
"Discovery": "Felfedezés",
|
||||
"Discovery Failures": "Felfedezési hibåk",
|
||||
"Documentation": "DokumentĂĄciĂł",
|
||||
"Download Rate": "Letöltési sebesség",
|
||||
"Downloaded": "Letöltve",
|
||||
@@ -58,31 +65,39 @@
|
||||
"Edit Device": "Eszköz szerkesztése",
|
||||
"Edit Folder": "Mappa szerkesztése",
|
||||
"Editing": "Szerkesztés",
|
||||
"Editing {%path%}.": "{{path}} szerkesztése.",
|
||||
"Enable NAT traversal": "NAT bejårås engedélyezése",
|
||||
"Enable Relaying": "KözvetĂtĂ©s engedĂ©lyezĂ©se",
|
||||
"Enter a non-negative number (e.g., \"2.35\") and select a unit. Percentages are as part of the total disk size.": "Adj meg egy nem-negatĂv szĂĄmot (pl. \"2.35\") Ă©s vĂĄlassz egy mĂ©rtĂ©kegysĂ©get. A szĂĄzalĂ©kok a teljes lemezmĂ©retre vonatkoznak.",
|
||||
"Enter a non-privileged port number (1024 - 65535).": "Adj meg egy nem privilegizĂĄlt port szĂĄmot (1024 - 65535).",
|
||||
"Enter comma separated (\"tcp://ip:port\", \"tcp://host:port\") addresses or \"dynamic\" to perform automatic discovery of the address.": "VesszĆvel elvĂĄlasztva több cĂm is bevihetĆ (\"tcp://ip:port\", \"tcp://host:port\"), az automatikus felderĂtĂ©shez a 'dynamic' kulcsszĂł hasznĂĄlatos. ",
|
||||
"Enter ignore patterns, one per line.": "Add meg a kihagyåsi mintåkat, soronként egyet.",
|
||||
"Enter ignore patterns, one per line.": "A kihagyåsi mintåkból soronként egyet kell megadni.",
|
||||
"Error": "Hiba",
|
||||
"External File Versioning": "KĂŒlsĆ fĂĄjl verziĂłkövetĂ©s",
|
||||
"External File Versioning": "KĂŒlsĆ fĂĄjlverziĂł-követĂ©s",
|
||||
"Failed Items": "HibĂĄs elemek",
|
||||
"File Pull Order": "FĂĄjl kĂŒldĂ©si sorrend",
|
||||
"File Versioning": "Fåjl verziókövetés",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "FĂĄjl jogosultsĂĄgok figyelmen kĂvĂŒl hagyĂĄsa vĂĄltozĂĄsok keresĂ©sekor. FAT fĂĄjlrendszerek hasznĂĄlatakor.",
|
||||
"Failure to connect to IPv6 servers is expected if there is no IPv6 connectivity.": "Mivel nincs IPv6 kapcsolat, ezĂ©rt vĂĄrhatĂłan nem fog sikerĂŒlni IPv6-os szerverekhez csatlakozni.",
|
||||
"File Pull Order": "FĂĄjlkĂŒldĂ©si sorrend",
|
||||
"File Versioning": "Fåjlverzió-követés",
|
||||
"File permission bits are ignored when looking for changes. Use on FAT file systems.": "FĂĄjljogosultsĂĄgok figyelmen kĂvĂŒl hagyĂĄsa vĂĄltozĂĄsok keresĂ©sekor. FAT fĂĄjlrendszerek hasznĂĄlatakor hasznos.",
|
||||
"Files are moved to .stversions directory when replaced or deleted by Syncthing.": "Ha a Syncthing åthelyezi vagy törli a fåjlokat, akkor azok a .stversions könyvtårba lesznek åthelyezve.",
|
||||
"Files are moved to .stversions folder when replaced or deleted by Syncthing.": "Ha a Syncthing åthelyezi vagy törli a fåjlokat, akkor azok a .stversions mappåba lesznek åthelyezve.",
|
||||
"Files are moved to date stamped versions in a .stversions directory when replaced or deleted by Syncthing.": "Ha a Syncthing felĂŒlĂrja vagy törli a fĂĄjlokat, akkor azok a .stversions könyvtĂĄrba lesznek ĂĄthelyezve, idĆbĂ©lyegzĆvel ellĂĄtva.",
|
||||
"Files are moved to date stamped versions in a .stversions folder when replaced or deleted by Syncthing.": "Ha a Syncthing felĂŒlĂrja vagy törli a fĂĄjlokat, akkor azok a .stversions mappĂĄba lesznek ĂĄthelyezve, idĆbĂ©lyegzĆvel ellĂĄtva.",
|
||||
"Files are protected from changes made on other devices, but changes made on this device will be sent to the rest of the cluster.": "A fåjlok védve vannak a mås eszközökön történt våltozåsokkal szemben, de az ezen az eszközön történt våltozåsok érvényesek lesznek a többire.",
|
||||
"Folder": "Mappa",
|
||||
"Folder ID": "Mappa azonosĂtĂł",
|
||||
"Folder Label": "Mappa cĂmke",
|
||||
"Folder Path": "Mappa elĂ©rĂ©si Ăștja",
|
||||
"Folder Type": "Mappa tĂpus",
|
||||
"Folder ID": "MappaazonosĂtĂł",
|
||||
"Folder Label": "MappacĂmke",
|
||||
"Folder Path": "Mappa elĂ©rĂ©si Ăștvonala",
|
||||
"Folder Type": "MappatĂpus",
|
||||
"Folders": "MappĂĄk",
|
||||
"GUI": "Grafikus felĂŒlet",
|
||||
"GUI Authentication Password": "Grafikus felĂŒlet jelszava",
|
||||
"GUI Authentication User": "Grafikus felĂŒlet felhasznĂĄlĂł neve ",
|
||||
"GUI Authentication User": "Grafikus felĂŒlet felhasznĂĄlĂłi neve ",
|
||||
"GUI Listen Address": "Grafikus felĂŒlet cĂme",
|
||||
"GUI Listen Addresses": "Grafikus felĂŒlet cĂme",
|
||||
"GUI Theme": "Grafikus felĂŒlet tĂ©mĂĄja",
|
||||
"Generate": "GenerĂĄlĂĄs",
|
||||
"Global Changes": "GlobĂĄlis mĂłdisĂtĂĄsok",
|
||||
"Global Changes": "GlobĂĄlis mĂłdosĂtĂĄsok",
|
||||
"Global Discovery": "Globålis felfedezés",
|
||||
"Global Discovery Servers": "GlobĂĄlis felfedezĆ kiszolgĂĄlĂłk",
|
||||
"Global State": "GlobĂĄlis ĂĄllapot",
|
||||
@@ -91,9 +106,9 @@
|
||||
"Ignore": "Figyelmen kĂvĂŒl hagyĂĄs",
|
||||
"Ignore Patterns": "KihagyĂĄsi mintĂĄk",
|
||||
"Ignore Permissions": "JogosultsĂĄgok figyelmen kĂvĂŒl hagyĂĄsa",
|
||||
"Incoming Rate Limit (KiB/s)": "BejövĆ sebessĂ©g korlĂĄt (KIB/mp)",
|
||||
"Incoming Rate Limit (KiB/s)": "BejövĆ sebessĂ©gkorlĂĄt (KiB/mp)",
|
||||
"Incorrect configuration may damage your folder contents and render Syncthing inoperable.": "Helytelen konfiguråció esetén kårosodhat a mappåk tartalma és mƱködésképtelenné vålhat a Syncthing.",
|
||||
"Introduced By": "Bevezette:",
|
||||
"Introduced By": "Bevezette",
|
||||
"Introducer": "BevezetĆ",
|
||||
"Inversion of the given condition (i.e. do not exclude)": "A feltétel ellentéte (pl. ki nem hagyås)",
|
||||
"Keep Versions": "Megtartott verziĂłk",
|
||||
@@ -103,11 +118,12 @@
|
||||
"Last seen": "UtoljĂĄra lĂĄtva",
|
||||
"Later": "KĂ©sĆbb",
|
||||
"Latest Change": "UtolsĂł mĂłdosĂtĂĄs",
|
||||
"Learn more": "Tudj meg többet",
|
||||
"Listeners": "Kapcsolatok",
|
||||
"Local Discovery": "Helyi felfedezés",
|
||||
"Local State": "Helyi ĂĄllapot",
|
||||
"Local State (Total)": "Helyi ĂĄllapot (Teljes)",
|
||||
"Major Upgrade": "FĆverziĂł frissĂtĂ©s",
|
||||
"Local State (Total)": "Helyi ĂĄllapot (teljes)",
|
||||
"Major Upgrade": "FĆverziĂł-frissĂtĂ©s",
|
||||
"Master": "Központi",
|
||||
"Maximum Age": "MaximĂĄlis kor",
|
||||
"Metadata Only": "Csak metaadatok",
|
||||
@@ -119,7 +135,8 @@
|
||||
"New Folder": "Ăj mappa",
|
||||
"Newest First": "Ăjabb elĆször",
|
||||
"No": "Nem",
|
||||
"No File Versioning": "Nincs fåjl verziókövetés",
|
||||
"No File Versioning": "Nincs fåjlverzió-követés",
|
||||
"No upgrades": "Nincsenek frissĂtĂ©sek",
|
||||
"Normal": "NormĂĄl",
|
||||
"Notice": "Megjegyzés",
|
||||
"OK": "Rendben",
|
||||
@@ -132,20 +149,25 @@
|
||||
"Outgoing Rate Limit (KiB/s)": "KimenĆ sĂĄvszĂ©lessĂ©g (KiB/mp)",
|
||||
"Override Changes": "VĂĄltoztatĂĄsok felĂŒlbĂrĂĄlĂĄsa",
|
||||
"Path": "Ătvonal",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "A mappa elĂ©rĂ©si Ăștja az eszközön. Amennyiben nem lĂ©tezik, a program automatikusan lĂ©trehozza. A hullĂĄmvonal (~) a következĆ helyettesĂtĂ©sre hasznĂĄlhatĂł: ",
|
||||
"Path to the folder on the local computer. Will be created if it does not exist. The tilde character (~) can be used as a shortcut for": "A mappa elĂ©rĂ©si Ăștvonala az eszközön. Amennyiben nem lĂ©tezik, a program automatikusan lĂ©trehozza. A hullĂĄmvonal (~) a következĆ helyettesĂtĂ©sre hasznĂĄlhatĂł: ",
|
||||
"Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).": "A verziĂłk tĂĄrolĂĄsĂĄra szolgĂĄlĂł elĂ©rĂ©si Ășt (hagyd ĂŒresen a megasztott mappa alapĂ©rtelmezett .stversions könyvtĂĄrĂĄnak hasznĂĄlatĂĄhoz)",
|
||||
"Path where versions should be stored (leave empty for the default .stversions folder in the folder).": "A verziĂłk tĂĄrolĂĄsĂĄra szolgĂĄlĂł elĂ©rĂ©si Ășt (ĂŒresen hagyva az alapĂ©rtelmezett .stversions mappa)",
|
||||
"Pause": "SzĂŒnet",
|
||||
"Pause All": "Mindent szĂŒneteltet",
|
||||
"Paused": "SzĂŒnetel",
|
||||
"Please consult the release notes before performing a major upgrade.": "Nagyobb frissĂtĂ©s elĆtt ellenĆrizni kell a kiadĂĄsi megjegyzĂ©seket.",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "KĂ©rlek, ĂĄllĂtsd be a grafikus felĂŒlet felhasznĂĄlĂłnevĂ©t Ă©s jelszavĂĄt a BeĂĄllĂtĂĄsok ablakban.",
|
||||
"Please wait": "Kérlek, vårj",
|
||||
"Please set a GUI Authentication User and Password in the Settings dialog.": "Be kell ĂĄllĂtani a grafikus felĂŒlet felhasznĂĄlĂłnevĂ©t Ă©s jelszavĂĄt a BeĂĄllĂtĂĄsok pĂĄrbeszĂ©dablakban.",
|
||||
"Please wait": "TĂŒrelem",
|
||||
"Prefix indicating that the file can be deleted if preventing directory removal": "ElĆtag, amely jelzi, hogy a fĂĄjl törölhetĆ, ha tiltva van a mappĂĄk eltĂĄvolĂtĂĄsa",
|
||||
"Prefix indicating that the pattern should be matched without case sensitivity": "ElĆtag, amely jelzi, hogy a mintĂĄt nagy- ill. kisbetƱérzĂ©kenysĂ©g nĂ©lkĂŒl kell illeszteni.",
|
||||
"Preview": "ElĆnĂ©zet",
|
||||
"Preview Usage Report": "Felhasznålåsi adatok åtnézése",
|
||||
"Preview Usage Report": "Hasznålati jelentés åttekintése",
|
||||
"Quick guide to supported patterns": "Rövid ĂștmutatĂł a hasznĂĄlhatĂł mintĂĄkrĂłl",
|
||||
"RAM Utilization": "MemĂłria hasznĂĄlat",
|
||||
"RAM Utilization": "MemĂłriahasznĂĄlat",
|
||||
"Random": "VéletlenszerƱ",
|
||||
"Reduced by ignore patterns": "Kihagyåsi mintåkkal csökkentve",
|
||||
"Release Notes": "Kiadåsi megjegyzések",
|
||||
"Release candidates contain the latest features and fixes. They are similar to the traditional bi-weekly Syncthing releases.": "Az elĆzetes kiadĂĄsok tartalmazzĂĄk a legĂșjabb fejlesztĂ©seket Ă©s javĂtĂĄsokat. Ezek hasonlĂłak a hagyomĂĄnyos, kĂ©theti Syncthing kiadĂĄsokhoz.",
|
||||
"Remote Devices": "Tåvoli eszközök",
|
||||
"Remove": "EltĂĄvolĂtĂĄs",
|
||||
"Required identifier for the folder. Must be the same on all cluster devices.": "A mappa szĂŒksĂ©ges azonosĂtĂłja. Minden fĂŒrtözött eszközön azonosnak kell lennie.",
|
||||
@@ -156,12 +178,13 @@
|
||||
"Restart Needed": "ĂjraindĂtĂĄs szĂŒksĂ©ges",
|
||||
"Restarting": "ĂjraindulĂĄs",
|
||||
"Resume": "FolytatĂĄs",
|
||||
"Resume All": "Mindent folytat",
|
||||
"Reused": "ĂjrafelhasznĂĄlva",
|
||||
"Save": "Mentés",
|
||||
"Scan Time Remaining": "FennmaradĂł ĂĄtnĂ©zĂ©si idĆ",
|
||||
"Scanning": "ĂtnĂ©zĂ©s",
|
||||
"Select the devices to share this folder with.": "Vålaszd ki az eszközöket, amelyekkel meg szeretnéd osztani a mappåt",
|
||||
"Select the folders to share with this device.": "Vålaszd ki a mappåkat, amiket meg szeretnél osztani ezzel az eszközzel.",
|
||||
"Select the devices to share this folder with.": "Eszközök, amelyekkel megosztandó a mappa",
|
||||
"Select the folders to share with this device.": "Mappåk, amelyek megosztandók ezzel az eszközzel.",
|
||||
"Send & Receive": "KĂŒldĂ©s Ă©s fogadĂĄs",
|
||||
"Send Only": "Csak kĂŒldĂ©s",
|
||||
"Settings": "BeĂĄllĂtĂĄsok",
|
||||
@@ -169,19 +192,22 @@
|
||||
"Share Folder": "Mappa megosztĂĄsa",
|
||||
"Share Folders With Device": "Mappåk megosztåsa az eszközzel",
|
||||
"Share With Devices": "Megosztås mås eszközzel",
|
||||
"Share this folder?": "Megosztod ezt a mappĂĄt?",
|
||||
"Share this folder?": "MegoszthatĂł ez a mappa?",
|
||||
"Shared With": "Megosztva ezekkel:",
|
||||
"Show ID": "AzonosĂtĂł mutatĂĄsa",
|
||||
"Show QR": "QR-kĂłd mutatĂĄsa",
|
||||
"Shown instead of Device ID in the cluster status. Will be advertised to other devices as an optional default name.": "Az eszköz azonosĂtĂł helyett jelenik meg. A többi eszközön alapĂ©rtelmezett nĂ©vkĂ©nt hasznĂĄlhatĂł. ",
|
||||
"Shown instead of Device ID in the cluster status. Will be updated to the name the device advertises if left empty.": "Az eszköz azonosĂtĂł helyett jelenik meg. Ăresen hagyva az eszköz sajĂĄt neve lesz hasznĂĄlva ",
|
||||
"Shown instead of Device ID in the cluster status. Will be advertised to other devices as an optional default name.": "Az eszközazonosĂtĂł helyett jelenik meg. A többi eszközön alapĂ©rtelmezett nĂ©vkĂ©nt hasznĂĄlhatĂł. ",
|
||||
"Shown instead of Device ID in the cluster status. Will be updated to the name the device advertises if left empty.": "Az eszközazonosĂtĂł helyett jelenik meg. Ăresen hagyva az eszköz sajĂĄt neve lesz alkalmazva.",
|
||||
"Shutdown": "LeĂĄllĂtĂĄs",
|
||||
"Shutdown Complete": "LeĂĄllĂtĂĄs kĂ©sz",
|
||||
"Simple File Versioning": "EgyszerƱ fåjl verziókövetés",
|
||||
"Simple File Versioning": "EgyszerƱ fåjlverzió-követés",
|
||||
"Single level wildcard (matches within a directory only)": "EgyszintƱ helyettesĂtĆ karakter (csak egy mappĂĄra Ă©rvĂ©nyes)",
|
||||
"Smallest First": "Kisebb elĆször",
|
||||
"Source Code": "ForrĂĄskĂłd",
|
||||
"Staggered File Versioning": "TöbbszintƱ fåjl verziókövetés",
|
||||
"Stable releases and release candidates": "Stabil Ă©s elĆzetes kiadĂĄsok ",
|
||||
"Stable releases are delayed by about two weeks. During this time they go through testing as release candidates.": "A stabil kiadĂĄsok nagyjĂĄbĂłl kĂ©t hĂ©ttel el vannak csĂșsztatva. Ez alatt elĆzetes kiadĂĄskĂ©nt tesztelĂ©sen mennek keresztĂŒl.",
|
||||
"Stable releases only": "Csak stabil kiadĂĄsok",
|
||||
"Staggered File Versioning": "TöbbszintƱ fåjlverzió-követés",
|
||||
"Start Browser": "BöngĂ©szĆ indĂtĂĄsa",
|
||||
"Statistics": "Statisztika",
|
||||
"Stopped": "LeĂĄllĂtva",
|
||||
@@ -189,40 +215,41 @@
|
||||
"Sync Protocol Listen Addresses": "SzinkronizĂĄciĂłs protokoll cĂme",
|
||||
"Syncing": "SzinkronizĂĄlĂĄs",
|
||||
"Syncthing has been shut down.": "Syncthing leĂĄllĂtva",
|
||||
"Syncthing includes the following software or portions thereof:": "Syncthing a következĆ programokat, vagy komponenseket tartalmazza.",
|
||||
"Syncthing includes the following software or portions thereof:": "A Syncthing a következĆ programokat, vagy komponenseket tartalmazza.",
|
||||
"Syncthing is restarting.": "Syncthing Ășjraindul",
|
||||
"Syncthing is upgrading.": "Syncthing frissĂŒl",
|
||||
"Syncthing seems to be down, or there is a problem with your Internet connection. RetryingâŠ": "Ăgy tƱnik, hogy a Syncthing nem mƱködik, vagy valami problĂ©ma van a hĂĄlĂłzati kapcsolattal. Ăjra prĂłbĂĄlom...",
|
||||
"Syncthing seems to be experiencing a problem processing your request. Please refresh the page or restart Syncthing if the problem persists.": "Ăgy tƱnik, hogy a Syncthing problĂ©mĂĄba ĂŒtközött a kĂ©rĂ©s feldolgozĂĄsa sorĂĄn. Ha a problĂ©ma tovĂĄbbra is fennĂĄll, akkor frissĂteni kell az oldalt, vagy Ășjra kell indĂtani a Syncthinget.",
|
||||
"The Syncthing admin interface is configured to allow remote access without a password.": "A Syncthing adminisztrĂĄciĂłs felĂŒletĂ©nek tĂĄvoli elĂ©rĂ©se be van kapcsolva jelszĂł nĂ©lkĂŒl.",
|
||||
"The aggregated statistics are publicly available at the URL below.": "Az összesĂtett statisztikĂĄk elĂ©rhetĆk az alĂĄbbi cĂmen.",
|
||||
"The configuration has been saved but not activated. Syncthing must restart to activate the new configuration.": "A beĂĄllĂtĂĄsok elmentĂ©sre kerĂŒltek, de nem lettek aktivĂĄlva. IndĂtsd Ășjra a Syncthing-et, hogy aktivĂĄld Ćket.",
|
||||
"The device ID cannot be blank.": "Az eszköz azonosĂtĂł nem lehet ĂŒres.",
|
||||
"The configuration has been saved but not activated. Syncthing must restart to activate the new configuration.": "A beĂĄllĂtĂĄsok elmentĂ©sre kerĂŒltek, de nem lettek aktivĂĄlva. Ăjra kell indĂtani a Syncthing-et az aktivĂĄlĂĄsukhoz.",
|
||||
"The device ID cannot be blank.": "Az eszközazonosĂtĂł nem lehet ĂŒres.",
|
||||
"The device ID to enter here can be found in the \"Actions > Show ID\" dialog on the other device. Spaces and dashes are optional (ignored).": "Az itt megadandĂł eszközazonosĂtĂł a mĂĄsik eszköz MƱveletek > AzonosĂtĂł mutatĂĄsa cĂmƱ ablakĂĄban lĂĄthatĂł. SzĂłközök Ă©s kötĆjelek hasznĂĄlhatĂłk (nem szĂĄmĂtanak).",
|
||||
"The encrypted usage report is sent daily. It is used to track common platforms, folder sizes and app versions. If the reported data set is changed you will be prompted with this dialog again.": "A titkosĂtott felhasznĂĄlĂĄsi adatok naponta kerĂŒlnek kĂŒldĂ©sre. Arra hasznĂĄljuk Ćket hogy kövessĂŒk a kĂŒlönbözĆ platformokat, mappa mĂ©reteket Ă©s program verziĂłkat. Amennyiben az elkĂŒldĂ©sre kerĂŒlĆ adat megvĂĄltozik, ez az ablak Ășjra megjelenik.",
|
||||
"The entered device ID does not look valid. It should be a 52 or 56 character string consisting of letters and numbers, with spaces and dashes being optional.": "A beĂrt eszköz azonosĂtĂł nem valĂłdi. Az azonosĂtĂł 52 vagy 56 karakter hosszĂș, szĂĄmokbĂłl Ă©s betƱkbĆl ĂĄll, opcionĂĄlisan szĂłközöket Ă©s kötĆjeleket tartalmaz.",
|
||||
"The first command line parameter is the folder path and the second parameter is the relative path in the folder.": "Az elsĆ parancssori paramĂ©ter a mappa elĂ©rĂ©si Ăștja, a mĂĄsodik a relatĂv elĂ©rĂ©si Ășt a mappĂĄban.",
|
||||
"The folder ID cannot be blank.": "A mappa azonosĂtĂł nem lehet ĂŒres.",
|
||||
"The folder ID must be unique.": "A mappa azonosĂtĂł egyedi kell legyen",
|
||||
"The folder path cannot be blank.": "Az elĂ©rĂ©si Ășt nem lehet ĂŒres",
|
||||
"The encrypted usage report is sent daily. It is used to track common platforms, folder sizes and app versions. If the reported data set is changed you will be prompted with this dialog again.": "A titkosĂtott felhasznĂĄlĂĄsi adatok naponta kerĂŒlnek kĂŒldĂ©sre. Arra hasznĂĄljuk Ćket, hogy kövessĂŒk a kĂŒlönbözĆ platformokat, mappamĂ©reteket Ă©s programverziĂłkat. Az elkĂŒldött adatcsomag vĂĄltozĂĄsa esetĂ©n ismĂ©telt engedĂ©lyezĂ©si kĂ©rĂ©s fog megjelenni.",
|
||||
"The entered device ID does not look valid. It should be a 52 or 56 character string consisting of letters and numbers, with spaces and dashes being optional.": "A megadott eszközazonosĂtĂł nem tƱnik Ă©rvĂ©nyesnek. Az azonosĂtĂł 52 vagy 56 karakterbĆl kell ĂĄlljon, betƱket Ă©s szĂĄmokat tartalmazhat., opcionĂĄlisan szĂłközöket Ă©s kötĆjeleket.",
|
||||
"The first command line parameter is the folder path and the second parameter is the relative path in the folder.": "Az elsĆ parancssori paramĂ©ter a mappa elĂ©rĂ©si Ăștvonala, a mĂĄsodik a relatĂv elĂ©rĂ©si Ășt a mappĂĄban.",
|
||||
"The folder ID cannot be blank.": "A mappaazonosĂtĂł nem lehet ĂŒres.",
|
||||
"The folder ID must be unique.": "A mappaazonosĂtĂł egyedi kell legyen.",
|
||||
"The folder path cannot be blank.": "Az elĂ©rĂ©si Ăștvonal nem lehet ĂŒres.",
|
||||
"The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.": "A következĆ intervallumokat hasznĂĄljuk: egy rĂ©gi verziĂłt ĆrzĂŒnk meg az elsĆ ĂłrĂĄban minden 30 mĂĄsodpercben, az elsĆ nap minden ĂłrĂĄban, az elsĆ 30 napban minden nap, egĂ©szen addig amĂg el nem Ă©rjĂŒk a maximĂĄlisan megtarthatĂł verziĂłk szĂĄmĂĄt minden hĂ©ten.",
|
||||
"The following items could not be synchronized.": "A következĆ elemek nem szinkronizĂĄlhatĂłak.",
|
||||
"The maximum age must be a number and cannot be blank.": "A maximĂĄlis kornak szĂĄmnak kell lenni Ă©s nem lehet ĂŒres",
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "A verziók megtartåsånak maximålis ideje (napokban, ha 0-t adsz meg örökre megmaradnak).",
|
||||
"The minimum free disk space percentage must be a non-negative number between 0 and 100 (inclusive).": "A minimĂĄlis szabad terĂŒlet szĂĄzalĂ©kos, nem-negatĂv Ă©rtĂ©ke 0 Ă©s 100 között",
|
||||
"The maximum age must be a number and cannot be blank.": "A maximĂĄlis kornak szĂĄmnak kell lenni Ă©s nem lehet ĂŒres.",
|
||||
"The maximum time to keep a version (in days, set to 0 to keep versions forever).": "A verziók megtartåsånak maximålis ideje (napokban, 0-t megadva örökre megmaradnak).",
|
||||
"The minimum free disk space percentage must be a non-negative number between 0 and 100 (inclusive).": "A minimĂĄlis szabad terĂŒlet szĂĄzalĂ©kos, nem-negatĂv Ă©rtĂ©ke 0 Ă©s 100 között.",
|
||||
"The number of days must be a number and cannot be blank.": "A napok szĂĄma szĂĄm kell legyen Ă©s nem lehet ĂŒres.",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "A napok szåma ameddig a fåjlok meg lesznek tartva a szemetesben. A 0 azt jelenti örökre.",
|
||||
"The number of old versions to keep, per file.": "A megtartott régi verziók szåma, fåjlonként.",
|
||||
"The number of versions must be a number and cannot be blank.": "A megtartott verziĂłk szĂĄma nem lehet ĂŒres",
|
||||
"The path cannot be blank.": "ElĂ©rĂ©si Ășt nem lehet ĂŒres.",
|
||||
"The rate limit must be a non-negative number (0: no limit)": "Az arĂĄny limitnek pozitĂv szĂĄmnak kell lennie (0: nincs limit)",
|
||||
"The rescan interval must be a non-negative number of seconds.": "Az åtnézési intervallum nullånål nagyobb måsodperc érték kell legyen",
|
||||
"The number of days to keep files in the trash can. Zero means forever.": "A napok szåma, ameddig a fåjlok meg lesznek tartva a szemetesben. A 0 azt jelenti, hogy örökre.",
|
||||
"The number of old versions to keep, per file.": "A megtartott régi verziók szåma fåjlonként.",
|
||||
"The number of versions must be a number and cannot be blank.": "A megtartott verziĂłk szĂĄma nem lehet ĂŒres.",
|
||||
"The path cannot be blank.": "Az elĂ©rĂ©si Ăștvonal nem lehet ĂŒres.",
|
||||
"The rate limit must be a non-negative number (0: no limit)": "A sebessĂ©glimitnek pozitĂv szĂĄmnak kell lennie (0: nincs limit)",
|
||||
"The rescan interval must be a non-negative number of seconds.": "Az åtnézési intervallum nullånål nagyobb måsodperc érték kell legyen.",
|
||||
"They are retried automatically and will be synced when the error is resolved.": "A hiba javĂtĂĄsa utĂĄn automatikusan Ășjra megprĂłbĂĄlja a szinkronizĂĄlĂĄst.",
|
||||
"This Device": "Ez az eszköz",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Ăgy a hekkerek könnyedĂ©n hozzĂĄfĂ©rĂ©st szerezhetnek a gĂ©peden tĂĄrolt fĂĄjlok olvasĂĄsĂĄhoz Ă©s mĂłdosĂtĂĄsĂĄhoz.",
|
||||
"This is a major version upgrade.": "Ez egy fĆverziĂł frissĂtĂ©s.",
|
||||
"This can easily give hackers access to read and change any files on your computer.": "Ăgy a hekkerek könnyedĂ©n hozzĂĄfĂ©rĂ©st szerezhetnek a gĂ©pen tĂĄrolt fĂĄjlok olvasĂĄsĂĄhoz Ă©s mĂłdosĂtĂĄsĂĄhoz.",
|
||||
"This is a major version upgrade.": "Ez egy fĆverziĂł-frissĂtĂ©s.",
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "Ez e beĂĄllĂtĂĄs szabĂĄlyozza a szĂŒksĂ©ges szabad helyet a fĆ (pl: index, adatbĂĄzis) lemezen.",
|
||||
"Time": "IdĆ",
|
||||
"Trash Can File Versioning": "Szemetes fåjl verziókövetés",
|
||||
"Trash Can File Versioning": "Szemetes fåjlverzió-követés",
|
||||
"Type": "TĂpus",
|
||||
"Unknown": "Ismeretlen",
|
||||
"Unshared": "Nincs megosztva",
|
||||
@@ -230,27 +257,31 @@
|
||||
"Up to Date": "Friss",
|
||||
"Updated": "FrissĂtve",
|
||||
"Upgrade": "FrissĂtĂ©s",
|
||||
"Upgrade To {%version%}": "FrissĂtĂ©s a {{version}} verziĂłra",
|
||||
"Upgrade To {%version%}": "FrissĂtĂ©s a verziĂłra: {{version}}",
|
||||
"Upgrading": "FrissĂtĂ©s",
|
||||
"Upload Rate": "Feltöltési sebesség",
|
||||
"Uptime": "ĂzemidĆ",
|
||||
"Use HTTPS for GUI": "HTTPS hasznĂĄlata a felĂŒlethez",
|
||||
"Usage reporting is always enabled for candidate releases.": "Az elĆzetes kiadĂĄsokban a hasznĂĄlati jelentĂ©s mindig engedĂ©lyezett.",
|
||||
"Use HTTPS for GUI": "HTTPS hasznĂĄlata a grafikus felĂŒlethez",
|
||||
"Version": "VerziĂł",
|
||||
"Versions Path": "VerziĂłk Ăștvonala",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "A rĂ©gi verziĂłk automatikusan törlĆdnek, amennyiben öregebbek mint a maximum kor, vagy mĂĄr több van belĆlĂŒk mint az adott idĆszakban megtarthatĂł maximum.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Figyelem, ez az Ăștvonal egy meglĂ©vĆ mappa szĂŒlĆ könyvtĂĄra \"{{otherFolder}}\".",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Figyelem, ez az Ăștvonal egy meglĂ©vĆ mappa szĂŒlĆ könyvtĂĄra \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Figyelem, ez az Ăștvonal egy meglĂ©vĆ mappa alkönyvtĂĄra \"{{otherFolder}}\".",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Figyelem, ez az Ăștvonal egy meglĂ©vĆ mappa alkönyvtĂĄra \"{{otherFolderLabel}}\" ({{otherFolder}}).",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Amikor Ășj eszközt adsz hozzĂĄ, tartsd Ă©szben, hogy a mĂĄsik oldalon ezt az eszközt is hozzĂĄ kell adni.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Amikor Ășj mappĂĄt adsz hozzĂĄ, tartsd Ă©szben, hogy a mappa azonosĂtĂł arra valĂł hogy összekösd a mappĂĄkat az eszközeiden. Az azonosĂtĂł kisbetƱ-nagybetƱ Ă©rzĂ©keny Ă©s pontosan egyeznie kell az eszközökön.",
|
||||
"Versions are automatically deleted if they are older than the maximum age or exceed the number of files allowed in an interval.": "A rĂ©gi verziĂłk automatikusan törlĆdnek, amennyiben öregebbek, mint a maximum kor, vagy mĂĄr több van belĆlĂŒk, mint az adott idĆszakban megtarthatĂł maximum.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolder%}\".": "Figyelem, ez az Ăștvonal a meglĂ©vĆ â{{otherFolder}}â mappa szĂŒlĆmappĂĄja.",
|
||||
"Warning, this path is a parent directory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Figyelem, ez az Ăștvonal a meglĂ©vĆ â{{otherFolderLabel}}â ({{otherFolder}}) mappa szĂŒlĆmappĂĄja.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolder%}\".": "Figyelem, ez az Ăștvonal a meglĂ©vĆ â{{otherFolder}}â mappa almappĂĄja.",
|
||||
"Warning, this path is a subdirectory of an existing folder \"{%otherFolderLabel%}\" ({%otherFolder%}).": "Figyelem, ez az Ăștvonal a meglĂ©vĆ â{{otherFolderLabel}}â ({{otherFolder}}) mappa almappĂĄja.",
|
||||
"When adding a new device, keep in mind that this device must be added on the other side too.": "Ăj eszköz hozzĂĄadĂĄsakor nem szabad elfeledkezni arrĂłl, hogy a mĂĄsik oldalon ezt az eszközt is hozzĂĄ kell adni.",
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "Ăj eszköz hozzĂĄadĂĄsakor Ă©szben kell tartani, hogy a mappaazonosĂtĂł arra valĂł, hogy összekösse a mappĂĄkat az eszközökön. Az azonosĂtĂł kisbetƱ-nagybetƱ Ă©rzĂ©keny Ă©s pontosan egyeznie kell az eszközökön.",
|
||||
"Yes": "Igen",
|
||||
"You must keep at least one version.": "LegalĂĄbb egy verziĂłt meg kell tartanod.",
|
||||
"You can also select one of these nearby devices:": "Az alĂĄbbi közelben lĂ©vĆ eszközök közĂŒl lehet vĂĄlasztani:",
|
||||
"You can change your choice at any time in the Settings dialog.": "A beĂĄllĂtĂĄsoknĂĄl bĂĄrmikor mĂłdosĂthatod a vĂĄlasztĂĄsodat.",
|
||||
"You can read more about the two release channels at the link below.": "A két kiadåsi csatornåról az alåbbi linken olvashatsz tovåbbi informåciókat.",
|
||||
"You must keep at least one version.": "LegalĂĄbb egy verziĂłt meg kell tartani.",
|
||||
"days": "nap",
|
||||
"directories": "könyvtårak",
|
||||
"files": "fĂĄjlok",
|
||||
"directories": "mappa",
|
||||
"files": "fĂĄjl",
|
||||
"full documentation": "teljes dokumentĂĄciĂł",
|
||||
"items": "elem",
|
||||
"{%device%} wants to share folder \"{%folder%}\".": "{{device}} meg szeretné osztani a \"{{folder}}\" nevƱ mappåt.",
|
||||
"{%device%} wants to share folder \"{%folderlabel%}\" ({%folder%}).": "{{device}} szeretné megosztani \"{{folderlabel}}\" ({{folder}}) mappåt."
|
||||
"{%device%} wants to share folder \"{%folder%}\".": "{{device}} szeretnĂ© megosztani a mappĂĄt: â{{folder}}â.",
|
||||
"{%device%} wants to share folder \"{%folderlabel%}\" ({%folder%}).": "{{device}} szeretnĂ© megosztani a mappĂĄt: â{{folderlabel}}â ({{folder}})."
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user