mirror of
https://github.com/gogs/gogs.git
synced 2026-03-01 17:50:59 +01:00
Compare commits
1344 Commits
v0.11.43
...
latest-com
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
df467d8ff1 | ||
|
|
36d56d5525 | ||
|
|
5f17b670b3 | ||
|
|
ea682c5bbc | ||
|
|
9001a68cdd | ||
|
|
295bfba729 | ||
|
|
ac21150a53 | ||
|
|
a000f0c7a6 | ||
|
|
a976fd2f9c | ||
|
|
441c64d7bd | ||
|
|
5c67d47512 | ||
|
|
94d6e53dc2 | ||
|
|
a1fa62b270 | ||
|
|
317e28b908 | ||
|
|
069d3535d6 | ||
|
|
81ee883644 | ||
|
|
400ae7bd28 | ||
|
|
630ae0b3b0 | ||
|
|
3c358ede6d | ||
|
|
48500aa2b0 | ||
|
|
785157ba1f | ||
|
|
1c8016a27b | ||
|
|
00c36d8d8a | ||
|
|
3747cd9058 | ||
|
|
08e7cfd76c | ||
|
|
9dd3e58f7b | ||
|
|
edc1478f6b | ||
|
|
bb86d12c36 | ||
|
|
bf17cc6c69 | ||
|
|
6d56105f8f | ||
|
|
ed5d02e036 | ||
|
|
5874791a57 | ||
|
|
17ad3d3425 | ||
|
|
9b2a967e45 | ||
|
|
e80635a449 | ||
|
|
47bccf292d | ||
|
|
38def73489 | ||
|
|
6cf6422b88 | ||
|
|
8d8d66ec1d | ||
|
|
7ea2c4093f | ||
|
|
7ebfb202e4 | ||
|
|
7b8c560f15 | ||
|
|
a636dcf678 | ||
|
|
3dcb74be39 | ||
|
|
7ad425025e | ||
|
|
85abee4b9b | ||
|
|
997c3c5eab | ||
|
|
a5ddb2665e | ||
|
|
b68e6886c6 | ||
|
|
ac7ba9c8a7 | ||
|
|
dd862ee058 | ||
|
|
f94042ce6f | ||
|
|
628216d588 | ||
|
|
7306b955a9 | ||
|
|
fc6d1e2055 | ||
|
|
3b01892d85 | ||
|
|
7b7e38c880 | ||
|
|
bb68c0a042 | ||
|
|
68271e6af0 | ||
|
|
4f5b00f8c4 | ||
|
|
5d3ffd132b | ||
|
|
ee65aa89ca | ||
|
|
a1a97de76f | ||
|
|
9963268267 | ||
|
|
49a45290ae | ||
|
|
3cc8e7aa6d | ||
|
|
9f1499f3ab | ||
|
|
77dba1b5ea | ||
|
|
f70f29fdb0 | ||
|
|
ed6109d35d | ||
|
|
54e08ba678 | ||
|
|
87c8faaf08 | ||
|
|
1b226ca48d | ||
|
|
e3bb4165dc | ||
|
|
df3d945a2c | ||
|
|
ae41bab5f2 | ||
|
|
2316b09eaf | ||
|
|
3477bbac0e | ||
|
|
bb3cab921b | ||
|
|
1cdeef2ce8 | ||
|
|
a7bc1637db | ||
|
|
f1102a7a7c | ||
|
|
26ef07f60d | ||
|
|
ca59e76a53 | ||
|
|
27f1250d00 | ||
|
|
560f92ec5f | ||
|
|
1bbc36149a | ||
|
|
4ee706b2bf | ||
|
|
ae59787ff5 | ||
|
|
389ec54b2c | ||
|
|
5544212adb | ||
|
|
6e1e4cb848 | ||
|
|
8e08450182 | ||
|
|
beeeb64969 | ||
|
|
3ef71a43d9 | ||
|
|
e44284fada | ||
|
|
b7010084b7 | ||
|
|
b8ab712819 | ||
|
|
59e9fa191b | ||
|
|
553707f3fd | ||
|
|
b6030ba713 | ||
|
|
e68949dd13 | ||
|
|
f813c17565 | ||
|
|
5e7c599755 | ||
|
|
2c88cd4d9f | ||
|
|
04cc48339f | ||
|
|
3666718ec5 | ||
|
|
4cc83c498b | ||
|
|
332c0895e6 | ||
|
|
16f466d1c1 | ||
|
|
5e3f45e7f5 | ||
|
|
994b769d9d | ||
|
|
3488e22a40 | ||
|
|
d0d4de70ca | ||
|
|
79cc921892 | ||
|
|
1347c7802f | ||
|
|
89f0f86c7e | ||
|
|
6a6364bb5d | ||
|
|
35c047dc9d | ||
|
|
e4923af32d | ||
|
|
0533fb7744 | ||
|
|
28810f7db7 | ||
|
|
cfe38e0a08 | ||
|
|
110da379c1 | ||
|
|
37962fcc0b | ||
|
|
7265a7cd26 | ||
|
|
521fbe34f6 | ||
|
|
1375bc401a | ||
|
|
28f83626d4 | ||
|
|
dcf8d9340e | ||
|
|
76b5d75d79 | ||
|
|
454175ece2 | ||
|
|
d940e692ec | ||
|
|
7fc19d094c | ||
|
|
4e3bf27fe2 | ||
|
|
16b8b0974e | ||
|
|
f004b5b472 | ||
|
|
591810e405 | ||
|
|
3c2112215f | ||
|
|
9db5c30c36 | ||
|
|
49f4d4312b | ||
|
|
0cf12eccae | ||
|
|
495c38825a | ||
|
|
60b912ddda | ||
|
|
4d6a0ebaac | ||
|
|
54fa465da5 | ||
|
|
54cd8fd160 | ||
|
|
7abc81c4d2 | ||
|
|
493834861d | ||
|
|
9a539393bd | ||
|
|
139ea3ce7d | ||
|
|
4acaaac85a | ||
|
|
e93ced2163 | ||
|
|
9672b6dd6c | ||
|
|
7a12c8418e | ||
|
|
2208f17e8e | ||
|
|
46a84fdad5 | ||
|
|
9c80e6d922 | ||
|
|
3a952bd248 | ||
|
|
96d5d622b8 | ||
|
|
b59e943aa6 | ||
|
|
371a6092de | ||
|
|
e6896eb393 | ||
|
|
6c04a1ce7c | ||
|
|
6bdbb88fb8 | ||
|
|
6b4e8668a1 | ||
|
|
d8f562b6ad | ||
|
|
f1e64008fb | ||
|
|
cfde357824 | ||
|
|
3459f8df49 | ||
|
|
c0332ff856 | ||
|
|
e1042e7d47 | ||
|
|
76831d0d06 | ||
|
|
68b3c8f339 | ||
|
|
77a4a945ae | ||
|
|
b09f317aa0 | ||
|
|
009a1855aa | ||
|
|
fb7812b194 | ||
|
|
00bd6081a5 | ||
|
|
5326b4113a | ||
|
|
7adac94f1e | ||
|
|
c5dff8cdad | ||
|
|
8a39d529d0 | ||
|
|
740eba4f70 | ||
|
|
9a9388ace2 | ||
|
|
8a3b8198af | ||
|
|
c94baec9ca | ||
|
|
25a799ad63 | ||
|
|
f518abaff1 | ||
|
|
58fa30c7be | ||
|
|
a02d6a22d6 | ||
|
|
7a2dffa95a | ||
|
|
2541348408 | ||
|
|
f037c58eee | ||
|
|
e5e03cba24 | ||
|
|
07380780c6 | ||
|
|
3a8bd73901 | ||
|
|
79bd350ad6 | ||
|
|
0700cef63e | ||
|
|
e34ebac459 | ||
|
|
03d26b0482 | ||
|
|
e6d4db0b4c | ||
|
|
69d74485f0 | ||
|
|
9401784421 | ||
|
|
93aba5a6b7 | ||
|
|
9108970e45 | ||
|
|
0965db473f | ||
|
|
f1f6d3f37d | ||
|
|
8e195067df | ||
|
|
5d6bc5c9fd | ||
|
|
8869354d21 | ||
|
|
5bdf91e73c | ||
|
|
54776c776a | ||
|
|
f2ff885f33 | ||
|
|
6cb018df2f | ||
|
|
f4a78e5cfb | ||
|
|
1815fd5c36 | ||
|
|
15d64e0f23 | ||
|
|
15077b13e3 | ||
|
|
87f47166ac | ||
|
|
c8cd3e7125 | ||
|
|
ce350e768a | ||
|
|
56a1712275 | ||
|
|
f8a3e7153f | ||
|
|
6f9b63517d | ||
|
|
1eae0b2fce | ||
|
|
24f06bb088 | ||
|
|
015589cdd9 | ||
|
|
ba17b9b56b | ||
|
|
3b8c9ba7ab | ||
|
|
f915eb3a40 | ||
|
|
c036214c45 | ||
|
|
b8ed5d8d91 | ||
|
|
d9ecdcaef0 | ||
|
|
202012887a | ||
|
|
4d05804729 | ||
|
|
e1e75ed36b | ||
|
|
895e553e68 | ||
|
|
5cf0189df1 | ||
|
|
8d2386b4db | ||
|
|
dd49412edd | ||
|
|
b89f20e02d | ||
|
|
e634aa6277 | ||
|
|
3a5132b6f7 | ||
|
|
b9e41f28c3 | ||
|
|
6d77d6204d | ||
|
|
f73edbd172 | ||
|
|
fa84482d98 | ||
|
|
6c63a88ef0 | ||
|
|
35c59d2c24 | ||
|
|
6d77bcebaa | ||
|
|
605c751926 | ||
|
|
8054ffc12f | ||
|
|
917c14f2ce | ||
|
|
dfe27ad556 | ||
|
|
3616bc03c9 | ||
|
|
10cd022e08 | ||
|
|
3650b32ec5 | ||
|
|
cad79a31d8 | ||
|
|
077141d2ba | ||
|
|
cd3f132844 | ||
|
|
ff7dc29ad3 | ||
|
|
87a5ae3f61 | ||
|
|
6bd09e75fe | ||
|
|
7b06bf642a | ||
|
|
b6e4b379c1 | ||
|
|
5e96f64b83 | ||
|
|
41d473e999 | ||
|
|
25fdeaac49 | ||
|
|
0c7b45ad1f | ||
|
|
5293781c0d | ||
|
|
7a2c691c5b | ||
|
|
dfc129ee98 | ||
|
|
1c711bc8d4 | ||
|
|
31a0964e12 | ||
|
|
b644d797b4 | ||
|
|
61940ca879 | ||
|
|
16b185f97d | ||
|
|
c531da02ca | ||
|
|
bc1b5e52a9 | ||
|
|
0b5257425f | ||
|
|
7fb3dcb1eb | ||
|
|
5c3fde8531 | ||
|
|
7bffc0d0e3 | ||
|
|
748c67df8b | ||
|
|
2d9be6c06b | ||
|
|
493a56b262 | ||
|
|
3350740563 | ||
|
|
89b123f9d1 | ||
|
|
4821e89780 | ||
|
|
e989093129 | ||
|
|
018337ddfb | ||
|
|
fde10f1236 | ||
|
|
48710b9793 | ||
|
|
069f1ed9a4 | ||
|
|
1112a71ea5 | ||
|
|
9d86838fa7 | ||
|
|
f187005581 | ||
|
|
7efda8e8fc | ||
|
|
2620cc3e8d | ||
|
|
af77cbb759 | ||
|
|
65e14b18ec | ||
|
|
738ac3c03b | ||
|
|
7a0a07628d | ||
|
|
c373a92da6 | ||
|
|
23ea4863f1 | ||
|
|
8940778bb8 | ||
|
|
53c009288c | ||
|
|
3be3ae500b | ||
|
|
9ab8bd6785 | ||
|
|
9e91602b42 | ||
|
|
b13cb438d1 | ||
|
|
69802f07b7 | ||
|
|
c426e9b8ad | ||
|
|
97ccf329b1 | ||
|
|
89b759e2ed | ||
|
|
1fb33bd586 | ||
|
|
0ca017d0a8 | ||
|
|
75767078aa | ||
|
|
22bf85b6f5 | ||
|
|
b2ea82c8d8 | ||
|
|
7fae076155 | ||
|
|
ed825c6273 | ||
|
|
795cac1dd0 | ||
|
|
ad3f9ac068 | ||
|
|
0721ef2399 | ||
|
|
9ac93067f6 | ||
|
|
167cdb09e3 | ||
|
|
ada1083462 | ||
|
|
5df9668063 | ||
|
|
249668a2b9 | ||
|
|
66364d9c02 | ||
|
|
077c80d258 | ||
|
|
79bda9df35 | ||
|
|
6e5f9e8a1b | ||
|
|
7e5db4ba42 | ||
|
|
7be3ea194f | ||
|
|
d119526bde | ||
|
|
c3f1331a5e | ||
|
|
8de873be86 | ||
|
|
eeb397a0ac | ||
|
|
5432293224 | ||
|
|
5da1e62426 | ||
|
|
057ae983a0 | ||
|
|
f473643d29 | ||
|
|
b96b8eb389 | ||
|
|
70777899f8 | ||
|
|
cdde49978b | ||
|
|
0ddab94774 | ||
|
|
5483d97f73 | ||
|
|
6fa552994a | ||
|
|
bd0ab704af | ||
|
|
cd7b3cf971 | ||
|
|
fb6693f612 | ||
|
|
a98968436c | ||
|
|
540134d443 | ||
|
|
6244daa3ea | ||
|
|
689e71ff2c | ||
|
|
361a681225 | ||
|
|
73ae88badf | ||
|
|
72d51347ec | ||
|
|
dc37bf5794 | ||
|
|
9e5fa984f8 | ||
|
|
3e3d6eda12 | ||
|
|
9110059797 | ||
|
|
15d0d6a94b | ||
|
|
0f8c71d3b3 | ||
|
|
8f9895acaf | ||
|
|
2a375007ee | ||
|
|
c63448e357 | ||
|
|
5db49a8892 | ||
|
|
1a1b50d786 | ||
|
|
b34ee73497 | ||
|
|
92f66c9eac | ||
|
|
3a28168d41 | ||
|
|
ef1fe1bb3b | ||
|
|
8350daf505 | ||
|
|
133b9d9044 | ||
|
|
7c453d5b36 | ||
|
|
b6df33fa72 | ||
|
|
8d6b964099 | ||
|
|
7ff09cf359 | ||
|
|
3c43b9b21c | ||
|
|
5887bc116f | ||
|
|
6d220540c1 | ||
|
|
ed51686240 | ||
|
|
cc4d4eacad | ||
|
|
c53a1998c5 | ||
|
|
614382fec0 | ||
|
|
9df10cb8cc | ||
|
|
5c47ecfcb8 | ||
|
|
3d8004cf6f | ||
|
|
a3e2adeda2 | ||
|
|
63117f46ee | ||
|
|
cf70284de9 | ||
|
|
367f2907df | ||
|
|
16aded2743 | ||
|
|
12b46b7757 | ||
|
|
6133415f6d | ||
|
|
c53b7e9698 | ||
|
|
c5d07b8bf9 | ||
|
|
2fc1e35943 | ||
|
|
83335043e2 | ||
|
|
a5ad63a005 | ||
|
|
ae20d03aec | ||
|
|
44333afd20 | ||
|
|
13099a7e4f | ||
|
|
a7dbc970df | ||
|
|
644a3a9d78 | ||
|
|
93736cbc12 | ||
|
|
b157cc8b06 | ||
|
|
1d65c8e3ef | ||
|
|
cdf4f59cb4 | ||
|
|
5fb29db2db | ||
|
|
b5d47b9692 | ||
|
|
fd798b4197 | ||
|
|
a66c90462d | ||
|
|
3af5a424f0 | ||
|
|
a9e3fa3ce5 | ||
|
|
75ee18f87e | ||
|
|
d44978c940 | ||
|
|
516cf7d077 | ||
|
|
1905b19ee7 | ||
|
|
131be6e074 | ||
|
|
49be63abbf | ||
|
|
f2b158159c | ||
|
|
f6acc4763e | ||
|
|
3265abfbc2 | ||
|
|
d0a4a3401c | ||
|
|
c58c893621 | ||
|
|
ef0388045f | ||
|
|
b1fefcbe50 | ||
|
|
8077360cf6 | ||
|
|
2e020b1cf6 | ||
|
|
742bc36edd | ||
|
|
a7299bbb8d | ||
|
|
11edc09681 | ||
|
|
b9f5cfddc1 | ||
|
|
fd5874b07b | ||
|
|
ce25881c88 | ||
|
|
7cbd84d5b3 | ||
|
|
c502dc6ed8 | ||
|
|
260e990be7 | ||
|
|
2df4b61eb2 | ||
|
|
689991578e | ||
|
|
a9bce79c6b | ||
|
|
ac86936797 | ||
|
|
dcf9c111b6 | ||
|
|
50e5766867 | ||
|
|
8982a42d38 | ||
|
|
fb00e3e56f | ||
|
|
a0b8f5464e | ||
|
|
777fb14fc9 | ||
|
|
25d6b168c5 | ||
|
|
c9fd177998 | ||
|
|
02973f7f80 | ||
|
|
360280b0ea | ||
|
|
82e29c6bd3 | ||
|
|
cefbaa08d9 | ||
|
|
87def3de5f | ||
|
|
9ea258e97f | ||
|
|
7e6fc2603e | ||
|
|
4487890979 | ||
|
|
be775e2ffa | ||
|
|
cee6ef39ee | ||
|
|
5910265e13 | ||
|
|
a43b933c90 | ||
|
|
cfa5ddbde8 | ||
|
|
a21f0b0540 | ||
|
|
ad796b8ba5 | ||
|
|
db82024fc7 | ||
|
|
780b33c639 | ||
|
|
a5d3e1900e | ||
|
|
ab7133b35a | ||
|
|
75cc3ce172 | ||
|
|
05a6a9d6e9 | ||
|
|
25a2b716ad | ||
|
|
1d48df3fd1 | ||
|
|
b8294a460e | ||
|
|
6043bf20fe | ||
|
|
1cd501b107 | ||
|
|
0022566a3a | ||
|
|
5f3d44ec00 | ||
|
|
25b49294b2 | ||
|
|
a8e43f63a1 | ||
|
|
fb52bd6fea | ||
|
|
bc5c739047 | ||
|
|
97ccb365ec | ||
|
|
083c3ee659 | ||
|
|
9df4e3ae3c | ||
|
|
4a3dc6c774 | ||
|
|
c0db4a7f1b | ||
|
|
04fe4c86ec | ||
|
|
b772603d78 | ||
|
|
2e19f5a3c8 | ||
|
|
63cb76106a | ||
|
|
1df62fafb9 | ||
|
|
5e32058c13 | ||
|
|
75fbb82440 | ||
|
|
f837ea6346 | ||
|
|
9776bdc9b8 | ||
|
|
94059f291d | ||
|
|
318fb25761 | ||
|
|
577621d463 | ||
|
|
7229dd893f | ||
|
|
0918d8758b | ||
|
|
fe1d07f29c | ||
|
|
390fd3d283 | ||
|
|
8304574738 | ||
|
|
727d4dbbe0 | ||
|
|
d6c6b901f0 | ||
|
|
9bf748b6c4 | ||
|
|
e3706575d5 | ||
|
|
2ca014250f | ||
|
|
325904ce5a | ||
|
|
fa36765373 | ||
|
|
55a8079c83 | ||
|
|
0a92ad27ef | ||
|
|
4cc3000b07 | ||
|
|
a328e7ccc4 | ||
|
|
155cae1de8 | ||
|
|
64e09476c7 | ||
|
|
4455cc1244 | ||
|
|
38aff73251 | ||
|
|
69827490e0 | ||
|
|
75e10445ca | ||
|
|
5f0999243a | ||
|
|
09ddb8761f | ||
|
|
ccdcb1c45b | ||
|
|
5f34265db6 | ||
|
|
05cdf8616b | ||
|
|
c0941f4631 | ||
|
|
5414ae14a9 | ||
|
|
b782400b92 | ||
|
|
7885f454a4 | ||
|
|
90bc752297 | ||
|
|
519aeefbd9 | ||
|
|
649e9e7f8c | ||
|
|
d466c96229 | ||
|
|
38dbfee56c | ||
|
|
069d832a51 | ||
|
|
04d3946511 | ||
|
|
d7bda9ac0e | ||
|
|
8356dc7774 | ||
|
|
1496988ac1 | ||
|
|
d54e153fc8 | ||
|
|
e65071d3aa | ||
|
|
b4624bd468 | ||
|
|
bdff033492 | ||
|
|
e01b0ce0d1 | ||
|
|
c4b770f305 | ||
|
|
a6c53eb068 | ||
|
|
705126cac8 | ||
|
|
cdc904e49e | ||
|
|
7ca5c8ca72 | ||
|
|
e51e016834 | ||
|
|
f7802b9227 | ||
|
|
a76aff36d0 | ||
|
|
f45dbf3e76 | ||
|
|
cb35b73048 | ||
|
|
a61a4389ec | ||
|
|
f1755f5bc5 | ||
|
|
71fc57f8a0 | ||
|
|
f2c3027f50 | ||
|
|
39adf6e55a | ||
|
|
4d33a5b5a8 | ||
|
|
26fce15bcf | ||
|
|
a230b3de22 | ||
|
|
e5350b9627 | ||
|
|
a7693cbc86 | ||
|
|
69514d2fc8 | ||
|
|
0778db4228 | ||
|
|
5911b0296b | ||
|
|
8acbc2d1de | ||
|
|
f37a8d82c1 | ||
|
|
2601b40ffa | ||
|
|
5acbd7bcc3 | ||
|
|
5910f77e42 | ||
|
|
efa572162f | ||
|
|
5c4db08968 | ||
|
|
f44a693bbd | ||
|
|
3f439f15c3 | ||
|
|
6dbeb16d21 | ||
|
|
c5549b442b | ||
|
|
70c6f0a490 | ||
|
|
f37cd9672c | ||
|
|
9bce320160 | ||
|
|
22fb91cff9 | ||
|
|
3c49a6173d | ||
|
|
d66fe583d5 | ||
|
|
72c2d6ab70 | ||
|
|
70ff8d787a | ||
|
|
0300f88602 | ||
|
|
f36eeedbf8 | ||
|
|
e10ec6f3b8 | ||
|
|
d753a48a7d | ||
|
|
32c454ba5f | ||
|
|
39f64a1371 | ||
|
|
3539de754d | ||
|
|
1791665f74 | ||
|
|
def6fcc4dc | ||
|
|
d392bc6e9a | ||
|
|
714383a063 | ||
|
|
a2c6325261 | ||
|
|
aeb5e34490 | ||
|
|
775901058d | ||
|
|
3e35371754 | ||
|
|
bd12d46e79 | ||
|
|
82ee089088 | ||
|
|
61529fd780 | ||
|
|
aac91b3611 | ||
|
|
4ca87057f3 | ||
|
|
553d32ce7d | ||
|
|
940a7da9d1 | ||
|
|
242deca524 | ||
|
|
bb19f52c05 | ||
|
|
e75ee730b8 | ||
|
|
36102f1689 | ||
|
|
e452d94fc8 | ||
|
|
2466da4e82 | ||
|
|
09dbbf9a69 | ||
|
|
b7372b1f32 | ||
|
|
5afca6ca8e | ||
|
|
deec3516d5 | ||
|
|
65526f84e1 | ||
|
|
442609fa17 | ||
|
|
2d609b8b31 | ||
|
|
3acc13038d | ||
|
|
ab96a4f0d8 | ||
|
|
7c893a58da | ||
|
|
ed81fc5a01 | ||
|
|
8f6c4341f7 | ||
|
|
175e4f228d | ||
|
|
325f4f9560 | ||
|
|
c7e8c145d1 | ||
|
|
6d77712b1b | ||
|
|
8442d8530a | ||
|
|
9a164bcb45 | ||
|
|
8a1a40ce6a | ||
|
|
f6494d22ee | ||
|
|
3d24360f20 | ||
|
|
815624c88a | ||
|
|
47a996ba4b | ||
|
|
5e8444ed0f | ||
|
|
dfe8fbde84 | ||
|
|
3a5ccc18cf | ||
|
|
82e5fd018b | ||
|
|
2071eb634f | ||
|
|
e6c5633f58 | ||
|
|
6ccc1ce804 | ||
|
|
74886d95d0 | ||
|
|
acf2df3688 | ||
|
|
9ae80a6173 | ||
|
|
c8476b1c2e | ||
|
|
cbe775aee2 | ||
|
|
5e43fa92ff | ||
|
|
539e2a8b42 | ||
|
|
5f250de8ad | ||
|
|
2e625a051d | ||
|
|
3e948fd792 | ||
|
|
b52bea7503 | ||
|
|
a9be4de5a5 | ||
|
|
14481533b8 | ||
|
|
2519f28632 | ||
|
|
22caf7b659 | ||
|
|
ee9ab396dc | ||
|
|
dc07fbe753 | ||
|
|
d19af039e7 | ||
|
|
37383d9a1f | ||
|
|
165d5051b5 | ||
|
|
8d9f61c467 | ||
|
|
a72bac54d5 | ||
|
|
7878465567 | ||
|
|
c82dc04cbb | ||
|
|
69380e4934 | ||
|
|
b6ab8cd68d | ||
|
|
0d0dc67141 | ||
|
|
f0b21aff91 | ||
|
|
160a0b77cf | ||
|
|
6528bf35dc | ||
|
|
da56873d37 | ||
|
|
c6968105e5 | ||
|
|
f1f3e970b9 | ||
|
|
b827a2f342 | ||
|
|
5f4e07eb4f | ||
|
|
b1193607c2 | ||
|
|
eeef90a475 | ||
|
|
a523138e51 | ||
|
|
6ec001f944 | ||
|
|
55070da239 | ||
|
|
6f2b7fb853 | ||
|
|
899ec7ed54 | ||
|
|
8ee734b1df | ||
|
|
7867163bfd | ||
|
|
82652f0f08 | ||
|
|
d60d9cf985 | ||
|
|
63bd4bb4b1 | ||
|
|
de3161155b | ||
|
|
8938855b40 | ||
|
|
55e5a7c25a | ||
|
|
fa3d011415 | ||
|
|
b9a3626cad | ||
|
|
b3eb33be0f | ||
|
|
4a89438454 | ||
|
|
f524e4f932 | ||
|
|
156b91baff | ||
|
|
764e901689 | ||
|
|
8f6757cc7b | ||
|
|
7445dec1b4 | ||
|
|
ba8be9489e | ||
|
|
12ab7efdb0 | ||
|
|
3993b65bbf | ||
|
|
fb969f8492 | ||
|
|
8f8a27c904 | ||
|
|
d8fa08111b | ||
|
|
4077f27592 | ||
|
|
1a1a01a842 | ||
|
|
c4cf659e32 | ||
|
|
d6987ee05b | ||
|
|
509a392272 | ||
|
|
af6510fd17 | ||
|
|
cd4d79cf99 | ||
|
|
10e7c42a83 | ||
|
|
7676b59b02 | ||
|
|
0ff888c989 | ||
|
|
6b4a5b5e91 | ||
|
|
72af17bbbe | ||
|
|
c875950c43 | ||
|
|
71eeb2f0c0 | ||
|
|
99f1b9899f | ||
|
|
bee3bebb4e | ||
|
|
efcb8bbca6 | ||
|
|
cd469f7a1d | ||
|
|
c7f58ca870 | ||
|
|
b34d040c78 | ||
|
|
afaf6da405 | ||
|
|
7bef64a0d6 | ||
|
|
146960368f | ||
|
|
997ba0fef0 | ||
|
|
6f735cc2da | ||
|
|
8b35485ee5 | ||
|
|
428276d7a8 | ||
|
|
053695b63d | ||
|
|
b4bb83e68f | ||
|
|
2989a5e0f5 | ||
|
|
9844d2c96a | ||
|
|
ab16ca0580 | ||
|
|
f0a9ec21cd | ||
|
|
6c5fd05a31 | ||
|
|
1744f238e1 | ||
|
|
fd765bd88f | ||
|
|
533b6b0de2 | ||
|
|
bf3c9061a2 | ||
|
|
b60e2c65d3 | ||
|
|
e44ac3c20a | ||
|
|
2eaf1d693a | ||
|
|
a92d818aa3 | ||
|
|
ca3330cecd | ||
|
|
cf86546dff | ||
|
|
8e028c32d4 | ||
|
|
c082bf72af | ||
|
|
906c6a5ba0 | ||
|
|
a6bd00f807 | ||
|
|
7797efe1bb | ||
|
|
be86d67e81 | ||
|
|
23823e9698 | ||
|
|
7bc3ee49aa | ||
|
|
8fc4013240 | ||
|
|
211a1394b8 | ||
|
|
73e5936220 | ||
|
|
e4e46d8fbc | ||
|
|
b4abbf3ac8 | ||
|
|
83a89127fd | ||
|
|
6ed98ca8f6 | ||
|
|
3af91d7cfd | ||
|
|
b836a56e6e | ||
|
|
c56db8f2c4 | ||
|
|
dda1092e74 | ||
|
|
8b75e9a442 | ||
|
|
1da1e90d1e | ||
|
|
9a268ca7f5 | ||
|
|
d85504a9d1 | ||
|
|
8658ded190 | ||
|
|
04b11d3a07 | ||
|
|
56eac57222 | ||
|
|
594a2dc41f | ||
|
|
06193ed825 | ||
|
|
519e59b577 | ||
|
|
771d3673f5 | ||
|
|
2cb83f13fd | ||
|
|
2665b5968c | ||
|
|
7a649ada09 | ||
|
|
a533e8fb52 | ||
|
|
bb93cabd39 | ||
|
|
c4360747a3 | ||
|
|
23ff182d1f | ||
|
|
cb88caa2d2 | ||
|
|
cf216f12a1 | ||
|
|
a22fd01959 | ||
|
|
b38139a855 | ||
|
|
1a681ad022 | ||
|
|
f6d672a3cd | ||
|
|
016d9d8c88 | ||
|
|
c769f2566a | ||
|
|
423f9e6de7 | ||
|
|
bbef32b1ef | ||
|
|
92953007de | ||
|
|
4ecd588776 | ||
|
|
4e5b7c5d24 | ||
|
|
c1db31c130 | ||
|
|
a02b3e1258 | ||
|
|
afb445bb57 | ||
|
|
92c5f94fe7 | ||
|
|
a840ae9035 | ||
|
|
0a5977e951 | ||
|
|
a7fb211827 | ||
|
|
3ed8c292c2 | ||
|
|
13ae25b785 | ||
|
|
40513a117f | ||
|
|
f0761eb7ec | ||
|
|
05477f1d29 | ||
|
|
ac4a708307 | ||
|
|
720cb5fcb1 | ||
|
|
c7a10dd90d | ||
|
|
178b73fecd | ||
|
|
bc8428ca42 | ||
|
|
90b1ee1dfa | ||
|
|
7f9a4b7578 | ||
|
|
e789f82979 | ||
|
|
c6143edb44 | ||
|
|
252d0fd977 | ||
|
|
d1caae3f79 | ||
|
|
874d2fd602 | ||
|
|
32adb0f2da | ||
|
|
f3993b9cdb | ||
|
|
a961afe52b | ||
|
|
f667d139bc | ||
|
|
90904b3f42 | ||
|
|
a7afa11610 | ||
|
|
2fe4d07599 | ||
|
|
da4f5d79f5 | ||
|
|
2af4114d64 | ||
|
|
8366bd1cbe | ||
|
|
79d8aa0cb8 | ||
|
|
e62bccde9e | ||
|
|
516c7ab505 | ||
|
|
158dd33a25 | ||
|
|
7e99a6ce42 | ||
|
|
cb406bb350 | ||
|
|
9bbe029c28 | ||
|
|
280b06485f | ||
|
|
50797d8fa1 | ||
|
|
2003864615 | ||
|
|
1125bb5848 | ||
|
|
44ea9604ed | ||
|
|
d28101ee66 | ||
|
|
9fd4f5562d | ||
|
|
9bb218734c | ||
|
|
82ffca3fc9 | ||
|
|
d9f8efa9c3 | ||
|
|
f26eb2a192 | ||
|
|
dbe373af6f | ||
|
|
4e1f38ce28 | ||
|
|
60273d3d6d | ||
|
|
5a52ee75e3 | ||
|
|
c0fd6042fd | ||
|
|
fc57c921b1 | ||
|
|
7b295378e4 | ||
|
|
9d64d222a8 | ||
|
|
fa497b1633 | ||
|
|
e131a45646 | ||
|
|
28d74a9844 | ||
|
|
5637706e46 | ||
|
|
614aba6007 | ||
|
|
440b1ecbfd | ||
|
|
cdafe21661 | ||
|
|
844d2f49ce | ||
|
|
cb439a126a | ||
|
|
659acd48b1 | ||
|
|
d19287d5b7 | ||
|
|
26a2d0b2a1 | ||
|
|
ae107b2e6e | ||
|
|
41f56ad05d | ||
|
|
76bb647d24 | ||
|
|
e077ecdd9d | ||
|
|
62dda96159 | ||
|
|
5753d4cb87 | ||
|
|
e186a3d2c9 | ||
|
|
9a5b227f3e | ||
|
|
3e055e329c | ||
|
|
5b36ba66c2 | ||
|
|
e79aebb3e1 | ||
|
|
6a096811ff | ||
|
|
cac1054acb | ||
|
|
f3b05961aa | ||
|
|
4ebdcb719a | ||
|
|
571be84e26 | ||
|
|
2b3655fa11 | ||
|
|
ca2f7a7e16 | ||
|
|
ee0ea2c5fc | ||
|
|
4d7db6e1c1 | ||
|
|
559af54e66 | ||
|
|
083ecb7244 | ||
|
|
07818d5fa5 | ||
|
|
bae1d6ccd8 | ||
|
|
3a5c93eeff | ||
|
|
4aff4d66ec | ||
|
|
53b91ef306 | ||
|
|
34145c990d | ||
|
|
2bd9d0b9c8 | ||
|
|
a603c0f1fc | ||
|
|
5b8ed0add9 | ||
|
|
fd7931cd2b | ||
|
|
72111e698e | ||
|
|
dce70fe6d1 | ||
|
|
63ab497f6f | ||
|
|
afe226cd16 | ||
|
|
efa9ef78c8 | ||
|
|
b5a06618fa | ||
|
|
f0f3b8707b | ||
|
|
045e1670a4 | ||
|
|
6298e33b8b | ||
|
|
a8a6325054 | ||
|
|
4cbb43b860 | ||
|
|
933206f1fe | ||
|
|
9356231e64 | ||
|
|
a0651b62a7 | ||
|
|
470274204e | ||
|
|
af0cfe112b | ||
|
|
0b80578e62 | ||
|
|
f58ffb3fd4 | ||
|
|
a0f239495d | ||
|
|
870746791a | ||
|
|
71edd615ce | ||
|
|
a9dcf4ce74 | ||
|
|
30c047fedd | ||
|
|
bc309b3ddd | ||
|
|
a041601f1f | ||
|
|
60e93521d5 | ||
|
|
14cd16f1f8 | ||
|
|
5800d78b99 | ||
|
|
87053c5369 | ||
|
|
e14b6abf9d | ||
|
|
740f814ce0 | ||
|
|
5bcf4292b6 | ||
|
|
ad7d1d4f29 | ||
|
|
22717a1c06 | ||
|
|
82e511ddb1 | ||
|
|
5843038a08 | ||
|
|
958d8b6bb4 | ||
|
|
a43fc9ad17 | ||
|
|
c69a38652d | ||
|
|
a4de85dc80 | ||
|
|
9e9ca66467 | ||
|
|
82ff0c5852 | ||
|
|
07f71e2034 | ||
|
|
328c23c5d4 | ||
|
|
268c692efd | ||
|
|
434f1ec542 | ||
|
|
927ffef864 | ||
|
|
047bf94908 | ||
|
|
880d0ec19f | ||
|
|
2430612ad4 | ||
|
|
e87f1107ca | ||
|
|
bebaf4c112 | ||
|
|
d32add9938 | ||
|
|
975a2b3f59 | ||
|
|
6437d0180b | ||
|
|
c65b5b9f84 | ||
|
|
bf373f9da1 | ||
|
|
2064fc89c0 | ||
|
|
5a4c7c75c0 | ||
|
|
5ad2fdcf0b | ||
|
|
8d37d418e7 | ||
|
|
8df3350252 | ||
|
|
931da04dc2 | ||
|
|
7efa946b02 | ||
|
|
fe7b094b9e | ||
|
|
7382c23a17 | ||
|
|
0b86aa5d29 | ||
|
|
f04b2d4350 | ||
|
|
9c65798902 | ||
|
|
d8f56de258 | ||
|
|
18e45aab98 | ||
|
|
344b784d69 | ||
|
|
333998509f | ||
|
|
8796df8218 | ||
|
|
17ae0ed3ee | ||
|
|
d59b0f6ff7 | ||
|
|
1898201b8b | ||
|
|
40214ef109 | ||
|
|
4f70ab8e27 | ||
|
|
416f245e6c | ||
|
|
177806068d | ||
|
|
7950f2d17d | ||
|
|
cf3d55fa10 | ||
|
|
85f94676ba | ||
|
|
52ffb67b33 | ||
|
|
0d6c405ccb | ||
|
|
0c064b1b79 | ||
|
|
63e56facbf | ||
|
|
f2dc0d3115 | ||
|
|
286fbc07e9 | ||
|
|
a7e53b8134 | ||
|
|
afc2500aee | ||
|
|
c4062f495a | ||
|
|
d3ecd22dba | ||
|
|
5efbde4fe9 | ||
|
|
c4a0a40473 | ||
|
|
f59a68c531 | ||
|
|
5282699f19 | ||
|
|
648d9e253c | ||
|
|
5b14cc6f0b | ||
|
|
e575405d7b | ||
|
|
2e819a360c | ||
|
|
1c09373b4f | ||
|
|
422a206484 | ||
|
|
e545c310ee | ||
|
|
ce1ec81d6f | ||
|
|
33c6341ccd | ||
|
|
b74ecd8a75 | ||
|
|
bcc1ec65f9 | ||
|
|
e82c96dab1 | ||
|
|
ea75f01ba2 | ||
|
|
3a2b2de814 | ||
|
|
7b5b070900 | ||
|
|
8d73608672 | ||
|
|
9f7433d4f3 | ||
|
|
bbffd1b5b6 | ||
|
|
31d17de26c | ||
|
|
3797a4839d | ||
|
|
f85b17a00e | ||
|
|
33b6478cc7 | ||
|
|
317bca1008 | ||
|
|
4d83fd4238 | ||
|
|
fd14ad6ce9 | ||
|
|
31590afc5f | ||
|
|
85281d8efa | ||
|
|
7a2af4a2a2 | ||
|
|
465be9b16e | ||
|
|
19ae04da66 | ||
|
|
2e00f00ab0 | ||
|
|
e99f43f59c | ||
|
|
2637931102 | ||
|
|
54067d105b | ||
|
|
4c415aefed | ||
|
|
b28fb90851 | ||
|
|
8b7fa6627f | ||
|
|
f148b7bfc0 | ||
|
|
a0342d9527 | ||
|
|
2f4cc5480e | ||
|
|
5e6c3b9d0e | ||
|
|
0a461b829a | ||
|
|
91e9495148 | ||
|
|
873966aa86 | ||
|
|
6bd08a0b6f | ||
|
|
76b87b1bbd | ||
|
|
1b929e3afc | ||
|
|
6b9b42bbdf | ||
|
|
67cc242820 | ||
|
|
b5a85b51b6 | ||
|
|
2b5639d503 | ||
|
|
db4bf20df3 | ||
|
|
59e9a87d95 | ||
|
|
bbc12378d4 | ||
|
|
5bec61b824 | ||
|
|
7a0fbd0eb1 | ||
|
|
53d30ccde9 | ||
|
|
7d9f408d3a | ||
|
|
260c4e8503 | ||
|
|
dbc66d0405 | ||
|
|
9578a3cc31 | ||
|
|
83b480761f | ||
|
|
b40b85e006 | ||
|
|
97772f406d | ||
|
|
8c75b65475 | ||
|
|
0f81490830 | ||
|
|
7da5d83d6e | ||
|
|
1cfdd1283a | ||
|
|
762e1167c7 | ||
|
|
2d55c94c7b | ||
|
|
c9e712d07b | ||
|
|
a887bed25b | ||
|
|
3fc783617a | ||
|
|
34d9a17aad | ||
|
|
40ee8de171 | ||
|
|
feb7d57333 | ||
|
|
390b903c55 | ||
|
|
1ba27853bd | ||
|
|
de61bb6a35 | ||
|
|
01c8df01ec | ||
|
|
613139e7be | ||
|
|
fb100dbf98 | ||
|
|
ecf61be633 | ||
|
|
1619317c3b | ||
|
|
76fabe8785 | ||
|
|
1a17c2ba1f | ||
|
|
a04de87584 | ||
|
|
ffbb0f6a60 | ||
|
|
1c82c42cb3 | ||
|
|
11f79a2095 | ||
|
|
847c06d88b | ||
|
|
209569a035 | ||
|
|
0852e83eec | ||
|
|
ca084ab1a2 | ||
|
|
cab2b96871 | ||
|
|
8675dff045 | ||
|
|
ed2adc7025 | ||
|
|
ddc7a2dd4d | ||
|
|
2f0cdfd564 | ||
|
|
c154721f4a | ||
|
|
48cdae2829 | ||
|
|
9571a9b53d | ||
|
|
f1e0ebfe93 | ||
|
|
c7ba519af2 | ||
|
|
04de977855 | ||
|
|
591a05caa3 | ||
|
|
82700ea95a | ||
|
|
a36b29c25c | ||
|
|
c3af3ff1d0 | ||
|
|
1592e578ed | ||
|
|
e640683c97 | ||
|
|
e6bddd3ed2 | ||
|
|
bd0549caea | ||
|
|
08a53e5eca | ||
|
|
025972ef64 | ||
|
|
00a3e368b4 | ||
|
|
6b2465746a | ||
|
|
35e2cee5c5 | ||
|
|
d775fe7936 | ||
|
|
dc13eb6df0 | ||
|
|
798636c95b | ||
|
|
25fdf6cb16 | ||
|
|
044a45db2e | ||
|
|
0aec2df74f | ||
|
|
4f9c5b60c5 | ||
|
|
bd13df972e | ||
|
|
a971910723 | ||
|
|
b8a6fee6d6 | ||
|
|
0bfa981e70 | ||
|
|
070bdda011 | ||
|
|
e19c026083 | ||
|
|
8b383f86de | ||
|
|
9ebd62f676 | ||
|
|
2c3e2b701e | ||
|
|
16f95123cd | ||
|
|
0a176df6fb | ||
|
|
d862c43be0 | ||
|
|
a452767e34 | ||
|
|
f0aeef82a1 | ||
|
|
06b6eaba06 | ||
|
|
713a7d518d | ||
|
|
5702e4bc24 | ||
|
|
9b37b1569c | ||
|
|
5f1f1bb5ed | ||
|
|
9ff2df78f0 | ||
|
|
74f26bb667 | ||
|
|
1f11c1f71a | ||
|
|
8c8c37a66b | ||
|
|
d4f9fd7204 | ||
|
|
e70e72e025 | ||
|
|
e2ce6a0dab | ||
|
|
657ea2686f | ||
|
|
311df9c521 | ||
|
|
ff93d9dbda | ||
|
|
86ada87529 | ||
|
|
d74437af57 | ||
|
|
c82ac420fc | ||
|
|
f91cb9321e | ||
|
|
cc1a168aa0 | ||
|
|
ee82d35ed8 | ||
|
|
8bca30cfe4 | ||
|
|
fe9a5d3159 | ||
|
|
f43d21d0af | ||
|
|
8e2c3b315b | ||
|
|
9079fb6a0d | ||
|
|
db3f0048d8 | ||
|
|
d3d8284985 | ||
|
|
f545faa06d | ||
|
|
458aadbb10 | ||
|
|
f2ec0d80a8 | ||
|
|
be6bb5314e | ||
|
|
98114944fc | ||
|
|
6690023555 | ||
|
|
a7e8187a0d | ||
|
|
0c1b72616a | ||
|
|
945a378e55 | ||
|
|
29c5be47ed | ||
|
|
e0f18b2255 | ||
|
|
e755aafe29 | ||
|
|
e1b3a25008 | ||
|
|
69c1cd3f38 | ||
|
|
ce13fbb98a | ||
|
|
084d9e0009 | ||
|
|
3db9b06a6e | ||
|
|
e9be8016e6 | ||
|
|
1f9e21ebd5 | ||
|
|
a91d9054ad | ||
|
|
6c90d12a0c | ||
|
|
38e8ccac92 | ||
|
|
1d19a58424 | ||
|
|
f47f9ceade | ||
|
|
81effe674d | ||
|
|
831251bcaa | ||
|
|
f4630f9044 | ||
|
|
dae311ea9d | ||
|
|
4677b46904 | ||
|
|
a4dd2b1916 | ||
|
|
3d117b8964 | ||
|
|
6a083e9561 | ||
|
|
044d359a7e | ||
|
|
f35d4164d6 | ||
|
|
3058f8fd69 | ||
|
|
5129ed215e | ||
|
|
b93079f1c1 | ||
|
|
a1098384c0 | ||
|
|
43bca4df40 | ||
|
|
82269e4b8c | ||
|
|
14e49614e6 | ||
|
|
a221b2807f | ||
|
|
0d66b1cc1c | ||
|
|
1843354d88 | ||
|
|
bd7d1e2f16 | ||
|
|
aff0bbcc32 | ||
|
|
33e009bedb | ||
|
|
f94dc67a43 | ||
|
|
091f63fd4e | ||
|
|
3a4c981e31 | ||
|
|
0d48344f93 | ||
|
|
21ceba6cfd | ||
|
|
f8302c5470 | ||
|
|
7a7e07a57c | ||
|
|
520530dfcf | ||
|
|
31c18b4bc7 | ||
|
|
1ec365de25 | ||
|
|
99f3eabb1b | ||
|
|
32479744f6 | ||
|
|
b68de2330d | ||
|
|
68a6579852 | ||
|
|
798798f7ab | ||
|
|
54e9442a14 | ||
|
|
f7b9f35ce1 | ||
|
|
068e6ce2c9 | ||
|
|
5d4bb4d6f8 | ||
|
|
a05c19682e | ||
|
|
5caa7436d8 | ||
|
|
512a900202 | ||
|
|
ba7b2cc1f6 | ||
|
|
ac73d43444 | ||
|
|
33434a40d7 | ||
|
|
844d69143f | ||
|
|
77275a9b31 | ||
|
|
de10d9be08 | ||
|
|
3c227af508 | ||
|
|
4c1a479a60 | ||
|
|
cc95d251d6 | ||
|
|
1f247cf813 | ||
|
|
c9bb33afc3 | ||
|
|
97fb9d283f | ||
|
|
66016b8499 | ||
|
|
8bbf0293f5 | ||
|
|
87b229d280 | ||
|
|
2a86b3e31d | ||
|
|
436dd6c0a4 | ||
|
|
f6bdefe3f3 | ||
|
|
cd71077c6a | ||
|
|
029b33c650 | ||
|
|
f4f4edf276 | ||
|
|
992ea5802a | ||
|
|
376a629c9f | ||
|
|
303fa37b60 | ||
|
|
ef02414d7e | ||
|
|
bcf83ea792 | ||
|
|
86a27cf16d | ||
|
|
08ae0dd74b | ||
|
|
93f3a7f96a | ||
|
|
7856b1202d | ||
|
|
e5ddbcab7d | ||
|
|
f9bc980b0b | ||
|
|
806754b512 | ||
|
|
4d18df204a | ||
|
|
04b4431bc0 | ||
|
|
dfd494c113 | ||
|
|
57897cc8c2 | ||
|
|
459c8be94f | ||
|
|
5e158b51db | ||
|
|
fbecc18e2e | ||
|
|
b538c5345e | ||
|
|
694208865b | ||
|
|
a75c435245 | ||
|
|
53c8e4263b | ||
|
|
078549518d | ||
|
|
4c844081f3 | ||
|
|
91441c3fb2 | ||
|
|
b152cbe45a | ||
|
|
c08aab90ec | ||
|
|
8d091ec062 | ||
|
|
0376e59520 | ||
|
|
e25fe22f9d | ||
|
|
bef7f6745c | ||
|
|
775919c129 | ||
|
|
702acc06d8 | ||
|
|
b5a1daa756 | ||
|
|
5a47301dbd | ||
|
|
e33d9e77f4 | ||
|
|
aff4208244 | ||
|
|
73dbaefec5 | ||
|
|
05edcde6c9 | ||
|
|
01ccc2cc96 | ||
|
|
cd093a07a3 | ||
|
|
7e450542d9 | ||
|
|
45545e897c | ||
|
|
eccc8109c1 | ||
|
|
2fabcd0455 | ||
|
|
e3ce295215 | ||
|
|
8df59c01d5 | ||
|
|
15f9a83618 | ||
|
|
d572381a37 | ||
|
|
9127001f11 | ||
|
|
742420a5e2 | ||
|
|
f439df4441 | ||
|
|
c92e8940dc | ||
|
|
c68fc4f31a | ||
|
|
0e80e47592 | ||
|
|
54b9311344 | ||
|
|
9387b79b98 | ||
|
|
5c2de3a9ea | ||
|
|
eac5b48da0 | ||
|
|
f89d948c06 | ||
|
|
45a0988833 | ||
|
|
afbb31c05e | ||
|
|
e6af6487e1 | ||
|
|
c0b45fa36f | ||
|
|
cb47595f13 | ||
|
|
c59704a24b | ||
|
|
f2ecfdc96a | ||
|
|
717d409b72 | ||
|
|
6e207c823e | ||
|
|
b69294b6d6 | ||
|
|
6cbaa4787b | ||
|
|
8b66c433c5 | ||
|
|
3329bfa5b2 | ||
|
|
f41f5785bf | ||
|
|
55f148f499 |
21
.bra.toml
21
.bra.toml
@@ -1,21 +0,0 @@
|
|||||||
[run]
|
|
||||||
init_cmds = [
|
|
||||||
["make", "build-dev"],
|
|
||||||
["./gogs", "web"]
|
|
||||||
]
|
|
||||||
watch_all = true
|
|
||||||
watch_dirs = [
|
|
||||||
"$WORKDIR/cmd",
|
|
||||||
"$WORKDIR/models",
|
|
||||||
"$WORKDIR/pkg",
|
|
||||||
"$WORKDIR/routes"
|
|
||||||
]
|
|
||||||
watch_exts = [".go"]
|
|
||||||
ignore_files = [".+_test.go"]
|
|
||||||
build_delay = 1500
|
|
||||||
interrupt_timout = 1
|
|
||||||
graceful_kill = true
|
|
||||||
cmds = [
|
|
||||||
["make", "build-dev"], # TAGS=sqlite cert pam tidb
|
|
||||||
["./gogs", "web"]
|
|
||||||
]
|
|
||||||
13
.claude/commands/ghsa.md
Normal file
13
.claude/commands/ghsa.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
Analyze and help fix the GitHub Security Advisory (GHSA) at: $ARGUMENTS
|
||||||
|
|
||||||
|
Steps:
|
||||||
|
1. Fetch the GHSA page using `gh api repos/gogs/gogs/security-advisories` and understand the vulnerability details (description, severity, affected versions, CWE).
|
||||||
|
2. Verify the reported vulnerability actually exists, and why.
|
||||||
|
3. Identify the affected code in this repository.
|
||||||
|
4. Propose a fix with a clear explanation of the root cause and how the fix addresses it. Check for prior art in the codebase to stay consistent with existing patterns.
|
||||||
|
5. Implement the fix. Only add tests when there is something meaningful to test at our layer.
|
||||||
|
6. Run all the usual build and test commands.
|
||||||
|
7. If a changelog entry is warranted (user will specify), add it to CHANGELOG.md with a placeholder for the PR link.
|
||||||
|
8. Create a branch named after the GHSA ID, commit, and push.
|
||||||
|
9. Create a pull request with a proper title and description, do not reveal too much detail and link the GHSA.
|
||||||
|
10. If a changelog entry was added, update it with the PR link, then commit and push again.
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
conf/**
|
|
||||||
docker/**
|
|
||||||
modules/bindata/**
|
|
||||||
packager/**
|
|
||||||
public/**
|
|
||||||
scripts/**
|
|
||||||
templates/**
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"GOLANG": {
|
|
||||||
"TOTAL_LOC": [500, 999, 1999, 9999],
|
|
||||||
"TOO_MANY_FUNCTIONS": [50, 99, 199, 999],
|
|
||||||
"TOO_MANY_IVARS": [20, 50, 70, 99]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
26
.deepsource.toml
Normal file
26
.deepsource.toml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
version = 1
|
||||||
|
|
||||||
|
exclude_patterns = ["**/mocks_test.go"]
|
||||||
|
|
||||||
|
[[analyzers]]
|
||||||
|
name = "docker"
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
[[analyzers]]
|
||||||
|
name = "shell"
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
[[analyzers]]
|
||||||
|
name = "go"
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
[analyzers.meta]
|
||||||
|
import_root = "github.com/gogs/gogs"
|
||||||
|
|
||||||
|
[[transformers]]
|
||||||
|
name = "gofumpt"
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
[[transformers]]
|
||||||
|
name = "gofmt"
|
||||||
|
enabled = true
|
||||||
@@ -1,17 +1,15 @@
|
|||||||
.git
|
.packager
|
||||||
.git/**
|
.packager/**
|
||||||
packager
|
|
||||||
packager/**
|
|
||||||
scripts
|
scripts
|
||||||
scripts/**
|
scripts/**
|
||||||
.github/
|
.github/
|
||||||
.github/**
|
.github/**
|
||||||
config.codekit
|
|
||||||
.dockerignore
|
.dockerignore
|
||||||
*.yml
|
*.yml
|
||||||
*.md
|
*.md
|
||||||
.bra.toml
|
|
||||||
.editorconfig
|
.editorconfig
|
||||||
.gitignore
|
.gitignore
|
||||||
Dockerfile*
|
Dockerfile*
|
||||||
gogs
|
gogs
|
||||||
|
|
||||||
|
!Taskfile.yml
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ root = true
|
|||||||
|
|
||||||
[*]
|
[*]
|
||||||
charset = utf-8
|
charset = utf-8
|
||||||
end_of_line = lf
|
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
@@ -16,10 +15,9 @@ indent_size = 4
|
|||||||
indent_style = tab
|
indent_style = tab
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
|
||||||
[*.{less,yml}]
|
[*.{less, yml}]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
|
||||||
[*.js]
|
[*.js]
|
||||||
indent_style = tab
|
indent_size = 2
|
||||||
indent_size = 4
|
|
||||||
|
|||||||
18
.gitattributes
vendored
18
.gitattributes
vendored
@@ -1,10 +1,8 @@
|
|||||||
conf/gitignore/* linguist-vendored
|
conf/gitignore/** linguist-vendored
|
||||||
conf/license/* linguist-vendored
|
conf/license/** linguist-vendored
|
||||||
public/assets/* linguist-vendored
|
public/assets/** linguist-vendored
|
||||||
public/plugins/* linguist-vendored
|
public/plugins/** linguist-vendored
|
||||||
public/css/themes/* linguist-vendored
|
public/css/themes/** linguist-vendored
|
||||||
public/css/github.min.css linguist-vendored
|
public/css/semantic-* linguist-vendored
|
||||||
public/css/semantic-2.2.10.min.css linguist-vendored
|
public/js/libs/** linguist-vendored
|
||||||
public/js/libs/* linguist-vendored
|
public/js/semantic-* linguist-vendored
|
||||||
public/js/jquery-1.11.3.min.js linguist-vendored
|
|
||||||
public/js/semantic-2.2.10.min.js linguist-vendored
|
|
||||||
|
|||||||
2
.github/CODEOWNERS
vendored
Normal file
2
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Default
|
||||||
|
* @unknwon
|
||||||
89
.github/CONTRIBUTING.md
vendored
89
.github/CONTRIBUTING.md
vendored
@@ -1,63 +1,78 @@
|
|||||||
# Contributing to Gogs
|
# Welcome to Gogs contributing guide
|
||||||
|
|
||||||
> This guidelines sheet is forked from [CONTRIBUTING.md](https://github.com/drone/drone/blob/8d9c7cee56d6c2eac81dc156ce27be6716d97e68/CONTRIBUTING.md).
|
Thank you for investing your time in contributing to our projects!
|
||||||
|
|
||||||
Gogs is not perfect, and it has bugs or incomplete features in rare cases. You're welcome to tell us, or to contribute some code. This document describes details about how can you contribute to Gogs project.
|
Read our [Code of Conduct](https://go.dev/conduct) to keep our community approachable and respectable.
|
||||||
|
|
||||||
## Contribution guidelines
|
In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR.
|
||||||
|
|
||||||
Depends on the situation, you will:
|
Use the table of contents icon <img src="https://github.com/github/docs/raw/50561895328b8f369694973252127b7d93899d83/assets/images/table-of-contents.png" width="25" height="25" /> on the top left corner of this document to get to a specific section of this guide quickly.
|
||||||
|
|
||||||
- Find a bug and create an issue
|
## New contributor guide
|
||||||
- Need more functionality and make a feature request
|
|
||||||
- Want to contribute code and open a pull request
|
|
||||||
- Run into issue and need help
|
|
||||||
|
|
||||||
### Bug Report
|
To get an overview of the project, read the [README](/README.md). Here are some resources to help you get started with open source contributions:
|
||||||
|
|
||||||
If you find something you consider a bug, please create a issue on [GitHub](https://github.com/gogits/gogs/issues). To avoid wasting time and reduce back-and-forth communication with team members, please include at least the following information in a form comfortable for you:
|
- [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github)
|
||||||
|
- [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git)
|
||||||
|
- [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow)
|
||||||
|
- [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests)
|
||||||
|
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
|
||||||
|
- [Talk, then code](https://www.craft.do/s/kyHVs6OoE4Dj5V)
|
||||||
|
|
||||||
- Bug Description
|
In addition to the general guides with open source contributions, you would also need to:
|
||||||
- Gogs Version
|
|
||||||
- Git Version
|
|
||||||
- System Type
|
|
||||||
- Error Log
|
|
||||||
- Other information
|
|
||||||
|
|
||||||
Please take a moment to check that an issue on [GitHub](https://github.com/gogits/gogs/issues) doesn't already exist documenting your bug report or improvement proposal. If it does, it never hurts to add a quick "+1" or "I have this problem too". This will help prioritize the most common problems and requests.
|
- Have basic knowledge about web applications development, database management systems and programming in [Go](https://go.dev/).
|
||||||
|
- Have a working local development setup with a reasonable good IDE or editor like [Visual Studio Code](https://code.visualstudio.com/docs/languages/go), [GoLand](https://www.jetbrains.com/go/) or [Vim](https://github.com/fatih/vim-go).
|
||||||
|
- [Set up your development environment](/docs/dev/local_development.md).
|
||||||
|
|
||||||
#### Bug Report Example
|
## Issues
|
||||||
|
|
||||||
Gogs crashed when creating a repository with a license, using v0.5.13.0207, SQLite3, Git 1.9.0, Ubuntu 12.04.
|
### Ask for help
|
||||||
|
|
||||||
Error log:
|
Before opening an issue, please make sure the problem you're encountering isn't already addressed on the [Troubleshooting](https://gogs.io/asking/troubleshooting) and [FAQs](https://gogs.io/asking/faq) pages.
|
||||||
|
|
||||||
```
|
### Create a new issue
|
||||||
2014/09/01 07:21:49 [E] nil pointer
|
|
||||||
```
|
|
||||||
|
|
||||||
### Feature Request
|
- For questions, ask in [Discussions](https://github.com/gogs/gogs/discussions).
|
||||||
|
- [Check to make sure](https://docs.github.com/en/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-by-the-title-body-or-comments) someone hasn't already opened a similar [issue](https://github.com/gogs/gogs/issues).
|
||||||
|
- If a similar issue doesn't exist, open a new issue using a relevant [issue form](https://github.com/gogs/gogs/issues/new/choose).
|
||||||
|
- Blank issues that are not coming from maintainers will be closed without a response.
|
||||||
|
|
||||||
There is no standard form of making a feature request. Just try to describe the feature as clearly as possible, because team members may not have experience with the functionality you're talking about.
|
### Pick up an issue to solve
|
||||||
|
|
||||||
### Pull Request
|
- Scan through our [existing issues](https://github.com/gogs/gogs/issues) to find one that interests you.
|
||||||
|
- The [👋 good first issue](https://github.com/gogs/gogs/issues?q=is%3Aissue+is%3Aopen+label%3A%22%F0%9F%91%8B+good+first+issue%22) is a good place to start exploring issues that are well-groomed for newcomers.
|
||||||
|
- Do not hesitate to ask for more details or clarifying questions on the issue!
|
||||||
|
- Communicate on the issue you are intended to pick up _before_ starting working on it.
|
||||||
|
- Every issue that gets picked up will have an expected timeline for the implementation, the issue may be reassigned after the expected timeline. Please be responsible and proactive on the communication 🙇♂️
|
||||||
|
|
||||||
Please read detailed information on [Wiki](https://github.com/gogits/gogs/wiki/Contributing-Code).
|
## Add new features or make big changes
|
||||||
|
|
||||||
### Ask For Help
|
New features or big changes require proposals before we may be able to accept any contribution. Proposals should be posted to the [Discussions - Proposal](https://github.com/gogs/gogs/discussions/categories/proposal) category for review and discussions. GitHub Discussions provides sub-threading which is much more suitable than GitHub Issues for discussions to happen. Please read [Write a proposal for open source contributions](https://unknwon.io/posts/220210-write-a-proposal-for-open-source-contributions/) to begin with.
|
||||||
|
|
||||||
Before opening an issue, please make sure your problem isn't already addressed on the [Troubleshooting](https://gogs.io/docs/intro/troubleshooting.html) and [FAQs](https://gogs.io/docs/intro/faqs.html) pages.
|
## Pull requests
|
||||||
|
|
||||||
## Code of conduct
|
When you're finished with the changes, create a pull request, or a series of pull requests if necessary.
|
||||||
|
|
||||||
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
|
Contributing to another codebase is not as simple as code changes, it is also about contributing influence to the design. Therefore, we kindly ask you that:
|
||||||
|
|
||||||
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion.
|
- Please acknowledge that no pull request is guaranteed to be merged.
|
||||||
|
- Please always do a self-review before requesting reviews from others.
|
||||||
|
- Please expect code review to be strict and may have multiple rounds.
|
||||||
|
- Please make self-contained incremental changes, pull requests with huge diff may be rejected for review.
|
||||||
|
- Please use English in code comments and docstring.
|
||||||
|
- Please do not force push unless absolutely necessary. Force pushes make review much harder in multiple rounds, and we use [Squash and merge](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#squash-and-merge-your-pull-request-commits) so you don't need to worry about messy commits and just focus on the changes.
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
|
### Things we do not accept
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
|
1. Updates to locale files (`conf/locale_xx-XX.ini`) other than the `conf/locale_en-US.ini`. Please read the [guide for localizing Gogs](https://gogs.io/advancing/localization).
|
||||||
|
1. Docker compose files.
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior can be reported by emailing u@gogs.io
|
### Coding guidelines
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant](http:contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
|
1. Please read the Sourcegraph's [Go style guide](https://github.com/sourcegraph/sourcegraph-public-snapshot/blob/main/doc/dev/background-information/languages/go.md).
|
||||||
|
1. **NO** direct modifications to `.css` files, `.css` files are all generated by `.less` files. You can regenerate `.css` files by executing `task less`.
|
||||||
|
|
||||||
|
## Your PR is merged!
|
||||||
|
|
||||||
|
Congratulations 🎉🎉 Thanks again for taking the effort to have this journey with us 🌟
|
||||||
|
|||||||
26
.github/ISSUE_TEMPLATE.md
vendored
26
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,26 +0,0 @@
|
|||||||
The issue will be closed without any reasons if it does not satisfy any of following requirements:
|
|
||||||
|
|
||||||
1. Please speak English, we have forum in [Chinese](https://discuss.gogs.io/c/getting-help/getting-help-chinese).
|
|
||||||
2. Please post questions or config/deploy problems on our forum: https://discuss.gogs.io, here are bugs and feature requests only.
|
|
||||||
3. Please take a moment to search that an issue doesn't already exist.
|
|
||||||
4. Please give all relevant information below for bug reports; incomplete details considered invalid report.
|
|
||||||
|
|
||||||
**You MUST delete above content including this line before posting; too lazy to take this action considered invalid report.**
|
|
||||||
|
|
||||||
- Gogs version (or commit ref):
|
|
||||||
- Git version:
|
|
||||||
- Operating system:
|
|
||||||
- Database (use `[x]`):
|
|
||||||
- [ ] PostgreSQL
|
|
||||||
- [ ] MySQL
|
|
||||||
- [ ] MSSQL
|
|
||||||
- [ ] SQLite
|
|
||||||
- Can you reproduce the bug at https://try.gogs.io:
|
|
||||||
- [ ] Yes (provide example URL)
|
|
||||||
- [ ] No
|
|
||||||
- [ ] Not relevant
|
|
||||||
- Log gist (usually found in `log/gogs.log`):
|
|
||||||
|
|
||||||
## Description
|
|
||||||
|
|
||||||
...
|
|
||||||
82
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
82
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
name: Bug report
|
||||||
|
description: File a bug report to help us improve
|
||||||
|
labels: ["\U0001F48A bug"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to fill out this bug report!
|
||||||
|
|
||||||
|
- Please use English :)
|
||||||
|
- For questions, ask in [Discussions](https://github.com/gogs/gogs/discussions).
|
||||||
|
- Before you file an issue read the [Contributing guide](https://github.com/gogs/gogs/blob/main/.github/CONTRIBUTING.md).
|
||||||
|
- Check to make sure someone hasn't already opened a similar [issue](https://github.com/gogs/gogs/issues).
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Gogs version
|
||||||
|
description: |
|
||||||
|
Please specify the exact Gogs version you're reporting for, e.g. "0.12.3". You can find the version information in the admin dashboard (`/admin`).
|
||||||
|
|
||||||
|
_Note that "gogs/gogs:latest" is not a Gogs version, it does not mean anything._
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Git version
|
||||||
|
description: |
|
||||||
|
Please specify the exact Git version you're using of both server and client. You can find the version information by running `git version`.
|
||||||
|
value: |
|
||||||
|
- Server:
|
||||||
|
- Client:
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Operating system
|
||||||
|
description: |
|
||||||
|
Please specify the exact operating system name and version you're reporting for, e.g. "Windows 10", "CentOS 7", "Ubuntu 20.04".
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Database
|
||||||
|
description: |
|
||||||
|
Please specify the exact database and version you're reporting for, e.g. "PostgreSQL 9.6", "MySQL 5.7", "SQLite 3".
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Describe the bug
|
||||||
|
description: A clear and concise description of what the bug is.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: To reproduce
|
||||||
|
description: The steps to reproduce the problem described above.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Expected behavior
|
||||||
|
description: A clear and concise description of what you expected to happen.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Additional context
|
||||||
|
description: |
|
||||||
|
Links? References? Suggestions? Anything that will give us more context about the issue you are encountering!
|
||||||
|
|
||||||
|
Please include any error logs found in the `log/gogs.log` file. Otherwise, we probably won't be able to help you much.
|
||||||
|
|
||||||
|
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: Code of Conduct
|
||||||
|
description: By submitting this issue, you agree to follow our [Code of Conduct](https://go.dev/conduct)
|
||||||
|
options:
|
||||||
|
- label: I agree to follow this project's Code of Conduct
|
||||||
|
required: true
|
||||||
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
blank_issues_enabled: true
|
||||||
|
contact_links:
|
||||||
|
- name: Ask questions
|
||||||
|
url: https://github.com/gogs/gogs/discussions
|
||||||
|
about: Please ask questions in Discussions.
|
||||||
|
- name: Make a proposal
|
||||||
|
url: https://github.com/gogs/gogs/discussions/categories/proposal
|
||||||
|
about: Please make proposals in Discussions.
|
||||||
46
.github/ISSUE_TEMPLATE/dev_release_minor_version.md
vendored
Normal file
46
.github/ISSUE_TEMPLATE/dev_release_minor_version.md
vendored
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
name: "Dev: Release a minor version"
|
||||||
|
about: ONLY USED BY MAINTAINERS.
|
||||||
|
assignees: "unknwon"
|
||||||
|
title: "Release [VERSION]"
|
||||||
|
labels: 📸 release
|
||||||
|
---
|
||||||
|
|
||||||
|
_This is generated from the [minor release template](https://github.com/gogs/gogs/blob/main/.github/ISSUE_TEMPLATE/dev_release_minor_version.md)._
|
||||||
|
|
||||||
|
## Before release
|
||||||
|
|
||||||
|
On the `main` branch:
|
||||||
|
|
||||||
|
- [ ] Close stale issues with the label [status: needs feedback](https://github.com/gogs/gogs/issues?q=is%3Aissue+is%3Aopen+label%3A%22status%3A+needs+feedback%22).
|
||||||
|
- [ ] [Sync locales from Crowdin](https://github.com/gogs/gogs/blob/main/docs/dev/import_locale.md).
|
||||||
|
- [ ] [Update CHANGELOG](https://github.com/gogs/gogs/commit/f1102a7a7c545ec221d2906f02fa19170d96f96d) to include entries for the current minor release.
|
||||||
|
- Do not forget adding entries for GHSA patches.
|
||||||
|
- [ ] Cut a new release branch `release/<MAJOR>.<MINOR>`, e.g. `release/0.14`.
|
||||||
|
|
||||||
|
## During release
|
||||||
|
|
||||||
|
On the release branch:
|
||||||
|
|
||||||
|
- [ ] [Update the hard-coded version](https://github.com/gogs/gogs/commit/f0e3cd90f8d7695960eeef2e4e54b2e717302f6c) to the current release, e.g. `0.14.0+dev` -> `0.14.0`.
|
||||||
|
- [ ] Wait for GitHub Actions to complete and no failed jobs.
|
||||||
|
- [ ] Publish new RC releases (e.g. `v0.14.0-rc.1`, `v0.14.0-rc.2`) ⚠️ **on the release branch** ⚠️ and ensure Docker and release workflows both succeed.
|
||||||
|
- [ ] Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
|
||||||
|
- [ ] Download one of the release archives and run through application setup to make sure nothing blows up.
|
||||||
|
- [ ] Publish a new [GitHub release](https://github.com/gogs/gogs/releases) ⚠️ **on the release branch** ⚠️ with entries from [CHANGELOG](https://github.com/gogs/gogs/blob/main/CHANGELOG.md) for the current minor release.
|
||||||
|
- [ ] [Wait for new image tags for the current release](https://github.com/gogs/gogs/actions/workflows/docker.yml?query=event%3Arelease) to be created automatically on both [Docker Hub](https://hub.docker.com/r/gogs/gogs/tags) and [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs).
|
||||||
|
- Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
|
||||||
|
- [ ] Download all release archives and [generate SHA256 checksum](https://github.com/gogs/gogs/blob/main/docs/dev/release/sha256.sh) for all binaries to the file `checksum_sha256.txt`.
|
||||||
|
- [ ] Upload all archives and `checksum_sha256.txt` to https://dl.gogs.io.
|
||||||
|
|
||||||
|
## After release
|
||||||
|
|
||||||
|
On the `main` branch:
|
||||||
|
|
||||||
|
- [ ] Update the repository mirror on [Gitee](https://gitee.com/unknwon/gogs).
|
||||||
|
- [ ] Create a new release announcement in [Discussions](https://github.com/gogs/gogs/discussions/categories/announcements).
|
||||||
|
- [ ] Send a tweet on the [official Twitter account](https://twitter.com/GogsHQ) for the minor release.
|
||||||
|
- [ ] Close the milestone for the minor release.
|
||||||
|
- [ ] [Bump the hard-coded version](https://github.com/gogs/gogs/commit/a98968436cd5841cf691bb0b80c54c81470d1676) to the new develop version, e.g. `0.14.0+dev` -> `0.15.0+dev`.
|
||||||
|
- [ ] Run `task legacy` to identify deprecated code that is aimed to be removed in current develop version.
|
||||||
|
- [ ] **After 14 days**, publish [GitHub security advisories](https://github.com/gogs/gogs/security) for security patches included in the release.
|
||||||
49
.github/ISSUE_TEMPLATE/dev_release_patch_version.md
vendored
Normal file
49
.github/ISSUE_TEMPLATE/dev_release_patch_version.md
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
---
|
||||||
|
name: "Dev: Release a patch version"
|
||||||
|
about: ONLY USED BY MAINTAINERS.
|
||||||
|
assignees: "unknwon"
|
||||||
|
title: "Release [VERSION]"
|
||||||
|
labels: 📸 release
|
||||||
|
---
|
||||||
|
|
||||||
|
_This is generated from the [patch release template](https://github.com/gogs/gogs/blob/main/.github/ISSUE_TEMPLATE/dev_release_patch_version.md)._
|
||||||
|
|
||||||
|
## Before release
|
||||||
|
|
||||||
|
On the release branch:
|
||||||
|
|
||||||
|
- [ ] Make sure all commits are cherry-picked from the `main` branch by checking the patch milestone.
|
||||||
|
- Run `task build` for every cherry-picked commit to make sure there is no compilation error.
|
||||||
|
- [ ] [Update CHANGELOG on the `main` branch](https://github.com/gogs/gogs/commit/f1102a7a7c545ec221d2906f02fa19170d96f96d) to include entries for the current patch release.
|
||||||
|
|
||||||
|
## During release
|
||||||
|
|
||||||
|
On the release branch:
|
||||||
|
|
||||||
|
- [ ] [Update the hard-coded version](https://github.com/gogs/gogs/commit/f0e3cd90f8d7695960eeef2e4e54b2e717302f6c) to the current release, e.g. `0.12.0` -> `0.12.1`.
|
||||||
|
- [ ] Wait for GitHub Actions to complete and no failed jobs.
|
||||||
|
- [ ] Publish new RC releases in [GitHub release](https://github.com/gogs/gogs/releases) (e.g. `v0.12.0-rc.1`, `v0.12.0-rc.2`) ⚠️ **on the release branch** ⚠️ and ensure Docker workflow succeeds.
|
||||||
|
- [ ] Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
|
||||||
|
- [ ] Download one of the release archives and run through application setup to make sure nothing blows up.
|
||||||
|
- [ ] Publish a new [GitHub release](https://github.com/gogs/gogs/releases) ⚠️ **on the release branch** ⚠️ with entries from [CHANGELOG](https://github.com/gogs/gogs/blob/main/CHANGELOG.md) for the current patch release and all previous releases with same minor version.
|
||||||
|
- [ ] Update all previous GitHub releases with same minor version with the warning:
|
||||||
|
```
|
||||||
|
**ℹ️ Heads up! There is a new patch release [0.12.1](https://github.com/gogs/gogs/releases/tag/v0.12.1) available, we recommend directly installing or upgrading to that version.**
|
||||||
|
```
|
||||||
|
- [ ] [Wait for new image tags for the current release](https://github.com/gogs/gogs/actions/workflows/docker.yml?query=event%3Arelease) to be created automatically on both [Docker Hub](https://hub.docker.com/r/gogs/gogs/tags) and [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs).
|
||||||
|
- Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
|
||||||
|
- [ ] Download all release archives and [generate SHA256 checksum](https://github.com/gogs/gogs/blob/main/docs/dev/release/sha256.sh) for all binaries to the file `checksum_sha256.txt`.
|
||||||
|
- [ ] Upload all archives and `checksum_sha256.txt` to https://dl.gogs.io.
|
||||||
|
|
||||||
|
## After release
|
||||||
|
|
||||||
|
On the `main` branch:
|
||||||
|
|
||||||
|
- [ ] Post the following message on issues that are included in the patch milestone:
|
||||||
|
```
|
||||||
|
The <MAJOR>.<MINOR>.<PATCH> has been released that includes the patch of the reported issue.
|
||||||
|
```
|
||||||
|
- [ ] Create a new release announcement in [Discussions](https://github.com/gogs/gogs/discussions/categories/announcements).
|
||||||
|
- [ ] Send a tweet on the [official Twitter account](https://twitter.com/GogsHQ) for the patch release.
|
||||||
|
- [ ] Close the milestone for the patch release.
|
||||||
|
- [ ] **After 14 days**, publish [GitHub security advisories](https://github.com/gogs/gogs/security) for security patches included in the release.
|
||||||
32
.github/ISSUE_TEMPLATE/documentation.yml
vendored
Normal file
32
.github/ISSUE_TEMPLATE/documentation.yml
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
name: Improve documentation
|
||||||
|
description: Suggest an idea or a patch for documentation
|
||||||
|
labels: ["📖 documentation"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to fill out this form!
|
||||||
|
|
||||||
|
- Please use English :)
|
||||||
|
- For questions, ask in [Discussions](https://github.com/gogs/gogs/discussions).
|
||||||
|
- Before you file an issue read the [Contributing guide](https://github.com/gogs/gogs/blob/main/.github/CONTRIBUTING.md).
|
||||||
|
- Check to make sure someone hasn't already opened a similar [issue](https://github.com/gogs/gogs/issues).
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: What needs to be improved? Please describe
|
||||||
|
description: A clear and concise description of what is wrong or missing.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Why do you think it is important?
|
||||||
|
description: A clear and concise explanation of the rationale.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: Code of Conduct
|
||||||
|
description: By submitting this issue, you agree to follow our [Code of Conduct](https://go.dev/conduct)
|
||||||
|
options:
|
||||||
|
- label: I agree to follow this project's Code of Conduct
|
||||||
|
required: true
|
||||||
47
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
47
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
name: Feature request
|
||||||
|
description: Suggest an idea for this project
|
||||||
|
labels: ["\U0001F3AF feature"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to fill out this form!
|
||||||
|
|
||||||
|
- Please use English :)
|
||||||
|
- For questions, ask in [Discussions](https://github.com/gogs/gogs/discussions).
|
||||||
|
- Before you file an issue read the [Contributing guide](https://github.com/gogs/gogs/blob/main/.github/CONTRIBUTING.md).
|
||||||
|
- Check to make sure someone hasn't already opened a similar [issue](https://github.com/gogs/gogs/issues).
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Describe the feature
|
||||||
|
description: A clear and concise description of what the feature is, e.g. I think it is reasonable to have [...]
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Describe the solution you'd like
|
||||||
|
description: A clear and concise description of what you want to happen.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Describe alternatives you've considered
|
||||||
|
description: A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Additional context
|
||||||
|
description: |
|
||||||
|
Links? References? Suggestions? Anything that will give us more context about the feature you are requesting!
|
||||||
|
|
||||||
|
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: Code of Conduct
|
||||||
|
description: By submitting this issue, you agree to follow our [Code of Conduct](https://go.dev/conduct)
|
||||||
|
options:
|
||||||
|
- label: I agree to follow this project's Code of Conduct
|
||||||
|
required: true
|
||||||
9
.github/PULL_REQUEST_TEMPLATE.md
vendored
9
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,9 +0,0 @@
|
|||||||
The pull request will be closed without any reasons if it does not satisfy any of following requirements:
|
|
||||||
|
|
||||||
1. Please make sure you are targeting the `develop` branch.
|
|
||||||
2. Please read contributing guidelines:
|
|
||||||
https://github.com/gogits/gogs/wiki/Contributing-Code
|
|
||||||
3. Please describe what your pull request does and which issue you're targeting
|
|
||||||
4. ... if it is not related to any particular issues, explain why we should not reject your pull request.
|
|
||||||
|
|
||||||
**You MUST delete above content including this line before posting; too lazy to take this action considered invalid pull request.**
|
|
||||||
9
.github/dependabot.yml
vendored
Normal file
9
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Docs: https://git.io/JCUAY
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "gomod"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "monthly"
|
||||||
|
commit-message:
|
||||||
|
prefix: "mod:"
|
||||||
16
.github/pull_request_template.md
vendored
Normal file
16
.github/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
## Describe the pull request
|
||||||
|
|
||||||
|
A clear and concise description of what the pull request is about, i.e. what problem should be fixed?
|
||||||
|
|
||||||
|
Link to the issue: <!-- paste the issue link here, or put "n/a" if not applicable -->
|
||||||
|
|
||||||
|
## Checklist
|
||||||
|
|
||||||
|
- [ ] I agree to follow the [Code of Conduct](https://go.dev/conduct) by submitting this pull request.
|
||||||
|
- [ ] I have read and acknowledge the [Contributing guide](https://github.com/gogs/gogs/blob/main/.github/CONTRIBUTING.md).
|
||||||
|
- [ ] I have added test cases to cover the new code or have provided the test plan. (if applicable)
|
||||||
|
- [ ] I have added an entry to [CHANGELOG](https://github.com/gogs/gogs/blob/main/CHANGELOG.md). (if applicable)
|
||||||
|
|
||||||
|
## Test plan
|
||||||
|
|
||||||
|
<!-- Please provide concrete but concise steps to proof things are working as stated, see an example in https://github.com/gogs/gogs/pull/7345 -->
|
||||||
75
.github/workflows/codeql.yml
vendored
Normal file
75
.github/workflows/codeql.yml
vendored
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
# For most projects, this workflow file will not need changing; you simply need
|
||||||
|
# to commit it to your repository.
|
||||||
|
#
|
||||||
|
# You may wish to alter this file to override the set of languages analyzed,
|
||||||
|
# or to provide custom queries or build logic.
|
||||||
|
#
|
||||||
|
# ******** NOTE ********
|
||||||
|
# We have attempted to detect the languages in your repository. Please check
|
||||||
|
# the `language` matrix defined below to confirm you have the correct set of
|
||||||
|
# supported CodeQL languages.
|
||||||
|
#
|
||||||
|
name: "CodeQL"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/codeql.yml'
|
||||||
|
schedule:
|
||||||
|
- cron: '0 19 * * 0'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
analyze:
|
||||||
|
name: Analyze
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
language: [ 'go' ]
|
||||||
|
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
||||||
|
# Learn more:
|
||||||
|
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
with:
|
||||||
|
# We must fetch at least the immediate parents so that if this is
|
||||||
|
# a pull request then we can checkout the head.
|
||||||
|
fetch-depth: 2
|
||||||
|
|
||||||
|
# Initializes the CodeQL tools for scanning.
|
||||||
|
- name: Initialize CodeQL
|
||||||
|
uses: github/codeql-action/init@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3.28.3
|
||||||
|
with:
|
||||||
|
languages: ${{ matrix.language }}
|
||||||
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
|
# By default, queries listed here will override any specified in a config file.
|
||||||
|
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||||
|
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||||
|
|
||||||
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
|
- name: Autobuild
|
||||||
|
uses: github/codeql-action/autobuild@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3.28.3
|
||||||
|
|
||||||
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
|
# 📚 https://git.io/JvXDl
|
||||||
|
|
||||||
|
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||||
|
# and modify them (or add more) to build your code if your project
|
||||||
|
# uses a compiled language
|
||||||
|
|
||||||
|
#- run: |
|
||||||
|
# make bootstrap
|
||||||
|
# make release
|
||||||
|
|
||||||
|
- name: Perform CodeQL Analysis
|
||||||
|
uses: github/codeql-action/analyze@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3.28.3
|
||||||
26
.github/workflows/digitalocean_gc.yml
vendored
Normal file
26
.github/workflows/digitalocean_gc.yml
vendored
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
name: DigitalOcean
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
garbage-collection:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
- name: Install doctl
|
||||||
|
uses: digitalocean/action-doctl@5727c67aa3c2c34ae9462d5a0ecfea8a1b31e5ce # v2
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
|
||||||
|
- name: Run garbage collection
|
||||||
|
run: |
|
||||||
|
# --force: Required for CI to skip confirmation prompts
|
||||||
|
# --include-untagged-manifests: Deletes unreferenced manifests to maximize space
|
||||||
|
doctl registry garbage-collection start --force --include-untagged-manifests
|
||||||
|
- name: Send email on failure
|
||||||
|
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
|
||||||
|
if: ${{ failure() }}
|
||||||
|
with:
|
||||||
|
smtp_username: ${{ secrets.SMTP_USERNAME }}
|
||||||
|
smtp_password: ${{ secrets.SMTP_PASSWORD }}
|
||||||
402
.github/workflows/docker.yml
vendored
Normal file
402
.github/workflows/docker.yml
vendored
Normal file
@@ -0,0 +1,402 @@
|
|||||||
|
name: Docker
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- '.trivy.yaml'
|
||||||
|
- 'Dockerfile'
|
||||||
|
- 'Dockerfile.next'
|
||||||
|
- 'docker/**'
|
||||||
|
- 'docker-next/**'
|
||||||
|
- '.github/workflows/docker.yml'
|
||||||
|
release:
|
||||||
|
types: [ published ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
buildx:
|
||||||
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
|
||||||
|
with:
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
||||||
|
- name: Inspect builder
|
||||||
|
run: |
|
||||||
|
echo "Name: ${{ steps.buildx.outputs.name }}"
|
||||||
|
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
|
||||||
|
echo "Status: ${{ steps.buildx.outputs.status }}"
|
||||||
|
echo "Flags: ${{ steps.buildx.outputs.flags }}"
|
||||||
|
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
- name: Login to GitHub Container registry
|
||||||
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Build and push images
|
||||||
|
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
gogs/gogs:latest
|
||||||
|
ghcr.io/gogs/gogs:latest
|
||||||
|
- name: Scan for container vulnerabilities
|
||||||
|
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8 # 0.33.1
|
||||||
|
with:
|
||||||
|
image-ref: gogs/gogs:latest
|
||||||
|
exit-code: '1'
|
||||||
|
- name: Send email on failure
|
||||||
|
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
|
||||||
|
if: ${{ failure() }}
|
||||||
|
with:
|
||||||
|
smtp_username: ${{ secrets.SMTP_USERNAME }}
|
||||||
|
smtp_password: ${{ secrets.SMTP_PASSWORD }}
|
||||||
|
|
||||||
|
buildx-next:
|
||||||
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-next-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
|
||||||
|
with:
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
||||||
|
- name: Inspect builder
|
||||||
|
run: |
|
||||||
|
echo "Name: ${{ steps.buildx.outputs.name }}"
|
||||||
|
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
|
||||||
|
echo "Status: ${{ steps.buildx.outputs.status }}"
|
||||||
|
echo "Flags: ${{ steps.buildx.outputs.flags }}"
|
||||||
|
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
- name: Login to GitHub Container registry
|
||||||
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Login to DigitalOcean Container registry
|
||||||
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
|
with:
|
||||||
|
registry: registry.digitalocean.com
|
||||||
|
username: ${{ secrets.DIGITALOCEAN_USERNAME }}
|
||||||
|
password: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
|
||||||
|
- name: Build and push next-gen images
|
||||||
|
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.next
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
gogs/gogs:next-latest
|
||||||
|
ghcr.io/gogs/gogs:next-latest
|
||||||
|
registry.digitalocean.com/gogs/gogs:next-latest
|
||||||
|
- name: Scan for container vulnerabilities
|
||||||
|
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8 # 0.33.1
|
||||||
|
with:
|
||||||
|
image-ref: gogs/gogs:next-latest
|
||||||
|
exit-code: '1'
|
||||||
|
- name: Send email on failure
|
||||||
|
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
|
||||||
|
if: ${{ failure() }}
|
||||||
|
with:
|
||||||
|
smtp_username: ${{ secrets.SMTP_USERNAME }}
|
||||||
|
smtp_password: ${{ secrets.SMTP_PASSWORD }}
|
||||||
|
|
||||||
|
deploy-demo:
|
||||||
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
|
||||||
|
needs: buildx-next
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
- name: Configure kubectl
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.kube
|
||||||
|
echo "${KUBECONFIG}" | base64 -d > ~/.kube/config
|
||||||
|
env:
|
||||||
|
KUBECONFIG: ${{ secrets.DIGITALOCEAN_K8S_CLUSTER_KUBECONFIG }}
|
||||||
|
- name: Restart gogs-demo deployment
|
||||||
|
timeout-minutes: 5
|
||||||
|
run: |
|
||||||
|
set -ex
|
||||||
|
kubectl rollout restart deployment gogs-demo -n gogs
|
||||||
|
kubectl rollout status deployment gogs-demo -n gogs
|
||||||
|
- name: Send email on failure
|
||||||
|
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
|
||||||
|
if: ${{ failure() }}
|
||||||
|
with:
|
||||||
|
smtp_username: ${{ secrets.SMTP_USERNAME }}
|
||||||
|
smtp_password: ${{ secrets.SMTP_PASSWORD }}
|
||||||
|
|
||||||
|
buildx-pull-request:
|
||||||
|
if: ${{ github.event_name == 'pull_request'}}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
||||||
|
with:
|
||||||
|
config-inline: |
|
||||||
|
[worker.oci]
|
||||||
|
max-parallelism = 2
|
||||||
|
- name: Inspect builder
|
||||||
|
run: |
|
||||||
|
echo "Name: ${{ steps.buildx.outputs.name }}"
|
||||||
|
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
|
||||||
|
echo "Status: ${{ steps.buildx.outputs.status }}"
|
||||||
|
echo "Flags: ${{ steps.buildx.outputs.flags }}"
|
||||||
|
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
|
||||||
|
- name: Compute short commit SHA
|
||||||
|
id: short-sha
|
||||||
|
uses: benjlevesque/short-sha@599815c8ee942a9616c92bcfb4f947a3b670ab0b # v3.0
|
||||||
|
- name: Build and push images
|
||||||
|
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
platforms: linux/amd64
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
ttl.sh/gogs/gogs-${{ steps.short-sha.outputs.sha }}:7d
|
||||||
|
- name: Scan for container vulnerabilities
|
||||||
|
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8 # 0.33.1
|
||||||
|
with:
|
||||||
|
image-ref: ttl.sh/gogs/gogs-${{ steps.short-sha.outputs.sha }}:7d
|
||||||
|
exit-code: '1'
|
||||||
|
|
||||||
|
buildx-next-pull-request:
|
||||||
|
if: ${{ github.event_name == 'pull_request'}}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
||||||
|
with:
|
||||||
|
config-inline: |
|
||||||
|
[worker.oci]
|
||||||
|
max-parallelism = 2
|
||||||
|
- name: Inspect builder
|
||||||
|
run: |
|
||||||
|
echo "Name: ${{ steps.buildx.outputs.name }}"
|
||||||
|
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
|
||||||
|
echo "Status: ${{ steps.buildx.outputs.status }}"
|
||||||
|
echo "Flags: ${{ steps.buildx.outputs.flags }}"
|
||||||
|
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
|
||||||
|
- name: Compute short commit SHA
|
||||||
|
id: short-sha
|
||||||
|
uses: benjlevesque/short-sha@599815c8ee942a9616c92bcfb4f947a3b670ab0b # v3.0
|
||||||
|
- name: Build and push next-gen images
|
||||||
|
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.next
|
||||||
|
platforms: linux/amd64
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
ttl.sh/gogs/gogs-next-${{ steps.short-sha.outputs.sha }}:7d
|
||||||
|
- name: Scan for container vulnerabilities
|
||||||
|
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8 # 0.33.1
|
||||||
|
with:
|
||||||
|
image-ref: ttl.sh/gogs/gogs-next-${{ steps.short-sha.outputs.sha }}:7d
|
||||||
|
exit-code: '1'
|
||||||
|
|
||||||
|
# Updates to the following section needs to be synced to all release branches within their lifecycles.
|
||||||
|
buildx-release:
|
||||||
|
if: ${{ github.event_name == 'release' }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
steps:
|
||||||
|
- name: Compute image tags
|
||||||
|
run: |
|
||||||
|
IMAGE_TAG=$(echo $GITHUB_REF_NAME | cut -c 2-)
|
||||||
|
echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
TAGS="gogs/gogs:$IMAGE_TAG
|
||||||
|
ghcr.io/gogs/gogs:$IMAGE_TAG"
|
||||||
|
|
||||||
|
# Add minor version tag for stable releases (no prerelease suffix per semver).
|
||||||
|
if [[ ! "$IMAGE_TAG" =~ - ]]; then
|
||||||
|
MINOR_TAG=$(echo "$IMAGE_TAG" | cut -d. -f1,2)
|
||||||
|
TAGS="$TAGS
|
||||||
|
gogs/gogs:$MINOR_TAG
|
||||||
|
ghcr.io/gogs/gogs:$MINOR_TAG"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "TAGS<<EOF" >> $GITHUB_ENV
|
||||||
|
echo "$TAGS" >> $GITHUB_ENV
|
||||||
|
echo "EOF" >> $GITHUB_ENV
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
|
||||||
|
with:
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
||||||
|
- name: Inspect builder
|
||||||
|
run: |
|
||||||
|
echo "Name: ${{ steps.buildx.outputs.name }}"
|
||||||
|
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
|
||||||
|
echo "Status: ${{ steps.buildx.outputs.status }}"
|
||||||
|
echo "Flags: ${{ steps.buildx.outputs.flags }}"
|
||||||
|
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
- name: Login to GitHub Container registry
|
||||||
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Build and push images
|
||||||
|
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
push: true
|
||||||
|
tags: ${{ env.TAGS }}
|
||||||
|
- name: Send email on failure
|
||||||
|
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
|
||||||
|
if: ${{ failure() }}
|
||||||
|
with:
|
||||||
|
smtp_username: ${{ secrets.SMTP_USERNAME }}
|
||||||
|
smtp_password: ${{ secrets.SMTP_PASSWORD }}
|
||||||
|
|
||||||
|
# Updates to the following section needs to be synced to all release branches within their lifecycles.
|
||||||
|
buildx-next-release:
|
||||||
|
if: ${{ github.event_name == 'release' }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
steps:
|
||||||
|
- name: Compute image tags
|
||||||
|
run: |
|
||||||
|
IMAGE_TAG=$(echo $GITHUB_REF_NAME | cut -c 2-)
|
||||||
|
echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
TAGS="gogs/gogs:next-$IMAGE_TAG
|
||||||
|
ghcr.io/gogs/gogs:next-$IMAGE_TAG"
|
||||||
|
|
||||||
|
# Add minor version tag for stable releases (no prerelease suffix per semver).
|
||||||
|
if [[ ! "$IMAGE_TAG" =~ - ]]; then
|
||||||
|
MINOR_TAG=$(echo "$IMAGE_TAG" | cut -d. -f1,2)
|
||||||
|
TAGS="$TAGS
|
||||||
|
gogs/gogs:next-$MINOR_TAG
|
||||||
|
ghcr.io/gogs/gogs:next-$MINOR_TAG"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "TAGS<<EOF" >> $GITHUB_ENV
|
||||||
|
echo "$TAGS" >> $GITHUB_ENV
|
||||||
|
echo "EOF" >> $GITHUB_ENV
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
|
||||||
|
with:
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
||||||
|
- name: Inspect builder
|
||||||
|
run: |
|
||||||
|
echo "Name: ${{ steps.buildx.outputs.name }}"
|
||||||
|
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
|
||||||
|
echo "Status: ${{ steps.buildx.outputs.status }}"
|
||||||
|
echo "Flags: ${{ steps.buildx.outputs.flags }}"
|
||||||
|
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
- name: Login to GitHub Container registry
|
||||||
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Build and push next-gen images
|
||||||
|
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.next
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
push: true
|
||||||
|
tags: ${{ env.TAGS }}
|
||||||
|
- name: Send email on failure
|
||||||
|
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
|
||||||
|
if: ${{ failure() }}
|
||||||
|
with:
|
||||||
|
smtp_username: ${{ secrets.SMTP_USERNAME }}
|
||||||
|
smtp_password: ${{ secrets.SMTP_PASSWORD }}
|
||||||
|
|
||||||
|
digitalocean-gc:
|
||||||
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
|
||||||
|
needs: buildx-next
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
uses: ./.github/workflows/digitalocean_gc.yml
|
||||||
|
secrets: inherit
|
||||||
|
|
||||||
|
digitalocean-gc-pull-request:
|
||||||
|
if: ${{ github.event_name == 'pull_request' && github.repository == 'gogs/gogs' }}
|
||||||
|
needs: buildx-next-pull-request
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
uses: ./.github/workflows/digitalocean_gc.yml
|
||||||
|
secrets: inherit
|
||||||
176
.github/workflows/go.yml
vendored
Normal file
176
.github/workflows/go.yml
vendored
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
name: Go
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- 'release/**'
|
||||||
|
paths:
|
||||||
|
- '**.go'
|
||||||
|
- 'go.mod'
|
||||||
|
- '.golangci.yml'
|
||||||
|
- '.github/workflows/go.yml'
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- '**.go'
|
||||||
|
- 'go.mod'
|
||||||
|
- '.golangci.yml'
|
||||||
|
- '.github/workflows/go.yml'
|
||||||
|
env:
|
||||||
|
GOPROXY: "https://proxy.golang.org"
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
permissions:
|
||||||
|
contents: read # for actions/checkout to fetch code
|
||||||
|
pull-requests: read # for golangci/golangci-lint-action to fetch pull requests
|
||||||
|
name: Lint
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
|
with:
|
||||||
|
go-version: 1.26.x
|
||||||
|
- name: Install Task
|
||||||
|
uses: arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 # v2.0.0
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Check Go module tidiness and generated files
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
go mod tidy
|
||||||
|
task generate
|
||||||
|
STATUS=$(git status --porcelain)
|
||||||
|
if [ ! -z "$STATUS" ]; then
|
||||||
|
echo "Unstaged files:"
|
||||||
|
echo $STATUS
|
||||||
|
echo "Run 'go mod tidy' or 'task generate' commit them"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
- name: Run golangci-lint
|
||||||
|
uses: golangci/golangci-lint-action@9fae48acfc02a90574d7c304a1758ef9895495fa # v7.0.1
|
||||||
|
with:
|
||||||
|
version: latest
|
||||||
|
args: --timeout=30m
|
||||||
|
|
||||||
|
test:
|
||||||
|
name: Test
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
go-version: [ 1.26.x ]
|
||||||
|
platform: [ ubuntu-latest, macos-latest ]
|
||||||
|
runs-on: ${{ matrix.platform }}
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
|
with:
|
||||||
|
go-version: ${{ matrix.go-version }}
|
||||||
|
- name: Run tests with coverage
|
||||||
|
run: |
|
||||||
|
go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic -json ./... > test-report.json
|
||||||
|
go install github.com/mfridman/tparse@latest
|
||||||
|
tparse -all -file=test-report.json
|
||||||
|
- name: Send email on failure
|
||||||
|
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
|
||||||
|
if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
||||||
|
with:
|
||||||
|
smtp_username: ${{ secrets.SMTP_USERNAME }}
|
||||||
|
smtp_password: ${{ secrets.SMTP_PASSWORD }}
|
||||||
|
|
||||||
|
# Running tests with race detection consumes too much memory on Windows,
|
||||||
|
# see https://github.com/golang/go/issues/46099 for details.
|
||||||
|
test-windows:
|
||||||
|
name: Test Windows
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
go-version: [ 1.26.x ]
|
||||||
|
platform: [ windows-latest ]
|
||||||
|
runs-on: ${{ matrix.platform }}
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
|
with:
|
||||||
|
go-version: ${{ matrix.go-version }}
|
||||||
|
- name: Run tests with coverage
|
||||||
|
run: go test -shuffle=on -v -coverprofile=coverage -covermode=atomic ./...
|
||||||
|
- name: Send email on failure
|
||||||
|
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
|
||||||
|
if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
||||||
|
with:
|
||||||
|
smtp_username: ${{ secrets.SMTP_USERNAME }}
|
||||||
|
smtp_password: ${{ secrets.SMTP_PASSWORD }}
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
name: Postgres
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
go-version: [ 1.26.x ]
|
||||||
|
platform: [ ubuntu-latest ]
|
||||||
|
runs-on: ${{ matrix.platform }}
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:9.6
|
||||||
|
env:
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
options: >-
|
||||||
|
--health-cmd pg_isready
|
||||||
|
--health-interval 10s
|
||||||
|
--health-timeout 5s
|
||||||
|
--health-retries 5
|
||||||
|
ports:
|
||||||
|
- 5432:5432
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
|
with:
|
||||||
|
go-version: ${{ matrix.go-version }}
|
||||||
|
- name: Run tests with coverage
|
||||||
|
run: |
|
||||||
|
go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic -json ./internal/database/... > test-report.json
|
||||||
|
go install github.com/mfridman/tparse@latest
|
||||||
|
tparse -all -file=test-report.json
|
||||||
|
env:
|
||||||
|
GOGS_DATABASE_TYPE: postgres
|
||||||
|
PGPORT: 5432
|
||||||
|
PGHOST: localhost
|
||||||
|
PGUSER: postgres
|
||||||
|
PGPASSWORD: postgres
|
||||||
|
PGSSLMODE: disable
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
name: MySQL
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
go-version: [ 1.26.x ]
|
||||||
|
platform: [ ubuntu-22.04 ] # Use the lowest version possible for backwards compatibility
|
||||||
|
runs-on: ${{ matrix.platform }}
|
||||||
|
steps:
|
||||||
|
- name: Start MySQL server
|
||||||
|
run: sudo systemctl start mysql
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
|
with:
|
||||||
|
go-version: ${{ matrix.go-version }}
|
||||||
|
- name: Run tests with coverage
|
||||||
|
run: |
|
||||||
|
go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic -json ./internal/database/... > test-report.json
|
||||||
|
go install github.com/mfridman/tparse@latest
|
||||||
|
tparse -all -file=test-report.json
|
||||||
|
env:
|
||||||
|
GOGS_DATABASE_TYPE: mysql
|
||||||
|
MYSQL_USER: root
|
||||||
|
MYSQL_PASSWORD: root
|
||||||
|
MYSQL_HOST: localhost
|
||||||
|
MYSQL_PORT: 3306
|
||||||
25
.github/workflows/lock.yml
vendored
Normal file
25
.github/workflows/lock.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
name: 'Lock Threads'
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: lock
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
action:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: dessant/lock-threads@1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771 # v5.0.1
|
||||||
|
with:
|
||||||
|
github-token: ${{ github.token }}
|
||||||
|
issue-inactive-days: '90'
|
||||||
|
issue-lock-reason: 'resolved'
|
||||||
|
pr-inactive-days: '365'
|
||||||
|
pr-lock-reason: 'resolved'
|
||||||
146
.github/workflows/release.yml
vendored
Normal file
146
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
name: Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/release.yml'
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
GOPROXY: "https://proxy.golang.org"
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build ${{ matrix.goos }}/${{ matrix.goarch }}${{ matrix.suffix }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- {goos: linux, goarch: amd64}
|
||||||
|
- {goos: linux, goarch: arm64}
|
||||||
|
- {goos: linux, goarch: "386"}
|
||||||
|
- {goos: darwin, goarch: amd64}
|
||||||
|
- {goos: darwin, goarch: arm64}
|
||||||
|
- {goos: windows, goarch: amd64}
|
||||||
|
- {goos: windows, goarch: arm64}
|
||||||
|
- {goos: windows, goarch: "386"}
|
||||||
|
- {goos: windows, goarch: amd64, suffix: "_mws", tags: minwinsvc}
|
||||||
|
- {goos: windows, goarch: arm64, suffix: "_mws", tags: minwinsvc}
|
||||||
|
- {goos: windows, goarch: "386", suffix: "_mws", tags: minwinsvc}
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
|
with:
|
||||||
|
go-version: 1.26.x
|
||||||
|
- name: Determine version
|
||||||
|
id: version
|
||||||
|
run: |
|
||||||
|
if [ "${{ github.event_name }}" = "release" ]; then
|
||||||
|
echo "version=${{ github.event.release.tag_name }}" | sed 's/version=v/version=/' >> "$GITHUB_OUTPUT"
|
||||||
|
echo "release_tag=${{ github.event.release.tag_name }}" >> "$GITHUB_OUTPUT"
|
||||||
|
elif [ "${{ github.event_name }}" = "push" ] && [ "${{ github.ref }}" = "refs/heads/main" ]; then
|
||||||
|
echo "version=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "release_tag=latest-commit-build" >> "$GITHUB_OUTPUT"
|
||||||
|
else
|
||||||
|
echo "version=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "release_tag=release-archive-testing" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
|
- name: Build binary
|
||||||
|
env:
|
||||||
|
GOOS: ${{ matrix.goos }}
|
||||||
|
GOARCH: ${{ matrix.goarch }}
|
||||||
|
CGO_ENABLED: "0"
|
||||||
|
run: |
|
||||||
|
BINARY_NAME="gogs"
|
||||||
|
if [ "${{ matrix.goos }}" = "windows" ]; then
|
||||||
|
BINARY_NAME="gogs.exe"
|
||||||
|
fi
|
||||||
|
|
||||||
|
TAGS_FLAG=""
|
||||||
|
if [ -n "${{ matrix.tags }}" ]; then
|
||||||
|
TAGS_FLAG="-tags ${{ matrix.tags }}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
go build -v \
|
||||||
|
-ldflags "
|
||||||
|
-X \"gogs.io/gogs/internal/conf.BuildTime=$(date -u '+%Y-%m-%d %I:%M:%S %Z')\"
|
||||||
|
-X \"gogs.io/gogs/internal/conf.BuildCommit=$(git rev-parse HEAD)\"
|
||||||
|
" \
|
||||||
|
$TAGS_FLAG \
|
||||||
|
-trimpath -o "$BINARY_NAME" ./cmd/gogs
|
||||||
|
- name: Prepare archive contents
|
||||||
|
run: |
|
||||||
|
mkdir -p dist/gogs
|
||||||
|
BINARY_NAME="gogs"
|
||||||
|
if [ "${{ matrix.goos }}" = "windows" ]; then
|
||||||
|
BINARY_NAME="gogs.exe"
|
||||||
|
fi
|
||||||
|
cp "$BINARY_NAME" dist/gogs/
|
||||||
|
cp LICENSE README.md dist/gogs/
|
||||||
|
cp -r scripts dist/gogs/
|
||||||
|
- name: Create archives
|
||||||
|
working-directory: dist
|
||||||
|
run: |
|
||||||
|
VERSION="${{ steps.version.outputs.version }}"
|
||||||
|
ARCHIVE_BASE="gogs_${VERSION}_${{ matrix.goos }}_${{ matrix.goarch }}${{ matrix.suffix }}"
|
||||||
|
|
||||||
|
zip -r "${ARCHIVE_BASE}.zip" gogs
|
||||||
|
|
||||||
|
if [ "${{ matrix.goos }}" = "linux" ]; then
|
||||||
|
tar -czvf "${ARCHIVE_BASE}.tar.gz" gogs
|
||||||
|
fi
|
||||||
|
- name: Upload to release
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ github.token }}
|
||||||
|
run: |
|
||||||
|
RELEASE_TAG="${{ steps.version.outputs.release_tag }}"
|
||||||
|
|
||||||
|
if [ "${{ github.event_name }}" != "release" ]; then
|
||||||
|
git tag -f "$RELEASE_TAG"
|
||||||
|
git push origin "$RELEASE_TAG" --force || true
|
||||||
|
|
||||||
|
RELEASE_TITLE="Release Archive Testing"
|
||||||
|
RELEASE_NOTES="Automated testing release for workflow development."
|
||||||
|
if [ "$RELEASE_TAG" = "latest-commit-build" ]; then
|
||||||
|
RELEASE_TITLE="Latest Commit Build"
|
||||||
|
RELEASE_NOTES="Automated build from the latest commit on main branch. This release is updated automatically with every push to main."
|
||||||
|
fi
|
||||||
|
|
||||||
|
gh release view "$RELEASE_TAG" || gh release create "$RELEASE_TAG" --title "$RELEASE_TITLE" --notes "$RELEASE_NOTES" --prerelease
|
||||||
|
fi
|
||||||
|
|
||||||
|
PATTERN="_${{ matrix.goos }}_${{ matrix.goarch }}${{ matrix.suffix }}\."
|
||||||
|
gh release view "$RELEASE_TAG" --json assets --jq ".assets[].name" | grep "$PATTERN" | while read -r asset; do
|
||||||
|
gh release delete-asset "$RELEASE_TAG" "$asset" --yes || true
|
||||||
|
done
|
||||||
|
|
||||||
|
gh release upload "$RELEASE_TAG" dist/gogs_*.zip --clobber
|
||||||
|
if [ "${{ matrix.goos }}" = "linux" ]; then
|
||||||
|
gh release upload "$RELEASE_TAG" dist/gogs_*.tar.gz --clobber
|
||||||
|
fi
|
||||||
|
|
||||||
|
notify-failure:
|
||||||
|
name: Notify on failure
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build]
|
||||||
|
if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
||||||
|
steps:
|
||||||
|
- name: Send email on failure
|
||||||
|
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
|
||||||
|
with:
|
||||||
|
smtp_username: ${{ secrets.SMTP_USERNAME }}
|
||||||
|
smtp_password: ${{ secrets.SMTP_PASSWORD }}
|
||||||
17
.github/workflows/shell.yml
vendored
Normal file
17
.github/workflows/shell.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
name: Shell
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
shellcheck:
|
||||||
|
name: Shellcheck
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||||
|
- name: Run ShellCheck
|
||||||
|
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # 2.0.0
|
||||||
27
.gitignore
vendored
27
.gitignore
vendored
@@ -1,19 +1,16 @@
|
|||||||
.DS_Store
|
# Build artifacts
|
||||||
*.db
|
.bin/
|
||||||
*.log
|
dist/
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
log/
|
log/
|
||||||
custom/
|
custom/
|
||||||
data/
|
data/
|
||||||
.vendor/
|
|
||||||
|
# Configuration and application files
|
||||||
.idea/
|
.idea/
|
||||||
*.iml
|
.task/
|
||||||
public/img/avatar/
|
.envrc
|
||||||
*.exe
|
|
||||||
*.exe~
|
# System junk
|
||||||
/gogs
|
.DS_Store
|
||||||
profile/
|
|
||||||
*.pem
|
|
||||||
output*
|
|
||||||
*.sublime-project
|
|
||||||
*.sublime-workspace
|
|
||||||
/release
|
|
||||||
|
|||||||
42
.golangci.yml
Normal file
42
.golangci.yml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
version: "2"
|
||||||
|
linters:
|
||||||
|
enable:
|
||||||
|
- nakedret
|
||||||
|
- rowserrcheck
|
||||||
|
- unconvert
|
||||||
|
- unparam
|
||||||
|
settings:
|
||||||
|
govet:
|
||||||
|
disable:
|
||||||
|
# printf: non-constant format string in call to fmt.Errorf (govet)
|
||||||
|
# showing up since golangci-lint version 1.60.1
|
||||||
|
- printf
|
||||||
|
staticcheck:
|
||||||
|
checks:
|
||||||
|
- all
|
||||||
|
- "-SA1019" # This project is under active refactoring and not all code is up to date.
|
||||||
|
- "-QF1001" # I'm a math noob
|
||||||
|
- "-ST1016" # Some legit code uses this pattern
|
||||||
|
nakedret:
|
||||||
|
max-func-lines: 0 # Disallow any unnamed return statement
|
||||||
|
exclusions:
|
||||||
|
generated: lax
|
||||||
|
presets:
|
||||||
|
- comments
|
||||||
|
- common-false-positives
|
||||||
|
- legacy
|
||||||
|
- std-error-handling
|
||||||
|
paths:
|
||||||
|
- third_party$
|
||||||
|
- builtin$
|
||||||
|
- examples$
|
||||||
|
formatters:
|
||||||
|
enable:
|
||||||
|
- gofmt
|
||||||
|
- goimports
|
||||||
|
exclusions:
|
||||||
|
generated: lax
|
||||||
|
paths:
|
||||||
|
- third_party$
|
||||||
|
- builtin$
|
||||||
|
- examples$
|
||||||
6
.mailmap
6
.mailmap
@@ -1,2 +1,4 @@
|
|||||||
Unknwon <u@gogs.io> <joe2010xtmf@163.com>
|
Joe Chen <jc@unknwon.io> Unknwon <u@gogs.io>
|
||||||
Unknwon <u@gogs.io> 无闻 <u@gogs.io>
|
Joe Chen <jc@unknwon.io> 无闻 <u@gogs.io>
|
||||||
|
Joe Chen <jc@unknwon.io> ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
|
||||||
|
Joe Chen <jc@unknwon.io> ᴜɴᴋɴᴡᴏɴ <jc@unknwon.io>
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ APP_USER=$(${CLI} config:get APP_USER)
|
|||||||
APP_GROUP=$(${CLI} config:get APP_GROUP)
|
APP_GROUP=$(${CLI} config:get APP_GROUP)
|
||||||
APP_CONFIG="/etc/${APP_NAME}/conf/app.ini"
|
APP_CONFIG="/etc/${APP_NAME}/conf/app.ini"
|
||||||
|
|
||||||
mkdir -p $(dirname ${APP_CONFIG})
|
mkdir -p "$(dirname ${APP_CONFIG})"
|
||||||
chown ${APP_USER}.${APP_GROUP} $(dirname ${APP_CONFIG})
|
chown "${APP_USER}"."${APP_GROUP}" "$(dirname ${APP_CONFIG})"
|
||||||
[ -f ${APP_CONFIG} ] || ${CLI} run cp conf/app.ini ${APP_CONFIG}
|
[ -f ${APP_CONFIG} ] || ${CLI} run cp conf/app.ini ${APP_CONFIG}
|
||||||
${CLI} config:set USER=${APP_USER}
|
${CLI} config:set USER="${APP_USER}"
|
||||||
sed -i "s|RUN_USER = git|RUN_USER = ${APP_USER}|" ${APP_CONFIG}
|
sed -i "s|RUN_USER = git|RUN_USER = ${APP_USER}|" ${APP_CONFIG}
|
||||||
sed -i "s|RUN_MODE = dev|RUN_MODE = prod|" ${APP_CONFIG}
|
sed -i "s|RUN_MODE = dev|RUN_MODE = prod|" ${APP_CONFIG}
|
||||||
|
|
||||||
31
.pkgr.yml
31
.pkgr.yml
@@ -1,36 +1,35 @@
|
|||||||
targets:
|
targets:
|
||||||
debian-7: &debian
|
debian-11: &debian
|
||||||
build_dependencies:
|
build_dependencies:
|
||||||
- libpam0g-dev
|
- libpam0g-dev
|
||||||
dependencies:
|
dependencies:
|
||||||
- libpam0g
|
- libpam0g
|
||||||
- git
|
- git
|
||||||
debian-8:
|
debian-12:
|
||||||
<<: *debian
|
<<: *debian
|
||||||
debian-9:
|
debian-13:
|
||||||
<<: *debian
|
<<: *debian
|
||||||
ubuntu-12.04:
|
debian-14:
|
||||||
<<: *debian
|
<<: *debian
|
||||||
ubuntu-14.04:
|
ubuntu-18.04:
|
||||||
<<: *debian
|
<<: *debian
|
||||||
ubuntu-16.04:
|
ubuntu-20.04:
|
||||||
<<: *debian
|
<<: *debian
|
||||||
build_dependencies:
|
ubuntu-22.04:
|
||||||
- bzr
|
<<: *debian
|
||||||
- mercurial
|
ubuntu-24.04:
|
||||||
centos-6: &el
|
<<: *debian
|
||||||
|
centos-9:
|
||||||
build_dependencies:
|
build_dependencies:
|
||||||
- pam-devel
|
- pam-devel
|
||||||
# required for go buildpack
|
# required for Go buildpack
|
||||||
- perl-Digest-SHA
|
- perl-Digest-SHA
|
||||||
dependencies:
|
dependencies:
|
||||||
- pam
|
- pam
|
||||||
- git
|
- git
|
||||||
centos-7:
|
|
||||||
<<: *el
|
|
||||||
before:
|
before:
|
||||||
- mv packager/Procfile .
|
- mv .packager/Procfile .
|
||||||
after:
|
after:
|
||||||
- mv bin/gogs gogs
|
- mv bin/gogs gogs
|
||||||
after_install: ./packager/hooks/postinst
|
after_install: ./.packager/hooks/postinst
|
||||||
buildpack: https://github.com/heroku/heroku-buildpack-go.git#v62
|
buildpack: https://github.com/heroku/heroku-buildpack-go.git#main
|
||||||
|
|||||||
19
.travis.yml
19
.travis.yml
@@ -1,19 +0,0 @@
|
|||||||
language: go
|
|
||||||
go:
|
|
||||||
- 1.6.x
|
|
||||||
- 1.7.x
|
|
||||||
- 1.8.x
|
|
||||||
- 1.9.x
|
|
||||||
- 1.10.x
|
|
||||||
- master
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- sudo apt-get update -qq
|
|
||||||
- sudo apt-get install -y libpam-dev
|
|
||||||
|
|
||||||
env:
|
|
||||||
- GO15VENDOREXPERIMENT=1
|
|
||||||
|
|
||||||
script:
|
|
||||||
- go build -v -tags "pam"
|
|
||||||
- go test -v -cover -race ./...
|
|
||||||
33
AGENTS.md
Normal file
33
AGENTS.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
## Core principles
|
||||||
|
|
||||||
|
- Stop telling me "You're right", it just shows how incompetent you are. Do it right on your first try, fact-check and review after changes. If you are not sure, ask for help.
|
||||||
|
- When you see changes made outside your knowledge, use the current version as your new starting point. Do not blindly overwrite those changes or you suck. Even if you have to update the code, always respect the pattern in the surrounding context!
|
||||||
|
|
||||||
|
## Style and mechanics
|
||||||
|
|
||||||
|
This applies to all texts, including but not limited to UI, documentation, code comments.
|
||||||
|
|
||||||
|
- Use sentence case. Preserve original casing for brand names.
|
||||||
|
- End with a period for a full sentence.
|
||||||
|
- Do not add comments that repeat what the code is doing, always prefer more descriptive names. Do add comments for intentions that aren't obvious via reading the code alone. This rule takes precedence over matching existing patterns.
|
||||||
|
|
||||||
|
## Coding guidelines
|
||||||
|
|
||||||
|
- Use `github.com/cockroachdb/errors` for error handling.
|
||||||
|
- Use `github.com/stretchr/testify` for assertions in tests. Be mindful about the choice of `require` and `assert`, the former should be used when the test cannot proceed meaningfully after a failed assertion.
|
||||||
|
|
||||||
|
## Build instructions
|
||||||
|
|
||||||
|
- Prefer `task` command over vanilla `go` command when available. Use `--force` flag when necessary.
|
||||||
|
- Run `task lint` after every time you finish changing code, and fix all linter errors.
|
||||||
|
- Run `go mod tidy` after every time you change `go.mod`, do not manually edit `go.sum` file.
|
||||||
|
|
||||||
|
## Tool-use guidance
|
||||||
|
|
||||||
|
- Use `gh` CLI to access information on github.com that is not publicly available.
|
||||||
|
|
||||||
|
## Source code control
|
||||||
|
|
||||||
|
- When pushing changes to a pull request from a fork, use SSH address and do not add remote.
|
||||||
|
- Never commit on the `main` branch directly unless being explicitly asked to do so. A single ask only grants a single commit action on the `main` branch.
|
||||||
|
- Never amend commits unless being explicitly asked to do so.
|
||||||
311
CHANGELOG.md
Normal file
311
CHANGELOG.md
Normal file
@@ -0,0 +1,311 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to Gogs are documented in this file.
|
||||||
|
|
||||||
|
## 0.15.0+dev (`main`)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ Cross-repository LFS object overwrite via missing content hash verification. [#8166](https://github.com/gogs/gogs/pull/8166) - [GHSA-gmf8-978x-2fg2](https://github.com/gogs/gogs/security/advisories/GHSA-gmf8-978x-2fg2)
|
||||||
|
- _Security:_ DOM-based XSS via issue meta selection on the issue page. [#8178](https://github.com/gogs/gogs/pull/8178) - [GHSA-vgjm-2cpf-4g7c](https://github.com/gogs/gogs/security/advisories/GHSA-vgjm-2cpf-4g7c)
|
||||||
|
- Unable to update files via web editor and API. [#8184](https://github.com/gogs/gogs/pull/8184)
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- Support for passing API access tokens via URL query parameters (`token`, `access_token`). Use the `Authorization` header instead. [#8177](https://github.com/gogs/gogs/pull/8177) - [GHSA-x9p5-w45c-7ffc](https://github.com/gogs/gogs/security/advisories/GHSA-x9p5-w45c-7ffc)
|
||||||
|
- The `gogs cert` subcommand. [#8153](https://github.com/gogs/gogs/pull/8153)
|
||||||
|
- The `[email] DISABLE_HELO` configuration option. HELO/EHLO is now always sent during SMTP handshake. [#8164](https://github.com/gogs/gogs/pull/8164)
|
||||||
|
- Support for MSSQL as a database backend. Stay on 0.14 for continued usage. [#8173](https://github.com/gogs/gogs/pull/8173)
|
||||||
|
|
||||||
|
## 0.14.1
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Support comparing tags in addition to branches. [#6141](https://github.com/gogs/gogs/issues/6141)
|
||||||
|
- Show file name in browser tab title when viewing files. [#5896](https://github.com/gogs/gogs/pull/5896)
|
||||||
|
- Support using TLS for Redis session provider using `[session] PROVIDER_CONFIG = ...,tls=true`. [#7860](https://github.com/gogs/gogs/pull/7860)
|
||||||
|
- Support expanading values in `app.ini` from environment variables, e.g. `[database] PASSWORD = ${DATABASE_PASSWORD}`. [#8057](https://github.com/gogs/gogs/pull/8057)
|
||||||
|
- Support custom logout URL that users get redirected to after sign out using `[auth] CUSTOM_LOGOUT_URL`. [#8089](https://github.com/gogs/gogs/pull/8089)
|
||||||
|
- Start publishing next-generation, security-focused Docker image via `gogs/gogs:next-latest`, which will become the default image distribution (`gogs/gogs:latest`) starting 0.16.0. While not all container options support have been added in the next-generation image, the use of current legacy Docker image is deprecated, it will be published as `gogs/gogs:legacy-latest` starting 0.16.0, and be completely removed no earlier than 0.17.0. [#8061](https://github.com/gogs/gogs/pull/8061)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- The required Go version to compile source code changed to 1.25.
|
||||||
|
- The build tag `cert` has been removed, and the `gogs cert` subcommand is now always available. [#7883](https://github.com/gogs/gogs/pull/7883)
|
||||||
|
- Switched to pure-Go SQLite driver, CGO is no longer required to compile Gogs. [#7882](https://github.com/gogs/gogs/issues/7882)
|
||||||
|
- Updated Mermaid JS to 11.9.0. [#8009](https://github.com/gogs/gogs/pull/8009)
|
||||||
|
- Halt the repository creation and leave the directory untouched if the repository root already exists. [#8091](https://github.com/gogs/gogs/pull/8091)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ Unauthenticated file upload. [#8128](https://github.com/gogs/gogs/pull/8128) - [GHSA-fc3h-92p8-h36f](https://github.com/gogs/gogs/security/advisories/GHSA-fc3h-92p8-h36f)
|
||||||
|
- _Security:_ Protected branch bypass in web UI. [#8124](https://github.com/gogs/gogs/pull/8124) - [GHSA-2c6v-8r3v-gh6p](https://github.com/gogs/gogs/security/advisories/GHSA-2c6v-8r3v-gh6p)
|
||||||
|
- _Security:_ Authorization bypass allows cross-repository label modification. [#8123](https://github.com/gogs/gogs/pull/8123) - [GHSA-cv22-72px-f4gh](https://github.com/gogs/gogs/security/advisories/GHSA-cv22-72px-f4gh)
|
||||||
|
- _Security:_ Cross-repository comment deletion. [#8119](https://github.com/gogs/gogs/pull/8119) - [GHSA-jj5m-h57j-5gv7](https://github.com/gogs/gogs/security/advisories/GHSA-jj5m-h57j-5gv7)
|
||||||
|
- 500 error on repository watchers and stargazers pages when using MSSQL. [#5482](https://github.com/gogs/gogs/issues/5482)
|
||||||
|
- Submodules using `ssh://` protocol and a port number are not rendered correctly. [#4941](https://github.com/gogs/gogs/issues/4941)
|
||||||
|
- Missing link to user profile on the first commit in commits history page. [#7404](https://github.com/gogs/gogs/issues/7404)
|
||||||
|
- Unable to delete or display files with special characters in their names. [#7596](https://github.com/gogs/gogs/issues/7596)
|
||||||
|
- Docker healthcheck fails when `HTTP_PROXY` or `HTTPS_PROXY` environment variables are set. [#7529](https://github.com/gogs/gogs/issues/7529)
|
||||||
|
|
||||||
|
## 0.13.4
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ DoS in repository mirror sync. [#8065](https://github.com/gogs/gogs/pull/8065) - [GHSA-cr88-6mqm-4g57](https://github.com/gogs/gogs/security/advisories/GHSA-cr88-6mqm-4g57)
|
||||||
|
- _Security:_ RCE in repository put contents API. [#8082](https://github.com/gogs/gogs/pull/8082) - [GHSA-gg64-xxr9-qhjp](https://github.com/gogs/gogs/security/advisories/GHSA-gg64-xxr9-qhjp)
|
||||||
|
- _Security:_ Arbitrary file deletion via path traversal in wiki page update. [#8099](https://github.com/gogs/gogs/pull/8099) - [GHSA-jp7c-wj6q-3qf2](https://github.com/gogs/gogs/security/advisories/GHSA-jp7c-wj6q-3qf2)
|
||||||
|
- _Security:_ 2FA bypass via recovery code. [#8100](https://github.com/gogs/gogs/pull/8100) - [GHSA-p6x6-9mx6-26wj](https://github.com/gogs/gogs/security/advisories/GHSA-p6x6-9mx6-26wj)
|
||||||
|
- _Security:_ Authorization bypass in repository deletion API. [#8101](https://github.com/gogs/gogs/pull/8101) - [GHSA-rjv5-9px2-fqw6](https://github.com/gogs/gogs/security/advisories/GHSA-rjv5-9px2-fqw6)
|
||||||
|
- _Security:_ Update repository content via API with read-only permission. [#8102](https://github.com/gogs/gogs/pull/8102) - [GHSA-5qhx-gwfj-6jqr](https://github.com/gogs/gogs/security/advisories/GHSA-5qhx-gwfj-6jqr)
|
||||||
|
- _Security:_ Arbitrary file read/write via path traversal in Git hook editing. [#8103](https://github.com/gogs/gogs/pull/8103) - [GHSA-mrph-w4hh-gx3g](https://github.com/gogs/gogs/security/advisories/GHSA-mrph-w4hh-gx3g)
|
||||||
|
- _Security:_ Stored XSS via Mermaid diagrams. [`2c88cd4`](https://github.com/gogs/gogs/commit/2c88cd4d9fdc346d8e06d82f5368d657c10e79c2) - [GHSA-26gq-grmh-6xm6](https://github.com/gogs/gogs/security/advisories/GHSA-26gq-grmh-6xm6)
|
||||||
|
- Route `GET /api/v1/user/repos` responses 500 when accessible repositories contain forks. [#8069](https://github.com/gogs/gogs/pull/8069)
|
||||||
|
- Newer Git versions that uses default branch `main` cause wiki initialization to fail. [#8094](https://github.com/gogs/gogs/pull/8094)
|
||||||
|
|
||||||
|
## 0.13.3
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ Stored XSS in PDF renderer. [GHSA-xh32-cx6c-cp4v](https://github.com/gogs/gogs/security/advisories/GHSA-xh32-cx6c-cp4v)
|
||||||
|
- _Security:_ Path Traversal in file editing UI. [GHSA-wj44-9vcg-wjq7](https://github.com/gogs/gogs/security/advisories/GHSA-wj44-9vcg-wjq7)
|
||||||
|
- Randomly timeout on repository file uploads. [#7890](https://github.com/gogs/gogs/pull/7890)
|
||||||
|
- Unable to override email templates in custom directory. [#7905](https://github.com/gogs/gogs/pull/7905)
|
||||||
|
|
||||||
|
## 0.13.2
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ Path Traversal in file editing UI. [GHSA-r7j8-5h9c-f6fx](https://github.com/gogs/gogs/security/advisories/GHSA-r7j8-5h9c-f6fx)
|
||||||
|
- _Security:_ Path Traversal in file update API. [GHSA-qf5v-rp47-55gg](https://github.com/gogs/gogs/security/advisories/GHSA-qf5v-rp47-55gg)
|
||||||
|
- _Security:_ Argument Injection in the built-in SSH server. [GHSA-vm62-9jw3-c8w3](https://github.com/gogs/gogs/security/advisories/GHSA-vm62-9jw3-c8w3)
|
||||||
|
- _Security:_ Deletion of internal files. [GHSA-ccqv-43vm-4f3w](https://github.com/gogs/gogs/security/advisories/GHSA-ccqv-43vm-4f3w)
|
||||||
|
- _Security:_ Argument Injection during changes preview. [GHSA-9pp6-wq8c-3w2c](https://github.com/gogs/gogs/security/advisories/GHSA-9pp6-wq8c-3w2c)
|
||||||
|
- _Security:_ Argument Injection when tagging new releases. [GHSA-m27m-h5gj-wwmg](https://github.com/gogs/gogs/security/advisories/GHSA-m27m-h5gj-wwmg)
|
||||||
|
- Use the non-deprecated section name `[email]` during installation for email settings. [#7704](https://github.com/gogs/gogs/pull/7704)
|
||||||
|
- Use the non-deprecated section name `[email] PASSWORD` during installation for email password. [#7807](https://github.com/gogs/gogs/pull/7807)
|
||||||
|
- Make purple template label color to actually use the hexcode of purple. [#7722](https://github.com/gogs/gogs/pull/7722)
|
||||||
|
|
||||||
|
## 0.13.0
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Support using personal access token in the password field. [#3866](https://github.com/gogs/gogs/issues/3866)
|
||||||
|
- An unlisted option is added when create or migrate a repository. Unlisted repositories are public but not being listed for users without direct access in the UI. [#5733](https://github.com/gogs/gogs/issues/5733)
|
||||||
|
- New API endpoint `PUT /repos/:owner/:repo/contents/:path` for creating and update repository contents. [#5967](https://github.com/gogs/gogs/issues/5967)
|
||||||
|
- New configuration option `[git.timeout] DIFF` for customizing operation timeout of `git diff`. [#6315](https://github.com/gogs/gogs/issues/6315)
|
||||||
|
- New configuration option `[server] SSH_SERVER_MACS` for setting list of accepted MACs for connections to builtin SSH server. [#6434](https://github.com/gogs/gogs/issues/6434)
|
||||||
|
- New configuration option `[repository] DEFAULT_BRANCH` for setting default branch name for new repositories. [#7291](https://github.com/gogs/gogs/issues/7291)
|
||||||
|
- New configuration option `[server] SSH_SERVER_ALGORITHMS` for specifying the list of accepted key exchange algorithms for connections to builtin SSH server. [#7345](https://github.com/gogs/gogs/pull/7345)
|
||||||
|
- Support specifying custom schema for PostgreSQL. [#6695](https://github.com/gogs/gogs/pull/6695)
|
||||||
|
- Support rendering Mermaid diagrams in Markdown. [#6776](https://github.com/gogs/gogs/pull/6776)
|
||||||
|
- Docker: Allow passing extra arguments to the `backup` command. [#7060](https://github.com/gogs/gogs/pull/7060)
|
||||||
|
- New languages support: Mongolian, Romanian. [#6510](https://github.com/gogs/gogs/pull/6510) [#7082](https://github.com/gogs/gogs/pull/7082)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- The default branch has been changed to `main`. [#6285](https://github.com/gogs/gogs/pull/6285)
|
||||||
|
- MSSQL as database backend is deprecated, installation page no longer shows it as an option. Existing installations and manually craft configuration file continue to work. [#6295](https://github.com/gogs/gogs/pull/6295)
|
||||||
|
- Use [Task](https://github.com/go-task/task) as the build tool. [#6297](https://github.com/gogs/gogs/pull/6297)
|
||||||
|
- The required Go version to compile source code changed to 1.18.
|
||||||
|
- Access tokens are now stored using their SHA256 hashes instead of raw values. [#7008](https://github.com/gogs/gogs/pull/7008)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Unable to use LDAP authentication on ARM machines. [#6761](https://github.com/gogs/gogs/issues/6761)
|
||||||
|
- Unable to choose "Lookup Avatar by mail" in user settings without deleting custom avatar. [#7267](https://github.com/gogs/gogs/pull/7267)
|
||||||
|
- Mistakenly include the "data" directory under the custom directory in the Docker setup. [#7343](https://github.com/gogs/gogs/pull/7343)
|
||||||
|
- Unable to start after data recovery with an outdated migration version. [#7125](https://github.com/gogs/gogs/issues/7125)
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- ⚠️ Migrations before 0.12 are removed, installations not on 0.12 should upgrade to it to run the migrations and then upgrade to 0.13.
|
||||||
|
- Configuration section `[mailer]` is no longer used, please use `[email]`.
|
||||||
|
- Configuration section `[service]` is no longer used, please use `[auth]`.
|
||||||
|
- Configuration option `APP_NAME` is no longer used, please use `BRAND_NAME`.
|
||||||
|
- Configuration option `[security] REVERSE_PROXY_AUTHENTICATION_USER` is no longer used, please use `[auth] REVERSE_PROXY_AUTHENTICATION_HEADER`.
|
||||||
|
- Configuration option `[auth] ACTIVE_CODE_LIVE_MINUTES` is no longer used, please use `[auth] ACTIVATE_CODE_LIVES`.
|
||||||
|
- Configuration option `[auth] RESET_PASSWD_CODE_LIVE_MINUTES` is no longer used, please use `[auth] RESET_PASSWORD_CODE_LIVES`.
|
||||||
|
- Configuration option `[auth] ENABLE_CAPTCHA` is no longer used, please use `[auth] ENABLE_REGISTRATION_CAPTCHA`.
|
||||||
|
- Configuration option `[auth] ENABLE_NOTIFY_MAIL` is no longer used, please use `[user] ENABLE_EMAIL_NOTIFICATION`.
|
||||||
|
- Configuration option `[auth] REGISTER_EMAIL_CONFIRM` is no longer used, please use `[auth] REQUIRE_EMAIL_CONFIRMATION`.
|
||||||
|
- Configuration option `[session] GC_INTERVAL_TIME` is no longer used, please use `[session] GC_INTERVAL`.
|
||||||
|
- Configuration option `[session] SESSION_LIFE_TIME` is no longer used, please use `[session] MAX_LIFE_TIME`.
|
||||||
|
- Configuration option `[server] ROOT_URL` is no longer used, please use `[server] EXTERNAL_URL`.
|
||||||
|
- Configuration option `[server] LANDING_PAGE` is no longer used, please use `[server] LANDING_URL`.
|
||||||
|
- Configuration option `[database] DB_TYPE` is no longer used, please use `[database] TYPE`.
|
||||||
|
- Configuration option `[database] PASSWD` is no longer used, please use `[database] PASSWORD`.
|
||||||
|
- Remove option to use Makefile as the build tool. [#6980](https://github.com/gogs/gogs/pull/6980)
|
||||||
|
|
||||||
|
## 0.12.11
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ Stored XSS for issue assignees. [#7145](https://github.com/gogs/gogs/issues/7145)
|
||||||
|
- _Security:_ OS Command Injection in repo editor on case-insensitive file systems. [#7030](https://github.com/gogs/gogs/issues/7030)
|
||||||
|
- Unable to render repository pages with implicit submodules (e.g. `get submodule "REDACTED": revision does not exist`). [#6436](https://github.com/gogs/gogs/issues/6436)
|
||||||
|
|
||||||
|
## 0.12.10
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Support using `[security] LOCAL_NETWORK_ALLOWLIST = *` to allow all hostnames. [#7111](https://github.com/gogs/gogs/pull/7111)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Unable to send webhooks to local network addresses after configured `[security] LOCAL_NETWORK_ALLOWLIST`. [#7074](https://github.com/gogs/gogs/issues/7074)
|
||||||
|
|
||||||
|
## 0.12.9
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ OS Command Injection in file editor. [#7000](https://github.com/gogs/gogs/issues/7000)
|
||||||
|
- _Security:_ Sanitize `DisplayName` in repository issue list. [#7009](https://github.com/gogs/gogs/pull/7009)
|
||||||
|
- _Security:_ Path Traversal in file editor on Windows. [#7001](https://github.com/gogs/gogs/issues/7001)
|
||||||
|
- _Security:_ Path Traversal in Git HTTP endpoints. [#7002](https://github.com/gogs/gogs/issues/7002)
|
||||||
|
- Unable to init repository during creation on Windows. [#6967](https://github.com/gogs/gogs/issues/6967)
|
||||||
|
- Mysterious panic on `Value not found for type *repo.HTTPContext`. [#6963](https://github.com/gogs/gogs/issues/6963)
|
||||||
|
|
||||||
|
## 0.12.8
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- All users (including admins) need to use the configuration option `[security] LOCAL_NETWORK_ALLOWLIST` to allow repository migration and webhooks to be able to access local network addresses, which is a comma separated list of hostnames. [#6988](https://github.com/gogs/gogs/pull/6988)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ SSRF in webhook. [#6901](https://github.com/gogs/gogs/issues/6901)
|
||||||
|
- _Security:_ XSS in cookies. [#6953](https://github.com/gogs/gogs/issues/6953)
|
||||||
|
- _Security:_ OS Command Injection in file uploading. [#6968](https://github.com/gogs/gogs/issues/6968)
|
||||||
|
- _Security:_ Remote Command Execution in file editing. [#6555](https://github.com/gogs/gogs/issues/6555)
|
||||||
|
|
||||||
|
## 0.12.7
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ Stored XSS in issues. [#6919](https://github.com/gogs/gogs/issues/6919)
|
||||||
|
- Invalid character in `Access-Control-Allow-Credentials` response header. [#4983](https://github.com/gogs/gogs/issues/4983)
|
||||||
|
- Mysterious `ssh: overflow reading version string` errors from builtin SSH server. [#6882](https://github.com/gogs/gogs/issues/6882)
|
||||||
|
|
||||||
|
## 0.12.6
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ Remote command execution in file uploading. [#6833](https://github.com/gogs/gogs/issues/6833)
|
||||||
|
- _Regression:_ Unable to migrate repository from other local Git hosting. Added a new configuration option `[security] LOCAL_NETWORK_ALLOWLIST`, which is a comma separated list of hostnames that are explicitly allowed to be accessed within the local network. [#6841](https://github.com/gogs/gogs/issues/6841)
|
||||||
|
- Slow start of Docker containers using NAS devices. [#6554](https://github.com/gogs/gogs/issues/6554)
|
||||||
|
|
||||||
|
## 0.12.5
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ Potential SSRF in repository migration. [#6754](https://github.com/gogs/gogs/issues/6754)
|
||||||
|
- _Security:_ Improper PAM authorization handling. [#6810](https://github.com/gogs/gogs/issues/6810)
|
||||||
|
|
||||||
|
## 0.12.4
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Security:_ Potential SSRF attack by CRLF injection via repository migration. [#6413](https://github.com/gogs/gogs/issues/6413)
|
||||||
|
- _Regression:_ Fixed smart links for issues stops rendering. [#6506](https://github.com/gogs/gogs/issues/6506)
|
||||||
|
- Added `X-Frame-Options` header to prevent Clickjacking. [#6409](https://github.com/gogs/gogs/issues/6409)
|
||||||
|
|
||||||
|
## 0.12.3
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Regression:_ When running Gogs on Windows, push commits no longer fail on a daily basis with the error "pre-receive hook declined". [#6316](https://github.com/gogs/gogs/issues/6316)
|
||||||
|
- Auto-linked commit SHAs now have correct links. [#6300](https://github.com/gogs/gogs/issues/6300)
|
||||||
|
- Git LFS client (with version >= 2.5.0) wasn't able to upload files with known format (e.g. PNG, JPEG), and the server is expecting the HTTP Header `Content-Type` to be `application/octet-stream`. The server now tells the LFS client to always use `Content-Type: application/octet-stream` when upload files.
|
||||||
|
|
||||||
|
## 0.12.2
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- _Regression:_ Pages are correctly rendered when requesting `?go-get=1` for subdirectories. [#6314](https://github.com/gogs/gogs/issues/6314)
|
||||||
|
- _Regression:_ Submodule with a relative path is linked correctly. [#6319](https://github.com/gogs/gogs/issues/6319)
|
||||||
|
- Backup can be processed when `--target` is specified on Windows. [#6339](https://github.com/gogs/gogs/issues/6339)
|
||||||
|
- Commit message contains keywords look like an issue reference no longer fails the push entirely. [#6289](https://github.com/gogs/gogs/issues/6289)
|
||||||
|
|
||||||
|
## 0.12.1
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- The `updated_at` field is now correctly updated when updates an issue. [#6209](https://github.com/gogs/gogs/issues/6209)
|
||||||
|
- Fixed a regression which created `login_source.cfg` column to have `VARCHAR(255)` instead of `TEXT` in MySQL. [#6280](https://github.com/gogs/gogs/issues/6280)
|
||||||
|
|
||||||
|
## 0.12.0
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Support for Git LFS, you can read documentation for both [user](https://github.com/gogs/gogs/blob/main/docs/user/lfs.md) and [admin](https://github.com/gogs/gogs/blob/main/docs/admin/lfs.md). [#1322](https://github.com/gogs/gogs/issues/1322)
|
||||||
|
- Allow admin to remove observers from the repository. [#5803](https://github.com/gogs/gogs/pull/5803)
|
||||||
|
- Use `Last-Modified` HTTP header for raw files. [#5811](https://github.com/gogs/gogs/issues/5811)
|
||||||
|
- Support syntax highlighting for SAS code files (i.e. `.r`, `.sas`, `.tex`, `.yaml`). [#5856](https://github.com/gogs/gogs/pull/5856)
|
||||||
|
- Able to fill in pull request title with a template. [#5901](https://github.com/gogs/gogs/pull/5901)
|
||||||
|
- Able to override static files under `public/` directory, please refer to [documentation](https://gogs.io/docs/features/custom_template) for usage. [#5920](https://github.com/gogs/gogs/pull/5920)
|
||||||
|
- New API endpoint `GET /admin/teams/:teamid/members` to list members of a team. [#5877](https://github.com/gogs/gogs/issues/5877)
|
||||||
|
- Support backup with retention policy for Docker deployments. [#6140](https://github.com/gogs/gogs/pull/6140)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- The organization profile page has changed to display at most 12 members. [#5506](https://github.com/gogs/gogs/issues/5506)
|
||||||
|
- The required Go version to compile source code changed to 1.14.
|
||||||
|
- All assets are now embedded into binary and served from memory by default. Set `[server] LOAD_ASSETS_FROM_DISK = true` to load them from disk. [#5920](https://github.com/gogs/gogs/pull/5920)
|
||||||
|
- Application and Go versions are removed from page footer and only show in the admin dashboard.
|
||||||
|
- Build tag for running as Windows Service has been changed from `miniwinsvc` to `minwinsvc`.
|
||||||
|
- Configuration option `APP_NAME` is deprecated and will end support in 0.13.0, please start using `BRAND_NAME`.
|
||||||
|
- Configuration option `[server] ROOT_URL` is deprecated and will end support in 0.13.0, please start using `[server] EXTERNAL_URL`.
|
||||||
|
- Configuration option `[server] LANDING_PAGE` is deprecated and will end support in 0.13.0, please start using `[server] LANDING_URL`.
|
||||||
|
- Configuration option `[database] DB_TYPE` is deprecated and will end support in 0.13.0, please start using `[database] TYPE`.
|
||||||
|
- Configuration option `[database] PASSWD` is deprecated and will end support in 0.13.0, please start using `[database] PASSWORD`.
|
||||||
|
- Configuration option `[security] REVERSE_PROXY_AUTHENTICATION_USER` is deprecated and will end support in 0.13.0, please start using `[auth] REVERSE_PROXY_AUTHENTICATION_HEADER`.
|
||||||
|
- Configuration section `[mailer]` is deprecated and will end support in 0.13.0, please start using `[email]`.
|
||||||
|
- Configuration section `[service]` is deprecated and will end support in 0.13.0, please start using `[auth]`.
|
||||||
|
- Configuration option `[auth] ACTIVE_CODE_LIVE_MINUTES` is deprecated and will end support in 0.13.0, please start using `[auth] ACTIVATE_CODE_LIVES`.
|
||||||
|
- Configuration option `[auth] RESET_PASSWD_CODE_LIVE_MINUTES` is deprecated and will end support in 0.13.0, please start using `[auth] RESET_PASSWORD_CODE_LIVES`.
|
||||||
|
- Configuration option `[auth] REGISTER_EMAIL_CONFIRM` is deprecated and will end support in 0.13.0, please start using `[auth] REQUIRE_EMAIL_CONFIRMATION`.
|
||||||
|
- Configuration option `[auth] ENABLE_CAPTCHA` is deprecated and will end support in 0.13.0, please start using `[auth] ENABLE_REGISTRATION_CAPTCHA`.
|
||||||
|
- Configuration option `[auth] ENABLE_NOTIFY_MAIL` is deprecated and will end support in 0.13.0, please start using `[user] ENABLE_EMAIL_NOTIFICATION`.
|
||||||
|
- Configuration option `[session] GC_INTERVAL_TIME` is deprecated and will end support in 0.13.0, please start using `[session] GC_INTERVAL`.
|
||||||
|
- Configuration option `[session] SESSION_LIFE_TIME` is deprecated and will end support in 0.13.0, please start using `[session] MAX_LIFE_TIME`.
|
||||||
|
- The name `-` is reserved and cannot be used for users or organizations.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- [Security] Potential open redirection with i18n.
|
||||||
|
- [Security] Potential ability to delete files outside a repository.
|
||||||
|
- [Security] Potential ability to set primary email on others' behalf from their verified emails.
|
||||||
|
- [Security] Potential XSS attack via `.ipynb`. [#5170](https://github.com/gogs/gogs/issues/5170)
|
||||||
|
- [Security] Potential SSRF attack via webhooks. [#5366](https://github.com/gogs/gogs/issues/5366)
|
||||||
|
- [Security] Potential CSRF attack in admin panel. [#5367](https://github.com/gogs/gogs/issues/5367)
|
||||||
|
- [Security] Potential stored XSS attack in some browsers. [#5397](https://github.com/gogs/gogs/issues/5397)
|
||||||
|
- [Security] Potential RCE on mirror repositories. [#5767](https://github.com/gogs/gogs/issues/5767)
|
||||||
|
- [Security] Potential XSS attack with raw markdown API. [#5907](https://github.com/gogs/gogs/pull/5907)
|
||||||
|
- File both modified and renamed within a commit treated as separate files. [#5056](https://github.com/gogs/gogs/issues/5056)
|
||||||
|
- Unable to restore the database backup to MySQL 8.0 with syntax error. [#5602](https://github.com/gogs/gogs/issues/5602)
|
||||||
|
- Open/close milestone redirects to a 404 page. [#5677](https://github.com/gogs/gogs/issues/5677)
|
||||||
|
- Disallow multiple tokens with same name. [#5587](https://github.com/gogs/gogs/issues/5587) [#5820](https://github.com/gogs/gogs/pull/5820)
|
||||||
|
- Enable Federated Avatar Lookup could cause server to crash. [#5848](https://github.com/gogs/gogs/issues/5848)
|
||||||
|
- Private repositories are hidden in the organization's view. [#5869](https://github.com/gogs/gogs/issues/5869)
|
||||||
|
- Users have access to base repository cannot view commits in forks. [#5878](https://github.com/gogs/gogs/issues/5878)
|
||||||
|
- Server error when changing email address in user settings page. [#5899](https://github.com/gogs/gogs/issues/5899)
|
||||||
|
- Fall back to use RFC 3339 as time layout when misconfigured. [#6098](https://github.com/gogs/gogs/issues/6098)
|
||||||
|
- Unable to update team with server error. [#6185](https://github.com/gogs/gogs/issues/6185)
|
||||||
|
- Webhooks are not fired after push when `[service] REQUIRE_SIGNIN_VIEW = true`.
|
||||||
|
- Files with identical content are randomly displayed one of them.
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- Configuration option `[other] SHOW_FOOTER_VERSION`
|
||||||
|
- Configuration option `[server] STATIC_ROOT_PATH`
|
||||||
|
- Configuration option `[repository] MIRROR_QUEUE_LENGTH`
|
||||||
|
- Configuration option `[repository] PULL_REQUEST_QUEUE_LENGTH`
|
||||||
|
- Configuration option `[session] ENABLE_SET_COOKIE`
|
||||||
|
- Configuration option `[release.attachment] PATH`
|
||||||
|
- Configuration option `[webhook] QUEUE_LENGTH`
|
||||||
|
- Build tag `sqlite`, which means CGO is now required.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Older change logs can be found on [GitHub](https://github.com/gogs/gogs/releases?after=v0.12.0).**
|
||||||
2
CODEOWNERS
Normal file
2
CODEOWNERS
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Default
|
||||||
|
* @gogs/core
|
||||||
70
Dockerfile
70
Dockerfile
@@ -1,38 +1,44 @@
|
|||||||
FROM alpine:3.5
|
FROM golang:1.26-alpine3.23 AS binarybuilder
|
||||||
|
RUN apk --no-cache --no-progress add --virtual \
|
||||||
|
build-deps \
|
||||||
|
build-base \
|
||||||
|
git \
|
||||||
|
linux-pam-dev
|
||||||
|
|
||||||
# Install system utils & Gogs runtime dependencies
|
WORKDIR /gogs.io/gogs
|
||||||
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-amd64 /usr/sbin/gosu
|
|
||||||
RUN chmod +x /usr/sbin/gosu \
|
|
||||||
&& echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
|
|
||||||
&& apk --no-cache --no-progress add \
|
|
||||||
bash \
|
|
||||||
ca-certificates \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
linux-pam \
|
|
||||||
openssh \
|
|
||||||
s6 \
|
|
||||||
shadow \
|
|
||||||
socat \
|
|
||||||
tzdata
|
|
||||||
|
|
||||||
ENV GOGS_CUSTOM /data/gogs
|
|
||||||
|
|
||||||
# Configure LibC Name Service
|
|
||||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
|
||||||
COPY docker /app/gogs/docker
|
|
||||||
COPY templates /app/gogs/templates
|
|
||||||
COPY public /app/gogs/public
|
|
||||||
|
|
||||||
WORKDIR /app/gogs/build
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN ./docker/build-go.sh \
|
RUN ./docker/build/install-task.sh
|
||||||
&& ./docker/build.sh \
|
RUN TAGS="cert pam" task build
|
||||||
&& ./docker/finalize.sh
|
|
||||||
|
|
||||||
# Configure Docker Container
|
FROM alpine:3.23
|
||||||
VOLUME ["/data"]
|
RUN apk --no-cache --no-progress add \
|
||||||
|
bash \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
git \
|
||||||
|
linux-pam \
|
||||||
|
openssh \
|
||||||
|
s6 \
|
||||||
|
shadow \
|
||||||
|
socat \
|
||||||
|
tzdata \
|
||||||
|
rsync
|
||||||
|
|
||||||
|
ENV GOGS_CUSTOM=/data/gogs
|
||||||
|
|
||||||
|
# Configure LibC Name Service
|
||||||
|
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
||||||
|
|
||||||
|
WORKDIR /app/gogs
|
||||||
|
COPY docker ./docker
|
||||||
|
COPY --from=binarybuilder /gogs.io/gogs/.bin/gogs .
|
||||||
|
|
||||||
|
RUN ./docker/build/finalize.sh
|
||||||
|
|
||||||
|
# Configure Docker Container
|
||||||
|
VOLUME ["/data", "/backup"]
|
||||||
EXPOSE 22 3000
|
EXPOSE 22 3000
|
||||||
|
HEALTHCHECK CMD (curl --noproxy localhost -o /dev/null -sS http://localhost:3000/healthcheck) || exit 1
|
||||||
ENTRYPOINT ["/app/gogs/docker/start.sh"]
|
ENTRYPOINT ["/app/gogs/docker/start.sh"]
|
||||||
CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]
|
CMD ["/usr/bin/s6-svscan", "/app/gogs/docker/s6/"]
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
FROM aarch64/alpine:3.5
|
|
||||||
|
|
||||||
# Install system utils & Gogs runtime dependencies
|
|
||||||
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-arm64 /usr/sbin/gosu
|
|
||||||
RUN chmod +x /usr/sbin/gosu \
|
|
||||||
&& echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
|
|
||||||
&& apk --no-cache --no-progress add \
|
|
||||||
bash \
|
|
||||||
ca-certificates \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
linux-pam \
|
|
||||||
openssh \
|
|
||||||
s6 \
|
|
||||||
shadow \
|
|
||||||
socat \
|
|
||||||
tzdata
|
|
||||||
|
|
||||||
ENV GOGS_CUSTOM /data/gogs
|
|
||||||
|
|
||||||
# Configure LibC Name Service
|
|
||||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
|
||||||
COPY docker /app/gogs/docker
|
|
||||||
COPY templates /app/gogs/templates
|
|
||||||
COPY public /app/gogs/public
|
|
||||||
|
|
||||||
WORKDIR /app/gogs/build
|
|
||||||
COPY . .
|
|
||||||
|
|
||||||
RUN ./docker/build-go.sh \
|
|
||||||
&& ./docker/build.sh \
|
|
||||||
&& ./docker/finalize.sh
|
|
||||||
|
|
||||||
# Configure Docker Container
|
|
||||||
VOLUME ["/data"]
|
|
||||||
EXPOSE 22 3000
|
|
||||||
ENTRYPOINT ["/app/gogs/docker/start.sh"]
|
|
||||||
CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
FROM arm64v8/alpine:3.6
|
|
||||||
|
|
||||||
ENV GOGS_CUSTOM /data/gogs
|
|
||||||
ENV QEMU_EXECVE 1
|
|
||||||
|
|
||||||
# For cross compile on dockerhub
|
|
||||||
################################
|
|
||||||
|
|
||||||
COPY ./docker/aarch64/qemu-aarch64-static /usr/bin/
|
|
||||||
COPY ./docker/aarch64/resin-xbuild /usr/bin/
|
|
||||||
|
|
||||||
RUN [ "/usr/bin/qemu-aarch64-static", "/bin/sh", "-c", "ln -s resin-xbuild /usr/bin/cross-build-start; ln -s resin-xbuild /usr/bin/cross-build-end; ln /bin/sh /bin/sh.real" ]
|
|
||||||
|
|
||||||
RUN [ "cross-build-start" ]
|
|
||||||
|
|
||||||
# Prepare the container
|
|
||||||
#######################
|
|
||||||
|
|
||||||
# Install system utils & Gogs runtime dependencies
|
|
||||||
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-arm64 /usr/sbin/gosu
|
|
||||||
RUN chmod +x /usr/sbin/gosu \
|
|
||||||
&& apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata go
|
|
||||||
|
|
||||||
|
|
||||||
COPY . /app/gogs/build
|
|
||||||
WORKDIR /app/gogs/build
|
|
||||||
|
|
||||||
RUN ./docker/build.sh \
|
|
||||||
&& ./docker/finalize.sh
|
|
||||||
|
|
||||||
# Configure LibC Name Service
|
|
||||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
|
||||||
|
|
||||||
# For cross compile on dockerhub
|
|
||||||
################################
|
|
||||||
|
|
||||||
RUN [ "cross-build-end" ]
|
|
||||||
|
|
||||||
# Configure Docker Container
|
|
||||||
############################
|
|
||||||
VOLUME ["/data"]
|
|
||||||
EXPOSE 22 3000
|
|
||||||
ENTRYPOINT ["/app/gogs/docker/start.sh"]
|
|
||||||
CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]
|
|
||||||
50
Dockerfile.next
Normal file
50
Dockerfile.next
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
FROM golang:1.26-alpine3.23 AS binarybuilder
|
||||||
|
RUN apk --no-cache --no-progress add --virtual \
|
||||||
|
build-deps \
|
||||||
|
build-base \
|
||||||
|
git \
|
||||||
|
linux-pam-dev
|
||||||
|
|
||||||
|
WORKDIR /gogs.io/gogs
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN ./docker/build/install-task.sh
|
||||||
|
RUN TAGS="cert pam" task build
|
||||||
|
|
||||||
|
FROM alpine:3.23
|
||||||
|
|
||||||
|
# Create git user and group with fixed UID/GID at build time for better K8s security context support.
|
||||||
|
# Using 1000:1000 as it's a common non-root UID/GID that works well with most volume permission setups.
|
||||||
|
ARG GOGS_UID=1000
|
||||||
|
ARG GOGS_GID=1000
|
||||||
|
RUN addgroup -g ${GOGS_GID} -S git && \
|
||||||
|
adduser -u ${GOGS_UID} -G git -H -D -g 'Gogs Git User' -h /data/git -s /bin/sh git
|
||||||
|
|
||||||
|
RUN apk --no-cache --no-progress add \
|
||||||
|
bash \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
git \
|
||||||
|
linux-pam \
|
||||||
|
openssh-keygen
|
||||||
|
|
||||||
|
ENV GOGS_CUSTOM=/data/gogs
|
||||||
|
|
||||||
|
WORKDIR /app/gogs
|
||||||
|
COPY --from=binarybuilder /gogs.io/gogs/.bin/gogs .
|
||||||
|
COPY docker-next/start.sh .
|
||||||
|
RUN chmod +x start.sh && \
|
||||||
|
mkdir -p /data && \
|
||||||
|
ln -s /data/git /home/git && \
|
||||||
|
chown -R git:git /app/gogs /data
|
||||||
|
|
||||||
|
# Configure Docker Container
|
||||||
|
VOLUME ["/data", "/backup"]
|
||||||
|
EXPOSE 22 3000
|
||||||
|
HEALTHCHECK CMD (curl --noproxy localhost -o /dev/null -sS http://localhost:3000/healthcheck) || exit 1
|
||||||
|
|
||||||
|
# Run as non-root user by default for better K8s security context support.
|
||||||
|
USER git:git
|
||||||
|
|
||||||
|
ENTRYPOINT ["/app/gogs/start.sh"]
|
||||||
|
CMD ["/app/gogs/gogs", "web"]
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
FROM armhf/alpine:3.5
|
|
||||||
|
|
||||||
# Install system utils & Gogs runtime dependencies
|
|
||||||
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-armhf /usr/sbin/gosu
|
|
||||||
RUN chmod +x /usr/sbin/gosu \
|
|
||||||
&& echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
|
|
||||||
&& apk --no-cache --no-progress add \
|
|
||||||
bash \
|
|
||||||
ca-certificates \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
linux-pam \
|
|
||||||
openssh \
|
|
||||||
s6 \
|
|
||||||
shadow \
|
|
||||||
socat \
|
|
||||||
tzdata
|
|
||||||
|
|
||||||
ENV GOGS_CUSTOM /data/gogs
|
|
||||||
|
|
||||||
# Configure LibC Name Service
|
|
||||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
|
||||||
COPY docker /app/gogs/docker
|
|
||||||
COPY templates /app/gogs/templates
|
|
||||||
COPY public /app/gogs/public
|
|
||||||
|
|
||||||
WORKDIR /app/gogs/build
|
|
||||||
COPY . .
|
|
||||||
|
|
||||||
RUN ./docker/build-go.sh \
|
|
||||||
&& ./docker/build.sh \
|
|
||||||
&& ./docker/finalize.sh
|
|
||||||
|
|
||||||
# Configure Docker Container
|
|
||||||
VOLUME ["/data"]
|
|
||||||
EXPOSE 22 3000
|
|
||||||
ENTRYPOINT ["/app/gogs/docker/start.sh"]
|
|
||||||
CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
FROM armhf/alpine:3.5
|
|
||||||
|
|
||||||
ENV GOGS_CUSTOM /data/gogs
|
|
||||||
ENV QEMU_EXECVE 1
|
|
||||||
|
|
||||||
# For cross compile on dockerhub
|
|
||||||
################################
|
|
||||||
|
|
||||||
COPY ./docker/armhf/qemu-arm-static /usr/bin/
|
|
||||||
COPY ./docker/armhf/resin-xbuild /usr/bin/
|
|
||||||
|
|
||||||
RUN [ "/usr/bin/qemu-arm-static", "/bin/sh", "-c", "ln -s resin-xbuild /usr/bin/cross-build-start; ln -s resin-xbuild /usr/bin/cross-build-end; ln /bin/sh /bin/sh.real" ]
|
|
||||||
|
|
||||||
RUN [ "cross-build-start" ]
|
|
||||||
|
|
||||||
# Prepare the container
|
|
||||||
#######################
|
|
||||||
|
|
||||||
# Install system utils & Gogs runtime dependencies
|
|
||||||
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-armhf /usr/sbin/gosu
|
|
||||||
RUN chmod +x /usr/sbin/gosu \
|
|
||||||
&& echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
|
|
||||||
&& apk --no-cache --no-progress add \
|
|
||||||
bash \
|
|
||||||
ca-certificates \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
linux-pam \
|
|
||||||
openssh \
|
|
||||||
s6 \
|
|
||||||
shadow \
|
|
||||||
socat \
|
|
||||||
tzdata
|
|
||||||
|
|
||||||
# Configure LibC Name Service
|
|
||||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
|
||||||
COPY docker /app/gogs/docker
|
|
||||||
COPY templates /app/gogs/templates
|
|
||||||
COPY public /app/gogs/public
|
|
||||||
|
|
||||||
WORKDIR /app/gogs/build
|
|
||||||
COPY . .
|
|
||||||
|
|
||||||
RUN ./docker/build-go.sh \
|
|
||||||
&& ./docker/build.sh \
|
|
||||||
&& ./docker/finalize.sh
|
|
||||||
|
|
||||||
# For cross compile on dockerhub
|
|
||||||
################################
|
|
||||||
|
|
||||||
RUN [ "cross-build-end" ]
|
|
||||||
|
|
||||||
# Configure Docker Container
|
|
||||||
############################
|
|
||||||
VOLUME ["/data"]
|
|
||||||
EXPOSE 22 3000
|
|
||||||
ENTRYPOINT ["/app/gogs/docker/start.sh"]
|
|
||||||
CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]
|
|
||||||
83
Makefile
83
Makefile
@@ -1,83 +0,0 @@
|
|||||||
LDFLAGS += -X "github.com/gogits/gogs/pkg/setting.BuildTime=$(shell date -u '+%Y-%m-%d %I:%M:%S %Z')"
|
|
||||||
LDFLAGS += -X "github.com/gogits/gogs/pkg/setting.BuildGitHash=$(shell git rev-parse HEAD)"
|
|
||||||
|
|
||||||
DATA_FILES := $(shell find conf | sed 's/ /\\ /g')
|
|
||||||
LESS_FILES := $(wildcard public/less/gogs.less public/less/_*.less)
|
|
||||||
GENERATED := pkg/bindata/bindata.go public/css/gogs.css
|
|
||||||
|
|
||||||
OS := $(shell uname)
|
|
||||||
|
|
||||||
TAGS = ""
|
|
||||||
BUILD_FLAGS = "-v"
|
|
||||||
|
|
||||||
RELEASE_ROOT = "release"
|
|
||||||
RELEASE_GOGS = "release/gogs"
|
|
||||||
NOW = $(shell date -u '+%Y%m%d%I%M%S')
|
|
||||||
GOVET = go tool vet -composites=false -methods=false -structtags=false
|
|
||||||
|
|
||||||
.PHONY: build pack release bindata clean
|
|
||||||
|
|
||||||
.IGNORE: public/css/gogs.css
|
|
||||||
|
|
||||||
all: build
|
|
||||||
|
|
||||||
check: test
|
|
||||||
|
|
||||||
dist: release
|
|
||||||
|
|
||||||
web: build
|
|
||||||
./gogs web
|
|
||||||
|
|
||||||
govet:
|
|
||||||
$(GOVET) gogs.go
|
|
||||||
$(GOVET) models pkg routes
|
|
||||||
|
|
||||||
build: $(GENERATED)
|
|
||||||
go install $(BUILD_FLAGS) -ldflags '$(LDFLAGS)' -tags '$(TAGS)'
|
|
||||||
cp '$(GOPATH)/bin/gogs' .
|
|
||||||
|
|
||||||
build-dev: $(GENERATED) govet
|
|
||||||
go install $(BUILD_FLAGS) -tags '$(TAGS)'
|
|
||||||
cp '$(GOPATH)/bin/gogs' .
|
|
||||||
|
|
||||||
build-dev-race: $(GENERATED) govet
|
|
||||||
go install $(BUILD_FLAGS) -race -tags '$(TAGS)'
|
|
||||||
cp '$(GOPATH)/bin/gogs' .
|
|
||||||
|
|
||||||
pack:
|
|
||||||
rm -rf $(RELEASE_GOGS)
|
|
||||||
mkdir -p $(RELEASE_GOGS)
|
|
||||||
cp -r gogs LICENSE README.md README_ZH.md templates public scripts $(RELEASE_GOGS)
|
|
||||||
rm -rf $(RELEASE_GOGS)/public/config.codekit $(RELEASE_GOGS)/public/less
|
|
||||||
cd $(RELEASE_ROOT) && zip -r gogs.$(NOW).zip "gogs"
|
|
||||||
|
|
||||||
release: build pack
|
|
||||||
|
|
||||||
bindata: pkg/bindata/bindata.go
|
|
||||||
|
|
||||||
pkg/bindata/bindata.go: $(DATA_FILES)
|
|
||||||
go-bindata -o=$@ -ignore="\\.DS_Store|README.md|TRANSLATORS" -pkg=bindata conf/...
|
|
||||||
|
|
||||||
less: public/css/gogs.css
|
|
||||||
|
|
||||||
public/css/gogs.css: $(LESS_FILES)
|
|
||||||
lessc $< $@
|
|
||||||
|
|
||||||
clean:
|
|
||||||
go clean -i ./...
|
|
||||||
|
|
||||||
clean-mac: clean
|
|
||||||
find . -name ".DS_Store" -print0 | xargs -0 rm
|
|
||||||
|
|
||||||
test:
|
|
||||||
go test -cover -race ./...
|
|
||||||
|
|
||||||
fixme:
|
|
||||||
grep -rnw "FIXME" cmd routers models pkg
|
|
||||||
|
|
||||||
todo:
|
|
||||||
grep -rnw "TODO" cmd routers models pkg
|
|
||||||
|
|
||||||
# Legacy code should be remove by the time of release
|
|
||||||
legacy:
|
|
||||||
grep -rnw "LEGACY" cmd routes models pkg
|
|
||||||
162
README.md
162
README.md
@@ -1,138 +1,100 @@
|
|||||||
Gogs [](https://travis-ci.org/gogits/gogs) [](https://ci.appveyor.com/project/Unknwon/gogs/branch/master) [](https://crowdin.com/project/gogs) [](https://discord.gg/9aqdHU7)
|

|
||||||
=====================
|
|
||||||
|
|
||||||

|
[](https://github.com/gogs/gogs/actions?query=branch%3Amain) [](https://sourcegraph.com/github.com/gogs/gogs)
|
||||||
|
|
||||||
##### Current tip version: [`.VERSION`](templates/.VERSION) (see [Releases](https://github.com/gogits/gogs/releases) for binary versions)
|
👉 Deploy on DigitalOcean and [get $200 in free credits](https://m.do.co/c/5aeb02268b55)!
|
||||||
|
|
||||||
| Web | UI | Preview |
|
## 🔮 Vision
|
||||||
|:-------------:|:-------:|:-------:|
|
|
||||||
||||
|
|
||||||
||||
|
|
||||||
||||
|
|
||||||
|
|
||||||
### Important Notes
|
The Gogs (`/gɑgz/`) project aims to build a simple, stable and extensible self-hosted Git service that can be set up in the most painless way. With Go, this can be done with an independent binary distribution across all platforms that Go supports, including Linux, macOS, Windows and ARM-based systems.
|
||||||
|
|
||||||
1. **YOU MUST READ [Contributing Code](https://github.com/gogits/gogs/wiki/Contributing-Code) BEFORE STARTING TO WORK ON A PULL REQUEST**.
|
## 📡 Overview
|
||||||
2. Due to testing purpose, data of [try.gogs.io](https://try.gogs.io) was reset in **Jan 28, 2015** and will reset multiple times after. Please do **NOT** put your important data on the site.
|
|
||||||
3. The demo site [try.gogs.io](https://try.gogs.io) is running under `develop` branch.
|
|
||||||
4. If you think there are vulnerabilities in the project, please talk privately to **u@gogs.io**, and the name you want to be credited as. Thanks!
|
|
||||||
5. If you're interested in using APIs, we have experimental support with [documentation](https://github.com/gogits/go-gogs-client/wiki).
|
|
||||||
6. If your team/company is using Gogs and would like to put your logo on [our website](https://gogs.io), contact us by any means.
|
|
||||||
|
|
||||||
[简体中文](README_ZH.md)
|
- Please visit [our home page](https://gogs.io) for user documentation.
|
||||||
|
- Please refer to [CHANGELOG.md](CHANGELOG.md) for list of changes in each releases.
|
||||||
## Purpose
|
|
||||||
|
|
||||||
The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service. With Go, this can be done with an independent binary distribution across **ALL platforms** that Go supports, including Linux, Mac OS X, Windows and ARM.
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
- Please see the [Documentation](https://gogs.io/docs/intro) for common usages and change log.
|
|
||||||
- Want to try it before doing anything else? Do it [online](https://try.gogs.io/gogs/gogs)!
|
- Want to try it before doing anything else? Do it [online](https://try.gogs.io/gogs/gogs)!
|
||||||
- Having trouble? Get help with [Troubleshooting](https://gogs.io/docs/intro/troubleshooting.html) or [User Forum](https://discuss.gogs.io/).
|
- Having trouble? Help yourself with [troubleshooting](https://gogs.io/asking/troubleshooting) or ask questions in [Discussions](https://github.com/gogs/gogs/discussions).
|
||||||
- Want to help with localization? Check out the [guide](https://gogs.io/docs/features/i18n.html)!
|
- Want to help with localization? Check out the [localization documentation](https://gogs.io/advancing/localization).
|
||||||
|
- Ready to get hands dirty? Read our [contributing guide](.github/CONTRIBUTING.md).
|
||||||
|
- Hmm... What about APIs? We have experimental support with [documentation](https://gogs.io/api-reference).
|
||||||
|
|
||||||
## Features
|
## 💌 Features
|
||||||
|
|
||||||
- Activity timeline
|
- User dashboard, user profile and activity timeline.
|
||||||
- SSH and HTTP/HTTPS protocols
|
- Access repositories via SSH, HTTP and HTTPS protocols.
|
||||||
- SMTP/LDAP/Reverse proxy authentication
|
- User, organization and repository management.
|
||||||
- Reverse proxy with sub-path
|
- Repository and organization webhooks, including Slack, Discord and Dingtalk.
|
||||||
- Account/Organization/Repository management
|
- Repository Git hooks, deploy keys and Git LFS.
|
||||||
- Add/Remove repository collaborators
|
- Repository issues, pull requests, wiki, protected branches and collaboration.
|
||||||
- Repository/Organization webhooks (including Slack and Discord)
|
- Migrate and mirror repositories with wiki from other code hosts.
|
||||||
- Repository Git hooks/deploy keys
|
- Web editor for quick editing repository files and wiki.
|
||||||
- Repository issues, pull requests, wiki and protected branches
|
- Jupyter Notebook and PDF rendering.
|
||||||
- Migrate and mirror repository and its wiki
|
- Authentication via SMTP, LDAP, reverse proxy, GitHub.com and GitHub Enterprise with 2FA.
|
||||||
- Web editor for repository files and wiki
|
- Customize HTML templates, static files and many others.
|
||||||
- Jupyter Notebook
|
- Rich database backend support, including PostgreSQL, MySQL, SQLite3 or any database backend that speaks one of those protocols.
|
||||||
- Two-factor authentication
|
- Have localization over [31 languages](https://crowdin.com/project/gogs).
|
||||||
- Gravatar and Federated avatar with custom source
|
|
||||||
- Mail service
|
|
||||||
- Administration panel
|
|
||||||
- Supports MySQL, PostgreSQL, SQLite3, MSSQL and [TiDB](https://github.com/pingcap/tidb) (via MySQL protocol)
|
|
||||||
- Multi-language support ([28 languages](https://crowdin.com/project/gogs))
|
|
||||||
|
|
||||||
## Hardware Requirements
|
## 💾 Hardware requirements
|
||||||
|
|
||||||
- A Raspberry Pi or $5 Digital Ocean Droplet is more than enough to get you started. Some even use 64MB RAM Docker [CaaS](https://blog.docker.com/2016/02/containers-as-a-service-caas/).
|
- A Raspberry Pi or $5 Digital Ocean Droplet is more than enough to get you started. Some even use 64MB RAM Docker [CaaS](https://www.docker.com/blog/containers-as-a-service-caas/).
|
||||||
- 2 CPU cores and 512MB RAM would be the baseline for teamwork.
|
- 2 CPU cores and 512MB RAM would be the baseline for teamwork.
|
||||||
- Increase CPU cores when your team size gets significantly larger, memory footprint remains low.
|
- Increase CPU cores when your team size gets significantly larger, memory footprint remains low.
|
||||||
|
|
||||||
## Browser Support
|
## 💻 Browser support
|
||||||
|
|
||||||
- Please see [Semantic UI](https://github.com/Semantic-Org/Semantic-UI#browser-support) for specific versions of supported browsers.
|
- Please see [Semantic UI](https://github.com/Semantic-Org/Semantic-UI#browser-support) for specific versions of supported browsers.
|
||||||
- The smallest resolution officially supported is **1024*768**, however the UI may still look right in smaller resolutions, but no promises or fixes.
|
- The smallest resolution officially supported is **1024*768**, however the UI may still look right in smaller resolutions, but no promises or fixes.
|
||||||
|
|
||||||
## Installation
|
## 📜 Installation
|
||||||
|
|
||||||
Make sure you install the [prerequisites](https://gogs.io/docs/installation) first.
|
Please follow [the guide in our documentation](https://gogs.io/getting-started/installation).
|
||||||
|
|
||||||
There are 5 ways to install Gogs:
|
### Deploy to cloud
|
||||||
|
|
||||||
- [Install from binary](https://gogs.io/docs/installation/install_from_binary.html)
|
- [Cloudron](https://www.cloudron.io/store/io.gogs.cloudronapp.html)
|
||||||
- [Install from source](https://gogs.io/docs/installation/install_from_source.html)
|
- [YunoHost](https://github.com/YunoHost-Apps/gogs_ynh)
|
||||||
- [Install from packages](https://gogs.io/docs/installation/install_from_packages.html)
|
- [alwaysdata](https://www.alwaysdata.com/en/marketplace/gogs/)
|
||||||
- [Ship with Docker](https://github.com/gogits/gogs/tree/master/docker)
|
|
||||||
- [Install with Vagrant](https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs)
|
|
||||||
|
|
||||||
### Tutorials
|
### Tutorials
|
||||||
|
|
||||||
|
- [Private Git Web Portal in Raspberry PI With Gogs](https://peppe8o.com/private-git-web-portal-in-raspberry-pi-with-gogs/)
|
||||||
- [How To Set Up Gogs on Ubuntu 14.04](https://www.digitalocean.com/community/tutorials/how-to-set-up-gogs-on-ubuntu-14-04)
|
- [How To Set Up Gogs on Ubuntu 14.04](https://www.digitalocean.com/community/tutorials/how-to-set-up-gogs-on-ubuntu-14-04)
|
||||||
- [Run your own GitHub-like service with the help of Docker](http://blog.hypriot.com/post/run-your-own-github-like-service-with-docker/)
|
- [Run your own GitHub-like service with the help of Docker](https://blog.hypriot.com/post/run-your-own-github-like-service-with-docker/)
|
||||||
- [Dockerized Gogs git server and alpine postgres in 20 minutes or less](http://garthwaite.org/docker-gogs.html)
|
- [Dockerized Gogs git server and alpine postgres in 20 minutes or less](https://garthwaite.org/docker-gogs.html)
|
||||||
- [Host Your Own Private GitHub with Gogs](https://eladnava.com/host-your-own-private-github-with-gogs-io/)
|
- [Host Your Own Private GitHub with Gogs](https://eladnava.com/host-your-own-private-github-with-gogs-io/)
|
||||||
- [使用 Gogs 搭建自己的 Git 服务器](https://mynook.info/blog/post/host-your-own-git-server-using-gogs) (Chinese)
|
- [使用 Gogs 搭建自己的 Git 服务器](https://blog.mynook.info/post/host-your-own-git-server-using-gogs/) (Chinese)
|
||||||
- [阿里云上 Ubuntu 14.04 64 位安装 Gogs](http://my.oschina.net/luyao/blog/375654) (Chinese)
|
- [阿里云上 Ubuntu 14.04 64 位安装 Gogs](https://my.oschina.net/luyao/blog/375654) (Chinese)
|
||||||
- [Installing Gogs on FreeBSD](https://www.codejam.info/2015/03/installing-gogs-on-freebsd.html)
|
- [Installing Gogs on FreeBSD](https://www.codejam.info/2015/03/installing-gogs-on-freebsd.html)
|
||||||
- [Gogs on Raspberry Pi](http://blog.meinside.pe.kr/Gogs-on-Raspberry-Pi/)
|
|
||||||
- [Cloudflare Full SSL with Gogs using NGINX](http://www.listekconsulting.com/articles/cloudflare-full-ssl-with-gogs-go-git-service-using-nginx/)
|
|
||||||
|
|
||||||
### Screencasts
|
|
||||||
|
|
||||||
- [How to install Gogs on a Linux Server (DigitalOcean)](https://www.youtube.com/watch?v=deSfX0gqefE)
|
- [How to install Gogs on a Linux Server (DigitalOcean)](https://www.youtube.com/watch?v=deSfX0gqefE)
|
||||||
- [Instalando Gogs no Ubuntu](https://www.youtube.com/watch?v=4UkHAR1F7ZA) (Português)
|
|
||||||
|
|
||||||
### Deploy to Cloud
|
## 📦 Software, service and product support
|
||||||
|
|
||||||
- [OpenShift](https://github.com/tkisme/gogs-openshift)
|
|
||||||
- [Cloudron](https://cloudron.io/appstore.html#io.gogs.cloudronapp)
|
|
||||||
- [Scaleway](https://www.scaleway.com/imagehub/gogs/)
|
|
||||||
- [Sandstorm](https://github.com/cem/gogs-sandstorm)
|
|
||||||
- [sloppy.io](https://github.com/sloppyio/quickstarters/tree/master/gogs)
|
|
||||||
- [YunoHost](https://github.com/YunoHost-Apps/gogs_ynh)
|
|
||||||
- [DPlatform](https://github.com/j8r/DPlatform)
|
|
||||||
|
|
||||||
## Software and Service Support
|
|
||||||
|
|
||||||
- [Drone](https://github.com/drone/drone) (CI)
|
|
||||||
- [Jenkins](https://wiki.jenkins-ci.org/display/JENKINS/Gogs+Webhook+Plugin) (CI)
|
|
||||||
- [Fabric8](http://fabric8.io/) (DevOps)
|
|
||||||
- [Taiga](https://taiga.io/) (Project Management)
|
|
||||||
- [Puppet](https://forge.puppetlabs.com/Siteminds/gogs) (IT)
|
|
||||||
- [Kanboard](http://kanboard.net/plugin/gogs-webhook) (Project Management)
|
|
||||||
- [BearyChat](https://bearychat.com/) (Team Communication)
|
|
||||||
- [HiWork](http://www.hiwork.cc/) (Team Communication)
|
|
||||||
- [GitPitch](https://gitpitch.com/) (Markdown Presentations)
|
|
||||||
|
|
||||||
### Product Support
|
|
||||||
|
|
||||||
|
- [Jenkins](https://plugins.jenkins.io/gogs-webhook/) (CI)
|
||||||
|
- [Puppet](https://forge.puppet.com/modules/Siteminds/gogs) (IT)
|
||||||
- [Synology](https://www.synology.com) (Docker)
|
- [Synology](https://www.synology.com) (Docker)
|
||||||
- [One Space](http://www.onespace.cc) (App Store)
|
- [Syncloud](https://syncloud.org/) (App Store)
|
||||||
|
|
||||||
## Acknowledgments
|
## 🙇♂️ Acknowledgments
|
||||||
|
|
||||||
- Thanks [Egon Elbre](https://twitter.com/egonelbre) for designing logo.
|
<p>This project is proudly supported by:</p>
|
||||||
- Thanks [Crowdin](https://crowdin.com/project/gogs) for sponsoring open source translation plan.
|
<p>
|
||||||
- Thanks [DigitalOcean](https://www.digitalocean.com) for sponsoring VPS service.
|
<a href="https://m.do.co/c/5aeb02268b55">
|
||||||
- Thanks [KeyCDN](https://www.keycdn.com/) for sponsoring CDN service.
|
<img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" width="201px">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
## Contributors
|
Other acknowledgments:
|
||||||
|
|
||||||
- See [contributors page](https://github.com/gogits/gogs/graphs/contributors) for top 100 contributors.
|
- Thanks [Egon Elbre](https://twitter.com/egonelbre) for designing the original version of the logo.
|
||||||
|
- Thanks [Mintlify](https://mintlify.com) for sponsoring open source documentation plan.
|
||||||
|
- Thanks [Crowdin](https://crowdin.com) for sponsoring open source translation plan.
|
||||||
|
- Thanks [Buildkite](https://buildkite.com) for sponsoring open source CI/CD plan.
|
||||||
|
|
||||||
|
## 👋 Contributors
|
||||||
|
|
||||||
|
- See [contributors page](https://github.com/gogs/gogs/graphs/contributors) for top 100 contributors.
|
||||||
- See [TRANSLATORS](conf/locale/TRANSLATORS) for public list of translators.
|
- See [TRANSLATORS](conf/locale/TRANSLATORS) for public list of translators.
|
||||||
|
|
||||||
## License
|
## ⚖️ License
|
||||||
|
|
||||||
This project is under the MIT License. See the [LICENSE](https://github.com/gogits/gogs/blob/master/LICENSE) file for the full license text.
|
This project is under the MIT License. See the [LICENSE](https://github.com/gogs/gogs/blob/main/LICENSE) file for the full license text.
|
||||||
|
|||||||
107
README_ZH.md
107
README_ZH.md
@@ -1,107 +0,0 @@
|
|||||||
Gogs [](https://travis-ci.org/gogits/gogs) [](https://ci.appveyor.com/project/Unknwon/gogs/branch/master)
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Gogs 是一款极易搭建的自助 Git 服务。
|
|
||||||
|
|
||||||
## 开发目的
|
|
||||||
|
|
||||||
Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 **所有平台**,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
|
|
||||||
|
|
||||||
## 项目概览
|
|
||||||
|
|
||||||
- 有关基本用法和变更日志,请通过 [使用手册](https://gogs.io/docs/intro) 查看。
|
|
||||||
- 想要先睹为快?直接去 [在线体验](https://try.gogs.io/gogs/gogs) 。
|
|
||||||
- 使用过程中遇到问题?尝试从 [故障排查](https://gogs.io/docs/intro/troubleshooting.html) 页面或 [用户论坛](https://discuss.gogs.io/) 获取帮助。
|
|
||||||
- 希望帮助多国语言界面的翻译吗?请立即访问 [详情页面](https://gogs.io/docs/features/i18n.html)!
|
|
||||||
|
|
||||||
## 功能特性
|
|
||||||
|
|
||||||
- 支持活动时间线
|
|
||||||
- 支持 SSH 以及 HTTP/HTTPS 协议
|
|
||||||
- 支持 SMTP、LDAP 和反向代理的用户认证
|
|
||||||
- 支持反向代理子路径
|
|
||||||
- 支持用户、组织和仓库管理系统
|
|
||||||
- 支持添加和删除仓库协作者
|
|
||||||
- 支持仓库和组织级别 Web 钩子(包括 Slack 和 Discord 集成)
|
|
||||||
- 支持仓库 Git 钩子和部署密钥
|
|
||||||
- 支持仓库工单(Issue)、合并请求(Pull Request)、Wiki 和保护分支
|
|
||||||
- 支持迁移和镜像仓库以及它的 Wiki
|
|
||||||
- 支持在线编辑仓库文件和 Wiki
|
|
||||||
- 支持自定义源的 Gravatar 和 Federated Avatar
|
|
||||||
- 支持 Jupyter Notebook
|
|
||||||
- 支持两步验证登录
|
|
||||||
- 支持邮件服务
|
|
||||||
- 支持后台管理面板
|
|
||||||
- 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 [TiDB](https://github.com/pingcap/tidb)(通过 MySQL 协议)数据库
|
|
||||||
- 支持多语言本地化([28 种语言]([more](https://crowdin.com/project/gogs)))
|
|
||||||
|
|
||||||
## 硬件要求
|
|
||||||
|
|
||||||
- 最低的系统硬件要求为一个廉价的树莓派
|
|
||||||
- 如果用于团队项目管理,建议使用 2 核 CPU 及 512MB 内存
|
|
||||||
- 当团队成员大量增加时,可以考虑添加 CPU 核数,内存占用保持不变
|
|
||||||
|
|
||||||
## 浏览器支持
|
|
||||||
|
|
||||||
- 请根据 [Semantic UI](https://github.com/Semantic-Org/Semantic-UI#browser-support) 查看具体支持的浏览器版本。
|
|
||||||
- 官方支持的最小 UI 尺寸为 **1024*768**,UI 不一定会在更小尺寸的设备上被破坏,但我们无法保证且不会修复。
|
|
||||||
|
|
||||||
## 安装部署
|
|
||||||
|
|
||||||
在安装 Gogs 之前,您需要先安装 [基本环境](https://gogs.io/docs/installation)。
|
|
||||||
|
|
||||||
然后,您可以通过以下 5 种方式来安装 Gogs:
|
|
||||||
|
|
||||||
- [二进制安装](https://gogs.io/docs/installation/install_from_binary.html)
|
|
||||||
- [源码安装](https://gogs.io/docs/installation/install_from_source.html)
|
|
||||||
- [包管理安装](https://gogs.io/docs/installation/install_from_packages.html)
|
|
||||||
- [采用 Docker 部署](https://github.com/gogits/gogs/tree/master/docker)
|
|
||||||
- [通过 Vagrant 安装](https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs)
|
|
||||||
|
|
||||||
### 使用教程
|
|
||||||
|
|
||||||
- [使用 Gogs 搭建自己的 Git 服务器](https://mynook.info/blog/post/host-your-own-git-server-using-gogs)
|
|
||||||
- [阿里云上 Ubuntu 14.04 64 位安装 Gogs](http://my.oschina.net/luyao/blog/375654)
|
|
||||||
|
|
||||||
### 云端部署
|
|
||||||
|
|
||||||
- [OpenShift](https://github.com/tkisme/gogs-openshift)
|
|
||||||
- [Cloudron](https://cloudron.io/appstore.html#io.gogs.cloudronapp)
|
|
||||||
- [Scaleway](https://www.scaleway.com/imagehub/gogs/)
|
|
||||||
- [Sandstorm](https://github.com/cem/gogs-sandstorm)
|
|
||||||
- [sloppy.io](https://github.com/sloppyio/quickstarters/tree/master/gogs)
|
|
||||||
- [YunoHost](https://github.com/mbugeia/gogs_ynh)
|
|
||||||
- [DPlatform](https://github.com/j8r/DPlatform)
|
|
||||||
|
|
||||||
## 软件及服务支持
|
|
||||||
|
|
||||||
- [Drone](https://github.com/drone/drone)(CI)
|
|
||||||
- [Jenkins](https://wiki.jenkins-ci.org/display/JENKINS/Gogs+Webhook+Plugin)(CI)
|
|
||||||
- [Fabric8](http://fabric8.io/)(DevOps)
|
|
||||||
- [Taiga](https://taiga.io/)(项目管理)
|
|
||||||
- [Puppet](https://forge.puppetlabs.com/Siteminds/gogs)(IT)
|
|
||||||
- [Kanboard](http://kanboard.net/plugin/gogs-webhook)(项目管理)
|
|
||||||
- [BearyChat](https://bearychat.com/)(团队交流)
|
|
||||||
- [HiWork](http://www.hiwork.cc/)(团队交流)
|
|
||||||
- [GitPitch](https://gitpitch.com/)(Markdown 演示)
|
|
||||||
|
|
||||||
### 产品支持
|
|
||||||
|
|
||||||
- [Synology](https://www.synology.com)(Docker)
|
|
||||||
- [One Space](http://www.onespace.cc)(应用商店)
|
|
||||||
|
|
||||||
## 特别鸣谢
|
|
||||||
|
|
||||||
- 感谢 [Egon Elbre](https://twitter.com/egonelbre) 设计的 Logo。
|
|
||||||
- 感谢 [Crowdin](https://crowdin.com/project/gogs) 提供免费的开源项目本地化支持。
|
|
||||||
- 感谢 [DigitalOcean](https://www.digitalocean.com) 提供主站和体验站点的服务器赞助。
|
|
||||||
- 感谢 [KeyCDN](https://www.keycdn.com/) 提供 CDN 服务赞助。
|
|
||||||
|
|
||||||
## 贡献成员
|
|
||||||
|
|
||||||
- 您可以通过查看 [贡献者页面](https://github.com/gogits/gogs/graphs/contributors) 获取 TOP 100 的贡献者列表。
|
|
||||||
- 您可以通过查看 [TRANSLATORS](conf/locale/TRANSLATORS) 文件获取公开的翻译人员列表。
|
|
||||||
|
|
||||||
## 授权许可
|
|
||||||
|
|
||||||
本项目采用 MIT 开源授权许可证,完整的授权说明已放置在 [LICENSE](https://github.com/gogits/gogs/blob/master/LICENSE) 文件中。
|
|
||||||
27
SECURITY.md
Normal file
27
SECURITY.md
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# Security policy
|
||||||
|
|
||||||
|
## Supported versions
|
||||||
|
|
||||||
|
Only the latest minor version releases are supported (e.g., 0.14) for patching vulnerabilities. You can find the latest minor version in the [GitHub releases](https://github.com/gogs/gogs/releases) page.
|
||||||
|
|
||||||
|
Existing vulnerability reports are being tracked in [GitHub Security Advisories](https://github.com/gogs/gogs/security/advisories). Not all accepted GHSA are published.
|
||||||
|
|
||||||
|
## Vulnerability lifecycle
|
||||||
|
|
||||||
|
> [!important]
|
||||||
|
> Starting **Nov 9, 2023 00:00 UTC**, only security vulnerabilities reported through [GitHub Security Advisories](https://github.com/gogs/gogs/security/advisories/new) are accepted.
|
||||||
|
> Pre-existing vulnerability reported through https://huntr.dev/ or email (`security@gogs.io`) will continue to be worked through.
|
||||||
|
|
||||||
|
1. Report an advisory for the vulnerability.
|
||||||
|
- Please be aware that **only advisories reported in plain English** will be reviewed.
|
||||||
|
- We DO NOT accept vulnerabilities cannot be reproduced on the latest `main` commit.
|
||||||
|
1. Project maintainers review the advisory:
|
||||||
|
- Ask clarifying questions
|
||||||
|
- Make sure there was no prior advisory exists for the same vulnerability
|
||||||
|
- Confirm or deny the vulnerability
|
||||||
|
1. Once the advisory is accepted, the reporter may submit a patch or wait for project maintainers to patch.
|
||||||
|
- The latter is usually significantly slower.
|
||||||
|
1. Patch releases will be made for the supported versions.
|
||||||
|
1. After 14 days of the release, publish the corresponding advisory on [GitHub Security Advisories](https://github.com/gogs/gogs/security/advisories).
|
||||||
|
|
||||||
|
Thank you for making open source community a better place!
|
||||||
99
Taskfile.yml
Normal file
99
Taskfile.yml
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
version: '3'
|
||||||
|
|
||||||
|
vars:
|
||||||
|
BINARY_EXT:
|
||||||
|
sh: echo '{{if eq OS "windows"}}.exe{{end}}'
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
default:
|
||||||
|
deps: [build]
|
||||||
|
web:
|
||||||
|
desc: Build the binary and start the web server
|
||||||
|
deps: [build]
|
||||||
|
cmds:
|
||||||
|
- .bin/gogs web
|
||||||
|
|
||||||
|
build:
|
||||||
|
desc: Build the binary
|
||||||
|
cmds:
|
||||||
|
- go build -v
|
||||||
|
-ldflags '
|
||||||
|
-X "{{.PKG_PATH}}.BuildTime={{.BUILD_TIME}}"
|
||||||
|
-X "{{.PKG_PATH}}.BuildCommit={{.BUILD_COMMIT}}"
|
||||||
|
'
|
||||||
|
-tags '{{.TAGS}}'
|
||||||
|
-trimpath -o .bin/gogs{{.BINARY_EXT}} ./cmd/gogs
|
||||||
|
vars:
|
||||||
|
PKG_PATH: gogs.io/gogs/internal/conf
|
||||||
|
BUILD_TIME:
|
||||||
|
sh: date -u '+%Y-%m-%d %I:%M:%S %Z'
|
||||||
|
BUILD_COMMIT:
|
||||||
|
sh: git rev-parse HEAD
|
||||||
|
sources:
|
||||||
|
- go.mod
|
||||||
|
- cmd/gogs/*.go
|
||||||
|
- internal/**/*.go
|
||||||
|
- conf/**/*
|
||||||
|
- public/**/*
|
||||||
|
- templates/**/*
|
||||||
|
- custom/**/*
|
||||||
|
method: timestamp
|
||||||
|
|
||||||
|
generate-schemadoc:
|
||||||
|
desc: Generate database schema documentation
|
||||||
|
cmds:
|
||||||
|
- go generate ./internal/database/schemadoc
|
||||||
|
|
||||||
|
generate:
|
||||||
|
desc: Run all go:generate commands
|
||||||
|
cmds:
|
||||||
|
- go generate ./...
|
||||||
|
|
||||||
|
test:
|
||||||
|
desc: Run all tests.
|
||||||
|
cmds:
|
||||||
|
- go test -cover -race ./...
|
||||||
|
|
||||||
|
clean:
|
||||||
|
desc: Cleans up system meta files
|
||||||
|
cmds:
|
||||||
|
- find . -name "*.DS_Store" -type f -delete
|
||||||
|
|
||||||
|
less:
|
||||||
|
desc: Generate CSS from LESS files
|
||||||
|
cmds:
|
||||||
|
- lessc --clean-css --source-map "public/less/gogs.less" public/css/gogs.min.css
|
||||||
|
|
||||||
|
fixme:
|
||||||
|
desc: Show all occurrences of "FIXME"
|
||||||
|
cmds:
|
||||||
|
- grep -rnw "FIXME" internal
|
||||||
|
|
||||||
|
todo:
|
||||||
|
desc: Show all occurrences of "TODO"
|
||||||
|
cmds:
|
||||||
|
- grep -rnw "TODO" internal
|
||||||
|
|
||||||
|
legacy:
|
||||||
|
desc: Identify legacy and deprecated lines
|
||||||
|
cmds:
|
||||||
|
- grep -rnw "\(LEGACY\|Deprecated\)" internal
|
||||||
|
|
||||||
|
drop-test-db:
|
||||||
|
desc: Drop the test database
|
||||||
|
cmds:
|
||||||
|
- |
|
||||||
|
for dbname in $(psql -Xc "copy (select datname from pg_database where datname like 'gogs-%') to stdout"); do
|
||||||
|
dropdb "$dbname"
|
||||||
|
echo "dropped $dbname"
|
||||||
|
done
|
||||||
|
|
||||||
|
lint:
|
||||||
|
desc: Run all linters
|
||||||
|
cmds:
|
||||||
|
- golangci-lint run
|
||||||
|
|
||||||
|
docs:
|
||||||
|
desc: Start docs server
|
||||||
|
cmds:
|
||||||
|
- cd docs && mint dev --port 3333
|
||||||
20
appveyor.yml
20
appveyor.yml
@@ -1,20 +0,0 @@
|
|||||||
version: "{build}"
|
|
||||||
skip_tags: true
|
|
||||||
clone_folder: c:\gopath\src\github.com\gogits\gogs
|
|
||||||
clone_depth: 1
|
|
||||||
|
|
||||||
environment:
|
|
||||||
GOPATH: c:\gopath
|
|
||||||
GOVERSION: 1.7
|
|
||||||
|
|
||||||
build: false
|
|
||||||
deploy: false
|
|
||||||
|
|
||||||
install:
|
|
||||||
- go build -v
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
- provider: Email
|
|
||||||
to:
|
|
||||||
- u@gogs.io
|
|
||||||
on_build_success: false
|
|
||||||
183
cmd/admin.go
183
cmd/admin.go
@@ -1,183 +0,0 @@
|
|||||||
// Copyright 2016 The Gogs Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"reflect"
|
|
||||||
"runtime"
|
|
||||||
|
|
||||||
"github.com/urfave/cli"
|
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
|
||||||
"github.com/gogits/gogs/pkg/setting"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
Admin = cli.Command{
|
|
||||||
Name: "admin",
|
|
||||||
Usage: "Perform admin operations on command line",
|
|
||||||
Description: `Allow using internal logic of Gogs without hacking into the source code
|
|
||||||
to make automatic initialization process more smoothly`,
|
|
||||||
Subcommands: []cli.Command{
|
|
||||||
subcmdCreateUser,
|
|
||||||
subcmdDeleteInactivateUsers,
|
|
||||||
subcmdDeleteRepositoryArchives,
|
|
||||||
subcmdDeleteMissingRepositories,
|
|
||||||
subcmdGitGcRepos,
|
|
||||||
subcmdRewriteAuthorizedKeys,
|
|
||||||
subcmdSyncRepositoryHooks,
|
|
||||||
subcmdReinitMissingRepositories,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
subcmdCreateUser = cli.Command{
|
|
||||||
Name: "create-user",
|
|
||||||
Usage: "Create a new user in database",
|
|
||||||
Action: runCreateUser,
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("name", "", "Username"),
|
|
||||||
stringFlag("password", "", "User password"),
|
|
||||||
stringFlag("email", "", "User email address"),
|
|
||||||
boolFlag("admin", "User is an admin"),
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
subcmdDeleteInactivateUsers = cli.Command{
|
|
||||||
Name: "delete-inactive-users",
|
|
||||||
Usage: "Delete all inactive accounts",
|
|
||||||
Action: adminDashboardOperation(
|
|
||||||
models.DeleteInactivateUsers,
|
|
||||||
"All inactivate accounts have been deleted successfully",
|
|
||||||
),
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
subcmdDeleteRepositoryArchives = cli.Command{
|
|
||||||
Name: "delete-repository-archives",
|
|
||||||
Usage: "Delete all repositories archives",
|
|
||||||
Action: adminDashboardOperation(
|
|
||||||
models.DeleteRepositoryArchives,
|
|
||||||
"All repositories archives have been deleted successfully",
|
|
||||||
),
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
subcmdDeleteMissingRepositories = cli.Command{
|
|
||||||
Name: "delete-missing-repositories",
|
|
||||||
Usage: "Delete all repository records that lost Git files",
|
|
||||||
Action: adminDashboardOperation(
|
|
||||||
models.DeleteMissingRepositories,
|
|
||||||
"All repositories archives have been deleted successfully",
|
|
||||||
),
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
subcmdGitGcRepos = cli.Command{
|
|
||||||
Name: "collect-garbage",
|
|
||||||
Usage: "Do garbage collection on repositories",
|
|
||||||
Action: adminDashboardOperation(
|
|
||||||
models.GitGcRepos,
|
|
||||||
"All repositories have done garbage collection successfully",
|
|
||||||
),
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
subcmdRewriteAuthorizedKeys = cli.Command{
|
|
||||||
Name: "rewrite-authorized-keys",
|
|
||||||
Usage: "Rewrite '.ssh/authorized_keys' file (caution: non-Gogs keys will be lost)",
|
|
||||||
Action: adminDashboardOperation(
|
|
||||||
models.RewriteAuthorizedKeys,
|
|
||||||
"All public keys have been rewritten successfully",
|
|
||||||
),
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
subcmdSyncRepositoryHooks = cli.Command{
|
|
||||||
Name: "resync-hooks",
|
|
||||||
Usage: "Resync pre-receive, update and post-receive hooks",
|
|
||||||
Action: adminDashboardOperation(
|
|
||||||
models.SyncRepositoryHooks,
|
|
||||||
"All repositories' pre-receive, update and post-receive hooks have been resynced successfully",
|
|
||||||
),
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
subcmdReinitMissingRepositories = cli.Command{
|
|
||||||
Name: "reinit-missing-repositories",
|
|
||||||
Usage: "Reinitialize all repository records that lost Git files",
|
|
||||||
Action: adminDashboardOperation(
|
|
||||||
models.ReinitMissingRepositories,
|
|
||||||
"All repository records that lost Git files have been reinitialized successfully",
|
|
||||||
),
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func runCreateUser(c *cli.Context) error {
|
|
||||||
if !c.IsSet("name") {
|
|
||||||
return fmt.Errorf("Username is not specified")
|
|
||||||
} else if !c.IsSet("password") {
|
|
||||||
return fmt.Errorf("Password is not specified")
|
|
||||||
} else if !c.IsSet("email") {
|
|
||||||
return fmt.Errorf("Email is not specified")
|
|
||||||
}
|
|
||||||
|
|
||||||
if c.IsSet("config") {
|
|
||||||
setting.CustomConf = c.String("config")
|
|
||||||
}
|
|
||||||
|
|
||||||
setting.NewContext()
|
|
||||||
models.LoadConfigs()
|
|
||||||
models.SetEngine()
|
|
||||||
|
|
||||||
if err := models.CreateUser(&models.User{
|
|
||||||
Name: c.String("name"),
|
|
||||||
Email: c.String("email"),
|
|
||||||
Passwd: c.String("password"),
|
|
||||||
IsActive: true,
|
|
||||||
IsAdmin: c.Bool("admin"),
|
|
||||||
}); err != nil {
|
|
||||||
return fmt.Errorf("CreateUser: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Printf("New user '%s' has been successfully created!\n", c.String("name"))
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func adminDashboardOperation(operation func() error, successMessage string) func(*cli.Context) error {
|
|
||||||
return func(c *cli.Context) error {
|
|
||||||
if c.IsSet("config") {
|
|
||||||
setting.CustomConf = c.String("config")
|
|
||||||
}
|
|
||||||
|
|
||||||
setting.NewContext()
|
|
||||||
models.LoadConfigs()
|
|
||||||
models.SetEngine()
|
|
||||||
|
|
||||||
if err := operation(); err != nil {
|
|
||||||
functionName := runtime.FuncForPC(reflect.ValueOf(operation).Pointer()).Name()
|
|
||||||
return fmt.Errorf("%s: %v", functionName, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Printf("%s\n", successMessage)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
136
cmd/backup.go
136
cmd/backup.go
@@ -1,136 +0,0 @@
|
|||||||
// Copyright 2017 The Gogs Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
|
||||||
"path"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/Unknwon/cae/zip"
|
|
||||||
"github.com/Unknwon/com"
|
|
||||||
"github.com/urfave/cli"
|
|
||||||
log "gopkg.in/clog.v1"
|
|
||||||
"gopkg.in/ini.v1"
|
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
|
||||||
"github.com/gogits/gogs/pkg/setting"
|
|
||||||
)
|
|
||||||
|
|
||||||
var Backup = cli.Command{
|
|
||||||
Name: "backup",
|
|
||||||
Usage: "Backup files and database",
|
|
||||||
Description: `Backup dumps and compresses all related files and database into zip file,
|
|
||||||
which can be used for migrating Gogs to another server. The output format is meant to be
|
|
||||||
portable among all supported database engines.`,
|
|
||||||
Action: runBackup,
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
boolFlag("verbose, v", "Show process details"),
|
|
||||||
stringFlag("tempdir, t", os.TempDir(), "Temporary directory path"),
|
|
||||||
stringFlag("target", "./", "Target directory path to save backup archive"),
|
|
||||||
stringFlag("archive-name", fmt.Sprintf("gogs-backup-%s.zip", time.Now().Format("20060102150405")), "Name of backup archive"),
|
|
||||||
boolFlag("database-only", "Only dump database"),
|
|
||||||
boolFlag("exclude-repos", "Exclude repositories"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
const _ARCHIVE_ROOT_DIR = "gogs-backup"
|
|
||||||
|
|
||||||
func runBackup(c *cli.Context) error {
|
|
||||||
zip.Verbose = c.Bool("verbose")
|
|
||||||
if c.IsSet("config") {
|
|
||||||
setting.CustomConf = c.String("config")
|
|
||||||
}
|
|
||||||
setting.NewContext()
|
|
||||||
models.LoadConfigs()
|
|
||||||
models.SetEngine()
|
|
||||||
|
|
||||||
tmpDir := c.String("tempdir")
|
|
||||||
if !com.IsExist(tmpDir) {
|
|
||||||
log.Fatal(0, "'--tempdir' does not exist: %s", tmpDir)
|
|
||||||
}
|
|
||||||
rootDir, err := ioutil.TempDir(tmpDir, "gogs-backup-")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(0, "Fail to create backup root directory '%s': %v", rootDir, err)
|
|
||||||
}
|
|
||||||
log.Info("Backup root directory: %s", rootDir)
|
|
||||||
|
|
||||||
// Metadata
|
|
||||||
metaFile := path.Join(rootDir, "metadata.ini")
|
|
||||||
metadata := ini.Empty()
|
|
||||||
metadata.Section("").Key("VERSION").SetValue("1")
|
|
||||||
metadata.Section("").Key("DATE_TIME").SetValue(time.Now().String())
|
|
||||||
metadata.Section("").Key("GOGS_VERSION").SetValue(setting.AppVer)
|
|
||||||
if err = metadata.SaveTo(metaFile); err != nil {
|
|
||||||
log.Fatal(0, "Fail to save metadata '%s': %v", metaFile, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
archiveName := path.Join(c.String("target"), c.String("archive-name"))
|
|
||||||
log.Info("Packing backup files to: %s", archiveName)
|
|
||||||
|
|
||||||
z, err := zip.Create(archiveName)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(0, "Fail to create backup archive '%s': %v", archiveName, err)
|
|
||||||
}
|
|
||||||
if err = z.AddFile(_ARCHIVE_ROOT_DIR+"/metadata.ini", metaFile); err != nil {
|
|
||||||
log.Fatal(0, "Fail to include 'metadata.ini': %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Database
|
|
||||||
dbDir := path.Join(rootDir, "db")
|
|
||||||
if err = models.DumpDatabase(dbDir); err != nil {
|
|
||||||
log.Fatal(0, "Fail to dump database: %v", err)
|
|
||||||
}
|
|
||||||
if err = z.AddDir(_ARCHIVE_ROOT_DIR+"/db", dbDir); err != nil {
|
|
||||||
log.Fatal(0, "Fail to include 'db': %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Custom files
|
|
||||||
if !c.Bool("database-only") {
|
|
||||||
if err = z.AddDir(_ARCHIVE_ROOT_DIR+"/custom", setting.CustomPath); err != nil {
|
|
||||||
log.Fatal(0, "Fail to include 'custom': %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Data files
|
|
||||||
if !c.Bool("database-only") {
|
|
||||||
for _, dir := range []string{"attachments", "avatars"} {
|
|
||||||
dirPath := path.Join(setting.AppDataPath, dir)
|
|
||||||
if !com.IsDir(dirPath) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if err = z.AddDir(path.Join(_ARCHIVE_ROOT_DIR+"/data", dir), dirPath); err != nil {
|
|
||||||
log.Fatal(0, "Fail to include 'data': %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Repositories
|
|
||||||
if !c.Bool("exclude-repos") && !c.Bool("database-only") {
|
|
||||||
reposDump := path.Join(rootDir, "repositories.zip")
|
|
||||||
log.Info("Dumping repositories in '%s'", setting.RepoRootPath)
|
|
||||||
if err = zip.PackTo(setting.RepoRootPath, reposDump, true); err != nil {
|
|
||||||
log.Fatal(0, "Fail to dump repositories: %v", err)
|
|
||||||
}
|
|
||||||
log.Info("Repositories dumped to: %s", reposDump)
|
|
||||||
|
|
||||||
if err = z.AddFile(_ARCHIVE_ROOT_DIR+"/repositories.zip", reposDump); err != nil {
|
|
||||||
log.Fatal(0, "Fail to include 'repositories.zip': %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if err = z.Close(); err != nil {
|
|
||||||
log.Fatal(0, "Fail to save backup archive '%s': %v", archiveName, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
os.RemoveAll(rootDir)
|
|
||||||
log.Info("Backup succeed! Archive is located at: %s", archiveName)
|
|
||||||
log.Shutdown()
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
163
cmd/cert.go
163
cmd/cert.go
@@ -1,163 +0,0 @@
|
|||||||
// +build cert
|
|
||||||
|
|
||||||
// Copyright 2009 The Go Authors. All rights reserved.
|
|
||||||
// Copyright 2014 The Gogs Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
"crypto/ecdsa"
|
|
||||||
"crypto/elliptic"
|
|
||||||
"crypto/rand"
|
|
||||||
"crypto/rsa"
|
|
||||||
"crypto/x509"
|
|
||||||
"crypto/x509/pkix"
|
|
||||||
"encoding/pem"
|
|
||||||
"log"
|
|
||||||
"math/big"
|
|
||||||
"net"
|
|
||||||
"os"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/urfave/cli"
|
|
||||||
)
|
|
||||||
|
|
||||||
var Cert = cli.Command{
|
|
||||||
Name: "cert",
|
|
||||||
Usage: "Generate self-signed certificate",
|
|
||||||
Description: `Generate a self-signed X.509 certificate for a TLS server.
|
|
||||||
Outputs to 'cert.pem' and 'key.pem' and will overwrite existing files.`,
|
|
||||||
Action: runCert,
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("host", "", "Comma-separated hostnames and IPs to generate a certificate for"),
|
|
||||||
stringFlag("ecdsa-curve", "", "ECDSA curve to use to generate a key. Valid values are P224, P256, P384, P521"),
|
|
||||||
intFlag("rsa-bits", 2048, "Size of RSA key to generate. Ignored if --ecdsa-curve is set"),
|
|
||||||
stringFlag("start-date", "", "Creation date formatted as Jan 1 15:04:05 2011"),
|
|
||||||
durationFlag("duration", 365*24*time.Hour, "Duration that certificate is valid for"),
|
|
||||||
boolFlag("ca", "whether this cert should be its own Certificate Authority"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
func publicKey(priv interface{}) interface{} {
|
|
||||||
switch k := priv.(type) {
|
|
||||||
case *rsa.PrivateKey:
|
|
||||||
return &k.PublicKey
|
|
||||||
case *ecdsa.PrivateKey:
|
|
||||||
return &k.PublicKey
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func pemBlockForKey(priv interface{}) *pem.Block {
|
|
||||||
switch k := priv.(type) {
|
|
||||||
case *rsa.PrivateKey:
|
|
||||||
return &pem.Block{Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(k)}
|
|
||||||
case *ecdsa.PrivateKey:
|
|
||||||
b, err := x509.MarshalECPrivateKey(k)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Unable to marshal ECDSA private key: %v\n", err)
|
|
||||||
}
|
|
||||||
return &pem.Block{Type: "EC PRIVATE KEY", Bytes: b}
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func runCert(ctx *cli.Context) error {
|
|
||||||
if len(ctx.String("host")) == 0 {
|
|
||||||
log.Fatal("Missing required --host parameter")
|
|
||||||
}
|
|
||||||
|
|
||||||
var priv interface{}
|
|
||||||
var err error
|
|
||||||
switch ctx.String("ecdsa-curve") {
|
|
||||||
case "":
|
|
||||||
priv, err = rsa.GenerateKey(rand.Reader, ctx.Int("rsa-bits"))
|
|
||||||
case "P224":
|
|
||||||
priv, err = ecdsa.GenerateKey(elliptic.P224(), rand.Reader)
|
|
||||||
case "P256":
|
|
||||||
priv, err = ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
|
|
||||||
case "P384":
|
|
||||||
priv, err = ecdsa.GenerateKey(elliptic.P384(), rand.Reader)
|
|
||||||
case "P521":
|
|
||||||
priv, err = ecdsa.GenerateKey(elliptic.P521(), rand.Reader)
|
|
||||||
default:
|
|
||||||
log.Fatalf("Unrecognized elliptic curve: %q", ctx.String("ecdsa-curve"))
|
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Failed to generate private key: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
var notBefore time.Time
|
|
||||||
if len(ctx.String("start-date")) == 0 {
|
|
||||||
notBefore = time.Now()
|
|
||||||
} else {
|
|
||||||
notBefore, err = time.Parse("Jan 2 15:04:05 2006", ctx.String("start-date"))
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Failed to parse creation date: %s", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
notAfter := notBefore.Add(ctx.Duration("duration"))
|
|
||||||
|
|
||||||
serialNumberLimit := new(big.Int).Lsh(big.NewInt(1), 128)
|
|
||||||
serialNumber, err := rand.Int(rand.Reader, serialNumberLimit)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Failed to generate serial number: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
template := x509.Certificate{
|
|
||||||
SerialNumber: serialNumber,
|
|
||||||
Subject: pkix.Name{
|
|
||||||
Organization: []string{"Acme Co"},
|
|
||||||
CommonName: "Gogs",
|
|
||||||
},
|
|
||||||
NotBefore: notBefore,
|
|
||||||
NotAfter: notAfter,
|
|
||||||
|
|
||||||
KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature,
|
|
||||||
ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
|
|
||||||
BasicConstraintsValid: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
hosts := strings.Split(ctx.String("host"), ",")
|
|
||||||
for _, h := range hosts {
|
|
||||||
if ip := net.ParseIP(h); ip != nil {
|
|
||||||
template.IPAddresses = append(template.IPAddresses, ip)
|
|
||||||
} else {
|
|
||||||
template.DNSNames = append(template.DNSNames, h)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ctx.Bool("ca") {
|
|
||||||
template.IsCA = true
|
|
||||||
template.KeyUsage |= x509.KeyUsageCertSign
|
|
||||||
}
|
|
||||||
|
|
||||||
derBytes, err := x509.CreateCertificate(rand.Reader, &template, &template, publicKey(priv), priv)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Failed to create certificate: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
certOut, err := os.Create("cert.pem")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Failed to open cert.pem for writing: %s", err)
|
|
||||||
}
|
|
||||||
pem.Encode(certOut, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes})
|
|
||||||
certOut.Close()
|
|
||||||
log.Println("Written cert.pem")
|
|
||||||
|
|
||||||
keyOut, err := os.OpenFile("key.pem", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Failed to open key.pem for writing: %v\n", err)
|
|
||||||
}
|
|
||||||
pem.Encode(keyOut, pemBlockForKey(priv))
|
|
||||||
keyOut.Close()
|
|
||||||
log.Println("Written key.pem")
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
// +build !cert
|
|
||||||
|
|
||||||
// Copyright 2009 The Go Authors. All rights reserved.
|
|
||||||
// Copyright 2014 The Gogs Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"github.com/urfave/cli"
|
|
||||||
)
|
|
||||||
|
|
||||||
var Cert = cli.Command{
|
|
||||||
Name: "cert",
|
|
||||||
Usage: "Generate self-signed certificate",
|
|
||||||
Description: `Please use build tags "cert" to rebuild Gogs in order to have this ability`,
|
|
||||||
Action: runCert,
|
|
||||||
}
|
|
||||||
|
|
||||||
func runCert(ctx *cli.Context) error {
|
|
||||||
fmt.Println("Command cert not available, please use build tags 'cert' to rebuild.")
|
|
||||||
os.Exit(1)
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
42
cmd/cmd.go
42
cmd/cmd.go
@@ -1,42 +0,0 @@
|
|||||||
// Copyright 2015 The Gogs Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/urfave/cli"
|
|
||||||
)
|
|
||||||
|
|
||||||
func stringFlag(name, value, usage string) cli.StringFlag {
|
|
||||||
return cli.StringFlag{
|
|
||||||
Name: name,
|
|
||||||
Value: value,
|
|
||||||
Usage: usage,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func boolFlag(name, usage string) cli.BoolFlag {
|
|
||||||
return cli.BoolFlag{
|
|
||||||
Name: name,
|
|
||||||
Usage: usage,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func intFlag(name string, value int, usage string) cli.IntFlag {
|
|
||||||
return cli.IntFlag{
|
|
||||||
Name: name,
|
|
||||||
Value: value,
|
|
||||||
Usage: usage,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func durationFlag(name string, value time.Duration, usage string) cli.DurationFlag {
|
|
||||||
return cli.DurationFlag{
|
|
||||||
Name: name,
|
|
||||||
Value: value,
|
|
||||||
Usage: usage,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
189
cmd/gogs/admin.go
Normal file
189
cmd/gogs/admin.go
Normal file
@@ -0,0 +1,189 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"reflect"
|
||||||
|
"runtime"
|
||||||
|
|
||||||
|
"github.com/cockroachdb/errors"
|
||||||
|
"github.com/urfave/cli/v3"
|
||||||
|
|
||||||
|
"gogs.io/gogs/internal/conf"
|
||||||
|
"gogs.io/gogs/internal/database"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
adminCommand = cli.Command{
|
||||||
|
Name: "admin",
|
||||||
|
Usage: "Perform admin operations on command line",
|
||||||
|
Description: `Allow using internal logic of Gogs without hacking into the source code
|
||||||
|
to make automatic initialization process more smoothly`,
|
||||||
|
Commands: []*cli.Command{
|
||||||
|
&subcmdCreateUser,
|
||||||
|
&subcmdDeleteInactivateUsers,
|
||||||
|
&subcmdDeleteRepositoryArchives,
|
||||||
|
&subcmdDeleteMissingRepositories,
|
||||||
|
&subcmdGitGcRepos,
|
||||||
|
&subcmdRewriteAuthorizedKeys,
|
||||||
|
&subcmdSyncRepositoryHooks,
|
||||||
|
&subcmdReinitMissingRepositories,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
subcmdCreateUser = cli.Command{
|
||||||
|
Name: "create-user",
|
||||||
|
Usage: "Create a new user in database",
|
||||||
|
Action: runCreateUser,
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("name", "", "Username"),
|
||||||
|
stringFlag("password", "", "User password"),
|
||||||
|
stringFlag("email", "", "User email address"),
|
||||||
|
boolFlag("admin", "User is an admin"),
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
subcmdDeleteInactivateUsers = cli.Command{
|
||||||
|
Name: "delete-inactive-users",
|
||||||
|
Usage: "Delete all inactive accounts",
|
||||||
|
Action: adminDashboardOperation(
|
||||||
|
func() error { return database.Handle.Users().DeleteInactivated() },
|
||||||
|
"All inactivated accounts have been deleted successfully",
|
||||||
|
),
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
subcmdDeleteRepositoryArchives = cli.Command{
|
||||||
|
Name: "delete-repository-archives",
|
||||||
|
Usage: "Delete all repositories archives",
|
||||||
|
Action: adminDashboardOperation(
|
||||||
|
database.DeleteRepositoryArchives,
|
||||||
|
"All repositories archives have been deleted successfully",
|
||||||
|
),
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
subcmdDeleteMissingRepositories = cli.Command{
|
||||||
|
Name: "delete-missing-repositories",
|
||||||
|
Usage: "Delete all repository records that lost Git files",
|
||||||
|
Action: adminDashboardOperation(
|
||||||
|
database.DeleteMissingRepositories,
|
||||||
|
"All repositories archives have been deleted successfully",
|
||||||
|
),
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
subcmdGitGcRepos = cli.Command{
|
||||||
|
Name: "collect-garbage",
|
||||||
|
Usage: "Do garbage collection on repositories",
|
||||||
|
Action: adminDashboardOperation(
|
||||||
|
database.GitGcRepos,
|
||||||
|
"All repositories have done garbage collection successfully",
|
||||||
|
),
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
subcmdRewriteAuthorizedKeys = cli.Command{
|
||||||
|
Name: "rewrite-authorized-keys",
|
||||||
|
Usage: "Rewrite '.ssh/authorized_keys' file (caution: non-Gogs keys will be lost)",
|
||||||
|
Action: adminDashboardOperation(
|
||||||
|
database.RewriteAuthorizedKeys,
|
||||||
|
"All public keys have been rewritten successfully",
|
||||||
|
),
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
subcmdSyncRepositoryHooks = cli.Command{
|
||||||
|
Name: "resync-hooks",
|
||||||
|
Usage: "Resync pre-receive, update and post-receive hooks",
|
||||||
|
Action: adminDashboardOperation(
|
||||||
|
database.SyncRepositoryHooks,
|
||||||
|
"All repositories' pre-receive, update and post-receive hooks have been resynced successfully",
|
||||||
|
),
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
subcmdReinitMissingRepositories = cli.Command{
|
||||||
|
Name: "reinit-missing-repositories",
|
||||||
|
Usage: "Reinitialize all repository records that lost Git files",
|
||||||
|
Action: adminDashboardOperation(
|
||||||
|
database.ReinitMissingRepositories,
|
||||||
|
"All repository records that lost Git files have been reinitialized successfully",
|
||||||
|
),
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func runCreateUser(ctx context.Context, cmd *cli.Command) error {
|
||||||
|
if !cmd.IsSet("name") {
|
||||||
|
return errors.New("Username is not specified")
|
||||||
|
} else if !cmd.IsSet("password") {
|
||||||
|
return errors.New("Password is not specified")
|
||||||
|
} else if !cmd.IsSet("email") {
|
||||||
|
return errors.New("Email is not specified")
|
||||||
|
}
|
||||||
|
|
||||||
|
err := conf.Init(configFromLineage(cmd))
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "init configuration")
|
||||||
|
}
|
||||||
|
conf.InitLogging(true)
|
||||||
|
|
||||||
|
if _, err = database.SetEngine(); err != nil {
|
||||||
|
return errors.Wrap(err, "set engine")
|
||||||
|
}
|
||||||
|
|
||||||
|
user, err := database.Handle.Users().Create(
|
||||||
|
ctx,
|
||||||
|
cmd.String("name"),
|
||||||
|
cmd.String("email"),
|
||||||
|
database.CreateUserOptions{
|
||||||
|
Password: cmd.String("password"),
|
||||||
|
Activated: true,
|
||||||
|
Admin: cmd.Bool("admin"),
|
||||||
|
},
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "create user")
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Printf("New user %q has been successfully created!\n", user.Name)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func adminDashboardOperation(operation func() error, successMessage string) func(context.Context, *cli.Command) error {
|
||||||
|
return func(_ context.Context, cmd *cli.Command) error {
|
||||||
|
err := conf.Init(configFromLineage(cmd))
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "init configuration")
|
||||||
|
}
|
||||||
|
conf.InitLogging(true)
|
||||||
|
|
||||||
|
if _, err = database.SetEngine(); err != nil {
|
||||||
|
return errors.Wrap(err, "set engine")
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := operation(); err != nil {
|
||||||
|
functionName := runtime.FuncForPC(reflect.ValueOf(operation).Pointer()).Name()
|
||||||
|
return errors.Newf("%s: %v", functionName, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Printf("%s\n", successMessage)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
194
cmd/gogs/backup.go
Normal file
194
cmd/gogs/backup.go
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"path"
|
||||||
|
"path/filepath"
|
||||||
|
"strconv"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/cockroachdb/errors"
|
||||||
|
"github.com/unknwon/cae/zip"
|
||||||
|
"github.com/urfave/cli/v3"
|
||||||
|
"gopkg.in/ini.v1"
|
||||||
|
log "unknwon.dev/clog/v2"
|
||||||
|
|
||||||
|
"gogs.io/gogs/internal/conf"
|
||||||
|
"gogs.io/gogs/internal/database"
|
||||||
|
"gogs.io/gogs/internal/osx"
|
||||||
|
)
|
||||||
|
|
||||||
|
var backupCommand = cli.Command{
|
||||||
|
Name: "backup",
|
||||||
|
Usage: "Backup files and database",
|
||||||
|
Description: `Backup dumps and compresses all related files and database into zip file,
|
||||||
|
which can be used for migrating Gogs to another server. The output format is meant to be
|
||||||
|
portable among all supported database engines.`,
|
||||||
|
Action: runBackup,
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
boolFlag("verbose, v", "Show process details"),
|
||||||
|
stringFlag("tempdir, t", os.TempDir(), "Temporary directory path"),
|
||||||
|
stringFlag("target", "./", "Target directory path to save backup archive"),
|
||||||
|
stringFlag("archive-name", fmt.Sprintf("gogs-backup-%s.zip", time.Now().Format("20060102150405")), "Name of backup archive"),
|
||||||
|
boolFlag("database-only", "Only dump database"),
|
||||||
|
boolFlag("exclude-mirror-repos", "Exclude mirror repositories"),
|
||||||
|
boolFlag("exclude-repos", "Exclude repositories"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
currentBackupFormatVersion = 1
|
||||||
|
archiveRootDir = "gogs-backup"
|
||||||
|
)
|
||||||
|
|
||||||
|
func runBackup(ctx context.Context, cmd *cli.Command) error {
|
||||||
|
zip.Verbose = cmd.Bool("verbose")
|
||||||
|
|
||||||
|
err := conf.Init(configFromLineage(cmd))
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "init configuration")
|
||||||
|
}
|
||||||
|
conf.InitLogging(true)
|
||||||
|
|
||||||
|
conn, err := database.SetEngine()
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "set engine")
|
||||||
|
}
|
||||||
|
|
||||||
|
tmpDir := cmd.String("tempdir")
|
||||||
|
if !osx.Exist(tmpDir) {
|
||||||
|
log.Fatal("'--tempdir' does not exist: %s", tmpDir)
|
||||||
|
}
|
||||||
|
rootDir, err := os.MkdirTemp(tmpDir, "gogs-backup-")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to create backup root directory '%s': %v", rootDir, err)
|
||||||
|
}
|
||||||
|
log.Info("Backup root directory: %s", rootDir)
|
||||||
|
|
||||||
|
// Metadata
|
||||||
|
metaFile := path.Join(rootDir, "metadata.ini")
|
||||||
|
metadata := ini.Empty()
|
||||||
|
metadata.Section("").Key("VERSION").SetValue(strconv.Itoa(currentBackupFormatVersion))
|
||||||
|
metadata.Section("").Key("DATE_TIME").SetValue(time.Now().String())
|
||||||
|
metadata.Section("").Key("GOGS_VERSION").SetValue(conf.App.Version)
|
||||||
|
if err = metadata.SaveTo(metaFile); err != nil {
|
||||||
|
log.Fatal("Failed to save metadata '%s': %v", metaFile, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
archiveName := filepath.Join(cmd.String("target"), cmd.String("archive-name"))
|
||||||
|
log.Info("Packing backup files to: %s", archiveName)
|
||||||
|
|
||||||
|
z, err := zip.Create(archiveName)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to create backup archive '%s': %v", archiveName, err)
|
||||||
|
}
|
||||||
|
if err = z.AddFile(archiveRootDir+"/metadata.ini", metaFile); err != nil {
|
||||||
|
log.Fatal("Failed to include 'metadata.ini': %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Database
|
||||||
|
dbDir := filepath.Join(rootDir, "db")
|
||||||
|
if err = database.DumpDatabase(ctx, conn, dbDir, cmd.Bool("verbose")); err != nil {
|
||||||
|
log.Fatal("Failed to dump database: %v", err)
|
||||||
|
}
|
||||||
|
if err = z.AddDir(archiveRootDir+"/db", dbDir); err != nil {
|
||||||
|
log.Fatal("Failed to include 'db': %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !cmd.Bool("database-only") {
|
||||||
|
// Custom files
|
||||||
|
err = addCustomDirToBackup(z)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to add custom directory to backup: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Data files
|
||||||
|
for _, dir := range []string{"ssh", "attachments", "avatars", "repo-avatars"} {
|
||||||
|
dirPath := filepath.Join(conf.Server.AppDataPath, dir)
|
||||||
|
if !osx.IsDir(dirPath) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if err = z.AddDir(path.Join(archiveRootDir+"/data", dir), dirPath); err != nil {
|
||||||
|
log.Fatal("Failed to include 'data': %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Repositories
|
||||||
|
if !cmd.Bool("exclude-repos") && !cmd.Bool("database-only") {
|
||||||
|
reposDump := filepath.Join(rootDir, "repositories.zip")
|
||||||
|
log.Info("Dumping repositories in %q", conf.Repository.Root)
|
||||||
|
if cmd.Bool("exclude-mirror-repos") {
|
||||||
|
repos, err := database.GetNonMirrorRepositories()
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to get non-mirror repositories: %v", err)
|
||||||
|
}
|
||||||
|
reposZip, err := zip.Create(reposDump)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to create %q: %v", reposDump, err)
|
||||||
|
}
|
||||||
|
baseDir := filepath.Base(conf.Repository.Root)
|
||||||
|
for _, r := range repos {
|
||||||
|
name := r.FullName() + ".git"
|
||||||
|
if err := reposZip.AddDir(filepath.Join(baseDir, name), filepath.Join(conf.Repository.Root, name)); err != nil {
|
||||||
|
log.Fatal("Failed to add %q: %v", name, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err = reposZip.Close(); err != nil {
|
||||||
|
log.Fatal("Failed to save %q: %v", reposDump, err)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if err = zip.PackTo(conf.Repository.Root, reposDump, true); err != nil {
|
||||||
|
log.Fatal("Failed to dump repositories: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
log.Info("Repositories dumped to: %s", reposDump)
|
||||||
|
|
||||||
|
if err = z.AddFile(archiveRootDir+"/repositories.zip", reposDump); err != nil {
|
||||||
|
log.Fatal("Failed to include %q: %v", reposDump, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if err = z.Close(); err != nil {
|
||||||
|
log.Fatal("Failed to save backup archive '%s': %v", archiveName, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
_ = os.RemoveAll(rootDir)
|
||||||
|
log.Info("Backup succeed! Archive is located at: %s", archiveName)
|
||||||
|
log.Stop()
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func addCustomDirToBackup(z *zip.ZipArchive) error {
|
||||||
|
customDir := conf.CustomDir()
|
||||||
|
entries, err := os.ReadDir(customDir)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "list custom directory entries")
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, e := range entries {
|
||||||
|
if e.Name() == "data" {
|
||||||
|
// Skip the "data" directory because it lives under the "custom" directory in
|
||||||
|
// the Docker setup and will be backed up separately.
|
||||||
|
log.Trace(`Skipping "data" directory in custom directory`)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
add := z.AddFile
|
||||||
|
if e.IsDir() {
|
||||||
|
add = z.AddDir
|
||||||
|
}
|
||||||
|
err = add(
|
||||||
|
fmt.Sprintf("%s/custom/%s", archiveRootDir, e.Name()),
|
||||||
|
filepath.Join(customDir, e.Name()),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrapf(err, "add %q", e.Name())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
43
cmd/gogs/cmd.go
Normal file
43
cmd/gogs/cmd.go
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/urfave/cli/v3"
|
||||||
|
)
|
||||||
|
|
||||||
|
func stringFlag(name, value, usage string) *cli.StringFlag {
|
||||||
|
parts := strings.SplitN(name, ", ", 2)
|
||||||
|
f := &cli.StringFlag{
|
||||||
|
Name: parts[0],
|
||||||
|
Value: value,
|
||||||
|
Usage: usage,
|
||||||
|
}
|
||||||
|
if len(parts) > 1 {
|
||||||
|
f.Aliases = []string{parts[1]}
|
||||||
|
}
|
||||||
|
return f
|
||||||
|
}
|
||||||
|
|
||||||
|
// configFromLineage walks the command lineage to find the --config flag value.
|
||||||
|
// This is needed because subcommands may not directly see flags set on parent commands.
|
||||||
|
func configFromLineage(cmd *cli.Command) string {
|
||||||
|
for _, c := range cmd.Lineage() {
|
||||||
|
if c.IsSet("config") {
|
||||||
|
return c.String("config")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func boolFlag(name, usage string) *cli.BoolFlag {
|
||||||
|
parts := strings.SplitN(name, ", ", 2)
|
||||||
|
f := &cli.BoolFlag{
|
||||||
|
Name: parts[0],
|
||||||
|
Usage: usage,
|
||||||
|
}
|
||||||
|
if len(parts) > 1 {
|
||||||
|
f.Aliases = []string{parts[1]}
|
||||||
|
}
|
||||||
|
return f
|
||||||
|
}
|
||||||
273
cmd/gogs/hook.go
Normal file
273
cmd/gogs/hook.go
Normal file
@@ -0,0 +1,273 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"bytes"
|
||||||
|
"context"
|
||||||
|
"crypto/tls"
|
||||||
|
"fmt"
|
||||||
|
"net/url"
|
||||||
|
"os"
|
||||||
|
"os/exec"
|
||||||
|
"path/filepath"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/urfave/cli/v3"
|
||||||
|
log "unknwon.dev/clog/v2"
|
||||||
|
|
||||||
|
"github.com/gogs/git-module"
|
||||||
|
|
||||||
|
"gogs.io/gogs/internal/conf"
|
||||||
|
"gogs.io/gogs/internal/database"
|
||||||
|
"gogs.io/gogs/internal/email"
|
||||||
|
"gogs.io/gogs/internal/httplib"
|
||||||
|
"gogs.io/gogs/internal/osx"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
hookCommand = cli.Command{
|
||||||
|
Name: "hook",
|
||||||
|
Usage: "Delegate commands to corresponding Git hooks",
|
||||||
|
Description: "All sub-commands should only be called by Git",
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
Commands: []*cli.Command{
|
||||||
|
&subcmdHookPreReceive,
|
||||||
|
&subcmdHookUpadte,
|
||||||
|
&subcmdHookPostReceive,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
subcmdHookPreReceive = cli.Command{
|
||||||
|
Name: "pre-receive",
|
||||||
|
Usage: "Delegate pre-receive Git hook",
|
||||||
|
Description: "This command should only be called by Git",
|
||||||
|
Action: runHookPreReceive,
|
||||||
|
}
|
||||||
|
subcmdHookUpadte = cli.Command{
|
||||||
|
Name: "update",
|
||||||
|
Usage: "Delegate update Git hook",
|
||||||
|
Description: "This command should only be called by Git",
|
||||||
|
Action: runHookUpdate,
|
||||||
|
}
|
||||||
|
subcmdHookPostReceive = cli.Command{
|
||||||
|
Name: "post-receive",
|
||||||
|
Usage: "Delegate post-receive Git hook",
|
||||||
|
Description: "This command should only be called by Git",
|
||||||
|
Action: runHookPostReceive,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func runHookPreReceive(_ context.Context, cmd *cli.Command) error {
|
||||||
|
if os.Getenv("SSH_ORIGINAL_COMMAND") == "" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
setup(cmd, "pre-receive.log", true)
|
||||||
|
|
||||||
|
isWiki := strings.Contains(os.Getenv(database.EnvRepoCustomHooksPath), ".wiki.git/")
|
||||||
|
|
||||||
|
buf := bytes.NewBuffer(nil)
|
||||||
|
scanner := bufio.NewScanner(os.Stdin)
|
||||||
|
for scanner.Scan() {
|
||||||
|
buf.Write(scanner.Bytes())
|
||||||
|
buf.WriteByte('\n')
|
||||||
|
|
||||||
|
if isWiki {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
fields := bytes.Fields(scanner.Bytes())
|
||||||
|
if len(fields) != 3 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
oldCommitID := string(fields[0])
|
||||||
|
newCommitID := string(fields[1])
|
||||||
|
branchName := git.RefShortName(string(fields[2]))
|
||||||
|
|
||||||
|
// Branch protection
|
||||||
|
repoID, _ := strconv.ParseInt(os.Getenv(database.EnvRepoID), 10, 64)
|
||||||
|
protectBranch, err := database.GetProtectBranchOfRepoByName(repoID, branchName)
|
||||||
|
if err != nil {
|
||||||
|
if database.IsErrBranchNotExist(err) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
fail("Internal error", "GetProtectBranchOfRepoByName [repo_id: %d, branch: %s]: %v", repoID, branchName, err)
|
||||||
|
}
|
||||||
|
if !protectBranch.Protected {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// Whitelist users can bypass require pull request check
|
||||||
|
bypassRequirePullRequest := false
|
||||||
|
|
||||||
|
// Check if user is in whitelist when enabled
|
||||||
|
userID, _ := strconv.ParseInt(os.Getenv(database.EnvAuthUserID), 10, 64)
|
||||||
|
if protectBranch.EnableWhitelist {
|
||||||
|
if !database.IsUserInProtectBranchWhitelist(repoID, userID, branchName) {
|
||||||
|
fail(fmt.Sprintf("Branch '%s' is protected and you are not in the push whitelist", branchName), "")
|
||||||
|
}
|
||||||
|
|
||||||
|
bypassRequirePullRequest = true
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if branch allows direct push
|
||||||
|
if !bypassRequirePullRequest && protectBranch.RequirePullRequest {
|
||||||
|
fail(fmt.Sprintf("Branch '%s' is protected and commits must be merged through pull request", branchName), "")
|
||||||
|
}
|
||||||
|
|
||||||
|
// check and deletion
|
||||||
|
if newCommitID == git.EmptyID {
|
||||||
|
fail(fmt.Sprintf("Branch '%s' is protected from deletion", branchName), "")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check force push
|
||||||
|
output, err := git.NewCommand("rev-list", "--max-count=1", oldCommitID, "^"+newCommitID).
|
||||||
|
RunInDir(database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName)))
|
||||||
|
if err != nil {
|
||||||
|
fail("Internal error", "Failed to detect force push: %v", err)
|
||||||
|
} else if len(output) > 0 {
|
||||||
|
fail(fmt.Sprintf("Branch '%s' is protected from force push", branchName), "")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
customHooksPath := filepath.Join(os.Getenv(database.EnvRepoCustomHooksPath), "pre-receive")
|
||||||
|
if !osx.IsFile(customHooksPath) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var hookCmd *exec.Cmd
|
||||||
|
if conf.IsWindowsRuntime() {
|
||||||
|
hookCmd = exec.Command("bash.exe", "custom_hooks/pre-receive")
|
||||||
|
} else {
|
||||||
|
hookCmd = exec.Command(customHooksPath)
|
||||||
|
}
|
||||||
|
hookCmd.Dir = database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName))
|
||||||
|
hookCmd.Stdout = os.Stdout
|
||||||
|
hookCmd.Stdin = buf
|
||||||
|
hookCmd.Stderr = os.Stderr
|
||||||
|
if err := hookCmd.Run(); err != nil {
|
||||||
|
fail("Internal error", "Failed to execute custom pre-receive hook: %v", err)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func runHookUpdate(_ context.Context, cmd *cli.Command) error {
|
||||||
|
if os.Getenv("SSH_ORIGINAL_COMMAND") == "" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
setup(cmd, "update.log", false)
|
||||||
|
|
||||||
|
args := cmd.Args().Slice()
|
||||||
|
if len(args) != 3 {
|
||||||
|
fail("Arguments received are not equal to three", "Arguments received are not equal to three")
|
||||||
|
} else if args[0] == "" {
|
||||||
|
fail("First argument 'refName' is empty", "First argument 'refName' is empty")
|
||||||
|
}
|
||||||
|
|
||||||
|
customHooksPath := filepath.Join(os.Getenv(database.EnvRepoCustomHooksPath), "update")
|
||||||
|
if !osx.IsFile(customHooksPath) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var hookCmd *exec.Cmd
|
||||||
|
if conf.IsWindowsRuntime() {
|
||||||
|
hookCmd = exec.Command("bash.exe", append([]string{"custom_hooks/update"}, args...)...)
|
||||||
|
} else {
|
||||||
|
hookCmd = exec.Command(customHooksPath, args...)
|
||||||
|
}
|
||||||
|
hookCmd.Dir = database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName))
|
||||||
|
hookCmd.Stdout = os.Stdout
|
||||||
|
hookCmd.Stdin = os.Stdin
|
||||||
|
hookCmd.Stderr = os.Stderr
|
||||||
|
if err := hookCmd.Run(); err != nil {
|
||||||
|
fail("Internal error", "Failed to execute custom pre-receive hook: %v", err)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func runHookPostReceive(_ context.Context, cmd *cli.Command) error {
|
||||||
|
if os.Getenv("SSH_ORIGINAL_COMMAND") == "" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
setup(cmd, "post-receive.log", true)
|
||||||
|
|
||||||
|
// Post-receive hook does more than just gather Git information,
|
||||||
|
// so we need to setup additional services for email notifications.
|
||||||
|
email.NewContext()
|
||||||
|
|
||||||
|
isWiki := strings.Contains(os.Getenv(database.EnvRepoCustomHooksPath), ".wiki.git/")
|
||||||
|
|
||||||
|
buf := bytes.NewBuffer(nil)
|
||||||
|
scanner := bufio.NewScanner(os.Stdin)
|
||||||
|
for scanner.Scan() {
|
||||||
|
buf.Write(scanner.Bytes())
|
||||||
|
buf.WriteByte('\n')
|
||||||
|
|
||||||
|
// TODO: support news feeds for wiki
|
||||||
|
if isWiki {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
fields := bytes.Fields(scanner.Bytes())
|
||||||
|
if len(fields) != 3 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
pusherID, _ := strconv.ParseInt(os.Getenv(database.EnvAuthUserID), 10, 64)
|
||||||
|
options := database.PushUpdateOptions{
|
||||||
|
OldCommitID: string(fields[0]),
|
||||||
|
NewCommitID: string(fields[1]),
|
||||||
|
FullRefspec: string(fields[2]),
|
||||||
|
PusherID: pusherID,
|
||||||
|
PusherName: os.Getenv(database.EnvAuthUserName),
|
||||||
|
RepoUserName: os.Getenv(database.EnvRepoOwnerName),
|
||||||
|
RepoName: os.Getenv(database.EnvRepoName),
|
||||||
|
}
|
||||||
|
if err := database.PushUpdate(options); err != nil {
|
||||||
|
log.Error("PushUpdate: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ask for running deliver hook and test pull request tasks
|
||||||
|
q := make(url.Values)
|
||||||
|
q.Add("branch", git.RefShortName(options.FullRefspec))
|
||||||
|
q.Add("secret", os.Getenv(database.EnvRepoOwnerSaltMd5))
|
||||||
|
q.Add("pusher", os.Getenv(database.EnvAuthUserID))
|
||||||
|
reqURL := fmt.Sprintf("%s%s/%s/tasks/trigger?%s", conf.Server.LocalRootURL, options.RepoUserName, options.RepoName, q.Encode())
|
||||||
|
log.Trace("Trigger task: %s", reqURL)
|
||||||
|
|
||||||
|
resp, err := httplib.Get(reqURL).
|
||||||
|
SetTLSClientConfig(&tls.Config{
|
||||||
|
InsecureSkipVerify: true,
|
||||||
|
}).Response()
|
||||||
|
if err == nil {
|
||||||
|
_ = resp.Body.Close()
|
||||||
|
if resp.StatusCode/100 != 2 {
|
||||||
|
log.Error("Failed to trigger task: unsuccessful response code %d", resp.StatusCode)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.Error("Failed to trigger task: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
customHooksPath := filepath.Join(os.Getenv(database.EnvRepoCustomHooksPath), "post-receive")
|
||||||
|
if !osx.IsFile(customHooksPath) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var hookCmd *exec.Cmd
|
||||||
|
if conf.IsWindowsRuntime() {
|
||||||
|
hookCmd = exec.Command("bash.exe", "custom_hooks/post-receive")
|
||||||
|
} else {
|
||||||
|
hookCmd = exec.Command(customHooksPath)
|
||||||
|
}
|
||||||
|
hookCmd.Dir = database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName))
|
||||||
|
hookCmd.Stdout = os.Stdout
|
||||||
|
hookCmd.Stdin = buf
|
||||||
|
hookCmd.Stderr = os.Stderr
|
||||||
|
if err := hookCmd.Run(); err != nil {
|
||||||
|
fail("Internal error", "Failed to execute custom post-receive hook: %v", err)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
108
cmd/gogs/import.go
Normal file
108
cmd/gogs/import.go
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"bytes"
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/cockroachdb/errors"
|
||||||
|
"github.com/urfave/cli/v3"
|
||||||
|
|
||||||
|
"gogs.io/gogs/internal/conf"
|
||||||
|
"gogs.io/gogs/internal/osx"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
importCommand = cli.Command{
|
||||||
|
Name: "import",
|
||||||
|
Usage: "Import portable data as local Gogs data",
|
||||||
|
Description: `Allow user import data from other Gogs installations to local instance
|
||||||
|
without manually hacking the data files`,
|
||||||
|
Commands: []*cli.Command{
|
||||||
|
&subcmdImportLocale,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
subcmdImportLocale = cli.Command{
|
||||||
|
Name: "locale",
|
||||||
|
Usage: "Import locale files to local repository",
|
||||||
|
Action: runImportLocale,
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("source", "", "Source directory that stores new locale files"),
|
||||||
|
stringFlag("target", "", "Target directory that stores old locale files"),
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func runImportLocale(_ context.Context, cmd *cli.Command) error {
|
||||||
|
if !cmd.IsSet("source") {
|
||||||
|
return errors.New("source directory is not specified")
|
||||||
|
} else if !cmd.IsSet("target") {
|
||||||
|
return errors.New("target directory is not specified")
|
||||||
|
}
|
||||||
|
if !osx.IsDir(cmd.String("source")) {
|
||||||
|
return errors.Newf("source directory %q does not exist or is not a directory", cmd.String("source"))
|
||||||
|
} else if !osx.IsDir(cmd.String("target")) {
|
||||||
|
return errors.Newf("target directory %q does not exist or is not a directory", cmd.String("target"))
|
||||||
|
}
|
||||||
|
|
||||||
|
err := conf.Init(configFromLineage(cmd))
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "init configuration")
|
||||||
|
}
|
||||||
|
|
||||||
|
now := time.Now()
|
||||||
|
|
||||||
|
var line []byte
|
||||||
|
badChars := []byte(`="`)
|
||||||
|
escapedQuotes := []byte(`\"`)
|
||||||
|
regularQuotes := []byte(`"`)
|
||||||
|
// Cut out en-US.
|
||||||
|
for _, lang := range conf.I18n.Langs[1:] {
|
||||||
|
name := fmt.Sprintf("locale_%s.ini", lang)
|
||||||
|
source := filepath.Join(cmd.String("source"), name)
|
||||||
|
target := filepath.Join(cmd.String("target"), name)
|
||||||
|
if !osx.IsFile(source) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// Crowdin surrounds double quotes for strings contain quotes inside,
|
||||||
|
// this breaks INI parser, we need to fix that.
|
||||||
|
sr, err := os.Open(source)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Newf("open: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
tw, err := os.Create(target)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Newf("create: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
scanner := bufio.NewScanner(sr)
|
||||||
|
for scanner.Scan() {
|
||||||
|
line = scanner.Bytes()
|
||||||
|
idx := bytes.Index(line, badChars)
|
||||||
|
if idx > -1 && line[len(line)-1] == '"' {
|
||||||
|
// We still want the "=" sign
|
||||||
|
line = append(line[:idx+1], line[idx+2:len(line)-1]...)
|
||||||
|
line = bytes.ReplaceAll(line, escapedQuotes, regularQuotes)
|
||||||
|
}
|
||||||
|
_, _ = tw.Write(line)
|
||||||
|
_, _ = tw.WriteString("\n")
|
||||||
|
}
|
||||||
|
_ = sr.Close()
|
||||||
|
_ = tw.Close()
|
||||||
|
|
||||||
|
// Modification time of files from Crowdin often ahead of current,
|
||||||
|
// so we need to set back to current.
|
||||||
|
_ = os.Chtimes(target, now, now)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("Locale files has been successfully imported!")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
36
cmd/gogs/main.go
Normal file
36
cmd/gogs/main.go
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
// Gogs is a painless self-hosted Git Service.
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/urfave/cli/v3"
|
||||||
|
log "unknwon.dev/clog/v2"
|
||||||
|
|
||||||
|
"gogs.io/gogs/internal/conf"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
conf.App.Version = "0.15.0+dev"
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
cmd := &cli.Command{
|
||||||
|
Name: "Gogs",
|
||||||
|
Usage: "A painless self-hosted Git service",
|
||||||
|
Version: conf.App.Version,
|
||||||
|
Commands: []*cli.Command{
|
||||||
|
&webCommand,
|
||||||
|
&servCommand,
|
||||||
|
&hookCommand,
|
||||||
|
&adminCommand,
|
||||||
|
&importCommand,
|
||||||
|
&backupCommand,
|
||||||
|
&restoreCommand,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
if err := cmd.Run(context.Background(), os.Args); err != nil {
|
||||||
|
log.Fatal("Failed to start application: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
161
cmd/gogs/restore.go
Normal file
161
cmd/gogs/restore.go
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"os"
|
||||||
|
"path"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
|
"github.com/cockroachdb/errors"
|
||||||
|
"github.com/unknwon/cae/zip"
|
||||||
|
"github.com/urfave/cli/v3"
|
||||||
|
"gopkg.in/ini.v1"
|
||||||
|
log "unknwon.dev/clog/v2"
|
||||||
|
|
||||||
|
"gogs.io/gogs/internal/conf"
|
||||||
|
"gogs.io/gogs/internal/database"
|
||||||
|
"gogs.io/gogs/internal/osx"
|
||||||
|
"gogs.io/gogs/internal/semverx"
|
||||||
|
)
|
||||||
|
|
||||||
|
var restoreCommand = cli.Command{
|
||||||
|
Name: "restore",
|
||||||
|
Usage: "Restore files and database from backup",
|
||||||
|
Description: `Restore imports all related files and database from a backup archive.
|
||||||
|
The backup version must lower or equal to current Gogs version. You can also import
|
||||||
|
backup from other database engines, which is useful for database migrating.
|
||||||
|
|
||||||
|
If corresponding files or database tables are not presented in the archive, they will
|
||||||
|
be skipped and remain unchanged.`,
|
||||||
|
Action: runRestore,
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
boolFlag("verbose, v", "Show process details"),
|
||||||
|
stringFlag("tempdir, t", os.TempDir(), "Temporary directory path"),
|
||||||
|
stringFlag("from", "", "Path to backup archive"),
|
||||||
|
boolFlag("database-only", "Only import database"),
|
||||||
|
boolFlag("exclude-repos", "Exclude repositories"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// lastSupportedVersionOfFormat returns the last supported version of the backup archive
|
||||||
|
// format that is able to import.
|
||||||
|
var lastSupportedVersionOfFormat = map[int]string{}
|
||||||
|
|
||||||
|
func runRestore(ctx context.Context, cmd *cli.Command) error {
|
||||||
|
zip.Verbose = cmd.Bool("verbose")
|
||||||
|
|
||||||
|
tmpDir := cmd.String("tempdir")
|
||||||
|
if !osx.IsDir(tmpDir) {
|
||||||
|
log.Fatal("'--tempdir' does not exist: %s", tmpDir)
|
||||||
|
}
|
||||||
|
archivePath := path.Join(tmpDir, archiveRootDir)
|
||||||
|
|
||||||
|
// Make sure there was no leftover and also clean up afterwards
|
||||||
|
err := os.RemoveAll(archivePath)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to clean up previous leftover in %q: %v", archivePath, err)
|
||||||
|
}
|
||||||
|
defer func() { _ = os.RemoveAll(archivePath) }()
|
||||||
|
|
||||||
|
log.Info("Restoring backup from: %s", cmd.String("from"))
|
||||||
|
err = zip.ExtractTo(cmd.String("from"), tmpDir)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to extract backup archive: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check backup version
|
||||||
|
metaFile := filepath.Join(archivePath, "metadata.ini")
|
||||||
|
if !osx.IsFile(metaFile) {
|
||||||
|
log.Fatal("File 'metadata.ini' is missing")
|
||||||
|
}
|
||||||
|
metadata, err := ini.Load(metaFile)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to load metadata '%s': %v", metaFile, err)
|
||||||
|
}
|
||||||
|
backupVersion := metadata.Section("").Key("GOGS_VERSION").MustString("999.0")
|
||||||
|
if semverx.Compare(conf.App.Version, "<", backupVersion) {
|
||||||
|
log.Fatal("Current Gogs version is lower than backup version: %s < %s", conf.App.Version, backupVersion)
|
||||||
|
}
|
||||||
|
formatVersion := metadata.Section("").Key("VERSION").MustInt()
|
||||||
|
if formatVersion == 0 {
|
||||||
|
log.Fatal("Failed to determine the backup format version from metadata '%s': %s", metaFile, "VERSION is not presented")
|
||||||
|
}
|
||||||
|
if formatVersion != currentBackupFormatVersion {
|
||||||
|
log.Fatal("Backup format version found is %d but this binary only supports %d\nThe last known version that is able to import your backup is %s",
|
||||||
|
formatVersion, currentBackupFormatVersion, lastSupportedVersionOfFormat[formatVersion])
|
||||||
|
}
|
||||||
|
|
||||||
|
// If config file is not present in backup, user must set this file via flag.
|
||||||
|
// Otherwise, it's optional to set config file flag.
|
||||||
|
configFile := filepath.Join(archivePath, "custom", "conf", "app.ini")
|
||||||
|
var customConf string
|
||||||
|
if lineageConf := configFromLineage(cmd); lineageConf != "" {
|
||||||
|
customConf = lineageConf
|
||||||
|
} else if !osx.IsFile(configFile) {
|
||||||
|
log.Fatal("'--config' is not specified and custom config file is not found in backup")
|
||||||
|
} else {
|
||||||
|
customConf = configFile
|
||||||
|
}
|
||||||
|
|
||||||
|
err = conf.Init(customConf)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "init configuration")
|
||||||
|
}
|
||||||
|
conf.InitLogging(true)
|
||||||
|
|
||||||
|
conn, err := database.SetEngine()
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "set engine")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Database
|
||||||
|
dbDir := path.Join(archivePath, "db")
|
||||||
|
if err = database.ImportDatabase(ctx, conn, dbDir, cmd.Bool("verbose")); err != nil {
|
||||||
|
log.Fatal("Failed to import database: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !cmd.Bool("database-only") {
|
||||||
|
// Custom files
|
||||||
|
if osx.IsDir(conf.CustomDir()) {
|
||||||
|
if err = os.Rename(conf.CustomDir(), conf.CustomDir()+".bak"); err != nil {
|
||||||
|
log.Fatal("Failed to backup current 'custom': %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err = os.Rename(filepath.Join(archivePath, "custom"), conf.CustomDir()); err != nil {
|
||||||
|
log.Fatal("Failed to import 'custom': %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Data files
|
||||||
|
_ = os.MkdirAll(conf.Server.AppDataPath, os.ModePerm)
|
||||||
|
for _, dir := range []string{"attachments", "avatars", "repo-avatars"} {
|
||||||
|
// Skip if backup archive does not have corresponding data
|
||||||
|
srcPath := filepath.Join(archivePath, "data", dir)
|
||||||
|
if !osx.IsDir(srcPath) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
dirPath := filepath.Join(conf.Server.AppDataPath, dir)
|
||||||
|
if osx.IsDir(dirPath) {
|
||||||
|
if err = os.Rename(dirPath, dirPath+".bak"); err != nil {
|
||||||
|
log.Fatal("Failed to backup current 'data': %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err = os.Rename(srcPath, dirPath); err != nil {
|
||||||
|
log.Fatal("Failed to import 'data': %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Repositories
|
||||||
|
reposPath := filepath.Join(archivePath, "repositories.zip")
|
||||||
|
if !cmd.Bool("exclude-repos") && !cmd.Bool("database-only") && osx.IsFile(reposPath) {
|
||||||
|
if err := zip.ExtractTo(reposPath, filepath.Dir(conf.Repository.Root)); err != nil {
|
||||||
|
log.Fatal("Failed to extract 'repositories.zip': %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Info("Restore succeed!")
|
||||||
|
log.Stop()
|
||||||
|
return nil
|
||||||
|
}
|
||||||
274
cmd/gogs/serv.go
Normal file
274
cmd/gogs/serv.go
Normal file
@@ -0,0 +1,274 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"os/exec"
|
||||||
|
"path/filepath"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/urfave/cli/v3"
|
||||||
|
log "unknwon.dev/clog/v2"
|
||||||
|
|
||||||
|
"gogs.io/gogs/internal/conf"
|
||||||
|
"gogs.io/gogs/internal/database"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
accessDeniedMessage = "Repository does not exist or you do not have access"
|
||||||
|
)
|
||||||
|
|
||||||
|
var servCommand = cli.Command{
|
||||||
|
Name: "serv",
|
||||||
|
Usage: "This command should only be called by SSH shell",
|
||||||
|
Description: `Serv provide access auth for repositories`,
|
||||||
|
Action: runServ,
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("config, c", "", "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// fail prints user message to the Git client (i.e. os.Stderr) and
|
||||||
|
// logs error message on the server side. When not in "prod" mode,
|
||||||
|
// error message is also printed to the client for easier debugging.
|
||||||
|
func fail(userMessage, errMessage string, args ...any) {
|
||||||
|
_, _ = fmt.Fprintln(os.Stderr, "Gogs:", userMessage)
|
||||||
|
|
||||||
|
if len(errMessage) > 0 {
|
||||||
|
if !conf.IsProdMode() {
|
||||||
|
fmt.Fprintf(os.Stderr, errMessage+"\n", args...)
|
||||||
|
}
|
||||||
|
log.Error(errMessage, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Stop()
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
func setup(cmd *cli.Command, logFile string, connectDB bool) {
|
||||||
|
conf.HookMode = true
|
||||||
|
|
||||||
|
customConf := configFromLineage(cmd)
|
||||||
|
|
||||||
|
err := conf.Init(customConf)
|
||||||
|
if err != nil {
|
||||||
|
fail("Internal error", "Failed to init configuration: %v", err)
|
||||||
|
}
|
||||||
|
conf.InitLogging(true)
|
||||||
|
|
||||||
|
level := log.LevelTrace
|
||||||
|
if conf.IsProdMode() {
|
||||||
|
level = log.LevelError
|
||||||
|
}
|
||||||
|
|
||||||
|
err = log.NewFile(log.FileConfig{
|
||||||
|
Level: level,
|
||||||
|
Filename: filepath.Join(conf.Log.RootPath, "hooks", logFile),
|
||||||
|
FileRotationConfig: log.FileRotationConfig{
|
||||||
|
Rotate: true,
|
||||||
|
Daily: true,
|
||||||
|
MaxDays: 3,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
fail("Internal error", "Failed to init file logger: %v", err)
|
||||||
|
}
|
||||||
|
log.Remove(log.DefaultConsoleName) // Remove the primary logger
|
||||||
|
|
||||||
|
if !connectDB {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if conf.UseSQLite3 {
|
||||||
|
_ = os.Chdir(conf.WorkDir())
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := database.SetEngine(); err != nil {
|
||||||
|
fail("Internal error", "Failed to set database engine: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func parseSSHCmd(cmd string) (string, string) {
|
||||||
|
ss := strings.SplitN(cmd, " ", 2)
|
||||||
|
if len(ss) != 2 {
|
||||||
|
return "", ""
|
||||||
|
}
|
||||||
|
return ss[0], strings.Replace(ss[1], "'/", "'", 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
func checkDeployKey(key *database.PublicKey, repo *database.Repository) {
|
||||||
|
// Check if this deploy key belongs to current repository.
|
||||||
|
if !database.HasDeployKey(key.ID, repo.ID) {
|
||||||
|
fail("Key access denied", "Deploy key access denied: [key_id: %d, repo_id: %d]", key.ID, repo.ID)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update deploy key activity.
|
||||||
|
deployKey, err := database.GetDeployKeyByRepo(key.ID, repo.ID)
|
||||||
|
if err != nil {
|
||||||
|
fail("Internal error", "GetDeployKey: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
deployKey.Updated = time.Now()
|
||||||
|
if err = database.UpdateDeployKey(deployKey); err != nil {
|
||||||
|
fail("Internal error", "UpdateDeployKey: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var allowedCommands = map[string]database.AccessMode{
|
||||||
|
"git-upload-pack": database.AccessModeRead,
|
||||||
|
"git-upload-archive": database.AccessModeRead,
|
||||||
|
"git-receive-pack": database.AccessModeWrite,
|
||||||
|
}
|
||||||
|
|
||||||
|
func runServ(ctx context.Context, cmd *cli.Command) error {
|
||||||
|
setup(cmd, "serv.log", true)
|
||||||
|
|
||||||
|
if conf.SSH.Disabled {
|
||||||
|
println("Gogs: SSH has been disabled")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if cmd.Args().Len() < 1 {
|
||||||
|
fail("Not enough arguments", "Not enough arguments")
|
||||||
|
}
|
||||||
|
|
||||||
|
sshCmd := os.Getenv("SSH_ORIGINAL_COMMAND")
|
||||||
|
if sshCmd == "" {
|
||||||
|
println("Hi there, You've successfully authenticated, but Gogs does not provide shell access.")
|
||||||
|
println("If this is unexpected, please log in with password and setup Gogs under another user.")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
verb, args := parseSSHCmd(sshCmd)
|
||||||
|
repoFullName := strings.ToLower(strings.Trim(args, "'"))
|
||||||
|
repoFields := strings.SplitN(repoFullName, "/", 2)
|
||||||
|
if len(repoFields) != 2 {
|
||||||
|
fail("Invalid repository path", "Invalid repository path: %v", args)
|
||||||
|
}
|
||||||
|
ownerName := strings.ToLower(repoFields[0])
|
||||||
|
repoName := strings.TrimSuffix(strings.ToLower(repoFields[1]), ".git")
|
||||||
|
repoName = strings.TrimSuffix(repoName, ".wiki")
|
||||||
|
|
||||||
|
owner, err := database.Handle.Users().GetByUsername(ctx, ownerName)
|
||||||
|
if err != nil {
|
||||||
|
if database.IsErrUserNotExist(err) {
|
||||||
|
fail("Repository owner does not exist", "Unregistered owner: %s", ownerName)
|
||||||
|
}
|
||||||
|
fail("Internal error", "Failed to get repository owner '%s': %v", ownerName, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
repo, err := database.GetRepositoryByName(owner.ID, repoName)
|
||||||
|
if err != nil {
|
||||||
|
if database.IsErrRepoNotExist(err) {
|
||||||
|
fail(accessDeniedMessage, "Repository does not exist: %s/%s", owner.Name, repoName)
|
||||||
|
}
|
||||||
|
fail("Internal error", "Failed to get repository: %v", err)
|
||||||
|
}
|
||||||
|
repo.Owner = owner
|
||||||
|
|
||||||
|
requestMode, ok := allowedCommands[verb]
|
||||||
|
if !ok {
|
||||||
|
fail("Unknown git command", "Unknown git command '%s'", verb)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Prohibit push to mirror repositories.
|
||||||
|
if requestMode > database.AccessModeRead && repo.IsMirror {
|
||||||
|
fail("Mirror repository is read-only", "")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Allow anonymous (user is nil) clone for public repositories.
|
||||||
|
var user *database.User
|
||||||
|
|
||||||
|
keyID, _ := strconv.ParseInt(strings.TrimPrefix(cmd.Args().Get(0), "key-"), 10, 64)
|
||||||
|
key, err := database.GetPublicKeyByID(keyID)
|
||||||
|
if err != nil {
|
||||||
|
fail("Invalid key ID", "Invalid key ID '%s': %v", cmd.Args().Get(0), err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if requestMode == database.AccessModeWrite || repo.IsPrivate {
|
||||||
|
// Check deploy key or user key.
|
||||||
|
if key.IsDeployKey() {
|
||||||
|
if key.Mode < requestMode {
|
||||||
|
fail("Key permission denied", "Cannot push with deployment key: %d", key.ID)
|
||||||
|
}
|
||||||
|
checkDeployKey(key, repo)
|
||||||
|
} else {
|
||||||
|
user, err = database.Handle.Users().GetByKeyID(ctx, key.ID)
|
||||||
|
if err != nil {
|
||||||
|
fail("Internal error", "Failed to get user by key ID '%d': %v", key.ID, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
mode := database.Handle.Permissions().AccessMode(ctx, user.ID, repo.ID,
|
||||||
|
database.AccessModeOptions{
|
||||||
|
OwnerID: repo.OwnerID,
|
||||||
|
Private: repo.IsPrivate,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
if mode < requestMode {
|
||||||
|
clientMessage := accessDeniedMessage
|
||||||
|
if mode >= database.AccessModeRead {
|
||||||
|
clientMessage = "You do not have sufficient authorization for this action"
|
||||||
|
}
|
||||||
|
fail(clientMessage,
|
||||||
|
"User '%s' does not have level '%v' access to repository '%s'",
|
||||||
|
user.Name, requestMode, repoFullName)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Check if the key can access to the repository in case of it is a deploy key (a deploy keys != user key).
|
||||||
|
// A deploy key doesn't represent a signed in user, so in a site with Auth.RequireSignInView enabled,
|
||||||
|
// we should give read access only in repositories where this deploy key is in use. In other cases,
|
||||||
|
// a server or system using an active deploy key can get read access to all repositories on a Gogs instance.
|
||||||
|
if key.IsDeployKey() && conf.Auth.RequireSigninView {
|
||||||
|
checkDeployKey(key, repo)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update user key activity.
|
||||||
|
if key.ID > 0 {
|
||||||
|
key, err := database.GetPublicKeyByID(key.ID)
|
||||||
|
if err != nil {
|
||||||
|
fail("Internal error", "GetPublicKeyByID: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
key.Updated = time.Now()
|
||||||
|
if err = database.UpdatePublicKey(key); err != nil {
|
||||||
|
fail("Internal error", "UpdatePublicKey: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Special handle for Windows.
|
||||||
|
if conf.IsWindowsRuntime() {
|
||||||
|
verb = strings.Replace(verb, "-", " ", 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
var gitCmd *exec.Cmd
|
||||||
|
verbs := strings.Split(verb, " ")
|
||||||
|
if len(verbs) == 2 {
|
||||||
|
gitCmd = exec.Command(verbs[0], verbs[1], repoFullName)
|
||||||
|
} else {
|
||||||
|
gitCmd = exec.Command(verb, repoFullName)
|
||||||
|
}
|
||||||
|
if requestMode == database.AccessModeWrite {
|
||||||
|
gitCmd.Env = append(os.Environ(), database.ComposeHookEnvs(database.ComposeHookEnvsOptions{
|
||||||
|
AuthUser: user,
|
||||||
|
OwnerName: owner.Name,
|
||||||
|
OwnerSalt: owner.Salt,
|
||||||
|
RepoID: repo.ID,
|
||||||
|
RepoName: repo.Name,
|
||||||
|
RepoPath: repo.RepoPath(),
|
||||||
|
})...)
|
||||||
|
}
|
||||||
|
gitCmd.Dir = conf.Repository.Root
|
||||||
|
gitCmd.Stdout = os.Stdout
|
||||||
|
gitCmd.Stdin = os.Stdin
|
||||||
|
gitCmd.Stderr = os.Stderr
|
||||||
|
if err = gitCmd.Run(); err != nil {
|
||||||
|
fail("Internal error", "Failed to execute git command: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
782
cmd/gogs/web.go
Normal file
782
cmd/gogs/web.go
Normal file
@@ -0,0 +1,782 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
stdctx "context"
|
||||||
|
"crypto/tls"
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"net"
|
||||||
|
"net/http"
|
||||||
|
"net/http/fcgi"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/go-macaron/binding"
|
||||||
|
"github.com/go-macaron/cache"
|
||||||
|
"github.com/go-macaron/captcha"
|
||||||
|
"github.com/go-macaron/csrf"
|
||||||
|
"github.com/go-macaron/gzip"
|
||||||
|
"github.com/go-macaron/i18n"
|
||||||
|
"github.com/go-macaron/session"
|
||||||
|
"github.com/go-macaron/toolbox"
|
||||||
|
"github.com/prometheus/client_golang/prometheus/promhttp"
|
||||||
|
"github.com/urfave/cli/v3"
|
||||||
|
"gopkg.in/macaron.v1"
|
||||||
|
log "unknwon.dev/clog/v2"
|
||||||
|
|
||||||
|
embedConf "gogs.io/gogs/conf"
|
||||||
|
"gogs.io/gogs/internal/app"
|
||||||
|
"gogs.io/gogs/internal/conf"
|
||||||
|
"gogs.io/gogs/internal/context"
|
||||||
|
"gogs.io/gogs/internal/database"
|
||||||
|
"gogs.io/gogs/internal/form"
|
||||||
|
"gogs.io/gogs/internal/osx"
|
||||||
|
"gogs.io/gogs/internal/route"
|
||||||
|
"gogs.io/gogs/internal/route/admin"
|
||||||
|
apiv1 "gogs.io/gogs/internal/route/api/v1"
|
||||||
|
"gogs.io/gogs/internal/route/dev"
|
||||||
|
"gogs.io/gogs/internal/route/lfs"
|
||||||
|
"gogs.io/gogs/internal/route/org"
|
||||||
|
"gogs.io/gogs/internal/route/repo"
|
||||||
|
"gogs.io/gogs/internal/route/user"
|
||||||
|
"gogs.io/gogs/internal/template"
|
||||||
|
"gogs.io/gogs/public"
|
||||||
|
"gogs.io/gogs/templates"
|
||||||
|
)
|
||||||
|
|
||||||
|
var webCommand = cli.Command{
|
||||||
|
Name: "web",
|
||||||
|
Usage: "Start web server",
|
||||||
|
Description: `Gogs web server is the only thing you need to run,
|
||||||
|
and it takes care of all the other things for you`,
|
||||||
|
Action: runWeb,
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
stringFlag("port, p", "3000", "Temporary port number to prevent conflict"),
|
||||||
|
stringFlag("config, c", filepath.Join(conf.CustomDir(), "conf", "app.ini"), "Custom configuration file path"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// newMacaron initializes Macaron instance.
|
||||||
|
func newMacaron() *macaron.Macaron {
|
||||||
|
m := macaron.New()
|
||||||
|
if !conf.Server.DisableRouterLog {
|
||||||
|
m.Use(macaron.Logger())
|
||||||
|
}
|
||||||
|
m.Use(macaron.Recovery())
|
||||||
|
if conf.Server.EnableGzip {
|
||||||
|
m.Use(gzip.Gziper())
|
||||||
|
}
|
||||||
|
if conf.Server.Protocol == "fcgi" {
|
||||||
|
m.SetURLPrefix(conf.Server.Subpath)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Register custom middleware first to make it possible to override files under "public".
|
||||||
|
m.Use(macaron.Static(
|
||||||
|
filepath.Join(conf.CustomDir(), "public"),
|
||||||
|
macaron.StaticOptions{
|
||||||
|
SkipLogging: conf.Server.DisableRouterLog,
|
||||||
|
},
|
||||||
|
))
|
||||||
|
var publicFs http.FileSystem
|
||||||
|
if !conf.Server.LoadAssetsFromDisk {
|
||||||
|
publicFs = http.FS(public.Files)
|
||||||
|
}
|
||||||
|
m.Use(macaron.Static(
|
||||||
|
filepath.Join(conf.WorkDir(), "public"),
|
||||||
|
macaron.StaticOptions{
|
||||||
|
ETag: true,
|
||||||
|
SkipLogging: conf.Server.DisableRouterLog,
|
||||||
|
FileSystem: publicFs,
|
||||||
|
},
|
||||||
|
))
|
||||||
|
|
||||||
|
m.Use(macaron.Static(
|
||||||
|
conf.Picture.AvatarUploadPath,
|
||||||
|
macaron.StaticOptions{
|
||||||
|
ETag: true,
|
||||||
|
Prefix: conf.UsersAvatarPathPrefix,
|
||||||
|
SkipLogging: conf.Server.DisableRouterLog,
|
||||||
|
},
|
||||||
|
))
|
||||||
|
m.Use(macaron.Static(
|
||||||
|
conf.Picture.RepositoryAvatarUploadPath,
|
||||||
|
macaron.StaticOptions{
|
||||||
|
ETag: true,
|
||||||
|
Prefix: database.RepoAvatarURLPrefix,
|
||||||
|
SkipLogging: conf.Server.DisableRouterLog,
|
||||||
|
},
|
||||||
|
))
|
||||||
|
|
||||||
|
customDir := filepath.Join(conf.CustomDir(), "templates")
|
||||||
|
renderOpt := macaron.RenderOptions{
|
||||||
|
Directory: filepath.Join(conf.WorkDir(), "templates"),
|
||||||
|
AppendDirectories: []string{customDir},
|
||||||
|
Funcs: template.FuncMap(),
|
||||||
|
IndentJSON: macaron.Env != macaron.PROD,
|
||||||
|
}
|
||||||
|
if !conf.Server.LoadAssetsFromDisk {
|
||||||
|
renderOpt.TemplateFileSystem = templates.NewTemplateFileSystem("", customDir)
|
||||||
|
}
|
||||||
|
m.Use(macaron.Renderer(renderOpt))
|
||||||
|
|
||||||
|
localeNames, err := embedConf.FileNames("locale")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to list locale files: %v", err)
|
||||||
|
}
|
||||||
|
localeFiles := make(map[string][]byte)
|
||||||
|
for _, name := range localeNames {
|
||||||
|
localeFiles[name], err = embedConf.Files.ReadFile("locale/" + name)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to read locale file %q: %v", name, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.Use(i18n.I18n(i18n.Options{
|
||||||
|
SubURL: conf.Server.Subpath,
|
||||||
|
Files: localeFiles,
|
||||||
|
CustomDirectory: filepath.Join(conf.CustomDir(), "conf", "locale"),
|
||||||
|
Langs: conf.I18n.Langs,
|
||||||
|
Names: conf.I18n.Names,
|
||||||
|
DefaultLang: "en-US",
|
||||||
|
Redirect: true,
|
||||||
|
}))
|
||||||
|
m.Use(cache.Cacher(cache.Options{
|
||||||
|
Adapter: conf.Cache.Adapter,
|
||||||
|
AdapterConfig: conf.Cache.Host,
|
||||||
|
Interval: conf.Cache.Interval,
|
||||||
|
}))
|
||||||
|
m.Use(captcha.Captchaer(captcha.Options{
|
||||||
|
SubURL: conf.Server.Subpath,
|
||||||
|
}))
|
||||||
|
m.Use(toolbox.Toolboxer(m, toolbox.Options{
|
||||||
|
HealthCheckFuncs: []*toolbox.HealthCheckFuncDesc{
|
||||||
|
{
|
||||||
|
Desc: "Database connection",
|
||||||
|
Func: database.Ping,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}))
|
||||||
|
return m
|
||||||
|
}
|
||||||
|
|
||||||
|
func runWeb(_ stdctx.Context, cmd *cli.Command) error {
|
||||||
|
err := route.GlobalInit(configFromLineage(cmd))
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to initialize application: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
m := newMacaron()
|
||||||
|
|
||||||
|
reqSignIn := context.Toggle(&context.ToggleOptions{SignInRequired: true})
|
||||||
|
ignSignIn := context.Toggle(&context.ToggleOptions{SignInRequired: conf.Auth.RequireSigninView})
|
||||||
|
reqSignOut := context.Toggle(&context.ToggleOptions{SignOutRequired: true})
|
||||||
|
|
||||||
|
bindIgnErr := binding.BindIgnErr
|
||||||
|
|
||||||
|
m.SetAutoHead(true)
|
||||||
|
|
||||||
|
m.Group("", func() {
|
||||||
|
m.Get("/", ignSignIn, route.Home)
|
||||||
|
m.Group("/explore", func() {
|
||||||
|
m.Get("", func(c *context.Context) {
|
||||||
|
c.Redirect(conf.Server.Subpath + "/explore/repos")
|
||||||
|
})
|
||||||
|
m.Get("/repos", route.ExploreRepos)
|
||||||
|
m.Get("/users", route.ExploreUsers)
|
||||||
|
m.Get("/organizations", route.ExploreOrganizations)
|
||||||
|
}, ignSignIn)
|
||||||
|
m.Combo("/install", route.InstallInit).Get(route.Install).
|
||||||
|
Post(bindIgnErr(form.Install{}), route.InstallPost)
|
||||||
|
m.Get("/^:type(issues|pulls)$", reqSignIn, user.Issues)
|
||||||
|
|
||||||
|
// ***** START: User *****
|
||||||
|
m.Group("/user", func() {
|
||||||
|
m.Group("/login", func() {
|
||||||
|
m.Combo("").Get(user.Login).
|
||||||
|
Post(bindIgnErr(form.SignIn{}), user.LoginPost)
|
||||||
|
m.Combo("/two_factor").Get(user.LoginTwoFactor).Post(user.LoginTwoFactorPost)
|
||||||
|
m.Combo("/two_factor_recovery_code").Get(user.LoginTwoFactorRecoveryCode).Post(user.LoginTwoFactorRecoveryCodePost)
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Get("/sign_up", user.SignUp)
|
||||||
|
m.Post("/sign_up", bindIgnErr(form.Register{}), user.SignUpPost)
|
||||||
|
m.Get("/reset_password", user.ResetPasswd)
|
||||||
|
m.Post("/reset_password", user.ResetPasswdPost)
|
||||||
|
}, reqSignOut)
|
||||||
|
|
||||||
|
m.Group("/user/settings", func() {
|
||||||
|
m.Get("", user.Settings)
|
||||||
|
m.Post("", bindIgnErr(form.UpdateProfile{}), user.SettingsPost)
|
||||||
|
m.Combo("/avatar").Get(user.SettingsAvatar).
|
||||||
|
Post(binding.MultipartForm(form.Avatar{}), user.SettingsAvatarPost)
|
||||||
|
m.Post("/avatar/delete", user.SettingsDeleteAvatar)
|
||||||
|
m.Combo("/email").Get(user.SettingsEmails).
|
||||||
|
Post(bindIgnErr(form.AddEmail{}), user.SettingsEmailPost)
|
||||||
|
m.Post("/email/delete", user.DeleteEmail)
|
||||||
|
m.Get("/password", user.SettingsPassword)
|
||||||
|
m.Post("/password", bindIgnErr(form.ChangePassword{}), user.SettingsPasswordPost)
|
||||||
|
m.Combo("/ssh").Get(user.SettingsSSHKeys).
|
||||||
|
Post(bindIgnErr(form.AddSSHKey{}), user.SettingsSSHKeysPost)
|
||||||
|
m.Post("/ssh/delete", user.DeleteSSHKey)
|
||||||
|
m.Group("/security", func() {
|
||||||
|
m.Get("", user.SettingsSecurity)
|
||||||
|
m.Combo("/two_factor_enable").Get(user.SettingsTwoFactorEnable).
|
||||||
|
Post(user.SettingsTwoFactorEnablePost)
|
||||||
|
m.Combo("/two_factor_recovery_codes").Get(user.SettingsTwoFactorRecoveryCodes).
|
||||||
|
Post(user.SettingsTwoFactorRecoveryCodesPost)
|
||||||
|
m.Post("/two_factor_disable", user.SettingsTwoFactorDisable)
|
||||||
|
})
|
||||||
|
m.Group("/repositories", func() {
|
||||||
|
m.Get("", user.SettingsRepos)
|
||||||
|
m.Post("/leave", user.SettingsLeaveRepo)
|
||||||
|
})
|
||||||
|
m.Group("/organizations", func() {
|
||||||
|
m.Get("", user.SettingsOrganizations)
|
||||||
|
m.Post("/leave", user.SettingsLeaveOrganization)
|
||||||
|
})
|
||||||
|
|
||||||
|
settingsHandler := user.NewSettingsHandler(user.NewSettingsStore())
|
||||||
|
m.Combo("/applications").Get(settingsHandler.Applications()).
|
||||||
|
Post(bindIgnErr(form.NewAccessToken{}), settingsHandler.ApplicationsPost())
|
||||||
|
m.Post("/applications/delete", settingsHandler.DeleteApplication())
|
||||||
|
m.Route("/delete", "GET,POST", user.SettingsDelete)
|
||||||
|
}, reqSignIn, func(c *context.Context) {
|
||||||
|
c.Data["PageIsUserSettings"] = true
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Group("/user", func() {
|
||||||
|
m.Any("/activate", user.Activate)
|
||||||
|
m.Any("/activate_email", user.ActivateEmail)
|
||||||
|
m.Get("/email2user", user.Email2User)
|
||||||
|
m.Get("/forget_password", user.ForgotPasswd)
|
||||||
|
m.Post("/forget_password", user.ForgotPasswdPost)
|
||||||
|
m.Post("/logout", user.SignOut)
|
||||||
|
})
|
||||||
|
// ***** END: User *****
|
||||||
|
|
||||||
|
reqAdmin := context.Toggle(&context.ToggleOptions{SignInRequired: true, AdminRequired: true})
|
||||||
|
|
||||||
|
// ***** START: Admin *****
|
||||||
|
m.Group("/admin", func() {
|
||||||
|
m.Combo("").Get(admin.Dashboard).Post(admin.Operation) // "/admin"
|
||||||
|
m.Get("/config", admin.Config)
|
||||||
|
m.Post("/config/test_mail", admin.SendTestMail)
|
||||||
|
m.Get("/monitor", admin.Monitor)
|
||||||
|
|
||||||
|
m.Group("/users", func() {
|
||||||
|
m.Get("", admin.Users)
|
||||||
|
m.Combo("/new").Get(admin.NewUser).Post(bindIgnErr(form.AdminCrateUser{}), admin.NewUserPost)
|
||||||
|
m.Combo("/:userid").Get(admin.EditUser).Post(bindIgnErr(form.AdminEditUser{}), admin.EditUserPost)
|
||||||
|
m.Post("/:userid/delete", admin.DeleteUser)
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Group("/orgs", func() {
|
||||||
|
m.Get("", admin.Organizations)
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Group("/repos", func() {
|
||||||
|
m.Get("", admin.Repos)
|
||||||
|
m.Post("/delete", admin.DeleteRepo)
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Group("/auths", func() {
|
||||||
|
m.Get("", admin.Authentications)
|
||||||
|
m.Combo("/new").Get(admin.NewAuthSource).Post(bindIgnErr(form.Authentication{}), admin.NewAuthSourcePost)
|
||||||
|
m.Combo("/:authid").Get(admin.EditAuthSource).
|
||||||
|
Post(bindIgnErr(form.Authentication{}), admin.EditAuthSourcePost)
|
||||||
|
m.Post("/:authid/delete", admin.DeleteAuthSource)
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Group("/notices", func() {
|
||||||
|
m.Get("", admin.Notices)
|
||||||
|
m.Post("/delete", admin.DeleteNotices)
|
||||||
|
m.Get("/empty", admin.EmptyNotices)
|
||||||
|
})
|
||||||
|
}, reqAdmin)
|
||||||
|
// ***** END: Admin *****
|
||||||
|
|
||||||
|
m.Group("", func() {
|
||||||
|
m.Group("/:username", func() {
|
||||||
|
m.Get("", user.Profile)
|
||||||
|
m.Get("/followers", user.Followers)
|
||||||
|
m.Get("/following", user.Following)
|
||||||
|
m.Get("/stars", user.Stars)
|
||||||
|
}, context.InjectParamsUser())
|
||||||
|
|
||||||
|
m.Get("/attachments/:uuid", func(c *context.Context) {
|
||||||
|
attach, err := database.GetAttachmentByUUID(c.Params(":uuid"))
|
||||||
|
if err != nil {
|
||||||
|
c.NotFoundOrError(err, "get attachment by UUID")
|
||||||
|
return
|
||||||
|
} else if !osx.IsFile(attach.LocalPath()) {
|
||||||
|
c.NotFound()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
fr, err := os.Open(attach.LocalPath())
|
||||||
|
if err != nil {
|
||||||
|
c.Error(err, "open attachment file")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer fr.Close()
|
||||||
|
|
||||||
|
c.Header().Set("Content-Security-Policy", "default-src 'none'; style-src 'unsafe-inline'; sandbox")
|
||||||
|
c.Header().Set("Cache-Control", "public,max-age=86400")
|
||||||
|
c.Header().Set("Content-Disposition", fmt.Sprintf(`inline; filename="%s"`, attach.Name))
|
||||||
|
|
||||||
|
if _, err = io.Copy(c.Resp, fr); err != nil {
|
||||||
|
c.Error(err, "copy from file to response")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}, ignSignIn)
|
||||||
|
|
||||||
|
m.Group("", func() {
|
||||||
|
m.Post("/issues/attachments", repo.UploadIssueAttachment)
|
||||||
|
m.Post("/releases/attachments", repo.UploadReleaseAttachment)
|
||||||
|
}, reqSignIn)
|
||||||
|
|
||||||
|
m.Group("/:username", func() {
|
||||||
|
m.Post("/action/:action", user.Action)
|
||||||
|
}, reqSignIn, context.InjectParamsUser())
|
||||||
|
|
||||||
|
if macaron.Env == macaron.DEV {
|
||||||
|
m.Get("/template/*", dev.TemplatePreview)
|
||||||
|
}
|
||||||
|
|
||||||
|
reqRepoAdmin := context.RequireRepoAdmin()
|
||||||
|
reqRepoWriter := context.RequireRepoWriter()
|
||||||
|
|
||||||
|
webhookRoutes := func() {
|
||||||
|
m.Group("", func() {
|
||||||
|
m.Get("", repo.Webhooks)
|
||||||
|
m.Post("/delete", repo.DeleteWebhook)
|
||||||
|
m.Get("/:type/new", repo.WebhooksNew)
|
||||||
|
m.Post("/gogs/new", bindIgnErr(form.NewWebhook{}), repo.WebhooksNewPost)
|
||||||
|
m.Post("/slack/new", bindIgnErr(form.NewSlackHook{}), repo.WebhooksSlackNewPost)
|
||||||
|
m.Post("/discord/new", bindIgnErr(form.NewDiscordHook{}), repo.WebhooksDiscordNewPost)
|
||||||
|
m.Post("/dingtalk/new", bindIgnErr(form.NewDingtalkHook{}), repo.WebhooksDingtalkNewPost)
|
||||||
|
m.Get("/:id", repo.WebhooksEdit)
|
||||||
|
m.Post("/gogs/:id", bindIgnErr(form.NewWebhook{}), repo.WebhooksEditPost)
|
||||||
|
m.Post("/slack/:id", bindIgnErr(form.NewSlackHook{}), repo.WebhooksSlackEditPost)
|
||||||
|
m.Post("/discord/:id", bindIgnErr(form.NewDiscordHook{}), repo.WebhooksDiscordEditPost)
|
||||||
|
m.Post("/dingtalk/:id", bindIgnErr(form.NewDingtalkHook{}), repo.WebhooksDingtalkEditPost)
|
||||||
|
}, repo.InjectOrgRepoContext())
|
||||||
|
}
|
||||||
|
|
||||||
|
// ***** START: Organization *****
|
||||||
|
m.Group("/org", func() {
|
||||||
|
m.Group("", func() {
|
||||||
|
m.Get("/create", org.Create)
|
||||||
|
m.Post("/create", bindIgnErr(form.CreateOrg{}), org.CreatePost)
|
||||||
|
}, func(c *context.Context) {
|
||||||
|
if !c.User.CanCreateOrganization() {
|
||||||
|
c.NotFound()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Group("/:org", func() {
|
||||||
|
m.Get("/dashboard", user.Dashboard)
|
||||||
|
m.Get("/^:type(issues|pulls)$", user.Issues)
|
||||||
|
m.Get("/members", org.Members)
|
||||||
|
m.Get("/members/action/:action", org.MembersAction)
|
||||||
|
|
||||||
|
m.Get("/teams", org.Teams)
|
||||||
|
}, context.OrgAssignment(true))
|
||||||
|
|
||||||
|
m.Group("/:org", func() {
|
||||||
|
m.Get("/teams/:team", org.TeamMembers)
|
||||||
|
m.Get("/teams/:team/repositories", org.TeamRepositories)
|
||||||
|
m.Route("/teams/:team/action/:action", "GET,POST", org.TeamsAction)
|
||||||
|
m.Route("/teams/:team/action/repo/:action", "GET,POST", org.TeamsRepoAction)
|
||||||
|
}, context.OrgAssignment(true, false, true))
|
||||||
|
|
||||||
|
m.Group("/:org", func() {
|
||||||
|
m.Get("/teams/new", org.NewTeam)
|
||||||
|
m.Post("/teams/new", bindIgnErr(form.CreateTeam{}), org.NewTeamPost)
|
||||||
|
m.Get("/teams/:team/edit", org.EditTeam)
|
||||||
|
m.Post("/teams/:team/edit", bindIgnErr(form.CreateTeam{}), org.EditTeamPost)
|
||||||
|
m.Post("/teams/:team/delete", org.DeleteTeam)
|
||||||
|
|
||||||
|
m.Group("/settings", func() {
|
||||||
|
m.Combo("").Get(org.Settings).
|
||||||
|
Post(bindIgnErr(form.UpdateOrgSetting{}), org.SettingsPost)
|
||||||
|
m.Post("/avatar", binding.MultipartForm(form.Avatar{}), org.SettingsAvatar)
|
||||||
|
m.Post("/avatar/delete", org.SettingsDeleteAvatar)
|
||||||
|
m.Group("/hooks", webhookRoutes)
|
||||||
|
m.Route("/delete", "GET,POST", org.SettingsDelete)
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Route("/invitations/new", "GET,POST", org.Invitation)
|
||||||
|
}, context.OrgAssignment(true, true))
|
||||||
|
}, reqSignIn)
|
||||||
|
// ***** END: Organization *****
|
||||||
|
|
||||||
|
// ***** START: Repository *****
|
||||||
|
m.Group("/repo", func() {
|
||||||
|
m.Get("/create", repo.Create)
|
||||||
|
m.Post("/create", bindIgnErr(form.CreateRepo{}), repo.CreatePost)
|
||||||
|
m.Get("/migrate", repo.Migrate)
|
||||||
|
m.Post("/migrate", bindIgnErr(form.MigrateRepo{}), repo.MigratePost)
|
||||||
|
m.Combo("/fork/:repoid").Get(repo.Fork).
|
||||||
|
Post(bindIgnErr(form.CreateRepo{}), repo.ForkPost)
|
||||||
|
}, reqSignIn)
|
||||||
|
|
||||||
|
m.Group("/:username/:reponame", func() {
|
||||||
|
m.Group("/settings", func() {
|
||||||
|
m.Combo("").Get(repo.Settings).
|
||||||
|
Post(bindIgnErr(form.RepoSetting{}), repo.SettingsPost)
|
||||||
|
m.Combo("/avatar").Get(repo.SettingsAvatar).
|
||||||
|
Post(binding.MultipartForm(form.Avatar{}), repo.SettingsAvatarPost)
|
||||||
|
m.Post("/avatar/delete", repo.SettingsDeleteAvatar)
|
||||||
|
m.Group("/collaboration", func() {
|
||||||
|
m.Combo("").Get(repo.SettingsCollaboration).Post(repo.SettingsCollaborationPost)
|
||||||
|
m.Post("/access_mode", repo.ChangeCollaborationAccessMode)
|
||||||
|
m.Post("/delete", repo.DeleteCollaboration)
|
||||||
|
})
|
||||||
|
m.Group("/branches", func() {
|
||||||
|
m.Get("", repo.SettingsBranches)
|
||||||
|
m.Post("/default_branch", repo.UpdateDefaultBranch)
|
||||||
|
m.Combo("/*").Get(repo.SettingsProtectedBranch).
|
||||||
|
Post(bindIgnErr(form.ProtectBranch{}), repo.SettingsProtectedBranchPost)
|
||||||
|
}, func(c *context.Context) {
|
||||||
|
if c.Repo.Repository.IsMirror {
|
||||||
|
c.NotFound()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Group("/hooks", func() {
|
||||||
|
webhookRoutes()
|
||||||
|
|
||||||
|
m.Group("/:id", func() {
|
||||||
|
m.Post("/test", repo.TestWebhook)
|
||||||
|
m.Post("/redelivery", repo.RedeliveryWebhook)
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Group("/git", func() {
|
||||||
|
m.Get("", repo.SettingsGitHooks)
|
||||||
|
m.Combo("/:name").Get(repo.SettingsGitHooksEdit).
|
||||||
|
Post(repo.SettingsGitHooksEditPost)
|
||||||
|
}, context.GitHookService())
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Group("/keys", func() {
|
||||||
|
m.Combo("").Get(repo.SettingsDeployKeys).
|
||||||
|
Post(bindIgnErr(form.AddSSHKey{}), repo.SettingsDeployKeysPost)
|
||||||
|
m.Post("/delete", repo.DeleteDeployKey)
|
||||||
|
})
|
||||||
|
}, func(c *context.Context) {
|
||||||
|
c.Data["PageIsSettings"] = true
|
||||||
|
})
|
||||||
|
}, reqSignIn, context.RepoAssignment(), reqRepoAdmin, context.RepoRef())
|
||||||
|
|
||||||
|
m.Post("/:username/:reponame/action/:action", reqSignIn, context.RepoAssignment(), repo.Action)
|
||||||
|
m.Group("/:username/:reponame", func() {
|
||||||
|
m.Get("/issues", repo.RetrieveLabels, repo.Issues)
|
||||||
|
m.Get("/issues/:index", repo.ViewIssue)
|
||||||
|
m.Get("/labels/", repo.RetrieveLabels, repo.Labels)
|
||||||
|
m.Get("/milestones", repo.Milestones)
|
||||||
|
}, ignSignIn, context.RepoAssignment(true))
|
||||||
|
m.Group("/:username/:reponame", func() {
|
||||||
|
// FIXME: should use different URLs but mostly same logic for comments of issue and pull request.
|
||||||
|
// So they can apply their own enable/disable logic on routers.
|
||||||
|
m.Group("/issues", func() {
|
||||||
|
m.Combo("/new", repo.MustEnableIssues).Get(context.RepoRef(), repo.NewIssue).
|
||||||
|
Post(bindIgnErr(form.NewIssue{}), repo.NewIssuePost)
|
||||||
|
|
||||||
|
m.Group("/:index", func() {
|
||||||
|
m.Post("/title", repo.UpdateIssueTitle)
|
||||||
|
m.Post("/content", repo.UpdateIssueContent)
|
||||||
|
m.Combo("/comments").Post(bindIgnErr(form.CreateComment{}), repo.NewComment)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
m.Group("/comments/:id", func() {
|
||||||
|
m.Post("", repo.UpdateCommentContent)
|
||||||
|
m.Post("/delete", repo.DeleteComment)
|
||||||
|
})
|
||||||
|
}, reqSignIn, context.RepoAssignment(true))
|
||||||
|
m.Group("/:username/:reponame", func() {
|
||||||
|
m.Group("/wiki", func() {
|
||||||
|
m.Get("/?:page", repo.Wiki)
|
||||||
|
m.Get("/_pages", repo.WikiPages)
|
||||||
|
}, repo.MustEnableWiki, context.RepoRef())
|
||||||
|
}, ignSignIn, context.RepoAssignment(false, true))
|
||||||
|
|
||||||
|
m.Group("/:username/:reponame", func() {
|
||||||
|
// FIXME: should use different URLs but mostly same logic for comments of issue and pull request.
|
||||||
|
// So they can apply their own enable/disable logic on routers.
|
||||||
|
m.Group("/issues", func() {
|
||||||
|
m.Group("/:index", func() {
|
||||||
|
m.Post("/label", repo.UpdateIssueLabel)
|
||||||
|
m.Post("/milestone", repo.UpdateIssueMilestone)
|
||||||
|
m.Post("/assignee", repo.UpdateIssueAssignee)
|
||||||
|
}, reqRepoWriter)
|
||||||
|
})
|
||||||
|
m.Group("/labels", func() {
|
||||||
|
m.Post("/new", bindIgnErr(form.CreateLabel{}), repo.NewLabel)
|
||||||
|
m.Post("/edit", bindIgnErr(form.CreateLabel{}), repo.UpdateLabel)
|
||||||
|
m.Post("/delete", repo.DeleteLabel)
|
||||||
|
m.Post("/initialize", bindIgnErr(form.InitializeLabels{}), repo.InitializeLabels)
|
||||||
|
}, reqRepoWriter, context.RepoRef())
|
||||||
|
m.Group("/milestones", func() {
|
||||||
|
m.Combo("/new").Get(repo.NewMilestone).
|
||||||
|
Post(bindIgnErr(form.CreateMilestone{}), repo.NewMilestonePost)
|
||||||
|
m.Get("/:id/edit", repo.EditMilestone)
|
||||||
|
m.Post("/:id/edit", bindIgnErr(form.CreateMilestone{}), repo.EditMilestonePost)
|
||||||
|
m.Get("/:id/:action", repo.ChangeMilestonStatus)
|
||||||
|
m.Post("/delete", repo.DeleteMilestone)
|
||||||
|
}, reqRepoWriter, context.RepoRef())
|
||||||
|
|
||||||
|
m.Group("/releases", func() {
|
||||||
|
m.Get("/new", repo.NewRelease)
|
||||||
|
m.Post("/new", bindIgnErr(form.NewRelease{}), repo.NewReleasePost)
|
||||||
|
m.Post("/delete", repo.DeleteRelease)
|
||||||
|
m.Get("/edit/*", repo.EditRelease)
|
||||||
|
m.Post("/edit/*", bindIgnErr(form.EditRelease{}), repo.EditReleasePost)
|
||||||
|
}, repo.MustBeNotBare, reqRepoWriter, func(c *context.Context) {
|
||||||
|
c.Data["PageIsViewFiles"] = true
|
||||||
|
})
|
||||||
|
|
||||||
|
// FIXME: Should use c.Repo.PullRequest to unify template, currently we have inconsistent URL
|
||||||
|
// for PR in same repository. After select branch on the page, the URL contains redundant head user name.
|
||||||
|
// e.g. /org1/test-repo/compare/master...org1:develop
|
||||||
|
// which should be /org1/test-repo/compare/master...develop
|
||||||
|
m.Combo("/compare/*", repo.MustAllowPulls).Get(repo.CompareAndPullRequest).
|
||||||
|
Post(bindIgnErr(form.NewIssue{}), repo.CompareAndPullRequestPost)
|
||||||
|
|
||||||
|
m.Group("", func() {
|
||||||
|
m.Combo("/_edit/*").Get(repo.EditFile).
|
||||||
|
Post(bindIgnErr(form.EditRepoFile{}), repo.EditFilePost)
|
||||||
|
m.Combo("/_new/*").Get(repo.NewFile).
|
||||||
|
Post(bindIgnErr(form.EditRepoFile{}), repo.NewFilePost)
|
||||||
|
m.Post("/_preview/*", bindIgnErr(form.EditPreviewDiff{}), repo.DiffPreviewPost)
|
||||||
|
m.Combo("/_delete/*").Get(repo.DeleteFile).
|
||||||
|
Post(bindIgnErr(form.DeleteRepoFile{}), repo.DeleteFilePost)
|
||||||
|
|
||||||
|
m.Group("", func() {
|
||||||
|
m.Combo("/_upload/*").Get(repo.UploadFile).
|
||||||
|
Post(bindIgnErr(form.UploadRepoFile{}), repo.UploadFilePost)
|
||||||
|
m.Post("/upload-file", repo.UploadFileToServer)
|
||||||
|
m.Post("/upload-remove", bindIgnErr(form.RemoveUploadFile{}), repo.RemoveUploadFileFromServer)
|
||||||
|
}, func(c *context.Context) {
|
||||||
|
if !conf.Repository.Upload.Enabled {
|
||||||
|
c.NotFound()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}, repo.MustBeNotBare, reqRepoWriter, context.RepoRef(), func(c *context.Context) {
|
||||||
|
if !c.Repo.CanEnableEditor() {
|
||||||
|
c.NotFound()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
c.Data["PageIsViewFiles"] = true
|
||||||
|
})
|
||||||
|
}, reqSignIn, context.RepoAssignment())
|
||||||
|
|
||||||
|
m.Group("/:username/:reponame", func() {
|
||||||
|
m.Group("", func() {
|
||||||
|
m.Get("/releases", repo.MustBeNotBare, repo.Releases)
|
||||||
|
m.Get("/pulls", repo.RetrieveLabels, repo.Pulls)
|
||||||
|
m.Get("/pulls/:index", repo.ViewPull)
|
||||||
|
}, context.RepoRef())
|
||||||
|
|
||||||
|
m.Group("/branches", func() {
|
||||||
|
m.Get("", repo.Branches)
|
||||||
|
m.Get("/all", repo.AllBranches)
|
||||||
|
m.Post("/delete/*", reqSignIn, reqRepoWriter, repo.DeleteBranchPost)
|
||||||
|
}, repo.MustBeNotBare, func(c *context.Context) {
|
||||||
|
c.Data["PageIsViewFiles"] = true
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Group("/wiki", func() {
|
||||||
|
m.Group("", func() {
|
||||||
|
m.Combo("/_new").Get(repo.NewWiki).
|
||||||
|
Post(bindIgnErr(form.NewWiki{}), repo.NewWikiPost)
|
||||||
|
m.Combo("/:page/_edit").Get(repo.EditWiki).
|
||||||
|
Post(bindIgnErr(form.NewWiki{}), repo.EditWikiPost)
|
||||||
|
m.Post("/:page/delete", repo.DeleteWikiPagePost)
|
||||||
|
}, reqSignIn, reqRepoWriter)
|
||||||
|
}, repo.MustEnableWiki, context.RepoRef())
|
||||||
|
|
||||||
|
m.Get("/archive/*", repo.MustBeNotBare, repo.Download)
|
||||||
|
|
||||||
|
m.Group("/pulls/:index", func() {
|
||||||
|
m.Get("/commits", context.RepoRef(), repo.ViewPullCommits)
|
||||||
|
m.Get("/files", context.RepoRef(), repo.ViewPullFiles)
|
||||||
|
m.Post("/merge", reqRepoWriter, repo.MergePullRequest)
|
||||||
|
}, repo.MustAllowPulls)
|
||||||
|
|
||||||
|
m.Group("", func() {
|
||||||
|
m.Get("/src/*", repo.Home)
|
||||||
|
m.Get("/raw/*", repo.SingleDownload)
|
||||||
|
m.Get("/commits/*", repo.RefCommits)
|
||||||
|
m.Get("/commit/:sha([a-f0-9]{7,40})$", repo.Diff)
|
||||||
|
m.Get("/forks", repo.Forks)
|
||||||
|
}, repo.MustBeNotBare, context.RepoRef())
|
||||||
|
m.Get("/commit/:sha([a-f0-9]{7,40})\\.:ext(patch|diff)", repo.MustBeNotBare, repo.RawDiff)
|
||||||
|
|
||||||
|
m.Get("/compare/:before([a-z0-9]{40})\\.\\.\\.:after([a-z0-9]{40})", repo.MustBeNotBare, context.RepoRef(), repo.CompareDiff)
|
||||||
|
}, ignSignIn, context.RepoAssignment())
|
||||||
|
m.Group("/:username/:reponame", func() {
|
||||||
|
m.Get("", repo.Home)
|
||||||
|
m.Get("/stars", repo.Stars)
|
||||||
|
m.Get("/watchers", repo.Watchers)
|
||||||
|
}, context.ServeGoGet(), ignSignIn, context.RepoAssignment(), context.RepoRef())
|
||||||
|
// ***** END: Repository *****
|
||||||
|
|
||||||
|
// **********************
|
||||||
|
// ----- API routes -----
|
||||||
|
// **********************
|
||||||
|
|
||||||
|
// TODO: Without session and CSRF
|
||||||
|
m.Group("/api", func() {
|
||||||
|
apiv1.RegisterRoutes(m)
|
||||||
|
}, ignSignIn)
|
||||||
|
},
|
||||||
|
session.Sessioner(session.Options{
|
||||||
|
Provider: conf.Session.Provider,
|
||||||
|
ProviderConfig: conf.Session.ProviderConfig,
|
||||||
|
CookieName: conf.Session.CookieName,
|
||||||
|
CookiePath: conf.Server.Subpath,
|
||||||
|
Gclifetime: conf.Session.GCInterval,
|
||||||
|
Maxlifetime: conf.Session.MaxLifeTime,
|
||||||
|
Secure: conf.Session.CookieSecure,
|
||||||
|
}),
|
||||||
|
csrf.Csrfer(csrf.Options{
|
||||||
|
Secret: conf.Security.SecretKey,
|
||||||
|
Header: "X-CSRF-Token",
|
||||||
|
Cookie: conf.Session.CSRFCookieName,
|
||||||
|
CookieDomain: conf.Server.URL.Hostname(),
|
||||||
|
CookiePath: conf.Server.Subpath,
|
||||||
|
CookieHttpOnly: true,
|
||||||
|
SetCookie: true,
|
||||||
|
Secure: conf.Server.URL.Scheme == "https",
|
||||||
|
}),
|
||||||
|
context.Contexter(context.NewStore()),
|
||||||
|
)
|
||||||
|
|
||||||
|
// ***************************
|
||||||
|
// ----- HTTP Git routes -----
|
||||||
|
// ***************************
|
||||||
|
|
||||||
|
m.Group("/:username/:reponame", func() {
|
||||||
|
m.Get("/tasks/trigger", repo.TriggerTask)
|
||||||
|
|
||||||
|
m.Group("/info/lfs", func() {
|
||||||
|
lfs.RegisterRoutes(m.Router)
|
||||||
|
})
|
||||||
|
|
||||||
|
m.Route("/*", "GET,POST,OPTIONS", context.ServeGoGet(), repo.HTTPContexter(repo.NewStore()), repo.HTTP)
|
||||||
|
})
|
||||||
|
|
||||||
|
// ***************************
|
||||||
|
// ----- Internal routes -----
|
||||||
|
// ***************************
|
||||||
|
|
||||||
|
m.Group("/-", func() {
|
||||||
|
m.Get("/metrics", app.MetricsFilter(), promhttp.Handler()) // "/-/metrics"
|
||||||
|
|
||||||
|
m.Group("/api", func() {
|
||||||
|
m.Post("/sanitize_ipynb", app.SanitizeIpynb()) // "/-/api/sanitize_ipynb"
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
// **********************
|
||||||
|
// ----- robots.txt -----
|
||||||
|
// **********************
|
||||||
|
|
||||||
|
m.Get("/robots.txt", func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
if conf.HasRobotsTxt {
|
||||||
|
http.ServeFile(w, r, filepath.Join(conf.CustomDir(), "robots.txt"))
|
||||||
|
} else {
|
||||||
|
w.WriteHeader(http.StatusNotFound)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
m.NotFound(route.NotFound)
|
||||||
|
|
||||||
|
// Flag for port number in case first time run conflict.
|
||||||
|
if cmd.IsSet("port") {
|
||||||
|
conf.Server.URL.Host = strings.Replace(conf.Server.URL.Host, ":"+conf.Server.URL.Port(), ":"+cmd.String("port"), 1)
|
||||||
|
conf.Server.ExternalURL = conf.Server.URL.String()
|
||||||
|
conf.Server.HTTPPort = cmd.String("port")
|
||||||
|
}
|
||||||
|
|
||||||
|
var listenAddr string
|
||||||
|
if conf.Server.Protocol == "unix" {
|
||||||
|
listenAddr = conf.Server.HTTPAddr
|
||||||
|
} else {
|
||||||
|
listenAddr = fmt.Sprintf("%s:%s", conf.Server.HTTPAddr, conf.Server.HTTPPort)
|
||||||
|
}
|
||||||
|
log.Info("Available on %s", conf.Server.ExternalURL)
|
||||||
|
|
||||||
|
switch conf.Server.Protocol {
|
||||||
|
case "http":
|
||||||
|
err = http.ListenAndServe(listenAddr, m)
|
||||||
|
|
||||||
|
case "https":
|
||||||
|
tlsMinVersion := tls.VersionTLS12
|
||||||
|
switch conf.Server.TLSMinVersion {
|
||||||
|
case "TLS13":
|
||||||
|
tlsMinVersion = tls.VersionTLS13
|
||||||
|
case "TLS12":
|
||||||
|
tlsMinVersion = tls.VersionTLS12
|
||||||
|
case "TLS11":
|
||||||
|
tlsMinVersion = tls.VersionTLS11
|
||||||
|
case "TLS10":
|
||||||
|
tlsMinVersion = tls.VersionTLS10
|
||||||
|
}
|
||||||
|
server := &http.Server{
|
||||||
|
Addr: listenAddr,
|
||||||
|
TLSConfig: &tls.Config{
|
||||||
|
MinVersion: uint16(tlsMinVersion),
|
||||||
|
CurvePreferences: []tls.CurveID{tls.X25519, tls.CurveP256, tls.CurveP384, tls.CurveP521},
|
||||||
|
PreferServerCipherSuites: true,
|
||||||
|
CipherSuites: []uint16{
|
||||||
|
tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
|
||||||
|
tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
|
||||||
|
tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
|
||||||
|
tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
|
||||||
|
tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
|
||||||
|
tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
|
||||||
|
},
|
||||||
|
}, Handler: m,
|
||||||
|
}
|
||||||
|
err = server.ListenAndServeTLS(conf.Server.CertFile, conf.Server.KeyFile)
|
||||||
|
|
||||||
|
case "fcgi":
|
||||||
|
err = fcgi.Serve(nil, m)
|
||||||
|
|
||||||
|
case "unix":
|
||||||
|
if osx.Exist(listenAddr) {
|
||||||
|
err = os.Remove(listenAddr)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to remove existing Unix domain socket: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var listener *net.UnixListener
|
||||||
|
listener, err = net.ListenUnix("unix", &net.UnixAddr{Name: listenAddr, Net: "unix"})
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to listen on Unix networks: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FIXME: add proper implementation of signal capture on all protocols
|
||||||
|
// execute this on SIGTERM or SIGINT: listener.Close()
|
||||||
|
if err = os.Chmod(listenAddr, conf.Server.UnixSocketMode); err != nil {
|
||||||
|
log.Fatal("Failed to change permission of Unix domain socket: %v", err)
|
||||||
|
}
|
||||||
|
err = http.Serve(listener, m)
|
||||||
|
|
||||||
|
default:
|
||||||
|
log.Fatal("Unexpected server protocol: %s", conf.Server.Protocol)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to start server: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
278
cmd/hook.go
278
cmd/hook.go
@@ -1,278 +0,0 @@
|
|||||||
// Copyright 2014 The Gogs Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"bytes"
|
|
||||||
"crypto/tls"
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"os/exec"
|
|
||||||
"path"
|
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/Unknwon/com"
|
|
||||||
"github.com/urfave/cli"
|
|
||||||
log "gopkg.in/clog.v1"
|
|
||||||
|
|
||||||
"github.com/gogits/git-module"
|
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
|
||||||
"github.com/gogits/gogs/models/errors"
|
|
||||||
"github.com/gogits/gogs/pkg/httplib"
|
|
||||||
"github.com/gogits/gogs/pkg/mailer"
|
|
||||||
"github.com/gogits/gogs/pkg/setting"
|
|
||||||
"github.com/gogits/gogs/pkg/template"
|
|
||||||
http "github.com/gogits/gogs/routes/repo"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
Hook = cli.Command{
|
|
||||||
Name: "hook",
|
|
||||||
Usage: "Delegate commands to corresponding Git hooks",
|
|
||||||
Description: "All sub-commands should only be called by Git",
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
Subcommands: []cli.Command{
|
|
||||||
subcmdHookPreReceive,
|
|
||||||
subcmdHookUpadte,
|
|
||||||
subcmdHookPostReceive,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
subcmdHookPreReceive = cli.Command{
|
|
||||||
Name: "pre-receive",
|
|
||||||
Usage: "Delegate pre-receive Git hook",
|
|
||||||
Description: "This command should only be called by Git",
|
|
||||||
Action: runHookPreReceive,
|
|
||||||
}
|
|
||||||
subcmdHookUpadte = cli.Command{
|
|
||||||
Name: "update",
|
|
||||||
Usage: "Delegate update Git hook",
|
|
||||||
Description: "This command should only be called by Git",
|
|
||||||
Action: runHookUpdate,
|
|
||||||
}
|
|
||||||
subcmdHookPostReceive = cli.Command{
|
|
||||||
Name: "post-receive",
|
|
||||||
Usage: "Delegate post-receive Git hook",
|
|
||||||
Description: "This command should only be called by Git",
|
|
||||||
Action: runHookPostReceive,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func runHookPreReceive(c *cli.Context) error {
|
|
||||||
if len(os.Getenv("SSH_ORIGINAL_COMMAND")) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
setup(c, "hooks/pre-receive.log", true)
|
|
||||||
|
|
||||||
isWiki := strings.Contains(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/")
|
|
||||||
|
|
||||||
buf := bytes.NewBuffer(nil)
|
|
||||||
scanner := bufio.NewScanner(os.Stdin)
|
|
||||||
for scanner.Scan() {
|
|
||||||
buf.Write(scanner.Bytes())
|
|
||||||
buf.WriteByte('\n')
|
|
||||||
|
|
||||||
if isWiki {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
fields := bytes.Fields(scanner.Bytes())
|
|
||||||
if len(fields) != 3 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
oldCommitID := string(fields[0])
|
|
||||||
newCommitID := string(fields[1])
|
|
||||||
branchName := strings.TrimPrefix(string(fields[2]), git.BRANCH_PREFIX)
|
|
||||||
|
|
||||||
// Branch protection
|
|
||||||
repoID := com.StrTo(os.Getenv(http.ENV_REPO_ID)).MustInt64()
|
|
||||||
protectBranch, err := models.GetProtectBranchOfRepoByName(repoID, branchName)
|
|
||||||
if err != nil {
|
|
||||||
if errors.IsErrBranchNotExist(err) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
fail("Internal error", "GetProtectBranchOfRepoByName [repo_id: %d, branch: %s]: %v", repoID, branchName, err)
|
|
||||||
}
|
|
||||||
if !protectBranch.Protected {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
// Whitelist users can bypass require pull request check
|
|
||||||
bypassRequirePullRequest := false
|
|
||||||
|
|
||||||
// Check if user is in whitelist when enabled
|
|
||||||
userID := com.StrTo(os.Getenv(http.ENV_AUTH_USER_ID)).MustInt64()
|
|
||||||
if protectBranch.EnableWhitelist {
|
|
||||||
if !models.IsUserInProtectBranchWhitelist(repoID, userID, branchName) {
|
|
||||||
fail(fmt.Sprintf("Branch '%s' is protected and you are not in the push whitelist", branchName), "")
|
|
||||||
}
|
|
||||||
|
|
||||||
bypassRequirePullRequest = true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check if branch allows direct push
|
|
||||||
if !bypassRequirePullRequest && protectBranch.RequirePullRequest {
|
|
||||||
fail(fmt.Sprintf("Branch '%s' is protected and commits must be merged through pull request", branchName), "")
|
|
||||||
}
|
|
||||||
|
|
||||||
// check and deletion
|
|
||||||
if newCommitID == git.EMPTY_SHA {
|
|
||||||
fail(fmt.Sprintf("Branch '%s' is protected from deletion", branchName), "")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check force push
|
|
||||||
output, err := git.NewCommand("rev-list", "--max-count=1", oldCommitID, "^"+newCommitID).
|
|
||||||
RunInDir(models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME)))
|
|
||||||
if err != nil {
|
|
||||||
fail("Internal error", "Fail to detect force push: %v", err)
|
|
||||||
} else if len(output) > 0 {
|
|
||||||
fail(fmt.Sprintf("Branch '%s' is protected from force push", branchName), "")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
customHooksPath := filepath.Join(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), "pre-receive")
|
|
||||||
if !com.IsFile(customHooksPath) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var hookCmd *exec.Cmd
|
|
||||||
if setting.IsWindows {
|
|
||||||
hookCmd = exec.Command("bash.exe", "custom_hooks/pre-receive")
|
|
||||||
} else {
|
|
||||||
hookCmd = exec.Command(customHooksPath)
|
|
||||||
}
|
|
||||||
hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
|
|
||||||
hookCmd.Stdout = os.Stdout
|
|
||||||
hookCmd.Stdin = buf
|
|
||||||
hookCmd.Stderr = os.Stderr
|
|
||||||
if err := hookCmd.Run(); err != nil {
|
|
||||||
fail("Internal error", "Fail to execute custom pre-receive hook: %v", err)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func runHookUpdate(c *cli.Context) error {
|
|
||||||
if len(os.Getenv("SSH_ORIGINAL_COMMAND")) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
setup(c, "hooks/update.log", false)
|
|
||||||
|
|
||||||
args := c.Args()
|
|
||||||
if len(args) != 3 {
|
|
||||||
fail("Arguments received are not equal to three", "Arguments received are not equal to three")
|
|
||||||
} else if len(args[0]) == 0 {
|
|
||||||
fail("First argument 'refName' is empty", "First argument 'refName' is empty")
|
|
||||||
}
|
|
||||||
|
|
||||||
customHooksPath := filepath.Join(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), "update")
|
|
||||||
if !com.IsFile(customHooksPath) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var hookCmd *exec.Cmd
|
|
||||||
if setting.IsWindows {
|
|
||||||
hookCmd = exec.Command("bash.exe", append([]string{"custom_hooks/update"}, args...)...)
|
|
||||||
} else {
|
|
||||||
hookCmd = exec.Command(customHooksPath, args...)
|
|
||||||
}
|
|
||||||
hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
|
|
||||||
hookCmd.Stdout = os.Stdout
|
|
||||||
hookCmd.Stdin = os.Stdin
|
|
||||||
hookCmd.Stderr = os.Stderr
|
|
||||||
if err := hookCmd.Run(); err != nil {
|
|
||||||
fail("Internal error", "Fail to execute custom pre-receive hook: %v", err)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func runHookPostReceive(c *cli.Context) error {
|
|
||||||
if len(os.Getenv("SSH_ORIGINAL_COMMAND")) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
setup(c, "hooks/post-receive.log", true)
|
|
||||||
|
|
||||||
// Post-receive hook does more than just gather Git information,
|
|
||||||
// so we need to setup additional services for email notifications.
|
|
||||||
setting.NewPostReceiveHookServices()
|
|
||||||
mailer.NewContext()
|
|
||||||
mailer.InitMailRender(path.Join(setting.StaticRootPath, "templates/mail"),
|
|
||||||
path.Join(setting.CustomPath, "templates/mail"), template.NewFuncMap())
|
|
||||||
|
|
||||||
isWiki := strings.Contains(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/")
|
|
||||||
|
|
||||||
buf := bytes.NewBuffer(nil)
|
|
||||||
scanner := bufio.NewScanner(os.Stdin)
|
|
||||||
for scanner.Scan() {
|
|
||||||
buf.Write(scanner.Bytes())
|
|
||||||
buf.WriteByte('\n')
|
|
||||||
|
|
||||||
// TODO: support news feeds for wiki
|
|
||||||
if isWiki {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
fields := bytes.Fields(scanner.Bytes())
|
|
||||||
if len(fields) != 3 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
options := models.PushUpdateOptions{
|
|
||||||
OldCommitID: string(fields[0]),
|
|
||||||
NewCommitID: string(fields[1]),
|
|
||||||
RefFullName: string(fields[2]),
|
|
||||||
PusherID: com.StrTo(os.Getenv(http.ENV_AUTH_USER_ID)).MustInt64(),
|
|
||||||
PusherName: os.Getenv(http.ENV_AUTH_USER_NAME),
|
|
||||||
RepoUserName: os.Getenv(http.ENV_REPO_OWNER_NAME),
|
|
||||||
RepoName: os.Getenv(http.ENV_REPO_NAME),
|
|
||||||
}
|
|
||||||
if err := models.PushUpdate(options); err != nil {
|
|
||||||
log.Error(2, "PushUpdate: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ask for running deliver hook and test pull request tasks.
|
|
||||||
reqURL := setting.LocalURL + options.RepoUserName + "/" + options.RepoName + "/tasks/trigger?branch=" +
|
|
||||||
strings.TrimPrefix(options.RefFullName, git.BRANCH_PREFIX) +
|
|
||||||
"&secret=" + os.Getenv(http.ENV_REPO_OWNER_SALT_MD5) +
|
|
||||||
"&pusher=" + os.Getenv(http.ENV_AUTH_USER_ID)
|
|
||||||
log.Trace("Trigger task: %s", reqURL)
|
|
||||||
|
|
||||||
resp, err := httplib.Head(reqURL).SetTLSClientConfig(&tls.Config{
|
|
||||||
InsecureSkipVerify: true,
|
|
||||||
}).Response()
|
|
||||||
if err == nil {
|
|
||||||
resp.Body.Close()
|
|
||||||
if resp.StatusCode/100 != 2 {
|
|
||||||
log.Error(2, "Fail to trigger task: not 2xx response code")
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
log.Error(2, "Fail to trigger task: %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
customHooksPath := filepath.Join(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), "post-receive")
|
|
||||||
if !com.IsFile(customHooksPath) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var hookCmd *exec.Cmd
|
|
||||||
if setting.IsWindows {
|
|
||||||
hookCmd = exec.Command("bash.exe", "custom_hooks/post-receive")
|
|
||||||
} else {
|
|
||||||
hookCmd = exec.Command(customHooksPath)
|
|
||||||
}
|
|
||||||
hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
|
|
||||||
hookCmd.Stdout = os.Stdout
|
|
||||||
hookCmd.Stdin = buf
|
|
||||||
hookCmd.Stderr = os.Stderr
|
|
||||||
if err := hookCmd.Run(); err != nil {
|
|
||||||
fail("Internal error", "Fail to execute custom post-receive hook: %v", err)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
113
cmd/import.go
113
cmd/import.go
@@ -1,113 +0,0 @@
|
|||||||
// Copyright 2016 The Gogs Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"bytes"
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/Unknwon/com"
|
|
||||||
"github.com/urfave/cli"
|
|
||||||
|
|
||||||
"github.com/gogits/gogs/pkg/setting"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
Import = cli.Command{
|
|
||||||
Name: "import",
|
|
||||||
Usage: "Import portable data as local Gogs data",
|
|
||||||
Description: `Allow user import data from other Gogs installations to local instance
|
|
||||||
without manually hacking the data files`,
|
|
||||||
Subcommands: []cli.Command{
|
|
||||||
subcmdImportLocale,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
subcmdImportLocale = cli.Command{
|
|
||||||
Name: "locale",
|
|
||||||
Usage: "Import locale files to local repository",
|
|
||||||
Action: runImportLocale,
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("source", "", "Source directory that stores new locale files"),
|
|
||||||
stringFlag("target", "", "Target directory that stores old locale files"),
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func runImportLocale(c *cli.Context) error {
|
|
||||||
if !c.IsSet("source") {
|
|
||||||
return fmt.Errorf("Source directory is not specified")
|
|
||||||
} else if !c.IsSet("target") {
|
|
||||||
return fmt.Errorf("Target directory is not specified")
|
|
||||||
}
|
|
||||||
if !com.IsDir(c.String("source")) {
|
|
||||||
return fmt.Errorf("Source directory does not exist or is not a directory")
|
|
||||||
} else if !com.IsDir(c.String("target")) {
|
|
||||||
return fmt.Errorf("Target directory does not exist or is not a directory")
|
|
||||||
}
|
|
||||||
|
|
||||||
if c.IsSet("config") {
|
|
||||||
setting.CustomConf = c.String("config")
|
|
||||||
}
|
|
||||||
|
|
||||||
setting.NewContext()
|
|
||||||
|
|
||||||
now := time.Now()
|
|
||||||
|
|
||||||
line := make([]byte, 0, 100)
|
|
||||||
badChars := []byte(`="`)
|
|
||||||
escapedQuotes := []byte(`\"`)
|
|
||||||
regularQuotes := []byte(`"`)
|
|
||||||
// Cut out en-US.
|
|
||||||
for _, lang := range setting.Langs[1:] {
|
|
||||||
name := fmt.Sprintf("locale_%s.ini", lang)
|
|
||||||
source := filepath.Join(c.String("source"), name)
|
|
||||||
target := filepath.Join(c.String("target"), name)
|
|
||||||
if !com.IsFile(source) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
// Crowdin surrounds double quotes for strings contain quotes inside,
|
|
||||||
// this breaks INI parser, we need to fix that.
|
|
||||||
sr, err := os.Open(source)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Open: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
tw, err := os.Create(target)
|
|
||||||
if err != nil {
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Open: %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
scanner := bufio.NewScanner(sr)
|
|
||||||
for scanner.Scan() {
|
|
||||||
line = scanner.Bytes()
|
|
||||||
idx := bytes.Index(line, badChars)
|
|
||||||
if idx > -1 && line[len(line)-1] == '"' {
|
|
||||||
// We still want the "=" sign
|
|
||||||
line = append(line[:idx+1], line[idx+2:len(line)-1]...)
|
|
||||||
line = bytes.Replace(line, escapedQuotes, regularQuotes, -1)
|
|
||||||
}
|
|
||||||
tw.Write(line)
|
|
||||||
tw.WriteString("\n")
|
|
||||||
}
|
|
||||||
sr.Close()
|
|
||||||
tw.Close()
|
|
||||||
|
|
||||||
// Modification time of files from Crowdin often ahead of current,
|
|
||||||
// so we need to set back to current.
|
|
||||||
os.Chtimes(target, now, now)
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("Locale files has been successfully imported!")
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
136
cmd/restore.go
136
cmd/restore.go
@@ -1,136 +0,0 @@
|
|||||||
// Copyright 2017 The Gogs Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
"path"
|
|
||||||
|
|
||||||
"github.com/Unknwon/cae/zip"
|
|
||||||
"github.com/Unknwon/com"
|
|
||||||
"github.com/mcuadros/go-version"
|
|
||||||
"github.com/urfave/cli"
|
|
||||||
log "gopkg.in/clog.v1"
|
|
||||||
"gopkg.in/ini.v1"
|
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
|
||||||
"github.com/gogits/gogs/pkg/setting"
|
|
||||||
)
|
|
||||||
|
|
||||||
var Restore = cli.Command{
|
|
||||||
Name: "restore",
|
|
||||||
Usage: "Restore files and database from backup",
|
|
||||||
Description: `Restore imports all related files and database from a backup archive.
|
|
||||||
The backup version must lower or equal to current Gogs version. You can also import
|
|
||||||
backup from other database engines, which is useful for database migrating.
|
|
||||||
|
|
||||||
If corresponding files or database tables are not presented in the archive, they will
|
|
||||||
be skipped and remain unchanged.`,
|
|
||||||
Action: runRestore,
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
boolFlag("verbose, v", "Show process details"),
|
|
||||||
stringFlag("tempdir, t", os.TempDir(), "Temporary directory path"),
|
|
||||||
stringFlag("from", "", "Path to backup archive"),
|
|
||||||
boolFlag("database-only", "Only import database"),
|
|
||||||
boolFlag("exclude-repos", "Exclude repositories"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
func runRestore(c *cli.Context) error {
|
|
||||||
zip.Verbose = c.Bool("verbose")
|
|
||||||
|
|
||||||
tmpDir := c.String("tempdir")
|
|
||||||
if !com.IsExist(tmpDir) {
|
|
||||||
log.Fatal(0, "'--tempdir' does not exist: %s", tmpDir)
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Info("Restore backup from: %s", c.String("from"))
|
|
||||||
if err := zip.ExtractTo(c.String("from"), tmpDir); err != nil {
|
|
||||||
log.Fatal(0, "Fail to extract backup archive: %v", err)
|
|
||||||
}
|
|
||||||
archivePath := path.Join(tmpDir, _ARCHIVE_ROOT_DIR)
|
|
||||||
|
|
||||||
// Check backup version
|
|
||||||
metaFile := path.Join(archivePath, "metadata.ini")
|
|
||||||
if !com.IsExist(metaFile) {
|
|
||||||
log.Fatal(0, "File 'metadata.ini' is missing")
|
|
||||||
}
|
|
||||||
metadata, err := ini.Load(metaFile)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(0, "Fail to load metadata '%s': %v", metaFile, err)
|
|
||||||
}
|
|
||||||
backupVersion := metadata.Section("").Key("GOGS_VERSION").MustString("999.0")
|
|
||||||
if version.Compare(setting.AppVer, backupVersion, "<") {
|
|
||||||
log.Fatal(0, "Current Gogs version is lower than backup version: %s < %s", setting.AppVer, backupVersion)
|
|
||||||
}
|
|
||||||
|
|
||||||
// If config file is not present in backup, user must set this file via flag.
|
|
||||||
// Otherwise, it's optional to set config file flag.
|
|
||||||
configFile := path.Join(archivePath, "custom/conf/app.ini")
|
|
||||||
if c.IsSet("config") {
|
|
||||||
setting.CustomConf = c.String("config")
|
|
||||||
} else if !com.IsExist(configFile) {
|
|
||||||
log.Fatal(0, "'--config' is not specified and custom config file is not found in backup")
|
|
||||||
} else {
|
|
||||||
setting.CustomConf = configFile
|
|
||||||
}
|
|
||||||
setting.NewContext()
|
|
||||||
models.LoadConfigs()
|
|
||||||
models.SetEngine()
|
|
||||||
|
|
||||||
// Database
|
|
||||||
dbDir := path.Join(archivePath, "db")
|
|
||||||
if err = models.ImportDatabase(dbDir, c.Bool("verbose")); err != nil {
|
|
||||||
log.Fatal(0, "Fail to import database: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Custom files
|
|
||||||
if !c.Bool("database-only") {
|
|
||||||
if com.IsExist(setting.CustomPath) {
|
|
||||||
if err = os.Rename(setting.CustomPath, setting.CustomPath+".bak"); err != nil {
|
|
||||||
log.Fatal(0, "Fail to backup current 'custom': %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if err = os.Rename(path.Join(archivePath, "custom"), setting.CustomPath); err != nil {
|
|
||||||
log.Fatal(0, "Fail to import 'custom': %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Data files
|
|
||||||
if !c.Bool("database-only") {
|
|
||||||
os.MkdirAll(setting.AppDataPath, os.ModePerm)
|
|
||||||
for _, dir := range []string{"attachments", "avatars"} {
|
|
||||||
// Skip if backup archive does not have corresponding data
|
|
||||||
srcPath := path.Join(archivePath, "data", dir)
|
|
||||||
if !com.IsDir(srcPath) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
dirPath := path.Join(setting.AppDataPath, dir)
|
|
||||||
if com.IsExist(dirPath) {
|
|
||||||
if err = os.Rename(dirPath, dirPath+".bak"); err != nil {
|
|
||||||
log.Fatal(0, "Fail to backup current 'data': %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if err = os.Rename(srcPath, dirPath); err != nil {
|
|
||||||
log.Fatal(0, "Fail to import 'data': %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Repositories
|
|
||||||
reposPath := path.Join(archivePath, "repositories.zip")
|
|
||||||
if !c.Bool("exclude-repos") && !c.Bool("database-only") && com.IsExist(reposPath) {
|
|
||||||
if err := zip.ExtractTo(reposPath, path.Dir(setting.RepoRootPath)); err != nil {
|
|
||||||
log.Fatal(0, "Fail to extract 'repositories.zip': %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
os.RemoveAll(path.Join(tmpDir, _ARCHIVE_ROOT_DIR))
|
|
||||||
log.Info("Restore succeed!")
|
|
||||||
log.Shutdown()
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
273
cmd/serv.go
273
cmd/serv.go
@@ -1,273 +0,0 @@
|
|||||||
// Copyright 2014 The Gogs Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"os/exec"
|
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/Unknwon/com"
|
|
||||||
"github.com/urfave/cli"
|
|
||||||
log "gopkg.in/clog.v1"
|
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
|
||||||
"github.com/gogits/gogs/models/errors"
|
|
||||||
"github.com/gogits/gogs/pkg/setting"
|
|
||||||
http "github.com/gogits/gogs/routes/repo"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
_ACCESS_DENIED_MESSAGE = "Repository does not exist or you do not have access"
|
|
||||||
)
|
|
||||||
|
|
||||||
var Serv = cli.Command{
|
|
||||||
Name: "serv",
|
|
||||||
Usage: "This command should only be called by SSH shell",
|
|
||||||
Description: `Serv provide access auth for repositories`,
|
|
||||||
Action: runServ,
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
func fail(userMessage, logMessage string, args ...interface{}) {
|
|
||||||
fmt.Fprintln(os.Stderr, "Gogs:", userMessage)
|
|
||||||
|
|
||||||
if len(logMessage) > 0 {
|
|
||||||
if !setting.ProdMode {
|
|
||||||
fmt.Fprintf(os.Stderr, logMessage+"\n", args...)
|
|
||||||
}
|
|
||||||
log.Fatal(3, logMessage, args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
func setup(c *cli.Context, logPath string, connectDB bool) {
|
|
||||||
if c.IsSet("config") {
|
|
||||||
setting.CustomConf = c.String("config")
|
|
||||||
} else if c.GlobalIsSet("config") {
|
|
||||||
setting.CustomConf = c.GlobalString("config")
|
|
||||||
}
|
|
||||||
|
|
||||||
setting.NewContext()
|
|
||||||
|
|
||||||
level := log.TRACE
|
|
||||||
if setting.ProdMode {
|
|
||||||
level = log.ERROR
|
|
||||||
}
|
|
||||||
log.New(log.FILE, log.FileConfig{
|
|
||||||
Level: level,
|
|
||||||
Filename: filepath.Join(setting.LogRootPath, logPath),
|
|
||||||
FileRotationConfig: log.FileRotationConfig{
|
|
||||||
Rotate: true,
|
|
||||||
Daily: true,
|
|
||||||
MaxDays: 3,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
log.Delete(log.CONSOLE) // Remove primary logger
|
|
||||||
|
|
||||||
if !connectDB {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
models.LoadConfigs()
|
|
||||||
|
|
||||||
if setting.UseSQLite3 {
|
|
||||||
workDir, _ := setting.WorkDir()
|
|
||||||
os.Chdir(workDir)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := models.SetEngine(); err != nil {
|
|
||||||
fail("Internal error", "SetEngine: %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func parseSSHCmd(cmd string) (string, string) {
|
|
||||||
ss := strings.SplitN(cmd, " ", 2)
|
|
||||||
if len(ss) != 2 {
|
|
||||||
return "", ""
|
|
||||||
}
|
|
||||||
return ss[0], strings.Replace(ss[1], "'/", "'", 1)
|
|
||||||
}
|
|
||||||
|
|
||||||
func checkDeployKey(key *models.PublicKey, repo *models.Repository) {
|
|
||||||
// Check if this deploy key belongs to current repository.
|
|
||||||
if !models.HasDeployKey(key.ID, repo.ID) {
|
|
||||||
fail("Key access denied", "Deploy key access denied: [key_id: %d, repo_id: %d]", key.ID, repo.ID)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update deploy key activity.
|
|
||||||
deployKey, err := models.GetDeployKeyByRepo(key.ID, repo.ID)
|
|
||||||
if err != nil {
|
|
||||||
fail("Internal error", "GetDeployKey: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
deployKey.Updated = time.Now()
|
|
||||||
if err = models.UpdateDeployKey(deployKey); err != nil {
|
|
||||||
fail("Internal error", "UpdateDeployKey: %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
allowedCommands = map[string]models.AccessMode{
|
|
||||||
"git-upload-pack": models.ACCESS_MODE_READ,
|
|
||||||
"git-upload-archive": models.ACCESS_MODE_READ,
|
|
||||||
"git-receive-pack": models.ACCESS_MODE_WRITE,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func runServ(c *cli.Context) error {
|
|
||||||
setup(c, "serv.log", true)
|
|
||||||
|
|
||||||
if setting.SSH.Disabled {
|
|
||||||
println("Gogs: SSH has been disabled")
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(c.Args()) < 1 {
|
|
||||||
fail("Not enough arguments", "Not enough arguments")
|
|
||||||
}
|
|
||||||
|
|
||||||
sshCmd := os.Getenv("SSH_ORIGINAL_COMMAND")
|
|
||||||
if len(sshCmd) == 0 {
|
|
||||||
println("Hi there, You've successfully authenticated, but Gogs does not provide shell access.")
|
|
||||||
println("If this is unexpected, please log in with password and setup Gogs under another user.")
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
verb, args := parseSSHCmd(sshCmd)
|
|
||||||
repoFullName := strings.ToLower(strings.Trim(args, "'"))
|
|
||||||
repoFields := strings.SplitN(repoFullName, "/", 2)
|
|
||||||
if len(repoFields) != 2 {
|
|
||||||
fail("Invalid repository path", "Invalid repository path: %v", args)
|
|
||||||
}
|
|
||||||
ownerName := strings.ToLower(repoFields[0])
|
|
||||||
repoName := strings.TrimSuffix(strings.ToLower(repoFields[1]), ".git")
|
|
||||||
repoName = strings.TrimSuffix(repoName, ".wiki")
|
|
||||||
|
|
||||||
owner, err := models.GetUserByName(ownerName)
|
|
||||||
if err != nil {
|
|
||||||
if errors.IsUserNotExist(err) {
|
|
||||||
fail("Repository owner does not exist", "Unregistered owner: %s", ownerName)
|
|
||||||
}
|
|
||||||
fail("Internal error", "Fail to get repository owner '%s': %v", ownerName, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
repo, err := models.GetRepositoryByName(owner.ID, repoName)
|
|
||||||
if err != nil {
|
|
||||||
if errors.IsRepoNotExist(err) {
|
|
||||||
fail(_ACCESS_DENIED_MESSAGE, "Repository does not exist: %s/%s", owner.Name, repoName)
|
|
||||||
}
|
|
||||||
fail("Internal error", "Fail to get repository: %v", err)
|
|
||||||
}
|
|
||||||
repo.Owner = owner
|
|
||||||
|
|
||||||
requestMode, ok := allowedCommands[verb]
|
|
||||||
if !ok {
|
|
||||||
fail("Unknown git command", "Unknown git command '%s'", verb)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Prohibit push to mirror repositories.
|
|
||||||
if requestMode > models.ACCESS_MODE_READ && repo.IsMirror {
|
|
||||||
fail("Mirror repository is read-only", "")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Allow anonymous (user is nil) clone for public repositories.
|
|
||||||
var user *models.User
|
|
||||||
|
|
||||||
key, err := models.GetPublicKeyByID(com.StrTo(strings.TrimPrefix(c.Args()[0], "key-")).MustInt64())
|
|
||||||
if err != nil {
|
|
||||||
fail("Invalid key ID", "Invalid key ID '%s': %v", c.Args()[0], err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if requestMode == models.ACCESS_MODE_WRITE || repo.IsPrivate {
|
|
||||||
// Check deploy key or user key.
|
|
||||||
if key.IsDeployKey() {
|
|
||||||
if key.Mode < requestMode {
|
|
||||||
fail("Key permission denied", "Cannot push with deployment key: %d", key.ID)
|
|
||||||
}
|
|
||||||
checkDeployKey(key, repo)
|
|
||||||
} else {
|
|
||||||
user, err = models.GetUserByKeyID(key.ID)
|
|
||||||
if err != nil {
|
|
||||||
fail("Internal error", "Fail to get user by key ID '%d': %v", key.ID, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
mode, err := models.AccessLevel(user.ID, repo)
|
|
||||||
if err != nil {
|
|
||||||
fail("Internal error", "Fail to check access: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if mode < requestMode {
|
|
||||||
clientMessage := _ACCESS_DENIED_MESSAGE
|
|
||||||
if mode >= models.ACCESS_MODE_READ {
|
|
||||||
clientMessage = "You do not have sufficient authorization for this action"
|
|
||||||
}
|
|
||||||
fail(clientMessage,
|
|
||||||
"User '%s' does not have level '%v' access to repository '%s'",
|
|
||||||
user.Name, requestMode, repoFullName)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
setting.NewService()
|
|
||||||
// Check if the key can access to the repository in case of it is a deploy key (a deploy keys != user key).
|
|
||||||
// A deploy key doesn't represent a signed in user, so in a site with Service.RequireSignInView activated
|
|
||||||
// we should give read access only in repositories where this deploy key is in use. In other case, a server
|
|
||||||
// or system using an active deploy key can get read access to all the repositories in a Gogs service.
|
|
||||||
if key.IsDeployKey() && setting.Service.RequireSignInView {
|
|
||||||
checkDeployKey(key, repo)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update user key activity.
|
|
||||||
if key.ID > 0 {
|
|
||||||
key, err := models.GetPublicKeyByID(key.ID)
|
|
||||||
if err != nil {
|
|
||||||
fail("Internal error", "GetPublicKeyByID: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
key.Updated = time.Now()
|
|
||||||
if err = models.UpdatePublicKey(key); err != nil {
|
|
||||||
fail("Internal error", "UpdatePublicKey: %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Special handle for Windows.
|
|
||||||
if setting.IsWindows {
|
|
||||||
verb = strings.Replace(verb, "-", " ", 1)
|
|
||||||
}
|
|
||||||
|
|
||||||
var gitCmd *exec.Cmd
|
|
||||||
verbs := strings.Split(verb, " ")
|
|
||||||
if len(verbs) == 2 {
|
|
||||||
gitCmd = exec.Command(verbs[0], verbs[1], repoFullName)
|
|
||||||
} else {
|
|
||||||
gitCmd = exec.Command(verb, repoFullName)
|
|
||||||
}
|
|
||||||
if requestMode == models.ACCESS_MODE_WRITE {
|
|
||||||
gitCmd.Env = append(os.Environ(), http.ComposeHookEnvs(http.ComposeHookEnvsOptions{
|
|
||||||
AuthUser: user,
|
|
||||||
OwnerName: owner.Name,
|
|
||||||
OwnerSalt: owner.Salt,
|
|
||||||
RepoID: repo.ID,
|
|
||||||
RepoName: repo.Name,
|
|
||||||
RepoPath: repo.RepoPath(),
|
|
||||||
})...)
|
|
||||||
}
|
|
||||||
gitCmd.Dir = setting.RepoRootPath
|
|
||||||
gitCmd.Stdout = os.Stdout
|
|
||||||
gitCmd.Stdin = os.Stdin
|
|
||||||
gitCmd.Stderr = os.Stderr
|
|
||||||
if err = gitCmd.Run(); err != nil {
|
|
||||||
fail("Internal error", "Fail to execute git command: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
734
cmd/web.go
734
cmd/web.go
@@ -1,734 +0,0 @@
|
|||||||
// Copyright 2014 The Gogs Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
"crypto/tls"
|
|
||||||
"fmt"
|
|
||||||
"io/ioutil"
|
|
||||||
"net"
|
|
||||||
"net/http"
|
|
||||||
"net/http/fcgi"
|
|
||||||
"os"
|
|
||||||
"path"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/Unknwon/com"
|
|
||||||
"github.com/go-macaron/binding"
|
|
||||||
"github.com/go-macaron/cache"
|
|
||||||
"github.com/go-macaron/captcha"
|
|
||||||
"github.com/go-macaron/csrf"
|
|
||||||
"github.com/go-macaron/gzip"
|
|
||||||
"github.com/go-macaron/i18n"
|
|
||||||
"github.com/go-macaron/session"
|
|
||||||
"github.com/go-macaron/toolbox"
|
|
||||||
"github.com/mcuadros/go-version"
|
|
||||||
"github.com/urfave/cli"
|
|
||||||
log "gopkg.in/clog.v1"
|
|
||||||
"gopkg.in/macaron.v1"
|
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
|
||||||
"github.com/gogits/gogs/pkg/bindata"
|
|
||||||
"github.com/gogits/gogs/pkg/context"
|
|
||||||
"github.com/gogits/gogs/pkg/form"
|
|
||||||
"github.com/gogits/gogs/pkg/mailer"
|
|
||||||
"github.com/gogits/gogs/pkg/setting"
|
|
||||||
"github.com/gogits/gogs/pkg/template"
|
|
||||||
"github.com/gogits/gogs/routes"
|
|
||||||
"github.com/gogits/gogs/routes/admin"
|
|
||||||
apiv1 "github.com/gogits/gogs/routes/api/v1"
|
|
||||||
"github.com/gogits/gogs/routes/dev"
|
|
||||||
"github.com/gogits/gogs/routes/org"
|
|
||||||
"github.com/gogits/gogs/routes/repo"
|
|
||||||
"github.com/gogits/gogs/routes/user"
|
|
||||||
)
|
|
||||||
|
|
||||||
var Web = cli.Command{
|
|
||||||
Name: "web",
|
|
||||||
Usage: "Start web server",
|
|
||||||
Description: `Gogs web server is the only thing you need to run,
|
|
||||||
and it takes care of all the other things for you`,
|
|
||||||
Action: runWeb,
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
stringFlag("port, p", "3000", "Temporary port number to prevent conflict"),
|
|
||||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
// checkVersion checks if binary matches the version of templates files.
|
|
||||||
func checkVersion() {
|
|
||||||
// Templates.
|
|
||||||
data, err := ioutil.ReadFile(setting.StaticRootPath + "/templates/.VERSION")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(2, "Fail to read 'templates/.VERSION': %v", err)
|
|
||||||
}
|
|
||||||
tplVer := string(data)
|
|
||||||
if tplVer != setting.AppVer {
|
|
||||||
if version.Compare(tplVer, setting.AppVer, ">") {
|
|
||||||
log.Fatal(2, "Binary version is lower than template file version, did you forget to recompile Gogs?")
|
|
||||||
} else {
|
|
||||||
log.Fatal(2, "Binary version is higher than template file version, did you forget to update template files?")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// newMacaron initializes Macaron instance.
|
|
||||||
func newMacaron() *macaron.Macaron {
|
|
||||||
m := macaron.New()
|
|
||||||
if !setting.DisableRouterLog {
|
|
||||||
m.Use(macaron.Logger())
|
|
||||||
}
|
|
||||||
m.Use(macaron.Recovery())
|
|
||||||
if setting.EnableGzip {
|
|
||||||
m.Use(gzip.Gziper())
|
|
||||||
}
|
|
||||||
if setting.Protocol == setting.SCHEME_FCGI {
|
|
||||||
m.SetURLPrefix(setting.AppSubURL)
|
|
||||||
}
|
|
||||||
m.Use(macaron.Static(
|
|
||||||
path.Join(setting.StaticRootPath, "public"),
|
|
||||||
macaron.StaticOptions{
|
|
||||||
SkipLogging: setting.DisableRouterLog,
|
|
||||||
},
|
|
||||||
))
|
|
||||||
m.Use(macaron.Static(
|
|
||||||
setting.AvatarUploadPath,
|
|
||||||
macaron.StaticOptions{
|
|
||||||
Prefix: "avatars",
|
|
||||||
SkipLogging: setting.DisableRouterLog,
|
|
||||||
},
|
|
||||||
))
|
|
||||||
|
|
||||||
funcMap := template.NewFuncMap()
|
|
||||||
m.Use(macaron.Renderer(macaron.RenderOptions{
|
|
||||||
Directory: path.Join(setting.StaticRootPath, "templates"),
|
|
||||||
AppendDirectories: []string{path.Join(setting.CustomPath, "templates")},
|
|
||||||
Funcs: funcMap,
|
|
||||||
IndentJSON: macaron.Env != macaron.PROD,
|
|
||||||
}))
|
|
||||||
mailer.InitMailRender(path.Join(setting.StaticRootPath, "templates/mail"),
|
|
||||||
path.Join(setting.CustomPath, "templates/mail"), funcMap)
|
|
||||||
|
|
||||||
localeNames, err := bindata.AssetDir("conf/locale")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(4, "Fail to list locale files: %v", err)
|
|
||||||
}
|
|
||||||
localFiles := make(map[string][]byte)
|
|
||||||
for _, name := range localeNames {
|
|
||||||
localFiles[name] = bindata.MustAsset("conf/locale/" + name)
|
|
||||||
}
|
|
||||||
m.Use(i18n.I18n(i18n.Options{
|
|
||||||
SubURL: setting.AppSubURL,
|
|
||||||
Files: localFiles,
|
|
||||||
CustomDirectory: path.Join(setting.CustomPath, "conf/locale"),
|
|
||||||
Langs: setting.Langs,
|
|
||||||
Names: setting.Names,
|
|
||||||
DefaultLang: "en-US",
|
|
||||||
Redirect: true,
|
|
||||||
}))
|
|
||||||
m.Use(cache.Cacher(cache.Options{
|
|
||||||
Adapter: setting.CacheAdapter,
|
|
||||||
AdapterConfig: setting.CacheConn,
|
|
||||||
Interval: setting.CacheInterval,
|
|
||||||
}))
|
|
||||||
m.Use(captcha.Captchaer(captcha.Options{
|
|
||||||
SubURL: setting.AppSubURL,
|
|
||||||
}))
|
|
||||||
m.Use(session.Sessioner(setting.SessionConfig))
|
|
||||||
m.Use(csrf.Csrfer(csrf.Options{
|
|
||||||
Secret: setting.SecretKey,
|
|
||||||
Cookie: setting.CSRFCookieName,
|
|
||||||
SetCookie: true,
|
|
||||||
Header: "X-Csrf-Token",
|
|
||||||
CookiePath: setting.AppSubURL,
|
|
||||||
}))
|
|
||||||
m.Use(toolbox.Toolboxer(m, toolbox.Options{
|
|
||||||
HealthCheckFuncs: []*toolbox.HealthCheckFuncDesc{
|
|
||||||
&toolbox.HealthCheckFuncDesc{
|
|
||||||
Desc: "Database connection",
|
|
||||||
Func: models.Ping,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}))
|
|
||||||
m.Use(context.Contexter())
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
|
|
||||||
func runWeb(c *cli.Context) error {
|
|
||||||
if c.IsSet("config") {
|
|
||||||
setting.CustomConf = c.String("config")
|
|
||||||
}
|
|
||||||
routes.GlobalInit()
|
|
||||||
checkVersion()
|
|
||||||
|
|
||||||
m := newMacaron()
|
|
||||||
|
|
||||||
reqSignIn := context.Toggle(&context.ToggleOptions{SignInRequired: true})
|
|
||||||
ignSignIn := context.Toggle(&context.ToggleOptions{SignInRequired: setting.Service.RequireSignInView})
|
|
||||||
ignSignInAndCsrf := context.Toggle(&context.ToggleOptions{DisableCSRF: true})
|
|
||||||
reqSignOut := context.Toggle(&context.ToggleOptions{SignOutRequired: true})
|
|
||||||
|
|
||||||
bindIgnErr := binding.BindIgnErr
|
|
||||||
|
|
||||||
m.SetAutoHead(true)
|
|
||||||
|
|
||||||
// FIXME: not all routes need go through same middlewares.
|
|
||||||
// Especially some AJAX requests, we can reduce middleware number to improve performance.
|
|
||||||
// Routers.
|
|
||||||
m.Get("/", ignSignIn, routes.Home)
|
|
||||||
m.Group("/explore", func() {
|
|
||||||
m.Get("", func(c *context.Context) {
|
|
||||||
c.Redirect(setting.AppSubURL + "/explore/repos")
|
|
||||||
})
|
|
||||||
m.Get("/repos", routes.ExploreRepos)
|
|
||||||
m.Get("/users", routes.ExploreUsers)
|
|
||||||
m.Get("/organizations", routes.ExploreOrganizations)
|
|
||||||
}, ignSignIn)
|
|
||||||
m.Combo("/install", routes.InstallInit).Get(routes.Install).
|
|
||||||
Post(bindIgnErr(form.Install{}), routes.InstallPost)
|
|
||||||
m.Get("/^:type(issues|pulls)$", reqSignIn, user.Issues)
|
|
||||||
|
|
||||||
// ***** START: User *****
|
|
||||||
m.Group("/user", func() {
|
|
||||||
m.Group("/login", func() {
|
|
||||||
m.Combo("").Get(user.Login).
|
|
||||||
Post(bindIgnErr(form.SignIn{}), user.LoginPost)
|
|
||||||
m.Combo("/two_factor").Get(user.LoginTwoFactor).Post(user.LoginTwoFactorPost)
|
|
||||||
m.Combo("/two_factor_recovery_code").Get(user.LoginTwoFactorRecoveryCode).Post(user.LoginTwoFactorRecoveryCodePost)
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Get("/sign_up", user.SignUp)
|
|
||||||
m.Post("/sign_up", bindIgnErr(form.Register{}), user.SignUpPost)
|
|
||||||
m.Get("/reset_password", user.ResetPasswd)
|
|
||||||
m.Post("/reset_password", user.ResetPasswdPost)
|
|
||||||
}, reqSignOut)
|
|
||||||
|
|
||||||
m.Group("/user/settings", func() {
|
|
||||||
m.Get("", user.Settings)
|
|
||||||
m.Post("", bindIgnErr(form.UpdateProfile{}), user.SettingsPost)
|
|
||||||
m.Combo("/avatar").Get(user.SettingsAvatar).
|
|
||||||
Post(binding.MultipartForm(form.Avatar{}), user.SettingsAvatarPost)
|
|
||||||
m.Post("/avatar/delete", user.SettingsDeleteAvatar)
|
|
||||||
m.Combo("/email").Get(user.SettingsEmails).
|
|
||||||
Post(bindIgnErr(form.AddEmail{}), user.SettingsEmailPost)
|
|
||||||
m.Post("/email/delete", user.DeleteEmail)
|
|
||||||
m.Get("/password", user.SettingsPassword)
|
|
||||||
m.Post("/password", bindIgnErr(form.ChangePassword{}), user.SettingsPasswordPost)
|
|
||||||
m.Combo("/ssh").Get(user.SettingsSSHKeys).
|
|
||||||
Post(bindIgnErr(form.AddSSHKey{}), user.SettingsSSHKeysPost)
|
|
||||||
m.Post("/ssh/delete", user.DeleteSSHKey)
|
|
||||||
m.Group("/security", func() {
|
|
||||||
m.Get("", user.SettingsSecurity)
|
|
||||||
m.Combo("/two_factor_enable").Get(user.SettingsTwoFactorEnable).
|
|
||||||
Post(user.SettingsTwoFactorEnablePost)
|
|
||||||
m.Combo("/two_factor_recovery_codes").Get(user.SettingsTwoFactorRecoveryCodes).
|
|
||||||
Post(user.SettingsTwoFactorRecoveryCodesPost)
|
|
||||||
m.Post("/two_factor_disable", user.SettingsTwoFactorDisable)
|
|
||||||
})
|
|
||||||
m.Group("/repositories", func() {
|
|
||||||
m.Get("", user.SettingsRepos)
|
|
||||||
m.Post("/leave", user.SettingsLeaveRepo)
|
|
||||||
})
|
|
||||||
m.Group("/organizations", func() {
|
|
||||||
m.Get("", user.SettingsOrganizations)
|
|
||||||
m.Post("/leave", user.SettingsLeaveOrganization)
|
|
||||||
})
|
|
||||||
m.Combo("/applications").Get(user.SettingsApplications).
|
|
||||||
Post(bindIgnErr(form.NewAccessToken{}), user.SettingsApplicationsPost)
|
|
||||||
m.Post("/applications/delete", user.SettingsDeleteApplication)
|
|
||||||
m.Route("/delete", "GET,POST", user.SettingsDelete)
|
|
||||||
}, reqSignIn, func(c *context.Context) {
|
|
||||||
c.Data["PageIsUserSettings"] = true
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Group("/user", func() {
|
|
||||||
m.Any("/activate", user.Activate)
|
|
||||||
m.Any("/activate_email", user.ActivateEmail)
|
|
||||||
m.Get("/email2user", user.Email2User)
|
|
||||||
m.Get("/forget_password", user.ForgotPasswd)
|
|
||||||
m.Post("/forget_password", user.ForgotPasswdPost)
|
|
||||||
m.Get("/logout", user.SignOut)
|
|
||||||
})
|
|
||||||
// ***** END: User *****
|
|
||||||
|
|
||||||
adminReq := context.Toggle(&context.ToggleOptions{SignInRequired: true, AdminRequired: true})
|
|
||||||
|
|
||||||
// ***** START: Admin *****
|
|
||||||
m.Group("/admin", func() {
|
|
||||||
m.Get("", adminReq, admin.Dashboard)
|
|
||||||
m.Get("/config", admin.Config)
|
|
||||||
m.Post("/config/test_mail", admin.SendTestMail)
|
|
||||||
m.Get("/monitor", admin.Monitor)
|
|
||||||
|
|
||||||
m.Group("/users", func() {
|
|
||||||
m.Get("", admin.Users)
|
|
||||||
m.Combo("/new").Get(admin.NewUser).Post(bindIgnErr(form.AdminCrateUser{}), admin.NewUserPost)
|
|
||||||
m.Combo("/:userid").Get(admin.EditUser).Post(bindIgnErr(form.AdminEditUser{}), admin.EditUserPost)
|
|
||||||
m.Post("/:userid/delete", admin.DeleteUser)
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Group("/orgs", func() {
|
|
||||||
m.Get("", admin.Organizations)
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Group("/repos", func() {
|
|
||||||
m.Get("", admin.Repos)
|
|
||||||
m.Post("/delete", admin.DeleteRepo)
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Group("/auths", func() {
|
|
||||||
m.Get("", admin.Authentications)
|
|
||||||
m.Combo("/new").Get(admin.NewAuthSource).Post(bindIgnErr(form.Authentication{}), admin.NewAuthSourcePost)
|
|
||||||
m.Combo("/:authid").Get(admin.EditAuthSource).
|
|
||||||
Post(bindIgnErr(form.Authentication{}), admin.EditAuthSourcePost)
|
|
||||||
m.Post("/:authid/delete", admin.DeleteAuthSource)
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Group("/notices", func() {
|
|
||||||
m.Get("", admin.Notices)
|
|
||||||
m.Post("/delete", admin.DeleteNotices)
|
|
||||||
m.Get("/empty", admin.EmptyNotices)
|
|
||||||
})
|
|
||||||
}, adminReq)
|
|
||||||
// ***** END: Admin *****
|
|
||||||
|
|
||||||
m.Group("", func() {
|
|
||||||
m.Group("/:username", func() {
|
|
||||||
m.Get("", user.Profile)
|
|
||||||
m.Get("/followers", user.Followers)
|
|
||||||
m.Get("/following", user.Following)
|
|
||||||
m.Get("/stars", user.Stars)
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Get("/attachments/:uuid", func(c *context.Context) {
|
|
||||||
attach, err := models.GetAttachmentByUUID(c.Params(":uuid"))
|
|
||||||
if err != nil {
|
|
||||||
c.NotFoundOrServerError("GetAttachmentByUUID", models.IsErrAttachmentNotExist, err)
|
|
||||||
return
|
|
||||||
} else if !com.IsFile(attach.LocalPath()) {
|
|
||||||
c.NotFound()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
fr, err := os.Open(attach.LocalPath())
|
|
||||||
if err != nil {
|
|
||||||
c.Handle(500, "Open", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
defer fr.Close()
|
|
||||||
|
|
||||||
c.Header().Set("Cache-Control", "public,max-age=86400")
|
|
||||||
fmt.Println("attach.Name:", attach.Name)
|
|
||||||
c.Header().Set("Content-Disposition", fmt.Sprintf(`inline; filename="%s"`, attach.Name))
|
|
||||||
if err = repo.ServeData(c, attach.Name, fr); err != nil {
|
|
||||||
c.Handle(500, "ServeData", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
})
|
|
||||||
m.Post("/issues/attachments", repo.UploadIssueAttachment)
|
|
||||||
m.Post("/releases/attachments", repo.UploadReleaseAttachment)
|
|
||||||
}, ignSignIn)
|
|
||||||
|
|
||||||
m.Group("/:username", func() {
|
|
||||||
m.Get("/action/:action", user.Action)
|
|
||||||
}, reqSignIn)
|
|
||||||
|
|
||||||
if macaron.Env == macaron.DEV {
|
|
||||||
m.Get("/template/*", dev.TemplatePreview)
|
|
||||||
}
|
|
||||||
|
|
||||||
reqRepoAdmin := context.RequireRepoAdmin()
|
|
||||||
reqRepoWriter := context.RequireRepoWriter()
|
|
||||||
|
|
||||||
// ***** START: Organization *****
|
|
||||||
m.Group("/org", func() {
|
|
||||||
m.Group("", func() {
|
|
||||||
m.Get("/create", org.Create)
|
|
||||||
m.Post("/create", bindIgnErr(form.CreateOrg{}), org.CreatePost)
|
|
||||||
}, func(c *context.Context) {
|
|
||||||
if !c.User.CanCreateOrganization() {
|
|
||||||
c.NotFound()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Group("/:org", func() {
|
|
||||||
m.Get("/dashboard", user.Dashboard)
|
|
||||||
m.Get("/^:type(issues|pulls)$", user.Issues)
|
|
||||||
m.Get("/members", org.Members)
|
|
||||||
m.Get("/members/action/:action", org.MembersAction)
|
|
||||||
|
|
||||||
m.Get("/teams", org.Teams)
|
|
||||||
}, context.OrgAssignment(true))
|
|
||||||
|
|
||||||
m.Group("/:org", func() {
|
|
||||||
m.Get("/teams/:team", org.TeamMembers)
|
|
||||||
m.Get("/teams/:team/repositories", org.TeamRepositories)
|
|
||||||
m.Route("/teams/:team/action/:action", "GET,POST", org.TeamsAction)
|
|
||||||
m.Route("/teams/:team/action/repo/:action", "GET,POST", org.TeamsRepoAction)
|
|
||||||
}, context.OrgAssignment(true, false, true))
|
|
||||||
|
|
||||||
m.Group("/:org", func() {
|
|
||||||
m.Get("/teams/new", org.NewTeam)
|
|
||||||
m.Post("/teams/new", bindIgnErr(form.CreateTeam{}), org.NewTeamPost)
|
|
||||||
m.Get("/teams/:team/edit", org.EditTeam)
|
|
||||||
m.Post("/teams/:team/edit", bindIgnErr(form.CreateTeam{}), org.EditTeamPost)
|
|
||||||
m.Post("/teams/:team/delete", org.DeleteTeam)
|
|
||||||
|
|
||||||
m.Group("/settings", func() {
|
|
||||||
m.Combo("").Get(org.Settings).
|
|
||||||
Post(bindIgnErr(form.UpdateOrgSetting{}), org.SettingsPost)
|
|
||||||
m.Post("/avatar", binding.MultipartForm(form.Avatar{}), org.SettingsAvatar)
|
|
||||||
m.Post("/avatar/delete", org.SettingsDeleteAvatar)
|
|
||||||
|
|
||||||
m.Group("/hooks", func() {
|
|
||||||
m.Get("", org.Webhooks)
|
|
||||||
m.Post("/delete", org.DeleteWebhook)
|
|
||||||
m.Get("/:type/new", repo.WebhooksNew)
|
|
||||||
m.Post("/gogs/new", bindIgnErr(form.NewWebhook{}), repo.WebHooksNewPost)
|
|
||||||
m.Post("/slack/new", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksNewPost)
|
|
||||||
m.Post("/discord/new", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksNewPost)
|
|
||||||
m.Post("/dingtalk/new", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksNewPost)
|
|
||||||
m.Get("/:id", repo.WebHooksEdit)
|
|
||||||
m.Post("/gogs/:id", bindIgnErr(form.NewWebhook{}), repo.WebHooksEditPost)
|
|
||||||
m.Post("/slack/:id", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksEditPost)
|
|
||||||
m.Post("/discord/:id", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksEditPost)
|
|
||||||
m.Post("/dingtalk/:id", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksEditPost)
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Route("/delete", "GET,POST", org.SettingsDelete)
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Route("/invitations/new", "GET,POST", org.Invitation)
|
|
||||||
}, context.OrgAssignment(true, true))
|
|
||||||
}, reqSignIn)
|
|
||||||
// ***** END: Organization *****
|
|
||||||
|
|
||||||
// ***** START: Repository *****
|
|
||||||
m.Group("/repo", func() {
|
|
||||||
m.Get("/create", repo.Create)
|
|
||||||
m.Post("/create", bindIgnErr(form.CreateRepo{}), repo.CreatePost)
|
|
||||||
m.Get("/migrate", repo.Migrate)
|
|
||||||
m.Post("/migrate", bindIgnErr(form.MigrateRepo{}), repo.MigratePost)
|
|
||||||
m.Combo("/fork/:repoid").Get(repo.Fork).
|
|
||||||
Post(bindIgnErr(form.CreateRepo{}), repo.ForkPost)
|
|
||||||
}, reqSignIn)
|
|
||||||
|
|
||||||
m.Group("/:username/:reponame", func() {
|
|
||||||
m.Group("/settings", func() {
|
|
||||||
m.Combo("").Get(repo.Settings).
|
|
||||||
Post(bindIgnErr(form.RepoSetting{}), repo.SettingsPost)
|
|
||||||
m.Group("/collaboration", func() {
|
|
||||||
m.Combo("").Get(repo.SettingsCollaboration).Post(repo.SettingsCollaborationPost)
|
|
||||||
m.Post("/access_mode", repo.ChangeCollaborationAccessMode)
|
|
||||||
m.Post("/delete", repo.DeleteCollaboration)
|
|
||||||
})
|
|
||||||
m.Group("/branches", func() {
|
|
||||||
m.Get("", repo.SettingsBranches)
|
|
||||||
m.Post("/default_branch", repo.UpdateDefaultBranch)
|
|
||||||
m.Combo("/*").Get(repo.SettingsProtectedBranch).
|
|
||||||
Post(bindIgnErr(form.ProtectBranch{}), repo.SettingsProtectedBranchPost)
|
|
||||||
}, func(c *context.Context) {
|
|
||||||
if c.Repo.Repository.IsMirror {
|
|
||||||
c.NotFound()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Group("/hooks", func() {
|
|
||||||
m.Get("", repo.Webhooks)
|
|
||||||
m.Post("/delete", repo.DeleteWebhook)
|
|
||||||
m.Get("/:type/new", repo.WebhooksNew)
|
|
||||||
m.Post("/gogs/new", bindIgnErr(form.NewWebhook{}), repo.WebHooksNewPost)
|
|
||||||
m.Post("/slack/new", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksNewPost)
|
|
||||||
m.Post("/discord/new", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksNewPost)
|
|
||||||
m.Post("/dingtalk/new", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksNewPost)
|
|
||||||
m.Post("/gogs/:id", bindIgnErr(form.NewWebhook{}), repo.WebHooksEditPost)
|
|
||||||
m.Post("/slack/:id", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksEditPost)
|
|
||||||
m.Post("/discord/:id", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksEditPost)
|
|
||||||
m.Post("/dingtalk/:id", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksEditPost)
|
|
||||||
|
|
||||||
m.Group("/:id", func() {
|
|
||||||
m.Get("", repo.WebHooksEdit)
|
|
||||||
m.Post("/test", repo.TestWebhook)
|
|
||||||
m.Post("/redelivery", repo.RedeliveryWebhook)
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Group("/git", func() {
|
|
||||||
m.Get("", repo.SettingsGitHooks)
|
|
||||||
m.Combo("/:name").Get(repo.SettingsGitHooksEdit).
|
|
||||||
Post(repo.SettingsGitHooksEditPost)
|
|
||||||
}, context.GitHookService())
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Group("/keys", func() {
|
|
||||||
m.Combo("").Get(repo.SettingsDeployKeys).
|
|
||||||
Post(bindIgnErr(form.AddSSHKey{}), repo.SettingsDeployKeysPost)
|
|
||||||
m.Post("/delete", repo.DeleteDeployKey)
|
|
||||||
})
|
|
||||||
|
|
||||||
}, func(c *context.Context) {
|
|
||||||
c.Data["PageIsSettings"] = true
|
|
||||||
})
|
|
||||||
}, reqSignIn, context.RepoAssignment(), reqRepoAdmin, context.RepoRef())
|
|
||||||
|
|
||||||
m.Get("/:username/:reponame/action/:action", reqSignIn, context.RepoAssignment(), repo.Action)
|
|
||||||
m.Group("/:username/:reponame", func() {
|
|
||||||
m.Get("/issues", repo.RetrieveLabels, repo.Issues)
|
|
||||||
m.Get("/issues/:index", repo.ViewIssue)
|
|
||||||
m.Get("/labels/", repo.RetrieveLabels, repo.Labels)
|
|
||||||
m.Get("/milestones", repo.Milestones)
|
|
||||||
}, ignSignIn, context.RepoAssignment(true))
|
|
||||||
m.Group("/:username/:reponame", func() {
|
|
||||||
// FIXME: should use different URLs but mostly same logic for comments of issue and pull reuqest.
|
|
||||||
// So they can apply their own enable/disable logic on routers.
|
|
||||||
m.Group("/issues", func() {
|
|
||||||
m.Combo("/new", repo.MustEnableIssues).Get(context.RepoRef(), repo.NewIssue).
|
|
||||||
Post(bindIgnErr(form.NewIssue{}), repo.NewIssuePost)
|
|
||||||
|
|
||||||
m.Group("/:index", func() {
|
|
||||||
m.Post("/title", repo.UpdateIssueTitle)
|
|
||||||
m.Post("/content", repo.UpdateIssueContent)
|
|
||||||
m.Combo("/comments").Post(bindIgnErr(form.CreateComment{}), repo.NewComment)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
m.Group("/comments/:id", func() {
|
|
||||||
m.Post("", repo.UpdateCommentContent)
|
|
||||||
m.Post("/delete", repo.DeleteComment)
|
|
||||||
})
|
|
||||||
}, reqSignIn, context.RepoAssignment(true))
|
|
||||||
m.Group("/:username/:reponame", func() {
|
|
||||||
m.Group("/wiki", func() {
|
|
||||||
m.Get("/?:page", repo.Wiki)
|
|
||||||
m.Get("/_pages", repo.WikiPages)
|
|
||||||
}, repo.MustEnableWiki, context.RepoRef())
|
|
||||||
}, ignSignIn, context.RepoAssignment(false, true))
|
|
||||||
|
|
||||||
m.Group("/:username/:reponame", func() {
|
|
||||||
// FIXME: should use different URLs but mostly same logic for comments of issue and pull reuqest.
|
|
||||||
// So they can apply their own enable/disable logic on routers.
|
|
||||||
m.Group("/issues", func() {
|
|
||||||
m.Group("/:index", func() {
|
|
||||||
m.Post("/label", repo.UpdateIssueLabel)
|
|
||||||
m.Post("/milestone", repo.UpdateIssueMilestone)
|
|
||||||
m.Post("/assignee", repo.UpdateIssueAssignee)
|
|
||||||
}, reqRepoWriter)
|
|
||||||
})
|
|
||||||
m.Group("/labels", func() {
|
|
||||||
m.Post("/new", bindIgnErr(form.CreateLabel{}), repo.NewLabel)
|
|
||||||
m.Post("/edit", bindIgnErr(form.CreateLabel{}), repo.UpdateLabel)
|
|
||||||
m.Post("/delete", repo.DeleteLabel)
|
|
||||||
m.Post("/initialize", bindIgnErr(form.InitializeLabels{}), repo.InitializeLabels)
|
|
||||||
}, reqRepoWriter, context.RepoRef())
|
|
||||||
m.Group("/milestones", func() {
|
|
||||||
m.Combo("/new").Get(repo.NewMilestone).
|
|
||||||
Post(bindIgnErr(form.CreateMilestone{}), repo.NewMilestonePost)
|
|
||||||
m.Get("/:id/edit", repo.EditMilestone)
|
|
||||||
m.Post("/:id/edit", bindIgnErr(form.CreateMilestone{}), repo.EditMilestonePost)
|
|
||||||
m.Get("/:id/:action", repo.ChangeMilestonStatus)
|
|
||||||
m.Post("/delete", repo.DeleteMilestone)
|
|
||||||
}, reqRepoWriter, context.RepoRef())
|
|
||||||
|
|
||||||
m.Group("/releases", func() {
|
|
||||||
m.Get("/new", repo.NewRelease)
|
|
||||||
m.Post("/new", bindIgnErr(form.NewRelease{}), repo.NewReleasePost)
|
|
||||||
m.Post("/delete", repo.DeleteRelease)
|
|
||||||
m.Get("/edit/*", repo.EditRelease)
|
|
||||||
m.Post("/edit/*", bindIgnErr(form.EditRelease{}), repo.EditReleasePost)
|
|
||||||
}, repo.MustBeNotBare, reqRepoWriter, func(c *context.Context) {
|
|
||||||
c.Data["PageIsViewFiles"] = true
|
|
||||||
})
|
|
||||||
|
|
||||||
// FIXME: Should use c.Repo.PullRequest to unify template, currently we have inconsistent URL
|
|
||||||
// for PR in same repository. After select branch on the page, the URL contains redundant head user name.
|
|
||||||
// e.g. /org1/test-repo/compare/master...org1:develop
|
|
||||||
// which should be /org1/test-repo/compare/master...develop
|
|
||||||
m.Combo("/compare/*", repo.MustAllowPulls).Get(repo.CompareAndPullRequest).
|
|
||||||
Post(bindIgnErr(form.NewIssue{}), repo.CompareAndPullRequestPost)
|
|
||||||
|
|
||||||
m.Group("", func() {
|
|
||||||
m.Combo("/_edit/*").Get(repo.EditFile).
|
|
||||||
Post(bindIgnErr(form.EditRepoFile{}), repo.EditFilePost)
|
|
||||||
m.Combo("/_new/*").Get(repo.NewFile).
|
|
||||||
Post(bindIgnErr(form.EditRepoFile{}), repo.NewFilePost)
|
|
||||||
m.Post("/_preview/*", bindIgnErr(form.EditPreviewDiff{}), repo.DiffPreviewPost)
|
|
||||||
m.Combo("/_delete/*").Get(repo.DeleteFile).
|
|
||||||
Post(bindIgnErr(form.DeleteRepoFile{}), repo.DeleteFilePost)
|
|
||||||
|
|
||||||
m.Group("", func() {
|
|
||||||
m.Combo("/_upload/*").Get(repo.UploadFile).
|
|
||||||
Post(bindIgnErr(form.UploadRepoFile{}), repo.UploadFilePost)
|
|
||||||
m.Post("/upload-file", repo.UploadFileToServer)
|
|
||||||
m.Post("/upload-remove", bindIgnErr(form.RemoveUploadFile{}), repo.RemoveUploadFileFromServer)
|
|
||||||
}, func(c *context.Context) {
|
|
||||||
if !setting.Repository.Upload.Enabled {
|
|
||||||
c.NotFound()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}, repo.MustBeNotBare, reqRepoWriter, context.RepoRef(), func(c *context.Context) {
|
|
||||||
if !c.Repo.CanEnableEditor() {
|
|
||||||
c.NotFound()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
c.Data["PageIsViewFiles"] = true
|
|
||||||
})
|
|
||||||
}, reqSignIn, context.RepoAssignment())
|
|
||||||
|
|
||||||
m.Group("/:username/:reponame", func() {
|
|
||||||
m.Group("", func() {
|
|
||||||
m.Get("/releases", repo.MustBeNotBare, repo.Releases)
|
|
||||||
m.Get("/pulls", repo.RetrieveLabels, repo.Pulls)
|
|
||||||
m.Get("/pulls/:index", repo.ViewPull)
|
|
||||||
}, context.RepoRef())
|
|
||||||
|
|
||||||
m.Group("/branches", func() {
|
|
||||||
m.Get("", repo.Branches)
|
|
||||||
m.Get("/all", repo.AllBranches)
|
|
||||||
m.Post("/delete/*", reqSignIn, reqRepoWriter, repo.DeleteBranchPost)
|
|
||||||
}, repo.MustBeNotBare, func(c *context.Context) {
|
|
||||||
c.Data["PageIsViewFiles"] = true
|
|
||||||
})
|
|
||||||
|
|
||||||
m.Group("/wiki", func() {
|
|
||||||
m.Group("", func() {
|
|
||||||
m.Combo("/_new").Get(repo.NewWiki).
|
|
||||||
Post(bindIgnErr(form.NewWiki{}), repo.NewWikiPost)
|
|
||||||
m.Combo("/:page/_edit").Get(repo.EditWiki).
|
|
||||||
Post(bindIgnErr(form.NewWiki{}), repo.EditWikiPost)
|
|
||||||
m.Post("/:page/delete", repo.DeleteWikiPagePost)
|
|
||||||
}, reqSignIn, reqRepoWriter)
|
|
||||||
}, repo.MustEnableWiki, context.RepoRef())
|
|
||||||
|
|
||||||
m.Get("/archive/*", repo.MustBeNotBare, repo.Download)
|
|
||||||
|
|
||||||
m.Group("/pulls/:index", func() {
|
|
||||||
m.Get("/commits", context.RepoRef(), repo.ViewPullCommits)
|
|
||||||
m.Get("/files", context.RepoRef(), repo.ViewPullFiles)
|
|
||||||
m.Post("/merge", reqRepoWriter, repo.MergePullRequest)
|
|
||||||
}, repo.MustAllowPulls)
|
|
||||||
|
|
||||||
m.Group("", func() {
|
|
||||||
m.Get("/src/*", repo.Home)
|
|
||||||
m.Get("/raw/*", repo.SingleDownload)
|
|
||||||
m.Get("/commits/*", repo.RefCommits)
|
|
||||||
m.Get("/commit/:sha([a-f0-9]{7,40})$", repo.Diff)
|
|
||||||
m.Get("/forks", repo.Forks)
|
|
||||||
}, repo.MustBeNotBare, context.RepoRef())
|
|
||||||
m.Get("/commit/:sha([a-f0-9]{7,40})\\.:ext(patch|diff)", repo.MustBeNotBare, repo.RawDiff)
|
|
||||||
|
|
||||||
m.Get("/compare/:before([a-z0-9]{40})\\.\\.\\.:after([a-z0-9]{40})", repo.MustBeNotBare, context.RepoRef(), repo.CompareDiff)
|
|
||||||
}, ignSignIn, context.RepoAssignment())
|
|
||||||
m.Group("/:username/:reponame", func() {
|
|
||||||
m.Get("/stars", repo.Stars)
|
|
||||||
m.Get("/watchers", repo.Watchers)
|
|
||||||
}, ignSignIn, context.RepoAssignment(), context.RepoRef())
|
|
||||||
|
|
||||||
m.Group("/:username", func() {
|
|
||||||
m.Get("/:reponame", ignSignIn, context.RepoAssignment(), context.RepoRef(), repo.Home)
|
|
||||||
|
|
||||||
m.Group("/:reponame", func() {
|
|
||||||
m.Head("/tasks/trigger", repo.TriggerTask)
|
|
||||||
})
|
|
||||||
// Use the regexp to match the repository name
|
|
||||||
// Duplicated routes to enable different ways of accessing same set of URLs,
|
|
||||||
// e.g. with or without ".git" suffix.
|
|
||||||
m.Group("/:reponame([\\d\\w-_\\.]+\\.git$)", func() {
|
|
||||||
m.Get("", ignSignIn, context.RepoAssignment(), context.RepoRef(), repo.Home)
|
|
||||||
m.Options("/*", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP)
|
|
||||||
m.Route("/*", "GET,POST", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP)
|
|
||||||
})
|
|
||||||
m.Options("/:reponame/*", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP)
|
|
||||||
m.Route("/:reponame/*", "GET,POST", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP)
|
|
||||||
})
|
|
||||||
// ***** END: Repository *****
|
|
||||||
|
|
||||||
m.Group("/api", func() {
|
|
||||||
apiv1.RegisterRoutes(m)
|
|
||||||
}, ignSignIn)
|
|
||||||
|
|
||||||
// robots.txt
|
|
||||||
m.Get("/robots.txt", func(c *context.Context) {
|
|
||||||
if setting.HasRobotsTxt {
|
|
||||||
c.ServeFileContent(path.Join(setting.CustomPath, "robots.txt"))
|
|
||||||
} else {
|
|
||||||
c.NotFound()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Not found handler.
|
|
||||||
m.NotFound(routes.NotFound)
|
|
||||||
|
|
||||||
// Flag for port number in case first time run conflict.
|
|
||||||
if c.IsSet("port") {
|
|
||||||
setting.AppURL = strings.Replace(setting.AppURL, setting.HTTPPort, c.String("port"), 1)
|
|
||||||
setting.HTTPPort = c.String("port")
|
|
||||||
}
|
|
||||||
|
|
||||||
var listenAddr string
|
|
||||||
if setting.Protocol == setting.SCHEME_UNIX_SOCKET {
|
|
||||||
listenAddr = fmt.Sprintf("%s", setting.HTTPAddr)
|
|
||||||
} else {
|
|
||||||
listenAddr = fmt.Sprintf("%s:%s", setting.HTTPAddr, setting.HTTPPort)
|
|
||||||
}
|
|
||||||
log.Info("Listen: %v://%s%s", setting.Protocol, listenAddr, setting.AppSubURL)
|
|
||||||
|
|
||||||
var err error
|
|
||||||
switch setting.Protocol {
|
|
||||||
case setting.SCHEME_HTTP:
|
|
||||||
err = http.ListenAndServe(listenAddr, m)
|
|
||||||
case setting.SCHEME_HTTPS:
|
|
||||||
var tlsMinVersion uint16
|
|
||||||
switch setting.TLSMinVersion {
|
|
||||||
case "SSL30":
|
|
||||||
tlsMinVersion = tls.VersionSSL30
|
|
||||||
case "TLS12":
|
|
||||||
tlsMinVersion = tls.VersionTLS12
|
|
||||||
case "TLS11":
|
|
||||||
tlsMinVersion = tls.VersionTLS11
|
|
||||||
case "TLS10":
|
|
||||||
fallthrough
|
|
||||||
default:
|
|
||||||
tlsMinVersion = tls.VersionTLS10
|
|
||||||
}
|
|
||||||
server := &http.Server{Addr: listenAddr, TLSConfig: &tls.Config{
|
|
||||||
MinVersion: tlsMinVersion,
|
|
||||||
CurvePreferences: []tls.CurveID{tls.CurveP521, tls.CurveP384, tls.CurveP256},
|
|
||||||
PreferServerCipherSuites: true,
|
|
||||||
CipherSuites: []uint16{
|
|
||||||
tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
|
|
||||||
tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, // Required for HTTP/2 support.
|
|
||||||
tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
|
|
||||||
tls.TLS_RSA_WITH_AES_256_CBC_SHA,
|
|
||||||
},
|
|
||||||
}, Handler: m}
|
|
||||||
err = server.ListenAndServeTLS(setting.CertFile, setting.KeyFile)
|
|
||||||
case setting.SCHEME_FCGI:
|
|
||||||
err = fcgi.Serve(nil, m)
|
|
||||||
case setting.SCHEME_UNIX_SOCKET:
|
|
||||||
os.Remove(listenAddr)
|
|
||||||
|
|
||||||
var listener *net.UnixListener
|
|
||||||
listener, err = net.ListenUnix("unix", &net.UnixAddr{listenAddr, "unix"})
|
|
||||||
if err != nil {
|
|
||||||
break // Handle error after switch
|
|
||||||
}
|
|
||||||
|
|
||||||
// FIXME: add proper implementation of signal capture on all protocols
|
|
||||||
// execute this on SIGTERM or SIGINT: listener.Close()
|
|
||||||
if err = os.Chmod(listenAddr, os.FileMode(setting.UnixSocketPermission)); err != nil {
|
|
||||||
log.Fatal(4, "Failed to set permission of unix socket: %v", err)
|
|
||||||
}
|
|
||||||
err = http.Serve(listener, m)
|
|
||||||
default:
|
|
||||||
log.Fatal(4, "Invalid protocol: %s", setting.Protocol)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(4, "Failed to start server: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
Execute following command in ROOT directory when anything is changed:
|
|
||||||
|
|
||||||
$ make bindata
|
|
||||||
687
conf/app.ini
687
conf/app.ini
@@ -2,53 +2,26 @@
|
|||||||
# !!! PLEASE MAKE CHANGES ON CORRESPONDING CUSTOM CONFIG FILE !!!
|
# !!! PLEASE MAKE CHANGES ON CORRESPONDING CUSTOM CONFIG FILE !!!
|
||||||
# !!! IF YOU ARE PACKAGING PROVIDER, PLEASE MAKE OWN COPY OF IT !!!
|
# !!! IF YOU ARE PACKAGING PROVIDER, PLEASE MAKE OWN COPY OF IT !!!
|
||||||
|
|
||||||
; App name that shows on every page title
|
; The brand name of the application, can be your company or team name.
|
||||||
APP_NAME = Gogs
|
BRAND_NAME = Gogs
|
||||||
; The name of the system user that runs Gogs
|
; The system user who should be running the applications. It has no effect on Windows,
|
||||||
|
; otherwise, it should match the value of $USER environment variable.
|
||||||
RUN_USER = git
|
RUN_USER = git
|
||||||
; Either "dev", "prod" or "test"
|
; The running mode of the application, can be either "dev", "prod" or "test".
|
||||||
RUN_MODE = dev
|
RUN_MODE = dev
|
||||||
|
|
||||||
[server]
|
[server]
|
||||||
PROTOCOL = http
|
; The public-facing URL for the application.
|
||||||
|
EXTERNAL_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
|
||||||
|
; The public-facing domain name for the application.
|
||||||
DOMAIN = localhost
|
DOMAIN = localhost
|
||||||
ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
|
; The protocol that is used to serve direct traffic to the application.
|
||||||
|
; Currently supports "http", "https", "fcgi" and "unix".
|
||||||
|
PROTOCOL = http
|
||||||
|
; The address to be listened by the application.
|
||||||
HTTP_ADDR = 0.0.0.0
|
HTTP_ADDR = 0.0.0.0
|
||||||
|
; The port number to be listened by the application.
|
||||||
HTTP_PORT = 3000
|
HTTP_PORT = 3000
|
||||||
; Permission for unix socket
|
|
||||||
UNIX_SOCKET_PERMISSION = 666
|
|
||||||
; Local (DMZ) URL for Gogs workers (such as SSH update) accessing web service.
|
|
||||||
; In most cases you do not need to change the default value.
|
|
||||||
; Alter it only if your SSH server node is not the same as HTTP node.
|
|
||||||
LOCAL_ROOT_URL = %(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/
|
|
||||||
; Disable SSH feature when not available
|
|
||||||
DISABLE_SSH = false
|
|
||||||
; Whether use builtin SSH server or not.
|
|
||||||
START_SSH_SERVER = false
|
|
||||||
; Domain name to be exposed in SSH clone URL
|
|
||||||
SSH_DOMAIN = %(DOMAIN)s
|
|
||||||
; Port number to be exposed in SSH clone URL
|
|
||||||
SSH_PORT = 22
|
|
||||||
; Network interface builtin SSH server listens on
|
|
||||||
SSH_LISTEN_HOST = 0.0.0.0
|
|
||||||
; Port number builtin SSH server listens on
|
|
||||||
SSH_LISTEN_PORT = %(SSH_PORT)s
|
|
||||||
; Root path of SSH directory, default is '~/.ssh', but you have to use '/home/git/.ssh'.
|
|
||||||
SSH_ROOT_PATH =
|
|
||||||
; Indicate whether to rewrite authorized_keys at start, ignored when use builtin SSH server
|
|
||||||
REWRITE_AUTHORIZED_KEYS_AT_START = false
|
|
||||||
; Choose the ciphers to support for SSH connections
|
|
||||||
SSH_SERVER_CIPHERS = aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, arcfour256, arcfour128
|
|
||||||
; Directory to create temporary files when test publick key using ssh-keygen,
|
|
||||||
; default is system temporary directory.
|
|
||||||
SSH_KEY_TEST_PATH =
|
|
||||||
; Path to ssh-keygen, default is 'ssh-keygen' and let shell find out which one to call.
|
|
||||||
SSH_KEYGEN_PATH = ssh-keygen
|
|
||||||
; Indicate whether to check minimum key size with corresponding type
|
|
||||||
MINIMUM_KEY_SIZE_CHECK = false
|
|
||||||
; Disable CDN even in "prod" mode
|
|
||||||
OFFLINE_MODE = false
|
|
||||||
DISABLE_ROUTER_LOG = false
|
|
||||||
; Generate steps:
|
; Generate steps:
|
||||||
; $ ./gogs cert -ca=true -duration=8760h0m0s -host=myhost.example.com
|
; $ ./gogs cert -ca=true -duration=8760h0m0s -host=myhost.example.com
|
||||||
;
|
;
|
||||||
@@ -58,267 +31,334 @@ DISABLE_ROUTER_LOG = false
|
|||||||
; $ openssl pkcs12 -in cert.pfx -out key.pem -nocerts -nodes
|
; $ openssl pkcs12 -in cert.pfx -out key.pem -nocerts -nodes
|
||||||
CERT_FILE = custom/https/cert.pem
|
CERT_FILE = custom/https/cert.pem
|
||||||
KEY_FILE = custom/https/key.pem
|
KEY_FILE = custom/https/key.pem
|
||||||
; Allowed TLS version values: SSL30, TLS10, TLS11, TLS12
|
; The minimum allowed TLS version, currently supports "TLS10", "TLS11", "TLS12", and "TLS13".
|
||||||
TLS_MIN_VERSION = TLS10
|
TLS_MIN_VERSION = TLS12
|
||||||
|
; File permission when serve traffic via Unix domain socket.
|
||||||
|
UNIX_SOCKET_PERMISSION = 666
|
||||||
|
; Local (DMZ) URL for workers (e.g. SSH update) accessing web service.
|
||||||
|
; In most cases you do not need to change the default value.
|
||||||
|
; Alter it only if your SSH server node is not the same as HTTP node.
|
||||||
|
LOCAL_ROOT_URL = %(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/
|
||||||
|
|
||||||
; Upper level of template and static file path
|
; Whether to disable using CDN for static files regardless.
|
||||||
; default is the path where Gogs is executed
|
OFFLINE_MODE = false
|
||||||
STATIC_ROOT_PATH =
|
; Whether to disable logging in router.
|
||||||
; Default path for App data
|
DISABLE_ROUTER_LOG = true
|
||||||
APP_DATA_PATH = data
|
; Whether to enable application level GZIP compression.
|
||||||
; Application level GZIP support
|
|
||||||
ENABLE_GZIP = false
|
ENABLE_GZIP = false
|
||||||
; Landing page for non-logged users, can be "home" or "explore"
|
|
||||||
LANDING_PAGE = home
|
|
||||||
|
|
||||||
[repository]
|
; The path for storing application specific data.
|
||||||
; Root path for storing repositories's data, default is "~/<username>/gogs-repositories"
|
APP_DATA_PATH = data
|
||||||
ROOT =
|
; Whether to enable to load assets (i.e. "conf", "templates", "public") from disk instead of embedded bindata.
|
||||||
; The script type server supports, sometimes could be "sh"
|
LOAD_ASSETS_FROM_DISK = false
|
||||||
SCRIPT_TYPE = bash
|
|
||||||
; Default ANSI charset for an unrecognized charset
|
|
||||||
ANSI_CHARSET =
|
|
||||||
; Force every new repository to be private
|
|
||||||
FORCE_PRIVATE = false
|
|
||||||
; Global maximum creation limit of repository per user, -1 means no limit
|
|
||||||
MAX_CREATION_LIMIT = -1
|
|
||||||
; Mirror sync queue length, increase if mirror syncing starts hanging
|
|
||||||
MIRROR_QUEUE_LENGTH = 1000
|
|
||||||
; Patch test queue length, increase if pull request patch testing starts hanging
|
|
||||||
PULL_REQUEST_QUEUE_LENGTH = 1000
|
|
||||||
; Preferred Licenses to place at the top of the list
|
|
||||||
; Name must match file name in conf/license or custom/conf/license
|
|
||||||
PREFERRED_LICENSES = Apache License 2.0,MIT License
|
|
||||||
; Disable ability to interact with repositories by HTTP protocol
|
|
||||||
DISABLE_HTTP_GIT = false
|
|
||||||
; Enable ability to migrate repository by local path
|
|
||||||
ENABLE_LOCAL_PATH_MIGRATION = false
|
|
||||||
; Concurrency is used to retrieve commits information. This variable define
|
|
||||||
; the maximum number of tasks that can be run at the same time. Usually, the
|
|
||||||
; value depend of how many CPUs (cores) you have. If the value is set to zero
|
|
||||||
; or under, GOGS will automatically detect the number of CPUs your system have
|
|
||||||
COMMITS_FETCH_CONCURRENCY = 0
|
|
||||||
; Enable render mode for raw file
|
|
||||||
ENABLE_RAW_FILE_RENDER_MODE = false
|
|
||||||
|
|
||||||
[repository.editor]
|
; The landing page URL for anonymous users, the value should not include
|
||||||
; List of file extensions that should have line wraps in the CodeMirror editor.
|
; subpath that is handled by the reverse proxy.
|
||||||
; Separate extensions with a comma. To line wrap files without extension, just put a comma
|
LANDING_URL = /
|
||||||
LINE_WRAP_EXTENSIONS = .txt,.md,.markdown,.mdown,.mkd,
|
|
||||||
; Valid file modes that have a preview API associated with them, such as api/v1/markdown.
|
|
||||||
; Separate values by commas. Preview tab in edit mode won't show if the file extension doesn't match
|
|
||||||
PREVIEWABLE_FILE_MODES = markdown
|
|
||||||
|
|
||||||
[repository.upload]
|
; Whether to disable SSH access to the application entirely.
|
||||||
; Enable repository file uploads.
|
DISABLE_SSH = false
|
||||||
ENABLED = true
|
; The domain name to be exposed in SSH clone URL.
|
||||||
; Path to temporarily store uploads (default path gets cleaned by Gogs in every start)
|
SSH_DOMAIN = %(DOMAIN)s
|
||||||
TEMP_PATH = data/tmp/uploads
|
; The port number to be exposed in SSH clone URL.
|
||||||
; File types that are allowed to be uploaded, e.g. image/jpeg|image/png. Leave empty means allow any file type
|
SSH_PORT = 22
|
||||||
ALLOWED_TYPES =
|
; The path of SSH root directory, default is "$HOME/.ssh".
|
||||||
; Maximum size of each file in MB
|
SSH_ROOT_PATH =
|
||||||
FILE_MAX_SIZE = 3
|
; The path to ssh-keygen, default is "ssh-keygen" and let shell find out which one to call.
|
||||||
; Maximum number of files per upload
|
SSH_KEYGEN_PATH = ssh-keygen
|
||||||
MAX_FILES = 5
|
; The directory to create temporary files when test a public key using ssh-keygen,
|
||||||
|
; default is the system temporary directory.
|
||||||
|
SSH_KEY_TEST_PATH =
|
||||||
|
; Whether to check minimum public key size with corresponding type.
|
||||||
|
MINIMUM_KEY_SIZE_CHECK = false
|
||||||
|
; Whether to rewrite "~/.ssh/authorized_keys" file at start, ignored when use builtin SSH server.
|
||||||
|
REWRITE_AUTHORIZED_KEYS_AT_START = false
|
||||||
|
; Whether to start a builtin SSH server.
|
||||||
|
START_SSH_SERVER = false
|
||||||
|
; The network interface for builtin SSH server to listen on.
|
||||||
|
SSH_LISTEN_HOST = 0.0.0.0
|
||||||
|
; The port number for builtin SSH server to listen on.
|
||||||
|
SSH_LISTEN_PORT = %(SSH_PORT)s
|
||||||
|
; The list of accepted ciphers for connections to builtin SSH server.
|
||||||
|
SSH_SERVER_CIPHERS = aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, arcfour256, arcfour128
|
||||||
|
; The list of accepted MACs for connections to builtin SSH server.
|
||||||
|
SSH_SERVER_MACS = hmac-sha2-256-etm@openssh.com, hmac-sha2-256, hmac-sha1
|
||||||
|
; The list of accepted key exchange algorithms for connections to builtin SSH server.
|
||||||
|
SSH_SERVER_ALGORITHMS = rsa, ecdsa, ed25519
|
||||||
|
|
||||||
; Attachment settings for releases
|
; Define allowed algorithms and their minimum key length (use -1 to disable a type).
|
||||||
[release.attachment]
|
|
||||||
; Whether attachments are enabled. Defaults to `true`
|
|
||||||
ENABLED = true
|
|
||||||
; Path for attachments. Defaults to `data/attachments`
|
|
||||||
PATH = data/attachments
|
|
||||||
; One or more allowed types, e.g. image/jpeg|image/png
|
|
||||||
ALLOWED_TYPES = */*
|
|
||||||
; Max size of each file. Defaults to 32MB
|
|
||||||
MAX_SIZE = 32
|
|
||||||
; Max number of files per upload. Defaults to 10
|
|
||||||
MAX_FILES = 10
|
|
||||||
|
|
||||||
[markdown]
|
|
||||||
; Enable hard line break extension
|
|
||||||
ENABLE_HARD_LINE_BREAK = false
|
|
||||||
; List of custom URL-Schemes that are allowed as links when rendering Markdown
|
|
||||||
; for example git,magnet
|
|
||||||
CUSTOM_URL_SCHEMES =
|
|
||||||
; List of file extensions that should be rendered/edited as Markdown
|
|
||||||
; Separate extensions with a comma. To render files w/o extension as markdown, just put a comma
|
|
||||||
FILE_EXTENSIONS = .md,.markdown,.mdown,.mkd
|
|
||||||
|
|
||||||
[smartypants]
|
|
||||||
ENABLED = false
|
|
||||||
FRACTIONS = true
|
|
||||||
DASHES = true
|
|
||||||
LATEX_DASHES = true
|
|
||||||
ANGLED_QUOTES = true
|
|
||||||
|
|
||||||
[http]
|
|
||||||
; Value for Access-Control-Allow-Origin header, default is not to present
|
|
||||||
ACCESS_CONTROL_ALLOW_ORIGIN =
|
|
||||||
|
|
||||||
; Define allowed algorithms and their minimum key length (use -1 to disable a type)
|
|
||||||
[ssh.minimum_key_sizes]
|
[ssh.minimum_key_sizes]
|
||||||
ED25519 = 256
|
ED25519 = 256
|
||||||
ECDSA = 256
|
ECDSA = 256
|
||||||
RSA = 2048
|
RSA = 2048
|
||||||
DSA = 1024
|
DSA = 1024
|
||||||
|
|
||||||
[database]
|
[repository]
|
||||||
; Either "mysql", "postgres" or "sqlite3", you can connect to TiDB with MySQL protocol
|
; The root path for storing managed repositories, default is "~/gogs-repositories"
|
||||||
DB_TYPE = mysql
|
ROOT =
|
||||||
HOST = 127.0.0.1:3306
|
; The script type server supports, sometimes could be "sh".
|
||||||
NAME = gogs
|
SCRIPT_TYPE = bash
|
||||||
USER = root
|
; Default ANSI charset for an unrecognized charset.
|
||||||
PASSWD =
|
ANSI_CHARSET =
|
||||||
; For "postgres" only, either "disable", "require" or "verify-full"
|
; Whether to force every new repository to be private.
|
||||||
SSL_MODE = disable
|
FORCE_PRIVATE = false
|
||||||
; For "sqlite3" and "tidb", use absolute path when you start as service
|
; The global limit of number of repositories a user can create, -1 means no limit.
|
||||||
PATH = data/gogs.db
|
MAX_CREATION_LIMIT = -1
|
||||||
|
; Preferred Licenses to place at the top of the list.
|
||||||
|
; Name must match file name in "conf/license" or "custom/conf/license".
|
||||||
|
PREFERRED_LICENSES = Apache License 2.0, MIT License
|
||||||
|
; Whether to disable Git interaction with repositories via HTTP/HTTPS protocol.
|
||||||
|
DISABLE_HTTP_GIT = false
|
||||||
|
; Whether to enable ability to migrate repository by server local path.
|
||||||
|
ENABLE_LOCAL_PATH_MIGRATION = false
|
||||||
|
; Whether to enable render mode for raw file. There are potential security risks.
|
||||||
|
ENABLE_RAW_FILE_RENDER_MODE = false
|
||||||
|
; The maximum number of goroutines that can be run at the same time for a single
|
||||||
|
; fetch request. Usually, the value depend of how many CPU (cores) you have. If
|
||||||
|
; the value is non-positive, it matches the number of CPUs available to the application.
|
||||||
|
COMMITS_FETCH_CONCURRENCY = 0
|
||||||
|
; Default branch name when creating new repositories.
|
||||||
|
DEFAULT_BRANCH = master
|
||||||
|
|
||||||
[admin]
|
[repository.editor]
|
||||||
; Disable regular (non-admin) users to create organizations
|
; List of file extensions that should have line wraps in the CodeMirror editor.
|
||||||
DISABLE_REGULAR_ORG_CREATION = false
|
; Separate extensions with a comma.
|
||||||
|
LINE_WRAP_EXTENSIONS = .txt,.md,.markdown,.mdown,.mkd
|
||||||
|
; Valid file modes that have a preview API associated with them, such as "/api/v1/markdown".
|
||||||
|
; Separate values by commas. Preview tab in edit mode won't show if the file extension doesn't match.
|
||||||
|
PREVIEWABLE_FILE_MODES = markdown
|
||||||
|
|
||||||
[security]
|
[repository.upload]
|
||||||
INSTALL_LOCK = false
|
; Whether to enable repository file uploads.
|
||||||
; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
|
|
||||||
SECRET_KEY = !#@FDEWREWR&*(
|
|
||||||
; Auto-login remember days
|
|
||||||
LOGIN_REMEMBER_DAYS = 7
|
|
||||||
COOKIE_USERNAME = gogs_awesome
|
|
||||||
COOKIE_REMEMBER_NAME = gogs_incredible
|
|
||||||
COOKIE_SECURE = false
|
|
||||||
; Reverse proxy authentication header name of user name
|
|
||||||
REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER
|
|
||||||
; Enable to set cookie to indicate user login status
|
|
||||||
ENABLE_LOGIN_STATUS_COOKIE = false
|
|
||||||
LOGIN_STATUS_COOKIE_NAME = login_status
|
|
||||||
|
|
||||||
[service]
|
|
||||||
ACTIVE_CODE_LIVE_MINUTES = 180
|
|
||||||
RESET_PASSWD_CODE_LIVE_MINUTES = 180
|
|
||||||
; User need to confirm e-mail for registration
|
|
||||||
REGISTER_EMAIL_CONFIRM = false
|
|
||||||
; Does not allow register and admin create account only
|
|
||||||
DISABLE_REGISTRATION = false
|
|
||||||
; User must sign in to view anything.
|
|
||||||
REQUIRE_SIGNIN_VIEW = false
|
|
||||||
; Mail notification
|
|
||||||
ENABLE_NOTIFY_MAIL = false
|
|
||||||
; More detail: https://github.com/gogits/gogs/issues/165
|
|
||||||
ENABLE_REVERSE_PROXY_AUTHENTICATION = false
|
|
||||||
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
|
|
||||||
; Enable captcha validation for registration
|
|
||||||
ENABLE_CAPTCHA = true
|
|
||||||
|
|
||||||
[webhook]
|
|
||||||
; Types are enabled for users to use, can be "gogs", "slack", "discord", "dingtalk"
|
|
||||||
TYPES = gogs, slack, discord, dingtalk
|
|
||||||
; Hook task queue length, increase if webhook shooting starts hanging
|
|
||||||
QUEUE_LENGTH = 1000
|
|
||||||
; Deliver timeout in seconds
|
|
||||||
DELIVER_TIMEOUT = 15
|
|
||||||
; Allow insecure certification
|
|
||||||
SKIP_TLS_VERIFY = false
|
|
||||||
; Number of history information in each page
|
|
||||||
PAGING_NUM = 10
|
|
||||||
|
|
||||||
[mailer]
|
|
||||||
ENABLED = false
|
|
||||||
; Buffer length of channel, keep it as it is if you don't know what it is.
|
|
||||||
SEND_BUFFER_LEN = 100
|
|
||||||
; Prefix prepended to the subject line
|
|
||||||
SUBJECT_PREFIX = `[%(APP_NAME)s] `
|
|
||||||
; Mail server
|
|
||||||
; Gmail: smtp.gmail.com:587
|
|
||||||
; QQ: smtp.qq.com:465
|
|
||||||
; Note, if the port ends with "465", SMTPS will be used. Using STARTTLS on port 587 is recommended per RFC 6409. If the server supports STARTTLS it will always be used.
|
|
||||||
HOST =
|
|
||||||
; Disable HELO operation when hostname are different.
|
|
||||||
DISABLE_HELO =
|
|
||||||
; Custom hostname for HELO operation, default is from system.
|
|
||||||
HELO_HOSTNAME =
|
|
||||||
; Do not verify the certificate of the server. Only use this for self-signed certificates
|
|
||||||
SKIP_VERIFY =
|
|
||||||
; Use client certificate
|
|
||||||
USE_CERTIFICATE = false
|
|
||||||
CERT_FILE = custom/mailer/cert.pem
|
|
||||||
KEY_FILE = custom/mailer/key.pem
|
|
||||||
; Mail from address, RFC 5322. This can be just an email address, or the `"Name" <email@example.com>` format
|
|
||||||
FROM =
|
|
||||||
; Mailer user name and password
|
|
||||||
USER =
|
|
||||||
PASSWD =
|
|
||||||
; Use text/plain as format of content
|
|
||||||
USE_PLAIN_TEXT = false
|
|
||||||
|
|
||||||
[cache]
|
|
||||||
; Either "memory", "redis", or "memcache", default is "memory"
|
|
||||||
ADAPTER = memory
|
|
||||||
; For "memory" only, GC interval in seconds, default is 60
|
|
||||||
INTERVAL = 60
|
|
||||||
; For "redis" and "memcache", connection host address
|
|
||||||
; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
|
|
||||||
; memcache: `127.0.0.1:11211`
|
|
||||||
HOST =
|
|
||||||
|
|
||||||
[session]
|
|
||||||
; Either "memory", "file", or "redis", default is "memory"
|
|
||||||
PROVIDER = memory
|
|
||||||
; Provider config options
|
|
||||||
; memory: not have any config yet
|
|
||||||
; file: session file path, e.g. `data/sessions`
|
|
||||||
; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
|
|
||||||
; mysql: go-sql-driver/mysql dsn config string, e.g. `root:password@/session_table`
|
|
||||||
PROVIDER_CONFIG = data/sessions
|
|
||||||
; Session cookie name
|
|
||||||
COOKIE_NAME = i_like_gogits
|
|
||||||
; If you use session in https only, default is false
|
|
||||||
COOKIE_SECURE = false
|
|
||||||
; Enable set cookie, default is true
|
|
||||||
ENABLE_SET_COOKIE = true
|
|
||||||
; Session GC time interval, default is 3600
|
|
||||||
GC_INTERVAL_TIME = 3600
|
|
||||||
; Session life time, default is 86400
|
|
||||||
SESSION_LIFE_TIME = 86400
|
|
||||||
; Cookie name for CSRF
|
|
||||||
CSRF_COOKIE_NAME = _csrf
|
|
||||||
|
|
||||||
[picture]
|
|
||||||
; Path to store user uploaded avatars
|
|
||||||
AVATAR_UPLOAD_PATH = data/avatars
|
|
||||||
; Chinese users can choose "duoshuo"
|
|
||||||
; or a custom avatar source, like: http://cn.gravatar.com/avatar/
|
|
||||||
GRAVATAR_SOURCE = gravatar
|
|
||||||
; This value will be forced to be true in offline mode.
|
|
||||||
DISABLE_GRAVATAR = false
|
|
||||||
; Federated avatar lookup uses DNS to discover avatar associated
|
|
||||||
; with emails, see https://www.libravatar.org
|
|
||||||
; This value will be forced to be false in offline mode or Gravatar is disbaled.
|
|
||||||
ENABLE_FEDERATED_AVATAR = false
|
|
||||||
|
|
||||||
; Attachment settings for issues
|
|
||||||
[attachment]
|
|
||||||
; Whether attachments are enabled. Defaults to `true`
|
|
||||||
ENABLED = true
|
ENABLED = true
|
||||||
; Path for attachments. Defaults to `data/attachments`
|
; The path to temporarily store uploads (content under this path gets wiped out on every start).
|
||||||
PATH = data/attachments
|
TEMP_PATH = data/tmp/uploads
|
||||||
; One or more allowed types, e.g. image/jpeg|image/png
|
; File types that are allowed to be uploaded, e.g. "image/jpeg|image/png". Leave empty to allow any file type.
|
||||||
ALLOWED_TYPES = image/jpeg|image/png
|
ALLOWED_TYPES =
|
||||||
; Max size of each file. Defaults to 4MB
|
; The maximum size of each file in MB.
|
||||||
MAX_SIZE = 4
|
FILE_MAX_SIZE = 3
|
||||||
; Max number of files per upload. Defaults to 5
|
; The maximum number of files per upload.
|
||||||
MAX_FILES = 5
|
MAX_FILES = 5
|
||||||
|
|
||||||
[time]
|
[database]
|
||||||
; Specifies the format for fully outputed dates. Defaults to RFC1123
|
; The database backend, either "postgres", "mysql" or "sqlite3".
|
||||||
; Special supported values are ANSIC, UnixDate, RubyDate, RFC822, RFC822Z, RFC850, RFC1123, RFC1123Z, RFC3339, RFC3339Nano, Kitchen, Stamp, StampMilli, StampMicro and StampNano
|
TYPE = postgres
|
||||||
; For more information about the format see http://golang.org/pkg/time/#pkg-constants
|
HOST = 127.0.0.1:5432
|
||||||
FORMAT =
|
NAME = gogs
|
||||||
|
USER = gogs
|
||||||
|
PASSWORD =
|
||||||
|
; For "postgres" only
|
||||||
|
SCHEMA = public
|
||||||
|
; For "postgres" only, either "disable", "require" or "verify-full".
|
||||||
|
SSL_MODE = disable
|
||||||
|
; For "sqlite3" only, make sure to use absolute path.
|
||||||
|
PATH = data/gogs.db
|
||||||
|
; The maximum open connections of the pool.
|
||||||
|
MAX_OPEN_CONNS = 30
|
||||||
|
; The maximum idle connections of the pool.
|
||||||
|
MAX_IDLE_CONNS = 30
|
||||||
|
|
||||||
; General settings of loggers
|
[security]
|
||||||
|
; Whether to show the install page, set this to "true" to bypass it.
|
||||||
|
INSTALL_LOCK = false
|
||||||
|
; The secret to encrypt cookie values, 2FA code, etc.
|
||||||
|
; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
|
||||||
|
SECRET_KEY = !#@FDEWREWR&*(
|
||||||
|
; The days remembered for auto-login.
|
||||||
|
LOGIN_REMEMBER_DAYS = 7
|
||||||
|
; The cookie name to store auto-login information.
|
||||||
|
COOKIE_REMEMBER_NAME = gogs_incredible
|
||||||
|
; The cookie name to store logged in username.
|
||||||
|
COOKIE_USERNAME = gogs_awesome
|
||||||
|
; Whether to set secure cookie.
|
||||||
|
COOKIE_SECURE = false
|
||||||
|
; Whether to set cookie to indicate user login status.
|
||||||
|
ENABLE_LOGIN_STATUS_COOKIE = false
|
||||||
|
; The cookie name to store user login status.
|
||||||
|
LOGIN_STATUS_COOKIE_NAME = login_status
|
||||||
|
; A comma separated list of hostnames that are explicitly allowed to be accessed within the local network.
|
||||||
|
; Use "*" to allow all hostnames.
|
||||||
|
LOCAL_NETWORK_ALLOWLIST =
|
||||||
|
|
||||||
|
[email]
|
||||||
|
; Whether to enable the email service.
|
||||||
|
ENABLED = false
|
||||||
|
; The prefix prepended to the subject line.
|
||||||
|
SUBJECT_PREFIX = `[%(BRAND_NAME)s] `
|
||||||
|
; The SMTP server with its port, e.g. smtp.mailgun.org:587, smtp.gmail.com:587, smtp.qq.com:465
|
||||||
|
; If the port ends is "465", SMTPS will be used. Using STARTTLS on port 587 is recommended per RFC 6409.
|
||||||
|
; If the server supports STARTTLS it will always be used.
|
||||||
|
HOST = smtp.mailgun.org:587
|
||||||
|
; The email from address (RFC 5322). This can be just an email address, or the `"Name" <email@example.com>` format.
|
||||||
|
FROM = noreply@gogs.localhost
|
||||||
|
; The login user.
|
||||||
|
USER = noreply@gogs.localhost
|
||||||
|
; The login password.
|
||||||
|
PASSWORD =
|
||||||
|
|
||||||
|
; The custom hostname for HELO operation, default is from system.
|
||||||
|
HELO_HOSTNAME =
|
||||||
|
|
||||||
|
; Whether to skip verifying the certificate of the server. Only use this for self-signed certificates.
|
||||||
|
SKIP_VERIFY = false
|
||||||
|
; Whether to use client certificates.
|
||||||
|
USE_CERTIFICATE = false
|
||||||
|
CERT_FILE = custom/email/cert.pem
|
||||||
|
KEY_FILE = custom/email/key.pem
|
||||||
|
|
||||||
|
; Whether to use "text/plain" as content format.
|
||||||
|
USE_PLAIN_TEXT = false
|
||||||
|
; Whether to attach a plaintext alternative to the MIME message while sending HTML emails.
|
||||||
|
; It is used to support older mail clients and make spam filters happier.
|
||||||
|
ADD_PLAIN_TEXT_ALT = false
|
||||||
|
|
||||||
|
[auth]
|
||||||
|
; The valid duration of activate code in minutes.
|
||||||
|
ACTIVATE_CODE_LIVES = 180
|
||||||
|
; The valid duration of reset password code in minutes.
|
||||||
|
RESET_PASSWORD_CODE_LIVES = 180
|
||||||
|
; Whether to require email confirmation for adding new email addresses.
|
||||||
|
; Enable this option will also require user to confirm the email for registration.
|
||||||
|
REQUIRE_EMAIL_CONFIRMATION = false
|
||||||
|
; Whether to disallow anonymous users visiting the site.
|
||||||
|
REQUIRE_SIGNIN_VIEW = false
|
||||||
|
; Whether to disable self-registration. When disabled, accounts would have to be created by admins.
|
||||||
|
DISABLE_REGISTRATION = false
|
||||||
|
; Whether to enable captcha validation for registration
|
||||||
|
ENABLE_REGISTRATION_CAPTCHA = true
|
||||||
|
|
||||||
|
; Whether to enable reverse proxy authentication via HTTP header.
|
||||||
|
ENABLE_REVERSE_PROXY_AUTHENTICATION = false
|
||||||
|
; Whether to automatically create new users for reverse proxy authentication.
|
||||||
|
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
|
||||||
|
; The HTTP header used as username for reverse proxy authentication.
|
||||||
|
REVERSE_PROXY_AUTHENTICATION_HEADER = X-WEBAUTH-USER
|
||||||
|
|
||||||
|
[user]
|
||||||
|
; Whether to enable email notifications for users.
|
||||||
|
ENABLE_EMAIL_NOTIFICATION = false
|
||||||
|
|
||||||
|
[session]
|
||||||
|
; The session provider, either "memory", "file", or "redis".
|
||||||
|
PROVIDER = memory
|
||||||
|
; The configuration for respective provider:
|
||||||
|
; - memory: does not need any config yet
|
||||||
|
; - file: session file path, e.g. `data/sessions`
|
||||||
|
; - redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180,tls=true
|
||||||
|
PROVIDER_CONFIG = data/sessions
|
||||||
|
; The cookie name to store the session identifier.
|
||||||
|
COOKIE_NAME = i_like_gogs
|
||||||
|
; Whether to set cookie in HTTPS only.
|
||||||
|
COOKIE_SECURE = false
|
||||||
|
; The GC interval in seconds for session data.
|
||||||
|
GC_INTERVAL = 3600
|
||||||
|
; The maximum life time in seconds for a session.
|
||||||
|
MAX_LIFE_TIME = 86400
|
||||||
|
; The cookie name for CSRF token.
|
||||||
|
CSRF_COOKIE_NAME = _csrf
|
||||||
|
|
||||||
|
[cache]
|
||||||
|
; The cache adapter, either "memory", "redis", or "memcache".
|
||||||
|
ADAPTER = memory
|
||||||
|
; For "memory" only, GC interval in seconds.
|
||||||
|
INTERVAL = 60
|
||||||
|
; For "redis" and "memcache", connection host address:
|
||||||
|
; - redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
|
||||||
|
; - memcache: `127.0.0.1:11211`
|
||||||
|
HOST =
|
||||||
|
|
||||||
|
[http]
|
||||||
|
; The value for "Access-Control-Allow-Origin" header, default is not to present.
|
||||||
|
ACCESS_CONTROL_ALLOW_ORIGIN =
|
||||||
|
|
||||||
|
[lfs]
|
||||||
|
; The storage backend for uploading new objects.
|
||||||
|
STORAGE = local
|
||||||
|
; The root path to store LFS objects on local file system.
|
||||||
|
OBJECTS_PATH = data/lfs-objects
|
||||||
|
; The path to temporarily store LFS objects during upload verification.
|
||||||
|
OBJECTS_TEMP_PATH = data/tmp/lfs-objects
|
||||||
|
|
||||||
|
[attachment]
|
||||||
|
; Whether to enabled upload attachments in general.
|
||||||
|
ENABLED = true
|
||||||
|
; The path to store attachments on the file system.
|
||||||
|
PATH = data/attachments
|
||||||
|
; File types that are allowed to be uploaded, e.g. "image/jpeg|image/png". Leave empty to allow any file type.
|
||||||
|
ALLOWED_TYPES = image/jpeg|image/png
|
||||||
|
; The maximum size of each file in MB.
|
||||||
|
MAX_SIZE = 4
|
||||||
|
; The maximum number of files per upload.
|
||||||
|
MAX_FILES = 5
|
||||||
|
|
||||||
|
[release.attachment]
|
||||||
|
; Whether to enabled upload attachments for releases.
|
||||||
|
ENABLED = true
|
||||||
|
; File types that are allowed to be uploaded, e.g. "image/jpeg|image/png". Leave empty to allow any file type.
|
||||||
|
ALLOWED_TYPES = */*
|
||||||
|
; The maximum size of each file in MB.
|
||||||
|
MAX_SIZE = 32
|
||||||
|
; The maximum number of files per upload.
|
||||||
|
MAX_FILES = 10
|
||||||
|
|
||||||
|
[time]
|
||||||
|
; Specifies the format for fully outputed dates.
|
||||||
|
; Values should be one of the following:
|
||||||
|
; ANSIC, UnixDate, RubyDate, RFC822, RFC822Z, RFC850, RFC1123, RFC1123Z, RFC3339, RFC3339Nano, Kitchen, Stamp, StampMilli, StampMicro and StampNano.
|
||||||
|
; For more information about the format see http://golang.org/pkg/time/#pkg-constants.
|
||||||
|
FORMAT = RFC1123
|
||||||
|
|
||||||
|
[picture]
|
||||||
|
; The path to store user avatars on the file system.
|
||||||
|
AVATAR_UPLOAD_PATH = data/avatars
|
||||||
|
; The path to store repository avatars on the file system.
|
||||||
|
REPOSITORY_AVATAR_UPLOAD_PATH = data/repo-avatars
|
||||||
|
; Chinese users can use a custom avatar source, such as http://cn.gravatar.com/avatar/.
|
||||||
|
GRAVATAR_SOURCE = gravatar
|
||||||
|
; Whether to disable Gravatar, this value will be forced to be true in offline mode.
|
||||||
|
DISABLE_GRAVATAR = false
|
||||||
|
; Whether to enable federated avatar lookup uses DNS to discover avatar associated
|
||||||
|
; with emails, see https://www.libravatar.org for details.
|
||||||
|
; This value will be forced to be false in offline mode or when Gravatar is disabled.
|
||||||
|
ENABLE_FEDERATED_AVATAR = false
|
||||||
|
|
||||||
|
[markdown]
|
||||||
|
; Whether to enable hard line break extension.
|
||||||
|
ENABLE_HARD_LINE_BREAK = false
|
||||||
|
; The list of custom URL schemes that are allowed as links when rendering Markdown.
|
||||||
|
; For example, "git" (for "git://") and "magnet" (for "magnet://").
|
||||||
|
CUSTOM_URL_SCHEMES =
|
||||||
|
; The list of file extensions that should be rendered/edited as Markdown.
|
||||||
|
; Separate extensions with a comma. To render files with no extension as markdown, just put a comma.
|
||||||
|
FILE_EXTENSIONS = .md,.markdown,.mdown,.mkd
|
||||||
|
|
||||||
|
[smartypants]
|
||||||
|
; Whether to enable the Smartypants extension.
|
||||||
|
ENABLED = false
|
||||||
|
FRACTIONS = true
|
||||||
|
DASHES = true
|
||||||
|
LATEX_DASHES = true
|
||||||
|
ANGLED_QUOTES = true
|
||||||
|
|
||||||
|
[admin]
|
||||||
|
; Whether to disable regular (non-admin) users to create organizations.
|
||||||
|
DISABLE_REGULAR_ORG_CREATION = false
|
||||||
|
|
||||||
|
[webhook]
|
||||||
|
; The list of enabled types for users to use, can be "gogs", "slack", "discord", "dingtalk".
|
||||||
|
TYPES = gogs, slack, discord, dingtalk
|
||||||
|
; Deliver timeout in seconds.
|
||||||
|
DELIVER_TIMEOUT = 15
|
||||||
|
; Whether to allow insecure certification.
|
||||||
|
SKIP_TLS_VERIFY = false
|
||||||
|
; The number of history information in each page.
|
||||||
|
PAGING_NUM = 10
|
||||||
|
|
||||||
|
; General settings of loggers.
|
||||||
[log]
|
[log]
|
||||||
|
; The root path for all log files, default is "log/" subdirectory.
|
||||||
ROOT_PATH =
|
ROOT_PATH =
|
||||||
; Can be "console" and "file", default is "console"
|
; Can be "console", "file", "slack" and "discord".
|
||||||
; Use comma to separate multiple modes, e.g. "console, file"
|
; Use comma to separate multiple modes, e.g. "console, file"
|
||||||
MODE = console
|
MODE = console
|
||||||
; Buffer length of channel, keep it as it is if you don't know what it is.
|
; Buffer length of channel, keep it as it is if you don't know what it is.
|
||||||
@@ -328,31 +368,39 @@ LEVEL = Trace
|
|||||||
|
|
||||||
; For "console" mode only
|
; For "console" mode only
|
||||||
[log.console]
|
[log.console]
|
||||||
; leave empty to inherit
|
; Comment out to inherit
|
||||||
LEVEL =
|
; LEVEL =
|
||||||
|
|
||||||
; For "file" mode only
|
; For "file" mode only
|
||||||
[log.file]
|
[log.file]
|
||||||
; leave empty to inherit
|
; Comment out to inherit
|
||||||
LEVEL =
|
; LEVEL =
|
||||||
; This enables automated log rotate (switch of following options)
|
; Whether to enable automated log rotate (switch of following options).
|
||||||
LOG_ROTATE = true
|
LOG_ROTATE = true
|
||||||
; Segment log daily
|
; Whether to segment log files daily.
|
||||||
DAILY_ROTATE = true
|
DAILY_ROTATE = true
|
||||||
; Max size shift of single file, default is 28 means 1 << 28, 256MB
|
; The maximum size shift of single file, default is 28 means 1 << 28 = 256MB.
|
||||||
MAX_SIZE_SHIFT = 28
|
MAX_SIZE_SHIFT = 28
|
||||||
; Max line number of single file
|
; The maximum number of lines of single file.
|
||||||
MAX_LINES = 1000000
|
MAX_LINES = 1000000
|
||||||
; Expired days of log file (delete after max days)
|
; The expired days of log file (delete after max days).
|
||||||
MAX_DAYS = 7
|
MAX_DAYS = 7
|
||||||
|
|
||||||
; For "slack" mode only
|
; For "slack" mode only
|
||||||
[log.slack]
|
[log.slack]
|
||||||
; leave empty to inherit
|
; Comment out to inherit
|
||||||
LEVEL =
|
; LEVEL =
|
||||||
; Webhook URL
|
; Webhook URL
|
||||||
URL =
|
URL =
|
||||||
|
|
||||||
|
[log.discord]
|
||||||
|
; Comment out to inherit
|
||||||
|
; LEVEL =
|
||||||
|
; Webhook URL
|
||||||
|
URL =
|
||||||
|
; The username to be displayed in notification.
|
||||||
|
USERNAME = %(BRAND_NAME)s
|
||||||
|
|
||||||
[log.xorm]
|
[log.xorm]
|
||||||
; Enable file rotation
|
; Enable file rotation
|
||||||
ROTATE = true
|
ROTATE = true
|
||||||
@@ -363,14 +411,24 @@ MAX_SIZE = 100
|
|||||||
; Maximum days to keep logger files
|
; Maximum days to keep logger files
|
||||||
MAX_DAYS = 3
|
MAX_DAYS = 3
|
||||||
|
|
||||||
|
[log.gorm]
|
||||||
|
; Whether to enable file rotation.
|
||||||
|
ROTATE = true
|
||||||
|
; Whether to rotate file every day.
|
||||||
|
ROTATE_DAILY = true
|
||||||
|
; The maximum file size in MB before next rotate.
|
||||||
|
MAX_SIZE = 100
|
||||||
|
; The maximum days to keep files.
|
||||||
|
MAX_DAYS = 3
|
||||||
|
|
||||||
[cron]
|
[cron]
|
||||||
; Enable running cron tasks periodically.
|
; Enable running cron tasks periodically.
|
||||||
ENABLED = true
|
ENABLED = true
|
||||||
; Run cron tasks when Gogs starts.
|
; Run cron tasks when Gogs starts.
|
||||||
RUN_AT_START = false
|
RUN_AT_START = false
|
||||||
|
|
||||||
; Update mirrors
|
|
||||||
[cron.update_mirrors]
|
[cron.update_mirrors]
|
||||||
|
; Defines how often the mirror syncer checks if any mirror needs to be synchronized (based on the mirror update interval).
|
||||||
SCHEDULE = @every 10m
|
SCHEDULE = @every 10m
|
||||||
|
|
||||||
; Repository health check
|
; Repository health check
|
||||||
@@ -396,12 +454,12 @@ OLDER_THAN = 24h
|
|||||||
[git]
|
[git]
|
||||||
; Disables highlight of added and removed changes
|
; Disables highlight of added and removed changes
|
||||||
DISABLE_DIFF_HIGHLIGHT = false
|
DISABLE_DIFF_HIGHLIGHT = false
|
||||||
|
; Max number of files shown in diff view
|
||||||
|
MAX_GIT_DIFF_FILES = 100
|
||||||
; Max number of lines allowed of a single file in diff view
|
; Max number of lines allowed of a single file in diff view
|
||||||
MAX_GIT_DIFF_LINES = 1000
|
MAX_GIT_DIFF_LINES = 1000
|
||||||
; Max number of characters of a line allowed in diff view
|
; Max number of characters of a line allowed in diff view
|
||||||
MAX_GIT_DIFF_LINE_CHARACTERS = 500
|
MAX_GIT_DIFF_LINE_CHARACTERS = 2000
|
||||||
; Max number of files shown in diff view
|
|
||||||
MAX_GIT_DIFF_FILES = 100
|
|
||||||
; Arguments for command 'git gc', e.g. "--aggressive --auto"
|
; Arguments for command 'git gc', e.g. "--aggressive --auto"
|
||||||
; see more on http://git-scm.com/docs/git-gc/1.7.5
|
; see more on http://git-scm.com/docs/git-gc/1.7.5
|
||||||
GC_ARGS =
|
GC_ARGS =
|
||||||
@@ -412,10 +470,12 @@ MIGRATE = 600
|
|||||||
MIRROR = 300
|
MIRROR = 300
|
||||||
CLONE = 300
|
CLONE = 300
|
||||||
PULL = 300
|
PULL = 300
|
||||||
|
DIFF = 60
|
||||||
GC = 60
|
GC = 60
|
||||||
|
|
||||||
[mirror]
|
[mirror]
|
||||||
; Default interval in hours between each check
|
; Defines the default interval (in hours) until the next sync for a mirror (after a successful mirror sync).
|
||||||
|
; It can be overridden individually for each mirror repository in the settings.
|
||||||
DEFAULT_INTERVAL = 8
|
DEFAULT_INTERVAL = 8
|
||||||
|
|
||||||
[api]
|
[api]
|
||||||
@@ -454,11 +514,26 @@ NEWS_FEED_PAGING_NUM = 20
|
|||||||
; Number of commits that are showed in one page
|
; Number of commits that are showed in one page
|
||||||
COMMITS_PAGING_NUM = 30
|
COMMITS_PAGING_NUM = 30
|
||||||
|
|
||||||
[i18n]
|
[prometheus]
|
||||||
LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR,gl-ES,uk-UA,en-GB,hu-HU,sk-SK,id-ID,fa-IR
|
; Whether to enable Prometheus metrics.
|
||||||
NAMES = English,简体中文,繁體中文(香港),繁體中文(臺灣),Deutsch,français,Nederlands,latviešu,русский,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어,galego,українська,English (United Kingdom),Magyar,Slovenčina,Indonesian,Persian
|
ENABLED = true
|
||||||
|
; Whether to enable HTTP Basic Authentication to protect metrics data.
|
||||||
|
ENABLE_BASIC_AUTH = false
|
||||||
|
; The username for HTTP Basic Authentication.
|
||||||
|
BASIC_AUTH_USERNAME =
|
||||||
|
; The password for HTTP Basic Authentication.
|
||||||
|
BASIC_AUTH_PASSWORD =
|
||||||
|
|
||||||
; Used for datetimepicker
|
; Extension mapping to highlight class
|
||||||
|
; e.g. .toml=ini
|
||||||
|
[highlight.mapping]
|
||||||
|
|
||||||
|
[i18n]
|
||||||
|
LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR,gl-ES,uk-UA,en-GB,hu-HU,sk-SK,id-ID,fa-IR,vi-VN,pt-PT,mn-MN,ro-RO
|
||||||
|
NAMES = English,简体中文,繁體中文(香港),繁體中文(臺灣),Deutsch,français,Nederlands,latviešu,русский,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어,galego,українська,English (United Kingdom),Magyar,Slovenčina,Indonesian,Persian,Vietnamese,Português,Монгол,Română
|
||||||
|
|
||||||
|
; Used for jQuery DateTimePicker,
|
||||||
|
; list of supported languages in https://xdsoft.net/jqplugins/datetimepicker/#lang
|
||||||
[i18n.datelang]
|
[i18n.datelang]
|
||||||
en-US = en
|
en-US = en
|
||||||
zh-CN = zh
|
zh-CN = zh
|
||||||
@@ -488,14 +563,12 @@ hu-HU = hu
|
|||||||
sk-SK = sk
|
sk-SK = sk
|
||||||
id-ID = id
|
id-ID = id
|
||||||
fa-IR = fa
|
fa-IR = fa
|
||||||
|
vi-VN = vi
|
||||||
; Extension mapping to highlight class
|
pt-PT = pt
|
||||||
; e.g. .toml=ini
|
mn-MN = mn
|
||||||
[highlight.mapping]
|
ro-RO = ro
|
||||||
|
|
||||||
[other]
|
[other]
|
||||||
SHOW_FOOTER_BRANDING = false
|
SHOW_FOOTER_BRANDING = false
|
||||||
; Show version information about Gogs and Go in the footer
|
|
||||||
SHOW_FOOTER_VERSION = true
|
|
||||||
; Show time of template execution in the footer
|
; Show time of template execution in the footer
|
||||||
SHOW_FOOTER_TEMPLATE_LOAD_TIME = true
|
SHOW_FOOTER_TEMPLATE_LOAD_TIME = true
|
||||||
|
|||||||
10
conf/auth.d/github.conf.example
Normal file
10
conf/auth.d/github.conf.example
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# This is an example of GitHub authentication
|
||||||
|
#
|
||||||
|
id = 105
|
||||||
|
type = github
|
||||||
|
name = GitHub
|
||||||
|
is_activated = true
|
||||||
|
|
||||||
|
[config]
|
||||||
|
api_endpoint = https://api.github.com/
|
||||||
|
|
||||||
29
conf/auth.d/ldap_bind_dn.conf.example
Normal file
29
conf/auth.d/ldap_bind_dn.conf.example
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# This is an example of LDAP (BindDN) authentication
|
||||||
|
#
|
||||||
|
id = 101
|
||||||
|
type = ldap_bind_dn
|
||||||
|
name = LDAP BindDN
|
||||||
|
is_activated = true
|
||||||
|
|
||||||
|
[config]
|
||||||
|
host = mydomain.com
|
||||||
|
port = 636
|
||||||
|
# 0 - Unencrypted, 1 - LDAPS, 2 - StartTLS
|
||||||
|
security_protocol = 0
|
||||||
|
skip_verify = false
|
||||||
|
bind_dn =
|
||||||
|
bind_password =
|
||||||
|
user_base = ou=Users,dc=mydomain,dc=com
|
||||||
|
attribute_username =
|
||||||
|
attribute_name =
|
||||||
|
attribute_surname =
|
||||||
|
attribute_mail = mail
|
||||||
|
attributes_in_bind = false
|
||||||
|
filter = (&(objectClass=posixAccount)(cn=%s))
|
||||||
|
admin_filter =
|
||||||
|
group_enabled = false
|
||||||
|
group_dn =
|
||||||
|
group_filter =
|
||||||
|
group_member_uid =
|
||||||
|
user_uid =
|
||||||
|
|
||||||
30
conf/auth.d/ldap_simple_auth.conf.example
Normal file
30
conf/auth.d/ldap_simple_auth.conf.example
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# This is an example of LDAP (simple auth) authentication
|
||||||
|
#
|
||||||
|
id = 102
|
||||||
|
type = ldap_simple_auth
|
||||||
|
name = LDAP Simple Auth
|
||||||
|
is_activated = true
|
||||||
|
|
||||||
|
[config]
|
||||||
|
host = mydomain.com
|
||||||
|
port = 636
|
||||||
|
# 0 - Unencrypted, 1 - LDAPS, 2 - StartTLS
|
||||||
|
security_protocol = 0
|
||||||
|
skip_verify = false
|
||||||
|
bind_dn =
|
||||||
|
bind_password =
|
||||||
|
user_base =
|
||||||
|
user_dn = cn=%s,ou=Users,dc=mydomain,dc=com
|
||||||
|
attribute_username =
|
||||||
|
attribute_name =
|
||||||
|
attribute_surname =
|
||||||
|
attribute_mail = mail
|
||||||
|
attributes_in_bind = false
|
||||||
|
filter = (&(objectClass=posixAccount)(cn=%s))
|
||||||
|
admin_filter =
|
||||||
|
group_enabled = false
|
||||||
|
group_dn =
|
||||||
|
group_filter =
|
||||||
|
group_member_uid =
|
||||||
|
user_uid =
|
||||||
|
|
||||||
10
conf/auth.d/pam.conf.example
Normal file
10
conf/auth.d/pam.conf.example
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# This is an example of PAM authentication
|
||||||
|
#
|
||||||
|
id = 104
|
||||||
|
type = pam
|
||||||
|
name = System Auth
|
||||||
|
is_activated = true
|
||||||
|
|
||||||
|
[config]
|
||||||
|
service_name = system-auth
|
||||||
|
|
||||||
16
conf/auth.d/smtp.conf.example
Normal file
16
conf/auth.d/smtp.conf.example
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# This is an example of SMTP authentication
|
||||||
|
#
|
||||||
|
id = 103
|
||||||
|
type = smtp
|
||||||
|
name = GMail
|
||||||
|
is_activated = true
|
||||||
|
|
||||||
|
[config]
|
||||||
|
# Either "PLAIN" or "LOGIN"
|
||||||
|
auth = PLAIN
|
||||||
|
host = smtp.gmail.com
|
||||||
|
port = 587
|
||||||
|
allowed_domains =
|
||||||
|
tls = true
|
||||||
|
skip_verify = false
|
||||||
|
|
||||||
23
conf/embed.go
Normal file
23
conf/embed.go
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
"embed"
|
||||||
|
)
|
||||||
|
|
||||||
|
//go:embed app.ini **/*
|
||||||
|
var Files embed.FS
|
||||||
|
|
||||||
|
// FileNames returns a list of filenames exists in the given direction within
|
||||||
|
// Files. The list includes names of subdirectories.
|
||||||
|
func FileNames(dir string) ([]string, error) {
|
||||||
|
entries, err := Files.ReadDir(dir)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
fileNames := make([]string, 0, len(entries))
|
||||||
|
for _, entry := range entries {
|
||||||
|
fileNames = append(fileNames, entry.Name())
|
||||||
|
}
|
||||||
|
return fileNames, nil
|
||||||
|
}
|
||||||
16
conf/embed_test.go
Normal file
16
conf/embed_test.go
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestFileNames(t *testing.T) {
|
||||||
|
names, err := FileNames(".")
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
want := []string{"app.ini", "auth.d", "gitignore", "label", "license", "locale", "readme"}
|
||||||
|
assert.Equal(t, want, names)
|
||||||
|
}
|
||||||
76
conf/gitignore/UnrealEngine
vendored
Normal file
76
conf/gitignore/UnrealEngine
vendored
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
# Visual Studio 2015 user specific files
|
||||||
|
.vs/
|
||||||
|
|
||||||
|
# Compiled Object files
|
||||||
|
*.slo
|
||||||
|
*.lo
|
||||||
|
*.o
|
||||||
|
*.obj
|
||||||
|
|
||||||
|
# Precompiled Headers
|
||||||
|
*.gch
|
||||||
|
*.pch
|
||||||
|
|
||||||
|
# Compiled Dynamic libraries
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
*.dll
|
||||||
|
|
||||||
|
# Fortran module files
|
||||||
|
*.mod
|
||||||
|
|
||||||
|
# Compiled Static libraries
|
||||||
|
*.lai
|
||||||
|
*.la
|
||||||
|
*.a
|
||||||
|
*.lib
|
||||||
|
|
||||||
|
# Executables
|
||||||
|
*.exe
|
||||||
|
*.out
|
||||||
|
*.app
|
||||||
|
*.ipa
|
||||||
|
|
||||||
|
# These project files can be generated by the engine
|
||||||
|
*.xcodeproj
|
||||||
|
*.xcworkspace
|
||||||
|
*.sln
|
||||||
|
*.suo
|
||||||
|
*.opensdf
|
||||||
|
*.sdf
|
||||||
|
*.VC.db
|
||||||
|
*.VC.opendb
|
||||||
|
|
||||||
|
# Precompiled Assets
|
||||||
|
SourceArt/**/*.png
|
||||||
|
SourceArt/**/*.tga
|
||||||
|
|
||||||
|
# Binary Files
|
||||||
|
Binaries/*
|
||||||
|
Plugins/*/Binaries/*
|
||||||
|
|
||||||
|
# Builds
|
||||||
|
Build/*
|
||||||
|
|
||||||
|
# Whitelist PakBlacklist-<BuildConfiguration>.txt files
|
||||||
|
!Build/*/
|
||||||
|
Build/*/**
|
||||||
|
!Build/*/PakBlacklist*.txt
|
||||||
|
|
||||||
|
# Don't ignore icon files in Build
|
||||||
|
!Build/**/*.ico
|
||||||
|
|
||||||
|
# Built data for maps
|
||||||
|
*_BuiltData.uasset
|
||||||
|
|
||||||
|
# Configuration files generated by the Editor
|
||||||
|
Saved/*
|
||||||
|
|
||||||
|
# Compiled source files for the engine to use
|
||||||
|
Intermediate/*
|
||||||
|
Plugins/*/Intermediate/*
|
||||||
|
|
||||||
|
# Cache files for the editor to use
|
||||||
|
DerivedDataCache/*
|
||||||
|
|
||||||
|
|
||||||
@@ -21,6 +21,7 @@ Barış Arda Yılmaz <ardayilmazgamer AT gmail DOT com>
|
|||||||
Bo-Yi Wu <appleboy DOT tw AT gmail DOT com>
|
Bo-Yi Wu <appleboy DOT tw AT gmail DOT com>
|
||||||
Breton Corentin <contact AT neodarz DOT net>
|
Breton Corentin <contact AT neodarz DOT net>
|
||||||
Camille Baronnet <gogs AT camillebaronnet DOT fr>
|
Camille Baronnet <gogs AT camillebaronnet DOT fr>
|
||||||
|
Changwoo Ryu <cwryu AT debian DOT org>
|
||||||
Christoph Kisfeld <christoph DOT kisfeld AT gmail DOT com>
|
Christoph Kisfeld <christoph DOT kisfeld AT gmail DOT com>
|
||||||
Cysioland
|
Cysioland
|
||||||
Damaris Padieu <damizx AT hotmail DOT fr>
|
Damaris Padieu <damizx AT hotmail DOT fr>
|
||||||
@@ -55,6 +56,7 @@ Luc Stepniewski <luc AT stepniewski DOT fr>
|
|||||||
Łukasz Jan Niemier <lukasz AT niemier DOT pl>
|
Łukasz Jan Niemier <lukasz AT niemier DOT pl>
|
||||||
Marc Schiller <marc AT schiller DOT im>
|
Marc Schiller <marc AT schiller DOT im>
|
||||||
Marvin Menzerath <github AT marvin-menzerath DOT de>
|
Marvin Menzerath <github AT marvin-menzerath DOT de>
|
||||||
|
Mathias Rangel Wulff <m AT rawu DOT dk>
|
||||||
Michael Härtl <haertl DOT mike AT gmail DOT com>
|
Michael Härtl <haertl DOT mike AT gmail DOT com>
|
||||||
Miguel de la Cruz <miguel AT mcrx DOT me>
|
Miguel de la Cruz <miguel AT mcrx DOT me>
|
||||||
Mikhail Burdin <xdshot9000 AT gmail DOT com>
|
Mikhail Burdin <xdshot9000 AT gmail DOT com>
|
||||||
@@ -74,9 +76,11 @@ Robin Hübner <profan AT prfn DOT se>
|
|||||||
Rste Risafov <risafov AT lazy DOT com>
|
Rste Risafov <risafov AT lazy DOT com>
|
||||||
SeongJae Park <sj38 DOT park AT gmail DOT com>
|
SeongJae Park <sj38 DOT park AT gmail DOT com>
|
||||||
Sergey Stepanov <sergystepanov AT gmail DOT com>
|
Sergey Stepanov <sergystepanov AT gmail DOT com>
|
||||||
|
Simona Iacob <s AT zp1 DOT net>
|
||||||
Thomas Fanninger <gogs DOT thomas AT fanninger DOT at>
|
Thomas Fanninger <gogs DOT thomas AT fanninger DOT at>
|
||||||
Tilmann Bach <tilmann AT outlook DOT com>
|
Tilmann Bach <tilmann AT outlook DOT com>
|
||||||
Toni Villena Jiménez <tonivj5 AT gmail DOT com>
|
Toni Villena Jiménez <tonivj5 AT gmail DOT com>
|
||||||
|
Vincent AMSTOUTZ <vincent DOT amstoutz AT outlook DOT fr>
|
||||||
Vladimir Jigulin mogaika AT yandex DOT ru
|
Vladimir Jigulin mogaika AT yandex DOT ru
|
||||||
Vladimir Vissoultchev <wqweto AT gmail DOT com>
|
Vladimir Vissoultchev <wqweto AT gmail DOT com>
|
||||||
Vongola <me AT vongola DOT tw>
|
Vongola <me AT vongola DOT tw>
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=Изход
|
|||||||
sign_up=Регистрирайте се
|
sign_up=Регистрирайте се
|
||||||
register=Регистрация
|
register=Регистрация
|
||||||
website=Уебсайт
|
website=Уебсайт
|
||||||
version=Версия
|
|
||||||
page=Страница
|
page=Страница
|
||||||
template=Шаблон
|
template=Шаблон
|
||||||
language=Език
|
language=Език
|
||||||
@@ -44,17 +43,22 @@ issues=Задачи
|
|||||||
|
|
||||||
cancel=Отказ
|
cancel=Отказ
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Страницата не е намерена
|
||||||
|
internal_server_error=Вътрешна грешка в сървър
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Инсталация
|
install=Инсталация
|
||||||
title=Стъпки за инсталиране при първоначално стартиране
|
title=Стъпки за инсталиране при първоначално стартиране
|
||||||
docker_helper=Ако Gogs е стартиран в Docker контейнер, моля прочетете <a target="_blank" href="%s">нашите указания</a> внимателно, преди да правите промени по настройките на тази страница!
|
docker_helper=Ако Gogs е стартиран в Docker контейнер, моля прочетете <a target="_blank" href="%s">нашите указания</a> внимателно, преди да правите промени по настройките на тази страница!
|
||||||
requite_db_desc=Gogs изисква MySQL, PostgreSQL, SQLite3 или TiDB.
|
requite_db_desc=Gogs изисква MySQL, PostgreSQL, SQLite3 или TiDB (през MySQL протокол).
|
||||||
db_title=Настройки на базата данни
|
db_title=Настройки на базата данни
|
||||||
db_type=Тип на база данни
|
db_type=Тип на база данни
|
||||||
host=Сървър
|
host=Сървър
|
||||||
user=Потребител
|
user=Потребител
|
||||||
password=Парола
|
password=Парола
|
||||||
db_name=Име на база данни
|
db_name=Име на база данни
|
||||||
|
db_schema=Схема
|
||||||
db_helper=Моля, използвайте INNODB engine с utf8_general_ci кодиране на знаци за MySQL.
|
db_helper=Моля, използвайте INNODB engine с utf8_general_ci кодиране на знаци за MySQL.
|
||||||
ssl_mode=Режим SSL
|
ssl_mode=Режим SSL
|
||||||
path=Път
|
path=Път
|
||||||
@@ -84,6 +88,7 @@ log_root_path=Път към журналите
|
|||||||
log_root_path_helper=Директория в която се записват журналите.
|
log_root_path_helper=Директория в която се записват журналите.
|
||||||
enable_console_mode=Включване на конзолен режим
|
enable_console_mode=Включване на конзолен режим
|
||||||
enable_console_mode_popup=Изписване на логовете в конзолата, в допълнение към файловият режим.
|
enable_console_mode_popup=Изписване на логовете в конзолата, в допълнение към файловият режим.
|
||||||
|
default_branch=Клон по подразбиране
|
||||||
|
|
||||||
optional_title=Опционални настройки
|
optional_title=Опционални настройки
|
||||||
email_title=Настройки на пощенска услуга
|
email_title=Настройки на пощенска услуга
|
||||||
@@ -107,7 +112,7 @@ enable_captcha=Включи Captcha
|
|||||||
enable_captcha_popup=Изисква валидиране с captcha при саморегистрация на потребители.
|
enable_captcha_popup=Изисква валидиране с captcha при саморегистрация на потребители.
|
||||||
require_sign_in_view=Включи задължително вписване за преглед на страници
|
require_sign_in_view=Включи задължително вписване за преглед на страници
|
||||||
require_sign_in_view_popup=Само вписани потребители могат да виждат страниците, анонимните посетители виждат само страниците за регистрация и вход.
|
require_sign_in_view_popup=Само вписани потребители могат да виждат страниците, анонимните посетители виждат само страниците за регистрация и вход.
|
||||||
admin_setting_desc=Няма нужда от създаване на администраторски профил в момента, защото потребителят с първо ID в базата автоматично получава администраторски достъп.
|
admin_setting_desc=Няма нужда да създавате администраторски профил в момента, защото потребителят с първо ID в базата автоматично получава администраторски достъп.
|
||||||
admin_title=Настройки на профил на администратора
|
admin_title=Настройки на профил на администратора
|
||||||
admin_name=Потребителско име
|
admin_name=Потребителско име
|
||||||
admin_password=Парола
|
admin_password=Парола
|
||||||
@@ -122,6 +127,7 @@ run_user_not_match=Потребителският контекст на прил
|
|||||||
smtp_host_missing_port=Липсва порт в зададения SMTP адрес.
|
smtp_host_missing_port=Липсва порт в зададения SMTP адрес.
|
||||||
invalid_smtp_from=Невалидно поле От: %v
|
invalid_smtp_from=Невалидно поле От: %v
|
||||||
save_config_failed=Неуспешно запазване на конфигурация: %v
|
save_config_failed=Неуспешно запазване на конфигурация: %v
|
||||||
|
init_failed=Грешка при инициализация на приложение: %v
|
||||||
invalid_admin_setting=Настройките на профил на администратора са невалидни: %v
|
invalid_admin_setting=Настройките на профил на администратора са невалидни: %v
|
||||||
install_success=Добре дошли! Радваме се, че избрахте Gogs, и Ви пожелаваме приятна работа и сърдечни поздрави!
|
install_success=Добре дошли! Радваме се, че избрахте Gogs, и Ви пожелаваме приятна работа и сърдечни поздрави!
|
||||||
invalid_log_root_path=Основният път към журналите е невалиден: %v
|
invalid_log_root_path=Основният път към журналите е невалиден: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=Вече имате профил? Впишете се сег
|
|||||||
social_register_hepler_msg=Вече имате профил? Свържете се сега!
|
social_register_hepler_msg=Вече имате профил? Свържете се сега!
|
||||||
disable_register_prompt=За съжаление създаването на нови регистрации е изключено. Обърнете се към администратора на сайта.
|
disable_register_prompt=За съжаление създаването на нови регистрации е изключено. Обърнете се към администратора на сайта.
|
||||||
disable_register_mail=За съжаление потвърждението на регистрации е изключено.
|
disable_register_mail=За съжаление потвърждението на регистрации е изключено.
|
||||||
|
auth_source=Източник за удостоверяване
|
||||||
|
local=Локален
|
||||||
remember_me=Запомни ме
|
remember_me=Запомни ме
|
||||||
forgot_password=Забравена парола
|
forgot_password=Забравена парола
|
||||||
forget_password=Забравена парола?
|
forget_password=Забравена парола?
|
||||||
@@ -171,10 +179,10 @@ non_local_account=Нелокални потребители не могат да
|
|||||||
|
|
||||||
login_two_factor=Двуфакторно удостоверяване
|
login_two_factor=Двуфакторно удостоверяване
|
||||||
login_two_factor_passcode=Парола за удостоверяване
|
login_two_factor_passcode=Парола за удостоверяване
|
||||||
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
|
login_two_factor_enter_recovery_code=Въведете двуфакторен код за възстановяване
|
||||||
login_two_factor_recovery=Two-factor Recovery
|
login_two_factor_recovery=Двуфакторно възстановяване
|
||||||
login_two_factor_recovery_code=Код за възстановяване
|
login_two_factor_recovery_code=Код за възстановяване
|
||||||
login_two_factor_enter_passcode=Enter a two-factor passcode
|
login_two_factor_enter_passcode=Въведете двуфакторен код
|
||||||
login_two_factor_invalid_recovery_code=Този код за възстановяване вече е бил използван или не е валиден.
|
login_two_factor_invalid_recovery_code=Този код за възстановяване вече е бил използван или не е валиден.
|
||||||
|
|
||||||
[mail]
|
[mail]
|
||||||
@@ -212,7 +220,7 @@ Content=Съдържание
|
|||||||
require_error=` не може да бъде празен.`
|
require_error=` не може да бъде празен.`
|
||||||
alpha_dash_error=` трябва да e валидна буква, число или тире(-_).`
|
alpha_dash_error=` трябва да e валидна буква, число или тире(-_).`
|
||||||
alpha_dash_dot_error=` трябва да e валидна буква, число, тире(-_) или точка.`
|
alpha_dash_dot_error=` трябва да e валидна буква, число, тире(-_) или точка.`
|
||||||
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
|
alpha_dash_dot_slash_error=` must be alphanumeric, dash (-_), dot or slash characters.`
|
||||||
size_error=` трябва да е с размер %s.`
|
size_error=` трябва да е с размер %s.`
|
||||||
min_size_error=` трябва да съдържа поне %s знака.`
|
min_size_error=` трябва да съдържа поне %s знака.`
|
||||||
max_size_error=` трябва да съдържа най-много %s знака.`
|
max_size_error=` трябва да съдържа най-много %s знака.`
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=Името на организацията вече се п
|
|||||||
team_name_been_taken=Името на екипа вече се ползва.
|
team_name_been_taken=Името на екипа вече се ползва.
|
||||||
email_been_used=Този адрес на ел. поща вече се ползва.
|
email_been_used=Този адрес на ел. поща вече се ползва.
|
||||||
username_password_incorrect=Потребителското име или паролата не са верни.
|
username_password_incorrect=Потребителското име или паролата не са верни.
|
||||||
|
auth_source_mismatch=The authentication source selected is not associated with the user.
|
||||||
enterred_invalid_repo_name=Моля уверете се, че въведеното име на хранилище е вярно.
|
enterred_invalid_repo_name=Моля уверете се, че въведеното име на хранилище е вярно.
|
||||||
enterred_invalid_owner_name=Моля уверете се, че въведеното име на притежател е вярно.
|
enterred_invalid_owner_name=Моля уверете се, че въведеното име на притежател е вярно.
|
||||||
enterred_invalid_password=Моля уверете се, че въведената парола е вярна.
|
enterred_invalid_password=Моля уверете се, че въведената парола е вярна.
|
||||||
@@ -246,7 +255,7 @@ org_still_own_repo=Тази организация все още притежа
|
|||||||
target_branch_not_exist=Целевият клон не съществува.
|
target_branch_not_exist=Целевият клон не съществува.
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
change_avatar=Проми своя аватар
|
change_avatar=Промени своя аватар
|
||||||
join_on=Регистриран
|
join_on=Регистриран
|
||||||
repositories=Хранилища
|
repositories=Хранилища
|
||||||
activity=Публична дейност
|
activity=Публична дейност
|
||||||
@@ -256,8 +265,7 @@ following=Следване
|
|||||||
follow=Следване
|
follow=Следване
|
||||||
unfollow=Не следвай
|
unfollow=Не следвай
|
||||||
|
|
||||||
form.name_reserved=Потребителското име '%s' е запазено.
|
form.name_not_allowed=User name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Потребителското име '%s' не е допустимо.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Профил
|
profile=Профил
|
||||||
@@ -309,6 +317,7 @@ delete_email=Изтрий
|
|||||||
email_deletion=Изтрий ел. поща
|
email_deletion=Изтрий ел. поща
|
||||||
email_deletion_desc=При изтриване на тази ел. поща ще се премахне свързаната информация от Вашия профил. Желаете ли да продължите?
|
email_deletion_desc=При изтриване на тази ел. поща ще се премахне свързаната информация от Вашия профил. Желаете ли да продължите?
|
||||||
email_deletion_success=Ел. пощата беше изтрита успешно!
|
email_deletion_success=Ел. пощата беше изтрита успешно!
|
||||||
|
email_deletion_primary=Cannot delete primary email address.
|
||||||
add_new_email=Добавяне на нов адрес на ел. поща
|
add_new_email=Добавяне на нов адрес на ел. поща
|
||||||
add_email=Добави ел. поща
|
add_email=Добави ел. поща
|
||||||
add_email_confirmation_sent=Ново писмо за потвърждение е изпратено до '%s'. Моля проверете пощенската си кутия в рамките на следващите %d часа, за да завършите процеса на регистрация.
|
add_email_confirmation_sent=Ново писмо за потвърждение е изпратено до '%s'. Моля проверете пощенската си кутия в рамките на следващите %d часа, за да завършите процеса на регистрация.
|
||||||
@@ -348,6 +357,7 @@ two_factor_or_enter_secret=Or enter the secret:
|
|||||||
two_factor_then_enter_passcode=След това въведете паролата:
|
two_factor_then_enter_passcode=След това въведете паролата:
|
||||||
two_factor_verify=Потвърждаване
|
two_factor_verify=Потвърждаване
|
||||||
two_factor_invalid_passcode=Въведената парола е невалидна! Моля опитайте отново.
|
two_factor_invalid_passcode=Въведената парола е невалидна! Моля опитайте отново.
|
||||||
|
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
|
||||||
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
||||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
||||||
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
||||||
@@ -362,6 +372,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
|
|||||||
manage_access_token=Управление на индивидуални API ключове за достъп
|
manage_access_token=Управление на индивидуални API ключове за достъп
|
||||||
generate_new_token=Генериране на нов API ключ
|
generate_new_token=Генериране на нов API ключ
|
||||||
tokens_desc=Генерирани API ключове, които могат да се използват за достъп до API на Gogs.
|
tokens_desc=Генерирани API ключове, които могат да се използват за достъп до API на Gogs.
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc=Всеки API ключ ще има пълен достъп до Вашия профил.
|
new_token_desc=Всеки API ключ ще има пълен достъп до Вашия профил.
|
||||||
token_name=Име на API ключ
|
token_name=Име на API ключ
|
||||||
generate_token=Генериране на API ключ
|
generate_token=Генериране на API ключ
|
||||||
@@ -370,6 +381,7 @@ delete_token=Изтрий
|
|||||||
access_token_deletion=Изтрий индивидуален API ключ за достъп
|
access_token_deletion=Изтрий индивидуален API ключ за достъп
|
||||||
access_token_deletion_desc=При изтриване на този индивидуален API ключ за достъп ще се премахнат всички свързани права на приложението. Желаете ли да продължите?
|
access_token_deletion_desc=При изтриване на този индивидуален API ключ за достъп ще се премахнат всички свързани права на приложението. Желаете ли да продължите?
|
||||||
delete_token_success=Индивидуалният API ключ за достъп е изтрит успешно! Не забравяйте да преконфигурирате приложението също.
|
delete_token_success=Индивидуалният API ключ за достъп е изтрит успешно! Не забравяйте да преконфигурирате приложението също.
|
||||||
|
token_name_exists=Token with same name already exists.
|
||||||
|
|
||||||
orgs.none=Не сте член на никоя организация.
|
orgs.none=Не сте член на никоя организация.
|
||||||
orgs.leave_title=Напусни организация
|
orgs.leave_title=Напусни организация
|
||||||
@@ -391,7 +403,9 @@ owner=Притежател
|
|||||||
repo_name=Име на хранилището
|
repo_name=Име на хранилището
|
||||||
repo_name_helper=Добро име на хранилище е име, състоящо от кратки, запомнящи се и уникални ключови думи.
|
repo_name_helper=Добро име на хранилище е име, състоящо от кратки, запомнящи се и уникални ключови думи.
|
||||||
visibility=Видимост
|
visibility=Видимост
|
||||||
|
unlisted=Unlisted
|
||||||
visiblity_helper=Това хранилище е <span class="ui red text">Частно</span>
|
visiblity_helper=Това хранилище е <span class="ui red text">Частно</span>
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=Административна настройка задължава всички нови хранилища да бъдат <span class="ui red text">Частни</span>
|
visiblity_helper_forced=Административна настройка задължава всички нови хранилища да бъдат <span class="ui red text">Частни</span>
|
||||||
visiblity_fork_helper=(Промяна на тази стойност ще се отрази на всички разклонения)
|
visiblity_fork_helper=(Промяна на тази стойност ще се отрази на всички разклонения)
|
||||||
clone_helper=Нуждаете се от помощ при клониране? Посетете <a target="_blank" href="%s">Помощ</a>!
|
clone_helper=Нуждаете се от помощ при клониране? Посетете <a target="_blank" href="%s">Помощ</a>!
|
||||||
@@ -417,10 +431,11 @@ mirror_last_synced=Последна синхр.
|
|||||||
watchers=Наблюдаващи
|
watchers=Наблюдаващи
|
||||||
stargazers=Харесващи
|
stargazers=Харесващи
|
||||||
forks=Разклонения
|
forks=Разклонения
|
||||||
|
repo_description_helper=Description of repository. Maximum 512 characters length.
|
||||||
|
repo_description_length=Available characters
|
||||||
|
|
||||||
form.reach_limit_of_creation=Притежателят е достигнал настроения лимит от %d брой хранилища.
|
form.reach_limit_of_creation=Притежателят е достигнал настроения лимит от %d брой хранилища.
|
||||||
form.name_reserved=Името на хранилището '%s' е запазено.
|
form.name_not_allowed=Repository name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Име на хранилището от вида '%s' не е позволено.
|
|
||||||
|
|
||||||
need_auth=Изисква потребител и парола
|
need_auth=Изисква потребител и парола
|
||||||
migrate_type=Тип мигриране
|
migrate_type=Тип мигриране
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=Може да използвате HTTP/HTTPS/GIT а
|
|||||||
migrate.clone_address_desc_import_local=Можете да мигрирате хранилище от локален път на сървъра.
|
migrate.clone_address_desc_import_local=Можете да мигрирате хранилище от локален път на сървъра.
|
||||||
migrate.permission_denied=Недостатъчни права за импорт на локални хранилища.
|
migrate.permission_denied=Недостатъчни права за импорт на локални хранилища.
|
||||||
migrate.invalid_local_path=Невалиден път - не съществува или не е директория.
|
migrate.invalid_local_path=Невалиден път - не съществува или не е директория.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=Грешка при миграция: %v
|
migrate.failed=Грешка при миграция: %v
|
||||||
|
|
||||||
mirror_from=огледало от
|
mirror_from=огледало от
|
||||||
@@ -478,6 +494,8 @@ branches.stale_branches=Застинали клонове
|
|||||||
branches.all=Всички клонове
|
branches.all=Всички клонове
|
||||||
branches.updated_by=Актуализирани %[1]s от %[2]s
|
branches.updated_by=Актуализирани %[1]s от %[2]s
|
||||||
branches.change_default_branch=Промяна на клон по подразбиране
|
branches.change_default_branch=Промяна на клон по подразбиране
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Нов файл
|
editor.new_file=Нов файл
|
||||||
editor.upload_file=Качи файл
|
editor.upload_file=Качи файл
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=Съдържанието на файла е б
|
|||||||
editor.file_already_exists=Файл с име '%s' вече съществува в това хранилище.
|
editor.file_already_exists=Файл с име '%s' вече съществува в това хранилище.
|
||||||
editor.no_changes_to_show=Няма промени.
|
editor.no_changes_to_show=Няма промени.
|
||||||
editor.fail_to_update_file=Невъзможно модифициране/създаване на файл '%s' заради грешка: %v
|
editor.fail_to_update_file=Невъзможно модифициране/създаване на файл '%s' заради грешка: %v
|
||||||
|
editor.fail_to_delete_file=Failed to delete file '%s' with error: %v
|
||||||
editor.add_subdir=Добави поддиректория...
|
editor.add_subdir=Добави поддиректория...
|
||||||
editor.unable_to_upload_files=Невъзможно качване на файлове в '%s' заради грешка: %v
|
editor.unable_to_upload_files=Невъзможно качване на файлове в '%s' заради грешка: %v
|
||||||
editor.upload_files_to_dir=Качи файлове в '%s'
|
editor.upload_files_to_dir=Качи файлове в '%s'
|
||||||
@@ -634,6 +653,7 @@ pulls.cannot_auto_merge_desc=Не може да се извърши обедин
|
|||||||
pulls.cannot_auto_merge_helper=Моля, използвайте инструменти на командния ред за да разрешите конфликтите.
|
pulls.cannot_auto_merge_helper=Моля, използвайте инструменти на командния ред за да разрешите конфликтите.
|
||||||
pulls.create_merge_commit=Create a merge commit
|
pulls.create_merge_commit=Create a merge commit
|
||||||
pulls.rebase_before_merging=Rebase before merging
|
pulls.rebase_before_merging=Rebase before merging
|
||||||
|
pulls.commit_description=Commit Description
|
||||||
pulls.merge_pull_request=Обедини заявка за сливане
|
pulls.merge_pull_request=Обедини заявка за сливане
|
||||||
pulls.open_unmerged_pull_exists=`Невъзможно повторно отваряне, защото вече съществува заявка за сливане (#%d) от същото хранилище със същата информация за обединяване, която чака да бъде извършена`
|
pulls.open_unmerged_pull_exists=`Невъзможно повторно отваряне, защото вече съществува заявка за сливане (#%d) от същото хранилище със същата информация за обединяване, която чака да бъде извършена`
|
||||||
pulls.delete_branch=Изтрий клон
|
pulls.delete_branch=Изтрий клон
|
||||||
@@ -738,7 +758,7 @@ settings.tracker_issue_style=Стил на именуване на външна
|
|||||||
settings.tracker_issue_style.numeric=Цифров
|
settings.tracker_issue_style.numeric=Цифров
|
||||||
settings.tracker_issue_style.alphanumeric=Символен
|
settings.tracker_issue_style.alphanumeric=Символен
|
||||||
settings.tracker_url_format_desc=Можете да използвате текстови маркери <code>{user} {repo} {index}</code> за потребителско име, име на хранилище и индекс на задача съответно.
|
settings.tracker_url_format_desc=Можете да използвате текстови маркери <code>{user} {repo} {index}</code> за потребителско име, име на хранилище и индекс на задача съответно.
|
||||||
settings.pulls_desc=Включва заявки за сливане за да може да се приемат външни доработки
|
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches
|
||||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||||
settings.danger_zone=Опасна зона
|
settings.danger_zone=Опасна зона
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=Този потребител няма да
|
|||||||
settings.remove_collaborator_success=Сътрудникът е премахнат.
|
settings.remove_collaborator_success=Сътрудникът е премахнат.
|
||||||
settings.search_user_placeholder=Име на потребител...
|
settings.search_user_placeholder=Име на потребител...
|
||||||
settings.org_not_allowed_to_be_collaborator=Невъзможно добавяне на организация като сътрудник.
|
settings.org_not_allowed_to_be_collaborator=Невъзможно добавяне на организация като сътрудник.
|
||||||
settings.add_webhook=Добави уеб-кука
|
|
||||||
settings.hooks_desc=Уеб-куките много приличат на обикновен HTTP POST тригер. Когато нещо се случи в Gogs, ние ще изпратим уведомление до сървъра, който посочите. Научете повече в <a target="_blank" href="%s">Ръководство за уеб-куки</a>.
|
settings.hooks_desc=Уеб-куките много приличат на обикновен HTTP POST тригер. Когато нещо се случи в Gogs, ние ще изпратим уведомление до сървъра, който посочите. Научете повече в <a target="_blank" href="%s">Ръководство за уеб-куки</a>.
|
||||||
|
settings.webhooks.add_new=Add a new webhook:
|
||||||
|
settings.webhooks.choose_a_type=Choose a type...
|
||||||
|
settings.add_webhook=Добави уеб-кука
|
||||||
settings.webhook_deletion=Изтрий уеб-кука
|
settings.webhook_deletion=Изтрий уеб-кука
|
||||||
settings.webhook_deletion_desc=При изтриване на тази уеб-кука ще се премахне информацията за нея и цялата хронология на нейното изпращане. Желаете ли да продължите?
|
settings.webhook_deletion_desc=При изтриване на тази уеб-кука ще се премахне информацията за нея и цялата хронология на нейното изпращане. Желаете ли да продължите?
|
||||||
settings.webhook_deletion_success=Уеб-куката е изтрита успешно!
|
settings.webhook_deletion_success=Уеб-куката е изтрита успешно!
|
||||||
@@ -792,6 +814,8 @@ settings.webhook.response=Отговор
|
|||||||
settings.webhook.headers=Заглавки
|
settings.webhook.headers=Заглавки
|
||||||
settings.webhook.payload=Съдържание
|
settings.webhook.payload=Съдържание
|
||||||
settings.webhook.body=Тяло
|
settings.webhook.body=Тяло
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=Git куките се изпълняват от Git. Вие може да промените файловете с поддържаните куки в списъка по-долу, за да изпълните външни операции.
|
settings.githooks_desc=Git куките се изпълняват от Git. Вие може да промените файловете с поддържаните куки в списъка по-долу, за да изпълните външни операции.
|
||||||
settings.githook_edit_desc=Ако куката е неактивна, ще бъде представено примерно съдържание. Ако оставите съдържанието празно, то тази кука ще бъде изключена.
|
settings.githook_edit_desc=Ако куката е неактивна, ще бъде представено примерно съдържание. Ако оставите съдържанието празно, то тази кука ще бъде изключена.
|
||||||
settings.githook_name=Име на куката
|
settings.githook_name=Име на куката
|
||||||
@@ -819,10 +843,10 @@ settings.event_push=Предаване
|
|||||||
settings.event_push_desc=Git предаване към хранилището
|
settings.event_push_desc=Git предаване към хранилището
|
||||||
settings.event_issues=Issues
|
settings.event_issues=Issues
|
||||||
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
||||||
settings.event_issue_comment=Issue Comment
|
|
||||||
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
|
||||||
settings.event_pull_request=Заявка за сливане
|
settings.event_pull_request=Заявка за сливане
|
||||||
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
||||||
|
settings.event_issue_comment=Issue Comment
|
||||||
|
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
||||||
settings.event_release=Release
|
settings.event_release=Release
|
||||||
settings.event_release_desc=Release published in a repository.
|
settings.event_release_desc=Release published in a repository.
|
||||||
settings.active=Активна
|
settings.active=Активна
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=Новият ключ за внедряване '%s' е
|
|||||||
settings.deploy_key_deletion=Изтрий ключ за внедряване
|
settings.deploy_key_deletion=Изтрий ключ за внедряване
|
||||||
settings.deploy_key_deletion_desc=При изтриването на този ключ за внедряване ще се премахнат свързаните права за достъп до това хранилище. Желаете ли да продължите?
|
settings.deploy_key_deletion_desc=При изтриването на този ключ за внедряване ще се премахнат свързаните права за достъп до това хранилище. Желаете ли да продължите?
|
||||||
settings.deploy_key_deletion_success=Ключът за внедряване е изтрит успешно!
|
settings.deploy_key_deletion_success=Ключът за внедряване е изтрит успешно!
|
||||||
|
settings.description_desc=Description of repository. Maximum 512 characters length.
|
||||||
|
settings.description_length=Available characters
|
||||||
|
|
||||||
diff.browse_source=Преглед на файлове
|
diff.browse_source=Преглед на файлове
|
||||||
diff.parent=родител
|
diff.parent=родител
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=Ще използвате това име при спомена
|
|||||||
team_desc_helper=Каква е целта на този екип?
|
team_desc_helper=Каква е целта на този екип?
|
||||||
team_permission_desc=Какво ниво на достъп трябва да има този екип?
|
team_permission_desc=Какво ниво на достъп трябва да има този екип?
|
||||||
|
|
||||||
form.name_reserved=Името на организацията '%s' е запазено.
|
form.name_not_allowed=Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Име на организацията от вида '%s' не е разрешено.
|
form.team_name_not_allowed=Team name or pattern %q is not allowed.
|
||||||
form.team_name_reserved=Име на екип "%s" е запазено.
|
|
||||||
|
|
||||||
settings=Настройки
|
settings=Настройки
|
||||||
settings.options=Опции
|
settings.options=Опции
|
||||||
@@ -990,12 +1015,19 @@ first_page=Първа
|
|||||||
last_page=Последна
|
last_page=Последна
|
||||||
total=Общо: %d
|
total=Общо: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Build Information
|
||||||
|
dashboard.app_ver=Application version
|
||||||
|
dashboard.git_version=Git version
|
||||||
|
dashboard.go_version=Go version
|
||||||
|
dashboard.build_time=Build time
|
||||||
|
dashboard.build_commit=Build commit
|
||||||
dashboard.statistic=Статистика
|
dashboard.statistic=Статистика
|
||||||
dashboard.operations=Операции
|
dashboard.operations=Операции
|
||||||
dashboard.system_status=Наблюдение на системния статус
|
dashboard.system_status=Наблюдение на системния статус
|
||||||
dashboard.statistic_info=Gogs базата данни има <b>%d</b> потребители, <b>%d</b> организации, <b>%d</b> публични ключове, <b>%d</b> хранилища, <b>%d</b> наблюдавания, <b>%d</b> харесвания, <b>%d</b> действия, <b>%d</b> достъпи, <b>%d</b> задачи, <b>%d</b> коментари, <b>%d</b> социални регистрации, <b>%d</b> последователи, <b>%d</b> огледала, <b>%d</b> версии, <b>%d</b> начини на удостоверяване, <b>%d</b> уеб-куки, <b>%d</b> етапи, <b>%d</b> етикети, <b>%d</b> задачи на куки, <b>%d</b> екипи, <b>%d</b> задачи при актуализация, <b>%d</b> прикачени файлове.
|
dashboard.statistic_info=Gogs базата данни има <b>%d</b> потребители, <b>%d</b> организации, <b>%d</b> публични ключове, <b>%d</b> хранилища, <b>%d</b> наблюдавания, <b>%d</b> харесвания, <b>%d</b> действия, <b>%d</b> достъпи, <b>%d</b> задачи, <b>%d</b> коментари, <b>%d</b> социални регистрации, <b>%d</b> последователи, <b>%d</b> огледала, <b>%d</b> версии, <b>%d</b> начини на удостоверяване, <b>%d</b> уеб-куки, <b>%d</b> етапи, <b>%d</b> етикети, <b>%d</b> задачи на куки, <b>%d</b> екипи, <b>%d</b> задачи при актуализация, <b>%d</b> прикачени файлове.
|
||||||
dashboard.operation_name=Име на операцията
|
dashboard.operation_name=Име на операцията
|
||||||
dashboard.operation_switch=Превключи
|
dashboard.operation_switch=Превключи
|
||||||
|
dashboard.select_operation_to_run=Please select operation to run
|
||||||
dashboard.operation_run=Изпълни
|
dashboard.operation_run=Изпълни
|
||||||
dashboard.clean_unbind_oauth=Почисти несвързани OAuthes
|
dashboard.clean_unbind_oauth=Почисти несвързани OAuthes
|
||||||
dashboard.clean_unbind_oauth_success=Всички несвързани OAuthes са изтрити успешно.
|
dashboard.clean_unbind_oauth_success=Всички несвързани OAuthes са изтрити успешно.
|
||||||
@@ -1087,11 +1119,12 @@ repos.stars=Харесвания
|
|||||||
repos.issues=Задачи
|
repos.issues=Задачи
|
||||||
repos.size=Размер
|
repos.size=Размер
|
||||||
|
|
||||||
auths.auth_manage_panel=Управление на удостоверявания
|
auths.auth_sources=Authentication Sources
|
||||||
auths.new=Добави нов начин на удостоверяване
|
auths.new=Добави нов начин на удостоверяване
|
||||||
auths.name=Име
|
auths.name=Име
|
||||||
auths.type=Тип
|
auths.type=Тип
|
||||||
auths.enabled=Активно
|
auths.enabled=Активно
|
||||||
|
auths.default=Default
|
||||||
auths.updated=Последна модификация
|
auths.updated=Последна модификация
|
||||||
auths.auth_type=Тип на удостоверяване
|
auths.auth_type=Тип на удостоверяване
|
||||||
auths.auth_name=Име на удостоверяване
|
auths.auth_name=Име на удостоверяване
|
||||||
@@ -1128,9 +1161,9 @@ auths.enable_tls=Включи TLS криптиране
|
|||||||
auths.skip_tls_verify=Пропусни проверка на TLS сертификат
|
auths.skip_tls_verify=Пропусни проверка на TLS сертификат
|
||||||
auths.pam_service_name=Име на PAM услуга
|
auths.pam_service_name=Име на PAM услуга
|
||||||
auths.enable_auto_register=Включи автоматична регистрация
|
auths.enable_auto_register=Включи автоматична регистрация
|
||||||
auths.tips=Съвети
|
|
||||||
auths.edit=Редактирай настройки за удостоверяване
|
auths.edit=Редактирай настройки за удостоверяване
|
||||||
auths.activated=Това удостоверяване е активно
|
auths.activated=Това удостоверяване е активно
|
||||||
|
auths.default_auth=This authentication is default login source
|
||||||
auths.new_success=Новото удостоверяване '%s' е добавено успешно.
|
auths.new_success=Новото удостоверяване '%s' е добавено успешно.
|
||||||
auths.update_success=Настройките за удостоверяване са запазени успешно.
|
auths.update_success=Настройките за удостоверяване са запазени успешно.
|
||||||
auths.update=Запази настройки за удостоверяване
|
auths.update=Запази настройки за удостоверяване
|
||||||
@@ -1140,120 +1173,186 @@ auths.delete_auth_desc=Това удостоверяване ще бъде из
|
|||||||
auths.still_in_used=Това удостоверяване все още се използва от някои потребители. Моля изтрийте ги или ги конвертирайте до друг тип на влизане първо.
|
auths.still_in_used=Това удостоверяване все още се използва от някои потребители. Моля изтрийте ги или ги конвертирайте до друг тип на влизане първо.
|
||||||
auths.deletion_success=Удостоверяването е изтрито успешно!
|
auths.deletion_success=Удостоверяването е изтрито успешно!
|
||||||
auths.login_source_exist=Източник за валидация на потребители "%s" вече съществува.
|
auths.login_source_exist=Източник за валидация на потребители "%s" вече съществува.
|
||||||
|
auths.github_api_endpoint=API Endpoint
|
||||||
|
|
||||||
config.not_set=(not set)
|
config.not_set=(not set)
|
||||||
config.server_config=Сървърни настройки
|
config.server_config=Сървърни настройки
|
||||||
config.app_name=Име на приложението
|
config.brand_name=Brand name
|
||||||
config.app_ver=Версия на приложението
|
|
||||||
config.app_url=URL адрес на приложението
|
|
||||||
config.domain=Домейн
|
|
||||||
config.offline_mode=Офлайн режим
|
|
||||||
config.disable_router_log=Изключи журнал на маршрутизатора
|
|
||||||
config.run_user=Потребителски контекст
|
config.run_user=Потребителски контекст
|
||||||
config.run_mode=Режим на изпълнение
|
config.run_mode=Режим на изпълнение
|
||||||
config.git_version=Git версия
|
config.server.external_url=External URL
|
||||||
config.static_file_root_path=Път към статични файлове
|
config.server.domain=Domain
|
||||||
config.log_file_root_path=Път към журнал
|
config.server.protocol=Protocol
|
||||||
config.reverse_auth_user=Потребителско име при обратно удостоверяване
|
config.server.http_addr=HTTP address
|
||||||
|
config.server.http_port=HTTP port
|
||||||
|
config.server.cert_file=Certificate file
|
||||||
|
config.server.key_file=Key file
|
||||||
|
config.server.tls_min_version=Minimum TLS version
|
||||||
|
config.server.unix_socket_permission=Unix socket permission
|
||||||
|
config.server.local_root_url=Local root URL
|
||||||
|
config.server.offline_mode=Offline mode
|
||||||
|
config.server.disable_router_log=Disable router log
|
||||||
|
config.server.enable_gzip=Enable Gzip
|
||||||
|
config.server.app_data_path=Application data path
|
||||||
|
config.server.load_assets_from_disk=Load assets from disk
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
config.ssh_config=SSH конфигурация
|
config.ssh_config=SSH конфигурация
|
||||||
config.ssh_enabled=Активен
|
config.ssh.enabled=Enabled
|
||||||
config.ssh_start_builtin_server=Стартирай вграден сървър
|
config.ssh.domain=Exposed domain
|
||||||
config.ssh_domain=Домейн
|
config.ssh.port=Exposed port
|
||||||
config.ssh_port=Порт
|
config.ssh.root_path=Root path
|
||||||
config.ssh_listen_port=Порт за слушане
|
config.ssh.keygen_path=Keygen path
|
||||||
config.ssh_root_path=Основен път
|
config.ssh.key_test_path=Key test path
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Minimum key size check
|
||||||
config.ssh_key_test_path=Път до ключове
|
config.ssh.minimum_key_sizes=Minimum key sizes
|
||||||
config.ssh_keygen_path=Път до генератор ('ssh-keygen')
|
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
|
||||||
config.ssh_minimum_key_size_check=Проверка за минимален размер на ключове
|
config.ssh.start_builtin_server=Start builtin server
|
||||||
config.ssh_minimum_key_sizes=Минимален размер на ключове
|
config.ssh.listen_host=Listen host
|
||||||
|
config.ssh.listen_port=Listen port
|
||||||
|
config.ssh.server_ciphers=Server ciphers
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=Конфигурация на хранилище
|
config.repo_config=Конфигурация на хранилище
|
||||||
config.repo_root_path=Основен път към хранилища
|
config.repo.root_path=Root path
|
||||||
config.script_type=Тип на скрипта
|
config.repo.script_type=Script type
|
||||||
config.repo_force_private=Force Private
|
config.repo.ansi_chatset=ANSI charset
|
||||||
config.max_creation_limit=Max Creation Limit
|
config.repo.force_private=Force private
|
||||||
config.preferred_licenses=Предпочитани лицензи
|
config.repo.max_creation_limit=Max creation limit
|
||||||
config.disable_http_git=Забраняване на HTTP Git
|
config.repo.preferred_licenses=Preferred licenses
|
||||||
config.enable_local_path_migration=Enable Local Path Migration
|
config.repo.disable_http_git=Disable HTTP Git
|
||||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
config.http_config=Конфигуриране на HTTP
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Upload enabled
|
||||||
|
config.repo.upload.temp_path=Upload temporary path
|
||||||
|
config.repo.upload.allowed_types=Upload allowed types
|
||||||
|
config.repo.upload.file_max_size=Upload file size limit
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=Настройки на базата данни
|
config.db_config=Настройки на базата данни
|
||||||
config.db_type=Тип
|
config.db.type=Type
|
||||||
config.db_host=Сървър
|
config.db.host=Host
|
||||||
config.db_name=Име
|
config.db.name=Name
|
||||||
config.db_user=Потребител
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=SSL режим
|
config.db.schema_helper=(for "postgres" only)
|
||||||
config.db_ssl_mode_helper=(само за postgres)
|
config.db.user=User
|
||||||
config.db_path=Път
|
config.db.ssl_mode=SSL mode
|
||||||
config.db_path_helper=(за "sqlite3" и "tidb")
|
config.db.ssl_mode_helper=(for "postgres" only)
|
||||||
|
config.db.path=Path
|
||||||
|
config.db.path_helper=(for "sqlite3"only)
|
||||||
|
config.db.max_open_conns=Maximum open connections
|
||||||
|
config.db.max_idle_conns=Maximum idle connections
|
||||||
|
|
||||||
config.service_config=Настройка на услугата
|
config.security_config=Security configuration
|
||||||
config.register_email_confirm=Изисквай потвърждение на адреси на ел. поща
|
config.security.login_remember_days=Login remember days
|
||||||
config.disable_register=Изключи нови регистрации
|
config.security.cookie_remember_name=Remember cookie
|
||||||
config.show_registration_button=Покажи бутон за регистрация
|
config.security.cookie_username=Username cookie
|
||||||
config.require_sign_in_view=Изисквай вписване за преглед
|
config.security.cookie_secure=Enable secure cookie
|
||||||
config.mail_notify=Уведомяване по ел. поща
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=Изключи проверка минимален размер на ключ
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=Включи Captcha
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=Кодове за активиране
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=Кодове за изчистване на парола
|
|
||||||
|
|
||||||
config.webhook_config=Конфигурация на уеб-куки
|
config.email_config=Email configuration
|
||||||
config.queue_length=Дължина на опашка
|
config.email.enabled=Enabled
|
||||||
config.deliver_timeout=Време за отказ при изпращане
|
config.email.subject_prefix=Subject prefix
|
||||||
config.skip_tls_verify=Пропусни проверка на TLS
|
config.email.host=Host
|
||||||
|
config.email.from=From
|
||||||
|
config.email.user=User
|
||||||
|
config.email.disable_helo=Disable HELO
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
config.email.skip_verify=Skip certificate verify
|
||||||
|
config.email.use_certificate=Use custom certificate
|
||||||
|
config.email.cert_file=Certificate file
|
||||||
|
config.email.key_file=Key file
|
||||||
|
config.email.use_plain_text=Use plain text
|
||||||
|
config.email.add_plain_text_alt=Add plain text alternative
|
||||||
|
config.email.send_test_mail=Send test email
|
||||||
|
config.email.test_mail_failed=Failed to send test email to '%s': %v
|
||||||
|
config.email.test_mail_sent=Test email has been sent to '%s'.
|
||||||
|
|
||||||
config.mailer_config=Конфигурация на мейлър
|
config.auth_config=Authentication configuration
|
||||||
config.mailer_enabled=Активен
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=Изключи HELO
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=Сървър
|
config.auth.require_email_confirm=Require email confirmation
|
||||||
config.mailer_user=Потребител
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=Изпрати тестово писмо
|
config.auth.disable_registration=Disable registration
|
||||||
config.test_mail_failed=Невъзможно изпращане на тестово писмо до '%s': %v
|
config.auth.enable_registration_captcha=Enable registration captcha
|
||||||
config.test_mail_sent=Тестово писмо беше изпратено до '%s'.
|
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
config.oauth_config=OAuth конфигурация
|
config.user_config=User configuration
|
||||||
config.oauth_enabled=Активна
|
config.user.enable_email_notify=Enable email notification
|
||||||
|
|
||||||
config.cache_config=Конфигурация на кеша
|
|
||||||
config.cache_adapter=Кеш адаптер
|
|
||||||
config.cache_interval=Кеш интервал
|
|
||||||
config.cache_conn=Кеш на връзката
|
|
||||||
|
|
||||||
config.session_config=Конфигурация на сесии
|
config.session_config=Конфигурация на сесии
|
||||||
config.session_provider=Доставчик на сесии
|
config.session.provider=Provider
|
||||||
config.provider_config=Конфигурация на доставчик
|
config.session.provider_config=Provider config
|
||||||
config.cookie_name=Име на бисквитката
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=Включи използване на бисквитки
|
config.session.https_only=HTTPS only
|
||||||
config.gc_interval_time=GC през интервал
|
config.session.gc_interval=GC interval
|
||||||
config.session_life_time=Период на валидност на сесиите
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=HTTPS само
|
config.session.csrf_cookie_name=CSRF cookie
|
||||||
config.cookie_life_time=Период на валидност на бисквитките
|
|
||||||
|
config.cache_config=Конфигурация на кеша
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC interval
|
||||||
|
config.cache.host=Host
|
||||||
|
|
||||||
|
config.http_config=Конфигуриране на HTTP
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Enabled
|
||||||
|
config.attachment.path=Path
|
||||||
|
config.attachment.allowed_types=Allowed types
|
||||||
|
config.attachment.max_size=Size limit
|
||||||
|
config.attachment.max_files=Files limit
|
||||||
|
|
||||||
|
config.release_config=Release configuration
|
||||||
|
config.release.attachment.enabled=Attachment enabled
|
||||||
|
config.release.attachment.allowed_types=Attachment allowed types
|
||||||
|
config.release.attachment.max_size=Attachment size limit
|
||||||
|
config.release.attachment.max_files=Attachment files limit
|
||||||
|
|
||||||
config.picture_config=Конфигурация на изображения
|
config.picture_config=Конфигурация на изображения
|
||||||
config.picture_service=Услуги за снимки
|
config.picture.avatar_upload_path=User avatar upload path
|
||||||
config.disable_gravatar=Изключи Gravatar
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=Включи външни аватари
|
config.picture.gravatar_source=Gravatar source
|
||||||
|
config.picture.disable_gravatar=Disable Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Mirror configuration
|
||||||
|
config.mirror.default_interval=Default interval
|
||||||
|
|
||||||
|
config.webhook_config=Конфигурация на уеб-куки
|
||||||
|
config.webhook.types=Types
|
||||||
|
config.webhook.deliver_timeout=Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify=Skip TLS verify
|
||||||
|
|
||||||
config.git_config=Конфигурация на git
|
config.git_config=Конфигурация на git
|
||||||
config.git_disable_diff_highlight=Забрани оцветяване на синтаксис при преглед на разлики
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
config.git_max_diff_lines=Максимален брой различни редове (за файл)
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=Максимален брой различни символи (на ред)
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=Максимален брой променени файлове (при показване)
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=Аргументи на GC
|
config.git.gc_args=GC arguments
|
||||||
config.git_migrate_timeout=Време за отказ при миграция
|
config.git.migrate_timeout=Migration timeout
|
||||||
config.git_mirror_timeout=Време за отказ при синхр. на огледало
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
config.git_clone_timeout=Време за отказ при клониране
|
config.git.clone_timeout=Clone timeout
|
||||||
config.git_pull_timeout=Време за отказ при сливане
|
config.git.pull_timeout=Pull timeout
|
||||||
config.git_gc_timeout=Време за отказ при GC
|
config.git.gc_timeout=GC timeout
|
||||||
|
|
||||||
|
config.lfs_config=LFS configuration
|
||||||
|
config.lfs.storage=Storage
|
||||||
|
config.lfs.objects_path=Objects path
|
||||||
|
|
||||||
config.log_config=Конфигурация на журнал
|
config.log_config=Конфигурация на журнал
|
||||||
|
config.log_file_root_path=Път към журнал
|
||||||
config.log_mode=Режим
|
config.log_mode=Режим
|
||||||
config.log_options=Настройки
|
config.log_options=Настройки
|
||||||
|
|
||||||
@@ -1284,7 +1383,6 @@ notices.delete_success=Системните съобщения са изтрит
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=създаде хранилище <a href="%s"> %s</a>
|
create_repo=създаде хранилище <a href="%s"> %s</a>
|
||||||
fork_repo=forked a repository to <a href="%s">%s</a>
|
|
||||||
rename_repo=преименува хранилище от <code>%[1]s</code> на <a href="%[2]s">%[3]s</a>
|
rename_repo=преименува хранилище от <code>%[1]s</code> на <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo=предаде към <a href="%[1]s/src/%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a>
|
commit_repo=предаде към <a href="%[1]s/src/%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=Сравнение между тези %d ревизии
|
compare_commits=Сравнение между тези %d ревизии
|
||||||
@@ -1301,6 +1399,10 @@ create_branch=създаде клон <a href="%[1]s/src/%[2]s"> %[3]s</a> % <a
|
|||||||
delete_branch=изтри клон <code>%[2]s</code> % <a href="%[1]s">[3]s</a>
|
delete_branch=изтри клон <code>%[2]s</code> % <a href="%[1]s">[3]s</a>
|
||||||
push_tag=предаде маркер <a href="%s/src/%s">%[2]s</a> към <a href="%[1]s">[3]s</a>
|
push_tag=предаде маркер <a href="%s/src/%s">%[2]s</a> към <a href="%[1]s">[3]s</a>
|
||||||
delete_tag=изтри етикет <code>%[2]s</code> % <a href="%[1]s">[3]s</a>
|
delete_tag=изтри етикет <code>%[2]s</code> % <a href="%[1]s">[3]s</a>
|
||||||
|
fork_repo=forked a repository to <a href="%s">%s</a>
|
||||||
|
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
|
||||||
|
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=преди
|
ago=преди
|
||||||
@@ -1322,6 +1424,7 @@ months=%[2]s %[1]d месеца
|
|||||||
years=%[2]s %[1]d години
|
years=%[2]s %[1]d години
|
||||||
raw_seconds=секунди
|
raw_seconds=секунди
|
||||||
raw_minutes=минути
|
raw_minutes=минути
|
||||||
|
raw_hours=hours
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Тук пуснете файлове с влачене или просто щракнете за избор на файл за качване.
|
default_message=Тук пуснете файлове с влачене или просто щракнете за избор на файл за качване.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=Odhlásit se
|
|||||||
sign_up=Registrovat se
|
sign_up=Registrovat se
|
||||||
register=Registrovat se
|
register=Registrovat se
|
||||||
website=Webové stránky
|
website=Webové stránky
|
||||||
version=Verze
|
|
||||||
page=Strana
|
page=Strana
|
||||||
template=Šablona
|
template=Šablona
|
||||||
language=Jazyk
|
language=Jazyk
|
||||||
@@ -23,10 +22,10 @@ password=Heslo
|
|||||||
re_type=Znovu zadat
|
re_type=Znovu zadat
|
||||||
captcha=CAPTCHA
|
captcha=CAPTCHA
|
||||||
|
|
||||||
repository=Repositář
|
repository=Repozitář
|
||||||
organization=Organizace
|
organization=Organizace
|
||||||
mirror=Zrcadlo
|
mirror=Zrcadlo
|
||||||
new_repo=Nový repositář
|
new_repo=Nový repozitář
|
||||||
new_migrate=Nové přenesení
|
new_migrate=Nové přenesení
|
||||||
new_mirror=Nové zrcadlo
|
new_mirror=Nové zrcadlo
|
||||||
new_fork=Nový repositář rozštěpení
|
new_fork=Nový repositář rozštěpení
|
||||||
@@ -39,22 +38,27 @@ your_profile=Váš profil
|
|||||||
your_settings=Vaše nastavení
|
your_settings=Vaše nastavení
|
||||||
|
|
||||||
activities=Aktivity
|
activities=Aktivity
|
||||||
pull_requests=Pull Requesty
|
pull_requests=Požadavky na natažení
|
||||||
issues=Úkoly
|
issues=Úkoly
|
||||||
|
|
||||||
cancel=Zrušit
|
cancel=Zrušit
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Page Not Found
|
||||||
|
internal_server_error=Internal Server Error
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Instalace
|
install=Instalace
|
||||||
title=Kroky instalace pro první spuštění
|
title=Kroky instalace pro první spuštění
|
||||||
docker_helper=Spouštíte-li Gogs uvnitř Dockeru, přečtěte si prosím pečlivě <a target="_blank" href="%s">návod</a>, než něco změníte na této stránce!
|
docker_helper=Spouštíte-li Gogs uvnitř Dockeru, přečtěte si prosím pečlivě <a target="_blank" href="%s">návod</a>, než něco změníte na této stránce!
|
||||||
requite_db_desc=Gogs vyžaduje MySQL, PostgreSQL, SQLite3, MSSQL nebo TiDB.
|
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol).
|
||||||
db_title=Nastavení databáze
|
db_title=Nastavení databáze
|
||||||
db_type=Typ databáze
|
db_type=Typ databáze
|
||||||
host=Server
|
host=Server
|
||||||
user=Uživatel
|
user=Uživatel
|
||||||
password=Heslo
|
password=Heslo
|
||||||
db_name=Název databáze
|
db_name=Název databáze
|
||||||
|
db_schema=Schema
|
||||||
db_helper=Prosím, pro MySQL použijte INNODB engine se znakovou sadou utf8_general_ci.
|
db_helper=Prosím, pro MySQL použijte INNODB engine se znakovou sadou utf8_general_ci.
|
||||||
ssl_mode=SSL režim
|
ssl_mode=SSL režim
|
||||||
path=Cesta
|
path=Cesta
|
||||||
@@ -72,7 +76,7 @@ run_user=Účet pro spouštění
|
|||||||
run_user_helper=Tento uživatel musí mít přístup do kořenového adresáře repositářů a právo spustit Gogs.
|
run_user_helper=Tento uživatel musí mít přístup do kořenového adresáře repositářů a právo spustit Gogs.
|
||||||
domain=Doména
|
domain=Doména
|
||||||
domain_helper=Toto ovlivňuje URL klonů skrze SSH.
|
domain_helper=Toto ovlivňuje URL klonů skrze SSH.
|
||||||
ssh_port=SSH port
|
ssh_port=Port SSH
|
||||||
ssh_port_helper=Číslo portu, které používá váš SSH server. Nechte jej prázdné pro vypnutí používání SSH.
|
ssh_port_helper=Číslo portu, které používá váš SSH server. Nechte jej prázdné pro vypnutí používání SSH.
|
||||||
use_builtin_ssh_server=Použít vestavěný SSH server
|
use_builtin_ssh_server=Použít vestavěný SSH server
|
||||||
use_builtin_ssh_server_popup=Pro Git operace spustit vestavěný SSH server, aby byl rozpoznán od systémové SSH služby.
|
use_builtin_ssh_server_popup=Pro Git operace spustit vestavěný SSH server, aby byl rozpoznán od systémové SSH služby.
|
||||||
@@ -84,6 +88,7 @@ log_root_path=Adresář systémových záznamů
|
|||||||
log_root_path_helper=Adresář, kam se budou zapisovat soubory se systémovými záznamy.
|
log_root_path_helper=Adresář, kam se budou zapisovat soubory se systémovými záznamy.
|
||||||
enable_console_mode=Povolit režim konzole
|
enable_console_mode=Povolit režim konzole
|
||||||
enable_console_mode_popup=Mimo zápisu do souboru vytisknout systémové záznamy i do konzole.
|
enable_console_mode_popup=Mimo zápisu do souboru vytisknout systémové záznamy i do konzole.
|
||||||
|
default_branch=Default Branch
|
||||||
|
|
||||||
optional_title=Dodatečná nastavení
|
optional_title=Dodatečná nastavení
|
||||||
email_title=Nastavení e-mailové služby
|
email_title=Nastavení e-mailové služby
|
||||||
@@ -122,6 +127,7 @@ run_user_not_match=Uživatel pro spuštění není aktuální uživatel: %s -> %
|
|||||||
smtp_host_missing_port=V adrese SMTP serveru chybí číslo portu.
|
smtp_host_missing_port=V adrese SMTP serveru chybí číslo portu.
|
||||||
invalid_smtp_from=Hodnota položky SMTP Od: není zadána správně: %v
|
invalid_smtp_from=Hodnota položky SMTP Od: není zadána správně: %v
|
||||||
save_config_failed=Uložení konfigurace se nezdařilo: %v
|
save_config_failed=Uložení konfigurace se nezdařilo: %v
|
||||||
|
init_failed=Nepodařilo se inicializovat aplikaci: %v
|
||||||
invalid_admin_setting=Nastavení účtu správce není správné: %v
|
invalid_admin_setting=Nastavení účtu správce není správné: %v
|
||||||
install_success=Vítejte! Jsme rádi, že jste si vybrali Gogs. Bavte se a opatrujte se.
|
install_success=Vítejte! Jsme rádi, že jste si vybrali Gogs. Bavte se a opatrujte se.
|
||||||
invalid_log_root_path=Kořenový adresář souborů systémových záznamů není správný: %v
|
invalid_log_root_path=Kořenový adresář souborů systémových záznamů není správný: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=Již máte účet? Přihlašte se!
|
|||||||
social_register_hepler_msg=Již máte účet? Připojte se!
|
social_register_hepler_msg=Již máte účet? Připojte se!
|
||||||
disable_register_prompt=Omlouváme se, ale registrace jsou vypnuty. Kontaktujte správce systému.
|
disable_register_prompt=Omlouváme se, ale registrace jsou vypnuty. Kontaktujte správce systému.
|
||||||
disable_register_mail=Omlouváme se, ale e-mailové služby jsou vypnuté. Kontaktujte správce systému.
|
disable_register_mail=Omlouváme se, ale e-mailové služby jsou vypnuté. Kontaktujte správce systému.
|
||||||
|
auth_source=Zdroj ověření
|
||||||
|
local=Lokální
|
||||||
remember_me=Zapamatovat si mne
|
remember_me=Zapamatovat si mne
|
||||||
forgot_password=Zapomenuté heslo
|
forgot_password=Zapomenuté heslo
|
||||||
forget_password=Zapomněli jste heslo?
|
forget_password=Zapomněli jste heslo?
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=Název organizace je již obsazen.
|
|||||||
team_name_been_taken=Název týmu je již obsazen.
|
team_name_been_taken=Název týmu je již obsazen.
|
||||||
email_been_used=E-mailová adresa je již použita.
|
email_been_used=E-mailová adresa je již použita.
|
||||||
username_password_incorrect=Chybné uživatelské jméno nebo heslo.
|
username_password_incorrect=Chybné uživatelské jméno nebo heslo.
|
||||||
|
auth_source_mismatch=Vybraný zdroj ověření není propojen s uživatelem.
|
||||||
enterred_invalid_repo_name=Ujistěte se, prosím, že zadaný název repositáře je správný.
|
enterred_invalid_repo_name=Ujistěte se, prosím, že zadaný název repositáře je správný.
|
||||||
enterred_invalid_owner_name=Ujistěte se, prosím, že jméno vlastníka je zadáno správně.
|
enterred_invalid_owner_name=Ujistěte se, prosím, že jméno vlastníka je zadáno správně.
|
||||||
enterred_invalid_password=Ujistěte se, prosím, že zadané heslo je správné.
|
enterred_invalid_password=Ujistěte se, prosím, že zadané heslo je správné.
|
||||||
@@ -248,7 +257,7 @@ target_branch_not_exist=Cílová větev neexistuje.
|
|||||||
[user]
|
[user]
|
||||||
change_avatar=Změnit vaši uživatelskou ikonu
|
change_avatar=Změnit vaši uživatelskou ikonu
|
||||||
join_on=Zaregistroval se dne
|
join_on=Zaregistroval se dne
|
||||||
repositories=Repositáře
|
repositories=Repozitáře
|
||||||
activity=Veřejná aktivita
|
activity=Veřejná aktivita
|
||||||
followers=Sledující
|
followers=Sledující
|
||||||
starred=Oblíbené repositáře
|
starred=Oblíbené repositáře
|
||||||
@@ -256,8 +265,7 @@ following=Sledovaní
|
|||||||
follow=Sledovat
|
follow=Sledovat
|
||||||
unfollow=Přestat sledovat
|
unfollow=Přestat sledovat
|
||||||
|
|
||||||
form.name_reserved=Uživatelské jméno '%s' je rezervováno.
|
form.name_not_allowed=User name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Vzor uživatelského jména '%s' není povolen.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Profil
|
profile=Profil
|
||||||
@@ -309,6 +317,7 @@ delete_email=Smazat
|
|||||||
email_deletion=Smazání e-mailové adresy
|
email_deletion=Smazání e-mailové adresy
|
||||||
email_deletion_desc=Smazání této e-mailové adresy odstraní návazné informace z vašeho účtu. Chcete pokračovat?
|
email_deletion_desc=Smazání této e-mailové adresy odstraní návazné informace z vašeho účtu. Chcete pokračovat?
|
||||||
email_deletion_success=E-mailová adresa byla smazána!
|
email_deletion_success=E-mailová adresa byla smazána!
|
||||||
|
email_deletion_primary=Cannot delete primary email address.
|
||||||
add_new_email=Přidat novou e-mailovou adresu
|
add_new_email=Přidat novou e-mailovou adresu
|
||||||
add_email=Přidat e-mailovou adresu
|
add_email=Přidat e-mailovou adresu
|
||||||
add_email_confirmation_sent=Nový potvrzovací e-mail byl odeslán na adresu '%s', prosím zkontrolujte si vaši doručenou poštu během následujících %d hodin pro dokončení procesu potvrzení.
|
add_email_confirmation_sent=Nový potvrzovací e-mail byl odeslán na adresu '%s', prosím zkontrolujte si vaši doručenou poštu během následujících %d hodin pro dokončení procesu potvrzení.
|
||||||
@@ -316,7 +325,7 @@ add_email_success=Vaše nová e-mailová adresa byla přidána.
|
|||||||
|
|
||||||
manage_ssh_keys=Správa SSH klíčů
|
manage_ssh_keys=Správa SSH klíčů
|
||||||
add_key=Přidat klíč
|
add_key=Přidat klíč
|
||||||
ssh_desc=Toto je seznam SSH klíčů vašeho účtu. Tyto klíče umožňují plný přístup k vašim repositářům, proto je velmi důležité, abyste jste si byli jistí, že jsou skutečně vaše.
|
ssh_desc=Toto je seznam SSH klíčů vašeho účtu. Jelikož SSH klíče umožňují komukoliv plný přístup k vašim repositářům, je velmi důležité, abyste si byli jistí, že jsou skutečně vaše.
|
||||||
ssh_helper=<strong>Nevíte jak?</strong> Podívejte se do příručky GitHubu jak si <a href="%s">vytvořit vlastní SSH klíč</a>, nebo na <a href="%s">řešení častých problémů</a>, na které můžete narazit při používání SSH.
|
ssh_helper=<strong>Nevíte jak?</strong> Podívejte se do příručky GitHubu jak si <a href="%s">vytvořit vlastní SSH klíč</a>, nebo na <a href="%s">řešení častých problémů</a>, na které můžete narazit při používání SSH.
|
||||||
add_new_key=Přidat SSH klíč
|
add_new_key=Přidat SSH klíč
|
||||||
ssh_key_been_used=Obsah veřejného klíče byl použit.
|
ssh_key_been_used=Obsah veřejného klíče byl použit.
|
||||||
@@ -326,8 +335,8 @@ key_content=Obsah
|
|||||||
add_key_success=Byl přidán nový SSH klíč '%s'!
|
add_key_success=Byl přidán nový SSH klíč '%s'!
|
||||||
delete_key=Smazat
|
delete_key=Smazat
|
||||||
ssh_key_deletion=Smazání SSH klíče
|
ssh_key_deletion=Smazání SSH klíče
|
||||||
ssh_key_deletion_desc=Smazání tohoto SSH klíče odstraní všechny související přístupy k vašemu účtu. Chcete pokračovat?
|
ssh_key_deletion_desc=Smazání tohoto klíče SSH odstraní všechny související přístupy k vašemu účtu. Chcete pokračovat?
|
||||||
ssh_key_deletion_success=SSH klíč úspěšně odstraněn!
|
ssh_key_deletion_success=SSH klíč byl úspěšně smazán!
|
||||||
add_on=Přidán dne
|
add_on=Přidán dne
|
||||||
last_used=Naposledy použit dne
|
last_used=Naposledy použit dne
|
||||||
no_activity=Žádná aktuální aktivita
|
no_activity=Žádná aktuální aktivita
|
||||||
@@ -348,6 +357,7 @@ two_factor_or_enter_secret=Nebo zadejte tajný kód:
|
|||||||
two_factor_then_enter_passcode=Pak zadejte přístupový kód:
|
two_factor_then_enter_passcode=Pak zadejte přístupový kód:
|
||||||
two_factor_verify=Ověřit
|
two_factor_verify=Ověřit
|
||||||
two_factor_invalid_passcode=Zadaný přístupový kód není platný, prosím, zkuste to znova!
|
two_factor_invalid_passcode=Zadaný přístupový kód není platný, prosím, zkuste to znova!
|
||||||
|
two_factor_reused_passcode=Kód, který jste zadali už byl použit. Prosím, zkuste jiný!
|
||||||
two_factor_enable_error=Povolení dvoufaktorového ověření selhalo: %v
|
two_factor_enable_error=Povolení dvoufaktorového ověření selhalo: %v
|
||||||
two_factor_enable_success=Dvoufaktorové ověření bylo pro váš účet povoleno!
|
two_factor_enable_success=Dvoufaktorové ověření bylo pro váš účet povoleno!
|
||||||
two_factor_recovery_codes_title=Obnovovací kódy dvoufaktorového ověření
|
two_factor_recovery_codes_title=Obnovovací kódy dvoufaktorového ověření
|
||||||
@@ -362,6 +372,7 @@ two_factor_disable_success=Dvoufaktorové ověření bylo zakázáno!
|
|||||||
manage_access_token=Správa osobních přístupových poukázek
|
manage_access_token=Správa osobních přístupových poukázek
|
||||||
generate_new_token=Vygenerovat novou poukázku
|
generate_new_token=Vygenerovat novou poukázku
|
||||||
tokens_desc=Poukázky, které jste vygeneroval, mohou být použity pro přístup k Gogs API.
|
tokens_desc=Poukázky, které jste vygeneroval, mohou být použity pro přístup k Gogs API.
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc=Každá poukázka má úplný přístup k vašemu účtu.
|
new_token_desc=Každá poukázka má úplný přístup k vašemu účtu.
|
||||||
token_name=Název poukázky
|
token_name=Název poukázky
|
||||||
generate_token=Vygenerovat poukázku
|
generate_token=Vygenerovat poukázku
|
||||||
@@ -370,6 +381,7 @@ delete_token=Smazat
|
|||||||
access_token_deletion=Smazání osobní přístupové poukázky
|
access_token_deletion=Smazání osobní přístupové poukázky
|
||||||
access_token_deletion_desc=Smazáním této osobní přístupové poukázky odstraní všechen související přístup aplikace. Chcete pokračovat?
|
access_token_deletion_desc=Smazáním této osobní přístupové poukázky odstraní všechen související přístup aplikace. Chcete pokračovat?
|
||||||
delete_token_success=Osobní přístupová poukázka byla odstraněna! Nezapomeňte také změnit nastavení vaší aplikace.
|
delete_token_success=Osobní přístupová poukázka byla odstraněna! Nezapomeňte také změnit nastavení vaší aplikace.
|
||||||
|
token_name_exists=Poukázka se stejným jménem již existtuje.
|
||||||
|
|
||||||
orgs.none=Nejste členem žádné organizace.
|
orgs.none=Nejste členem žádné organizace.
|
||||||
orgs.leave_title=Opustit organizaci
|
orgs.leave_title=Opustit organizaci
|
||||||
@@ -391,7 +403,9 @@ owner=Vlastník
|
|||||||
repo_name=Název repositáře
|
repo_name=Název repositáře
|
||||||
repo_name_helper=Dobrý název repositáře se většinou skládá z krátkých, zapamatovatelných a unikátních klíčových slov.
|
repo_name_helper=Dobrý název repositáře se většinou skládá z krátkých, zapamatovatelných a unikátních klíčových slov.
|
||||||
visibility=Viditelnost
|
visibility=Viditelnost
|
||||||
|
unlisted=Unlisted
|
||||||
visiblity_helper=Tento repositář je <span class="ui red text">soukromý</span>
|
visiblity_helper=Tento repositář je <span class="ui red text">soukromý</span>
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=Správce vynutil na všech nových repositářích, aby byly <span class="ui red text">soukromé</span>
|
visiblity_helper_forced=Správce vynutil na všech nových repositářích, aby byly <span class="ui red text">soukromé</span>
|
||||||
visiblity_fork_helper=(Změna této hodnoty ovlivní všechny repositáře rozštěpení)
|
visiblity_fork_helper=(Změna této hodnoty ovlivní všechny repositáře rozštěpení)
|
||||||
clone_helper=Potřebujete pomoci s klonováním? Navštivte <a target="_blank" href="%s">nápovědu</a>!
|
clone_helper=Potřebujete pomoci s klonováním? Navštivte <a target="_blank" href="%s">nápovědu</a>!
|
||||||
@@ -417,10 +431,11 @@ mirror_last_synced=Naposledy synchronizováno
|
|||||||
watchers=Sledující
|
watchers=Sledující
|
||||||
stargazers=Sledující
|
stargazers=Sledující
|
||||||
forks=Rozštěpení
|
forks=Rozštěpení
|
||||||
|
repo_description_helper=Popis repozitáře. Maximální délka 512 znaků.
|
||||||
|
repo_description_length=Dostupné znaky
|
||||||
|
|
||||||
form.reach_limit_of_creation=Vlastník dosáhl maximálního počtu %d vytvořených repositořů.
|
form.reach_limit_of_creation=Vlastník dosáhl maximálního počtu %d vytvořených repositořů.
|
||||||
form.name_reserved=Název repositáře '%s' je rezervován.
|
form.name_not_allowed=Repository name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Vzor názvu repositáře '%s' není povolen.
|
|
||||||
|
|
||||||
need_auth=Ověření je vyžadováno
|
need_auth=Ověření je vyžadováno
|
||||||
migrate_type=Typ přenesení
|
migrate_type=Typ přenesení
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=Toto může být HTTP/HTTPS/GIT URL.
|
|||||||
migrate.clone_address_desc_import_local=Máte povoleno přenést repositář pomocí lokální cesty na serveru.
|
migrate.clone_address_desc_import_local=Máte povoleno přenést repositář pomocí lokální cesty na serveru.
|
||||||
migrate.permission_denied=Není vám dovoleno importovat místní repositáře.
|
migrate.permission_denied=Není vám dovoleno importovat místní repositáře.
|
||||||
migrate.invalid_local_path=Neplatná místní cesta, buď neexistuje nebo není adresářem.
|
migrate.invalid_local_path=Neplatná místní cesta, buď neexistuje nebo není adresářem.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=Přenesení selhalo: %v
|
migrate.failed=Přenesení selhalo: %v
|
||||||
|
|
||||||
mirror_from=zrcadlo
|
mirror_from=zrcadlo
|
||||||
@@ -478,6 +494,8 @@ branches.stale_branches=Zastaralé větve
|
|||||||
branches.all=Všechny větve
|
branches.all=Všechny větve
|
||||||
branches.updated_by=%[2]s změnil %[1]s
|
branches.updated_by=%[2]s změnil %[1]s
|
||||||
branches.change_default_branch=Změnit výchozí větev
|
branches.change_default_branch=Změnit výchozí větev
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Nový soubor
|
editor.new_file=Nový soubor
|
||||||
editor.upload_file=Nahrát soubor
|
editor.upload_file=Nahrát soubor
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=Obsah souboru se změnil od začátku úprav.
|
|||||||
editor.file_already_exists=Soubor '%s' již v tomto repositáři existuje.
|
editor.file_already_exists=Soubor '%s' již v tomto repositáři existuje.
|
||||||
editor.no_changes_to_show=Žádné změny k zobrazení.
|
editor.no_changes_to_show=Žádné změny k zobrazení.
|
||||||
editor.fail_to_update_file=Vytvoření nebo změna souboru '%s' skončila chybou: %v
|
editor.fail_to_update_file=Vytvoření nebo změna souboru '%s' skončila chybou: %v
|
||||||
|
editor.fail_to_delete_file=Nepodařilo se smazat soubor '%s' kvůli chybě: %v
|
||||||
editor.add_subdir=Přidat podadresář...
|
editor.add_subdir=Přidat podadresář...
|
||||||
editor.unable_to_upload_files=Nepodařilo se nahrát soubor do '%s'. Chyba: %v
|
editor.unable_to_upload_files=Nepodařilo se nahrát soubor do '%s'. Chyba: %v
|
||||||
editor.upload_files_to_dir=Nahrát soubory do '%s'
|
editor.upload_files_to_dir=Nahrát soubory do '%s'
|
||||||
@@ -616,7 +635,7 @@ pulls.compare_compare=porovnat
|
|||||||
pulls.filter_branch=Filtrovat větev
|
pulls.filter_branch=Filtrovat větev
|
||||||
pulls.no_results=Nebyly nalezeny žádné výsledky.
|
pulls.no_results=Nebyly nalezeny žádné výsledky.
|
||||||
pulls.nothing_to_compare=Není co porovnávat, protože základ a hlavní větve jsou shodné.
|
pulls.nothing_to_compare=Není co porovnávat, protože základ a hlavní větve jsou shodné.
|
||||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
pulls.nothing_merge_base=Není co porovnávat, protože tyto dvě větve mají úplně jinou historii.
|
||||||
pulls.has_pull_request=`Požadavek na natažení mezi těmito větvemi již existuje: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
pulls.has_pull_request=`Požadavek na natažení mezi těmito větvemi již existuje: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||||
pulls.create=Vytvořit požadavek na natažení
|
pulls.create=Vytvořit požadavek na natažení
|
||||||
pulls.title_desc=chce sloučit %[1]d revizí z větve <code>%[2]s</code> do větve <code>%[3]s</code>
|
pulls.title_desc=chce sloučit %[1]d revizí z větve <code>%[2]s</code> do větve <code>%[3]s</code>
|
||||||
@@ -632,8 +651,9 @@ pulls.is_checking=Kontrola rozporů stále pokračuje, prosím obnovte za někol
|
|||||||
pulls.can_auto_merge_desc=Tento požadavek na natažení může být automaticky sloučen.
|
pulls.can_auto_merge_desc=Tento požadavek na natažení může být automaticky sloučen.
|
||||||
pulls.cannot_auto_merge_desc=Tento požadavek na natažení nemůže být automaticky sloučen, neboť se v něm nachází rozpory.
|
pulls.cannot_auto_merge_desc=Tento požadavek na natažení nemůže být automaticky sloučen, neboť se v něm nachází rozpory.
|
||||||
pulls.cannot_auto_merge_helper=Prosím proveďte sloučení ručně, aby byly vyřešeny rozpory.
|
pulls.cannot_auto_merge_helper=Prosím proveďte sloučení ručně, aby byly vyřešeny rozpory.
|
||||||
pulls.create_merge_commit=Create a merge commit
|
pulls.create_merge_commit=Vytvořit slučovací commit
|
||||||
pulls.rebase_before_merging=Rebase before merging
|
pulls.rebase_before_merging=Rebase před slučováním
|
||||||
|
pulls.commit_description=Popis Commitu
|
||||||
pulls.merge_pull_request=Sloučit požadavek na natažení
|
pulls.merge_pull_request=Sloučit požadavek na natažení
|
||||||
pulls.open_unmerged_pull_exists=`Nemůžete znovuotevřít požadavek na natažení, neboť požadavek na natažení ze stejného repositáře se stejnými informacemi pro sloučení již existuje (#%d) a čeká na sloučení.`
|
pulls.open_unmerged_pull_exists=`Nemůžete znovuotevřít požadavek na natažení, neboť požadavek na natažení ze stejného repositáře se stejnými informacemi pro sloučení již existuje (#%d) a čeká na sloučení.`
|
||||||
pulls.delete_branch=Smazat větev
|
pulls.delete_branch=Smazat větev
|
||||||
@@ -738,9 +758,9 @@ settings.tracker_issue_style=Styl pojmenování úkolů v externím systému úk
|
|||||||
settings.tracker_issue_style.numeric=Číselný
|
settings.tracker_issue_style.numeric=Číselný
|
||||||
settings.tracker_issue_style.alphanumeric=Alfanumerický
|
settings.tracker_issue_style.alphanumeric=Alfanumerický
|
||||||
settings.tracker_url_format_desc=Můžete použít zástupné výrazy <code>{user} {repo} {index}</code> pro uživatelské jméno, název repositáře a číslo úkolu.
|
settings.tracker_url_format_desc=Můžete použít zástupné výrazy <code>{user} {repo} {index}</code> pro uživatelské jméno, název repositáře a číslo úkolu.
|
||||||
settings.pulls_desc=Povolit požadavky na natažení, aby mohly být příspěvky veřejnosti akceptovány
|
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches
|
||||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
settings.pulls.ignore_whitespace=Ignorovat změny v netisknutelných znacích
|
||||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
settings.pulls.allow_rebase_merge=Povolit použití rebase pro sloučení revizí
|
||||||
settings.danger_zone=Nebezpečná zóna
|
settings.danger_zone=Nebezpečná zóna
|
||||||
settings.cannot_fork_to_same_owner=Nemůžete rozštěpit repositář jejímu vlastníkovi.
|
settings.cannot_fork_to_same_owner=Nemůžete rozštěpit repositář jejímu vlastníkovi.
|
||||||
settings.new_owner_has_same_repo=Nový vlastník již repositář se stejným názvem má. Vyberte, prosím, jiné jméno.
|
settings.new_owner_has_same_repo=Nový vlastník již repositář se stejným názvem má. Vyberte, prosím, jiné jméno.
|
||||||
@@ -761,7 +781,7 @@ settings.wiki_deletion_success=Data Wiki tohoto repositáře byla smazána.
|
|||||||
settings.delete=Smazat tento repositář
|
settings.delete=Smazat tento repositář
|
||||||
settings.delete_desc=Jakmile smažete repositář, není možné se vrátit. Buďte si, prosím, jist.
|
settings.delete_desc=Jakmile smažete repositář, není možné se vrátit. Buďte si, prosím, jist.
|
||||||
settings.delete_notices_1=- Tuto operaci <strong>nelze</strong> zvrátit.
|
settings.delete_notices_1=- Tuto operaci <strong>nelze</strong> zvrátit.
|
||||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
settings.delete_notices_2=Tato operace permanentně smaže vše v tomto repositáři, včetně dat Gitu, úkolů, komentářů a přístupu spolupracovníků.
|
||||||
settings.delete_notices_fork_1=- Po smazání se všechny forky se stanou nezávislé.
|
settings.delete_notices_fork_1=- Po smazání se všechny forky se stanou nezávislé.
|
||||||
settings.deletion_success=Repositář byl smazán!
|
settings.deletion_success=Repositář byl smazán!
|
||||||
settings.update_settings_success=Možnosti repositáře byly změněny.
|
settings.update_settings_success=Možnosti repositáře byly změněny.
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=Tento uživatel po tom, co bude smazán, ji
|
|||||||
settings.remove_collaborator_success=Spolupracovník byl smazán.
|
settings.remove_collaborator_success=Spolupracovník byl smazán.
|
||||||
settings.search_user_placeholder=Hledat uživatele...
|
settings.search_user_placeholder=Hledat uživatele...
|
||||||
settings.org_not_allowed_to_be_collaborator=Není dovoleno přidat organizaci jako spolupracovníka.
|
settings.org_not_allowed_to_be_collaborator=Není dovoleno přidat organizaci jako spolupracovníka.
|
||||||
settings.add_webhook=Přidat webový háček
|
|
||||||
settings.hooks_desc=Webové háčky jsou podobné základním spouštím HTTP POST událostí. Kdykoliv se něco stane v Gogs, bude postaráno o oznámení specifikovanému cílovému serveru. Více se o daném dozvíte v <a target="_blank" href="%s">příručce webových háčků</a>.
|
settings.hooks_desc=Webové háčky jsou podobné základním spouštím HTTP POST událostí. Kdykoliv se něco stane v Gogs, bude postaráno o oznámení specifikovanému cílovému serveru. Více se o daném dozvíte v <a target="_blank" href="%s">příručce webových háčků</a>.
|
||||||
|
settings.webhooks.add_new=Add a new webhook:
|
||||||
|
settings.webhooks.choose_a_type=Choose a type...
|
||||||
|
settings.add_webhook=Přidat webový háček
|
||||||
settings.webhook_deletion=Smazat webový háček
|
settings.webhook_deletion=Smazat webový háček
|
||||||
settings.webhook_deletion_desc=Smazáním tohoto webového háčku dojte také ke smazání veškerých informací o něm a také historie volání. Chcete pokračovat?
|
settings.webhook_deletion_desc=Smazáním tohoto webového háčku dojte také ke smazání veškerých informací o něm a také historie volání. Chcete pokračovat?
|
||||||
settings.webhook_deletion_success=Webový háček byl smazán!
|
settings.webhook_deletion_success=Webový háček byl smazán!
|
||||||
@@ -792,6 +814,8 @@ settings.webhook.response=Odpověď
|
|||||||
settings.webhook.headers=Hlavičky
|
settings.webhook.headers=Hlavičky
|
||||||
settings.webhook.payload=Datová část
|
settings.webhook.payload=Datová část
|
||||||
settings.webhook.body=Tělo zprávy
|
settings.webhook.body=Tělo zprávy
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=Jelikož háčky Gitu jsou spravovány Gitem samotným, můžete v seznamu níže upravit soubory podporovaných háčku k provádění uživatelských operací.
|
settings.githooks_desc=Jelikož háčky Gitu jsou spravovány Gitem samotným, můžete v seznamu níže upravit soubory podporovaných háčku k provádění uživatelských operací.
|
||||||
settings.githook_edit_desc=Je-li háček neaktivní, bude zobrazen vzorový obsah. Nebude-li zadán žádný obsah, háček bude vypnut.
|
settings.githook_edit_desc=Je-li háček neaktivní, bude zobrazen vzorový obsah. Nebude-li zadán žádný obsah, háček bude vypnut.
|
||||||
settings.githook_name=Název háčku
|
settings.githook_name=Název háčku
|
||||||
@@ -819,10 +843,10 @@ settings.event_push=Odeslat
|
|||||||
settings.event_push_desc=Odeslání pomocí Gitu do repositáře
|
settings.event_push_desc=Odeslání pomocí Gitu do repositáře
|
||||||
settings.event_issues=Úkoly
|
settings.event_issues=Úkoly
|
||||||
settings.event_issues_desc=Úkol, který je otevřen, uzavřen, znovuotevřen, změněn, přiřazen, nepřiřazen, mající změněn štítek, smazán štítek, mající přiřazen milník, nemající přiřazen milník.
|
settings.event_issues_desc=Úkol, který je otevřen, uzavřen, znovuotevřen, změněn, přiřazen, nepřiřazen, mající změněn štítek, smazán štítek, mající přiřazen milník, nemající přiřazen milník.
|
||||||
settings.event_issue_comment=Komentář k úkolu
|
|
||||||
settings.event_issue_comment_desc=Komentář k úkolu vytvořen, upraven nebo smazán.
|
|
||||||
settings.event_pull_request=Požadavek na natažení
|
settings.event_pull_request=Požadavek na natažení
|
||||||
settings.event_pull_request_desc=Požadavek na natažení otevřen, uzavřen, znovuotevřen, změněn, přiřazen, nepřiřazen, změněn štítek, smazán štítek, mající nastaven štítek, zrušeno nastavení štítku nebo synchronizován.
|
settings.event_pull_request_desc=Požadavek na natažení otevřen, uzavřen, znovuotevřen, změněn, přiřazen, nepřiřazen, změněn štítek, smazán štítek, mající nastaven štítek, zrušeno nastavení štítku nebo synchronizován.
|
||||||
|
settings.event_issue_comment=Komentář k úkolu
|
||||||
|
settings.event_issue_comment_desc=Komentář k úkolu vytvořen, upraven nebo smazán.
|
||||||
settings.event_release=Vydání
|
settings.event_release=Vydání
|
||||||
settings.event_release_desc=Vydání vystaveno v repositáři.
|
settings.event_release_desc=Vydání vystaveno v repositáři.
|
||||||
settings.active=Aktivní
|
settings.active=Aktivní
|
||||||
@@ -835,14 +859,14 @@ settings.recent_deliveries=Nedávné dodávky
|
|||||||
settings.hook_type=Typ háčku
|
settings.hook_type=Typ háčku
|
||||||
settings.add_slack_hook_desc=Přidat integraci <a href="%s">Slacku</a> do vašeho repositáře.
|
settings.add_slack_hook_desc=Přidat integraci <a href="%s">Slacku</a> do vašeho repositáře.
|
||||||
settings.add_discord_hook_desc=Přidat integraci <a href="%s">Discord</a> do vašeho repositáře.
|
settings.add_discord_hook_desc=Přidat integraci <a href="%s">Discord</a> do vašeho repositáře.
|
||||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
settings.add_dingtalk_hook_desc=Přidat integraci <a href="%s">Dingtalk</a> do vašeho repositáře.
|
||||||
settings.slack_token=Poukázka
|
settings.slack_token=Poukázka
|
||||||
settings.slack_domain=Doména
|
settings.slack_domain=Doména
|
||||||
settings.slack_channel=Kanál
|
settings.slack_channel=Kanál
|
||||||
settings.deploy_keys=Klíče pro nasazení
|
settings.deploy_keys=Klíče pro nasazení
|
||||||
settings.deploy_keys_helper=<b>Přichycen při činu!</b> Pokud chcete přidat osobní veřejné klíče, zadejte je prosím v <a href="%s%s">nastavení vašeho účtu</a>.
|
settings.deploy_keys_helper=<b>Přichycen při činu!</b> Pokud chcete přidat osobní veřejné klíče, zadejte je prosím v <a href="%s%s">nastavení vašeho účtu</a>.
|
||||||
settings.add_deploy_key=Přidat klíč pro nasazení
|
settings.add_deploy_key=Přidat klíč pro nasazení
|
||||||
settings.deploy_key_desc=Klíče pro nasazení mají pouze přístup ke čtení. Nejsou stejné jako osobní SSH klíče.
|
settings.deploy_key_desc=Klíče pro nasazení mají pouze přístup ke čtení. Nejsou stejné jako SSH klíče osobního účtu.
|
||||||
settings.no_deploy_keys=Žádné klíče pro nasazení nebyly ještě přidány.
|
settings.no_deploy_keys=Žádné klíče pro nasazení nebyly ještě přidány.
|
||||||
settings.title=Název
|
settings.title=Název
|
||||||
settings.deploy_key_content=Obsah
|
settings.deploy_key_content=Obsah
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=Nový klíč pro nasazení '%s' byl přidán!
|
|||||||
settings.deploy_key_deletion=Smazat klíč pro nasazení
|
settings.deploy_key_deletion=Smazat klíč pro nasazení
|
||||||
settings.deploy_key_deletion_desc=Smazání toho klíče pro nasazení smaže také veškerý k němu svázaný přístup do tohoto repositáře. Chcete pokračovat?
|
settings.deploy_key_deletion_desc=Smazání toho klíče pro nasazení smaže také veškerý k němu svázaný přístup do tohoto repositáře. Chcete pokračovat?
|
||||||
settings.deploy_key_deletion_success=Klíč pro nasazení byl smazán!
|
settings.deploy_key_deletion_success=Klíč pro nasazení byl smazán!
|
||||||
|
settings.description_desc=Popis repozitáře. Maximální délka 512 znaků.
|
||||||
|
settings.description_length=Dostupné znaky
|
||||||
|
|
||||||
diff.browse_source=Procházet zdrojové kódy
|
diff.browse_source=Procházet zdrojové kódy
|
||||||
diff.parent=rodič
|
diff.parent=rodič
|
||||||
@@ -907,7 +933,7 @@ people=Lidé
|
|||||||
invite_someone=Přizvěte někoho
|
invite_someone=Přizvěte někoho
|
||||||
teams=Týmy
|
teams=Týmy
|
||||||
lower_members=členové
|
lower_members=členové
|
||||||
lower_repositories=repositáře
|
lower_repositories=repozitáře
|
||||||
create_new_team=Vytvořit nový tým
|
create_new_team=Vytvořit nový tým
|
||||||
org_desc=Popis
|
org_desc=Popis
|
||||||
team_name=Název týmu
|
team_name=Název týmu
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=Tento název budete používat při zmiňovaní týmu v konverz
|
|||||||
team_desc_helper=Popište prosím tento tým
|
team_desc_helper=Popište prosím tento tým
|
||||||
team_permission_desc=Jakou úroveň přístupu má mít tento tým?
|
team_permission_desc=Jakou úroveň přístupu má mít tento tým?
|
||||||
|
|
||||||
form.name_reserved=Název organizace '%s' je již rezervován.
|
form.name_not_allowed=Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Vzor názvu organizace '%s' není povolen.
|
form.team_name_not_allowed=Team name or pattern %q is not allowed.
|
||||||
form.team_name_reserved=Název týmu '%s' je vyhrazen.
|
|
||||||
|
|
||||||
settings=Nastavení
|
settings=Nastavení
|
||||||
settings.options=Možnosti
|
settings.options=Možnosti
|
||||||
@@ -971,9 +996,9 @@ teams.delete_team_success=Daný tým byl smazán.
|
|||||||
teams.read_permission_desc=Členství v tom týmu poskytuje právo <strong>čtení</strong>: členové mohou číst z a vytvářet klony repositářů týmu.
|
teams.read_permission_desc=Členství v tom týmu poskytuje právo <strong>čtení</strong>: členové mohou číst z a vytvářet klony repositářů týmu.
|
||||||
teams.write_permission_desc=Členství v tom týmu poskytuje právo <strong>zápisu</strong>: členové mohou číst z a odesílat do repositářů týmu.
|
teams.write_permission_desc=Členství v tom týmu poskytuje právo <strong>zápisu</strong>: členové mohou číst z a odesílat do repositářů týmu.
|
||||||
teams.admin_permission_desc=Členství v tom týmu poskytuje právo <strong>správce</strong>: členové mohou číst z, odesílat do a přidávat spolupracovníky do repositářů týmu.
|
teams.admin_permission_desc=Členství v tom týmu poskytuje právo <strong>správce</strong>: členové mohou číst z, odesílat do a přidávat spolupracovníky do repositářů týmu.
|
||||||
teams.repositories=Repositáře týmu
|
teams.repositories=Repozitáře týmu
|
||||||
teams.search_repo_placeholder=Hledat repositář...
|
teams.search_repo_placeholder=Hledat repositář...
|
||||||
teams.add_team_repository=Přidat repositář týmu
|
teams.add_team_repository=Přidat repozitář týmu
|
||||||
teams.remove_repo=Odstranit
|
teams.remove_repo=Odstranit
|
||||||
teams.add_nonexistent_repo=Repositář, který se snažíte přidat, neexistuje. Nejdříve jej vytvořte, prosím.
|
teams.add_nonexistent_repo=Repositář, který se snažíte přidat, neexistuje. Nejdříve jej vytvořte, prosím.
|
||||||
|
|
||||||
@@ -981,7 +1006,7 @@ teams.add_nonexistent_repo=Repositář, který se snažíte přidat, neexistuje.
|
|||||||
dashboard=Přehled
|
dashboard=Přehled
|
||||||
users=Uživatelé
|
users=Uživatelé
|
||||||
organizations=Organizace
|
organizations=Organizace
|
||||||
repositories=Repositáře
|
repositories=Repozitáře
|
||||||
authentication=Způsoby ověření
|
authentication=Způsoby ověření
|
||||||
config=Nastavení
|
config=Nastavení
|
||||||
notices=Systémová oznámení
|
notices=Systémová oznámení
|
||||||
@@ -990,12 +1015,19 @@ first_page=První
|
|||||||
last_page=Poslední
|
last_page=Poslední
|
||||||
total=Celkem: %d
|
total=Celkem: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Informace o sestavení
|
||||||
|
dashboard.app_ver=Verze aplikace
|
||||||
|
dashboard.git_version=Git verze
|
||||||
|
dashboard.go_version=Go verze
|
||||||
|
dashboard.build_time=Čas sestavení
|
||||||
|
dashboard.build_commit=Commit sestavení
|
||||||
dashboard.statistic=Statistika
|
dashboard.statistic=Statistika
|
||||||
dashboard.operations=Operace
|
dashboard.operations=Operace
|
||||||
dashboard.system_status=Stav sledování systému
|
dashboard.system_status=Stav sledování systému
|
||||||
dashboard.statistic_info=Databáze Gogs obsahuje <b>%d</b> uživatelů, <b>%d</b> organizací, <b>%d</b> veřejných klíčů, <b>%d</b> repositářů, <b>%d</b> hlídání, <b>%d</b> oblíbení, <b>%d</b> akcí, <b>%d</b> přístupů, <b>%d</b> úkolů, <b>%d</b> komentářů, <b>%d</b> sociálních účtů, <b>%d</b> sledování, <b>%d</b> zrcadel, <b>%d</b> vydání, <b>%d</b> zdrojů přihlášení, <b>%d</b> webových háčků, <b>%d</b> milníků, <b>%d</b> štítků, <b>%d</b> háčků, <b>%d</b> týmů, <b>%d</b> úkolů změn, <b>%d</b> příloh.
|
dashboard.statistic_info=Databáze Gogs obsahuje <b>%d</b> uživatelů, <b>%d</b> organizací, <b>%d</b> veřejných klíčů, <b>%d</b> repositářů, <b>%d</b> hlídání, <b>%d</b> oblíbení, <b>%d</b> akcí, <b>%d</b> přístupů, <b>%d</b> úkolů, <b>%d</b> komentářů, <b>%d</b> sociálních účtů, <b>%d</b> sledování, <b>%d</b> zrcadel, <b>%d</b> vydání, <b>%d</b> zdrojů přihlášení, <b>%d</b> webových háčků, <b>%d</b> milníků, <b>%d</b> štítků, <b>%d</b> háčků, <b>%d</b> týmů, <b>%d</b> úkolů změn, <b>%d</b> příloh.
|
||||||
dashboard.operation_name=Název operace
|
dashboard.operation_name=Název operace
|
||||||
dashboard.operation_switch=Přepnout
|
dashboard.operation_switch=Přepnout
|
||||||
|
dashboard.select_operation_to_run=Please select operation to run
|
||||||
dashboard.operation_run=Spustit
|
dashboard.operation_run=Spustit
|
||||||
dashboard.clean_unbind_oauth=Smazat odpojené asociace OAuth2
|
dashboard.clean_unbind_oauth=Smazat odpojené asociace OAuth2
|
||||||
dashboard.clean_unbind_oauth_success=Všechny odpojené asociace OAuth2 byly smazány.
|
dashboard.clean_unbind_oauth_success=Všechny odpojené asociace OAuth2 byly smazány.
|
||||||
@@ -1087,11 +1119,12 @@ repos.stars=Oblíbení
|
|||||||
repos.issues=Úkoly
|
repos.issues=Úkoly
|
||||||
repos.size=Velikost
|
repos.size=Velikost
|
||||||
|
|
||||||
auths.auth_manage_panel=Panel správy způsobů ověřování
|
auths.auth_sources=Zdroje ověření
|
||||||
auths.new=Přidat nový zdroj
|
auths.new=Přidat nový zdroj
|
||||||
auths.name=Název
|
auths.name=Název
|
||||||
auths.type=Typ
|
auths.type=Typ
|
||||||
auths.enabled=Povolený
|
auths.enabled=Povolený
|
||||||
|
auths.default=Výchozí
|
||||||
auths.updated=Změněné
|
auths.updated=Změněné
|
||||||
auths.auth_type=Typ ověření
|
auths.auth_type=Typ ověření
|
||||||
auths.auth_name=Název ověření
|
auths.auth_name=Název ověření
|
||||||
@@ -1100,7 +1133,7 @@ auths.domain=Doména
|
|||||||
auths.host=Server
|
auths.host=Server
|
||||||
auths.port=Port
|
auths.port=Port
|
||||||
auths.bind_dn=Připojení DN
|
auths.bind_dn=Připojení DN
|
||||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
auths.bind_dn_helper=Můžete použít '%s' jako zástupný znak pro uživatelské jméno, například DOM\%s
|
||||||
auths.bind_password=Heslo připojení
|
auths.bind_password=Heslo připojení
|
||||||
auths.bind_password_helper=Upozornění: Toto heslo je ukládáno nešifrované. Nepoužívejte pro správcovské účty.
|
auths.bind_password_helper=Upozornění: Toto heslo je ukládáno nešifrované. Nepoužívejte pro správcovské účty.
|
||||||
auths.user_base=Výchozí místo hledání uživatelů
|
auths.user_base=Výchozí místo hledání uživatelů
|
||||||
@@ -1128,9 +1161,9 @@ auths.enable_tls=Povolit šifrování TLS
|
|||||||
auths.skip_tls_verify=Přeskočit ověření TLS
|
auths.skip_tls_verify=Přeskočit ověření TLS
|
||||||
auths.pam_service_name=Název služby PAM
|
auths.pam_service_name=Název služby PAM
|
||||||
auths.enable_auto_register=Povolit zaregistrování se
|
auths.enable_auto_register=Povolit zaregistrování se
|
||||||
auths.tips=Tipy
|
|
||||||
auths.edit=Upravit nastavení ověřování
|
auths.edit=Upravit nastavení ověřování
|
||||||
auths.activated=Tento způsob ověřování je aktivní
|
auths.activated=Tento způsob ověřování je aktivní
|
||||||
|
auths.default_auth=Toto ověření je výchozí zdroj přihlášení
|
||||||
auths.new_success=Nový způsob ověřování '%s' byl přidán.
|
auths.new_success=Nový způsob ověřování '%s' byl přidán.
|
||||||
auths.update_success=Nastavení ověřování bylo změněno.
|
auths.update_success=Nastavení ověřování bylo změněno.
|
||||||
auths.update=Změnit nastavení ověřování
|
auths.update=Změnit nastavení ověřování
|
||||||
@@ -1140,120 +1173,186 @@ auths.delete_auth_desc=Tento způsob ověřování bude smazán, chcete pokračo
|
|||||||
auths.still_in_used=Tento způsob ověřování je stále používán některými uživateli. Prosím, nejdříve změňte u těchto uživatelů typ ověřování na jiný.
|
auths.still_in_used=Tento způsob ověřování je stále používán některými uživateli. Prosím, nejdříve změňte u těchto uživatelů typ ověřování na jiný.
|
||||||
auths.deletion_success=Způsob ověřování byl smazán!
|
auths.deletion_success=Způsob ověřování byl smazán!
|
||||||
auths.login_source_exist=Zdroj přihlášení '%s' již existuje.
|
auths.login_source_exist=Zdroj přihlášení '%s' již existuje.
|
||||||
|
auths.github_api_endpoint=Koncový bod API
|
||||||
|
|
||||||
config.not_set=(not set)
|
config.not_set=(není nastaveno)
|
||||||
config.server_config=Nastavení serveru
|
config.server_config=Nastavení serveru
|
||||||
config.app_name=Název aplikace
|
config.brand_name=Název značky
|
||||||
config.app_ver=Verze aplikace
|
|
||||||
config.app_url=URL aplikace
|
|
||||||
config.domain=Doména
|
|
||||||
config.offline_mode=Režim off-line
|
|
||||||
config.disable_router_log=Vypnout systémové záznamy směrovače
|
|
||||||
config.run_user=Účet pro spouštění
|
config.run_user=Účet pro spouštění
|
||||||
config.run_mode=Režim spouštění
|
config.run_mode=Režim spouštění
|
||||||
config.git_version=Verze Gitu
|
config.server.external_url=Externí URL
|
||||||
config.static_file_root_path=Kořenový adresář statického souboru
|
config.server.domain=Doména
|
||||||
config.log_file_root_path=Kořenový adresář souboru systémových záznamů
|
config.server.protocol=Protokol
|
||||||
config.reverse_auth_user=Uživatel obráceného ověření
|
config.server.http_addr=HTTP adresa
|
||||||
|
config.server.http_port=HTTP port
|
||||||
|
config.server.cert_file=Soubor certifikátu
|
||||||
|
config.server.key_file=Soubor klíče
|
||||||
|
config.server.tls_min_version=Minimální verze TLS
|
||||||
|
config.server.unix_socket_permission=Oprávnění Unix socket
|
||||||
|
config.server.local_root_url=Místní URL kořenového adresáře
|
||||||
|
config.server.offline_mode=Offline režim
|
||||||
|
config.server.disable_router_log=Disable router log
|
||||||
|
config.server.enable_gzip=Povolit Gzip
|
||||||
|
config.server.app_data_path=Cesta dat aplikace
|
||||||
|
config.server.load_assets_from_disk=Load assets from disk
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
config.ssh_config=Nastavení SSH
|
config.ssh_config=Nastavení SSH
|
||||||
config.ssh_enabled=Povolený
|
config.ssh.enabled=Povoleno
|
||||||
config.ssh_start_builtin_server=Spustit vestavěný server
|
config.ssh.domain=Vystavená doména
|
||||||
config.ssh_domain=Doména
|
config.ssh.port=Vystavený port
|
||||||
config.ssh_port=Port
|
config.ssh.root_path=Kořenová cesta
|
||||||
config.ssh_listen_port=Port pro naslouchání
|
config.ssh.keygen_path=Keygen path
|
||||||
config.ssh_root_path=Kořenová cesta
|
config.ssh.key_test_path=Key test path
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Kontrola minimální velikosti klíčů
|
||||||
config.ssh_key_test_path=Cesta testu klíčů
|
config.ssh.minimum_key_sizes=Minimální velikost klíčů
|
||||||
config.ssh_keygen_path=Cesta ke generátoru klíčů ('ssh-keygen')
|
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
|
||||||
config.ssh_minimum_key_size_check=Kontrola minimální velikosti klíčů
|
config.ssh.start_builtin_server=Start builtin server
|
||||||
config.ssh_minimum_key_sizes=Minimální velikost klíčů
|
config.ssh.listen_host=Listen host
|
||||||
|
config.ssh.listen_port=Listen port
|
||||||
|
config.ssh.server_ciphers=Serverové šifry
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=Nastavení repositáře
|
config.repo_config=Nastavení repositáře
|
||||||
config.repo_root_path=Kořenový adresář repositářů
|
config.repo.root_path=Kořenová cesta
|
||||||
config.script_type=Typ skriptu
|
config.repo.script_type=Typ skriptu
|
||||||
config.repo_force_private=Vynutit soukromé
|
config.repo.ansi_chatset=ANSI charset
|
||||||
config.max_creation_limit=Maximální lhůta pro vytvoření
|
config.repo.force_private=Force private
|
||||||
config.preferred_licenses=Upřednostňované licence
|
config.repo.max_creation_limit=Max creation limit
|
||||||
config.disable_http_git=Vypnout HTTP Git
|
config.repo.preferred_licenses=Upřednostňované licence
|
||||||
config.enable_local_path_migration=Povolit migraci z místní cesty
|
config.repo.disable_http_git=Disable HTTP Git
|
||||||
config.commits_fetch_concurrency=Souběžnost vyzvednutí revizí
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
config.http_config=HTTP Configuration
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Upload enabled
|
||||||
|
config.repo.upload.temp_path=Upload temporary path
|
||||||
|
config.repo.upload.allowed_types=Upload allowed types
|
||||||
|
config.repo.upload.file_max_size=Upload file size limit
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=Nastavení databáze
|
config.db_config=Nastavení databáze
|
||||||
config.db_type=Typ
|
config.db.type=Type
|
||||||
config.db_host=Server
|
config.db.host=Host
|
||||||
config.db_name=Název
|
config.db.name=Name
|
||||||
config.db_user=Uživatel
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=SSL režim
|
config.db.schema_helper=(for "postgres" only)
|
||||||
config.db_ssl_mode_helper=(pouze pro 'postgres')
|
config.db.user=User
|
||||||
config.db_path=Cesta
|
config.db.ssl_mode=SSL mode
|
||||||
config.db_path_helper=(pro "sqlite3" a "tidb")
|
config.db.ssl_mode_helper=(for "postgres" only)
|
||||||
|
config.db.path=Path
|
||||||
|
config.db.path_helper=(for "sqlite3"only)
|
||||||
|
config.db.max_open_conns=Maximum open connections
|
||||||
|
config.db.max_idle_conns=Maximum idle connections
|
||||||
|
|
||||||
config.service_config=Nastavení služby
|
config.security_config=Security configuration
|
||||||
config.register_email_confirm=Vyžadovat potvrzení e-mailu
|
config.security.login_remember_days=Login remember days
|
||||||
config.disable_register=Vypnout registraci
|
config.security.cookie_remember_name=Remember cookie
|
||||||
config.show_registration_button=Ukázat tlačítko registrace
|
config.security.cookie_username=Username cookie
|
||||||
config.require_sign_in_view=Vyžadovat zobrazení přihlášení
|
config.security.cookie_secure=Enable secure cookie
|
||||||
config.mail_notify=Upozornění e-mailem
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=Vypnout kontrolu minimální velikosti klíčů
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=Povolit službu CAPTCHA
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=Doba života aktivního kódu
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=Lhůta kódu pro obnovu hesla
|
|
||||||
|
|
||||||
config.webhook_config=Nastavení webových háčků
|
config.email_config=Email configuration
|
||||||
config.queue_length=Délka fronty
|
config.email.enabled=Enabled
|
||||||
config.deliver_timeout=Časový limit doručení
|
config.email.subject_prefix=Subject prefix
|
||||||
config.skip_tls_verify=Přeskočit ověření TLS
|
config.email.host=Host
|
||||||
|
config.email.from=From
|
||||||
|
config.email.user=User
|
||||||
|
config.email.disable_helo=Disable HELO
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
config.email.skip_verify=Skip certificate verify
|
||||||
|
config.email.use_certificate=Use custom certificate
|
||||||
|
config.email.cert_file=Certificate file
|
||||||
|
config.email.key_file=Key file
|
||||||
|
config.email.use_plain_text=Use plain text
|
||||||
|
config.email.add_plain_text_alt=Add plain text alternative
|
||||||
|
config.email.send_test_mail=Send test email
|
||||||
|
config.email.test_mail_failed=Failed to send test email to '%s': %v
|
||||||
|
config.email.test_mail_sent=Test email has been sent to '%s'.
|
||||||
|
|
||||||
config.mailer_config=Nastavení odesílání e-mailů
|
config.auth_config=Authentication configuration
|
||||||
config.mailer_enabled=Povolený
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=Vypnout HELO
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=Server
|
config.auth.require_email_confirm=Require email confirmation
|
||||||
config.mailer_user=Uživatel
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=Odeslat zkušební E-mail
|
config.auth.disable_registration=Disable registration
|
||||||
config.test_mail_failed=Odeslání testovacího e-mailu na '%s' selhalo: %v
|
config.auth.enable_registration_captcha=Enable registration captcha
|
||||||
config.test_mail_sent=Zkušební e-mail byl odeslán na '%s'.
|
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
config.oauth_config=Nastavení ověření OAuth
|
config.user_config=User configuration
|
||||||
config.oauth_enabled=Povolený
|
config.user.enable_email_notify=Enable email notification
|
||||||
|
|
||||||
config.cache_config=Nastavení mezipaměti
|
|
||||||
config.cache_adapter=Adaptér mezipaměti
|
|
||||||
config.cache_interval=Interval mezipaměti
|
|
||||||
config.cache_conn=Připojení mezipaměti
|
|
||||||
|
|
||||||
config.session_config=Nastavení relace
|
config.session_config=Nastavení relace
|
||||||
config.session_provider=Poskytovatel relace
|
config.session.provider=Provider
|
||||||
config.provider_config=Nastavení poskytovatele
|
config.session.provider_config=Provider config
|
||||||
config.cookie_name=Název souboru cookie
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=Povolit nastavení cookie
|
config.session.https_only=HTTPS only
|
||||||
config.gc_interval_time=Čas intervalu GC
|
config.session.gc_interval=GC interval
|
||||||
config.session_life_time=Doba trvání relace
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=Pouze protokol HTTPS
|
config.session.csrf_cookie_name=CSRF cookie
|
||||||
config.cookie_life_time=Doba života souboru cookie
|
|
||||||
|
config.cache_config=Nastavení mezipaměti
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC interval
|
||||||
|
config.cache.host=Host
|
||||||
|
|
||||||
|
config.http_config=Nastavení HTTP
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Enabled
|
||||||
|
config.attachment.path=Path
|
||||||
|
config.attachment.allowed_types=Allowed types
|
||||||
|
config.attachment.max_size=Size limit
|
||||||
|
config.attachment.max_files=Files limit
|
||||||
|
|
||||||
|
config.release_config=Release configuration
|
||||||
|
config.release.attachment.enabled=Attachment enabled
|
||||||
|
config.release.attachment.allowed_types=Attachment allowed types
|
||||||
|
config.release.attachment.max_size=Attachment size limit
|
||||||
|
config.release.attachment.max_files=Attachment files limit
|
||||||
|
|
||||||
config.picture_config=Nastavení ikony uživatele
|
config.picture_config=Nastavení ikony uživatele
|
||||||
config.picture_service=Služba ikon uživatelů
|
config.picture.avatar_upload_path=User avatar upload path
|
||||||
config.disable_gravatar=Vypnout službu Gravatar
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=Povolit jednotné ikony uživatelů
|
config.picture.gravatar_source=Gravatar source
|
||||||
|
config.picture.disable_gravatar=Disable Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Mirror configuration
|
||||||
|
config.mirror.default_interval=Default interval
|
||||||
|
|
||||||
|
config.webhook_config=Nastavení webových háčků
|
||||||
|
config.webhook.types=Types
|
||||||
|
config.webhook.deliver_timeout=Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify=Skip TLS verify
|
||||||
|
|
||||||
config.git_config=Konfigurace Gitu
|
config.git_config=Konfigurace Gitu
|
||||||
config.git_disable_diff_highlight=Vypnout zvýraznění syntaxe v rozdílovém zobrazení
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
config.git_max_diff_lines=Maximální počet rozdílných řádků jednoho souboru
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=Maximální počet zobrazených rozdílných znaků jedné řádky
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=Maximální počet zobrazených rozdílných souborů
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=Parametry GC
|
config.git.gc_args=GC arguments
|
||||||
config.git_migrate_timeout=Časová lhůta přenesení
|
config.git.migrate_timeout=Migration timeout
|
||||||
config.git_mirror_timeout=Časový limit aktualizace zrcadla
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
config.git_clone_timeout=Časový limit operace naklonování
|
config.git.clone_timeout=Clone timeout
|
||||||
config.git_pull_timeout=Časový limit operace stažení
|
config.git.pull_timeout=Pull timeout
|
||||||
config.git_gc_timeout=Časový limit operace GC
|
config.git.gc_timeout=GC timeout
|
||||||
|
|
||||||
|
config.lfs_config=LFS configuration
|
||||||
|
config.lfs.storage=Storage
|
||||||
|
config.lfs.objects_path=Objects path
|
||||||
|
|
||||||
config.log_config=Nastavení systémových záznamů
|
config.log_config=Nastavení systémových záznamů
|
||||||
|
config.log_file_root_path=Kořenový adresář souboru systémových záznamů
|
||||||
config.log_mode=Režim
|
config.log_mode=Režim
|
||||||
config.log_options=Možnosti
|
config.log_options=Možnosti
|
||||||
|
|
||||||
@@ -1284,7 +1383,6 @@ notices.delete_success=Systémová upozornění byla smazána.
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=vytvořil repositář <a href="%s">%s</a>
|
create_repo=vytvořil repositář <a href="%s">%s</a>
|
||||||
fork_repo=rozštěpil repositář do <a href="%s">%s</a>
|
|
||||||
rename_repo=přejmenoval repositář z <code>%[1]s</code> na <a href="%[2]s">%[3]s</a>
|
rename_repo=přejmenoval repositář z <code>%[1]s</code> na <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo=odeslal do větve <a href="%[1]s/src/%[2]s">%[3]s</a> v repositáři <a href="%[1]s">%[4]s</a>
|
commit_repo=odeslal do větve <a href="%[1]s/src/%[2]s">%[3]s</a> v repositáři <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=Zobrazit porovnání pro tyto %d revize
|
compare_commits=Zobrazit porovnání pro tyto %d revize
|
||||||
@@ -1301,6 +1399,10 @@ create_branch=vytvořil novou větev <a href="%[1]s/src/%[2]s">%[3]s</a> v <a hr
|
|||||||
delete_branch=smazal větev <code>%[2]s</code> v <a href="%[1]s">%[3]s</a>
|
delete_branch=smazal větev <code>%[2]s</code> v <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=odeslal značku <a href="%s/src/%s">%[2]s</a> do repositáře <a href="%[1]s">%[3]s</a>
|
push_tag=odeslal značku <a href="%s/src/%s">%[2]s</a> do repositáře <a href="%[1]s">%[3]s</a>
|
||||||
delete_tag=smazána značka <code>%[2]s</code> v <a href="%[1]s">%[3]s</a>
|
delete_tag=smazána značka <code>%[2]s</code> v <a href="%[1]s">%[3]s</a>
|
||||||
|
fork_repo=rozštěpil repositář do <a href="%s">%s</a>
|
||||||
|
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
|
||||||
|
mirror_sync_create=synchronizoval/a novou referenci <a href="%s/src/%s">%[2]s</a> do <a href="%[1]s">%[3]s</a> ze zrcadla
|
||||||
|
mirror_sync_delete=synchronizoval/a a smazal/a referenci <code>%[2]s</code> v <a href="%[1]s">%[3]s</a> ze zrcadla
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=před
|
ago=před
|
||||||
@@ -1322,6 +1424,7 @@ months=%[2]s %[1]d měsíci
|
|||||||
years=%[2]s %[1]d roky
|
years=%[2]s %[1]d roky
|
||||||
raw_seconds=sekundy
|
raw_seconds=sekundy
|
||||||
raw_minutes=minuty
|
raw_minutes=minuty
|
||||||
|
raw_hours=hours
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Přetáhněte soubory sem nebo stiskněte Nahrát.
|
default_message=Přetáhněte soubory sem nebo stiskněte Nahrát.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=Abmelden
|
|||||||
sign_up=Registrieren
|
sign_up=Registrieren
|
||||||
register=Registrieren
|
register=Registrieren
|
||||||
website=Webseite
|
website=Webseite
|
||||||
version=Version
|
|
||||||
page=Seite
|
page=Seite
|
||||||
template=Vorlage
|
template=Vorlage
|
||||||
language=Sprache
|
language=Sprache
|
||||||
@@ -44,17 +43,22 @@ issues=Issues
|
|||||||
|
|
||||||
cancel=Abbrechen
|
cancel=Abbrechen
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Seite nicht gefunden
|
||||||
|
internal_server_error=Interner Serverfehler
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Installation
|
install=Installation
|
||||||
title=Installationsschritte für den ersten Start
|
title=Installationsschritte für den ersten Start
|
||||||
docker_helper=Wenn Gogs innerhalb von Docker läuft, lesen Sie sich bitte den <a target="_blank" href="%s">Leitfaden</a> genau durch, bevor Sie irgendwas auf dieser Seite ändern!
|
docker_helper=Wenn Gogs innerhalb von Docker läuft, lesen Sie sich bitte den <a target="_blank" href="%s">Leitfaden</a> genau durch, bevor Sie etwas auf dieser Seite ändern!
|
||||||
requite_db_desc=Gogs benötigt MySQL, PostgreSQL, SQLite3, MSSQL oder TiDB.
|
requite_db_desc=Gogs benötigt MySQL, PostgreSQL, SQLite3 oder TiDB (mit MySQL-Protokoll)
|
||||||
db_title=Datenbankeinstellungen
|
db_title=Datenbankeinstellungen
|
||||||
db_type=Datenbanktyp
|
db_type=Datenbanktyp
|
||||||
host=Host
|
host=Host
|
||||||
user=Benutzer
|
user=Benutzer
|
||||||
password=Passwort
|
password=Passwort
|
||||||
db_name=Datenbankname
|
db_name=Datenbankname
|
||||||
|
db_schema=Schema
|
||||||
db_helper=Bitte verwenden Sie in MySQL die InnoDB-Engine mit dem Zeichensatz utf8_general_ci.
|
db_helper=Bitte verwenden Sie in MySQL die InnoDB-Engine mit dem Zeichensatz utf8_general_ci.
|
||||||
ssl_mode=SSL-Modus
|
ssl_mode=SSL-Modus
|
||||||
path=Pfad
|
path=Pfad
|
||||||
@@ -84,6 +88,7 @@ log_root_path=Logdateipfad
|
|||||||
log_root_path_helper=Verzeichnis in das Logdateien geschrieben werden.
|
log_root_path_helper=Verzeichnis in das Logdateien geschrieben werden.
|
||||||
enable_console_mode=Konsolen-Modus einschalten
|
enable_console_mode=Konsolen-Modus einschalten
|
||||||
enable_console_mode_popup=Zusätzlich zum Datei-Modus, zeige Logs auch in der Konsole.
|
enable_console_mode_popup=Zusätzlich zum Datei-Modus, zeige Logs auch in der Konsole.
|
||||||
|
default_branch=Standard Branch
|
||||||
|
|
||||||
optional_title=Optionale Einstellungen
|
optional_title=Optionale Einstellungen
|
||||||
email_title=E-Mail-Service Einstellungen
|
email_title=E-Mail-Service Einstellungen
|
||||||
@@ -122,6 +127,7 @@ run_user_not_match=Der ausführende Benutzer ist nicht der aktuelle Benutzer: %s
|
|||||||
smtp_host_missing_port=In der Adresse des SMTP Host fehlt die Portnummer.
|
smtp_host_missing_port=In der Adresse des SMTP Host fehlt die Portnummer.
|
||||||
invalid_smtp_from=SMTP Absender Feld ist nicht gültig: %v
|
invalid_smtp_from=SMTP Absender Feld ist nicht gültig: %v
|
||||||
save_config_failed=Fehler beim Speichern der Konfiguration: %v
|
save_config_failed=Fehler beim Speichern der Konfiguration: %v
|
||||||
|
init_failed=Fehler beim Initialisieren der Anwendung: %v
|
||||||
invalid_admin_setting=Admin-Konto Einstellungen sind ungültig: %v
|
invalid_admin_setting=Admin-Konto Einstellungen sind ungültig: %v
|
||||||
install_success=Herzlich Willkommen! Wir sind froh, dass Sie sich für Gogs entschieden haben. Wir wünschen viel Vergnügen damit.
|
install_success=Herzlich Willkommen! Wir sind froh, dass Sie sich für Gogs entschieden haben. Wir wünschen viel Vergnügen damit.
|
||||||
invalid_log_root_path=Pfad zum Log-Verzeichnis ist ungültig: %v
|
invalid_log_root_path=Pfad zum Log-Verzeichnis ist ungültig: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=Haben Sie bereits ein Konto? Jetzt anmelden!
|
|||||||
social_register_hepler_msg=Haben Sie bereits ein Konto? Jetzt verknüpfen!
|
social_register_hepler_msg=Haben Sie bereits ein Konto? Jetzt verknüpfen!
|
||||||
disable_register_prompt=Es tut uns leid, die Registrierung wurde deaktiviert. Bitte wenden Sie sich an den Administrator.
|
disable_register_prompt=Es tut uns leid, die Registrierung wurde deaktiviert. Bitte wenden Sie sich an den Administrator.
|
||||||
disable_register_mail=Es tut uns leid, die Bestätigung der Registrierungs-E-Mail wurde deaktiviert.
|
disable_register_mail=Es tut uns leid, die Bestätigung der Registrierungs-E-Mail wurde deaktiviert.
|
||||||
|
auth_source=Authentifizierungsquelle
|
||||||
|
local=Lokal
|
||||||
remember_me=Angemeldet bleiben
|
remember_me=Angemeldet bleiben
|
||||||
forgot_password=Passwort vergessen
|
forgot_password=Passwort vergessen
|
||||||
forget_password=Passwort vergessen?
|
forget_password=Passwort vergessen?
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=Organisationsname ist bereits vergeben.
|
|||||||
team_name_been_taken=Teamname ist bereits vergeben.
|
team_name_been_taken=Teamname ist bereits vergeben.
|
||||||
email_been_used=E-Mail-Adresse wird bereits verwendet.
|
email_been_used=E-Mail-Adresse wird bereits verwendet.
|
||||||
username_password_incorrect=Benutzername oder Passwort ist nicht korrekt.
|
username_password_incorrect=Benutzername oder Passwort ist nicht korrekt.
|
||||||
|
auth_source_mismatch=Die ausgewählte Authentifizierungsquelle ist dem Benutzer nicht zugeordnet.
|
||||||
enterred_invalid_repo_name=Bitte achten Sie darauf, dass der von Ihnen eingegebene Repository-Name korrekt ist.
|
enterred_invalid_repo_name=Bitte achten Sie darauf, dass der von Ihnen eingegebene Repository-Name korrekt ist.
|
||||||
enterred_invalid_owner_name=Bitte achten Sie darauf, dass der eingegebene Name des Besitzers korrekt ist.
|
enterred_invalid_owner_name=Bitte achten Sie darauf, dass der eingegebene Name des Besitzers korrekt ist.
|
||||||
enterred_invalid_password=Bitte achten Sie darauf, dass das eingegebene Passwort richtig ist.
|
enterred_invalid_password=Bitte achten Sie darauf, dass das eingegebene Passwort richtig ist.
|
||||||
@@ -256,8 +265,7 @@ following=Folge ich
|
|||||||
follow=Folgen
|
follow=Folgen
|
||||||
unfollow=Nicht mehr folgen
|
unfollow=Nicht mehr folgen
|
||||||
|
|
||||||
form.name_reserved=Der Benutzername '%s' ist reserviert.
|
form.name_not_allowed=Benutzername oder Muster %q ist nicht erlaubt.
|
||||||
form.name_pattern_not_allowed=Benutzernamen der Form '%s' sind nicht erlaubt.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Profil
|
profile=Profil
|
||||||
@@ -309,6 +317,7 @@ delete_email=Löschen
|
|||||||
email_deletion=E-Mail löschen
|
email_deletion=E-Mail löschen
|
||||||
email_deletion_desc=Das Löschen dieser E-Mail Adresse wird alle Informationen entfernen, die mit dieser E-Mail Adresse verknüpft sind. Wollen Sie fortfahren?
|
email_deletion_desc=Das Löschen dieser E-Mail Adresse wird alle Informationen entfernen, die mit dieser E-Mail Adresse verknüpft sind. Wollen Sie fortfahren?
|
||||||
email_deletion_success=E-Mail-Adresse wurde erfolgreich gelöscht!
|
email_deletion_success=E-Mail-Adresse wurde erfolgreich gelöscht!
|
||||||
|
email_deletion_primary=Die primäre E-Mail-Adresse kann nicht gelöscht werden.
|
||||||
add_new_email=Neue E-Mail-Adresse hinzufügen
|
add_new_email=Neue E-Mail-Adresse hinzufügen
|
||||||
add_email=E-Mail-Adresse hinzufügen
|
add_email=E-Mail-Adresse hinzufügen
|
||||||
add_email_confirmation_sent=Eine neue Bestätigungsmail wurde an '%s' gesendet, bitte überprüfen Sie Ihren Posteingang innerhalb von %d Stunden um die Bestätigung abzuschließen.
|
add_email_confirmation_sent=Eine neue Bestätigungsmail wurde an '%s' gesendet, bitte überprüfen Sie Ihren Posteingang innerhalb von %d Stunden um die Bestätigung abzuschließen.
|
||||||
@@ -319,7 +328,7 @@ add_key=Schlüssel hinzufügen
|
|||||||
ssh_desc=Dies ist eine Liste aller SSH-Schlüssel, die Ihrem Konto zugeordnet sind. Bitte entfernen Sie alle Schlüssel, die Ihnen nicht bekannt sind.
|
ssh_desc=Dies ist eine Liste aller SSH-Schlüssel, die Ihrem Konto zugeordnet sind. Bitte entfernen Sie alle Schlüssel, die Ihnen nicht bekannt sind.
|
||||||
ssh_helper=<strong>Brauchen Sie Hilfe?</strong> Hier ist eine Anleitung zum <a href="%s">Erzeugen von SSH-Schlüsseln</a> oder <a href="%s">Lösen einfacher SSH-Probleme</a>.
|
ssh_helper=<strong>Brauchen Sie Hilfe?</strong> Hier ist eine Anleitung zum <a href="%s">Erzeugen von SSH-Schlüsseln</a> oder <a href="%s">Lösen einfacher SSH-Probleme</a>.
|
||||||
add_new_key=SSH-Schlüssel hinzufügen
|
add_new_key=SSH-Schlüssel hinzufügen
|
||||||
ssh_key_been_used=Inhalt des öffentlichen Schlüssels wurde verwendet.
|
ssh_key_been_used=Inhalt des öffentlichen Schlüssels wurde bereits verwendet.
|
||||||
ssh_key_name_used=Ein öffentlicher Schlüssel mit diesem Namen existiert bereits.
|
ssh_key_name_used=Ein öffentlicher Schlüssel mit diesem Namen existiert bereits.
|
||||||
key_name=Schlüsselname
|
key_name=Schlüsselname
|
||||||
key_content=Inhalt
|
key_content=Inhalt
|
||||||
@@ -348,6 +357,7 @@ two_factor_or_enter_secret=Oder geben Sie Ihren Geheim-Code ein:
|
|||||||
two_factor_then_enter_passcode=Geben Sie die PIN ein:
|
two_factor_then_enter_passcode=Geben Sie die PIN ein:
|
||||||
two_factor_verify=Bestätigen
|
two_factor_verify=Bestätigen
|
||||||
two_factor_invalid_passcode=Die eingegebene PIN ist ungültig. Bitte versuchen Sie es erneut!
|
two_factor_invalid_passcode=Die eingegebene PIN ist ungültig. Bitte versuchen Sie es erneut!
|
||||||
|
two_factor_reused_passcode=Der von dir eingegebene Passcode wurde bereits verwendet, bitte probiere einen anderen!
|
||||||
two_factor_enable_error=Einschalten der Zwei-Faktor-Authentifizierung ist fehlgeschlagen: %v
|
two_factor_enable_error=Einschalten der Zwei-Faktor-Authentifizierung ist fehlgeschlagen: %v
|
||||||
two_factor_enable_success=Die Zwei-Faktor-Authentifizierung wurde für Ihr Konto erfolgreich aktiviert!
|
two_factor_enable_success=Die Zwei-Faktor-Authentifizierung wurde für Ihr Konto erfolgreich aktiviert!
|
||||||
two_factor_recovery_codes_title=Zwei-Faktor-Authentifizierung-Wiederherstellungscodes
|
two_factor_recovery_codes_title=Zwei-Faktor-Authentifizierung-Wiederherstellungscodes
|
||||||
@@ -362,6 +372,7 @@ two_factor_disable_success=Die Zwei-Faktor-Authentifizierung wurde erfolgreich d
|
|||||||
manage_access_token=Verwaltung persönlicher Zugangs-Token
|
manage_access_token=Verwaltung persönlicher Zugangs-Token
|
||||||
generate_new_token=Neues Token erzeugen
|
generate_new_token=Neues Token erzeugen
|
||||||
tokens_desc=Die von Ihnen erzeugten Token können zum Zugriff auf die Gogs-API verwendet werden.
|
tokens_desc=Die von Ihnen erzeugten Token können zum Zugriff auf die Gogs-API verwendet werden.
|
||||||
|
access_token_tips=Der persönliche Zugangs-Token kann entweder als Benutzername oder als Passwort verwendet werden. Es wird empfohlen den "x-access-token" als Benutzernamen und den persönlichen Zugangs-Token als Passwort für Git-Anwendungen zu verwenden.
|
||||||
new_token_desc=Jeder Token erlaubt vollen Zugriff auf ihr Konto.
|
new_token_desc=Jeder Token erlaubt vollen Zugriff auf ihr Konto.
|
||||||
token_name=Token-Name
|
token_name=Token-Name
|
||||||
generate_token=Token generieren
|
generate_token=Token generieren
|
||||||
@@ -370,6 +381,7 @@ delete_token=Löschen
|
|||||||
access_token_deletion=Persönlichen Token entfernen
|
access_token_deletion=Persönlichen Token entfernen
|
||||||
access_token_deletion_desc=Das Löschen dieses persönlichen Zugangs-Tokens wird alle zugehörigen Zugriffe der Anwendung entfernen. Möchten Sie fortfahren?
|
access_token_deletion_desc=Das Löschen dieses persönlichen Zugangs-Tokens wird alle zugehörigen Zugriffe der Anwendung entfernen. Möchten Sie fortfahren?
|
||||||
delete_token_success=Persönlicher Zugriffs-Token wurde erfolgreich entfernt! Vergessen Sie nicht Ihre Anwendung zu aktualisieren.
|
delete_token_success=Persönlicher Zugriffs-Token wurde erfolgreich entfernt! Vergessen Sie nicht Ihre Anwendung zu aktualisieren.
|
||||||
|
token_name_exists=Token mit dem gleichen Namen existiert bereits.
|
||||||
|
|
||||||
orgs.none=Sie sind kein Mitglied einer Organisation.
|
orgs.none=Sie sind kein Mitglied einer Organisation.
|
||||||
orgs.leave_title=Organisation verlassen
|
orgs.leave_title=Organisation verlassen
|
||||||
@@ -391,7 +403,9 @@ owner=Besitzer
|
|||||||
repo_name=Repository-Name
|
repo_name=Repository-Name
|
||||||
repo_name_helper=Ein guter Repository-Name besteht gewöhnlich aus kurzen, leicht zu merkenden und eindeutigen Schlüsselworten.
|
repo_name_helper=Ein guter Repository-Name besteht gewöhnlich aus kurzen, leicht zu merkenden und eindeutigen Schlüsselworten.
|
||||||
visibility=Sichtbarkeit
|
visibility=Sichtbarkeit
|
||||||
|
unlisted=Ungelistet
|
||||||
visiblity_helper=Dieses Repository ist <span class="ui red text">privat</span>
|
visiblity_helper=Dieses Repository ist <span class="ui red text">privat</span>
|
||||||
|
unlisted_helper=Dieses Repository ist <span class="ui red text">nicht gelistet</span>
|
||||||
visiblity_helper_forced=Der Administrator hat festgelegt, dass alle neuen Repositories <span class="ui red text">privat</span> sein müssen
|
visiblity_helper_forced=Der Administrator hat festgelegt, dass alle neuen Repositories <span class="ui red text">privat</span> sein müssen
|
||||||
visiblity_fork_helper=(Eine Änderung dieses Wertes wirkt sich auf alle Forks aus)
|
visiblity_fork_helper=(Eine Änderung dieses Wertes wirkt sich auf alle Forks aus)
|
||||||
clone_helper=Brauchen Sie Hilfe beim Klonen? Hier gibt es <a target="_blank" href="%s">Hilfe</a>!
|
clone_helper=Brauchen Sie Hilfe beim Klonen? Hier gibt es <a target="_blank" href="%s">Hilfe</a>!
|
||||||
@@ -417,10 +431,11 @@ mirror_last_synced=Zuletzt synchronisiert
|
|||||||
watchers=Beobachter
|
watchers=Beobachter
|
||||||
stargazers=In Favoriten von
|
stargazers=In Favoriten von
|
||||||
forks=Forks
|
forks=Forks
|
||||||
|
repo_description_helper=Beschreibung des Repository. Maximal 512 Zeichen.
|
||||||
|
repo_description_length=Verfügbare Zeichen
|
||||||
|
|
||||||
form.reach_limit_of_creation=Der Besitzer hat die maximale Anzahl von %d erstellbaren Repositories erreicht.
|
form.reach_limit_of_creation=Der Besitzer hat die maximale Anzahl von %d erstellbaren Repositories erreicht.
|
||||||
form.name_reserved=Repository-Name '%s' ist reserviert.
|
form.name_not_allowed=Repository name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Repository-Namen der Form '%s' sind nicht erlaubt.
|
|
||||||
|
|
||||||
need_auth=Authorisierung benötigt
|
need_auth=Authorisierung benötigt
|
||||||
migrate_type=Migrationstyp
|
migrate_type=Migrationstyp
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=Dies kann eine HTTP/HTTPS/GIT-URL sein.
|
|||||||
migrate.clone_address_desc_import_local=Sie dürfen auch ein Repository vom lokalen Serverpfad migrieren.
|
migrate.clone_address_desc_import_local=Sie dürfen auch ein Repository vom lokalen Serverpfad migrieren.
|
||||||
migrate.permission_denied=Ihnen fehlen die Rechte zum Importieren lokaler Repositories.
|
migrate.permission_denied=Ihnen fehlen die Rechte zum Importieren lokaler Repositories.
|
||||||
migrate.invalid_local_path=Der lokale Pfad ist ungültig, existiert nicht oder ist kein Ordner.
|
migrate.invalid_local_path=Der lokale Pfad ist ungültig, existiert nicht oder ist kein Ordner.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Klonadresse in eine lokale Netzwerkadresse aufgelöst, die implizit blockiert ist.
|
||||||
migrate.failed=Fehler bei Migration: %v
|
migrate.failed=Fehler bei Migration: %v
|
||||||
|
|
||||||
mirror_from=Mirror von
|
mirror_from=Mirror von
|
||||||
@@ -478,6 +494,8 @@ branches.stale_branches=Alte Branches
|
|||||||
branches.all=Alle Branches
|
branches.all=Alle Branches
|
||||||
branches.updated_by=Aktualisiert %[1]s von %[2]s
|
branches.updated_by=Aktualisiert %[1]s von %[2]s
|
||||||
branches.change_default_branch=Ändere Standard-Branch
|
branches.change_default_branch=Ändere Standard-Branch
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Neue Datei
|
editor.new_file=Neue Datei
|
||||||
editor.upload_file=Datei hochladen
|
editor.upload_file=Datei hochladen
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=Seit dem Start der Bearbeitung hat sich die Da
|
|||||||
editor.file_already_exists=Eine Datei mit dem Namen '%s' existiert bereits in diesem Repository.
|
editor.file_already_exists=Eine Datei mit dem Namen '%s' existiert bereits in diesem Repository.
|
||||||
editor.no_changes_to_show=Keine Änderungen vorhanden.
|
editor.no_changes_to_show=Keine Änderungen vorhanden.
|
||||||
editor.fail_to_update_file=Fehler beim Ändern/Erstellen der Datei '%s'. Fehler: %v
|
editor.fail_to_update_file=Fehler beim Ändern/Erstellen der Datei '%s'. Fehler: %v
|
||||||
|
editor.fail_to_delete_file=Fehler beim Löschen der Datei '%s'. Fehler: %v
|
||||||
editor.add_subdir=Unterverzeichnis erstellen...
|
editor.add_subdir=Unterverzeichnis erstellen...
|
||||||
editor.unable_to_upload_files=Fehler beim Hochladen der Dateien zu '%s'. Fehler: %v
|
editor.unable_to_upload_files=Fehler beim Hochladen der Dateien zu '%s'. Fehler: %v
|
||||||
editor.upload_files_to_dir=Dateien hochladen nach '%s'
|
editor.upload_files_to_dir=Dateien hochladen nach '%s'
|
||||||
@@ -634,6 +653,7 @@ pulls.cannot_auto_merge_desc=Dieser Pull-Request kann nicht automatisch zusammen
|
|||||||
pulls.cannot_auto_merge_helper=Bitte manuell zusammenführen, um die Konflikte zu lösen.
|
pulls.cannot_auto_merge_helper=Bitte manuell zusammenführen, um die Konflikte zu lösen.
|
||||||
pulls.create_merge_commit=Erstelle einen Merge-Commit
|
pulls.create_merge_commit=Erstelle einen Merge-Commit
|
||||||
pulls.rebase_before_merging=Rebase vor dem Zusammenführen
|
pulls.rebase_before_merging=Rebase vor dem Zusammenführen
|
||||||
|
pulls.commit_description=Commit Beschreibung
|
||||||
pulls.merge_pull_request=Pull-Request zusammenführen
|
pulls.merge_pull_request=Pull-Request zusammenführen
|
||||||
pulls.open_unmerged_pull_exists=`Sie können diesen Pull-Request nicht wieder öffnen, da bereits ein offener Pull-Request (#%d) aus dem selben Repository mit den gleichen Merge-Informationen existiert und auf das Zusammenführen wartet.`
|
pulls.open_unmerged_pull_exists=`Sie können diesen Pull-Request nicht wieder öffnen, da bereits ein offener Pull-Request (#%d) aus dem selben Repository mit den gleichen Merge-Informationen existiert und auf das Zusammenführen wartet.`
|
||||||
pulls.delete_branch=Zweig löschen
|
pulls.delete_branch=Zweig löschen
|
||||||
@@ -738,7 +758,7 @@ settings.tracker_issue_style=Namenskonvention des externen Issue-Trackers:
|
|||||||
settings.tracker_issue_style.numeric=Numerisch
|
settings.tracker_issue_style.numeric=Numerisch
|
||||||
settings.tracker_issue_style.alphanumeric=Alphanumerisch
|
settings.tracker_issue_style.alphanumeric=Alphanumerisch
|
||||||
settings.tracker_url_format_desc=Sie können die Platzhalter <code>{user} {repo} {index}</code> für den Benutzernamen, den Namen des Repositories und die Issue-Nummer verwenden.
|
settings.tracker_url_format_desc=Sie können die Platzhalter <code>{user} {repo} {index}</code> für den Benutzernamen, den Namen des Repositories und die Issue-Nummer verwenden.
|
||||||
settings.pulls_desc=Pull-Requests aktivieren, um öffentliche Mitwirkung zu ermöglichen
|
settings.pulls_desc=Erlaube Pull-Requests zur Zusammenarbeit von Repositories und Branches
|
||||||
settings.pulls.ignore_whitespace=Ignoriere whitespace Änderungen
|
settings.pulls.ignore_whitespace=Ignoriere whitespace Änderungen
|
||||||
settings.pulls.allow_rebase_merge=Die Verwendung von Rebase erlauben, um Commits zu mergen
|
settings.pulls.allow_rebase_merge=Die Verwendung von Rebase erlauben, um Commits zu mergen
|
||||||
settings.danger_zone=Gefahrenzone
|
settings.danger_zone=Gefahrenzone
|
||||||
@@ -761,7 +781,7 @@ settings.wiki_deletion_success=Repository Wiki Daten erfolgreich gelöscht.
|
|||||||
settings.delete=Dieses Repository löschen
|
settings.delete=Dieses Repository löschen
|
||||||
settings.delete_desc=Wenn dieses Repository gelöscht wurde, gibt es keinen Weg zurück. Bitte seien Sie vorsichtig.
|
settings.delete_desc=Wenn dieses Repository gelöscht wurde, gibt es keinen Weg zurück. Bitte seien Sie vorsichtig.
|
||||||
settings.delete_notices_1=- Diese Operation kann <strong>NICHT</strong> rückgängig gemacht werden.
|
settings.delete_notices_1=- Diese Operation kann <strong>NICHT</strong> rückgängig gemacht werden.
|
||||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
settings.delete_notices_2=- Die Operation wird alles, was mit diesem Git-Repository verbunden ist, dauerhaft löschen, inklusive der Daten, Issues, Kommentare und Zugriffsrechte von Mitarbeitern.
|
||||||
settings.delete_notices_fork_1=- Nach dem Löschen werden alle Forks unabhängig.
|
settings.delete_notices_fork_1=- Nach dem Löschen werden alle Forks unabhängig.
|
||||||
settings.deletion_success=Repository wurde erfolgreich gelöscht!
|
settings.deletion_success=Repository wurde erfolgreich gelöscht!
|
||||||
settings.update_settings_success=Repository-Optionen aktualisiert.
|
settings.update_settings_success=Repository-Optionen aktualisiert.
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=Nach dem Löschen wird dieser Benutzer keine
|
|||||||
settings.remove_collaborator_success=Mitarbeiter wurde entfernt.
|
settings.remove_collaborator_success=Mitarbeiter wurde entfernt.
|
||||||
settings.search_user_placeholder=Benutzer suchen...
|
settings.search_user_placeholder=Benutzer suchen...
|
||||||
settings.org_not_allowed_to_be_collaborator=Eine Organisation kann nicht als Mitarbeiter hinzugefügt werden.
|
settings.org_not_allowed_to_be_collaborator=Eine Organisation kann nicht als Mitarbeiter hinzugefügt werden.
|
||||||
settings.add_webhook=Webhook hinzufügen
|
|
||||||
settings.hooks_desc=Webhooks erlauben es Ihnen, externe Dienste zu informieren, wenn etwas Bestimmtes in Ihrem Repository passiert. Gogs sendet dann einen POST-Request an alle angegebenen URLs. Erfahren Sie mehr in unserem <a target="_blank" href="%s">Webhooks Guide</a>.
|
settings.hooks_desc=Webhooks erlauben es Ihnen, externe Dienste zu informieren, wenn etwas Bestimmtes in Ihrem Repository passiert. Gogs sendet dann einen POST-Request an alle angegebenen URLs. Erfahren Sie mehr in unserem <a target="_blank" href="%s">Webhooks Guide</a>.
|
||||||
|
settings.webhooks.add_new=Einen neuen Webhook hinzufügen:
|
||||||
|
settings.webhooks.choose_a_type=Typ auswählen...
|
||||||
|
settings.add_webhook=Webhook hinzufügen
|
||||||
settings.webhook_deletion=Webhook entfernen
|
settings.webhook_deletion=Webhook entfernen
|
||||||
settings.webhook_deletion_desc=Das Löschen dieses Webhooks wird alle zugehörigen Informationen und den Übertragungsverlauf entfernen. Wirklich fortfahren?
|
settings.webhook_deletion_desc=Das Löschen dieses Webhooks wird alle zugehörigen Informationen und den Übertragungsverlauf entfernen. Wirklich fortfahren?
|
||||||
settings.webhook_deletion_success=Webhook wurde erfolgreich entfernt!
|
settings.webhook_deletion_success=Webhook wurde erfolgreich entfernt!
|
||||||
@@ -792,6 +814,8 @@ settings.webhook.response=Antwort
|
|||||||
settings.webhook.headers=Kopfzeilen
|
settings.webhook.headers=Kopfzeilen
|
||||||
settings.webhook.payload=Nutzdaten
|
settings.webhook.payload=Nutzdaten
|
||||||
settings.webhook.body=Inhalt
|
settings.webhook.body=Inhalt
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Payload URL kann nicht analysiert werden: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Die Payload-URL wurde in eine lokale Netzwerkadresse aufgelöst, die implizit blockiert ist.
|
||||||
settings.githooks_desc=Git-Hooks werden von Git selbst bereitgestellt. Sie können die Dateien der unterstützten Hooks in der Liste unten bearbeiten, um eigene Operationen einzubinden.
|
settings.githooks_desc=Git-Hooks werden von Git selbst bereitgestellt. Sie können die Dateien der unterstützten Hooks in der Liste unten bearbeiten, um eigene Operationen einzubinden.
|
||||||
settings.githook_edit_desc=Wenn ein Hook inaktiv ist, wird der Standardinhalt benutzt. Lassen Sie den Inhalt leer, um den Hook zu deaktivieren.
|
settings.githook_edit_desc=Wenn ein Hook inaktiv ist, wird der Standardinhalt benutzt. Lassen Sie den Inhalt leer, um den Hook zu deaktivieren.
|
||||||
settings.githook_name=Hook-Name
|
settings.githook_name=Hook-Name
|
||||||
@@ -819,10 +843,10 @@ settings.event_push=Push
|
|||||||
settings.event_push_desc=Git push auf ein Repository
|
settings.event_push_desc=Git push auf ein Repository
|
||||||
settings.event_issues=Issues
|
settings.event_issues=Issues
|
||||||
settings.event_issues_desc=Issue geöffnet, geschlossen, wieder geöffnet, bearbeitet, zugewiesen, nicht zugewiesen, Label aktualisiert, Label gelöscht, einem Meilenstein zugewiesen oder davon entfernt.
|
settings.event_issues_desc=Issue geöffnet, geschlossen, wieder geöffnet, bearbeitet, zugewiesen, nicht zugewiesen, Label aktualisiert, Label gelöscht, einem Meilenstein zugewiesen oder davon entfernt.
|
||||||
settings.event_issue_comment=Issue-Kommentar
|
|
||||||
settings.event_issue_comment_desc=Issue-Kommentar angelegt, geändert oder gelöscht.
|
|
||||||
settings.event_pull_request=Pull-Request
|
settings.event_pull_request=Pull-Request
|
||||||
settings.event_pull_request_desc=Pull-Request geöffnet, geschlossen, wieder geöffnet, bearbeitet, zugewiesen, nicht zugewiesen, Label aktualisiert, Label gelöscht, einem Meilenstein zugewiesen, davon entfernt oder synchronisiert.
|
settings.event_pull_request_desc=Pull-Request geöffnet, geschlossen, wieder geöffnet, bearbeitet, zugewiesen, nicht zugewiesen, Label aktualisiert, Label gelöscht, einem Meilenstein zugewiesen, davon entfernt oder synchronisiert.
|
||||||
|
settings.event_issue_comment=Issue-Kommentar
|
||||||
|
settings.event_issue_comment_desc=Issue-Kommentar angelegt, geändert oder gelöscht.
|
||||||
settings.event_release=Release
|
settings.event_release=Release
|
||||||
settings.event_release_desc=Release in Repository veröffentlicht.
|
settings.event_release_desc=Release in Repository veröffentlicht.
|
||||||
settings.active=Aktiv
|
settings.active=Aktiv
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=Der Deploy-Schlüssel '%s' wurde erfolgreich hinzugefü
|
|||||||
settings.deploy_key_deletion=Deploy-Schlüssel löschen
|
settings.deploy_key_deletion=Deploy-Schlüssel löschen
|
||||||
settings.deploy_key_deletion_desc=Nach dem Löschen dieses Deploy-Schlüssels werden entsprechende Zugriffe auf dieses Repository nicht mehr möglich sein. Möchten Sie wirklich fortfahren?
|
settings.deploy_key_deletion_desc=Nach dem Löschen dieses Deploy-Schlüssels werden entsprechende Zugriffe auf dieses Repository nicht mehr möglich sein. Möchten Sie wirklich fortfahren?
|
||||||
settings.deploy_key_deletion_success=Deploy-Schlüssel wurde erfolgreich gelöscht!
|
settings.deploy_key_deletion_success=Deploy-Schlüssel wurde erfolgreich gelöscht!
|
||||||
|
settings.description_desc=Beschreibung des Repository. Maximal 512 Zeichen.
|
||||||
|
settings.description_length=Verfügbare Zeichen
|
||||||
|
|
||||||
diff.browse_source=Quellcode durchsuchen
|
diff.browse_source=Quellcode durchsuchen
|
||||||
diff.parent=Ursprung
|
diff.parent=Ursprung
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=Unter diesem Namen können Sie in Diskussionen auf das Team ver
|
|||||||
team_desc_helper=Worum geht es bei diesem Team?
|
team_desc_helper=Worum geht es bei diesem Team?
|
||||||
team_permission_desc=Welche Berechtigungsstufe soll das Team haben?
|
team_permission_desc=Welche Berechtigungsstufe soll das Team haben?
|
||||||
|
|
||||||
form.name_reserved=Organisationsname '%s' ist bereits vergeben.
|
form.name_not_allowed=Organisationsname oder Muster %q ist nicht zulässig.
|
||||||
form.name_pattern_not_allowed=Organisationsnamen der Form '%s' sind nicht erlaubt.
|
form.team_name_not_allowed=Benutzername oder Muster %q ist nicht erlaubt.
|
||||||
form.team_name_reserved=Der Teamname '%s' ist reserviert.
|
|
||||||
|
|
||||||
settings=Einstellungen
|
settings=Einstellungen
|
||||||
settings.options=Optionen
|
settings.options=Optionen
|
||||||
@@ -990,12 +1015,19 @@ first_page=Erste
|
|||||||
last_page=Letzte
|
last_page=Letzte
|
||||||
total=Gesamt: %d
|
total=Gesamt: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Build-Informationen
|
||||||
|
dashboard.app_ver=Anwendungsversion
|
||||||
|
dashboard.git_version=Git-Version
|
||||||
|
dashboard.go_version=Go-Version
|
||||||
|
dashboard.build_time=Build-Zeit
|
||||||
|
dashboard.build_commit=Build-Commit
|
||||||
dashboard.statistic=Statistik
|
dashboard.statistic=Statistik
|
||||||
dashboard.operations=Operationen
|
dashboard.operations=Operationen
|
||||||
dashboard.system_status=Systemmonitor-Status
|
dashboard.system_status=Systemmonitor-Status
|
||||||
dashboard.statistic_info=Gogs Datenbank hat <b>%d</b> Benutzer, <b>%d</b> Organisationen, <b>%d</b> öffentliche Schlüssel, <b>%d</b> Repositories, <b>%d</b> Beobachtet, <b>%d</b> Favoriten, <b>%d</b> Aktionen, <b>%d</b> Zugriffe, <b>%d</b> Issues, <b>%d</b> Kommentare, <b>%d</b> Konten sozialer Medien, <b>%d</b> Folgende, <b>%d</b> Mirror, <b>%d</b> Releases, <b>%d</b> Login-Quellen, <b>%d</b> Webhooks, <b>%d</b> Meilensteine, <b>%d</b> Label, <b>%d</b> Hook-Tasks, <b>%d</b> Teams, <b>%d</b> Aktualisierungs-Tasks, <b>%d</b> Anhänge.
|
dashboard.statistic_info=Gogs Datenbank hat <b>%d</b> Benutzer, <b>%d</b> Organisationen, <b>%d</b> öffentliche Schlüssel, <b>%d</b> Repositories, <b>%d</b> Beobachtet, <b>%d</b> Favoriten, <b>%d</b> Aktionen, <b>%d</b> Zugriffe, <b>%d</b> Issues, <b>%d</b> Kommentare, <b>%d</b> Konten sozialer Medien, <b>%d</b> Folgende, <b>%d</b> Mirror, <b>%d</b> Releases, <b>%d</b> Login-Quellen, <b>%d</b> Webhooks, <b>%d</b> Meilensteine, <b>%d</b> Label, <b>%d</b> Hook-Tasks, <b>%d</b> Teams, <b>%d</b> Aktualisierungs-Tasks, <b>%d</b> Anhänge.
|
||||||
dashboard.operation_name=Name der Operation
|
dashboard.operation_name=Name der Operation
|
||||||
dashboard.operation_switch=Wechseln
|
dashboard.operation_switch=Wechseln
|
||||||
|
dashboard.select_operation_to_run=Bitte wählen Sie den auszuführenden Vorgang aus
|
||||||
dashboard.operation_run=Ausführen
|
dashboard.operation_run=Ausführen
|
||||||
dashboard.clean_unbind_oauth=Nicht verbundene OAuths bereinigen
|
dashboard.clean_unbind_oauth=Nicht verbundene OAuths bereinigen
|
||||||
dashboard.clean_unbind_oauth_success=Alle nicht verbundenen OAuth-Tokens wurden gelöscht.
|
dashboard.clean_unbind_oauth_success=Alle nicht verbundenen OAuth-Tokens wurden gelöscht.
|
||||||
@@ -1087,11 +1119,12 @@ repos.stars=Favoriten
|
|||||||
repos.issues=Issues
|
repos.issues=Issues
|
||||||
repos.size=Größe
|
repos.size=Größe
|
||||||
|
|
||||||
auths.auth_manage_panel=Authentifizierung
|
auths.auth_sources=Authentifizierungsquelle
|
||||||
auths.new=Neue Quelle hinzufügen
|
auths.new=Neue Quelle hinzufügen
|
||||||
auths.name=Name
|
auths.name=Name
|
||||||
auths.type=Typ
|
auths.type=Typ
|
||||||
auths.enabled=Aktiviert
|
auths.enabled=Aktiviert
|
||||||
|
auths.default=Standard
|
||||||
auths.updated=Aktualisiert
|
auths.updated=Aktualisiert
|
||||||
auths.auth_type=Authentifizierungstyp
|
auths.auth_type=Authentifizierungstyp
|
||||||
auths.auth_name=Authentifizierungsname
|
auths.auth_name=Authentifizierungsname
|
||||||
@@ -1128,9 +1161,9 @@ auths.enable_tls=TLS-Verschlüsselung aktivieren
|
|||||||
auths.skip_tls_verify=TLS-Prüfung überspringen
|
auths.skip_tls_verify=TLS-Prüfung überspringen
|
||||||
auths.pam_service_name=PAM Dienstname
|
auths.pam_service_name=PAM Dienstname
|
||||||
auths.enable_auto_register=Automatische Registrierung aktivieren
|
auths.enable_auto_register=Automatische Registrierung aktivieren
|
||||||
auths.tips=Tipps
|
|
||||||
auths.edit=Authentifizierungseinstellungen bearbeiten
|
auths.edit=Authentifizierungseinstellungen bearbeiten
|
||||||
auths.activated=Diese Authentifizierung ist aktiv
|
auths.activated=Diese Authentifizierung ist aktiv
|
||||||
|
auths.default_auth=Diese Authentifizierungsmethode ist die Vorgabe
|
||||||
auths.new_success=Neue Authentifizierung '%s' wurde erfolgreich hinzugefügt.
|
auths.new_success=Neue Authentifizierung '%s' wurde erfolgreich hinzugefügt.
|
||||||
auths.update_success=Die Authentifizierungseinstellungen wurden erfolgreich aktualisiert.
|
auths.update_success=Die Authentifizierungseinstellungen wurden erfolgreich aktualisiert.
|
||||||
auths.update=Authentifizierungseinstellungen aktualisieren
|
auths.update=Authentifizierungseinstellungen aktualisieren
|
||||||
@@ -1140,120 +1173,186 @@ auths.delete_auth_desc=Diese Authentifizierung wird gelöscht. Möchten Sie fort
|
|||||||
auths.still_in_used=Diese Authentifizierung wird noch von einigen Benutzern verwendet. Bitte löschen Sie diese Benutzer oder ändern Sie deren Anmeldetyp.
|
auths.still_in_used=Diese Authentifizierung wird noch von einigen Benutzern verwendet. Bitte löschen Sie diese Benutzer oder ändern Sie deren Anmeldetyp.
|
||||||
auths.deletion_success=Authentifizierung wurde erfolgreich gelöscht!
|
auths.deletion_success=Authentifizierung wurde erfolgreich gelöscht!
|
||||||
auths.login_source_exist=Login-Quelle '%s' ist bereits vorhanden.
|
auths.login_source_exist=Login-Quelle '%s' ist bereits vorhanden.
|
||||||
|
auths.github_api_endpoint=API Endpunkt
|
||||||
|
|
||||||
config.not_set=(nicht festgelegt)
|
config.not_set=(nicht festgelegt)
|
||||||
config.server_config=Serverkonfiguration
|
config.server_config=Serverkonfiguration
|
||||||
config.app_name=Name der Anwendung
|
config.brand_name=Markenname
|
||||||
config.app_ver=Anwendungsversion
|
|
||||||
config.app_url=Anwendungs-URL
|
|
||||||
config.domain=Domain
|
|
||||||
config.offline_mode=Offline-Modus
|
|
||||||
config.disable_router_log=Router-Log deaktivieren
|
|
||||||
config.run_user=Ausführender Benutzer
|
config.run_user=Ausführender Benutzer
|
||||||
config.run_mode=Laufzeit-Modus
|
config.run_mode=Laufzeit-Modus
|
||||||
config.git_version=Git Version
|
config.server.external_url=Externe URL
|
||||||
config.static_file_root_path=Verzeichnis für statische Dateien
|
config.server.domain=Domäne
|
||||||
config.log_file_root_path=Log-Verzeichnis
|
config.server.protocol=Protokoll
|
||||||
config.reverse_auth_user=Nutzer bei Reverse-Authentifizierung
|
config.server.http_addr=HTTP-Adresse
|
||||||
|
config.server.http_port=HTTP-Port
|
||||||
|
config.server.cert_file=Zertifikatsdatei
|
||||||
|
config.server.key_file=Schlüsseldatei
|
||||||
|
config.server.tls_min_version=Minimale TLS-Version
|
||||||
|
config.server.unix_socket_permission=Unix-Socket-Berechtigung
|
||||||
|
config.server.local_root_url=Lokale Root-URL
|
||||||
|
config.server.offline_mode=Offline-Modus
|
||||||
|
config.server.disable_router_log=Router-Log deaktivieren
|
||||||
|
config.server.enable_gzip=Gzip aktivieren
|
||||||
|
config.server.app_data_path=Anwendungsdatenpfad
|
||||||
|
config.server.load_assets_from_disk=Assets von Festplatte laden
|
||||||
|
config.server.landing_url=Startseite
|
||||||
|
|
||||||
config.ssh_config=SSH Konfiguration
|
config.ssh_config=SSH Konfiguration
|
||||||
config.ssh_enabled=Aktiviert
|
config.ssh.enabled=Aktiviert
|
||||||
config.ssh_start_builtin_server=Eingebauten Server starten
|
config.ssh.domain=Exponierte Domain
|
||||||
config.ssh_domain=Domain
|
config.ssh.port=Exponierter Port
|
||||||
config.ssh_port=Port
|
config.ssh.root_path=Wurzelpfad
|
||||||
config.ssh_listen_port=Listen Port
|
config.ssh.keygen_path=Keygenpfad
|
||||||
config.ssh_root_path=Verzeichnis
|
config.ssh.key_test_path=Schlüsseltestpfad
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Prüfung der Mindestschlüssellänge
|
||||||
config.ssh_key_test_path=Schlüssel-Test-Pfad
|
config.ssh.minimum_key_sizes=Mindestschlüssellängen
|
||||||
config.ssh_keygen_path=Keygen ('ssh-keygen') Pfad
|
config.ssh.rewrite_authorized_keys_at_start=Beim Start "authorized_keys" umschreiben
|
||||||
config.ssh_minimum_key_size_check=Prüfung der Mindestschlüssellänge
|
config.ssh.start_builtin_server=Eingebauten Server starten
|
||||||
config.ssh_minimum_key_sizes=Minimale Schlüssellängen
|
config.ssh.listen_host=Listen-Host
|
||||||
|
config.ssh.listen_port=Listen-Port
|
||||||
|
config.ssh.server_ciphers=Serverchiffren
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server-Algorithmen
|
||||||
|
|
||||||
config.repo_config=Repository-Konfiguration
|
config.repo_config=Repository-Konfiguration
|
||||||
config.repo_root_path=Repository-Verzeichnis
|
config.repo.root_path=Wurzelpfad
|
||||||
config.script_type=Skript-Typ
|
config.repo.script_type=Skript-Typ
|
||||||
config.repo_force_private=Erzwinge privat
|
config.repo.ansi_chatset=ANSI-Zeichensatz
|
||||||
config.max_creation_limit=Maximal erstellbare Anzahl
|
config.repo.force_private=Privat erzwingen
|
||||||
config.preferred_licenses=Bevorzugte Lizenzen
|
config.repo.max_creation_limit=Maximales Erstellungslimit
|
||||||
config.disable_http_git=Deaktiviere HTTP-Git
|
config.repo.preferred_licenses=Bevorzugte Lizenzen
|
||||||
config.enable_local_path_migration=Erlaube Migration von lokalem Pfad
|
config.repo.disable_http_git=HTTP-Git deaktivieren
|
||||||
config.commits_fetch_concurrency=Anzahl gleichzeitiger Commit-/Fetch-Prozesse
|
config.repo.enable_local_path_migration=Lokale Pfadmigration aktivieren
|
||||||
|
config.repo.enable_raw_file_render_mode=Darstellen von Roh-Dateien aktivieren
|
||||||
config.http_config=HTTP-Konfiguration
|
config.repo.commits_fetch_concurrency=Anzahl gleichzeitiger Commit-/Fetch-Prozesse
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
config.repo.editor.line_wrap_extensions=Editor Erweiterungen für Zeilenumbrüche
|
||||||
|
config.repo.editor.previewable_file_modes=Vorschau der Dateimodi des Editors
|
||||||
|
config.repo.upload.enabled=Upload aktiviert
|
||||||
|
config.repo.upload.temp_path=Temporärer Pfad für Uploads
|
||||||
|
config.repo.upload.allowed_types=Erlaubte Upload-Typen
|
||||||
|
config.repo.upload.file_max_size=Upload-Dateigrößenlimit
|
||||||
|
config.repo.upload.max_files=Upload-Dateilimit
|
||||||
|
|
||||||
config.db_config=Datenbankkonfiguration
|
config.db_config=Datenbankkonfiguration
|
||||||
config.db_type=Typ
|
config.db.type=Typ
|
||||||
config.db_host=Host
|
config.db.host=Host
|
||||||
config.db_name=Name
|
config.db.name=Name
|
||||||
config.db_user=Benutzer
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=SSL-Modus
|
config.db.schema_helper=(nur für "postgres")
|
||||||
config.db_ssl_mode_helper=(nur für "postgres")
|
config.db.user=Benutzer
|
||||||
config.db_path=Verzeichnis
|
config.db.ssl_mode=SSL-Modus
|
||||||
config.db_path_helper=(für "sqlite3" und "tidb")
|
config.db.ssl_mode_helper=(nur für "postgres")
|
||||||
|
config.db.path=Pfad
|
||||||
|
config.db.path_helper=(nur für "sqlite3")
|
||||||
|
config.db.max_open_conns=Maximale Anzahl offener Verbindungen
|
||||||
|
config.db.max_idle_conns=Maximale Leerlaufverbindungen
|
||||||
|
|
||||||
config.service_config=Service-Konfiguration
|
config.security_config=Sicherheitskonfiguration
|
||||||
config.register_email_confirm=E-Mail-Bestätigung bei Registrierung
|
config.security.login_remember_days=Anzahl Tage zum Speichern des Logins
|
||||||
config.disable_register=Registrierung deaktivieren
|
config.security.cookie_remember_name=Cookie merken
|
||||||
config.show_registration_button=Schaltfläche Registrieren anzeigen
|
config.security.cookie_username=Benutzernamen-Cookie
|
||||||
config.require_sign_in_view=Ansehen erfordert Anmeldung
|
config.security.cookie_secure=Sicheres Cookie aktivieren
|
||||||
config.mail_notify=E-Mail-Benachrichtigung
|
config.security.reverse_proxy_auth_user=Reverse-Proxy-Authentifizierungs-Header
|
||||||
config.disable_key_size_check=Prüfung der Mindestschlüssellänge deaktiveren
|
config.security.enable_login_status_cookie=Login-Status-Cookie aktivieren
|
||||||
config.enable_captcha=Captcha aktivieren
|
config.security.login_status_cookie_name=Login-Status-Cookie
|
||||||
config.active_code_lives=Aktivierungscode Lebensdauer
|
config.security.local_network_allowlist=Zulassungsliste für lokale Netzwerke
|
||||||
config.reset_password_code_lives=Passwortcode Lebensdauer
|
|
||||||
|
|
||||||
config.webhook_config=Webhook-Konfiguration
|
config.email_config=E-Mail-Konfiguration
|
||||||
config.queue_length=Warteschlangenlänge
|
config.email.enabled=Aktiviert
|
||||||
config.deliver_timeout=Zeitlimit für Zustellung
|
config.email.subject_prefix=Betreff-Präfix
|
||||||
config.skip_tls_verify=TLS verifikation überspringen
|
config.email.host=Host
|
||||||
|
config.email.from=Von
|
||||||
|
config.email.user=Benutzer
|
||||||
|
config.email.disable_helo=HELO deaktivieren
|
||||||
|
config.email.helo_hostname=HELO Hostname
|
||||||
|
config.email.skip_verify=Zertifikatsüberprüfung überspringen
|
||||||
|
config.email.use_certificate=Benutzerdefiniertes Zertifikat verwenden
|
||||||
|
config.email.cert_file=Zertifikatsdatei
|
||||||
|
config.email.key_file=Schlüsseldatei
|
||||||
|
config.email.use_plain_text=Klartext verwenden
|
||||||
|
config.email.add_plain_text_alt=Klartext-Alternative hinzufügen
|
||||||
|
config.email.send_test_mail=Test-E-Mail senden
|
||||||
|
config.email.test_mail_failed=Fehler beim Senden der Test-E-Mail an '%s': %v
|
||||||
|
config.email.test_mail_sent=Test-E-Mail wurde an '%s ' gesendet.
|
||||||
|
|
||||||
config.mailer_config=Mailer-Konfiguration
|
config.auth_config=Authentifizierungskonfiguration
|
||||||
config.mailer_enabled=Aktiviert
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=HELO Deaktivieren
|
config.auth.activate_code_lives=Aktivierungscode Lebensdauer
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Gültigkeitsdauer Zurücksetzungs-Code
|
||||||
config.mailer_host=Host
|
config.auth.require_email_confirm=E-Mail-Bestätigung erforderlich
|
||||||
config.mailer_user=Benutzer
|
config.auth.require_sign_in_view=Anmeldung erforderlich
|
||||||
config.send_test_mail=Test-E-Mail senden
|
config.auth.disable_registration=Registrierung deaktivieren
|
||||||
config.test_mail_failed=Das Senden der Test-E-Mail an '%s': %v ist fehlgeschlagen
|
config.auth.enable_registration_captcha=Registrierungs-Captcha aktivieren
|
||||||
config.test_mail_sent=Test-E-Mail wurde an '%s' gesendet.
|
config.auth.enable_reverse_proxy_authentication=Reverse-Proxy-Authentifizierung aktivieren
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Automatische Reverse-Proxy-Registrierung aktivieren
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse-Proxy-Authentifizierungs-Header
|
||||||
|
|
||||||
config.oauth_config=OAuth-Konfiguration
|
config.user_config=Benutzerkonfiguration
|
||||||
config.oauth_enabled=Aktiviert
|
config.user.enable_email_notify=E-Mail-Benachrichtigung aktivieren
|
||||||
|
|
||||||
config.cache_config=Cache-Konfiguration
|
|
||||||
config.cache_adapter=Cache-Adapter
|
|
||||||
config.cache_interval=Cache-Intervall
|
|
||||||
config.cache_conn=Cache-Anbindung
|
|
||||||
|
|
||||||
config.session_config=Session-Konfiguration
|
config.session_config=Session-Konfiguration
|
||||||
config.session_provider=Session-Provider
|
config.session.provider=Anbieter
|
||||||
config.provider_config=Provider-Einstellungen
|
config.session.provider_config=Anbieter-Konfiguration
|
||||||
config.cookie_name=Cookie-Name
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=Cookies verwenden
|
config.session.https_only=Nur HTTPS
|
||||||
config.gc_interval_time=GC-Intervall
|
config.session.gc_interval=GC-Intervall
|
||||||
config.session_life_time=Session-Lebensdauer
|
config.session.max_life_time=Maximale Lebensdauer
|
||||||
config.https_only=Nur HTTPS
|
config.session.csrf_cookie_name=CSRF-Cookie
|
||||||
config.cookie_life_time=Cookie-Lebensdauer
|
|
||||||
|
config.cache_config=Cache-Konfiguration
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC-Intervall
|
||||||
|
config.cache.host=Host
|
||||||
|
|
||||||
|
config.http_config=HTTP-Konfiguration
|
||||||
|
config.http.access_control_allow_origin=Access-Control-Allow-Origin
|
||||||
|
|
||||||
|
config.attachment_config=Anhang-Konfiguration
|
||||||
|
config.attachment.enabled=Aktiviert
|
||||||
|
config.attachment.path=Pfad
|
||||||
|
config.attachment.allowed_types=Erlaubte Typen
|
||||||
|
config.attachment.max_size=Größenlimit
|
||||||
|
config.attachment.max_files=Dateilimit
|
||||||
|
|
||||||
|
config.release_config=Release-Konfiguration
|
||||||
|
config.release.attachment.enabled=Anhang aktiviert
|
||||||
|
config.release.attachment.allowed_types=Erlaubte Anhang-Typen
|
||||||
|
config.release.attachment.max_size=Größenlimit für Anhang
|
||||||
|
config.release.attachment.max_files=Dateilimit für Anhang
|
||||||
|
|
||||||
config.picture_config=Konfiguration der Profilbilder
|
config.picture_config=Konfiguration der Profilbilder
|
||||||
config.picture_service=Bildservice
|
config.picture.avatar_upload_path=Benutzer-Avatar Upload-Pfad
|
||||||
config.disable_gravatar=Gravatar deaktivieren
|
config.picture.repo_avatar_upload_path=Repository-Avatar Upload-Pfad
|
||||||
config.enable_federated_avatar=Föderierte Profilbilder einschalten
|
config.picture.gravatar_source=Gravatar-Quelle
|
||||||
|
config.picture.disable_gravatar=Gravatar deaktivieren
|
||||||
|
config.picture.enable_federated_avatar=Föderierte Avatare aktivieren
|
||||||
|
|
||||||
|
config.mirror_config=Mirror-Konfiguration
|
||||||
|
config.mirror.default_interval=Standardintervall
|
||||||
|
|
||||||
|
config.webhook_config=Webhook-Konfiguration
|
||||||
|
config.webhook.types=Typen
|
||||||
|
config.webhook.deliver_timeout=Zeitlimit für Zustellung
|
||||||
|
config.webhook.skip_tls_verify=TLS-Prüfung überspringen
|
||||||
|
|
||||||
config.git_config=Git Konfiguration
|
config.git_config=Git Konfiguration
|
||||||
config.git_disable_diff_highlight=Diff Syntaxhervorhebung ausschalten
|
config.git.disable_diff_highlight=Diff-Syntaxhervorhebung ausschalten
|
||||||
config.git_max_diff_lines=Max Diff Zeilen (in einer Datei)
|
config.git.max_diff_lines=Zeilenlimit für Diff (für eine einzelne Datei)
|
||||||
config.git_max_diff_line_characters=Max Diff Zeichen (in einer Zeile)
|
config.git.max_diff_line_characters=Zeichenlimit für Diff (für eine einzelne Datei)
|
||||||
config.git_max_diff_files=Max Diff Dateien (Anzeige)
|
config.git.max_diff_files=Dateilimit für Diff (für einen einzelnen Diff)
|
||||||
config.git_gc_args=GC-Argumente
|
config.git.gc_args=GC-Argumente
|
||||||
config.git_migrate_timeout=Zeitlimit für Migration
|
config.git.migrate_timeout=Zeitlimit für Migration
|
||||||
config.git_mirror_timeout=Zeitlimit für Mirror-Aktualisierung
|
config.git.mirror_timeout=Zeitlimit zum Spiegeln
|
||||||
config.git_clone_timeout=Zeitlimit für Clone
|
config.git.clone_timeout=Clone-Timeout
|
||||||
config.git_pull_timeout=Zeitlimit für Pull
|
config.git.pull_timeout=Pull-Timeout
|
||||||
config.git_gc_timeout=Zeitlimit für GC
|
config.git.gc_timeout=GC-Timeout
|
||||||
|
|
||||||
|
config.lfs_config=LFS-Konfiguration
|
||||||
|
config.lfs.storage=Speicher
|
||||||
|
config.lfs.objects_path=Objektpfad
|
||||||
|
|
||||||
config.log_config=Konfiguration des Loggings
|
config.log_config=Konfiguration des Loggings
|
||||||
|
config.log_file_root_path=Log-Verzeichnis
|
||||||
config.log_mode=Modus
|
config.log_mode=Modus
|
||||||
config.log_options=Optionen
|
config.log_options=Optionen
|
||||||
|
|
||||||
@@ -1284,7 +1383,6 @@ notices.delete_success=Systemmitteilungen wurden erfolgreich gelöscht.
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=hat das Repository <a href="%s">%s</a> erstellt
|
create_repo=hat das Repository <a href="%s">%s</a> erstellt
|
||||||
fork_repo=hat das Repository nach <a href="%s">%s</a> geforkt
|
|
||||||
rename_repo=hat das Repository von <code>%[1]s</code> zu <a href="%[2]s">%[3]s</a> umbenannt
|
rename_repo=hat das Repository von <code>%[1]s</code> zu <a href="%[2]s">%[3]s</a> umbenannt
|
||||||
commit_repo=hat auf <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a> gepusht
|
commit_repo=hat auf <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a> gepusht
|
||||||
compare_commits=Zeige Vergleich für diese %d Commits
|
compare_commits=Zeige Vergleich für diese %d Commits
|
||||||
@@ -1296,11 +1394,15 @@ comment_issue=`hat Issue <a href="%s/issues/%s">%s#%[2]s</a> kommentiert`
|
|||||||
create_pull_request=`hat Pull-Request <a href="%s/pulls/%s">%s#%[2]s</a> erstellt`
|
create_pull_request=`hat Pull-Request <a href="%s/pulls/%s">%s#%[2]s</a> erstellt`
|
||||||
close_pull_request=`hat Pull-Request <a href="%s/pulls/%s">%s#%[2]s</a> geschlossen`
|
close_pull_request=`hat Pull-Request <a href="%s/pulls/%s">%s#%[2]s</a> geschlossen`
|
||||||
reopen_pull_request=`hat den Pull-Request <a href="%s/pulls/%s">%s#%[2]s</a> wieder geöffnet`
|
reopen_pull_request=`hat den Pull-Request <a href="%s/pulls/%s">%s#%[2]s</a> wieder geöffnet`
|
||||||
merge_pull_request=`hat Pull-Request <a href="%s/pulls/%s">%s#%[2]s</a> zuammengeführt`
|
merge_pull_request=`hat Pull-Request <a href="%s/pulls/%s">%s#%[2]s</a> zusammengeführt`
|
||||||
create_branch=hat neuen Branch <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a> angelegt
|
create_branch=hat neuen Branch <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a> angelegt
|
||||||
delete_branch=hat Branch <code>%[2]s</code> in <a href="%[1]s">%[3]s</a> gelöscht
|
delete_branch=hat Branch <code>%[2]s</code> in <a href="%[1]s">%[3]s</a> gelöscht
|
||||||
push_tag=hat Tag <a href="%s/src/%s">%[2]s</a> auf <a href="%[1]s">%[3]s</a> gepusht
|
push_tag=hat Tag <a href="%s/src/%s">%[2]s</a> auf <a href="%[1]s">%[3]s</a> gepusht
|
||||||
delete_tag=hat Tag <code>%[2]s</code> in <a href="%[1]s">%[3]s</a> gelöscht
|
delete_tag=hat Tag <code>%[2]s</code> in <a href="%[1]s">%[3]s</a> gelöscht
|
||||||
|
fork_repo=hat das Repository nach <a href="%s">%s</a> geforkt
|
||||||
|
mirror_sync_push=hat auf <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a> gepusht
|
||||||
|
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=vor
|
ago=vor
|
||||||
@@ -1322,6 +1424,7 @@ months=%[2]s %[1]d Monaten
|
|||||||
years=%[2]s %[1]d Jahren
|
years=%[2]s %[1]d Jahren
|
||||||
raw_seconds=Sekunden
|
raw_seconds=Sekunden
|
||||||
raw_minutes=Minuten
|
raw_minutes=Minuten
|
||||||
|
raw_hours=Stunden
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Zum Hochladen hier klicken oder Datei hier ablegen.
|
default_message=Zum Hochladen hier klicken oder Datei hier ablegen.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=Sign Out
|
|||||||
sign_up=Sign Up
|
sign_up=Sign Up
|
||||||
register=Register
|
register=Register
|
||||||
website=Website
|
website=Website
|
||||||
version=Version
|
|
||||||
page=Page
|
page=Page
|
||||||
template=Template
|
template=Template
|
||||||
language=Language
|
language=Language
|
||||||
@@ -44,17 +43,22 @@ issues=Issues
|
|||||||
|
|
||||||
cancel=Cancel
|
cancel=Cancel
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Page Not Found
|
||||||
|
internal_server_error=Internal Server Error
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Installation
|
install=Installation
|
||||||
title=Install Steps For First-time Run
|
title=Install Steps For First-time Run
|
||||||
docker_helper=If you're running Gogs inside Docker, please read <a target="_blank" href="%s">Guidelines</a> carefully before you change anything in this page!
|
docker_helper=If you're running Gogs inside Docker, please read <a target="_blank" href="%s">Guidelines</a> carefully before you change anything in this page!
|
||||||
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB.
|
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol).
|
||||||
db_title=Database Settings
|
db_title=Database Settings
|
||||||
db_type=Database Type
|
db_type=Database Type
|
||||||
host=Host
|
host=Host
|
||||||
user=User
|
user=User
|
||||||
password=Password
|
password=Password
|
||||||
db_name=Database Name
|
db_name=Database Name
|
||||||
|
db_schema=Schema
|
||||||
db_helper=Please use INNODB engine with utf8_general_ci charset for MySQL.
|
db_helper=Please use INNODB engine with utf8_general_ci charset for MySQL.
|
||||||
ssl_mode=SSL Mode
|
ssl_mode=SSL Mode
|
||||||
path=Path
|
path=Path
|
||||||
@@ -84,6 +88,7 @@ log_root_path=Log Path
|
|||||||
log_root_path_helper=Directory to write log files to.
|
log_root_path_helper=Directory to write log files to.
|
||||||
enable_console_mode=Enable Console Mode
|
enable_console_mode=Enable Console Mode
|
||||||
enable_console_mode_popup=In addition to file mode, also print logs to console.
|
enable_console_mode_popup=In addition to file mode, also print logs to console.
|
||||||
|
default_branch=Default Branch
|
||||||
|
|
||||||
optional_title=Optional Settings
|
optional_title=Optional Settings
|
||||||
email_title=Email Service Settings
|
email_title=Email Service Settings
|
||||||
@@ -122,6 +127,7 @@ run_user_not_match=Run user isn't the current user: %s -> %s
|
|||||||
smtp_host_missing_port=SMTP Host is missing port in address.
|
smtp_host_missing_port=SMTP Host is missing port in address.
|
||||||
invalid_smtp_from=SMTP From field is not valid: %v
|
invalid_smtp_from=SMTP From field is not valid: %v
|
||||||
save_config_failed=Fail to save configuration: %v
|
save_config_failed=Fail to save configuration: %v
|
||||||
|
init_failed=Failed to initialize application: %v
|
||||||
invalid_admin_setting=Admin account setting is invalid: %v
|
invalid_admin_setting=Admin account setting is invalid: %v
|
||||||
install_success=Welcome! We're glad that you chose Gogs, have fun and take care.
|
install_success=Welcome! We're glad that you chose Gogs, have fun and take care.
|
||||||
invalid_log_root_path=Log root path is invalid: %v
|
invalid_log_root_path=Log root path is invalid: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=Already have an account? Sign in now!
|
|||||||
social_register_hepler_msg=Already have an account? Bind now!
|
social_register_hepler_msg=Already have an account? Bind now!
|
||||||
disable_register_prompt=Sorry, registration has been disabled. Please contact the site administrator.
|
disable_register_prompt=Sorry, registration has been disabled. Please contact the site administrator.
|
||||||
disable_register_mail=Sorry, Register Mail Confirmation has been disabled.
|
disable_register_mail=Sorry, Register Mail Confirmation has been disabled.
|
||||||
|
auth_source=Authentication Source
|
||||||
|
local=Local
|
||||||
remember_me=Remember Me
|
remember_me=Remember Me
|
||||||
forgot_password=Forgot Password
|
forgot_password=Forgot Password
|
||||||
forget_password=Forgot password?
|
forget_password=Forgot password?
|
||||||
@@ -229,6 +237,8 @@ org_name_been_taken=Organisation name has already been taken.
|
|||||||
team_name_been_taken=Team name has already been taken.
|
team_name_been_taken=Team name has already been taken.
|
||||||
email_been_used=Email address has already been used.
|
email_been_used=Email address has already been used.
|
||||||
username_password_incorrect=Username or password is not correct.
|
username_password_incorrect=Username or password is not correct.
|
||||||
|
auth_source_mismatch=The authentication source selected is not associated with the user.
|
||||||
|
|
||||||
enterred_invalid_repo_name=Please make sure that the repository name you have entered is correct.
|
enterred_invalid_repo_name=Please make sure that the repository name you have entered is correct.
|
||||||
enterred_invalid_owner_name=Please make sure that the owner name you have entered is correct.
|
enterred_invalid_owner_name=Please make sure that the owner name you have entered is correct.
|
||||||
enterred_invalid_password=Please make sure the that password you have entered is correct.
|
enterred_invalid_password=Please make sure the that password you have entered is correct.
|
||||||
@@ -256,8 +266,8 @@ following=Following
|
|||||||
follow=Follow
|
follow=Follow
|
||||||
unfollow=Unfollow
|
unfollow=Unfollow
|
||||||
|
|
||||||
form.name_reserved=Username '%s' is reserved.
|
form.name_not_allowed=Username or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Username pattern '%s' is not allowed.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Profile
|
profile=Profile
|
||||||
@@ -309,6 +319,7 @@ delete_email=Delete
|
|||||||
email_deletion=Email Deletion
|
email_deletion=Email Deletion
|
||||||
email_deletion_desc=Deleting this email address will remove related information from your account. Do you want to continue?
|
email_deletion_desc=Deleting this email address will remove related information from your account. Do you want to continue?
|
||||||
email_deletion_success=Email has been deleted successfully!
|
email_deletion_success=Email has been deleted successfully!
|
||||||
|
email_deletion_primary=Cannot delete primary email address.
|
||||||
add_new_email=Add new email address
|
add_new_email=Add new email address
|
||||||
add_email=Add email
|
add_email=Add email
|
||||||
add_email_confirmation_sent=A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process.
|
add_email_confirmation_sent=A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process.
|
||||||
@@ -348,6 +359,8 @@ two_factor_or_enter_secret=Or enter the secret:
|
|||||||
two_factor_then_enter_passcode=Then enter passcode:
|
two_factor_then_enter_passcode=Then enter passcode:
|
||||||
two_factor_verify=Verify
|
two_factor_verify=Verify
|
||||||
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
|
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
|
||||||
|
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
|
||||||
|
|
||||||
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
||||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
||||||
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
||||||
@@ -362,6 +375,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
|
|||||||
manage_access_token=Manage Personal Access Tokens
|
manage_access_token=Manage Personal Access Tokens
|
||||||
generate_new_token=Generate New Token
|
generate_new_token=Generate New Token
|
||||||
tokens_desc=Tokens you have generated that can be used to access the Gogs APIs.
|
tokens_desc=Tokens you have generated that can be used to access the Gogs APIs.
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc=Each token will have full access to your account.
|
new_token_desc=Each token will have full access to your account.
|
||||||
token_name=Token Name
|
token_name=Token Name
|
||||||
generate_token=Generate Token
|
generate_token=Generate Token
|
||||||
@@ -370,6 +384,8 @@ delete_token=Delete
|
|||||||
access_token_deletion=Personal Access Token Deletion
|
access_token_deletion=Personal Access Token Deletion
|
||||||
access_token_deletion_desc=Delete this personal access token will remove all related accesses of application. Do you want to continue?
|
access_token_deletion_desc=Delete this personal access token will remove all related accesses of application. Do you want to continue?
|
||||||
delete_token_success=Personal access token has been removed successfully! Don't forget to update your application as well.
|
delete_token_success=Personal access token has been removed successfully! Don't forget to update your application as well.
|
||||||
|
token_name_exists=Token with same name already exists.
|
||||||
|
|
||||||
|
|
||||||
orgs.none=You are not a member of any organisations.
|
orgs.none=You are not a member of any organisations.
|
||||||
orgs.leave_title=Leave organisation
|
orgs.leave_title=Leave organisation
|
||||||
@@ -391,7 +407,9 @@ owner=Owner
|
|||||||
repo_name=Repository Name
|
repo_name=Repository Name
|
||||||
repo_name_helper=A good repository name is usually composed of short, memorable and unique keywords.
|
repo_name_helper=A good repository name is usually composed of short, memorable and unique keywords.
|
||||||
visibility=Visibility
|
visibility=Visibility
|
||||||
|
unlisted=Unlisted
|
||||||
visiblity_helper=This repository is <span class="ui red text">Private</span>
|
visiblity_helper=This repository is <span class="ui red text">Private</span>
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=Site admin has forced all new repositories to be <span class="ui red text">Private</span>
|
visiblity_helper_forced=Site admin has forced all new repositories to be <span class="ui red text">Private</span>
|
||||||
visiblity_fork_helper=(Change of this value will affect all forks)
|
visiblity_fork_helper=(Change of this value will affect all forks)
|
||||||
clone_helper=Need help cloning? Visit <a target="_blank" href="%s">Help</a>!
|
clone_helper=Need help cloning? Visit <a target="_blank" href="%s">Help</a>!
|
||||||
@@ -417,10 +435,14 @@ mirror_last_synced=Last Synced
|
|||||||
watchers=Watchers
|
watchers=Watchers
|
||||||
stargazers=Stargazers
|
stargazers=Stargazers
|
||||||
forks=Forks
|
forks=Forks
|
||||||
|
repo_description_helper=Description of repository. Maximum 512 characters length.
|
||||||
|
|
||||||
|
repo_description_length=Available characters
|
||||||
|
|
||||||
|
|
||||||
form.reach_limit_of_creation=The owner has reached maximum creation limit of %d repositories.
|
form.reach_limit_of_creation=The owner has reached maximum creation limit of %d repositories.
|
||||||
form.name_reserved=Repository name '%s' is reserved.
|
form.name_not_allowed=Repository name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Repository name pattern '%s' is not allowed.
|
|
||||||
|
|
||||||
need_auth=Need Authorisation
|
need_auth=Need Authorisation
|
||||||
migrate_type=Migration Type
|
migrate_type=Migration Type
|
||||||
@@ -431,6 +453,7 @@ migrate.clone_address_desc=This can be a HTTP/HTTPS/GIT URL.
|
|||||||
migrate.clone_address_desc_import_local=You're also allowed to migrate a repository by local server path.
|
migrate.clone_address_desc_import_local=You're also allowed to migrate a repository by local server path.
|
||||||
migrate.permission_denied=You are not allowed to import local repositories.
|
migrate.permission_denied=You are not allowed to import local repositories.
|
||||||
migrate.invalid_local_path=Invalid local path, it does not exist or not a directory.
|
migrate.invalid_local_path=Invalid local path, it does not exist or not a directory.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=Migration failed: %v
|
migrate.failed=Migration failed: %v
|
||||||
|
|
||||||
mirror_from=mirror of
|
mirror_from=mirror of
|
||||||
@@ -478,6 +501,8 @@ branches.stale_branches=Stale Branches
|
|||||||
branches.all=All Branches
|
branches.all=All Branches
|
||||||
branches.updated_by=Updated %[1]s by %[2]s
|
branches.updated_by=Updated %[1]s by %[2]s
|
||||||
branches.change_default_branch=Change Default Branch
|
branches.change_default_branch=Change Default Branch
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=New file
|
editor.new_file=New file
|
||||||
editor.upload_file=Upload file
|
editor.upload_file=Upload file
|
||||||
@@ -514,6 +539,8 @@ editor.file_changed_while_editing=File content has been changed since you starte
|
|||||||
editor.file_already_exists=A file with name '%s' already exists in this repository.
|
editor.file_already_exists=A file with name '%s' already exists in this repository.
|
||||||
editor.no_changes_to_show=There are no changes to show.
|
editor.no_changes_to_show=There are no changes to show.
|
||||||
editor.fail_to_update_file=Failed to update/create file '%s' with error: %v
|
editor.fail_to_update_file=Failed to update/create file '%s' with error: %v
|
||||||
|
editor.fail_to_delete_file=Failed to delete file '%s' with error: %v
|
||||||
|
|
||||||
editor.add_subdir=Add subdirectory...
|
editor.add_subdir=Add subdirectory...
|
||||||
editor.unable_to_upload_files=Failed to upload files to '%s' with error: %v
|
editor.unable_to_upload_files=Failed to upload files to '%s' with error: %v
|
||||||
editor.upload_files_to_dir=Upload files to '%s'
|
editor.upload_files_to_dir=Upload files to '%s'
|
||||||
@@ -633,7 +660,9 @@ pulls.can_auto_merge_desc=This pull request can be merged automatically.
|
|||||||
pulls.cannot_auto_merge_desc=This pull request can't be merged automatically because there are conflicts.
|
pulls.cannot_auto_merge_desc=This pull request can't be merged automatically because there are conflicts.
|
||||||
pulls.cannot_auto_merge_helper=Please merge manually in order to resolve the conflicts.
|
pulls.cannot_auto_merge_helper=Please merge manually in order to resolve the conflicts.
|
||||||
pulls.create_merge_commit=Create a merge commit
|
pulls.create_merge_commit=Create a merge commit
|
||||||
|
|
||||||
pulls.rebase_before_merging=Rebase before merging
|
pulls.rebase_before_merging=Rebase before merging
|
||||||
|
pulls.commit_description=Commit Description
|
||||||
pulls.merge_pull_request=Merge Pull Request
|
pulls.merge_pull_request=Merge Pull Request
|
||||||
pulls.open_unmerged_pull_exists=`You can't perform reopen operation because there is already an open pull request (#%d) from same repository with same merge information and is waiting for merging.`
|
pulls.open_unmerged_pull_exists=`You can't perform reopen operation because there is already an open pull request (#%d) from same repository with same merge information and is waiting for merging.`
|
||||||
pulls.delete_branch=Delete Branch
|
pulls.delete_branch=Delete Branch
|
||||||
@@ -738,9 +767,12 @@ settings.tracker_issue_style=External Issue Tracker Naming Style:
|
|||||||
settings.tracker_issue_style.numeric=Numeric
|
settings.tracker_issue_style.numeric=Numeric
|
||||||
settings.tracker_issue_style.alphanumeric=Alphanumeric
|
settings.tracker_issue_style.alphanumeric=Alphanumeric
|
||||||
settings.tracker_url_format_desc=You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index.
|
settings.tracker_url_format_desc=You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index.
|
||||||
settings.pulls_desc=Enable pull requests to accept public contributions
|
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches
|
||||||
|
|
||||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||||
|
|
||||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||||
|
|
||||||
settings.danger_zone=Danger Zone
|
settings.danger_zone=Danger Zone
|
||||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||||
settings.new_owner_has_same_repo=The new owner already has a repository with same name. Please choose another name.
|
settings.new_owner_has_same_repo=The new owner already has a repository with same name. Please choose another name.
|
||||||
@@ -762,6 +794,7 @@ settings.delete=Delete This Repository
|
|||||||
settings.delete_desc=Once you delete a repository, there is no going back. Please be certain.
|
settings.delete_desc=Once you delete a repository, there is no going back. Please be certain.
|
||||||
settings.delete_notices_1=- This operation <strong>CANNOT</strong> be undone.
|
settings.delete_notices_1=- This operation <strong>CANNOT</strong> be undone.
|
||||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||||
|
|
||||||
settings.delete_notices_fork_1=- All forks will become independent after deletion.
|
settings.delete_notices_fork_1=- All forks will become independent after deletion.
|
||||||
settings.deletion_success=Repository has been deleted successfully!
|
settings.deletion_success=Repository has been deleted successfully!
|
||||||
settings.update_settings_success=Repository options has been updated successfully.
|
settings.update_settings_success=Repository options has been updated successfully.
|
||||||
@@ -777,8 +810,12 @@ settings.collaborator_deletion_desc=This user will no longer have collaboration
|
|||||||
settings.remove_collaborator_success=Collaborator has been removed.
|
settings.remove_collaborator_success=Collaborator has been removed.
|
||||||
settings.search_user_placeholder=Search user...
|
settings.search_user_placeholder=Search user...
|
||||||
settings.org_not_allowed_to_be_collaborator=Organisation is not allowed to be added as a collaborator.
|
settings.org_not_allowed_to_be_collaborator=Organisation is not allowed to be added as a collaborator.
|
||||||
settings.add_webhook=Add Webhook
|
|
||||||
settings.hooks_desc=Webhooks are much like basic HTTP POST event triggers. Whenever something occurs in Gogs, we will handle the notification to the target host you specify. Learn more in this <a target="_blank" href="%s">Webhooks Guide</a>.
|
settings.hooks_desc=Webhooks are much like basic HTTP POST event triggers. Whenever something occurs in Gogs, we will handle the notification to the target host you specify. Learn more in this <a target="_blank" href="%s">Webhooks Guide</a>.
|
||||||
|
settings.webhooks.add_new=Add a new webhook:
|
||||||
|
|
||||||
|
settings.webhooks.choose_a_type=Choose a type...
|
||||||
|
|
||||||
|
settings.add_webhook=Add Webhook
|
||||||
settings.webhook_deletion=Delete Webhook
|
settings.webhook_deletion=Delete Webhook
|
||||||
settings.webhook_deletion_desc=Delete this webhook will remove its information and all delivery history. Do you want to continue?
|
settings.webhook_deletion_desc=Delete this webhook will remove its information and all delivery history. Do you want to continue?
|
||||||
settings.webhook_deletion_success=Webhook has been deleted successfully!
|
settings.webhook_deletion_success=Webhook has been deleted successfully!
|
||||||
@@ -792,6 +829,9 @@ settings.webhook.response=Response
|
|||||||
settings.webhook.headers=Headers
|
settings.webhook.headers=Headers
|
||||||
settings.webhook.payload=Payload
|
settings.webhook.payload=Payload
|
||||||
settings.webhook.body=Body
|
settings.webhook.body=Body
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Cannot parse the payload URL: %v
|
||||||
|
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=Git Hooks are powered by Git itself, you can edit files of supported hooks in the list below to perform custom operations.
|
settings.githooks_desc=Git Hooks are powered by Git itself, you can edit files of supported hooks in the list below to perform custom operations.
|
||||||
settings.githook_edit_desc=If the hook is inactive, sample content will be presented. Leaving content to an empty value will disable this hook.
|
settings.githook_edit_desc=If the hook is inactive, sample content will be presented. Leaving content to an empty value will disable this hook.
|
||||||
settings.githook_name=Hook Name
|
settings.githook_name=Hook Name
|
||||||
@@ -819,10 +859,10 @@ settings.event_push=Push
|
|||||||
settings.event_push_desc=Git push to a repository
|
settings.event_push_desc=Git push to a repository
|
||||||
settings.event_issues=Issues
|
settings.event_issues=Issues
|
||||||
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
||||||
settings.event_issue_comment=Issue Comment
|
|
||||||
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
|
||||||
settings.event_pull_request=Pull Request
|
settings.event_pull_request=Pull Request
|
||||||
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
||||||
|
settings.event_issue_comment=Issue Comment
|
||||||
|
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
||||||
settings.event_release=Release
|
settings.event_release=Release
|
||||||
settings.event_release_desc=Release published in a repository.
|
settings.event_release_desc=Release published in a repository.
|
||||||
settings.active=Active
|
settings.active=Active
|
||||||
@@ -852,6 +892,10 @@ settings.add_key_success=New deploy key '%s' has been added successfully!
|
|||||||
settings.deploy_key_deletion=Delete Deploy Key
|
settings.deploy_key_deletion=Delete Deploy Key
|
||||||
settings.deploy_key_deletion_desc=Deleting this deploy key will remove all related accesses for this repository. Do you want to continue?
|
settings.deploy_key_deletion_desc=Deleting this deploy key will remove all related accesses for this repository. Do you want to continue?
|
||||||
settings.deploy_key_deletion_success=Deploy key has been deleted successfully!
|
settings.deploy_key_deletion_success=Deploy key has been deleted successfully!
|
||||||
|
settings.description_desc=Description of repository. Maximum 512 characters length.
|
||||||
|
|
||||||
|
settings.description_length=Available characters
|
||||||
|
|
||||||
|
|
||||||
diff.browse_source=Browse Source
|
diff.browse_source=Browse Source
|
||||||
diff.parent=parent
|
diff.parent=parent
|
||||||
@@ -916,9 +960,10 @@ team_name_helper=You'll use this name to mention this team in conversations.
|
|||||||
team_desc_helper=What is this team all about?
|
team_desc_helper=What is this team all about?
|
||||||
team_permission_desc=What permission level should this team have?
|
team_permission_desc=What permission level should this team have?
|
||||||
|
|
||||||
form.name_reserved=Organisation name '%s' is reserved.
|
form.name_not_allowed=Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Organisation name pattern '%s' is not allowed.
|
|
||||||
form.team_name_reserved=Team name '%s' is reserved.
|
form.team_name_not_allowed=Team name or pattern %q is not allowed.
|
||||||
|
|
||||||
|
|
||||||
settings=Settings
|
settings=Settings
|
||||||
settings.options=Options
|
settings.options=Options
|
||||||
@@ -990,12 +1035,26 @@ first_page=First
|
|||||||
last_page=Last
|
last_page=Last
|
||||||
total=Total: %d
|
total=Total: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Build Information
|
||||||
|
|
||||||
|
dashboard.app_ver=Application version
|
||||||
|
|
||||||
|
dashboard.git_version=Git version
|
||||||
|
|
||||||
|
dashboard.go_version=Go version
|
||||||
|
|
||||||
|
dashboard.build_time=Build time
|
||||||
|
|
||||||
|
dashboard.build_commit=Build commit
|
||||||
|
|
||||||
dashboard.statistic=Statistics
|
dashboard.statistic=Statistics
|
||||||
dashboard.operations=Operations
|
dashboard.operations=Operations
|
||||||
dashboard.system_status=System Monitor Status
|
dashboard.system_status=System Monitor Status
|
||||||
dashboard.statistic_info=Gogs database has <b>%d</b> users, <b>%d</b> organisations, <b>%d</b> public keys, <b>%d</b> repositories, <b>%d</b> watches, <b>%d</b> stars, <b>%d</b> actions, <b>%d</b> accesses, <b>%d</b> issues, <b>%d</b> comments, <b>%d</b> social accounts, <b>%d</b> follows, <b>%d</b> mirrors, <b>%d</b> releases, <b>%d</b> login sources, <b>%d</b> webhooks, <b>%d</b> milestones, <b>%d</b> labels, <b>%d</b> hook tasks, <b>%d</b> teams, <b>%d</b> update tasks, <b>%d</b> attachments.
|
dashboard.statistic_info=Gogs database has <b>%d</b> users, <b>%d</b> organisations, <b>%d</b> public keys, <b>%d</b> repositories, <b>%d</b> watches, <b>%d</b> stars, <b>%d</b> actions, <b>%d</b> accesses, <b>%d</b> issues, <b>%d</b> comments, <b>%d</b> social accounts, <b>%d</b> follows, <b>%d</b> mirrors, <b>%d</b> releases, <b>%d</b> login sources, <b>%d</b> webhooks, <b>%d</b> milestones, <b>%d</b> labels, <b>%d</b> hook tasks, <b>%d</b> teams, <b>%d</b> update tasks, <b>%d</b> attachments.
|
||||||
dashboard.operation_name=Operation Name
|
dashboard.operation_name=Operation Name
|
||||||
dashboard.operation_switch=Switch
|
dashboard.operation_switch=Switch
|
||||||
|
dashboard.select_operation_to_run=Please select an operation to run
|
||||||
|
|
||||||
dashboard.operation_run=Run
|
dashboard.operation_run=Run
|
||||||
dashboard.clean_unbind_oauth=Clean unbound OAuthes
|
dashboard.clean_unbind_oauth=Clean unbound OAuthes
|
||||||
dashboard.clean_unbind_oauth_success=All unbind OAuthes have been deleted successfully.
|
dashboard.clean_unbind_oauth_success=All unbind OAuthes have been deleted successfully.
|
||||||
@@ -1087,11 +1146,12 @@ repos.stars=Stars
|
|||||||
repos.issues=Issues
|
repos.issues=Issues
|
||||||
repos.size=Size
|
repos.size=Size
|
||||||
|
|
||||||
auths.auth_manage_panel=Authentication Manage Panel
|
auths.auth_sources=Authentication Sources
|
||||||
auths.new=Add New Source
|
auths.new=Add New Source
|
||||||
auths.name=Name
|
auths.name=Name
|
||||||
auths.type=Type
|
auths.type=Type
|
||||||
auths.enabled=Enabled
|
auths.enabled=Enabled
|
||||||
|
auths.default=Default
|
||||||
auths.updated=Updated
|
auths.updated=Updated
|
||||||
auths.auth_type=Authentication Type
|
auths.auth_type=Authentication Type
|
||||||
auths.auth_name=Authentication Name
|
auths.auth_name=Authentication Name
|
||||||
@@ -1101,6 +1161,7 @@ auths.host=Host
|
|||||||
auths.port=Port
|
auths.port=Port
|
||||||
auths.bind_dn=Bind DN
|
auths.bind_dn=Bind DN
|
||||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||||
|
|
||||||
auths.bind_password=Bind Password
|
auths.bind_password=Bind Password
|
||||||
auths.bind_password_helper=Warning: This password is stored in plain text. Do not use a high privileged account.
|
auths.bind_password_helper=Warning: This password is stored in plain text. Do not use a high privileged account.
|
||||||
auths.user_base=User Search Base
|
auths.user_base=User Search Base
|
||||||
@@ -1128,9 +1189,10 @@ auths.enable_tls=Enable TLS Encryption
|
|||||||
auths.skip_tls_verify=Skip TLS Verify
|
auths.skip_tls_verify=Skip TLS Verify
|
||||||
auths.pam_service_name=PAM Service Name
|
auths.pam_service_name=PAM Service Name
|
||||||
auths.enable_auto_register=Enable Auto Registration
|
auths.enable_auto_register=Enable Auto Registration
|
||||||
auths.tips=Tips
|
|
||||||
auths.edit=Edit Authentication Setting
|
auths.edit=Edit Authentication Setting
|
||||||
auths.activated=This authentication is activated
|
auths.activated=This authentication is activated
|
||||||
|
auths.default_auth=This authentication is the default login page
|
||||||
|
|
||||||
auths.new_success=New authentication '%s' has been added successfully.
|
auths.new_success=New authentication '%s' has been added successfully.
|
||||||
auths.update_success=Authentication setting has been updated successfully.
|
auths.update_success=Authentication setting has been updated successfully.
|
||||||
auths.update=Update Authentication Setting
|
auths.update=Update Authentication Setting
|
||||||
@@ -1140,120 +1202,234 @@ auths.delete_auth_desc=This authentication is going to be deleted, do you want t
|
|||||||
auths.still_in_used=This authentication is still used by some users, please delete or convert these users to another login type first.
|
auths.still_in_used=This authentication is still used by some users, please delete or convert these users to another login type first.
|
||||||
auths.deletion_success=Authentication has been deleted successfully!
|
auths.deletion_success=Authentication has been deleted successfully!
|
||||||
auths.login_source_exist=Login source '%s' already exists.
|
auths.login_source_exist=Login source '%s' already exists.
|
||||||
|
auths.github_api_endpoint=API Endpoint
|
||||||
|
|
||||||
config.not_set=(not set)
|
config.not_set=(not set)
|
||||||
|
|
||||||
config.server_config=Server Configuration
|
config.server_config=Server Configuration
|
||||||
config.app_name=Application Name
|
config.brand_name=Brand name
|
||||||
config.app_ver=Application Version
|
|
||||||
config.app_url=Application URL
|
|
||||||
config.domain=Domain
|
|
||||||
config.offline_mode=Offline Mode
|
|
||||||
config.disable_router_log=Disable Router Log
|
|
||||||
config.run_user=Run User
|
config.run_user=Run User
|
||||||
config.run_mode=Run Mode
|
config.run_mode=Run Mode
|
||||||
config.git_version=Git Version
|
config.server.external_url=External URL
|
||||||
config.static_file_root_path=Static File Root Path
|
|
||||||
config.log_file_root_path=Log File Root Path
|
config.server.domain=Domain
|
||||||
config.reverse_auth_user=Reverse Authentication User
|
|
||||||
|
config.server.protocol=Protocol
|
||||||
|
config.server.http_addr=HTTP address
|
||||||
|
|
||||||
|
config.server.http_port=HTTP port
|
||||||
|
|
||||||
|
config.server.cert_file=Certificate file
|
||||||
|
|
||||||
|
config.server.key_file=Key file
|
||||||
|
|
||||||
|
config.server.tls_min_version=Minimum TLS version
|
||||||
|
|
||||||
|
config.server.unix_socket_permission=Unix socket permission
|
||||||
|
|
||||||
|
config.server.local_root_url=Local root URL
|
||||||
|
|
||||||
|
config.server.offline_mode=Offline mode
|
||||||
|
|
||||||
|
config.server.disable_router_log=Disable router log
|
||||||
|
|
||||||
|
config.server.enable_gzip=Enable Gzip
|
||||||
|
|
||||||
|
config.server.app_data_path=Application data path
|
||||||
|
|
||||||
|
config.server.load_assets_from_disk=Load assets from disk
|
||||||
|
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
|
|
||||||
config.ssh_config=SSH Configuration
|
config.ssh_config=SSH Configuration
|
||||||
config.ssh_enabled=Enabled
|
config.ssh.enabled=Enabled
|
||||||
config.ssh_start_builtin_server=Start Builtin Server
|
config.ssh.domain=Exposed domain
|
||||||
config.ssh_domain=Domain
|
config.ssh.port=Exposed port
|
||||||
config.ssh_port=Port
|
config.ssh.root_path=Root path
|
||||||
config.ssh_listen_port=Listen Port
|
config.ssh.keygen_path=Keygen path
|
||||||
config.ssh_root_path=Root Path
|
config.ssh.key_test_path=Key test path
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Minimum key size check
|
||||||
config.ssh_key_test_path=Key Test Path
|
|
||||||
config.ssh_keygen_path=Keygen ('ssh-keygen') Path
|
config.ssh.minimum_key_sizes=Minimum key sizes
|
||||||
config.ssh_minimum_key_size_check=Minimum Key Size Check
|
|
||||||
config.ssh_minimum_key_sizes=Minimum Key Sizes
|
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
|
||||||
|
|
||||||
|
config.ssh.start_builtin_server=Start builtin server
|
||||||
|
|
||||||
|
config.ssh.listen_host=Listen host
|
||||||
|
|
||||||
|
config.ssh.listen_port=Listen port
|
||||||
|
|
||||||
|
config.ssh.server_ciphers=Server ciphers
|
||||||
|
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=Repository Configuration
|
config.repo_config=Repository Configuration
|
||||||
config.repo_root_path=Repository Root Path
|
config.repo.root_path=Root path
|
||||||
config.script_type=Script Type
|
|
||||||
config.repo_force_private=Force Private
|
|
||||||
config.max_creation_limit=Max Creation Limit
|
|
||||||
config.preferred_licenses=Preferred Licences
|
|
||||||
config.disable_http_git=Disable HTTP Git
|
|
||||||
config.enable_local_path_migration=Enable Local Path Migration
|
|
||||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
|
||||||
|
|
||||||
config.http_config=HTTP Configuration
|
config.repo.script_type=Script type
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
|
||||||
|
config.repo.ansi_chatset=ANSI charset
|
||||||
|
|
||||||
|
config.repo.force_private=Force private
|
||||||
|
config.repo.max_creation_limit=Max creation limit
|
||||||
|
config.repo.preferred_licenses=Preferred licenses
|
||||||
|
config.repo.disable_http_git=Disable HTTP Git
|
||||||
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Upload enabled
|
||||||
|
config.repo.upload.temp_path=Upload temporary path
|
||||||
|
config.repo.upload.allowed_types=Upload allowed types
|
||||||
|
config.repo.upload.file_max_size=Upload file size limit
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=Database Configuration
|
config.db_config=Database Configuration
|
||||||
config.db_type=Type
|
config.db.type=Type
|
||||||
config.db_host=Host
|
config.db.host=Host
|
||||||
config.db_name=Name
|
config.db.name=Name
|
||||||
config.db_user=User
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=SSL Mode
|
config.db.schema_helper=(for "postgres" only)
|
||||||
config.db_ssl_mode_helper=(for "postgres" only)
|
config.db.user=User
|
||||||
config.db_path=Path
|
config.db.ssl_mode=SSL mode
|
||||||
config.db_path_helper=(for "sqlite3" and "tidb")
|
config.db.ssl_mode_helper=(for "postgres" only)
|
||||||
|
config.db.path=Path
|
||||||
|
config.db.path_helper=(for "sqlite3"only)
|
||||||
|
config.db.max_open_conns=Maximum open connections
|
||||||
|
config.db.max_idle_conns=Maximum idle connections
|
||||||
|
|
||||||
config.service_config=Service Configuration
|
config.security_config=Security configuration
|
||||||
config.register_email_confirm=Require Email Confirmation
|
config.security.login_remember_days=Login remember days
|
||||||
config.disable_register=Disable Registration
|
config.security.cookie_remember_name=Remember cookie
|
||||||
config.show_registration_button=Show Register Button
|
config.security.cookie_username=Username cookie
|
||||||
config.require_sign_in_view=Require Sign In View
|
config.security.cookie_secure=Enable secure cookie
|
||||||
config.mail_notify=Mail Notification
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=Disable Minimum Key Size Check
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=Enable Captcha
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=Active Code Lives
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=Reset Password Code Lives
|
|
||||||
|
|
||||||
config.webhook_config=Webhook Configuration
|
config.email_config=Email configuration
|
||||||
config.queue_length=Queue Length
|
config.email.enabled=Enabled
|
||||||
config.deliver_timeout=Deliver Timeout
|
|
||||||
config.skip_tls_verify=Skip TLS Verify
|
|
||||||
|
|
||||||
config.mailer_config=Mailer Configuration
|
config.email.subject_prefix=Subject prefix
|
||||||
config.mailer_enabled=Enabled
|
|
||||||
config.mailer_disable_helo=Disable HELO
|
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
|
||||||
config.mailer_host=Host
|
|
||||||
config.mailer_user=User
|
|
||||||
config.send_test_mail=Send Test Email
|
|
||||||
config.test_mail_failed=Fail to send test email to '%s': %v
|
|
||||||
config.test_mail_sent=Test email has been sent to '%s'.
|
|
||||||
|
|
||||||
config.oauth_config=OAuth Configuration
|
config.email.host=Host
|
||||||
config.oauth_enabled=Enabled
|
|
||||||
|
|
||||||
config.cache_config=Cache Configuration
|
config.email.from=From
|
||||||
config.cache_adapter=Cache Adapter
|
|
||||||
config.cache_interval=Cache Interval
|
config.email.user=User
|
||||||
config.cache_conn=Cache Connection
|
config.email.disable_helo=Disable HELO
|
||||||
|
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
|
||||||
|
config.email.skip_verify=Skip certificate verify
|
||||||
|
|
||||||
|
config.email.use_certificate=Use custom certificate
|
||||||
|
|
||||||
|
config.email.cert_file=Certificate file
|
||||||
|
|
||||||
|
config.email.key_file=Key file
|
||||||
|
|
||||||
|
config.email.use_plain_text=Use plain text
|
||||||
|
|
||||||
|
config.email.add_plain_text_alt=Add plain text alternative
|
||||||
|
|
||||||
|
config.email.send_test_mail=Send test email
|
||||||
|
|
||||||
|
config.email.test_mail_failed=Failed to send test email to '%s': %v
|
||||||
|
|
||||||
|
config.email.test_mail_sent=Test email has been sent to '%s'.
|
||||||
|
|
||||||
|
|
||||||
|
config.auth_config=Authentication configuration
|
||||||
|
|
||||||
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
|
config.auth.activate_code_lives=Activate code lives
|
||||||
|
|
||||||
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
|
|
||||||
|
config.auth.require_email_confirm=Require email confirmation
|
||||||
|
|
||||||
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
|
|
||||||
|
config.auth.disable_registration=Disable registration
|
||||||
|
|
||||||
|
config.auth.enable_registration_captcha=Enable registration captcha
|
||||||
|
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
|
config.user_config=User configuration
|
||||||
|
config.user.enable_email_notify=Enable email notification
|
||||||
|
|
||||||
config.session_config=Session Configuration
|
config.session_config=Session Configuration
|
||||||
config.session_provider=Session Provider
|
config.session.provider=Provider
|
||||||
config.provider_config=Provider Config
|
config.session.provider_config=Provider config
|
||||||
config.cookie_name=Cookie Name
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=Enable Set Cookie
|
config.session.https_only=HTTPS only
|
||||||
config.gc_interval_time=GC Interval Time
|
config.session.gc_interval=GC interval
|
||||||
config.session_life_time=Session Life Time
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=HTTPS Only
|
config.session.csrf_cookie_name=CSRF cookie
|
||||||
config.cookie_life_time=Cookie Life Time
|
|
||||||
|
config.cache_config=Cache Configuration
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC interval
|
||||||
|
config.cache.host=Host
|
||||||
|
|
||||||
|
config.http_config=HTTP Configuration
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Enabled
|
||||||
|
config.attachment.path=Path
|
||||||
|
config.attachment.allowed_types=Allowed types
|
||||||
|
config.attachment.max_size=Size limit
|
||||||
|
config.attachment.max_files=Files limit
|
||||||
|
|
||||||
|
config.release_config=Release configuration
|
||||||
|
config.release.attachment.enabled=Attachment enabled
|
||||||
|
config.release.attachment.allowed_types=Attachment allowed types
|
||||||
|
config.release.attachment.max_size=Attachment size limit
|
||||||
|
config.release.attachment.max_files=Attachment files limit
|
||||||
|
|
||||||
config.picture_config=Picture Configuration
|
config.picture_config=Picture Configuration
|
||||||
config.picture_service=Picture Service
|
config.picture.avatar_upload_path=User avatar upload path
|
||||||
config.disable_gravatar=Disable Gravatar
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=Enable Federated Avatars
|
config.picture.gravatar_source=Gravatar source
|
||||||
|
config.picture.disable_gravatar=Disable Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Mirror configuration
|
||||||
|
config.mirror.default_interval=Default interval
|
||||||
|
|
||||||
|
config.webhook_config=Webhook Configuration
|
||||||
|
config.webhook.types=Types
|
||||||
|
config.webhook.deliver_timeout=Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify=Skip TLS verify
|
||||||
|
|
||||||
config.git_config=Git Configuration
|
config.git_config=Git Configuration
|
||||||
config.git_disable_diff_highlight=Disable Diff Syntax Highlight
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
config.git_max_diff_lines=Max Diff Lines (for a single file)
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=Max Diff Characters (for a single line)
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=Max Diff Files (to be shown)
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=GC Arguments
|
config.git.gc_args=GC arguments
|
||||||
config.git_migrate_timeout=Migration Timeout
|
config.git.migrate_timeout=Migration timeout
|
||||||
config.git_mirror_timeout=Mirror Update Timeout
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
config.git_clone_timeout=Clone Operation Timeout
|
config.git.clone_timeout=Clone timeout
|
||||||
config.git_pull_timeout=Pull Operation Timeout
|
config.git.pull_timeout=Pull timeout
|
||||||
config.git_gc_timeout=GC Operation Timeout
|
config.git.gc_timeout=GC timeout
|
||||||
|
|
||||||
|
config.lfs_config=LFS configuration
|
||||||
|
config.lfs.storage=Storage
|
||||||
|
config.lfs.objects_path=Objects path
|
||||||
|
|
||||||
config.log_config=Log Configuration
|
config.log_config=Log Configuration
|
||||||
|
config.log_file_root_path=Log File Root Path
|
||||||
config.log_mode=Mode
|
config.log_mode=Mode
|
||||||
config.log_options=Options
|
config.log_options=Options
|
||||||
|
|
||||||
@@ -1284,7 +1460,6 @@ notices.delete_success=System notices have been deleted successfully.
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=created repository <a href="%s">%s</a>
|
create_repo=created repository <a href="%s">%s</a>
|
||||||
fork_repo=forked a repository to <a href="%s">%s</a>
|
|
||||||
rename_repo=renamed repository from <code>%[1]s</code> to <a href="%[2]s">%[3]s</a>
|
rename_repo=renamed repository from <code>%[1]s</code> to <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo=pushed to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
commit_repo=pushed to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=View comparison for these %d commits
|
compare_commits=View comparison for these %d commits
|
||||||
@@ -1301,6 +1476,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
|
|||||||
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=pushed tag <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a>
|
push_tag=pushed tag <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a>
|
||||||
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
|
fork_repo=forked a repository to <a href="%s">%s</a>
|
||||||
|
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
|
||||||
|
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=ago
|
ago=ago
|
||||||
@@ -1322,6 +1501,7 @@ months=%d months %s
|
|||||||
years=%d years %s
|
years=%d years %s
|
||||||
raw_seconds=seconds
|
raw_seconds=seconds
|
||||||
raw_minutes=minutes
|
raw_minutes=minutes
|
||||||
|
raw_hours=hours
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Drop files here or click to upload.
|
default_message=Drop files here or click to upload.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out = Sign Out
|
|||||||
sign_up = Sign Up
|
sign_up = Sign Up
|
||||||
register = Register
|
register = Register
|
||||||
website = Website
|
website = Website
|
||||||
version = Version
|
|
||||||
page = Page
|
page = Page
|
||||||
template = Template
|
template = Template
|
||||||
language = Language
|
language = Language
|
||||||
@@ -44,17 +43,22 @@ issues = Issues
|
|||||||
|
|
||||||
cancel = Cancel
|
cancel = Cancel
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found = Page Not Found
|
||||||
|
internal_server_error = Internal Server Error
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install = Installation
|
install = Installation
|
||||||
title = Install Steps For First-time Run
|
title = Install Steps For First-time Run
|
||||||
docker_helper = If you're running Gogs inside Docker, please read <a target="_blank" href="%s">Guidelines</a> carefully before you change anything in this page!
|
docker_helper = If you're running Gogs inside Docker, please read <a target="_blank" href="%s">Guidelines</a> carefully before you change anything in this page!
|
||||||
requite_db_desc = Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB.
|
requite_db_desc = Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol).
|
||||||
db_title = Database Settings
|
db_title = Database Settings
|
||||||
db_type = Database Type
|
db_type = Database Type
|
||||||
host = Host
|
host = Host
|
||||||
user = User
|
user = User
|
||||||
password = Password
|
password = Password
|
||||||
db_name = Database Name
|
db_name = Database Name
|
||||||
|
db_schema = Schema
|
||||||
db_helper = Please use INNODB engine with utf8_general_ci charset for MySQL.
|
db_helper = Please use INNODB engine with utf8_general_ci charset for MySQL.
|
||||||
ssl_mode = SSL Mode
|
ssl_mode = SSL Mode
|
||||||
path = Path
|
path = Path
|
||||||
@@ -84,6 +88,7 @@ log_root_path = Log Path
|
|||||||
log_root_path_helper = Directory to write log files to.
|
log_root_path_helper = Directory to write log files to.
|
||||||
enable_console_mode = Enable Console Mode
|
enable_console_mode = Enable Console Mode
|
||||||
enable_console_mode_popup = In addition to file mode, also print logs to console.
|
enable_console_mode_popup = In addition to file mode, also print logs to console.
|
||||||
|
default_branch = Default Branch
|
||||||
|
|
||||||
optional_title = Optional Settings
|
optional_title = Optional Settings
|
||||||
email_title = Email Service Settings
|
email_title = Email Service Settings
|
||||||
@@ -107,21 +112,21 @@ enable_captcha = Enable Captcha
|
|||||||
enable_captcha_popup = Require validate captcha for user self-registration.
|
enable_captcha_popup = Require validate captcha for user self-registration.
|
||||||
require_sign_in_view = Enable Require Sign In to View Pages
|
require_sign_in_view = Enable Require Sign In to View Pages
|
||||||
require_sign_in_view_popup = Only signed in users can view pages, visitors will only be able to see sign in/up pages.
|
require_sign_in_view_popup = Only signed in users can view pages, visitors will only be able to see sign in/up pages.
|
||||||
admin_setting_desc = You do not have to create an admin account right now, user whoever ID=1 will gain admin access automatically.
|
admin_setting_desc = You don't need to create an admin account right now. The first user in the users table will be automatically granted admin access.
|
||||||
admin_title = Admin Account Settings
|
admin_title = Admin Account Settings
|
||||||
admin_name = Username
|
admin_name = Username
|
||||||
admin_password = Password
|
admin_password = Password
|
||||||
confirm_password = Confirm Password
|
confirm_password = Confirm Password
|
||||||
admin_email = Admin Email
|
admin_email = Admin Email
|
||||||
install_gogs = Install Gogs
|
install_gogs = Install Gogs
|
||||||
test_git_failed = Fail to test 'git' command: %v
|
test_git_failed = Failed to test 'git' command: %v
|
||||||
sqlite3_not_available = Your release version does not support SQLite3, please download the official binary version from %s, NOT the gobuild version.
|
|
||||||
invalid_db_setting = Database setting is not correct: %v
|
invalid_db_setting = Database setting is not correct: %v
|
||||||
invalid_repo_path = Repository root path is invalid: %v
|
invalid_repo_path = Repository root path is invalid: %v
|
||||||
run_user_not_match = Run user isn't the current user: %s -> %s
|
run_user_not_match = Run user isn't the current user: %s -> %s
|
||||||
smtp_host_missing_port = SMTP Host is missing port in address.
|
smtp_host_missing_port = SMTP Host port missing from address.
|
||||||
invalid_smtp_from = SMTP From field is not valid: %v
|
invalid_smtp_from = SMTP From field is invalid: %v
|
||||||
save_config_failed = Fail to save configuration: %v
|
save_config_failed = Failed to save configuration: %v
|
||||||
|
init_failed = Failed to initialize application: %v
|
||||||
invalid_admin_setting = Admin account setting is invalid: %v
|
invalid_admin_setting = Admin account setting is invalid: %v
|
||||||
install_success = Welcome! We're glad that you chose Gogs, have fun and take care.
|
install_success = Welcome! We're glad that you chose Gogs, have fun and take care.
|
||||||
invalid_log_root_path = Log root path is invalid: %v
|
invalid_log_root_path = Log root path is invalid: %v
|
||||||
@@ -151,6 +156,8 @@ register_hepler_msg = Already have an account? Sign in now!
|
|||||||
social_register_hepler_msg = Already have an account? Bind now!
|
social_register_hepler_msg = Already have an account? Bind now!
|
||||||
disable_register_prompt = Sorry, registration has been disabled. Please contact the site administrator.
|
disable_register_prompt = Sorry, registration has been disabled. Please contact the site administrator.
|
||||||
disable_register_mail = Sorry, email services are disabled. Please contact the site administrator.
|
disable_register_mail = Sorry, email services are disabled. Please contact the site administrator.
|
||||||
|
auth_source = Authentication Source
|
||||||
|
local = Local
|
||||||
remember_me = Remember Me
|
remember_me = Remember Me
|
||||||
forgot_password= Forgot Password
|
forgot_password= Forgot Password
|
||||||
forget_password = Forgot password?
|
forget_password = Forgot password?
|
||||||
@@ -158,15 +165,15 @@ sign_up_now = Need an account? Sign up now.
|
|||||||
confirmation_mail_sent_prompt = A new confirmation email has been sent to <b>%s</b>, please check your inbox within the next %d hours to complete the registration process.
|
confirmation_mail_sent_prompt = A new confirmation email has been sent to <b>%s</b>, please check your inbox within the next %d hours to complete the registration process.
|
||||||
active_your_account = Activate Your Account
|
active_your_account = Activate Your Account
|
||||||
prohibit_login = Login Prohibited
|
prohibit_login = Login Prohibited
|
||||||
prohibit_login_desc = Your account is prohibited to login, please contact site admin.
|
prohibit_login_desc = Your account is prohibited from logging in. Please contact the site admin.
|
||||||
resent_limit_prompt = Sorry, you already requested an activation email recently. Please wait 3 minutes then try again.
|
resent_limit_prompt = Sorry, you already requested an activation email recently. Please wait 3 minutes then try again.
|
||||||
has_unconfirmed_mail = Hi %s, you have an unconfirmed email address (<b>%s</b>). If you haven't received a confirmation email or need to resend a new one, please click on the button below.
|
has_unconfirmed_mail = Hi %s, you have an unconfirmed email address (<b>%s</b>). If you haven't received a confirmation email or need to receive a new one, please click the button below.
|
||||||
resend_mail = Click here to resend your activation email
|
resend_mail = Click here to resend your activation email
|
||||||
send_reset_mail = Click here to (re)send your password reset email
|
send_reset_mail = Click here to (re)send your password reset email
|
||||||
reset_password = Reset Your Password
|
reset_password = Reset Your Password
|
||||||
invalid_code = Sorry, your confirmation code has expired or not valid.
|
invalid_code = Sorry, your confirmation code has expired or not valid.
|
||||||
reset_password_helper = Click here to reset your password
|
reset_password_helper = Click here to reset your password
|
||||||
password_too_short = Password length cannot be less then 6.
|
password_too_short = Password length must be at least 6 characters.
|
||||||
non_local_account = Non-local accounts cannot change passwords through Gogs.
|
non_local_account = Non-local accounts cannot change passwords through Gogs.
|
||||||
|
|
||||||
login_two_factor = Two-factor Authentication
|
login_two_factor = Two-factor Authentication
|
||||||
@@ -175,7 +182,7 @@ login_two_factor_enter_recovery_code = Enter a two-factor recovery code
|
|||||||
login_two_factor_recovery = Two-factor Recovery
|
login_two_factor_recovery = Two-factor Recovery
|
||||||
login_two_factor_recovery_code = Recovery Code
|
login_two_factor_recovery_code = Recovery Code
|
||||||
login_two_factor_enter_passcode = Enter a two-factor passcode
|
login_two_factor_enter_passcode = Enter a two-factor passcode
|
||||||
login_two_factor_invalid_recovery_code = Recovery code has been used or does not valid.
|
login_two_factor_invalid_recovery_code = Recovery code already used or invalid.
|
||||||
|
|
||||||
[mail]
|
[mail]
|
||||||
activate_account = Please activate your account
|
activate_account = Please activate your account
|
||||||
@@ -210,10 +217,10 @@ TreeName = File path
|
|||||||
Content = Content
|
Content = Content
|
||||||
|
|
||||||
require_error = ` cannot be empty.`
|
require_error = ` cannot be empty.`
|
||||||
alpha_dash_error = ` must be valid alpha or numeric or dash(-_) characters.`
|
alpha_dash_error = ` must be alphanumeric or dash(-_) characters.`
|
||||||
alpha_dash_dot_error = ` must be valid alpha or numeric or dash(-_) or dot characters.`
|
alpha_dash_dot_error = ` must be alphanumeric or dash(-_) or dot characters.`
|
||||||
alpha_dash_dot_slash_error = ` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
|
alpha_dash_dot_slash_error = ` must be alphanumeric, dash (-_), dot or slash characters.`
|
||||||
size_error = ` must be size %s.`
|
size_error = ` size must be %s.`
|
||||||
min_size_error = ` must contain at least %s characters.`
|
min_size_error = ` must contain at least %s characters.`
|
||||||
max_size_error = ` must contain at most %s characters.`
|
max_size_error = ` must contain at most %s characters.`
|
||||||
email_error = ` is not a valid email address.`
|
email_error = ` is not a valid email address.`
|
||||||
@@ -229,14 +236,15 @@ org_name_been_taken = Organization name has already been taken.
|
|||||||
team_name_been_taken = Team name has already been taken.
|
team_name_been_taken = Team name has already been taken.
|
||||||
email_been_used = Email address has already been used.
|
email_been_used = Email address has already been used.
|
||||||
username_password_incorrect = Username or password is not correct.
|
username_password_incorrect = Username or password is not correct.
|
||||||
|
auth_source_mismatch = The authentication source selected is not associated with the user.
|
||||||
enterred_invalid_repo_name = Please make sure that the repository name you entered is correct.
|
enterred_invalid_repo_name = Please make sure that the repository name you entered is correct.
|
||||||
enterred_invalid_owner_name = Please make sure that the owner name you entered is correct.
|
enterred_invalid_owner_name = Please make sure that the owner name you entered is correct.
|
||||||
enterred_invalid_password = Please make sure the that password you entered is correct.
|
enterred_invalid_password = Please make sure the that password you entered is correct.
|
||||||
user_not_exist = Given user does not exist.
|
user_not_exist = Given user does not exist.
|
||||||
last_org_owner = Removing the last user from a owner team isn't allowed, as there must always be at least one owner in any given organization.
|
last_org_owner = Removing the last remaining user from an owner team is not allowed, as an organization must always have at least one owner.
|
||||||
|
|
||||||
invalid_ssh_key = Sorry, we're not able to verify your SSH key: %s
|
invalid_ssh_key = Sorry, verification of your SSH key failed: %s
|
||||||
unable_verify_ssh_key = Gogs cannot verify your SSH key, but we assume that it is valid, please double-check it.
|
unable_verify_ssh_key = Gogs cannot verify your SSH key, but it's assumed to be valid. Please double-check it.
|
||||||
auth_failed = Authentication failed: %v
|
auth_failed = Authentication failed: %v
|
||||||
|
|
||||||
still_own_repo = Your account still has ownership over at least one repository, you have to delete or transfer them first.
|
still_own_repo = Your account still has ownership over at least one repository, you have to delete or transfer them first.
|
||||||
@@ -256,8 +264,7 @@ following = Following
|
|||||||
follow = Follow
|
follow = Follow
|
||||||
unfollow = Unfollow
|
unfollow = Unfollow
|
||||||
|
|
||||||
form.name_reserved = Username '%s' is reserved.
|
form.name_not_allowed = User name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed = Username pattern '%s' is not allowed.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile = Profile
|
profile = Profile
|
||||||
@@ -297,7 +304,7 @@ old_password = Current Password
|
|||||||
new_password = New Password
|
new_password = New Password
|
||||||
retype_new_password = Retype New Password
|
retype_new_password = Retype New Password
|
||||||
password_incorrect = Current password is not correct.
|
password_incorrect = Current password is not correct.
|
||||||
change_password_success = Your password was successfully changed. You can now sign using this new password.
|
change_password_success = Your password was successfully changed and can now be used for logging in.
|
||||||
password_change_disabled = Non-local type users are not allowed to change their password.
|
password_change_disabled = Non-local type users are not allowed to change their password.
|
||||||
|
|
||||||
emails = Email Addresses
|
emails = Email Addresses
|
||||||
@@ -309,6 +316,7 @@ delete_email = Delete
|
|||||||
email_deletion = Email Deletion
|
email_deletion = Email Deletion
|
||||||
email_deletion_desc = Deleting this email address will remove related information from your account. Do you want to continue?
|
email_deletion_desc = Deleting this email address will remove related information from your account. Do you want to continue?
|
||||||
email_deletion_success = Email has been deleted successfully!
|
email_deletion_success = Email has been deleted successfully!
|
||||||
|
email_deletion_primary = Cannot delete primary email address.
|
||||||
add_new_email = Add new email address
|
add_new_email = Add new email address
|
||||||
add_email = Add Email
|
add_email = Add Email
|
||||||
add_email_confirmation_sent = A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process.
|
add_email_confirmation_sent = A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process.
|
||||||
@@ -348,6 +356,7 @@ two_factor_or_enter_secret = Or enter the secret:
|
|||||||
two_factor_then_enter_passcode = Then enter passcode:
|
two_factor_then_enter_passcode = Then enter passcode:
|
||||||
two_factor_verify = Verify
|
two_factor_verify = Verify
|
||||||
two_factor_invalid_passcode = The passcode you entered is not valid, please try again!
|
two_factor_invalid_passcode = The passcode you entered is not valid, please try again!
|
||||||
|
two_factor_reused_passcode = The passcode you entered has already been used, please try another one!
|
||||||
two_factor_enable_error = Enable Two-factor authentication failed: %v
|
two_factor_enable_error = Enable Two-factor authentication failed: %v
|
||||||
two_factor_enable_success = Two-factor authentication has enabled for your account successfully!
|
two_factor_enable_success = Two-factor authentication has enabled for your account successfully!
|
||||||
two_factor_recovery_codes_title = Two-factor Authentication Recovery Codes
|
two_factor_recovery_codes_title = Two-factor Authentication Recovery Codes
|
||||||
@@ -362,6 +371,7 @@ two_factor_disable_success = Two-factor authentication has disabled successfully
|
|||||||
manage_access_token = Manage Personal Access Tokens
|
manage_access_token = Manage Personal Access Tokens
|
||||||
generate_new_token = Generate New Token
|
generate_new_token = Generate New Token
|
||||||
tokens_desc = Tokens you have generated that can be used to access the Gogs APIs.
|
tokens_desc = Tokens you have generated that can be used to access the Gogs APIs.
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc = Each token will have full access to your account.
|
new_token_desc = Each token will have full access to your account.
|
||||||
token_name = Token Name
|
token_name = Token Name
|
||||||
generate_token = Generate Token
|
generate_token = Generate Token
|
||||||
@@ -370,6 +380,7 @@ delete_token = Delete
|
|||||||
access_token_deletion = Personal Access Token Deletion
|
access_token_deletion = Personal Access Token Deletion
|
||||||
access_token_deletion_desc = Delete this personal access token will remove all related accesses of application. Do you want to continue?
|
access_token_deletion_desc = Delete this personal access token will remove all related accesses of application. Do you want to continue?
|
||||||
delete_token_success = Personal access token has been removed successfully! Don't forget to update your application as well.
|
delete_token_success = Personal access token has been removed successfully! Don't forget to update your application as well.
|
||||||
|
token_name_exists = Token with same name already exists.
|
||||||
|
|
||||||
orgs.none = You are not a member of any organizations.
|
orgs.none = You are not a member of any organizations.
|
||||||
orgs.leave_title = Leave organization
|
orgs.leave_title = Leave organization
|
||||||
@@ -391,7 +402,9 @@ owner = Owner
|
|||||||
repo_name = Repository Name
|
repo_name = Repository Name
|
||||||
repo_name_helper = A good repository name is usually composed of short, memorable and unique keywords.
|
repo_name_helper = A good repository name is usually composed of short, memorable and unique keywords.
|
||||||
visibility = Visibility
|
visibility = Visibility
|
||||||
|
unlisted = Unlisted
|
||||||
visiblity_helper = This repository is <span class="ui red text">Private</span>
|
visiblity_helper = This repository is <span class="ui red text">Private</span>
|
||||||
|
unlisted_helper = This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced = Site admin has forced all new repositories to be <span class="ui red text">Private</span>
|
visiblity_helper_forced = Site admin has forced all new repositories to be <span class="ui red text">Private</span>
|
||||||
visiblity_fork_helper = (Change of this value will affect all forks)
|
visiblity_fork_helper = (Change of this value will affect all forks)
|
||||||
clone_helper = Need help cloning? Visit <a target="_blank" href="%s">Help</a>!
|
clone_helper = Need help cloning? Visit <a target="_blank" href="%s">Help</a>!
|
||||||
@@ -417,10 +430,11 @@ mirror_last_synced = Last Synced
|
|||||||
watchers = Watchers
|
watchers = Watchers
|
||||||
stargazers = Stargazers
|
stargazers = Stargazers
|
||||||
forks = Forks
|
forks = Forks
|
||||||
|
repo_description_helper = Description of repository. Maximum 512 characters length.
|
||||||
|
repo_description_length = Available characters
|
||||||
|
|
||||||
form.reach_limit_of_creation = The owner has reached maximum creation limit of %d repositories.
|
form.reach_limit_of_creation = The owner has reached maximum creation limit of %d repositories.
|
||||||
form.name_reserved = Repository name '%s' is reserved.
|
form.name_not_allowed = Repository name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed = Repository name pattern '%s' is not allowed.
|
|
||||||
|
|
||||||
need_auth = Need Authorization
|
need_auth = Need Authorization
|
||||||
migrate_type = Migration Type
|
migrate_type = Migration Type
|
||||||
@@ -431,6 +445,7 @@ migrate.clone_address_desc = This can be a HTTP/HTTPS/GIT URL.
|
|||||||
migrate.clone_address_desc_import_local = You're also allowed to migrate a repository by local server path.
|
migrate.clone_address_desc_import_local = You're also allowed to migrate a repository by local server path.
|
||||||
migrate.permission_denied = You are not allowed to import local repositories.
|
migrate.permission_denied = You are not allowed to import local repositories.
|
||||||
migrate.invalid_local_path = Invalid local path, it does not exist or not a directory.
|
migrate.invalid_local_path = Invalid local path, it does not exist or not a directory.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address = Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed = Migration failed: %v
|
migrate.failed = Migration failed: %v
|
||||||
|
|
||||||
mirror_from = mirror of
|
mirror_from = mirror of
|
||||||
@@ -478,6 +493,8 @@ branches.stale_branches = Stale Branches
|
|||||||
branches.all = All Branches
|
branches.all = All Branches
|
||||||
branches.updated_by = Updated %[1]s by %[2]s
|
branches.updated_by = Updated %[1]s by %[2]s
|
||||||
branches.change_default_branch = Change Default Branch
|
branches.change_default_branch = Change Default Branch
|
||||||
|
branches.default_deletion_not_allowed = Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed = Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file = New file
|
editor.new_file = New file
|
||||||
editor.upload_file = Upload file
|
editor.upload_file = Upload file
|
||||||
@@ -514,6 +531,7 @@ editor.file_changed_while_editing = File content has been changed since you star
|
|||||||
editor.file_already_exists = A file with name '%s' already exists in this repository.
|
editor.file_already_exists = A file with name '%s' already exists in this repository.
|
||||||
editor.no_changes_to_show = There are no changes to show.
|
editor.no_changes_to_show = There are no changes to show.
|
||||||
editor.fail_to_update_file = Failed to update/create file '%s' with error: %v
|
editor.fail_to_update_file = Failed to update/create file '%s' with error: %v
|
||||||
|
editor.fail_to_delete_file = Failed to delete file '%s' with error: %v
|
||||||
editor.add_subdir = Add subdirectory...
|
editor.add_subdir = Add subdirectory...
|
||||||
editor.unable_to_upload_files = Failed to upload files to '%s' with error: %v
|
editor.unable_to_upload_files = Failed to upload files to '%s' with error: %v
|
||||||
editor.upload_files_to_dir = Upload files to '%s'
|
editor.upload_files_to_dir = Upload files to '%s'
|
||||||
@@ -634,6 +652,7 @@ pulls.cannot_auto_merge_desc = This pull request can't be merged automatically b
|
|||||||
pulls.cannot_auto_merge_helper = Please merge manually in order to resolve the conflicts.
|
pulls.cannot_auto_merge_helper = Please merge manually in order to resolve the conflicts.
|
||||||
pulls.create_merge_commit = Create a merge commit
|
pulls.create_merge_commit = Create a merge commit
|
||||||
pulls.rebase_before_merging = Rebase before merging
|
pulls.rebase_before_merging = Rebase before merging
|
||||||
|
pulls.commit_description = Commit Description
|
||||||
pulls.merge_pull_request = Merge Pull Request
|
pulls.merge_pull_request = Merge Pull Request
|
||||||
pulls.open_unmerged_pull_exists = `You can't perform reopen operation because there is already an open pull request (#%d) from same repository with same merge information and is waiting for merging.`
|
pulls.open_unmerged_pull_exists = `You can't perform reopen operation because there is already an open pull request (#%d) from same repository with same merge information and is waiting for merging.`
|
||||||
pulls.delete_branch = Delete Branch
|
pulls.delete_branch = Delete Branch
|
||||||
@@ -738,7 +757,7 @@ settings.tracker_issue_style = External Issue Tracker Naming Style:
|
|||||||
settings.tracker_issue_style.numeric = Numeric
|
settings.tracker_issue_style.numeric = Numeric
|
||||||
settings.tracker_issue_style.alphanumeric = Alphanumeric
|
settings.tracker_issue_style.alphanumeric = Alphanumeric
|
||||||
settings.tracker_url_format_desc = You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index.
|
settings.tracker_url_format_desc = You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index.
|
||||||
settings.pulls_desc = Enable pull requests to accept public contributions
|
settings.pulls_desc = Enable pull requests to accept contributions between repositories and branches
|
||||||
settings.pulls.ignore_whitespace = Ignore changes in whitespace
|
settings.pulls.ignore_whitespace = Ignore changes in whitespace
|
||||||
settings.pulls.allow_rebase_merge = Allow use rebase to merge commits
|
settings.pulls.allow_rebase_merge = Allow use rebase to merge commits
|
||||||
settings.danger_zone = Danger Zone
|
settings.danger_zone = Danger Zone
|
||||||
@@ -777,8 +796,10 @@ settings.collaborator_deletion_desc = This user will no longer have collaboratio
|
|||||||
settings.remove_collaborator_success = Collaborator has been removed.
|
settings.remove_collaborator_success = Collaborator has been removed.
|
||||||
settings.search_user_placeholder = Search user...
|
settings.search_user_placeholder = Search user...
|
||||||
settings.org_not_allowed_to_be_collaborator = Organization is not allowed to be added as a collaborator.
|
settings.org_not_allowed_to_be_collaborator = Organization is not allowed to be added as a collaborator.
|
||||||
settings.add_webhook = Add Webhook
|
settings.hooks_desc = Webhooks are much like basic HTTP POST event triggers. Whenever something occurs in Gogs, we will handle the notification to the target host you specify.
|
||||||
settings.hooks_desc = Webhooks are much like basic HTTP POST event triggers. Whenever something occurs in Gogs, we will handle the notification to the target host you specify. Learn more in this <a target="_blank" href="%s">Webhooks Guide</a>.
|
settings.webhooks.add_new = Add a new webhook:
|
||||||
|
settings.webhooks.choose_a_type = Choose a type...
|
||||||
|
settings.add_webhook = Add webhook
|
||||||
settings.webhook_deletion = Delete Webhook
|
settings.webhook_deletion = Delete Webhook
|
||||||
settings.webhook_deletion_desc = Delete this webhook will remove its information and all delivery history. Do you want to continue?
|
settings.webhook_deletion_desc = Delete this webhook will remove its information and all delivery history. Do you want to continue?
|
||||||
settings.webhook_deletion_success = Webhook has been deleted successfully!
|
settings.webhook_deletion_success = Webhook has been deleted successfully!
|
||||||
@@ -792,6 +813,8 @@ settings.webhook.response = Response
|
|||||||
settings.webhook.headers = Headers
|
settings.webhook.headers = Headers
|
||||||
settings.webhook.payload = Payload
|
settings.webhook.payload = Payload
|
||||||
settings.webhook.body = Body
|
settings.webhook.body = Body
|
||||||
|
settings.webhook.err_cannot_parse_payload_url = Cannot parse payload URL: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address = Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc = Git Hooks are powered by Git itself, you can edit files of supported hooks in the list below to perform custom operations.
|
settings.githooks_desc = Git Hooks are powered by Git itself, you can edit files of supported hooks in the list below to perform custom operations.
|
||||||
settings.githook_edit_desc = If the hook is inactive, sample content will be presented. Leaving content to an empty value will disable this hook.
|
settings.githook_edit_desc = If the hook is inactive, sample content will be presented. Leaving content to an empty value will disable this hook.
|
||||||
settings.githook_name = Hook Name
|
settings.githook_name = Hook Name
|
||||||
@@ -806,9 +829,9 @@ settings.slack_username = Username
|
|||||||
settings.slack_icon_url = Icon URL
|
settings.slack_icon_url = Icon URL
|
||||||
settings.slack_color = Color
|
settings.slack_color = Color
|
||||||
settings.event_desc = When should this webhook be triggered?
|
settings.event_desc = When should this webhook be triggered?
|
||||||
settings.event_push_only = Just the <code>push</code> event.
|
settings.event_push_only = Just the <code>push</code> event
|
||||||
settings.event_send_everything = I need <strong>everything</strong>.
|
settings.event_send_everything = I need <strong>everything</strong>
|
||||||
settings.event_choose = Let me choose what I need.
|
settings.event_choose = Let me choose what I need
|
||||||
settings.event_create = Create
|
settings.event_create = Create
|
||||||
settings.event_create_desc = Branch or tag created
|
settings.event_create_desc = Branch or tag created
|
||||||
settings.event_delete = Delete
|
settings.event_delete = Delete
|
||||||
@@ -819,10 +842,10 @@ settings.event_push = Push
|
|||||||
settings.event_push_desc = Git push to a repository
|
settings.event_push_desc = Git push to a repository
|
||||||
settings.event_issues = Issues
|
settings.event_issues = Issues
|
||||||
settings.event_issues_desc = Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
settings.event_issues_desc = Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
||||||
settings.event_issue_comment = Issue Comment
|
|
||||||
settings.event_issue_comment_desc = Issue comment created, edited, or deleted.
|
|
||||||
settings.event_pull_request = Pull Request
|
settings.event_pull_request = Pull Request
|
||||||
settings.event_pull_request_desc = Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
settings.event_pull_request_desc = Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
||||||
|
settings.event_issue_comment = Issue Comment
|
||||||
|
settings.event_issue_comment_desc = Issue comment created, edited, or deleted.
|
||||||
settings.event_release = Release
|
settings.event_release = Release
|
||||||
settings.event_release_desc = Release published in a repository.
|
settings.event_release_desc = Release published in a repository.
|
||||||
settings.active = Active
|
settings.active = Active
|
||||||
@@ -852,6 +875,8 @@ settings.add_key_success = New deploy key '%s' has been added successfully!
|
|||||||
settings.deploy_key_deletion = Delete Deploy Key
|
settings.deploy_key_deletion = Delete Deploy Key
|
||||||
settings.deploy_key_deletion_desc = Deleting this deploy key will remove all related accesses for this repository. Do you want to continue?
|
settings.deploy_key_deletion_desc = Deleting this deploy key will remove all related accesses for this repository. Do you want to continue?
|
||||||
settings.deploy_key_deletion_success = Deploy key has been deleted successfully!
|
settings.deploy_key_deletion_success = Deploy key has been deleted successfully!
|
||||||
|
settings.description_desc = Description of repository. Maximum 512 characters length.
|
||||||
|
settings.description_length = Available characters
|
||||||
|
|
||||||
diff.browse_source = Browse Source
|
diff.browse_source = Browse Source
|
||||||
diff.parent = parent
|
diff.parent = parent
|
||||||
@@ -916,9 +941,8 @@ team_name_helper = You'll use this name to mention this team in conversations.
|
|||||||
team_desc_helper = What is this team all about?
|
team_desc_helper = What is this team all about?
|
||||||
team_permission_desc = What permission level should this team have?
|
team_permission_desc = What permission level should this team have?
|
||||||
|
|
||||||
form.name_reserved = Organization name '%s' is reserved.
|
form.name_not_allowed = Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed = Organization name pattern '%s' is not allowed.
|
form.team_name_not_allowed = Team name or pattern %q is not allowed.
|
||||||
form.team_name_reserved = Team name '%s' is reserved.
|
|
||||||
|
|
||||||
settings = Settings
|
settings = Settings
|
||||||
settings.options = Options
|
settings.options = Options
|
||||||
@@ -990,12 +1014,19 @@ first_page = First
|
|||||||
last_page = Last
|
last_page = Last
|
||||||
total = Total: %d
|
total = Total: %d
|
||||||
|
|
||||||
|
dashboard.build_info = Build Information
|
||||||
|
dashboard.app_ver = Application version
|
||||||
|
dashboard.git_version = Git version
|
||||||
|
dashboard.go_version = Go version
|
||||||
|
dashboard.build_time = Build time
|
||||||
|
dashboard.build_commit = Build commit
|
||||||
dashboard.statistic = Statistics
|
dashboard.statistic = Statistics
|
||||||
dashboard.operations = Operations
|
dashboard.operations = Operations
|
||||||
dashboard.system_status = System Monitor Status
|
dashboard.system_status = System Monitor Status
|
||||||
dashboard.statistic_info = Gogs database has <b>%d</b> users, <b>%d</b> organizations, <b>%d</b> public keys, <b>%d</b> repositories, <b>%d</b> watches, <b>%d</b> stars, <b>%d</b> actions, <b>%d</b> accesses, <b>%d</b> issues, <b>%d</b> comments, <b>%d</b> social accounts, <b>%d</b> follows, <b>%d</b> mirrors, <b>%d</b> releases, <b>%d</b> login sources, <b>%d</b> webhooks, <b>%d</b> milestones, <b>%d</b> labels, <b>%d</b> hook tasks, <b>%d</b> teams, <b>%d</b> update tasks, <b>%d</b> attachments.
|
dashboard.statistic_info = Gogs database has <b>%d</b> users, <b>%d</b> organizations, <b>%d</b> public keys, <b>%d</b> repositories, <b>%d</b> watches, <b>%d</b> stars, <b>%d</b> actions, <b>%d</b> accesses, <b>%d</b> issues, <b>%d</b> comments, <b>%d</b> social accounts, <b>%d</b> follows, <b>%d</b> mirrors, <b>%d</b> releases, <b>%d</b> login sources, <b>%d</b> webhooks, <b>%d</b> milestones, <b>%d</b> labels, <b>%d</b> hook tasks, <b>%d</b> teams, <b>%d</b> update tasks, <b>%d</b> attachments.
|
||||||
dashboard.operation_name = Operation Name
|
dashboard.operation_name = Operation Name
|
||||||
dashboard.operation_switch = Switch
|
dashboard.operation_switch = Switch
|
||||||
|
dashboard.select_operation_to_run = Please select operation to run
|
||||||
dashboard.operation_run = Run
|
dashboard.operation_run = Run
|
||||||
dashboard.clean_unbind_oauth = Clean unbound OAuthes
|
dashboard.clean_unbind_oauth = Clean unbound OAuthes
|
||||||
dashboard.clean_unbind_oauth_success = All unbind OAuthes have been deleted successfully.
|
dashboard.clean_unbind_oauth_success = All unbind OAuthes have been deleted successfully.
|
||||||
@@ -1087,11 +1118,12 @@ repos.stars = Stars
|
|||||||
repos.issues = Issues
|
repos.issues = Issues
|
||||||
repos.size = Size
|
repos.size = Size
|
||||||
|
|
||||||
auths.auth_manage_panel = Authentication Manage Panel
|
auths.auth_sources = Authentication Sources
|
||||||
auths.new = Add New Source
|
auths.new = Add New Source
|
||||||
auths.name = Name
|
auths.name = Name
|
||||||
auths.type = Type
|
auths.type = Type
|
||||||
auths.enabled = Enabled
|
auths.enabled = Enabled
|
||||||
|
auths.default = Default
|
||||||
auths.updated = Updated
|
auths.updated = Updated
|
||||||
auths.auth_type = Authentication Type
|
auths.auth_type = Authentication Type
|
||||||
auths.auth_name = Authentication Name
|
auths.auth_name = Authentication Name
|
||||||
@@ -1128,9 +1160,9 @@ auths.enable_tls = Enable TLS Encryption
|
|||||||
auths.skip_tls_verify = Skip TLS Verify
|
auths.skip_tls_verify = Skip TLS Verify
|
||||||
auths.pam_service_name = PAM Service Name
|
auths.pam_service_name = PAM Service Name
|
||||||
auths.enable_auto_register = Enable Auto Registration
|
auths.enable_auto_register = Enable Auto Registration
|
||||||
auths.tips = Tips
|
|
||||||
auths.edit = Edit Authentication Setting
|
auths.edit = Edit Authentication Setting
|
||||||
auths.activated = This authentication is activated
|
auths.activated = This authentication is activated
|
||||||
|
auths.default_auth = This authentication is default login source
|
||||||
auths.new_success = New authentication '%s' has been added successfully.
|
auths.new_success = New authentication '%s' has been added successfully.
|
||||||
auths.update_success = Authentication setting has been updated successfully.
|
auths.update_success = Authentication setting has been updated successfully.
|
||||||
auths.update = Update Authentication Setting
|
auths.update = Update Authentication Setting
|
||||||
@@ -1140,120 +1172,185 @@ auths.delete_auth_desc = This authentication is going to be deleted, do you want
|
|||||||
auths.still_in_used = This authentication is still used by some users, please delete or convert these users to another login type first.
|
auths.still_in_used = This authentication is still used by some users, please delete or convert these users to another login type first.
|
||||||
auths.deletion_success = Authentication has been deleted successfully!
|
auths.deletion_success = Authentication has been deleted successfully!
|
||||||
auths.login_source_exist = Login source '%s' already exists.
|
auths.login_source_exist = Login source '%s' already exists.
|
||||||
|
auths.github_api_endpoint = API Endpoint
|
||||||
|
|
||||||
config.not_set = (not set)
|
config.not_set = (not set)
|
||||||
config.server_config = Server Configuration
|
config.server_config = Server configuration
|
||||||
config.app_name = Application Name
|
config.brand_name = Brand name
|
||||||
config.app_ver = Application Version
|
config.run_user = Run user
|
||||||
config.app_url = Application URL
|
config.run_mode = Run mode
|
||||||
config.domain = Domain
|
config.server.external_url = External URL
|
||||||
config.offline_mode = Offline Mode
|
config.server.domain = Domain
|
||||||
config.disable_router_log = Disable Router Log
|
config.server.protocol = Protocol
|
||||||
config.run_user = Run User
|
config.server.http_addr = HTTP address
|
||||||
config.run_mode = Run Mode
|
config.server.http_port = HTTP port
|
||||||
config.git_version = Git Version
|
config.server.cert_file = Certificate file
|
||||||
config.static_file_root_path = Static File Root Path
|
config.server.key_file = Key file
|
||||||
config.log_file_root_path = Log File Root Path
|
config.server.tls_min_version = Minimum TLS version
|
||||||
config.reverse_auth_user = Reverse Authentication User
|
config.server.unix_socket_permission = Unix socket permission
|
||||||
|
config.server.local_root_url = Local root URL
|
||||||
|
config.server.offline_mode = Offline mode
|
||||||
|
config.server.disable_router_log = Disable router log
|
||||||
|
config.server.enable_gzip = Enable Gzip
|
||||||
|
config.server.app_data_path = Application data path
|
||||||
|
config.server.load_assets_from_disk = Load assets from disk
|
||||||
|
config.server.landing_url = Landing URL
|
||||||
|
|
||||||
config.ssh_config = SSH Configuration
|
config.ssh_config = SSH configuration
|
||||||
config.ssh_enabled = Enabled
|
config.ssh.enabled = Enabled
|
||||||
config.ssh_start_builtin_server = Start Builtin Server
|
config.ssh.domain = Exposed domain
|
||||||
config.ssh_domain = Domain
|
config.ssh.port = Exposed port
|
||||||
config.ssh_port = Port
|
config.ssh.root_path = Root path
|
||||||
config.ssh_listen_port = Listen Port
|
config.ssh.keygen_path = Keygen path
|
||||||
config.ssh_root_path = Root Path
|
config.ssh.key_test_path = Key test path
|
||||||
config.ssh_rewrite_authorized_keys_at_start = Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check = Minimum key size check
|
||||||
config.ssh_key_test_path = Key Test Path
|
config.ssh.minimum_key_sizes = Minimum key sizes
|
||||||
config.ssh_keygen_path = Keygen ('ssh-keygen') Path
|
config.ssh.rewrite_authorized_keys_at_start = Rewrite "authorized_keys" at start
|
||||||
config.ssh_minimum_key_size_check = Minimum Key Size Check
|
config.ssh.start_builtin_server = Start builtin server
|
||||||
config.ssh_minimum_key_sizes = Minimum Key Sizes
|
config.ssh.listen_host = Listen host
|
||||||
|
config.ssh.listen_port = Listen port
|
||||||
|
config.ssh.server_ciphers = Server ciphers
|
||||||
|
config.ssh.server_macs = Server MACs
|
||||||
|
config.ssh.server_algorithms = Server algorithms
|
||||||
|
|
||||||
config.repo_config = Repository Configuration
|
config.repo_config = Repository configuration
|
||||||
config.repo_root_path = Repository Root Path
|
config.repo.root_path = Root path
|
||||||
config.script_type = Script Type
|
config.repo.script_type = Script type
|
||||||
config.repo_force_private = Force Private
|
config.repo.ansi_chatset = ANSI charset
|
||||||
config.max_creation_limit = Max Creation Limit
|
config.repo.force_private = Force private
|
||||||
config.preferred_licenses = Preferred Licenses
|
config.repo.max_creation_limit = Max creation limit
|
||||||
config.disable_http_git = Disable HTTP Git
|
config.repo.preferred_licenses = Preferred licenses
|
||||||
config.enable_local_path_migration = Enable Local Path Migration
|
config.repo.disable_http_git = Disable HTTP Git
|
||||||
config.commits_fetch_concurrency = Commits Fetch Concurrency
|
config.repo.enable_local_path_migration = Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode = Enable raw file render mode
|
||||||
|
config.repo.commits_fetch_concurrency = Commits fetch concurrency
|
||||||
|
config.repo.editor.line_wrap_extensions = Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes = Editor previewable file modes
|
||||||
|
config.repo.upload.enabled = Upload enabled
|
||||||
|
config.repo.upload.temp_path = Upload temporary path
|
||||||
|
config.repo.upload.allowed_types = Upload allowed types
|
||||||
|
config.repo.upload.file_max_size = Upload file size limit
|
||||||
|
config.repo.upload.max_files = Upload files limit
|
||||||
|
|
||||||
config.http_config = HTTP Configuration
|
config.db_config = Database configuration
|
||||||
config.http_access_control_allow_origin = Access Control Allow Origin
|
config.db.type = Type
|
||||||
|
config.db.host = Host
|
||||||
|
config.db.name = Name
|
||||||
|
config.db.schema = Schema
|
||||||
|
config.db.schema_helper = (for "postgres" only)
|
||||||
|
config.db.user = User
|
||||||
|
config.db.ssl_mode = SSL mode
|
||||||
|
config.db.ssl_mode_helper = (for "postgres" only)
|
||||||
|
config.db.path = Path
|
||||||
|
config.db.path_helper = (for "sqlite3"only)
|
||||||
|
config.db.max_open_conns = Maximum open connections
|
||||||
|
config.db.max_idle_conns = Maximum idle connections
|
||||||
|
|
||||||
config.db_config = Database Configuration
|
config.security_config = Security configuration
|
||||||
config.db_type = Type
|
config.security.login_remember_days = Login remember days
|
||||||
config.db_host = Host
|
config.security.cookie_remember_name = Remember cookie
|
||||||
config.db_name = Name
|
config.security.cookie_username = Username cookie
|
||||||
config.db_user = User
|
config.security.cookie_secure = Enable secure cookie
|
||||||
config.db_ssl_mode = SSL Mode
|
config.security.reverse_proxy_auth_user = Reverse proxy authentication header
|
||||||
config.db_ssl_mode_helper = (for "postgres" only)
|
config.security.enable_login_status_cookie = Enable login status cookie
|
||||||
config.db_path = Path
|
config.security.login_status_cookie_name = Login status cookie
|
||||||
config.db_path_helper = (for "sqlite3" and "tidb")
|
config.security.local_network_allowlist = Local network allowlist
|
||||||
|
|
||||||
config.service_config = Service Configuration
|
config.email_config = Email configuration
|
||||||
config.register_email_confirm = Require Email Confirmation
|
config.email.enabled = Enabled
|
||||||
config.disable_register = Disable Registration
|
config.email.subject_prefix = Subject prefix
|
||||||
config.show_registration_button = Show Register Button
|
config.email.host = Host
|
||||||
config.require_sign_in_view = Require Sign In View
|
config.email.from = From
|
||||||
config.mail_notify = Mail Notification
|
config.email.user = User
|
||||||
config.disable_key_size_check = Disable Minimum Key Size Check
|
config.email.helo_hostname = HELO hostname
|
||||||
config.enable_captcha = Enable Captcha
|
config.email.skip_verify = Skip certificate verify
|
||||||
config.active_code_lives = Active Code Lives
|
config.email.use_certificate = Use custom certificate
|
||||||
config.reset_password_code_lives = Reset Password Code Lives
|
config.email.cert_file = Certificate file
|
||||||
|
config.email.key_file = Key file
|
||||||
|
config.email.use_plain_text = Use plain text
|
||||||
|
config.email.add_plain_text_alt = Add plain text alternative
|
||||||
|
config.email.send_test_mail = Send test email
|
||||||
|
config.email.test_mail_failed = Failed to send test email to '%s': %v
|
||||||
|
config.email.test_mail_sent = Test email has been sent to '%s'.
|
||||||
|
|
||||||
config.webhook_config = Webhook Configuration
|
config.auth_config = Authentication configuration
|
||||||
config.queue_length = Queue Length
|
config.auth_custom_logout_url = Custom logout URL
|
||||||
config.deliver_timeout = Deliver Timeout
|
config.auth.activate_code_lives = Activate code lives
|
||||||
config.skip_tls_verify = Skip TLS Verify
|
config.auth.reset_password_code_lives = Reset password code lives
|
||||||
|
config.auth.require_email_confirm = Require email confirmation
|
||||||
|
config.auth.require_sign_in_view = Require sign in view
|
||||||
|
config.auth.disable_registration = Disable registration
|
||||||
|
config.auth.enable_registration_captcha = Enable registration captcha
|
||||||
|
config.auth.enable_reverse_proxy_authentication = Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration = Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header = Reverse proxy authentication header
|
||||||
|
|
||||||
config.mailer_config = Mailer Configuration
|
config.user_config = User configuration
|
||||||
config.mailer_enabled = Enabled
|
config.user.enable_email_notify = Enable email notification
|
||||||
config.mailer_disable_helo = Disable HELO
|
|
||||||
config.mailer_subject_prefix = Subject Prefix
|
|
||||||
config.mailer_host = Host
|
|
||||||
config.mailer_user = User
|
|
||||||
config.send_test_mail = Send Test Email
|
|
||||||
config.test_mail_failed = Fail to send test email to '%s': %v
|
|
||||||
config.test_mail_sent = Test email has been sent to '%s'.
|
|
||||||
|
|
||||||
config.oauth_config = OAuth Configuration
|
config.session_config = Session configuration
|
||||||
config.oauth_enabled = Enabled
|
config.session.provider = Provider
|
||||||
|
config.session.provider_config = Provider config
|
||||||
|
config.session.cookie_name = Cookie
|
||||||
|
config.session.https_only = HTTPS only
|
||||||
|
config.session.gc_interval = GC interval
|
||||||
|
config.session.max_life_time = Max life time
|
||||||
|
config.session.csrf_cookie_name = CSRF cookie
|
||||||
|
|
||||||
config.cache_config = Cache Configuration
|
config.cache_config = Cache configuration
|
||||||
config.cache_adapter = Cache Adapter
|
config.cache.adapter = Adapter
|
||||||
config.cache_interval = Cache Interval
|
config.cache.interval = GC interval
|
||||||
config.cache_conn = Cache Connection
|
config.cache.host = Host
|
||||||
|
|
||||||
config.session_config = Session Configuration
|
config.http_config = HTTP configuration
|
||||||
config.session_provider = Session Provider
|
config.http.access_control_allow_origin = Access control allow origin
|
||||||
config.provider_config = Provider Config
|
|
||||||
config.cookie_name = Cookie Name
|
|
||||||
config.enable_set_cookie = Enable Set Cookie
|
|
||||||
config.gc_interval_time = GC Interval Time
|
|
||||||
config.session_life_time = Session Life Time
|
|
||||||
config.https_only = HTTPS Only
|
|
||||||
config.cookie_life_time = Cookie Life Time
|
|
||||||
|
|
||||||
config.picture_config = Picture Configuration
|
config.attachment_config = Attachment configuration
|
||||||
config.picture_service = Picture Service
|
config.attachment.enabled = Enabled
|
||||||
config.disable_gravatar = Disable Gravatar
|
config.attachment.path = Path
|
||||||
config.enable_federated_avatar = Enable Federated Avatars
|
config.attachment.allowed_types = Allowed types
|
||||||
|
config.attachment.max_size = Size limit
|
||||||
|
config.attachment.max_files = Files limit
|
||||||
|
|
||||||
config.git_config = Git Configuration
|
config.release_config = Release configuration
|
||||||
config.git_disable_diff_highlight = Disable Diff Syntax Highlight
|
config.release.attachment.enabled = Attachment enabled
|
||||||
config.git_max_diff_lines = Max Diff Lines (for a single file)
|
config.release.attachment.allowed_types = Attachment allowed types
|
||||||
config.git_max_diff_line_characters = Max Diff Characters (for a single line)
|
config.release.attachment.max_size = Attachment size limit
|
||||||
config.git_max_diff_files = Max Diff Files (to be shown)
|
config.release.attachment.max_files = Attachment files limit
|
||||||
config.git_gc_args = GC Arguments
|
|
||||||
config.git_migrate_timeout = Migration Timeout
|
|
||||||
config.git_mirror_timeout = Mirror Update Timeout
|
|
||||||
config.git_clone_timeout = Clone Operation Timeout
|
|
||||||
config.git_pull_timeout = Pull Operation Timeout
|
|
||||||
config.git_gc_timeout = GC Operation Timeout
|
|
||||||
|
|
||||||
config.log_config = Log Configuration
|
config.picture_config = Picture configuration
|
||||||
|
config.picture.avatar_upload_path = User avatar upload path
|
||||||
|
config.picture.repo_avatar_upload_path = Repository avatar upload path
|
||||||
|
config.picture.gravatar_source = Gravatar source
|
||||||
|
config.picture.disable_gravatar = Disable Gravatar
|
||||||
|
config.picture.enable_federated_avatar = Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config = Mirror configuration
|
||||||
|
config.mirror.default_interval = Default interval
|
||||||
|
|
||||||
|
config.webhook_config = Webhook configuration
|
||||||
|
config.webhook.types = Types
|
||||||
|
config.webhook.deliver_timeout = Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify = Skip TLS verify
|
||||||
|
|
||||||
|
config.git_config = Git configuration
|
||||||
|
config.git.disable_diff_highlight = Disable diff syntax highlight
|
||||||
|
config.git.max_diff_lines = Diff lines limit (for a single file)
|
||||||
|
config.git.max_diff_line_characters = Diff characters limit (for a single line)
|
||||||
|
config.git.max_diff_files = Diff files limit (for a single diff)
|
||||||
|
config.git.gc_args = GC arguments
|
||||||
|
config.git.migrate_timeout = Migration timeout
|
||||||
|
config.git.mirror_timeout = Mirror fetch timeout
|
||||||
|
config.git.clone_timeout = Clone timeout
|
||||||
|
config.git.pull_timeout = Pull timeout
|
||||||
|
config.git.gc_timeout = GC timeout
|
||||||
|
|
||||||
|
config.lfs_config = LFS configuration
|
||||||
|
config.lfs.storage = Storage
|
||||||
|
config.lfs.objects_path = Objects path
|
||||||
|
|
||||||
|
config.log_config = Log configuration
|
||||||
|
config.log_file_root_path = Log file root path
|
||||||
config.log_mode = Mode
|
config.log_mode = Mode
|
||||||
config.log_options = Options
|
config.log_options = Options
|
||||||
|
|
||||||
@@ -1284,7 +1381,6 @@ notices.delete_success = System notices have been deleted successfully.
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo = created repository <a href="%s">%s</a>
|
create_repo = created repository <a href="%s">%s</a>
|
||||||
fork_repo = forked a repository to <a href="%s">%s</a>
|
|
||||||
rename_repo = renamed repository from <code>%[1]s</code> to <a href="%[2]s">%[3]s</a>
|
rename_repo = renamed repository from <code>%[1]s</code> to <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo = pushed to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
commit_repo = pushed to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits = View comparison for these %d commits
|
compare_commits = View comparison for these %d commits
|
||||||
@@ -1301,6 +1397,10 @@ create_branch = created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a hre
|
|||||||
delete_branch = deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_branch = deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
push_tag = pushed tag <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a>
|
push_tag = pushed tag <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a>
|
||||||
delete_tag = deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_tag = deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
|
fork_repo = forked a repository to <a href="%s">%s</a>
|
||||||
|
mirror_sync_push = synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
|
||||||
|
mirror_sync_create = synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
mirror_sync_delete = synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago = ago
|
ago = ago
|
||||||
@@ -1322,6 +1422,7 @@ months = %d months %s
|
|||||||
years = %d years %s
|
years = %d years %s
|
||||||
raw_seconds = seconds
|
raw_seconds = seconds
|
||||||
raw_minutes = minutes
|
raw_minutes = minutes
|
||||||
|
raw_hours = hours
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message = Drop files here or click to upload.
|
default_message = Drop files here or click to upload.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=Cerrar sesión
|
|||||||
sign_up=Registro
|
sign_up=Registro
|
||||||
register=Registro
|
register=Registro
|
||||||
website=Página web
|
website=Página web
|
||||||
version=Versión
|
|
||||||
page=Página
|
page=Página
|
||||||
template=Plantilla
|
template=Plantilla
|
||||||
language=Idioma
|
language=Idioma
|
||||||
@@ -44,17 +43,22 @@ issues=Incidencias
|
|||||||
|
|
||||||
cancel=Cancelar
|
cancel=Cancelar
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Página no encontrada
|
||||||
|
internal_server_error=Error Interno del Servidor
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Instalación
|
install=Instalación
|
||||||
title=Pasos de la instalación por primera vez
|
title=Pasos de la instalación por primera vez
|
||||||
docker_helper=Si está ejecutando Gogs usando Docker, ¡por favor lea <a target="_blank" href="%s"> estas pautas</a> antes de cambiar nada en esta página!
|
docker_helper=Si está ejecutando Gogs usando Docker, ¡por favor lea <a target="_blank" href="%s"> estas pautas</a> antes de cambiar nada en esta página!
|
||||||
requite_db_desc=Gogs requiere un SGBD como MySQL, PostgreSQL, SQLite3 o TiDB.
|
requite_db_desc=Gogs requiere MySQL, PostgreSQL, SQLite3 o TiDB (a través del protocolo MySQL).
|
||||||
db_title=Configuración de base de datos
|
db_title=Configuración de base de datos
|
||||||
db_type=Tipo de base de datos
|
db_type=Tipo de base de datos
|
||||||
host=Host
|
host=Host
|
||||||
user=Usuario
|
user=Usuario
|
||||||
password=Contraseña
|
password=Contraseña
|
||||||
db_name=Nombre de la base de datos
|
db_name=Nombre de la base de datos
|
||||||
|
db_schema=Esquema
|
||||||
db_helper=Por favor utilice el motor INNODB con la configuración de caracteres utf8_general_ci para MySQL.
|
db_helper=Por favor utilice el motor INNODB con la configuración de caracteres utf8_general_ci para MySQL.
|
||||||
ssl_mode=Modo SSL
|
ssl_mode=Modo SSL
|
||||||
path=Ruta
|
path=Ruta
|
||||||
@@ -84,6 +88,7 @@ log_root_path=Ruta del registro
|
|||||||
log_root_path_helper=Directorio donde almacenar los registros.
|
log_root_path_helper=Directorio donde almacenar los registros.
|
||||||
enable_console_mode=Activar Modo Consola
|
enable_console_mode=Activar Modo Consola
|
||||||
enable_console_mode_popup=Además del modo archivo, también imprime los registros en consola.
|
enable_console_mode_popup=Además del modo archivo, también imprime los registros en consola.
|
||||||
|
default_branch=Rama por defecto
|
||||||
|
|
||||||
optional_title=Configuración opcional
|
optional_title=Configuración opcional
|
||||||
email_title=Configuración del servicio de correo
|
email_title=Configuración del servicio de correo
|
||||||
@@ -114,7 +119,7 @@ admin_password=Contraseña
|
|||||||
confirm_password=Confirmar Contraseña
|
confirm_password=Confirmar Contraseña
|
||||||
admin_email=Correo electrónico del administrador
|
admin_email=Correo electrónico del administrador
|
||||||
install_gogs=Instalar Gogs
|
install_gogs=Instalar Gogs
|
||||||
test_git_failed=Fallo al probar el comando 'git': %v
|
test_git_failed=Error al probar el comando 'git': %v
|
||||||
sqlite3_not_available=Tu versión no soporta SQLite3, por favor descarga el binario oficial desde %s, NO la versión de gobuild.
|
sqlite3_not_available=Tu versión no soporta SQLite3, por favor descarga el binario oficial desde %s, NO la versión de gobuild.
|
||||||
invalid_db_setting=La configuración de la base de datos no es correcta: %v
|
invalid_db_setting=La configuración de la base de datos no es correcta: %v
|
||||||
invalid_repo_path=La ruta de la raíz del repositorio es inválida: %v
|
invalid_repo_path=La ruta de la raíz del repositorio es inválida: %v
|
||||||
@@ -122,6 +127,7 @@ run_user_not_match=El usuario que está ejecutando la aplicación no es el usuar
|
|||||||
smtp_host_missing_port=No se ha definido el puerto para el host SMTP.
|
smtp_host_missing_port=No se ha definido el puerto para el host SMTP.
|
||||||
invalid_smtp_from=El campo SMTP no es válido: %v
|
invalid_smtp_from=El campo SMTP no es válido: %v
|
||||||
save_config_failed=Error al guardar la configuración: %v
|
save_config_failed=Error al guardar la configuración: %v
|
||||||
|
init_failed=Error al inicializar la aplicación: %v
|
||||||
invalid_admin_setting=La configuración de la cuenta de administración es inválida: %v
|
invalid_admin_setting=La configuración de la cuenta de administración es inválida: %v
|
||||||
install_success=Bienvenido! Estamos encantados de que hayas escogido Gogs, diviértete y cuídate.
|
install_success=Bienvenido! Estamos encantados de que hayas escogido Gogs, diviértete y cuídate.
|
||||||
invalid_log_root_path=La ruta para los registros es inválida: %v
|
invalid_log_root_path=La ruta para los registros es inválida: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=¿Ya tienes una cuenta? ¡Inicia sesión!
|
|||||||
social_register_hepler_msg=¿Ya tienes una cuenta? ¡Enlázala!
|
social_register_hepler_msg=¿Ya tienes una cuenta? ¡Enlázala!
|
||||||
disable_register_prompt=Lo sentimos, el registro está deshabilitado. Por favor, contacta con el administrador del sitio.
|
disable_register_prompt=Lo sentimos, el registro está deshabilitado. Por favor, contacta con el administrador del sitio.
|
||||||
disable_register_mail=Lo sentimos. Los correos de Confirmación de Registro están deshabilitados.
|
disable_register_mail=Lo sentimos. Los correos de Confirmación de Registro están deshabilitados.
|
||||||
|
auth_source=Authentication Source
|
||||||
|
local=Local
|
||||||
remember_me=Recuérdame
|
remember_me=Recuérdame
|
||||||
forgot_password=He olvidado mi contraseña
|
forgot_password=He olvidado mi contraseña
|
||||||
forget_password=¿Has olvidado tu contraseña?
|
forget_password=¿Has olvidado tu contraseña?
|
||||||
@@ -160,13 +168,13 @@ active_your_account=Activa tu cuenta
|
|||||||
prohibit_login=Ingreso prohibido
|
prohibit_login=Ingreso prohibido
|
||||||
prohibit_login_desc=Su cuenta tiene prohibido ingresar al sistema, fovor contactar al administrador del sistema.
|
prohibit_login_desc=Su cuenta tiene prohibido ingresar al sistema, fovor contactar al administrador del sistema.
|
||||||
resent_limit_prompt=Lo sentimos, estás solicitando el reenvío del mail de activación con demasiada frecuencia. Por favor, espera 3 minutos.
|
resent_limit_prompt=Lo sentimos, estás solicitando el reenvío del mail de activación con demasiada frecuencia. Por favor, espera 3 minutos.
|
||||||
has_unconfirmed_mail=Hola %s, tu correo electrónico (<b>%s</b>) no está confirmado. Si no has recibido un correo de confirmación o necesitas que lo enviemos de nuevo, por favor, haz click en el siguiente botón.
|
has_unconfirmed_mail=Hola %s, tu correo electrónico (<b>%s</b>) no está confirmado. Si no has recibido un correo de confirmación o necesitas que te lo enviemos de nuevo, por favor haz click en el siguiente botón.
|
||||||
resend_mail=Haz click aquí para reenviar tu correo electrónico de activación
|
resend_mail=Haz click aquí para reenviar tu correo electrónico de activación
|
||||||
send_reset_mail=Haga clic aquí para (re)enviar el correo para el restablecimiento de la contraseña
|
send_reset_mail=Haga clic aquí para (re)enviar el correo para el restablecimiento de la contraseña
|
||||||
reset_password=Restablecer su contraseña
|
reset_password=Restablecer su contraseña
|
||||||
invalid_code=Lo sentimos, su código de confirmación ha expirado o no es valido.
|
invalid_code=Lo sentimos, su código de confirmación ha expirado o no es valido.
|
||||||
reset_password_helper=Haga Clic aquí para restablecer su contraseña
|
reset_password_helper=Haga Clic aquí para restablecer su contraseña
|
||||||
password_too_short=La longitud de la contraseña no puede ser menor a 6.
|
password_too_short=La longitud de la contraseña no puede ser menor de 6 caracteres.
|
||||||
non_local_account=Cuentas que no son locales no pueden cambiar las contraseñas a través de Gogs.
|
non_local_account=Cuentas que no son locales no pueden cambiar las contraseñas a través de Gogs.
|
||||||
|
|
||||||
login_two_factor=Autenticación en dos pasos
|
login_two_factor=Autenticación en dos pasos
|
||||||
@@ -210,8 +218,8 @@ TreeName=Ruta del archivo
|
|||||||
Content=Contenido
|
Content=Contenido
|
||||||
|
|
||||||
require_error=` no puede estar vacío.`
|
require_error=` no puede estar vacío.`
|
||||||
alpha_dash_error=` los caracteres deben ser Alfanumericos o dash(-_).`
|
alpha_dash_error=` los caracteres deben ser alfanuméricos o un guión (-_).`
|
||||||
alpha_dash_dot_error=` debe ser un caracter alfanumérivo válido, un guión alto o bajo (-_) o un signo de puntuación.`
|
alpha_dash_dot_error=` debe ser un carácter alfanumérico válido, un guión (-_) o un signo de puntuación.`
|
||||||
alpha_dash_dot_slash_error=` deben ser caracteres alfanuméricos, guiones(-_), puntos o barras.`
|
alpha_dash_dot_slash_error=` deben ser caracteres alfanuméricos, guiones(-_), puntos o barras.`
|
||||||
size_error=` debe ser de tamaño %s.`
|
size_error=` debe ser de tamaño %s.`
|
||||||
min_size_error=` debe contener al menos %s caracteres.`
|
min_size_error=` debe contener al menos %s caracteres.`
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=Ya existe una organización con este nombre.
|
|||||||
team_name_been_taken=Ya existe un equipo con este nombre.
|
team_name_been_taken=Ya existe un equipo con este nombre.
|
||||||
email_been_used=Esta dirección de correo electrónico ya está en uso.
|
email_been_used=Esta dirección de correo electrónico ya está en uso.
|
||||||
username_password_incorrect=Nombre de usuario o contraseña incorrectos.
|
username_password_incorrect=Nombre de usuario o contraseña incorrectos.
|
||||||
|
auth_source_mismatch=The authentication source selected is not associated with the user.
|
||||||
enterred_invalid_repo_name=Por favor, asegúrate de que has introducido correctamente el nombre del repositorio.
|
enterred_invalid_repo_name=Por favor, asegúrate de que has introducido correctamente el nombre del repositorio.
|
||||||
enterred_invalid_owner_name=Por favor, asegúrate de que has introducido correctamente el nombre del propietario.
|
enterred_invalid_owner_name=Por favor, asegúrate de que has introducido correctamente el nombre del propietario.
|
||||||
enterred_invalid_password=Por favor, asegúrate de que has introducido correctamente tu contraseña.
|
enterred_invalid_password=Por favor, asegúrate de que has introducido correctamente tu contraseña.
|
||||||
@@ -256,8 +265,7 @@ following=Siguiendo
|
|||||||
follow=Seguir
|
follow=Seguir
|
||||||
unfollow=Dejar de seguir
|
unfollow=Dejar de seguir
|
||||||
|
|
||||||
form.name_reserved=El usuario '%s' está reservado.
|
form.name_not_allowed=El nombre de usuario o patrón %q no está permitido.
|
||||||
form.name_pattern_not_allowed=El patrón de nombre de usuario '%s' no está permitido.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Perfil
|
profile=Perfil
|
||||||
@@ -309,6 +317,7 @@ delete_email=Eliminar
|
|||||||
email_deletion=Eliminar correo electrónico
|
email_deletion=Eliminar correo electrónico
|
||||||
email_deletion_desc=Al eliminar esta dirección de correo electrónico se eliminará toda la información asociada a esta. ¿Deseas continuar?
|
email_deletion_desc=Al eliminar esta dirección de correo electrónico se eliminará toda la información asociada a esta. ¿Deseas continuar?
|
||||||
email_deletion_success=¡El correo electrónico ha sido eliminado correctamente!
|
email_deletion_success=¡El correo electrónico ha sido eliminado correctamente!
|
||||||
|
email_deletion_primary=Cannot delete primary email address.
|
||||||
add_new_email=Añadir nueva dirección de correo electrónico
|
add_new_email=Añadir nueva dirección de correo electrónico
|
||||||
add_email=Añadir correo electrónico
|
add_email=Añadir correo electrónico
|
||||||
add_email_confirmation_sent=Un nuevo correo de confirmación ha sido enviado a '%s'. Por favor, comprueba tu bandeja de entrada en las próximas %d horas para completar el proceso.
|
add_email_confirmation_sent=Un nuevo correo de confirmación ha sido enviado a '%s'. Por favor, comprueba tu bandeja de entrada en las próximas %d horas para completar el proceso.
|
||||||
@@ -342,26 +351,28 @@ two_factor_enable=Activar
|
|||||||
two_factor_disable=Desactivar
|
two_factor_disable=Desactivar
|
||||||
two_factor_view_recovery_codes=Guarda <a href="%s%s"> tus códigos de recuperación</a> en un lugar seguro. Podrás usarlos como código de acceso si pierdes el acceso a tu aplicación de autenticación.
|
two_factor_view_recovery_codes=Guarda <a href="%s%s"> tus códigos de recuperación</a> en un lugar seguro. Podrás usarlos como código de acceso si pierdes el acceso a tu aplicación de autenticación.
|
||||||
two_factor_http=Para las operaciones sobre HTTP/HTTPS, no puedes usar un usuario y contraseña. Por favor, cree y utilice <a href="%[1]s%[2]s"> un token de acceso personal</a> como su credencial de acceso, por ejemplo, <code>%[3]s</code>.
|
two_factor_http=Para las operaciones sobre HTTP/HTTPS, no puedes usar un usuario y contraseña. Por favor, cree y utilice <a href="%[1]s%[2]s"> un token de acceso personal</a> como su credencial de acceso, por ejemplo, <code>%[3]s</code>.
|
||||||
two_factor_enable_title=Habilitar autenticaciñon en dos pasos
|
two_factor_enable_title=Habilitar autenticación en dos pasos
|
||||||
two_factor_scan_qr=Por favor, use su aplicación de autenticación para escanear la imagen:
|
two_factor_scan_qr=Por favor, use su aplicación de autenticación para escanear la imagen:
|
||||||
two_factor_or_enter_secret=Or enter the secret:
|
two_factor_or_enter_secret=O introduzca el secreto:
|
||||||
two_factor_then_enter_passcode=Introduce el Pin:
|
two_factor_then_enter_passcode=Introduce el Pin:
|
||||||
two_factor_verify=Verificar
|
two_factor_verify=Verificar
|
||||||
two_factor_invalid_passcode=¡El Pin que has introducido no es válido, por favor, inténtalo de nuevo!
|
two_factor_invalid_passcode=¡El Pin que has introducido no es válido, por favor, inténtalo de nuevo!
|
||||||
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
two_factor_reused_passcode=¡El pin de autenticación que has introducido ya ha sido usado, por favor intenta con otro!
|
||||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
two_factor_enable_error=Ha fallado la activación de la autenticación en dos pasos: %v
|
||||||
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
two_factor_enable_success=¡La autenticación en dos pasos se ha activado en tu cuenta correctamente!
|
||||||
two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>.
|
two_factor_recovery_codes_title=Códigos de recuperación para la autenticación en dos pasos
|
||||||
two_factor_regenerate_recovery_codes=Regenerate Recovery Codes
|
two_factor_recovery_codes_desc=Los códigos de recuperación se usan cuando pierdes temporalmente el acceso a tu aplicación de autenticación. Cada código de recuperación solo puede utilizarse en una ocasión, <b>por favor, mantén estos códigos en lugar seguro</b>.
|
||||||
two_factor_regenerate_recovery_codes_error=Regenerate recovery codes failed: %v
|
two_factor_regenerate_recovery_codes=Regenerar códigos de recuperación
|
||||||
two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully!
|
two_factor_regenerate_recovery_codes_error=Ha fallado la regeneración de códigos de recuperación: %v
|
||||||
|
two_factor_regenerate_recovery_codes_success=¡Nuevos códigos de recuperación han sido generados con éxito!
|
||||||
two_factor_disable_title=Deshabilitar autenticación en dos pasos
|
two_factor_disable_title=Deshabilitar autenticación en dos pasos
|
||||||
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
|
two_factor_disable_desc=El nivel de seguridad de tu cuenta se verá reducido después de desactivar la autenticación en dos pasos. ¿Deseas continuar?
|
||||||
two_factor_disable_success=¡La autenticación en dos pasos ha sido deshabilitada satisfactoriamente!
|
two_factor_disable_success=¡La autenticación en dos pasos ha sido deshabilitada satisfactoriamente!
|
||||||
|
|
||||||
manage_access_token=Gestionar los Tokens de Acceso personales
|
manage_access_token=Gestionar los Tokens de Acceso personales
|
||||||
generate_new_token=Generar nuevo Token
|
generate_new_token=Generar nuevo Token
|
||||||
tokens_desc=Tokens usados para acceder al API de Gogs.
|
tokens_desc=Tokens usados para acceder al API de Gogs.
|
||||||
|
access_token_tips=El token de acceso personal puede utilizarse como nombre de usuario o como contraseña. Se recomienda utilizar el "x-access-token" como nombre de usuario y el token de acceso personal como contraseña para las aplicaciones Git.
|
||||||
new_token_desc=Desde ahora, todos los tokens tendrán acceso completo a tu cuenta.
|
new_token_desc=Desde ahora, todos los tokens tendrán acceso completo a tu cuenta.
|
||||||
token_name=Nombre del Token
|
token_name=Nombre del Token
|
||||||
generate_token=Generar Token
|
generate_token=Generar Token
|
||||||
@@ -370,6 +381,7 @@ delete_token=Eliminar
|
|||||||
access_token_deletion=Borrado de Token de Acceso Personal
|
access_token_deletion=Borrado de Token de Acceso Personal
|
||||||
access_token_deletion_desc=Si elimina este token de acceso personal la aplicación asociada perderá el permiso de acceso. ¿Desea continuar?
|
access_token_deletion_desc=Si elimina este token de acceso personal la aplicación asociada perderá el permiso de acceso. ¿Desea continuar?
|
||||||
delete_token_success=¡El token de acceso personal ha sido eliminado con éxito! No se olvide de actualizar también las aplicaciones asociadas.
|
delete_token_success=¡El token de acceso personal ha sido eliminado con éxito! No se olvide de actualizar también las aplicaciones asociadas.
|
||||||
|
token_name_exists=Ya existe un token con el mismo nombre.
|
||||||
|
|
||||||
orgs.none=No eres un miembro de ninguna organización.
|
orgs.none=No eres un miembro de ninguna organización.
|
||||||
orgs.leave_title=Salir de una organización
|
orgs.leave_title=Salir de una organización
|
||||||
@@ -391,7 +403,9 @@ owner=Propietario
|
|||||||
repo_name=Nombre del repositorio
|
repo_name=Nombre del repositorio
|
||||||
repo_name_helper=Los grandes nombres de repositorios son cortos, memorables y <strong>únicos</strong>.
|
repo_name_helper=Los grandes nombres de repositorios son cortos, memorables y <strong>únicos</strong>.
|
||||||
visibility=Visibilidad
|
visibility=Visibilidad
|
||||||
|
unlisted=Sin listar
|
||||||
visiblity_helper=Este repositorio es <span class="ui red text">privado</span>
|
visiblity_helper=Este repositorio es <span class="ui red text">privado</span>
|
||||||
|
unlisted_helper=Este repositorio <span class="ui red text">no está en la lista</span>
|
||||||
visiblity_helper_forced=El administrador web ha obligado a todos los repositorios nuevos a ser <span class="ui red text"> privados</span>
|
visiblity_helper_forced=El administrador web ha obligado a todos los repositorios nuevos a ser <span class="ui red text"> privados</span>
|
||||||
visiblity_fork_helper=(Este cambio afectará a todos los forks)
|
visiblity_fork_helper=(Este cambio afectará a todos los forks)
|
||||||
clone_helper=¿Necesitas ayuda con el clone? ¡Consulta la <a target="_blank" href="%s">Ayuda</a>!
|
clone_helper=¿Necesitas ayuda con el clone? ¡Consulta la <a target="_blank" href="%s">Ayuda</a>!
|
||||||
@@ -409,7 +423,7 @@ auto_init=Inicializar los archivos seleccionados y plantillas de este repositori
|
|||||||
create_repo=Crear repositorio
|
create_repo=Crear repositorio
|
||||||
default_branch=Rama por defecto
|
default_branch=Rama por defecto
|
||||||
mirror_prune=Purgar
|
mirror_prune=Purgar
|
||||||
mirror_prune_desc=Remover referencias remotas que no existan remotamente
|
mirror_prune_desc=Elimina cualquier referencia de seguimiento remoto que ya no exista en el remoto
|
||||||
mirror_interval=Intervalo de la réplica (en horas)
|
mirror_interval=Intervalo de la réplica (en horas)
|
||||||
mirror_address=Dirección de la réplica
|
mirror_address=Dirección de la réplica
|
||||||
mirror_address_desc=Por favor, incluya las credenciales de usuario necesarias en la dirección.
|
mirror_address_desc=Por favor, incluya las credenciales de usuario necesarias en la dirección.
|
||||||
@@ -417,10 +431,11 @@ mirror_last_synced=Última sincronización
|
|||||||
watchers=Seguidores
|
watchers=Seguidores
|
||||||
stargazers=Fans
|
stargazers=Fans
|
||||||
forks=Forks
|
forks=Forks
|
||||||
|
repo_description_helper=Descripción del repositorio. Longitud máxima de 512 caracteres.
|
||||||
|
repo_description_length=Caracteres disponibles
|
||||||
|
|
||||||
form.reach_limit_of_creation=El propietario ha alcanzado el límite máximo de %d repositorios creados.
|
form.reach_limit_of_creation=El propietario ha alcanzado el límite máximo de %d repositorios creados.
|
||||||
form.name_reserved=El nombre del repositorio '%s' está reservado.
|
form.name_not_allowed=El nombre de repositorio o patrón %q no está permitido.
|
||||||
form.name_pattern_not_allowed=El patrón del nombre del repositorio '%s' no está permitido.
|
|
||||||
|
|
||||||
need_auth=Requiere autorización
|
need_auth=Requiere autorización
|
||||||
migrate_type=Tipo de migración
|
migrate_type=Tipo de migración
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=Esto puede ser una dirección URL HTTP/HTTPS/GIT.
|
|||||||
migrate.clone_address_desc_import_local=También se le permite migrar un repositorio por la ruta del servidor local.
|
migrate.clone_address_desc_import_local=También se le permite migrar un repositorio por la ruta del servidor local.
|
||||||
migrate.permission_denied=No te está permitido importar repositorios locales.
|
migrate.permission_denied=No te está permitido importar repositorios locales.
|
||||||
migrate.invalid_local_path=Rutal local inválida, no existe o no es un directorio.
|
migrate.invalid_local_path=Rutal local inválida, no existe o no es un directorio.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=La dirección de clonado se ha resuelto a una dirección de red local que está implícitamente bloqueada.
|
||||||
migrate.failed=Migración fallida: %v
|
migrate.failed=Migración fallida: %v
|
||||||
|
|
||||||
mirror_from=espejo de
|
mirror_from=espejo de
|
||||||
@@ -478,6 +494,8 @@ branches.stale_branches=Ramas Viejas
|
|||||||
branches.all=Todas las Ramas
|
branches.all=Todas las Ramas
|
||||||
branches.updated_by=%[1]s actualizado por %[2]s
|
branches.updated_by=%[1]s actualizado por %[2]s
|
||||||
branches.change_default_branch=Cambiar la Rama por Defecto
|
branches.change_default_branch=Cambiar la Rama por Defecto
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Nuevo archivo
|
editor.new_file=Nuevo archivo
|
||||||
editor.upload_file=Subir archivo
|
editor.upload_file=Subir archivo
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=El contenido del archivo ha sido modificado de
|
|||||||
editor.file_already_exists=Ya existe un archivo con nombre '%s' en este repositorio.
|
editor.file_already_exists=Ya existe un archivo con nombre '%s' en este repositorio.
|
||||||
editor.no_changes_to_show=No existen cambios para mostrar.
|
editor.no_changes_to_show=No existen cambios para mostrar.
|
||||||
editor.fail_to_update_file=Error al actualizar/crear el archivo '%s', error: %v
|
editor.fail_to_update_file=Error al actualizar/crear el archivo '%s', error: %v
|
||||||
|
editor.fail_to_delete_file=Error al borrar el fichero '%s', error: %v
|
||||||
editor.add_subdir=Añadir subdirectorio...
|
editor.add_subdir=Añadir subdirectorio...
|
||||||
editor.unable_to_upload_files=Error al subir archivos a '%s', error: %v
|
editor.unable_to_upload_files=Error al subir archivos a '%s', error: %v
|
||||||
editor.upload_files_to_dir=Subir archivos a '%s'
|
editor.upload_files_to_dir=Subir archivos a '%s'
|
||||||
@@ -616,7 +635,7 @@ pulls.compare_compare=comparar con
|
|||||||
pulls.filter_branch=Filtrar rama
|
pulls.filter_branch=Filtrar rama
|
||||||
pulls.no_results=Sin resultados.
|
pulls.no_results=Sin resultados.
|
||||||
pulls.nothing_to_compare=Nada que comparar. Las dos ramas coinciden.
|
pulls.nothing_to_compare=Nada que comparar. Las dos ramas coinciden.
|
||||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
pulls.nothing_merge_base=No hay nada que comparar porque las dos ramas tienen una historia completamente distinta.
|
||||||
pulls.has_pull_request=`Ya existe un pull request entre estas dos ramas: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
pulls.has_pull_request=`Ya existe un pull request entre estas dos ramas: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||||
pulls.create=Crear Pull Request
|
pulls.create=Crear Pull Request
|
||||||
pulls.title_desc=desea fusionar %[1]d commits de <code>%[2]s</code> en <code>%[3]s</code>
|
pulls.title_desc=desea fusionar %[1]d commits de <code>%[2]s</code> en <code>%[3]s</code>
|
||||||
@@ -632,8 +651,9 @@ pulls.is_checking=Se está procediendo a la búsqueda de conflictos, por favor a
|
|||||||
pulls.can_auto_merge_desc=Este Pull Request puede ser fusionado automáticamente.
|
pulls.can_auto_merge_desc=Este Pull Request puede ser fusionado automáticamente.
|
||||||
pulls.cannot_auto_merge_desc=Este Pull Request no puede ser fusionado automáticamente porque hay conflictos.
|
pulls.cannot_auto_merge_desc=Este Pull Request no puede ser fusionado automáticamente porque hay conflictos.
|
||||||
pulls.cannot_auto_merge_helper=Por favor, fusiona manualmente para resolver los conflictos.
|
pulls.cannot_auto_merge_helper=Por favor, fusiona manualmente para resolver los conflictos.
|
||||||
pulls.create_merge_commit=Create a merge commit
|
pulls.create_merge_commit=Crear un commit del fusionado
|
||||||
pulls.rebase_before_merging=Rebase before merging
|
pulls.rebase_before_merging=Hacer rebase antes de fusionar
|
||||||
|
pulls.commit_description=Descripción del commit
|
||||||
pulls.merge_pull_request=Fusionar Pull Request
|
pulls.merge_pull_request=Fusionar Pull Request
|
||||||
pulls.open_unmerged_pull_exists=`Usted no puede realizar la operación de reapertura porque en estos momentos existe una solicitud de pull request (#%d) para el mismo repositorio con la misma información que se encuentra a la espera de aprobación`
|
pulls.open_unmerged_pull_exists=`Usted no puede realizar la operación de reapertura porque en estos momentos existe una solicitud de pull request (#%d) para el mismo repositorio con la misma información que se encuentra a la espera de aprobación`
|
||||||
pulls.delete_branch=Eliminar la rama
|
pulls.delete_branch=Eliminar la rama
|
||||||
@@ -693,7 +713,7 @@ settings.branches_bare=No puedes gestionar ramas en un repositorio vacío. Por f
|
|||||||
settings.default_branch=Rama predeterminada
|
settings.default_branch=Rama predeterminada
|
||||||
settings.default_branch_desc=Se considera la rama «base» como la rama por defecto para commits de código, las solicitudes pull y edición en línea.
|
settings.default_branch_desc=Se considera la rama «base» como la rama por defecto para commits de código, las solicitudes pull y edición en línea.
|
||||||
settings.update=Actualizar
|
settings.update=Actualizar
|
||||||
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server.
|
settings.update_default_branch_unsupported=El cambio de rama por defecto no esta soportado por la versión de Git en el servidor.
|
||||||
settings.update_default_branch_success=¡La Rama por defecto de este repositorio ha sido actualizado con éxito!
|
settings.update_default_branch_success=¡La Rama por defecto de este repositorio ha sido actualizado con éxito!
|
||||||
settings.protected_branches=Ramas protegidas
|
settings.protected_branches=Ramas protegidas
|
||||||
settings.protected_branches_desc=Proteger ramas force pushing, de eliminación accidental y lista blanca de committers de código.
|
settings.protected_branches_desc=Proteger ramas force pushing, de eliminación accidental y lista blanca de committers de código.
|
||||||
@@ -710,7 +730,7 @@ settings.protect_whitelist_users=Usuarios que pueden hacer push a esta rama
|
|||||||
settings.protect_whitelist_search_users=Buscar usuarios
|
settings.protect_whitelist_search_users=Buscar usuarios
|
||||||
settings.protect_whitelist_teams=Equipos cuyos miembros pueden hacer push a esta rama
|
settings.protect_whitelist_teams=Equipos cuyos miembros pueden hacer push a esta rama
|
||||||
settings.protect_whitelist_search_teams=Buscar equipos
|
settings.protect_whitelist_search_teams=Buscar equipos
|
||||||
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
|
settings.update_protect_branch_success=¡Las opciones de protección para esta rama se han actualizado con éxito!
|
||||||
settings.hooks=Webhooks
|
settings.hooks=Webhooks
|
||||||
settings.githooks=Git Hooks
|
settings.githooks=Git Hooks
|
||||||
settings.basic_settings=Configuración Básica
|
settings.basic_settings=Configuración Básica
|
||||||
@@ -723,7 +743,7 @@ settings.change_reponame_prompt=Este cambio afectará a los enlaces al repositor
|
|||||||
settings.advanced_settings=Ajustes avanzados
|
settings.advanced_settings=Ajustes avanzados
|
||||||
settings.wiki_desc=Activar sistema de wiki
|
settings.wiki_desc=Activar sistema de wiki
|
||||||
settings.use_internal_wiki=Usar wiki integrada
|
settings.use_internal_wiki=Usar wiki integrada
|
||||||
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
|
settings.allow_public_wiki_desc=Permitir acceso público a la wiki cuando el repositorio es privado
|
||||||
settings.use_external_wiki=Usar Wiki externa
|
settings.use_external_wiki=Usar Wiki externa
|
||||||
settings.external_wiki_url=URL externa de la Wiki
|
settings.external_wiki_url=URL externa de la Wiki
|
||||||
settings.external_wiki_url_desc=Los visitantes serán redireccionados a la URL cuando hagan click en la barra.
|
settings.external_wiki_url_desc=Los visitantes serán redireccionados a la URL cuando hagan click en la barra.
|
||||||
@@ -738,11 +758,11 @@ settings.tracker_issue_style=Estilo de etiquetado del tracker externo de inciden
|
|||||||
settings.tracker_issue_style.numeric=Numérico
|
settings.tracker_issue_style.numeric=Numérico
|
||||||
settings.tracker_issue_style.alphanumeric=Alfanumérico
|
settings.tracker_issue_style.alphanumeric=Alfanumérico
|
||||||
settings.tracker_url_format_desc=Puedes usar las plantillas <code>{user} {repo} {index}</code> para el nombre de usuario, nombre del repositorio e índice de la incidencia.
|
settings.tracker_url_format_desc=Puedes usar las plantillas <code>{user} {repo} {index}</code> para el nombre de usuario, nombre del repositorio e índice de la incidencia.
|
||||||
settings.pulls_desc=Habilitar Pull Requests para aceptar contribuciones públicas
|
settings.pulls_desc=Permitir pull requests para aceptar contribuciones entre repositorios y ramas
|
||||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
settings.pulls.ignore_whitespace=Ignorar los cambios en el espacio en blanco
|
||||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
settings.pulls.allow_rebase_merge=Permite usar rebase para fusionar los commits
|
||||||
settings.danger_zone=Zona de Peligro
|
settings.danger_zone=Zona de Peligro
|
||||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
settings.cannot_fork_to_same_owner=No puedes hacer fork del repositorio a su propietario original.
|
||||||
settings.new_owner_has_same_repo=El nuevo propietario tiene un repositorio con el mismo nombre.
|
settings.new_owner_has_same_repo=El nuevo propietario tiene un repositorio con el mismo nombre.
|
||||||
settings.convert=Convertir en un repositorio normal
|
settings.convert=Convertir en un repositorio normal
|
||||||
settings.convert_desc=Puedes convertir este repositorio en un repositorio normal. Este cambio no se puede deshacer.
|
settings.convert_desc=Puedes convertir este repositorio en un repositorio normal. Este cambio no se puede deshacer.
|
||||||
@@ -761,7 +781,7 @@ settings.wiki_deletion_success=Los datos de la wiki del repositorio han sido bor
|
|||||||
settings.delete=Eliminar este repositorio
|
settings.delete=Eliminar este repositorio
|
||||||
settings.delete_desc=Una vez has eliminado un repositorio, no hay vuelta atrás. Por favor, asegúrate de que es lo que quieres.
|
settings.delete_desc=Una vez has eliminado un repositorio, no hay vuelta atrás. Por favor, asegúrate de que es lo que quieres.
|
||||||
settings.delete_notices_1=- Esta operación <strong>NO PUEDE</strong> revertirse.
|
settings.delete_notices_1=- Esta operación <strong>NO PUEDE</strong> revertirse.
|
||||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
settings.delete_notices_2=- Esta operación eliminará de manera permanente todo el contenido de este repositorio, incluyendo los datos de Git, las incidencias, los comentarios y los permisos de acceso de los colaboradores.
|
||||||
settings.delete_notices_fork_1=- Todos los forks se convertirán en independientes tras el borrado.
|
settings.delete_notices_fork_1=- Todos los forks se convertirán en independientes tras el borrado.
|
||||||
settings.deletion_success=¡El respositorio ha sido eliminado satisfactoriamente!
|
settings.deletion_success=¡El respositorio ha sido eliminado satisfactoriamente!
|
||||||
settings.update_settings_success=Las opciones del repositorio se han actualizado correctamente.
|
settings.update_settings_success=Las opciones del repositorio se han actualizado correctamente.
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=Este usuario no podrá colaborar en este rep
|
|||||||
settings.remove_collaborator_success=El colaborador ha sido eliminado.
|
settings.remove_collaborator_success=El colaborador ha sido eliminado.
|
||||||
settings.search_user_placeholder=Buscar usuario...
|
settings.search_user_placeholder=Buscar usuario...
|
||||||
settings.org_not_allowed_to_be_collaborator=Las organizaciones no tiene permitido ser añadidas como colaboradores.
|
settings.org_not_allowed_to_be_collaborator=Las organizaciones no tiene permitido ser añadidas como colaboradores.
|
||||||
settings.add_webhook=Añadir Webhook
|
|
||||||
settings.hooks_desc=Los Webhooks permiten a servicios externos recibir notificaciones cuando sucedan ciertos eventos en Gogs. Cuando sucedan los eventos especificados, enviaremos una petición POST a cada una de las URLs indicadas. Para obtener más información, consulta nuestra <a target="_blank" href="%s">Guía de Webhooks</a>.
|
settings.hooks_desc=Los Webhooks permiten a servicios externos recibir notificaciones cuando sucedan ciertos eventos en Gogs. Cuando sucedan los eventos especificados, enviaremos una petición POST a cada una de las URLs indicadas. Para obtener más información, consulta nuestra <a target="_blank" href="%s">Guía de Webhooks</a>.
|
||||||
|
settings.webhooks.add_new=Añadir un nuevo webhook:
|
||||||
|
settings.webhooks.choose_a_type=Elige un tipo...
|
||||||
|
settings.add_webhook=Añadir Webhook
|
||||||
settings.webhook_deletion=Eliminar Webhook
|
settings.webhook_deletion=Eliminar Webhook
|
||||||
settings.webhook_deletion_desc=Al borrar este webhook se eliminará su información y todo su historial. ¿Desea continuar?
|
settings.webhook_deletion_desc=Al borrar este webhook se eliminará su información y todo su historial. ¿Desea continuar?
|
||||||
settings.webhook_deletion_success=¡Webhook eliminado con éxito!
|
settings.webhook_deletion_success=¡Webhook eliminado con éxito!
|
||||||
@@ -786,12 +808,14 @@ settings.webhook.test_delivery=Test de entrega
|
|||||||
settings.webhook.test_delivery_desc=Enviar un falso evento Push de entrega para probar tus ajustes de webhook
|
settings.webhook.test_delivery_desc=Enviar un falso evento Push de entrega para probar tus ajustes de webhook
|
||||||
settings.webhook.test_delivery_success=Probar que los webhook han sido añadidos a la cola de entrega. Esto puede tomar algunos segundos antes de aparecer en el historial de entregas.
|
settings.webhook.test_delivery_success=Probar que los webhook han sido añadidos a la cola de entrega. Esto puede tomar algunos segundos antes de aparecer en el historial de entregas.
|
||||||
settings.webhook.redelivery=Reenviar
|
settings.webhook.redelivery=Reenviar
|
||||||
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history.
|
settings.webhook.redelivery_success=La tarea del Hook '%s' ha sido reañadida en la cola de entrega. Puede tardar unos segundos en actualizarse el historial de estado de la cola.
|
||||||
settings.webhook.request=Petición
|
settings.webhook.request=Petición
|
||||||
settings.webhook.response=Respuesta
|
settings.webhook.response=Respuesta
|
||||||
settings.webhook.headers=Encabezado
|
settings.webhook.headers=Encabezado
|
||||||
settings.webhook.payload=Payload
|
settings.webhook.payload=Payload
|
||||||
settings.webhook.body=Cuerpo del mensaje
|
settings.webhook.body=Cuerpo del mensaje
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=No se puede analizar la URL de payload: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=La URL de payload se ha resuelto a una dirección de red local que está implícitamente bloqueada.
|
||||||
settings.githooks_desc=Los Git Hooks son una funcionalidad del propio Git, puedes editar los ficheros de los hooks soportados en la siguiente lista para aplicar operaciones personalizadas.
|
settings.githooks_desc=Los Git Hooks son una funcionalidad del propio Git, puedes editar los ficheros de los hooks soportados en la siguiente lista para aplicar operaciones personalizadas.
|
||||||
settings.githook_edit_desc=Si el hook no está activo, se mostrará contenido de ejemplo. Dejar el contenido vacío deshabilitará este hook.
|
settings.githook_edit_desc=Si el hook no está activo, se mostrará contenido de ejemplo. Dejar el contenido vacío deshabilitará este hook.
|
||||||
settings.githook_name=Nombre del Hook
|
settings.githook_name=Nombre del Hook
|
||||||
@@ -801,7 +825,7 @@ settings.add_webhook_desc=Enviaremos una petición <code>POST</code> a la siguie
|
|||||||
settings.payload_url=URL de Payload
|
settings.payload_url=URL de Payload
|
||||||
settings.content_type=Tipo de contenido
|
settings.content_type=Tipo de contenido
|
||||||
settings.secret=Secreto
|
settings.secret=Secreto
|
||||||
settings.secret_desc=Secret will be sent as SHA256 HMAC hex digest of payload via <code>X-Gogs-Signature</code> header.
|
settings.secret_desc=El secreto será enviado como un payload SHA256 HMAC hex digest vía cabecera <code>X-Gogs-Signature</code>.
|
||||||
settings.slack_username=Nombre de usuario
|
settings.slack_username=Nombre de usuario
|
||||||
settings.slack_icon_url=URL de icono
|
settings.slack_icon_url=URL de icono
|
||||||
settings.slack_color=Color
|
settings.slack_color=Color
|
||||||
@@ -819,10 +843,10 @@ settings.event_push=Push
|
|||||||
settings.event_push_desc=Git push a un repositorio
|
settings.event_push_desc=Git push a un repositorio
|
||||||
settings.event_issues=Incidencias
|
settings.event_issues=Incidencias
|
||||||
settings.event_issues_desc=Incidencia abierta, cerrada, reabierta, editada, asignada, desasignada, etiqueta actualizada, etiqueta limpiada, hito marcado, o desmarcado,.
|
settings.event_issues_desc=Incidencia abierta, cerrada, reabierta, editada, asignada, desasignada, etiqueta actualizada, etiqueta limpiada, hito marcado, o desmarcado,.
|
||||||
settings.event_issue_comment=Comentario de incidencia
|
|
||||||
settings.event_issue_comment_desc=Comentario de incidencias creado, editado o borrado.
|
|
||||||
settings.event_pull_request=Pull Request
|
settings.event_pull_request=Pull Request
|
||||||
settings.event_pull_request_desc=Pull request abierto, cerrado, reabierto, editado, asignado, desasignado, etiqueta actualizada, etiqueta limpiada, hito marcado, hito desmarcado, o sincronizado.
|
settings.event_pull_request_desc=Pull request abierto, cerrado, reabierto, editado, asignado, desasignado, etiqueta actualizada, etiqueta limpiada, hito marcado, hito desmarcado, o sincronizado.
|
||||||
|
settings.event_issue_comment=Comentario de incidencia
|
||||||
|
settings.event_issue_comment_desc=Comentario de incidencias creado, editado o borrado.
|
||||||
settings.event_release=Lanzamiento
|
settings.event_release=Lanzamiento
|
||||||
settings.event_release_desc=Lanzamiento publicado en un repositorio.
|
settings.event_release_desc=Lanzamiento publicado en un repositorio.
|
||||||
settings.active=Activo
|
settings.active=Activo
|
||||||
@@ -834,8 +858,8 @@ settings.delete_webhook=Borrar Webhook
|
|||||||
settings.recent_deliveries=Envíos Recientes
|
settings.recent_deliveries=Envíos Recientes
|
||||||
settings.hook_type=Tipo de Hook
|
settings.hook_type=Tipo de Hook
|
||||||
settings.add_slack_hook_desc=Añade integración con <a href="%s">Slack</a> a tu repositorio.
|
settings.add_slack_hook_desc=Añade integración con <a href="%s">Slack</a> a tu repositorio.
|
||||||
settings.add_discord_hook_desc=Añade integración con <a href="%s">Slack</a> a tu repositorio.
|
settings.add_discord_hook_desc=Añade integración con <a href="%s">Discord</a> a tu repositorio.
|
||||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
settings.add_dingtalk_hook_desc=Añade integración con <a href="%s">Dingtalk</a> a tu repositorio.
|
||||||
settings.slack_token=Token
|
settings.slack_token=Token
|
||||||
settings.slack_domain=Dominio
|
settings.slack_domain=Dominio
|
||||||
settings.slack_channel=Canal
|
settings.slack_channel=Canal
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=¡La nueva clave de desplieque '%s' ha sido creada con
|
|||||||
settings.deploy_key_deletion=Eliminar Clave de Despliegue
|
settings.deploy_key_deletion=Eliminar Clave de Despliegue
|
||||||
settings.deploy_key_deletion_desc=Al eliminar esta clave de despliegue se perderán el permiso de acceso a este repositorio con dicha clave. ¿Deseas continuar?
|
settings.deploy_key_deletion_desc=Al eliminar esta clave de despliegue se perderán el permiso de acceso a este repositorio con dicha clave. ¿Deseas continuar?
|
||||||
settings.deploy_key_deletion_success=¡Clave de despliegue eliminada con éxito!
|
settings.deploy_key_deletion_success=¡Clave de despliegue eliminada con éxito!
|
||||||
|
settings.description_desc=Descripción del repositorio. Longitud máxima de 512 caracteres.
|
||||||
|
settings.description_length=Caracteres disponibles
|
||||||
|
|
||||||
diff.browse_source=Explorar el Código
|
diff.browse_source=Explorar el Código
|
||||||
diff.parent=padre
|
diff.parent=padre
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=Utiliza este nombre para mencionar a este equipo en las convers
|
|||||||
team_desc_helper=¿En qué consiste este equipo?
|
team_desc_helper=¿En qué consiste este equipo?
|
||||||
team_permission_desc=¿Qué nivel de permisos debería tener este equipo?
|
team_permission_desc=¿Qué nivel de permisos debería tener este equipo?
|
||||||
|
|
||||||
form.name_reserved=El nombre de la organización '%s' está reservado.
|
form.name_not_allowed=El nombre de la organización o patrón %q no está permitido.
|
||||||
form.name_pattern_not_allowed=El patrón de nombre de la organización '%s' no está permitido.
|
form.team_name_not_allowed=El nombre del equipo o patrón %q no está permitido.
|
||||||
form.team_name_reserved=El nombre de equipo '%s' está reservado.
|
|
||||||
|
|
||||||
settings=Configuración
|
settings=Configuración
|
||||||
settings.options=Opciones
|
settings.options=Opciones
|
||||||
@@ -990,12 +1015,19 @@ first_page=Primera
|
|||||||
last_page=Última
|
last_page=Última
|
||||||
total=Total: %d
|
total=Total: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Build Information
|
||||||
|
dashboard.app_ver=Versión de la aplicación
|
||||||
|
dashboard.git_version=Versión de Git
|
||||||
|
dashboard.go_version=Versión de Go
|
||||||
|
dashboard.build_time=Tiempo de compilación
|
||||||
|
dashboard.build_commit=Build commit
|
||||||
dashboard.statistic=Estadísticas
|
dashboard.statistic=Estadísticas
|
||||||
dashboard.operations=Operaciones
|
dashboard.operations=Operaciones
|
||||||
dashboard.system_status=Estado del Monitor del Sistema
|
dashboard.system_status=Estado del Monitor del Sistema
|
||||||
dashboard.statistic_info=La base de datos de Gogs contiene <b>%d</b> usuarios, <b>%d</b> organizaciones, <b>%d</b> claves públicas, <b>%d</b> repositorios, <b>%d</b> vigilados, <b>%d</b> destacados, <b>%d</b> acciones, <b>%d</b> accesos, <b>%d</b> incidencias, <b>%d</b> comentarios, <b>%d</b> cuentas de redes sociales, <b>%d</b> seguidores, <b>%d</b> mirrors, <b>%d</b> releases, <b>%d</b> fuentes de login, <b>%d</b> webhooks, <b>%d</b> milestones, <b>%d</b> etiquetas, <b>%d</b> hooks, <b>%d</b> equipos, <b>%d</b> tareas actualizadas, <b>%d</b> adjuntos.
|
dashboard.statistic_info=La base de datos de Gogs contiene <b>%d</b> usuarios, <b>%d</b> organizaciones, <b>%d</b> claves públicas, <b>%d</b> repositorios, <b>%d</b> vigilados, <b>%d</b> destacados, <b>%d</b> acciones, <b>%d</b> accesos, <b>%d</b> incidencias, <b>%d</b> comentarios, <b>%d</b> cuentas de redes sociales, <b>%d</b> seguidores, <b>%d</b> mirrors, <b>%d</b> releases, <b>%d</b> fuentes de login, <b>%d</b> webhooks, <b>%d</b> milestones, <b>%d</b> etiquetas, <b>%d</b> hooks, <b>%d</b> equipos, <b>%d</b> tareas actualizadas, <b>%d</b> adjuntos.
|
||||||
dashboard.operation_name=Nombre de la operación
|
dashboard.operation_name=Nombre de la operación
|
||||||
dashboard.operation_switch=Interruptor
|
dashboard.operation_switch=Interruptor
|
||||||
|
dashboard.select_operation_to_run=Please select operation to run
|
||||||
dashboard.operation_run=Ejecutar
|
dashboard.operation_run=Ejecutar
|
||||||
dashboard.clean_unbind_oauth=Limpiar solicitudes de OAuth sin confirmar
|
dashboard.clean_unbind_oauth=Limpiar solicitudes de OAuth sin confirmar
|
||||||
dashboard.clean_unbind_oauth_success=Las solicitudes de OAuth sin confirmar se han eliminado correctamente.
|
dashboard.clean_unbind_oauth_success=Las solicitudes de OAuth sin confirmar se han eliminado correctamente.
|
||||||
@@ -1009,8 +1041,8 @@ dashboard.git_gc_repos=Ejecutar la recolección de basura en los repositorios
|
|||||||
dashboard.git_gc_repos_success=Todos los repositorios han ejecutado correctamente el recolector de basuras.
|
dashboard.git_gc_repos_success=Todos los repositorios han ejecutado correctamente el recolector de basuras.
|
||||||
dashboard.resync_all_sshkeys=Reescribir el fichero '.ssh/authorized_keys'(atención: se perderán las claves que no pertenezcan a Gogs)
|
dashboard.resync_all_sshkeys=Reescribir el fichero '.ssh/authorized_keys'(atención: se perderán las claves que no pertenezcan a Gogs)
|
||||||
dashboard.resync_all_sshkeys_success=Todas las claves públicas se han reescrito correctamente.
|
dashboard.resync_all_sshkeys_success=Todas las claves públicas se han reescrito correctamente.
|
||||||
dashboard.resync_all_hooks=Resync pre-receive, update and post-receive hooks of all repositories
|
dashboard.resync_all_hooks=Resincroniza los "hooks" de pre-recepción, actualización y post-recepción en todos los repositorios
|
||||||
dashboard.resync_all_hooks_success=All repositories' pre-receive, update and post-receive hooks have been resynced successfully.
|
dashboard.resync_all_hooks_success=Se han vuelto a sincronizar todos los "hooks" de pre-recepción, actualización y post-recepción de los repositorios con éxito.
|
||||||
dashboard.reinit_missing_repos=Reinicializar todos los registros del repositorio que tienen archivos Git eliminados
|
dashboard.reinit_missing_repos=Reinicializar todos los registros del repositorio que tienen archivos Git eliminados
|
||||||
dashboard.reinit_missing_repos_success=Todos los registros del repositorio con archivos Git eliminados han sido reinicializados con éxito.
|
dashboard.reinit_missing_repos_success=Todos los registros del repositorio con archivos Git eliminados han sido reinicializados con éxito.
|
||||||
|
|
||||||
@@ -1087,11 +1119,12 @@ repos.stars=Estrellas
|
|||||||
repos.issues=Incidencias
|
repos.issues=Incidencias
|
||||||
repos.size=Tamaño
|
repos.size=Tamaño
|
||||||
|
|
||||||
auths.auth_manage_panel=Panel de administración de autenticación
|
auths.auth_sources=Fuentes de autentificación
|
||||||
auths.new=Añadir nuevo origen
|
auths.new=Añadir nuevo origen
|
||||||
auths.name=Nombre
|
auths.name=Nombre
|
||||||
auths.type=Tipo
|
auths.type=Tipo
|
||||||
auths.enabled=Activo
|
auths.enabled=Activo
|
||||||
|
auths.default=Por defecto
|
||||||
auths.updated=Actualizado
|
auths.updated=Actualizado
|
||||||
auths.auth_type=Tipo de autenticación
|
auths.auth_type=Tipo de autenticación
|
||||||
auths.auth_name=Nombre de autenticación
|
auths.auth_name=Nombre de autenticación
|
||||||
@@ -1100,7 +1133,7 @@ auths.domain=Dominio
|
|||||||
auths.host=Host
|
auths.host=Host
|
||||||
auths.port=Puerto
|
auths.port=Puerto
|
||||||
auths.bind_dn=Bind DN
|
auths.bind_dn=Bind DN
|
||||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
auths.bind_dn_helper=Puedes usar '%s' como marcador de posición para el nombre de usuario, ej. DOM\%s
|
||||||
auths.bind_password=Contraseña Bind
|
auths.bind_password=Contraseña Bind
|
||||||
auths.bind_password_helper=Advertencia: La contraseña se almacena como texto plano. No utilice una cuenta con privilegios elevados.
|
auths.bind_password_helper=Advertencia: La contraseña se almacena como texto plano. No utilice una cuenta con privilegios elevados.
|
||||||
auths.user_base=Base de búsqueda de usuarios
|
auths.user_base=Base de búsqueda de usuarios
|
||||||
@@ -1111,10 +1144,10 @@ auths.attribute_name=Atributo nombre
|
|||||||
auths.attribute_surname=Atributo apellido
|
auths.attribute_surname=Atributo apellido
|
||||||
auths.attribute_mail=Atributo correo electrónico
|
auths.attribute_mail=Atributo correo electrónico
|
||||||
auths.verify_group_membership=Verificar pertenencia a grupo
|
auths.verify_group_membership=Verificar pertenencia a grupo
|
||||||
auths.group_search_base_dn=Group Search Base DN
|
auths.group_search_base_dn=Base DN para la búsqueda de grupos
|
||||||
auths.group_filter=Filtro de grupo
|
auths.group_filter=Filtro de grupo
|
||||||
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
|
auths.group_attribute_contain_user_list=Atributo de grupo que contiene la lista de usuarios
|
||||||
auths.user_attribute_listed_in_group=User Attribute Listed in Group
|
auths.user_attribute_listed_in_group=Atributo de usuario listado en grupo
|
||||||
auths.attributes_in_bind=Buscar atributos en el contexto del Bind DN
|
auths.attributes_in_bind=Buscar atributos en el contexto del Bind DN
|
||||||
auths.filter=Filtro de usuario
|
auths.filter=Filtro de usuario
|
||||||
auths.admin_filter=Filtro de aministrador
|
auths.admin_filter=Filtro de aministrador
|
||||||
@@ -1128,9 +1161,9 @@ auths.enable_tls=Habilitar cifrado TLS
|
|||||||
auths.skip_tls_verify=Omitir la verificación TLS
|
auths.skip_tls_verify=Omitir la verificación TLS
|
||||||
auths.pam_service_name=Nombre del Servicio PAM
|
auths.pam_service_name=Nombre del Servicio PAM
|
||||||
auths.enable_auto_register=Hablilitar Auto-Registro
|
auths.enable_auto_register=Hablilitar Auto-Registro
|
||||||
auths.tips=Consejos
|
|
||||||
auths.edit=Editar la Configuración de Autenticación
|
auths.edit=Editar la Configuración de Autenticación
|
||||||
auths.activated=Esta autenticación ha sido activada
|
auths.activated=Esta autenticación ha sido activada
|
||||||
|
auths.default_auth=Esta autenticación es la fuente de inicio de sesión predeterminada
|
||||||
auths.new_success=¡La autenticación '%s' ha sido añadida con éxito!
|
auths.new_success=¡La autenticación '%s' ha sido añadida con éxito!
|
||||||
auths.update_success=La configuración de autenticación ha sido actualizada con éxito.
|
auths.update_success=La configuración de autenticación ha sido actualizada con éxito.
|
||||||
auths.update=Actualizar la configuración de autenticación
|
auths.update=Actualizar la configuración de autenticación
|
||||||
@@ -1140,120 +1173,186 @@ auths.delete_auth_desc=Esta autenticación será eliminada. ¿Deseas continuar?
|
|||||||
auths.still_in_used=Este método de autentificación aún es utilizado por algunos usuarios, por favor elimine o convierta estos usuarios a otro tipo de autentificación.
|
auths.still_in_used=Este método de autentificación aún es utilizado por algunos usuarios, por favor elimine o convierta estos usuarios a otro tipo de autentificación.
|
||||||
auths.deletion_success=¡La autenticación ha sido eliminada con éxito!
|
auths.deletion_success=¡La autenticación ha sido eliminada con éxito!
|
||||||
auths.login_source_exist=El origen de autenticación '%s' ya existe.
|
auths.login_source_exist=El origen de autenticación '%s' ya existe.
|
||||||
|
auths.github_api_endpoint=Endpoint de la API
|
||||||
|
|
||||||
config.not_set=(not set)
|
config.not_set=(sin definir)
|
||||||
config.server_config=Configuración del servidor
|
config.server_config=Configuración del servidor
|
||||||
config.app_name=Nombre de la Aplicación
|
config.brand_name=Nombre de la marca
|
||||||
config.app_ver=Versión de la Aplicación
|
|
||||||
config.app_url=URL de la Aplicación
|
|
||||||
config.domain=Dominio
|
|
||||||
config.offline_mode=Modo Sin Conexión
|
|
||||||
config.disable_router_log=Deshabilitar Log del Router
|
|
||||||
config.run_user=Ejecutada como Usuario
|
config.run_user=Ejecutada como Usuario
|
||||||
config.run_mode=Modo de ejecución
|
config.run_mode=Modo de ejecución
|
||||||
config.git_version=Versión de Git
|
config.server.external_url=URL externa
|
||||||
config.static_file_root_path=Ruta de los Ficheros Estáticos
|
config.server.domain=Dominio
|
||||||
config.log_file_root_path=Ruta de los Ficheros de Log
|
config.server.protocol=Protocolo
|
||||||
config.reverse_auth_user=Autenticación Inversa de Usuario
|
config.server.http_addr=Dirección HTTP
|
||||||
|
config.server.http_port=Puerto HTTP
|
||||||
|
config.server.cert_file=Archivo de certificado
|
||||||
|
config.server.key_file=Archivo de claves
|
||||||
|
config.server.tls_min_version=Versión mínima de TLS
|
||||||
|
config.server.unix_socket_permission=Unix socket permission
|
||||||
|
config.server.local_root_url=Local root URL
|
||||||
|
config.server.offline_mode=Offline mode
|
||||||
|
config.server.disable_router_log=Disable router log
|
||||||
|
config.server.enable_gzip=Enable Gzip
|
||||||
|
config.server.app_data_path=Application data path
|
||||||
|
config.server.load_assets_from_disk=Load assets from disk
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
config.ssh_config=Configuración SSH
|
config.ssh_config=Configuración SSH
|
||||||
config.ssh_enabled=Habilitado
|
config.ssh.enabled=Activado
|
||||||
config.ssh_start_builtin_server=Iniciar servidor integrado
|
config.ssh.domain=Dominio expuesto
|
||||||
config.ssh_domain=Dominio
|
config.ssh.port=Puerto expuesto
|
||||||
config.ssh_port=Puerto
|
config.ssh.root_path=Root path
|
||||||
config.ssh_listen_port=Puerto de escucha
|
config.ssh.keygen_path=Ruta del generador de claves
|
||||||
config.ssh_root_path=Ruta raíz
|
config.ssh.key_test_path=Ruta de la clave de prueba
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Comprobación del tamaño mínimo de la clave
|
||||||
config.ssh_key_test_path=Ruta de la clave de prueba
|
config.ssh.minimum_key_sizes=Tamaño mínimo de las claves
|
||||||
config.ssh_keygen_path=Ruta del generador de claves ('ssh-keygen')
|
config.ssh.rewrite_authorized_keys_at_start=Reescribir "authorized_keys" al inicio
|
||||||
config.ssh_minimum_key_size_check=Tamaño mínimo de la clave de verificación
|
config.ssh.start_builtin_server=Iniciar servidor integrado
|
||||||
config.ssh_minimum_key_sizes=Tamaños de clave mínimos
|
config.ssh.listen_host=Host de escucha
|
||||||
|
config.ssh.listen_port=Puerto de escucha
|
||||||
|
config.ssh.server_ciphers=Cifrados del servidor
|
||||||
|
config.ssh.server_macs=MACs del servidor
|
||||||
|
config.ssh.server_algorithms=Algoritmos del servidor
|
||||||
|
|
||||||
config.repo_config=Configuración del repositorio
|
config.repo_config=Configuración del repositorio
|
||||||
config.repo_root_path=Ruta del Repositorio
|
config.repo.root_path=Ruta raíz
|
||||||
config.script_type=Tipo de Script
|
config.repo.script_type=Script type
|
||||||
config.repo_force_private=Forzar Privado
|
config.repo.ansi_chatset=ANSI charset
|
||||||
config.max_creation_limit=Limite máximo de creación
|
config.repo.force_private=Force private
|
||||||
config.preferred_licenses=Licencias Preferidas
|
config.repo.max_creation_limit=Max creation limit
|
||||||
config.disable_http_git=Desactivar HTTP Git
|
config.repo.preferred_licenses=Licencias preferidas
|
||||||
config.enable_local_path_migration=Activar la migración de la ruta de acceso Local
|
config.repo.disable_http_git=Disable HTTP Git
|
||||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
config.http_config=HTTP Configuration
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Upload enabled
|
||||||
|
config.repo.upload.temp_path=Upload temporary path
|
||||||
|
config.repo.upload.allowed_types=Upload allowed types
|
||||||
|
config.repo.upload.file_max_size=Upload file size limit
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=Configuración de la Base de Datos
|
config.db_config=Configuración de la Base de Datos
|
||||||
config.db_type=Tipo
|
config.db.type=Tipo
|
||||||
config.db_host=Host
|
config.db.host=Host
|
||||||
config.db_name=Nombre
|
config.db.name=Nombre
|
||||||
config.db_user=Usuario
|
config.db.schema=Esquema
|
||||||
config.db_ssl_mode=Modo SSL
|
config.db.schema_helper=(sólo para "postgres")
|
||||||
config.db_ssl_mode_helper=(sólo para "postgres")
|
config.db.user=Usuario
|
||||||
config.db_path=Ruta
|
config.db.ssl_mode=SSL mode
|
||||||
config.db_path_helper=(para "sqlite3" y "tidb")
|
config.db.ssl_mode_helper=(sólo para "postgres")
|
||||||
|
config.db.path=Ruta
|
||||||
|
config.db.path_helper=(sólo para "sqlite3")
|
||||||
|
config.db.max_open_conns=Número máximo de conexiones abiertas
|
||||||
|
config.db.max_idle_conns=Número máximo de conexiones inactivas
|
||||||
|
|
||||||
config.service_config=Configuración del servicio
|
config.security_config=Security configuration
|
||||||
config.register_email_confirm=Solicitar Confirmación por Correo Electrónico
|
config.security.login_remember_days=Login remember days
|
||||||
config.disable_register=Deshabilitar el Registro
|
config.security.cookie_remember_name=Remember cookie
|
||||||
config.show_registration_button=Mostrar Botón de Registro
|
config.security.cookie_username=Username cookie
|
||||||
config.require_sign_in_view=Solicitar la Vista de Inicio de Sesión
|
config.security.cookie_secure=Enable secure cookie
|
||||||
config.mail_notify=Notificación por Correo Electrónico
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=Deshabilitar la comprobación de Tamaño Mínimo de Clave
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=Activar Captcha
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=Habilitar Vida del Código
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=Restablecer Contraseña de Vida del Código
|
|
||||||
|
|
||||||
config.webhook_config=Configuración de Webhooks
|
config.email_config=Email configuration
|
||||||
config.queue_length=Tamaño de Cola de Envío
|
config.email.enabled=Enabled
|
||||||
config.deliver_timeout=Timeout de Entrega
|
config.email.subject_prefix=Subject prefix
|
||||||
config.skip_tls_verify=Omitir la Verificación TLS
|
config.email.host=Host
|
||||||
|
config.email.from=From
|
||||||
|
config.email.user=User
|
||||||
|
config.email.disable_helo=Disable HELO
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
config.email.skip_verify=Skip certificate verify
|
||||||
|
config.email.use_certificate=Use custom certificate
|
||||||
|
config.email.cert_file=Certificate file
|
||||||
|
config.email.key_file=Archivo de claves
|
||||||
|
config.email.use_plain_text=Use plain text
|
||||||
|
config.email.add_plain_text_alt=Add plain text alternative
|
||||||
|
config.email.send_test_mail=Enviar correo de prueba
|
||||||
|
config.email.test_mail_failed=Error al enviar correo electrónico de prueba a '%s': %v
|
||||||
|
config.email.test_mail_sent=Test email has been sent to '%s'.
|
||||||
|
|
||||||
config.mailer_config=Configuración del servidor de correo
|
config.auth_config=Authentication configuration
|
||||||
config.mailer_enabled=Activado
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=Desactivar HELO
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=Host
|
config.auth.require_email_confirm=Require email confirmation
|
||||||
config.mailer_user=Usuario
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=Enviar email de prueba
|
config.auth.disable_registration=Disable registration
|
||||||
config.test_mail_failed=Fallo al enviar el email de prueba a '%s': %v
|
config.auth.enable_registration_captcha=Enable registration captcha
|
||||||
config.test_mail_sent=El email de prueba ha sido enviado a '%s'.
|
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
config.oauth_config=Configuración OAuth
|
config.user_config=User configuration
|
||||||
config.oauth_enabled=Activado
|
config.user.enable_email_notify=Enable email notification
|
||||||
|
|
||||||
config.cache_config=Configuración de la Caché
|
|
||||||
config.cache_adapter=Adaptador de la Caché
|
|
||||||
config.cache_interval=Intervalo de la Caché
|
|
||||||
config.cache_conn=Conexión de la Caché
|
|
||||||
|
|
||||||
config.session_config=Configuración de la Sesión
|
config.session_config=Configuración de la Sesión
|
||||||
config.session_provider=Proveedor de la Sesión
|
config.session.provider=Provider
|
||||||
config.provider_config=Configuración del Proveedor
|
config.session.provider_config=Provider config
|
||||||
config.cookie_name=Nombre de la Cookie
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=Activar Establecimiento de Cookie
|
config.session.https_only=HTTPS only
|
||||||
config.gc_interval_time=Intervalo de tiempo del GC
|
config.session.gc_interval=GC interval
|
||||||
config.session_life_time=Tiempo de Vida de la Sesión
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=Sólo HTTPS
|
config.session.csrf_cookie_name=CSRF cookie
|
||||||
config.cookie_life_time=Tiempo de Vida de la Cookie
|
|
||||||
|
config.cache_config=Configuración de la Caché
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC interval
|
||||||
|
config.cache.host=Host
|
||||||
|
|
||||||
|
config.http_config=Configuración HTTP
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Enabled
|
||||||
|
config.attachment.path=Path
|
||||||
|
config.attachment.allowed_types=Allowed types
|
||||||
|
config.attachment.max_size=Size limit
|
||||||
|
config.attachment.max_files=Files limit
|
||||||
|
|
||||||
|
config.release_config=Release configuration
|
||||||
|
config.release.attachment.enabled=Attachment enabled
|
||||||
|
config.release.attachment.allowed_types=Attachment allowed types
|
||||||
|
config.release.attachment.max_size=Attachment size limit
|
||||||
|
config.release.attachment.max_files=Attachment files limit
|
||||||
|
|
||||||
config.picture_config=Configuración de Imagen
|
config.picture_config=Configuración de Imagen
|
||||||
config.picture_service=Servicio de Imágen
|
config.picture.avatar_upload_path=User avatar upload path
|
||||||
config.disable_gravatar=Desactivar Gravatar
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=Habilitar Avatares Federados
|
config.picture.gravatar_source=Gravatar source
|
||||||
|
config.picture.disable_gravatar=Disable Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Mirror configuration
|
||||||
|
config.mirror.default_interval=Intervalo por defecto
|
||||||
|
|
||||||
|
config.webhook_config=Configuración de Webhooks
|
||||||
|
config.webhook.types=Types
|
||||||
|
config.webhook.deliver_timeout=Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify=Skip TLS verify
|
||||||
|
|
||||||
config.git_config=Configuración de Git
|
config.git_config=Configuración de Git
|
||||||
config.git_disable_diff_highlight=Desactivar resaltado de sintaxis del Diff
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
config.git_max_diff_lines=Líneas de Diff máximas (por un solo archivo)
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=Carácteres de Diff máximos (para una sola línea)
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=Máximo de archivos de Diff (que se mostrarán)
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=Argumentos de GC
|
config.git.gc_args=GC arguments
|
||||||
config.git_migrate_timeout=Tiempo de espera de migración
|
config.git.migrate_timeout=Migration timeout
|
||||||
config.git_mirror_timeout=Tiempo de espera de actualización de réplicas
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
config.git_clone_timeout=Tiempo de espera de operación de clones
|
config.git.clone_timeout=Clone timeout
|
||||||
config.git_pull_timeout=Tiempo de espera de operación de pull
|
config.git.pull_timeout=Pull timeout
|
||||||
config.git_gc_timeout=Tiempo de espera de operación de GC
|
config.git.gc_timeout=GC timeout
|
||||||
|
|
||||||
|
config.lfs_config=LFS configuration
|
||||||
|
config.lfs.storage=Storage
|
||||||
|
config.lfs.objects_path=Objects path
|
||||||
|
|
||||||
config.log_config=Configuración del Log
|
config.log_config=Configuración del Log
|
||||||
|
config.log_file_root_path=Ruta de los Ficheros de Log
|
||||||
config.log_mode=Modo
|
config.log_mode=Modo
|
||||||
config.log_options=Opciones
|
config.log_options=Opciones
|
||||||
|
|
||||||
@@ -1284,7 +1383,6 @@ notices.delete_success=Las notificaciones del sistema han sido eliminadas satisf
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=creó el repositorio <a href="%s">%s</a>
|
create_repo=creó el repositorio <a href="%s">%s</a>
|
||||||
fork_repo=ha hecho un Fork en <a href="%s">%s</a>
|
|
||||||
rename_repo=repositorio renombrado de <code>%[1]s</code> a <a href="%[2]s">%[3]s</a>
|
rename_repo=repositorio renombrado de <code>%[1]s</code> a <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo=hizo push a <a href="%[1]s/src/%[2]s">%[3]s</a> en <a href="%[1]s">%[4]s</a>
|
commit_repo=hizo push a <a href="%[1]s/src/%[2]s">%[3]s</a> en <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=Ver comparación de estos %d commits
|
compare_commits=Ver comparación de estos %d commits
|
||||||
@@ -1296,11 +1394,15 @@ comment_issue=`comentó en la incidencia <a href="%s/issues/%s">%s#%[2]s</a>`
|
|||||||
create_pull_request=`creado pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
create_pull_request=`creado pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
close_pull_request=`cerró el pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
close_pull_request=`cerró el pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
reopen_pull_request=`reabrió el pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
reopen_pull_request=`reabrió el pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
merge_pull_request=`fusionado pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
merge_pull_request=`fusionó el pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
create_branch=nueva rama <a href="%[1]s/src/%[2]s">%[3]s</a> creada en <a href="%[1]s">%[4]s</a>
|
create_branch=nueva rama <a href="%[1]s/src/%[2]s">%[3]s</a> creada en <a href="%[1]s">%[4]s</a>
|
||||||
delete_branch=borrada rama <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_branch=borrada rama <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=hizo push del tag <a href="%s/src/%s">%[2]s</a> a <a href="%[1]s">%[3]s</a>
|
push_tag=hizo push del tag <a href="%s/src/%s">%[2]s</a> a <a href="%[1]s">%[3]s</a>
|
||||||
delete_tag=borrada etiqueta <code>%[2]s</code> en <a href="%[1]s">%[3]s</a>
|
delete_tag=borrada etiqueta <code>%[2]s</code> en <a href="%[1]s">%[3]s</a>
|
||||||
|
fork_repo=ha hecho un Fork en <a href="%s">%s</a>
|
||||||
|
mirror_sync_push=sincronizados commits a <a href="%[1]s/src/%[2]s">%[3]s</a> en <a href="%[1]s">%[4]s</a> desde la réplica
|
||||||
|
mirror_sync_create=sincronizada nueva referencia <a href="%s/src/%s">%[2]s</a> a <a href="%[1]s">%[3]s</a> desde la réplica
|
||||||
|
mirror_sync_delete=sincronizada y eliminada referencia <code>%[2]s</code> en <a href="%[1]s">%[3]s</a> desde la réplica
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=hace
|
ago=hace
|
||||||
@@ -1322,6 +1424,7 @@ months=%[2]s %[1]d meses
|
|||||||
years=%[2]s %[1]d años
|
years=%[2]s %[1]d años
|
||||||
raw_seconds=segundos
|
raw_seconds=segundos
|
||||||
raw_minutes=minutos
|
raw_minutes=minutos
|
||||||
|
raw_hours=hours
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Suéltelos aquí o pulse para cargar archivos.
|
default_message=Suéltelos aquí o pulse para cargar archivos.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=خروج
|
|||||||
sign_up=ثبتنام کنید
|
sign_up=ثبتنام کنید
|
||||||
register=ثبت نام
|
register=ثبت نام
|
||||||
website=وبسایت
|
website=وبسایت
|
||||||
version=نسخه
|
|
||||||
page=صفحه
|
page=صفحه
|
||||||
template=قالب
|
template=قالب
|
||||||
language=زبان
|
language=زبان
|
||||||
@@ -44,17 +43,22 @@ issues=مسائل
|
|||||||
|
|
||||||
cancel=لغو
|
cancel=لغو
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=صفحه مورد نظر یافت نشد.
|
||||||
|
internal_server_error=خطای داخلی سرور
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=نصب
|
install=نصب
|
||||||
title=مراحل نصب برای اولین اجرا
|
title=مراحل نصب برای اولین اجرا
|
||||||
docker_helper=اگر شما Gogs را با استفاده از Docker اجرا میکنید، لطفا قبل از انجام هرگونه تغییر این <a target="_blank" href="%s"> راهنما</a> را به دقت مطالعه فرمایید!
|
docker_helper=اگر شما Gogs را با استفاده از Docker اجرا میکنید، لطفا قبل از انجام هرگونه تغییر این <a target="_blank" href="%s"> راهنما</a> را به دقت مطالعه فرمایید!
|
||||||
requite_db_desc=Gogs نیاز به MySQLِ یا PostgreSQL یا SQLite3 یا MSSQL یا TiDB دارد.
|
requite_db_desc=Gogs جهت راهاندازی نیازمند یکی از پایگاه دادههای MySQL، PostgreSql، SQLite3 و TIDB میباشد.
|
||||||
db_title=تنظیمات پایگاه داده
|
db_title=تنظیمات پایگاه داده
|
||||||
db_type=نوع پایگاه داده
|
db_type=نوع پایگاه داده
|
||||||
host=میزبان
|
host=میزبان
|
||||||
user=کاربر
|
user=کاربر
|
||||||
password=رمز عبور
|
password=رمز عبور
|
||||||
db_name=نام پایگاه داده
|
db_name=نام پایگاه داده
|
||||||
|
db_schema=Schema
|
||||||
db_helper=در صورت استفاده از MySQL لطفا از موتور INNODB و کد کاراکتری utf8_general_ci استفاده نمایید.
|
db_helper=در صورت استفاده از MySQL لطفا از موتور INNODB و کد کاراکتری utf8_general_ci استفاده نمایید.
|
||||||
ssl_mode=حالت امن (SSL)
|
ssl_mode=حالت امن (SSL)
|
||||||
path=مسیر
|
path=مسیر
|
||||||
@@ -84,6 +88,7 @@ log_root_path=مسیر گزارشها
|
|||||||
log_root_path_helper=پوشهای برای نوشتن فایل گزارش.
|
log_root_path_helper=پوشهای برای نوشتن فایل گزارش.
|
||||||
enable_console_mode=فعال کردن حالت کنسول
|
enable_console_mode=فعال کردن حالت کنسول
|
||||||
enable_console_mode_popup=لاگها علاوه بر ذخیره در فایل، در کنسول نیز به نمایش در آید.
|
enable_console_mode_popup=لاگها علاوه بر ذخیره در فایل، در کنسول نیز به نمایش در آید.
|
||||||
|
default_branch=Default Branch
|
||||||
|
|
||||||
optional_title=تنظیمات اختیاری
|
optional_title=تنظیمات اختیاری
|
||||||
email_title=تنظیمات سرویس ایمیل
|
email_title=تنظیمات سرویس ایمیل
|
||||||
@@ -122,6 +127,7 @@ run_user_not_match=کاربری را اجرا کنید که کاربر فعلی
|
|||||||
smtp_host_missing_port=شماره پورت در آدرس میزبان SMTP وارد نشده است.
|
smtp_host_missing_port=شماره پورت در آدرس میزبان SMTP وارد نشده است.
|
||||||
invalid_smtp_from=مقدار وارد شده در فرم SMTP معتبر نیست: %v
|
invalid_smtp_from=مقدار وارد شده در فرم SMTP معتبر نیست: %v
|
||||||
save_config_failed=تنظیمات ذخیره نشد: %v
|
save_config_failed=تنظیمات ذخیره نشد: %v
|
||||||
|
init_failed=بارگزاری برنامه به مشکل برخورد: %v
|
||||||
invalid_admin_setting=تنظیمات حساب مدیر نامعتبر است: %v
|
invalid_admin_setting=تنظیمات حساب مدیر نامعتبر است: %v
|
||||||
install_success=خوش آمدی! ما خوشحالیم که شما Gogs را انتخاب کردید. لذت ببرید و مراقب خودتون باشید.
|
install_success=خوش آمدی! ما خوشحالیم که شما Gogs را انتخاب کردید. لذت ببرید و مراقب خودتون باشید.
|
||||||
invalid_log_root_path=آدرس روت فایل لاگ صحیح نیست: %v
|
invalid_log_root_path=آدرس روت فایل لاگ صحیح نیست: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=قبلا ثبت نام کردید؟ از اینجا وارد
|
|||||||
social_register_hepler_msg=تا به حال حسابی داشته اید؟ به ما بپیوندید!
|
social_register_hepler_msg=تا به حال حسابی داشته اید؟ به ما بپیوندید!
|
||||||
disable_register_prompt=با عرض پوزش، ثبت نام غیرفعال شده است. لطفا با مدیر سایت تماس بگیرید.
|
disable_register_prompt=با عرض پوزش، ثبت نام غیرفعال شده است. لطفا با مدیر سایت تماس بگیرید.
|
||||||
disable_register_mail=با عرض پوزش، تایید ایمیل ثبت نام غیر فعال شده است.
|
disable_register_mail=با عرض پوزش، تایید ایمیل ثبت نام غیر فعال شده است.
|
||||||
|
auth_source=محل احراز هویت
|
||||||
|
local=محلی
|
||||||
remember_me=مرا به خاطر بسپار
|
remember_me=مرا به خاطر بسپار
|
||||||
forgot_password=فراموشی رمز عبور
|
forgot_password=فراموشی رمز عبور
|
||||||
forget_password=رمز عبور خود را فراموش کردهاید؟
|
forget_password=رمز عبور خود را فراموش کردهاید؟
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=نام سازمان قبلا استفاده شده است.
|
|||||||
team_name_been_taken=نام تیم گرفته شده است.
|
team_name_been_taken=نام تیم گرفته شده است.
|
||||||
email_been_used=آدرس ایمیل قبلا استفاده شده است.
|
email_been_used=آدرس ایمیل قبلا استفاده شده است.
|
||||||
username_password_incorrect=نام کاربری یا رمز عبور صحیح نیست.
|
username_password_incorrect=نام کاربری یا رمز عبور صحیح نیست.
|
||||||
|
auth_source_mismatch=محل احراز هویت انتخاب شده با کاربر در ارتباط نمیباشد.
|
||||||
enterred_invalid_repo_name=لطفا مطمئن شوید که نام مخزن وارد شده صحیح است.
|
enterred_invalid_repo_name=لطفا مطمئن شوید که نام مخزن وارد شده صحیح است.
|
||||||
enterred_invalid_owner_name=لطفا مطمئن شوید که نام مالک وارد شده صحیح است.
|
enterred_invalid_owner_name=لطفا مطمئن شوید که نام مالک وارد شده صحیح است.
|
||||||
enterred_invalid_password=لطفا مطمئن شوید که رمز عبور وارد شده صحیح است.
|
enterred_invalid_password=لطفا مطمئن شوید که رمز عبور وارد شده صحیح است.
|
||||||
@@ -256,8 +265,7 @@ following=دنبال می کند
|
|||||||
follow=دنبال کردن
|
follow=دنبال کردن
|
||||||
unfollow=لغو دنبال کردن
|
unfollow=لغو دنبال کردن
|
||||||
|
|
||||||
form.name_reserved=نام کاربری "%s" استفاده شده است.
|
form.name_not_allowed=الگوی نام کاربری '%s' مجاز نیست.
|
||||||
form.name_pattern_not_allowed=الگوی نام کاربری '%s' مجاز نیست.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=پروفایل
|
profile=پروفایل
|
||||||
@@ -309,6 +317,7 @@ delete_email=حذف
|
|||||||
email_deletion=حذف ایمیل
|
email_deletion=حذف ایمیل
|
||||||
email_deletion_desc=حذف این آدرس ایمیل دیگر اطلاعات مربوط به آن را هم از حساب شما حذف میکند. آیا مایلید ادامه دهید؟
|
email_deletion_desc=حذف این آدرس ایمیل دیگر اطلاعات مربوط به آن را هم از حساب شما حذف میکند. آیا مایلید ادامه دهید؟
|
||||||
email_deletion_success=ایمیل با موفقیت حذف شد!
|
email_deletion_success=ایمیل با موفقیت حذف شد!
|
||||||
|
email_deletion_primary=Cannot delete primary email address.
|
||||||
add_new_email=اضافه کردن آدرس ایمیل جدید
|
add_new_email=اضافه کردن آدرس ایمیل جدید
|
||||||
add_email=اضافه کردن ایمیل
|
add_email=اضافه کردن ایمیل
|
||||||
add_email_confirmation_sent=یک ایمیل تایید به آدرس %s ارسال شد, لطفا صندوق خود را حداکثر تا %d ساعت دیگر برای تکمیل فرایند تایید بررسی کنید.
|
add_email_confirmation_sent=یک ایمیل تایید به آدرس %s ارسال شد, لطفا صندوق خود را حداکثر تا %d ساعت دیگر برای تکمیل فرایند تایید بررسی کنید.
|
||||||
@@ -350,6 +359,7 @@ two_factor_or_enter_secret=و یا رمز را پارد کنید:
|
|||||||
two_factor_then_enter_passcode=سپس رمز عبور را وارد کنید:
|
two_factor_then_enter_passcode=سپس رمز عبور را وارد کنید:
|
||||||
two_factor_verify=تاییدکنید
|
two_factor_verify=تاییدکنید
|
||||||
two_factor_invalid_passcode=رمز عبور وارد شده معتبر نیست, لطفا دوباره سعی کنید!
|
two_factor_invalid_passcode=رمز عبور وارد شده معتبر نیست, لطفا دوباره سعی کنید!
|
||||||
|
two_factor_reused_passcode=رمز وارد شده قبلا استفاده شده، لطفا یک عبارت دیگر را امتحان کنید!
|
||||||
two_factor_enable_error=فعال کردن احراز هویت دوگانه ناموفق بود: %v
|
two_factor_enable_error=فعال کردن احراز هویت دوگانه ناموفق بود: %v
|
||||||
two_factor_enable_success=احراز هویت دوگانه با موفقیت برای حساب شما فعال شد!
|
two_factor_enable_success=احراز هویت دوگانه با موفقیت برای حساب شما فعال شد!
|
||||||
two_factor_recovery_codes_title=کدهای بازیابی احراز هویت دوگانه
|
two_factor_recovery_codes_title=کدهای بازیابی احراز هویت دوگانه
|
||||||
@@ -364,6 +374,7 @@ two_factor_disable_success=احراز هویت دوعاملی با موفقیت
|
|||||||
manage_access_token=مدیریت توکن دسترسی شخصی
|
manage_access_token=مدیریت توکن دسترسی شخصی
|
||||||
generate_new_token=تولید توکن جدید
|
generate_new_token=تولید توکن جدید
|
||||||
tokens_desc=نشانه ایجاد شده که می تواند برای دسترسی به رابط های برنامه کاربردی Gogs مورد استفاده قرار گیرد.
|
tokens_desc=نشانه ایجاد شده که می تواند برای دسترسی به رابط های برنامه کاربردی Gogs مورد استفاده قرار گیرد.
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc=هر توکن می تواند دسترسی کامل به حساب شما داشته باشد.
|
new_token_desc=هر توکن می تواند دسترسی کامل به حساب شما داشته باشد.
|
||||||
token_name=نام توکن
|
token_name=نام توکن
|
||||||
generate_token=تولید توکن
|
generate_token=تولید توکن
|
||||||
@@ -372,6 +383,7 @@ delete_token=حذف
|
|||||||
access_token_deletion=حذف توکن دسترسی شخصی
|
access_token_deletion=حذف توکن دسترسی شخصی
|
||||||
access_token_deletion_desc=حذف این توکن دسترسی شخصی ، تمام دسترسی های مرتبط به برنامه را حذف خواهد کرد. آیا ادامه می دهید؟
|
access_token_deletion_desc=حذف این توکن دسترسی شخصی ، تمام دسترسی های مرتبط به برنامه را حذف خواهد کرد. آیا ادامه می دهید؟
|
||||||
delete_token_success=رمز دسترسی شخصی با موفقیت حذف شد! به روز رسانی نرم افزار خود را نیز فراموش نکنید.
|
delete_token_success=رمز دسترسی شخصی با موفقیت حذف شد! به روز رسانی نرم افزار خود را نیز فراموش نکنید.
|
||||||
|
token_name_exists=نشان امنیتی با این نام از قبل وجود دارد
|
||||||
|
|
||||||
orgs.none=شما عضو هیچ سازمانی نیستید.
|
orgs.none=شما عضو هیچ سازمانی نیستید.
|
||||||
orgs.leave_title=ترک یک سازمان
|
orgs.leave_title=ترک یک سازمان
|
||||||
@@ -393,7 +405,9 @@ owner=صاحب
|
|||||||
repo_name=نام مخزن
|
repo_name=نام مخزن
|
||||||
repo_name_helper=نام خوب مخزن معمولا از کلمات کلیدی کوتاه و به یاد ماندنی و منحصر به فرد تشکیل شده است.
|
repo_name_helper=نام خوب مخزن معمولا از کلمات کلیدی کوتاه و به یاد ماندنی و منحصر به فرد تشکیل شده است.
|
||||||
visibility=قابل مشاهده بودن
|
visibility=قابل مشاهده بودن
|
||||||
|
unlisted=Unlisted
|
||||||
visiblity_helper=این مخزن <span class="ui red text"> خصوصی</span> است
|
visiblity_helper=این مخزن <span class="ui red text"> خصوصی</span> است
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=مدیر سایت تمام مخازن جدید را ملزم کرده است که <span class="ui red text">خصوصی</span> باشند
|
visiblity_helper_forced=مدیر سایت تمام مخازن جدید را ملزم کرده است که <span class="ui red text">خصوصی</span> باشند
|
||||||
visiblity_fork_helper=(تغییر این مقدار تمام انشعاب ها را تحت تاثیر می گذارد)
|
visiblity_fork_helper=(تغییر این مقدار تمام انشعاب ها را تحت تاثیر می گذارد)
|
||||||
clone_helper=برای مشابه سازی نیاز به کمک دارید؟ این <a target="_blank" href="%s">راهنمایی</a> را ببینید!
|
clone_helper=برای مشابه سازی نیاز به کمک دارید؟ این <a target="_blank" href="%s">راهنمایی</a> را ببینید!
|
||||||
@@ -419,10 +433,11 @@ mirror_last_synced=آخرین همگام سازی
|
|||||||
watchers=دنبالکنندگان
|
watchers=دنبالکنندگان
|
||||||
stargazers=ستاره شناسان
|
stargazers=ستاره شناسان
|
||||||
forks=انشعاب ها
|
forks=انشعاب ها
|
||||||
|
repo_description_helper=توضیحات مخرن. حداکثر طول ۵۱۲ کاراکتر.
|
||||||
|
repo_description_length=کاراکترهای موجود
|
||||||
|
|
||||||
form.reach_limit_of_creation=مخزن های دارنده حساب به حداکثر تعداد مجاز %d رسیده است.
|
form.reach_limit_of_creation=مخزن های دارنده حساب به حداکثر تعداد مجاز %d رسیده است.
|
||||||
form.name_reserved=یک مخزن با نام '%s' از قبل وجود دارد.
|
form.name_not_allowed=الگو یا نام مخزن %s مجاز نیست.
|
||||||
form.name_pattern_not_allowed=ساختار '%s' برای نام مخزن مجاز نیست.
|
|
||||||
|
|
||||||
need_auth=نیاز به مجوز
|
need_auth=نیاز به مجوز
|
||||||
migrate_type=نوع انتقال
|
migrate_type=نوع انتقال
|
||||||
@@ -433,6 +448,7 @@ migrate.clone_address_desc=آدرس می تواند از نوع HTTP/HTTPS/GIT
|
|||||||
migrate.clone_address_desc_import_local=شما همچنین می توانید یک مخزن را با یک آدرس لوکال همگام سازی نمایید.
|
migrate.clone_address_desc_import_local=شما همچنین می توانید یک مخزن را با یک آدرس لوکال همگام سازی نمایید.
|
||||||
migrate.permission_denied=شما مجاز به بارگزاری مخازن لوکال نیستید.
|
migrate.permission_denied=شما مجاز به بارگزاری مخازن لوکال نیستید.
|
||||||
migrate.invalid_local_path=مسیر محلی غیرمعتبر، این مسیر یا موجود نیست و یا یک دارکتوری نیست.
|
migrate.invalid_local_path=مسیر محلی غیرمعتبر، این مسیر یا موجود نیست و یا یک دارکتوری نیست.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=انتقال انجام نشد: %v
|
migrate.failed=انتقال انجام نشد: %v
|
||||||
|
|
||||||
mirror_from=mirrorاز
|
mirror_from=mirrorاز
|
||||||
@@ -480,6 +496,8 @@ branches.stale_branches=شاخه های قدیمی
|
|||||||
branches.all=همه شاخه
|
branches.all=همه شاخه
|
||||||
branches.updated_by=%[1]s به روزشده توسط %[2]s
|
branches.updated_by=%[1]s به روزشده توسط %[2]s
|
||||||
branches.change_default_branch=تغییر شاخه ی پیش فرض
|
branches.change_default_branch=تغییر شاخه ی پیش فرض
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=پرونده جدید
|
editor.new_file=پرونده جدید
|
||||||
editor.upload_file=بارگذاری پرونده
|
editor.upload_file=بارگذاری پرونده
|
||||||
@@ -516,6 +534,7 @@ editor.file_changed_while_editing=محتوای فایل از زمانی که ش
|
|||||||
editor.file_already_exists=فایلی با نام %s از قبل در مخزن موجود است.
|
editor.file_already_exists=فایلی با نام %s از قبل در مخزن موجود است.
|
||||||
editor.no_changes_to_show=تغییری برای نمایش وجود ندارد.
|
editor.no_changes_to_show=تغییری برای نمایش وجود ندارد.
|
||||||
editor.fail_to_update_file=خطا در ساخت/به روزرسانی فایل %. خطای رخ داده : %v
|
editor.fail_to_update_file=خطا در ساخت/به روزرسانی فایل %. خطای رخ داده : %v
|
||||||
|
editor.fail_to_delete_file=خطا در حذف فایل '%s' رخ داده است. خطای رخ داده %v
|
||||||
editor.add_subdir=افزودن زیرپوشه...
|
editor.add_subdir=افزودن زیرپوشه...
|
||||||
editor.unable_to_upload_files=عدم موفقیت در آپلود فایل به '%s' با خطا: %v
|
editor.unable_to_upload_files=عدم موفقیت در آپلود فایل به '%s' با خطا: %v
|
||||||
editor.upload_files_to_dir=آپلود فایل به '%s'
|
editor.upload_files_to_dir=آپلود فایل به '%s'
|
||||||
@@ -636,6 +655,7 @@ pulls.cannot_auto_merge_desc=این pull request به علت تداخل نمی
|
|||||||
pulls.cannot_auto_merge_helper=لطفا عملیات ادغام را به صورت دستی انجام دهید تا این تداخل برطرف شود.
|
pulls.cannot_auto_merge_helper=لطفا عملیات ادغام را به صورت دستی انجام دهید تا این تداخل برطرف شود.
|
||||||
pulls.create_merge_commit=ایجاد یک کامیت برای ادغام سازی
|
pulls.create_merge_commit=ایجاد یک کامیت برای ادغام سازی
|
||||||
pulls.rebase_before_merging=Rebase قبل از ادغام
|
pulls.rebase_before_merging=Rebase قبل از ادغام
|
||||||
|
pulls.commit_description=توضیحات کامیت
|
||||||
pulls.merge_pull_request=ایجاد درخواست ادغام
|
pulls.merge_pull_request=ایجاد درخواست ادغام
|
||||||
pulls.open_unmerged_pull_exists=`به علت باز بودن pull request (#%d) از مخزنی مشابه و به همراه اطلاعات ادغام مشابه که در انتظار ادغام می باشد، بازگشایی مجدد مقدور نیست`
|
pulls.open_unmerged_pull_exists=`به علت باز بودن pull request (#%d) از مخزنی مشابه و به همراه اطلاعات ادغام مشابه که در انتظار ادغام می باشد، بازگشایی مجدد مقدور نیست`
|
||||||
pulls.delete_branch=حذف شاخه
|
pulls.delete_branch=حذف شاخه
|
||||||
@@ -740,7 +760,7 @@ settings.tracker_issue_style=سبک نامگذاری Issue Tracker خارجی:
|
|||||||
settings.tracker_issue_style.numeric=عددی
|
settings.tracker_issue_style.numeric=عددی
|
||||||
settings.tracker_issue_style.alphanumeric=عددی و الفبایی
|
settings.tracker_issue_style.alphanumeric=عددی و الفبایی
|
||||||
settings.tracker_url_format_desc=شما میتوانید از <code>{user} {repo} {index}</code> برای نام کاربری ، نام مخزن و صفحه ی اول بخش مسائل استفاده کنید.
|
settings.tracker_url_format_desc=شما میتوانید از <code>{user} {repo} {index}</code> برای نام کاربری ، نام مخزن و صفحه ی اول بخش مسائل استفاده کنید.
|
||||||
settings.pulls_desc=فعال سازی pull request برای پذیرش همکاری های عمومی
|
settings.pulls_desc=پول ریکویست ها را فعال کنید تا برای مخازن و شاخه ها مشارکت را قبول کنید
|
||||||
settings.pulls.ignore_whitespace=نادیده گرفتن تغییرات در فضاهای خالی
|
settings.pulls.ignore_whitespace=نادیده گرفتن تغییرات در فضاهای خالی
|
||||||
settings.pulls.allow_rebase_merge=مجاز کردن rebase برای ادغام کردن کامیت ها
|
settings.pulls.allow_rebase_merge=مجاز کردن rebase برای ادغام کردن کامیت ها
|
||||||
settings.danger_zone=منطقه خطر
|
settings.danger_zone=منطقه خطر
|
||||||
@@ -763,7 +783,7 @@ settings.wiki_deletion_success=اطلاعات عمومی درباره مخزن
|
|||||||
settings.delete=حذف این مخزن
|
settings.delete=حذف این مخزن
|
||||||
settings.delete_desc=هنگامی که یک مخزن حذف میشود ، راه برگشتی وجود ندارد. لطفا مطمئن باشید.
|
settings.delete_desc=هنگامی که یک مخزن حذف میشود ، راه برگشتی وجود ندارد. لطفا مطمئن باشید.
|
||||||
settings.delete_notices_1=این عملیات <strong>غیرقابل</strong> برگشت است.
|
settings.delete_notices_1=این عملیات <strong>غیرقابل</strong> برگشت است.
|
||||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
settings.delete_notices_2=- این عملیات تمامی اطلاعات این مخزن شامل اطلاعات گیت ، مسائل ، نظرات و دسترسی همکاران را برای همیشه پاک خواهد کرد.
|
||||||
settings.delete_notices_fork_1=پس از حذف ارتباط همه ی نسخه های برگرفته شده قطع خواهد شد.
|
settings.delete_notices_fork_1=پس از حذف ارتباط همه ی نسخه های برگرفته شده قطع خواهد شد.
|
||||||
settings.deletion_success=مخزن با موفقیت حذف شد!
|
settings.deletion_success=مخزن با موفقیت حذف شد!
|
||||||
settings.update_settings_success=تنظیمات مخزن با موفقیت به روز شد.
|
settings.update_settings_success=تنظیمات مخزن با موفقیت به روز شد.
|
||||||
@@ -779,8 +799,10 @@ settings.collaborator_deletion_desc=این کاربر پس از حذف دیگر
|
|||||||
settings.remove_collaborator_success=همكار حذف شد.
|
settings.remove_collaborator_success=همكار حذف شد.
|
||||||
settings.search_user_placeholder=جستجوی کاربر...
|
settings.search_user_placeholder=جستجوی کاربر...
|
||||||
settings.org_not_allowed_to_be_collaborator=سازمان ها را نمیتوان به عنوان همکار افزود.
|
settings.org_not_allowed_to_be_collaborator=سازمان ها را نمیتوان به عنوان همکار افزود.
|
||||||
settings.add_webhook=اضافهکردن Webhook
|
|
||||||
settings.hooks_desc=Webhook ها مانند یک درخواست POST در HTTP اند. هرگاه رخدادی در gogs رخ می دهد، ما نوتیفیکیشنی برای هاستی که شما تعریف کرده اید ارسال می کنیم. برای اطلاعات بیشتر <a target="_blank" href="%s"> راهنمای webhook</a> را مطالعه کنید.
|
settings.hooks_desc=Webhook ها مانند یک درخواست POST در HTTP اند. هرگاه رخدادی در gogs رخ می دهد، ما نوتیفیکیشنی برای هاستی که شما تعریف کرده اید ارسال می کنیم. برای اطلاعات بیشتر <a target="_blank" href="%s"> راهنمای webhook</a> را مطالعه کنید.
|
||||||
|
settings.webhooks.add_new=یک webhook جدید اضافه کن:
|
||||||
|
settings.webhooks.choose_a_type=نوع را انتخاب کن...
|
||||||
|
settings.add_webhook=اضافهکردن Webhook
|
||||||
settings.webhook_deletion=حذف Webhook
|
settings.webhook_deletion=حذف Webhook
|
||||||
settings.webhook_deletion_desc=حذف این webhook باعث می شود که تمامی اطلاعات آن و تاریخچه ی تمام دلیوری های آن حذف شود. آیا ادامه میدهید؟
|
settings.webhook_deletion_desc=حذف این webhook باعث می شود که تمامی اطلاعات آن و تاریخچه ی تمام دلیوری های آن حذف شود. آیا ادامه میدهید؟
|
||||||
settings.webhook_deletion_success=Webhook با موفقیت حذف شد!
|
settings.webhook_deletion_success=Webhook با موفقیت حذف شد!
|
||||||
@@ -794,6 +816,8 @@ settings.webhook.response=پاسخ
|
|||||||
settings.webhook.headers=هدر
|
settings.webhook.headers=هدر
|
||||||
settings.webhook.payload=Payload
|
settings.webhook.payload=Payload
|
||||||
settings.webhook.body=بدنه
|
settings.webhook.body=بدنه
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=Git Hook ها توسط تیم Git ایجاد شده اند، شما می توانید فایل hook های پشتیبانی شده را ویرایش کنید تا بتوانید عملیات دلخواه خودتان را انجام دهید.
|
settings.githooks_desc=Git Hook ها توسط تیم Git ایجاد شده اند، شما می توانید فایل hook های پشتیبانی شده را ویرایش کنید تا بتوانید عملیات دلخواه خودتان را انجام دهید.
|
||||||
settings.githook_edit_desc=در صورتیکه hook غیرفعال باشد، محتوای نمونه ای موجود در آن ارائه خواهد شد. برای اینکه به کلی غیر فعال شود، محتوا را پاک کنید تا خالی شود.
|
settings.githook_edit_desc=در صورتیکه hook غیرفعال باشد، محتوای نمونه ای موجود در آن ارائه خواهد شد. برای اینکه به کلی غیر فعال شود، محتوا را پاک کنید تا خالی شود.
|
||||||
settings.githook_name=نام hook
|
settings.githook_name=نام hook
|
||||||
@@ -821,10 +845,10 @@ settings.event_push=درج کردن
|
|||||||
settings.event_push_desc=درج در مخزن توسط گیت
|
settings.event_push_desc=درج در مخزن توسط گیت
|
||||||
settings.event_issues=مسائل
|
settings.event_issues=مسائل
|
||||||
settings.event_issues_desc=مسئله ای باز شده ، بسته شده، بازگشایی شده، ویرایش شده، به فردی تخصیص یافته، لغو تخصیص از فردی شده، برچسب آن به روزرسانی شده، برچسب آن پاک شده، نقطه عطف برای آن تعیین شده یا نقطه عطف از آن حذف شده.
|
settings.event_issues_desc=مسئله ای باز شده ، بسته شده، بازگشایی شده، ویرایش شده، به فردی تخصیص یافته، لغو تخصیص از فردی شده، برچسب آن به روزرسانی شده، برچسب آن پاک شده، نقطه عطف برای آن تعیین شده یا نقطه عطف از آن حذف شده.
|
||||||
settings.event_issue_comment=نظرات در مسئله
|
|
||||||
settings.event_issue_comment_desc=نظر در مسئله ایجاد شد، ویرایش شد یا حذف شد.
|
|
||||||
settings.event_pull_request=درخواست ادغام
|
settings.event_pull_request=درخواست ادغام
|
||||||
settings.event_pull_request_desc=Pull request باز، بسته، بازگشایی شده، ویرایش شده، تخصیص داده به فردی، لغو تخصیص از فرد شده، برچسب آن به روز شده، برچسبی برای آن ساخته شده، نقطه عطف برای آن تعیین شده، نقطه عطف تعیین شده آن حذف شده، یا همگام سازی شده.
|
settings.event_pull_request_desc=Pull request باز، بسته، بازگشایی شده، ویرایش شده، تخصیص داده به فردی، لغو تخصیص از فرد شده، برچسب آن به روز شده، برچسبی برای آن ساخته شده، نقطه عطف برای آن تعیین شده، نقطه عطف تعیین شده آن حذف شده، یا همگام سازی شده.
|
||||||
|
settings.event_issue_comment=نظرات در مسئله
|
||||||
|
settings.event_issue_comment_desc=نظر در مسئله ایجاد شد، ویرایش شد یا حذف شد.
|
||||||
settings.event_release=انتشار نسخه
|
settings.event_release=انتشار نسخه
|
||||||
settings.event_release_desc=Release در مخزن منتشر شد.
|
settings.event_release_desc=Release در مخزن منتشر شد.
|
||||||
settings.active=فعال
|
settings.active=فعال
|
||||||
@@ -854,6 +878,8 @@ settings.add_key_success=کلیدDeploy جدید %s با موفقیت افزود
|
|||||||
settings.deploy_key_deletion=حذف کلید Deploy
|
settings.deploy_key_deletion=حذف کلید Deploy
|
||||||
settings.deploy_key_deletion_desc=با حذف کلید Deploy، تمام دسترسی ها به این مخزن از طریق این کلید از بین میرود. آیا ادامه می دهید؟
|
settings.deploy_key_deletion_desc=با حذف کلید Deploy، تمام دسترسی ها به این مخزن از طریق این کلید از بین میرود. آیا ادامه می دهید؟
|
||||||
settings.deploy_key_deletion_success=کلید Deploy با موفقیت حذف شد!
|
settings.deploy_key_deletion_success=کلید Deploy با موفقیت حذف شد!
|
||||||
|
settings.description_desc=توضیحات مخرن. حداکثر طول ۵۱۲ کاراکتر.
|
||||||
|
settings.description_length=کاراکترهای موجود
|
||||||
|
|
||||||
diff.browse_source=فهرست منبع
|
diff.browse_source=فهرست منبع
|
||||||
diff.parent=والد
|
diff.parent=والد
|
||||||
@@ -918,9 +944,8 @@ team_name_helper=ما از این نام برای اشاره به این تیم
|
|||||||
team_desc_helper=این تیم درکل در مورد چیست؟
|
team_desc_helper=این تیم درکل در مورد چیست؟
|
||||||
team_permission_desc=این تیم چه سطح دسترسی میتواند داشته باشد؟
|
team_permission_desc=این تیم چه سطح دسترسی میتواند داشته باشد؟
|
||||||
|
|
||||||
form.name_reserved=نام سازمان %s رزرو شده است.
|
form.name_not_allowed=نام سازمان یا الگوی q% مجاز نیست.
|
||||||
form.name_pattern_not_allowed=الگوی نام سازمان به صورت "%s" مجاز نیست.
|
form.team_name_not_allowed=نام تیم یا الگوی %q مجاز نیست.
|
||||||
form.team_name_reserved=نام تیم "%s" رزرو شده است.
|
|
||||||
|
|
||||||
settings=تنظيمات
|
settings=تنظيمات
|
||||||
settings.options=گزینهها
|
settings.options=گزینهها
|
||||||
@@ -992,12 +1017,19 @@ first_page=اولین
|
|||||||
last_page=آخرين
|
last_page=آخرين
|
||||||
total=مجموع: %d
|
total=مجموع: %d
|
||||||
|
|
||||||
|
dashboard.build_info=اطلاعات ساخت
|
||||||
|
dashboard.app_ver=نسخه برنامه
|
||||||
|
dashboard.git_version=نسخهی Git
|
||||||
|
dashboard.go_version=نسخهی Go
|
||||||
|
dashboard.build_time=زمان ساخت
|
||||||
|
dashboard.build_commit=کامیت ساخت
|
||||||
dashboard.statistic=آمار
|
dashboard.statistic=آمار
|
||||||
dashboard.operations=عملیات
|
dashboard.operations=عملیات
|
||||||
dashboard.system_status=سیستم مانیتور وضعیت
|
dashboard.system_status=سیستم مانیتور وضعیت
|
||||||
dashboard.statistic_info=دیتابیس gogs شامل <b>%d</b> کاربران, <b>%d</b> سازمان ها, <b>%d</b> کلید های عمومی, <b>%d</b> مخازن, <b>%d</b> مشاهده ها, <b>%d</b> ستاره دار ها, <b>%d</b> فعالیت ها, <b>%d</b> دسترسی ها, <b>%d</b> مسائل, <b>%d</b> نظرات, <b>%d</b> حساب ها کاربری شبکه های اجتماعی, <b>%d</b> دنیال کردن ها, <b>%d</b>mirror, <b>%d</b> ریلیز ها, <b>%d</b> نقاط ورود به سیستم, <b>%d</b> webhooks, <b>%d</b> نقاط عطف یا milestone ها, <b>%d</b> برچسب, <b>%d</b> hook وظایف, <b>%d</b> تیم, <b>%d</b> به روزرسانی ها وظایف افراد, <b>%d</b> پیوست هاست.
|
dashboard.statistic_info=دیتابیس gogs شامل <b>%d</b> کاربران, <b>%d</b> سازمان ها, <b>%d</b> کلید های عمومی, <b>%d</b> مخازن, <b>%d</b> مشاهده ها, <b>%d</b> ستاره دار ها, <b>%d</b> فعالیت ها, <b>%d</b> دسترسی ها, <b>%d</b> مسائل, <b>%d</b> نظرات, <b>%d</b> حساب ها کاربری شبکه های اجتماعی, <b>%d</b> دنیال کردن ها, <b>%d</b>mirror, <b>%d</b> ریلیز ها, <b>%d</b> نقاط ورود به سیستم, <b>%d</b> webhooks, <b>%d</b> نقاط عطف یا milestone ها, <b>%d</b> برچسب, <b>%d</b> hook وظایف, <b>%d</b> تیم, <b>%d</b> به روزرسانی ها وظایف افراد, <b>%d</b> پیوست هاست.
|
||||||
dashboard.operation_name=نام عملیات
|
dashboard.operation_name=نام عملیات
|
||||||
dashboard.operation_switch=سویچ
|
dashboard.operation_switch=سویچ
|
||||||
|
dashboard.select_operation_to_run=Please select operation to run
|
||||||
dashboard.operation_run=اجرا
|
dashboard.operation_run=اجرا
|
||||||
dashboard.clean_unbind_oauth=پاک کردن OAuthe های ناخواسته
|
dashboard.clean_unbind_oauth=پاک کردن OAuthe های ناخواسته
|
||||||
dashboard.clean_unbind_oauth_success=تمامی oAuth های غیرمتصل با موفقیت حذف شدند.
|
dashboard.clean_unbind_oauth_success=تمامی oAuth های غیرمتصل با موفقیت حذف شدند.
|
||||||
@@ -1089,11 +1121,12 @@ repos.stars=ستاره ها
|
|||||||
repos.issues=مسائل
|
repos.issues=مسائل
|
||||||
repos.size=اندازه
|
repos.size=اندازه
|
||||||
|
|
||||||
auths.auth_manage_panel=پنل مدیریت سیستم احراز هویت
|
auths.auth_sources=منابع احراز هویت
|
||||||
auths.new=اضافه کردن منبع جدید
|
auths.new=اضافه کردن منبع جدید
|
||||||
auths.name=نام
|
auths.name=نام
|
||||||
auths.type=نوع
|
auths.type=نوع
|
||||||
auths.enabled=فعال شده
|
auths.enabled=فعال شده
|
||||||
|
auths.default=پیش فرض
|
||||||
auths.updated=به روز رسانی شده
|
auths.updated=به روز رسانی شده
|
||||||
auths.auth_type=نوع تأیید اعتبار
|
auths.auth_type=نوع تأیید اعتبار
|
||||||
auths.auth_name=نام مجوز احراز هویت
|
auths.auth_name=نام مجوز احراز هویت
|
||||||
@@ -1130,9 +1163,9 @@ auths.enable_tls=فعال کردن رمزگذاری TLS
|
|||||||
auths.skip_tls_verify=صرف نظر از اعتبار سنجی TLS
|
auths.skip_tls_verify=صرف نظر از اعتبار سنجی TLS
|
||||||
auths.pam_service_name=نام سرویس PAM
|
auths.pam_service_name=نام سرویس PAM
|
||||||
auths.enable_auto_register=فعال سازی ثبت نام خودکار
|
auths.enable_auto_register=فعال سازی ثبت نام خودکار
|
||||||
auths.tips=راهنمایی
|
|
||||||
auths.edit=ویرایش تنظیمات تأیید اعتبار
|
auths.edit=ویرایش تنظیمات تأیید اعتبار
|
||||||
auths.activated=متد احراز هویت فعال شده است
|
auths.activated=متد احراز هویت فعال شده است
|
||||||
|
auths.default_auth=این احراز هویت پیش فرض منبع ورود می باشد
|
||||||
auths.new_success=متد احرازهویت %s با موفقیت افزوده شد.
|
auths.new_success=متد احرازهویت %s با موفقیت افزوده شد.
|
||||||
auths.update_success=تنظیمات سیستم احرازهویت با موفقیت به روز شد.
|
auths.update_success=تنظیمات سیستم احرازهویت با موفقیت به روز شد.
|
||||||
auths.update=به روزرسانی تنظیمات سیستم احراز هویت
|
auths.update=به روزرسانی تنظیمات سیستم احراز هویت
|
||||||
@@ -1142,120 +1175,186 @@ auths.delete_auth_desc=این سیستم احراز هویت حذف خواهد
|
|||||||
auths.still_in_used=این متد اعتبار احرازهویت هنوز توسط برخی از کاربران در حال استفاده است، لطفا ابتدا این کاربران را حذف کنید یا متد احرازهویت آنان را تغییر دهید.
|
auths.still_in_used=این متد اعتبار احرازهویت هنوز توسط برخی از کاربران در حال استفاده است، لطفا ابتدا این کاربران را حذف کنید یا متد احرازهویت آنان را تغییر دهید.
|
||||||
auths.deletion_success=متد احرازهویت با موفقیت حذف شد!
|
auths.deletion_success=متد احرازهویت با موفقیت حذف شد!
|
||||||
auths.login_source_exist=مدخل لاگین %s قبلا موجود بوده است.
|
auths.login_source_exist=مدخل لاگین %s قبلا موجود بوده است.
|
||||||
|
auths.github_api_endpoint=نشانه پایانی API
|
||||||
|
|
||||||
config.not_set=(تنظیم نشده)
|
config.not_set=(تنظیم نشده)
|
||||||
config.server_config=پیکربندی سرور
|
config.server_config=پیکربندی سرور
|
||||||
config.app_name=نام برنامه
|
config.brand_name=نام برند
|
||||||
config.app_ver=نسخه برنامه
|
|
||||||
config.app_url=آدرس اینترنتی (URL) نرمافزار
|
|
||||||
config.domain=دامنه
|
|
||||||
config.offline_mode=حالت آفلاین
|
|
||||||
config.disable_router_log=غیرفعال کردن لاگ مسیریاب
|
|
||||||
config.run_user=کاربر در حال اجرا
|
config.run_user=کاربر در حال اجرا
|
||||||
config.run_mode=حالت اجرا
|
config.run_mode=حالت اجرا
|
||||||
config.git_version=نسخهی Git
|
config.server.external_url=آدرس خارجی
|
||||||
config.static_file_root_path=مسیر ریشه فایل استاتیک
|
config.server.domain=دامنه
|
||||||
config.log_file_root_path=مسیر ریشه ی فایل لاگ
|
config.server.protocol=پروتکل
|
||||||
config.reverse_auth_user=شیوه ی احرازهویت معکوس
|
config.server.http_addr=آدرس HTTP
|
||||||
|
config.server.http_port=پورت HTTP
|
||||||
|
config.server.cert_file=فایل گواهی
|
||||||
|
config.server.key_file=فایل کلید
|
||||||
|
config.server.tls_min_version=کمترین نسخه TLS
|
||||||
|
config.server.unix_socket_permission=مجوز سوکت یونیکس
|
||||||
|
config.server.local_root_url=Local root URL
|
||||||
|
config.server.offline_mode=حالت آفلاین
|
||||||
|
config.server.disable_router_log=غیرفعال کردن لاگ مسیریاب
|
||||||
|
config.server.enable_gzip=فعال کردن Gzip
|
||||||
|
config.server.app_data_path=Application data path
|
||||||
|
config.server.load_assets_from_disk=Load assets from disk
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
config.ssh_config=پیکربندی SSH
|
config.ssh_config=پیکربندی SSH
|
||||||
config.ssh_enabled=فعال شده
|
config.ssh.enabled=فعال شده
|
||||||
config.ssh_start_builtin_server=راه انداری سرور داخلی
|
config.ssh.domain=Exposed domain
|
||||||
config.ssh_domain=دامنه
|
config.ssh.port=Exposed port
|
||||||
config.ssh_port=پورت
|
config.ssh.root_path=Root path
|
||||||
config.ssh_listen_port=گوش دادن به پورت
|
config.ssh.keygen_path=Keygen path
|
||||||
config.ssh_root_path=مسیر ریشه
|
config.ssh.key_test_path=Key test path
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Minimum key size check
|
||||||
config.ssh_key_test_path=مسیر کلید تست
|
config.ssh.minimum_key_sizes=Minimum key sizes
|
||||||
config.ssh_keygen_path=مسیر فایل ssh-keygen
|
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
|
||||||
config.ssh_minimum_key_size_check=بررسی حداقل طول کلید
|
config.ssh.start_builtin_server=Start builtin server
|
||||||
config.ssh_minimum_key_sizes=حداقل اندازهی کلید ها
|
config.ssh.listen_host=Listen host
|
||||||
|
config.ssh.listen_port=Listen port
|
||||||
|
config.ssh.server_ciphers=Server ciphers
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=پیکربندی مخزن
|
config.repo_config=پیکربندی مخزن
|
||||||
config.repo_root_path=مسیر پوشه اصلی (روت) برای مخزن کد
|
config.repo.root_path=Root path
|
||||||
config.script_type=نوع اسکریپت
|
config.repo.script_type=Script type
|
||||||
config.repo_force_private=خصوصی سازی اجباری
|
config.repo.ansi_chatset=ANSI charset
|
||||||
config.max_creation_limit=محدودیت حداکثر ایجاد
|
config.repo.force_private=Force private
|
||||||
config.preferred_licenses=مجوزهای پیشنهادی
|
config.repo.max_creation_limit=Max creation limit
|
||||||
config.disable_http_git=غیرفعال کردنHTTP در Git
|
config.repo.preferred_licenses=Preferred licenses
|
||||||
config.enable_local_path_migration=فعال سازی مسیر انتقال محلی
|
config.repo.disable_http_git=Disable HTTP Git
|
||||||
config.commits_fetch_concurrency=همروندی در واکشی کامیت
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
config.http_config=تنظیمات HTTP
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Upload enabled
|
||||||
|
config.repo.upload.temp_path=Upload temporary path
|
||||||
|
config.repo.upload.allowed_types=Upload allowed types
|
||||||
|
config.repo.upload.file_max_size=Upload file size limit
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=تنظیمات پایگاه داده
|
config.db_config=تنظیمات پایگاه داده
|
||||||
config.db_type=نوع
|
config.db.type=Type
|
||||||
config.db_host=میزبان
|
config.db.host=Host
|
||||||
config.db_name=نام
|
config.db.name=Name
|
||||||
config.db_user=کاربر
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=حالت SSL
|
config.db.schema_helper=(for "postgres" only)
|
||||||
config.db_ssl_mode_helper=(تنها برای "postgres")
|
config.db.user=User
|
||||||
config.db_path=مسیر
|
config.db.ssl_mode=SSL mode
|
||||||
config.db_path_helper=(فقط برای "sqlite3" و "tidb")
|
config.db.ssl_mode_helper=(for "postgres" only)
|
||||||
|
config.db.path=Path
|
||||||
|
config.db.path_helper=(for "sqlite3"only)
|
||||||
|
config.db.max_open_conns=Maximum open connections
|
||||||
|
config.db.max_idle_conns=Maximum idle connections
|
||||||
|
|
||||||
config.service_config=پیکربندی سرویس
|
config.security_config=Security configuration
|
||||||
config.register_email_confirm=درخواست تایید ایمیل
|
config.security.login_remember_days=Login remember days
|
||||||
config.disable_register=غیر فعالکردن ثبت نام
|
config.security.cookie_remember_name=Remember cookie
|
||||||
config.show_registration_button=نشان دادن دکمه ثبت نام
|
config.security.cookie_username=Username cookie
|
||||||
config.require_sign_in_view=اجبار کردن نمای ورود
|
config.security.cookie_secure=Enable secure cookie
|
||||||
config.mail_notify=فعالسازی نوتیفکیشن ایمیل
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=غیر فعال کردن چک حداقل اندازه کلید
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=فعالکردن تصویر امنیتی
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=مدت زمان اعتبار کد
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=مدت زمان اعتبار کد بازنشانی پسورد
|
|
||||||
|
|
||||||
config.webhook_config=تنظیمات Webhook
|
config.email_config=Email configuration
|
||||||
config.queue_length=طول صف
|
config.email.enabled=Enabled
|
||||||
config.deliver_timeout=مهلت تحویل
|
config.email.subject_prefix=Subject prefix
|
||||||
config.skip_tls_verify=صرف نظر از اعتبار سنجی TLS
|
config.email.host=Host
|
||||||
|
config.email.from=From
|
||||||
|
config.email.user=User
|
||||||
|
config.email.disable_helo=Disable HELO
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
config.email.skip_verify=Skip certificate verify
|
||||||
|
config.email.use_certificate=Use custom certificate
|
||||||
|
config.email.cert_file=Certificate file
|
||||||
|
config.email.key_file=Key file
|
||||||
|
config.email.use_plain_text=Use plain text
|
||||||
|
config.email.add_plain_text_alt=Add plain text alternative
|
||||||
|
config.email.send_test_mail=Send test email
|
||||||
|
config.email.test_mail_failed=Failed to send test email to '%s': %v
|
||||||
|
config.email.test_mail_sent=Test email has been sent to '%s'.
|
||||||
|
|
||||||
config.mailer_config=پیکربندی سیستم ایمیلی
|
config.auth_config=Authentication configuration
|
||||||
config.mailer_enabled=فعال شده
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=غیر فعال کردن HELO
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=میزبان
|
config.auth.require_email_confirm=Require email confirmation
|
||||||
config.mailer_user=کاربر
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=ارسال ایمیل تست
|
config.auth.disable_registration=Disable registration
|
||||||
config.test_mail_failed=ارسال ایمیل ناموفق بود '%s': %v
|
config.auth.enable_registration_captcha=Enable registration captcha
|
||||||
config.test_mail_sent=ایمیل تست به "%s" ارسال شده است.
|
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
config.oauth_config=پیکربندی OAuth
|
config.user_config=User configuration
|
||||||
config.oauth_enabled=فعال شده
|
config.user.enable_email_notify=Enable email notification
|
||||||
|
|
||||||
config.cache_config=پیکربندی cache
|
|
||||||
config.cache_adapter=آداپتور cache
|
|
||||||
config.cache_interval=وقفه cache
|
|
||||||
config.cache_conn=اتصال cache
|
|
||||||
|
|
||||||
config.session_config=پیکربندی Session ها
|
config.session_config=پیکربندی Session ها
|
||||||
config.session_provider=منبع فراهم ساز Session
|
config.session.provider=Provider
|
||||||
config.provider_config=پیکربندی سرویس دهنده
|
config.session.provider_config=Provider config
|
||||||
config.cookie_name=نام کوکی
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=فعال سازی تنظیم کردن کوکی
|
config.session.https_only=HTTPS only
|
||||||
config.gc_interval_time=فاصله زمانی GC
|
config.session.gc_interval=GC interval
|
||||||
config.session_life_time=طول عمر نشست
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=فقط HTTPS
|
config.session.csrf_cookie_name=CSRF cookie
|
||||||
config.cookie_life_time=طول عمر کوکی
|
|
||||||
|
config.cache_config=پیکربندی cache
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC interval
|
||||||
|
config.cache.host=Host
|
||||||
|
|
||||||
|
config.http_config=تنظیمات HTTP
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Enabled
|
||||||
|
config.attachment.path=Path
|
||||||
|
config.attachment.allowed_types=Allowed types
|
||||||
|
config.attachment.max_size=Size limit
|
||||||
|
config.attachment.max_files=Files limit
|
||||||
|
|
||||||
|
config.release_config=Release configuration
|
||||||
|
config.release.attachment.enabled=Attachment enabled
|
||||||
|
config.release.attachment.allowed_types=Attachment allowed types
|
||||||
|
config.release.attachment.max_size=Attachment size limit
|
||||||
|
config.release.attachment.max_files=Attachment files limit
|
||||||
|
|
||||||
config.picture_config=تنظیمات تصویر
|
config.picture_config=تنظیمات تصویر
|
||||||
config.picture_service=سرویس تصویر
|
config.picture.avatar_upload_path=User avatar upload path
|
||||||
config.disable_gravatar=غیر فعال کردن Gravatar
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=فعال سازی آواتار مشترک
|
config.picture.gravatar_source=Gravatar source
|
||||||
|
config.picture.disable_gravatar=Disable Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Mirror configuration
|
||||||
|
config.mirror.default_interval=Default interval
|
||||||
|
|
||||||
|
config.webhook_config=تنظیمات Webhook
|
||||||
|
config.webhook.types=Types
|
||||||
|
config.webhook.deliver_timeout=Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify=Skip TLS verify
|
||||||
|
|
||||||
config.git_config=پیکربندی Git
|
config.git_config=پیکربندی Git
|
||||||
config.git_disable_diff_highlight=غیرفعال کردن برجسته سازی در Diff
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
config.git_max_diff_lines=حداکثر خط برای Diff (برای یک فایل)
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=حداکثر کاراکتر در Diff (برای یک خط)
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=حداکثر فایل های Diff (برای نمایش)
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=آرگومان های GC
|
config.git.gc_args=GC arguments
|
||||||
config.git_migrate_timeout=آستانه ی زمان در Migration
|
config.git.migrate_timeout=Migration timeout
|
||||||
config.git_mirror_timeout=زمان آستانه در به روز رسانی Mirror
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
config.git_clone_timeout=زمان آستانه ی عملیات Clone
|
config.git.clone_timeout=Clone timeout
|
||||||
config.git_pull_timeout=زمان آستانه ی عملیات Pull
|
config.git.pull_timeout=Pull timeout
|
||||||
config.git_gc_timeout=زمان آستانه ی عملیات GC
|
config.git.gc_timeout=GC timeout
|
||||||
|
|
||||||
|
config.lfs_config=LFS configuration
|
||||||
|
config.lfs.storage=Storage
|
||||||
|
config.lfs.objects_path=Objects path
|
||||||
|
|
||||||
config.log_config=پیکربندی لاگ
|
config.log_config=پیکربندی لاگ
|
||||||
|
config.log_file_root_path=مسیر ریشه ی فایل لاگ
|
||||||
config.log_mode=حالت
|
config.log_mode=حالت
|
||||||
config.log_options=گزینهها
|
config.log_options=گزینهها
|
||||||
|
|
||||||
@@ -1286,7 +1385,6 @@ notices.delete_success=اخطار های سیستم با موفقیت حذف ش
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=مخزن ایجاد شده <a href="%s"> %s</a>
|
create_repo=مخزن ایجاد شده <a href="%s"> %s</a>
|
||||||
fork_repo=انشعاب مخزن به <a href="%s"> %s</a>
|
|
||||||
rename_repo=مخزن تغییر نام داد از <code>%[1]s</code> به <a href="%[2]s">%[3]s</a>
|
rename_repo=مخزن تغییر نام داد از <code>%[1]s</code> به <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo=پوش کردن به <a href="%[1]s/src/%[2]s">%[3]s</a> در <a href="%[1]s">%[4]s</a>
|
commit_repo=پوش کردن به <a href="%[1]s/src/%[2]s">%[3]s</a> در <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=مشاهده مقایسه برای کامیت %d
|
compare_commits=مشاهده مقایسه برای کامیت %d
|
||||||
@@ -1303,6 +1401,10 @@ create_branch=شاخه ی جدید <a href="%[1]s/src/%[2]s">%[3]s</a>در<a hre
|
|||||||
delete_branch=شاخه ی حذف شده ی <code>%[2]s</code> در<a href="%[1]s">%[3]s</a>
|
delete_branch=شاخه ی حذف شده ی <code>%[2]s</code> در<a href="%[1]s">%[3]s</a>
|
||||||
push_tag=تگ <a href="%s/src/%s">%[2]s</a>در <a href="%[1]s">%[3]s</a>پوش شد
|
push_tag=تگ <a href="%s/src/%s">%[2]s</a>در <a href="%[1]s">%[3]s</a>پوش شد
|
||||||
delete_tag=برچسب <code>%[2]s</code> در <a href="%[1]s">%[3]s</a> حذف شده
|
delete_tag=برچسب <code>%[2]s</code> در <a href="%[1]s">%[3]s</a> حذف شده
|
||||||
|
fork_repo=انشعاب مخزن به <a href="%s"> %s</a>
|
||||||
|
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
|
||||||
|
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=پیش
|
ago=پیش
|
||||||
@@ -1324,6 +1426,7 @@ months=%d ماه %s
|
|||||||
years=%d سال %s
|
years=%d سال %s
|
||||||
raw_seconds=ثانیه
|
raw_seconds=ثانیه
|
||||||
raw_minutes=دقیقه ها
|
raw_minutes=دقیقه ها
|
||||||
|
raw_hours=ساعت
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=فایل را در این محل رها کنید یا دکمه ی آپلود یا بارگزاری را فشار دهید.
|
default_message=فایل را در این محل رها کنید یا دکمه ی آپلود یا بارگزاری را فشار دهید.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
app_desc=Un service Git auto-hébergé sans prise de tête
|
app_desc=Un service Git auto-hébergé et indolore.
|
||||||
|
|
||||||
home=Accueil
|
home=Accueil
|
||||||
dashboard=Tableau de bord
|
dashboard=Tableau de bord
|
||||||
@@ -9,7 +9,6 @@ sign_out=Déconnexion
|
|||||||
sign_up=Inscription
|
sign_up=Inscription
|
||||||
register=S'inscrire
|
register=S'inscrire
|
||||||
website=Site web
|
website=Site web
|
||||||
version=Version
|
|
||||||
page=Page
|
page=Page
|
||||||
template=Modèle
|
template=Modèle
|
||||||
language=Langue
|
language=Langue
|
||||||
@@ -29,7 +28,7 @@ mirror=Miroir
|
|||||||
new_repo=Nouveau dépôt
|
new_repo=Nouveau dépôt
|
||||||
new_migrate=Nouvelle migration
|
new_migrate=Nouvelle migration
|
||||||
new_mirror=Nouveau miroir
|
new_mirror=Nouveau miroir
|
||||||
new_fork=Nouveau fork
|
new_fork=Nouveau dépôt séparé
|
||||||
new_org=Nouvelle organisation
|
new_org=Nouvelle organisation
|
||||||
manage_org=Gérer les organisations
|
manage_org=Gérer les organisations
|
||||||
admin_panel=Administration
|
admin_panel=Administration
|
||||||
@@ -39,23 +38,28 @@ your_profile=Votre profil
|
|||||||
your_settings=Vos paramètres
|
your_settings=Vos paramètres
|
||||||
|
|
||||||
activities=Activités
|
activities=Activités
|
||||||
pull_requests=Pull Requests
|
pull_requests=Demandes d'admission
|
||||||
issues=Tickets
|
issues=Tickets
|
||||||
|
|
||||||
cancel=Annuler
|
cancel=Annuler
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Page non trouvée
|
||||||
|
internal_server_error=Erreur interne du serveur
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Installation
|
install=Installation
|
||||||
title=Instructions pour la première exécution
|
title=Instructions pour la première exécution
|
||||||
docker_helper=Si vous exécutez Gogs grâce à Docker, merci de lire la <a target="_blank" href="%s">procédure</a> attentivement avant de modifier quoi que ce soit sur cette page !
|
docker_helper=Si vous exécutez Gogs au sein de Docker, lisez la <a target="_blank" href="%s">procédure</a> attentivement avant toute altération de cette page !
|
||||||
requite_db_desc=Gogs requiert MySQL, PostgreSQL, SQLite3, MSSQL ou TiDB.
|
requite_db_desc=Gogs exige MySQL, PostgreSQL, SQLite3 or TiDB (via le protocole MySQL)
|
||||||
db_title=Paramètres de la base de données
|
db_title=Paramètres de la base de données
|
||||||
db_type=Type de base de données
|
db_type=Type de base de données
|
||||||
host=Hôte
|
host=Hôte
|
||||||
user=Utilisateur
|
user=Utilisateur
|
||||||
password=Mot de passe
|
password=Mot de passe
|
||||||
db_name=Nom de base de données
|
db_name=Nom de base de données
|
||||||
db_helper=Veuillez utiliser le moteur INNODB avec le jeu de caractères utf8_general_ci pour MySQL.
|
db_schema=Schéma
|
||||||
|
db_helper=Employez le moteur INNODB pour MySQL avec l'encodage utf8_general_ci.
|
||||||
ssl_mode=Mode SSL
|
ssl_mode=Mode SSL
|
||||||
path=Emplacement
|
path=Emplacement
|
||||||
sqlite_helper=Le chemin du fichier de base de données SQLite3. <br>Utilisez un chemin absolu lorsque vous démarrez en tant que service.
|
sqlite_helper=Le chemin du fichier de base de données SQLite3. <br>Utilisez un chemin absolu lorsque vous démarrez en tant que service.
|
||||||
@@ -63,13 +67,13 @@ err_empty_db_path=Le chemin de la base de données SQLite3 ne peut être vide.
|
|||||||
no_admin_and_disable_registration=Vous ne pouvez pas désactiver l'enregistrement sans créer un compte administrateur.
|
no_admin_and_disable_registration=Vous ne pouvez pas désactiver l'enregistrement sans créer un compte administrateur.
|
||||||
err_empty_admin_password=Le mot de passe du compte administrateur ne peut être vide.
|
err_empty_admin_password=Le mot de passe du compte administrateur ne peut être vide.
|
||||||
|
|
||||||
general_title=Paramètres généraux de Gogs
|
general_title=Réglages Généraux d'Application
|
||||||
app_name=Nom de l'application
|
app_name=Nom de l'application
|
||||||
app_name_helper=Inscrivez fièrement le nom de votre organisation ici !
|
app_name_helper=Inscrivez fièrement le nom de votre organisation ici !
|
||||||
repo_path=Emplacement racine des dépôts
|
repo_path=Chemin Racine des Dépôts
|
||||||
repo_path_helper=Tous les dépôts Git distants seront sauvegardés ici.
|
repo_path_helper=Tous les dépôts Git distants seront sauvegardés ici.
|
||||||
run_user=Utilisateur système
|
run_user=Utilisateur
|
||||||
run_user_helper=L'utilisateur doit avoir accès à la racine des dépôts et exécuter Gogs.
|
run_user_helper=L'utilisateur doit avoir accès à la Racine des Dépôts et exécuter Gogs.
|
||||||
domain=Domaine
|
domain=Domaine
|
||||||
domain_helper=Cela affecte les doublons d'URL SSH.
|
domain_helper=Cela affecte les doublons d'URL SSH.
|
||||||
ssh_port=Port SSH
|
ssh_port=Port SSH
|
||||||
@@ -84,6 +88,7 @@ log_root_path=Chemin des fichiers log
|
|||||||
log_root_path_helper=Répertoire d'écriture des fichiers de log.
|
log_root_path_helper=Répertoire d'écriture des fichiers de log.
|
||||||
enable_console_mode=Activer le mode Console
|
enable_console_mode=Activer le mode Console
|
||||||
enable_console_mode_popup=En plus du mode fichier, également imprimer des journaux à la console.
|
enable_console_mode_popup=En plus du mode fichier, également imprimer des journaux à la console.
|
||||||
|
default_branch=Branchepar défaut
|
||||||
|
|
||||||
optional_title=Paramètres facultatifs
|
optional_title=Paramètres facultatifs
|
||||||
email_title=Paramètres du service de messagerie
|
email_title=Paramètres du service de messagerie
|
||||||
@@ -122,6 +127,7 @@ run_user_not_match=L'utilisateur d'exécution saisi n'est pas l'utilisateur d'ex
|
|||||||
smtp_host_missing_port=Le numéro de port est manquant dans l'adresse de l'Hôte SMTP.
|
smtp_host_missing_port=Le numéro de port est manquant dans l'adresse de l'Hôte SMTP.
|
||||||
invalid_smtp_from=Le champ SMTP Provenant de n'est pas valide: %v
|
invalid_smtp_from=Le champ SMTP Provenant de n'est pas valide: %v
|
||||||
save_config_failed=La sauvegarde de la configuration a échoué : %v
|
save_config_failed=La sauvegarde de la configuration a échoué : %v
|
||||||
|
init_failed=L'initialisation de l'application a échoué.
|
||||||
invalid_admin_setting=Paramètres du compte administrateur invalides : %v
|
invalid_admin_setting=Paramètres du compte administrateur invalides : %v
|
||||||
install_success=Bienvenue ! Nous sommes heureux que vous ayez choisi Gogs, amusez-vous et prenez soin de vous.
|
install_success=Bienvenue ! Nous sommes heureux que vous ayez choisi Gogs, amusez-vous et prenez soin de vous.
|
||||||
invalid_log_root_path=L'emplacement racine des fichiers logs est invalide : %v
|
invalid_log_root_path=L'emplacement racine des fichiers logs est invalide : %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=Déjà enregistré ? Connectez-vous !
|
|||||||
social_register_hepler_msg=Déjà enregistré ? Associez-le !
|
social_register_hepler_msg=Déjà enregistré ? Associez-le !
|
||||||
disable_register_prompt=Désolé, les enregistrements ont été désactivés. Veuillez contacter l'administrateur du site.
|
disable_register_prompt=Désolé, les enregistrements ont été désactivés. Veuillez contacter l'administrateur du site.
|
||||||
disable_register_mail=Désolé, la confirmation par courriel des enregistrements a été désactivée.
|
disable_register_mail=Désolé, la confirmation par courriel des enregistrements a été désactivée.
|
||||||
|
auth_source=Sources d'authentification
|
||||||
|
local=Locale
|
||||||
remember_me=Se souvenir de moi
|
remember_me=Se souvenir de moi
|
||||||
forgot_password=Mot de passe oublié
|
forgot_password=Mot de passe oublié
|
||||||
forget_password=Mot de passe oublié ?
|
forget_password=Mot de passe oublié ?
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=Nom d'organisation déjà pris.
|
|||||||
team_name_been_taken=Nom d'équipe déjà pris.
|
team_name_been_taken=Nom d'équipe déjà pris.
|
||||||
email_been_used=Adresse e-mail déjà utilisée.
|
email_been_used=Adresse e-mail déjà utilisée.
|
||||||
username_password_incorrect=Nom d'utilisateur ou mot de passe incorrect.
|
username_password_incorrect=Nom d'utilisateur ou mot de passe incorrect.
|
||||||
|
auth_source_mismatch=La source d’authentification sélectionnée n’est pas associée à l’utilisateur.
|
||||||
enterred_invalid_repo_name=Veuillez vérifier que le nom saisi du dépôt soit correct.
|
enterred_invalid_repo_name=Veuillez vérifier que le nom saisi du dépôt soit correct.
|
||||||
enterred_invalid_owner_name=Veuillez vérifier que le nom du propriétaire saisi soit correct.
|
enterred_invalid_owner_name=Veuillez vérifier que le nom du propriétaire saisi soit correct.
|
||||||
enterred_invalid_password=Veuillez vérifier que le mot de passe saisi soit correct.
|
enterred_invalid_password=Veuillez vérifier que le mot de passe saisi soit correct.
|
||||||
@@ -256,8 +265,7 @@ following=Abonnements
|
|||||||
follow=Suivre
|
follow=Suivre
|
||||||
unfollow=Ne plus suivre
|
unfollow=Ne plus suivre
|
||||||
|
|
||||||
form.name_reserved=Le nom '%s' est réservé.
|
form.name_not_allowed=Le nom de l'utilisateur ou le schéma n'est pas autorisé
|
||||||
form.name_pattern_not_allowed=Motif '%s' interdit pour les noms d'utilisateur.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Profil
|
profile=Profil
|
||||||
@@ -309,6 +317,7 @@ delete_email=Supprimer
|
|||||||
email_deletion=Suppression de l'adresse e-mail
|
email_deletion=Suppression de l'adresse e-mail
|
||||||
email_deletion_desc=Supprimer cette adresse e-mail supprimera les informations associées à votre compte. Voulez-vous continuer ?
|
email_deletion_desc=Supprimer cette adresse e-mail supprimera les informations associées à votre compte. Voulez-vous continuer ?
|
||||||
email_deletion_success=L'adresse e-mail a été supprimée avec succès !
|
email_deletion_success=L'adresse e-mail a été supprimée avec succès !
|
||||||
|
email_deletion_primary=Impossible de supprimer l'adresse de courrier principale
|
||||||
add_new_email=Ajouter une nouvelle adresse e-mail
|
add_new_email=Ajouter une nouvelle adresse e-mail
|
||||||
add_email=Ajouter un e-mail
|
add_email=Ajouter un e-mail
|
||||||
add_email_confirmation_sent=Une nouvelle confirmation d'adresse e-mail a été envoyé à '%s', veuillez vérifier votre boîte de réception dans un délai de %d heures pour terminer le processus de confirmation.
|
add_email_confirmation_sent=Une nouvelle confirmation d'adresse e-mail a été envoyé à '%s', veuillez vérifier votre boîte de réception dans un délai de %d heures pour terminer le processus de confirmation.
|
||||||
@@ -348,6 +357,7 @@ two_factor_or_enter_secret=Ou entrez la phrase secrète :
|
|||||||
two_factor_then_enter_passcode=Puis entrez le mot de passe :
|
two_factor_then_enter_passcode=Puis entrez le mot de passe :
|
||||||
two_factor_verify=Vérifier
|
two_factor_verify=Vérifier
|
||||||
two_factor_invalid_passcode=Le mot de passe que vous avez entré n'est pas valide, veuillez réessayer.
|
two_factor_invalid_passcode=Le mot de passe que vous avez entré n'est pas valide, veuillez réessayer.
|
||||||
|
two_factor_reused_passcode=Le mot de passe que vous avez entré a déjà été utilisé, veuillez en essayez un autre !
|
||||||
two_factor_enable_error=L'activation de l'authentification en deux étapes a échoué : %v
|
two_factor_enable_error=L'activation de l'authentification en deux étapes a échoué : %v
|
||||||
two_factor_enable_success=L'authentification en deux étapes a été bien été activée pour votre compte.
|
two_factor_enable_success=L'authentification en deux étapes a été bien été activée pour votre compte.
|
||||||
two_factor_recovery_codes_title=Codes de secours pour l'authentification en deux étapes
|
two_factor_recovery_codes_title=Codes de secours pour l'authentification en deux étapes
|
||||||
@@ -362,14 +372,16 @@ two_factor_disable_success=L'authentification à deux facteurs a été désactiv
|
|||||||
manage_access_token=Gérer les jetons d'accès personnels
|
manage_access_token=Gérer les jetons d'accès personnels
|
||||||
generate_new_token=Générer le nouveau jeton
|
generate_new_token=Générer le nouveau jeton
|
||||||
tokens_desc=Jetons, que vous avez généré, qui peuvent être utilisés pour accéder à l'API Gogs.
|
tokens_desc=Jetons, que vous avez généré, qui peuvent être utilisés pour accéder à l'API Gogs.
|
||||||
|
access_token_tips=Le jeton d'accès personnel est employé soit comme nom d'utilisateur soit comme mot de passe. L'emploi du « x-access-token » comme nom d'utilisateur et le jeton d'accès personnel comme mot de passe est recommandé pour les applications Git
|
||||||
new_token_desc=Chaque Jeton donnera un accès complet à votre compte.
|
new_token_desc=Chaque Jeton donnera un accès complet à votre compte.
|
||||||
token_name=Nom du jeton
|
token_name=Nom du jeton
|
||||||
generate_token=Générer le jeton
|
generate_token=Générer le jeton
|
||||||
generate_token_succees=Nouveau jeton d'accès a été généré avec succès ! Assurez-vous de copier votre nouveau jeton d'accès personnel maintenant. Vous ne serez pas en mesure de le revoir !
|
generate_token_succees=Nouveau jeton d'accès a été généré avec succès ! Assurez-vous de copier votre nouveau jeton d'accès personnel maintenant. Vous ne serez pas en mesure de le revoir !
|
||||||
delete_token=Supprimer
|
delete_token=Supprimer
|
||||||
access_token_deletion=Suppression du jeton d'accès
|
access_token_deletion=Suppression du jeton d'accès personnel
|
||||||
access_token_deletion_desc=Supprimer ce jeton d'accès supprimera tous les accès de l'application. Voulez-vous continuer ?
|
access_token_deletion_desc=Supprimer ce jeton d'accès supprimera tous les accès de l'application. Voulez-vous continuer ?
|
||||||
delete_token_success=Le jeton d'accèsa été supprimé avec succès ! N'oubliez pas de mettre à jour vos applications.
|
delete_token_success=Le jeton d'accès a été supprimé avec succès ! N'oubliez pas de mettre à jour vos applications.
|
||||||
|
token_name_exists=Un jeton avec le même nom existe déjà.
|
||||||
|
|
||||||
orgs.none=Vous n'êtes membre d'aucune organisation.
|
orgs.none=Vous n'êtes membre d'aucune organisation.
|
||||||
orgs.leave_title=Quitter une organisation
|
orgs.leave_title=Quitter une organisation
|
||||||
@@ -391,9 +403,11 @@ owner=Propriétaire
|
|||||||
repo_name=Nom du dépôt
|
repo_name=Nom du dépôt
|
||||||
repo_name_helper=Idéalement, le nom d'un dépot devrait être court, mémorable et <strong>unique</strong>.
|
repo_name_helper=Idéalement, le nom d'un dépot devrait être court, mémorable et <strong>unique</strong>.
|
||||||
visibility=Visibilité
|
visibility=Visibilité
|
||||||
|
unlisted=Non répertorié
|
||||||
visiblity_helper=Ce dépôt est <span class="ui red text"> privé</span>
|
visiblity_helper=Ce dépôt est <span class="ui red text"> privé</span>
|
||||||
|
unlisted_helper=Ce dépôt <span class="ui red text">n'est pas répertorié</span>
|
||||||
visiblity_helper_forced=L'administrateur du site a forcé tous les nouveaux dépôts à être <span class="ui red text">privés</span>
|
visiblity_helper_forced=L'administrateur du site a forcé tous les nouveaux dépôts à être <span class="ui red text">privés</span>
|
||||||
visiblity_fork_helper=(Les changement de cette valeur affecteront tous les forks)
|
visiblity_fork_helper=(Les changements de cette valeur affecteront tous les forks)
|
||||||
clone_helper=Besoin d'aide pour dupliquer ? Visitez <a target="_blank" href="%s">l'aide</a> !
|
clone_helper=Besoin d'aide pour dupliquer ? Visitez <a target="_blank" href="%s">l'aide</a> !
|
||||||
fork_repo=Créer un fork du dépôt
|
fork_repo=Créer un fork du dépôt
|
||||||
fork_from=Fork de
|
fork_from=Fork de
|
||||||
@@ -417,12 +431,13 @@ mirror_last_synced=Dernière synchronisation
|
|||||||
watchers=Observateurs
|
watchers=Observateurs
|
||||||
stargazers=Stargazers
|
stargazers=Stargazers
|
||||||
forks=Forks
|
forks=Forks
|
||||||
|
repo_description_helper=Description du dépôt. 512 caractères maximum.
|
||||||
|
repo_description_length=Caractères disponibles
|
||||||
|
|
||||||
form.reach_limit_of_creation=Le propriétaire a atteint le nombre maximal de %d dépôts créés.
|
form.reach_limit_of_creation=Le propriétaire a atteint le nombre maximal de %d dépôts créés.
|
||||||
form.name_reserved=Le nom de dépôt '%s' est réservé.
|
form.name_not_allowed=Le nom de l'utilisateur ou le schéma n'est pas autorisé
|
||||||
form.name_pattern_not_allowed=Motif '%s' interdit pour les noms de dépôt.
|
|
||||||
|
|
||||||
need_auth=Nécessite une Autorisation
|
need_auth=Nécessite une autorisation
|
||||||
migrate_type=Type de migration
|
migrate_type=Type de migration
|
||||||
migrate_type_helper=Ce dépôt sera un <span class="text blue"> miroir</span>
|
migrate_type_helper=Ce dépôt sera un <span class="text blue"> miroir</span>
|
||||||
migrate_repo=Migrer le dépôt
|
migrate_repo=Migrer le dépôt
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=Cela peut être une URL HTTP/HTTPS/GIT.
|
|||||||
migrate.clone_address_desc_import_local=Vous êtes aussi autorisé à migrer un dépôt via un chemin local du serveur.
|
migrate.clone_address_desc_import_local=Vous êtes aussi autorisé à migrer un dépôt via un chemin local du serveur.
|
||||||
migrate.permission_denied=Vous n'êtes pas autorisé à importer des dépôts locaux.
|
migrate.permission_denied=Vous n'êtes pas autorisé à importer des dépôts locaux.
|
||||||
migrate.invalid_local_path=Chemin local non valide, non existant ou n'étant pas un dossier.
|
migrate.invalid_local_path=Chemin local non valide, non existant ou n'étant pas un dossier.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=L'adresse de clonage correspond à une adresse réseau locale, qui est bloquée implicitement.
|
||||||
migrate.failed=Echec de migration: %v
|
migrate.failed=Echec de migration: %v
|
||||||
|
|
||||||
mirror_from=miroir de
|
mirror_from=miroir de
|
||||||
@@ -441,7 +457,7 @@ copy_link_error=Appuyez sur ⌘-C ou Ctrl-C pour copier
|
|||||||
copied=Copié
|
copied=Copié
|
||||||
unwatch=Ne plus suivre
|
unwatch=Ne plus suivre
|
||||||
watch=Suivre
|
watch=Suivre
|
||||||
unstar=Retirer le vote
|
unstar=Retirer des favoris
|
||||||
star=Voter
|
star=Voter
|
||||||
fork=Fork
|
fork=Fork
|
||||||
|
|
||||||
@@ -469,7 +485,7 @@ file_raw=Raw
|
|||||||
file_history=Historique
|
file_history=Historique
|
||||||
file_view_raw=Voir le Raw
|
file_view_raw=Voir le Raw
|
||||||
file_permalink=Lien permanent
|
file_permalink=Lien permanent
|
||||||
file_too_large=Ce fichier est trop gros pour être afficher
|
file_too_large=Ce fichier est trop gros pour être affiché
|
||||||
video_not_supported_in_browser=Votre navigateur ne supporte pas la balise video HTML5.
|
video_not_supported_in_browser=Votre navigateur ne supporte pas la balise video HTML5.
|
||||||
|
|
||||||
branches.overview=Résumé
|
branches.overview=Résumé
|
||||||
@@ -478,6 +494,8 @@ branches.stale_branches=Branches stagnantes
|
|||||||
branches.all=Toutes les Branches
|
branches.all=Toutes les Branches
|
||||||
branches.updated_by=Mise à jour %[1]s par %[2]s
|
branches.updated_by=Mise à jour %[1]s par %[2]s
|
||||||
branches.change_default_branch=Changer la Branche par Défaut
|
branches.change_default_branch=Changer la Branche par Défaut
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Nouveau fichier
|
editor.new_file=Nouveau fichier
|
||||||
editor.upload_file=Téléverser un fichier
|
editor.upload_file=Téléverser un fichier
|
||||||
@@ -495,10 +513,10 @@ editor.filename_help=Pour ajouter un répertoire, il suffit de le taper puis d'a
|
|||||||
editor.or=ou
|
editor.or=ou
|
||||||
editor.cancel_lower=annuler
|
editor.cancel_lower=annuler
|
||||||
editor.commit_changes=Commit les modifications
|
editor.commit_changes=Commit les modifications
|
||||||
editor.add_tmpl=Ajouter '%s/<filename>'
|
editor.add_tmpl=Ajout de '%s/<filename>'
|
||||||
editor.add=Ajouter '%s'
|
editor.add=Ajout de '%s'
|
||||||
editor.update=Mettre à jour '%s'
|
editor.update=Mise à jour de '%s'
|
||||||
editor.delete=Supprimer '%s'
|
editor.delete=Suppression de '%s'
|
||||||
editor.commit_message_desc=Ajouter une optionnelle description détaillée...
|
editor.commit_message_desc=Ajouter une optionnelle description détaillée...
|
||||||
editor.commit_directly_to_this_branch=Soumettre directement à la branche <strong class="branch-name">%s</strong>.
|
editor.commit_directly_to_this_branch=Soumettre directement à la branche <strong class="branch-name">%s</strong>.
|
||||||
editor.create_new_branch=Créer une <strong>nouvelle branche</strong> pour cette validation et envoyer une nouvelle pull request.
|
editor.create_new_branch=Créer une <strong>nouvelle branche</strong> pour cette validation et envoyer une nouvelle pull request.
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=Le contenu du fichier à changé depuis que vo
|
|||||||
editor.file_already_exists=La branche '%s' existe déjà dans ce dépôt.
|
editor.file_already_exists=La branche '%s' existe déjà dans ce dépôt.
|
||||||
editor.no_changes_to_show=Il n’y a aucun changement à afficher.
|
editor.no_changes_to_show=Il n’y a aucun changement à afficher.
|
||||||
editor.fail_to_update_file=Échec lors de la mise à jour/création du fichier '%s' avec l'erreur : %v
|
editor.fail_to_update_file=Échec lors de la mise à jour/création du fichier '%s' avec l'erreur : %v
|
||||||
|
editor.fail_to_delete_file=Impossible de supprimer le fichier «%s» avec l’erreur : %v
|
||||||
editor.add_subdir=Ajouter un sous-répertoire...
|
editor.add_subdir=Ajouter un sous-répertoire...
|
||||||
editor.unable_to_upload_files=Échec lors de l'envoie du fichier '%s' avec l'erreur : %v
|
editor.unable_to_upload_files=Échec lors de l'envoie du fichier '%s' avec l'erreur : %v
|
||||||
editor.upload_files_to_dir=Transférer les fichiers vers '%s'
|
editor.upload_files_to_dir=Transférer les fichiers vers '%s'
|
||||||
@@ -620,7 +639,7 @@ pulls.nothing_merge_base=Il n'y a rien à comparer parce que les deux branches o
|
|||||||
pulls.has_pull_request=`Il y a déjà une pull request entre ces deux cibles : <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
pulls.has_pull_request=`Il y a déjà une pull request entre ces deux cibles : <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||||
pulls.create=Créer une Pull Request
|
pulls.create=Créer une Pull Request
|
||||||
pulls.title_desc=veut fusionner %[1]d commits à partir de <code>%[2]s</code> vers <code>%[3]s</code>
|
pulls.title_desc=veut fusionner %[1]d commits à partir de <code>%[2]s</code> vers <code>%[3]s</code>
|
||||||
pulls.merged_title_desc=à fusionné %[1]d commits à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s
|
pulls.merged_title_desc=a fusionné %[1]d commits à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s
|
||||||
pulls.tab_conversation=Conversation
|
pulls.tab_conversation=Conversation
|
||||||
pulls.tab_commits=Commits
|
pulls.tab_commits=Commits
|
||||||
pulls.tab_files=Fichiers modifiés
|
pulls.tab_files=Fichiers modifiés
|
||||||
@@ -634,6 +653,7 @@ pulls.cannot_auto_merge_desc=Cette pull request ne peut être fusionnée automat
|
|||||||
pulls.cannot_auto_merge_helper=Fusionner manuellement afin de résoudre les conflits.
|
pulls.cannot_auto_merge_helper=Fusionner manuellement afin de résoudre les conflits.
|
||||||
pulls.create_merge_commit=Créer un commit de fusion
|
pulls.create_merge_commit=Créer un commit de fusion
|
||||||
pulls.rebase_before_merging=Rebaser avant la fusion
|
pulls.rebase_before_merging=Rebaser avant la fusion
|
||||||
|
pulls.commit_description=Description du commit
|
||||||
pulls.merge_pull_request=Fusionner la Pull Request
|
pulls.merge_pull_request=Fusionner la Pull Request
|
||||||
pulls.open_unmerged_pull_exists=`Vous ne pouvez effectuer une réouverture car il y a déjà une pull-request ouverte (#%d) depuis le même dépôt avec les mêmes informations de fusion et est en attente de fusion.`
|
pulls.open_unmerged_pull_exists=`Vous ne pouvez effectuer une réouverture car il y a déjà une pull-request ouverte (#%d) depuis le même dépôt avec les mêmes informations de fusion et est en attente de fusion.`
|
||||||
pulls.delete_branch=Supprimer la branche
|
pulls.delete_branch=Supprimer la branche
|
||||||
@@ -738,7 +758,7 @@ settings.tracker_issue_style=Style de nommage des bugs du tracker externe :
|
|||||||
settings.tracker_issue_style.numeric=Numérique
|
settings.tracker_issue_style.numeric=Numérique
|
||||||
settings.tracker_issue_style.alphanumeric=Alphanumérique
|
settings.tracker_issue_style.alphanumeric=Alphanumérique
|
||||||
settings.tracker_url_format_desc=Vous pouvez utiliser l'espace réservé <code>{user} {repo} {index}</code> pour le nom d'utilisateur, le nom du dépôt et le numéro de bug.
|
settings.tracker_url_format_desc=Vous pouvez utiliser l'espace réservé <code>{user} {repo} {index}</code> pour le nom d'utilisateur, le nom du dépôt et le numéro de bug.
|
||||||
settings.pulls_desc=Activer les pull requests pour accepter les contributions publiques
|
settings.pulls_desc=Activer les pull requests pour accepter les contributions depuis des dépôts et des branches
|
||||||
settings.pulls.ignore_whitespace=Ignorer les changements quand ce sont des espaces
|
settings.pulls.ignore_whitespace=Ignorer les changements quand ce sont des espaces
|
||||||
settings.pulls.allow_rebase_merge=Autoriser l'utilisation de rebase pour fusionner les validations
|
settings.pulls.allow_rebase_merge=Autoriser l'utilisation de rebase pour fusionner les validations
|
||||||
settings.danger_zone=Zone de danger
|
settings.danger_zone=Zone de danger
|
||||||
@@ -761,7 +781,7 @@ settings.wiki_deletion_success=Le dépôt de données wiki ont été effacés av
|
|||||||
settings.delete=Supprimer ce dépôt
|
settings.delete=Supprimer ce dépôt
|
||||||
settings.delete_desc=Attention, cette action est action irréversible. Soyez sûr de vous.
|
settings.delete_desc=Attention, cette action est action irréversible. Soyez sûr de vous.
|
||||||
settings.delete_notices_1=- Cette opération <strong>ne peut pas </strong> être annulée.
|
settings.delete_notices_1=- Cette opération <strong>ne peut pas </strong> être annulée.
|
||||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
settings.delete_notices_2=- Cette opération supprimera définitivement le dépôt, y compris les données Git, les tickets, les commentaires et les accès des collaborateurs.
|
||||||
settings.delete_notices_fork_1=-Tous les forks deviendront indépendants après l'effacement.
|
settings.delete_notices_fork_1=-Tous les forks deviendront indépendants après l'effacement.
|
||||||
settings.deletion_success=Le dépôt a été supprimé avec succès!
|
settings.deletion_success=Le dépôt a été supprimé avec succès!
|
||||||
settings.update_settings_success=Options mises à jour avec succès.
|
settings.update_settings_success=Options mises à jour avec succès.
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=Cet utilisateur n'aura plus accès pour coll
|
|||||||
settings.remove_collaborator_success=Collaborateur supprimé.
|
settings.remove_collaborator_success=Collaborateur supprimé.
|
||||||
settings.search_user_placeholder=Rechercher un utilisateur...
|
settings.search_user_placeholder=Rechercher un utilisateur...
|
||||||
settings.org_not_allowed_to_be_collaborator=Une organisation n'est pas autorisée à être ajoutée en tant que collaborateur.
|
settings.org_not_allowed_to_be_collaborator=Une organisation n'est pas autorisée à être ajoutée en tant que collaborateur.
|
||||||
settings.add_webhook=Ajouter un Webhook
|
|
||||||
settings.hooks_desc=Les Webhooks sont des déclencheurs de POST HTTP . Lorsque qu'un événement se produit dans Gogs, une notification sera envoyée vers l'hôte cible préalablement spécifié. Apprenez-en davantage dans le <a target="_blank" href="%s">Guide des Webhooks</a>.
|
settings.hooks_desc=Les Webhooks sont des déclencheurs de POST HTTP . Lorsque qu'un événement se produit dans Gogs, une notification sera envoyée vers l'hôte cible préalablement spécifié. Apprenez-en davantage dans le <a target="_blank" href="%s">Guide des Webhooks</a>.
|
||||||
|
settings.webhooks.add_new=Ajouter un nouveau rappel HTTP
|
||||||
|
settings.webhooks.choose_a_type=Choisis le type de...
|
||||||
|
settings.add_webhook=Ajouter un Webhook
|
||||||
settings.webhook_deletion=Supprimer le Webhook
|
settings.webhook_deletion=Supprimer le Webhook
|
||||||
settings.webhook_deletion_desc=Supprimer ce webhook va supprimer ses informations et l'historique de livraison. Voulez-vous continuer ?
|
settings.webhook_deletion_desc=Supprimer ce webhook va supprimer ses informations et l'historique de livraison. Voulez-vous continuer ?
|
||||||
settings.webhook_deletion_success=Le webhook a été supprimé avec succès !
|
settings.webhook_deletion_success=Le webhook a été supprimé avec succès !
|
||||||
@@ -792,6 +814,8 @@ settings.webhook.response=Réponse
|
|||||||
settings.webhook.headers=Entêtes
|
settings.webhook.headers=Entêtes
|
||||||
settings.webhook.payload=Payload
|
settings.webhook.payload=Payload
|
||||||
settings.webhook.body=Corps
|
settings.webhook.body=Corps
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Impossible d'analyser l'URL : %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=L'URL du contenu correspond à une adresse réseau locale qui est bloquée implicitement.
|
||||||
settings.githooks_desc=Les Hooks Git sont alimentés par Git lui même. Les Hooks compatibles sont modifiables dans la liste ci-dessous pour effectuer des opérations personnalisées.
|
settings.githooks_desc=Les Hooks Git sont alimentés par Git lui même. Les Hooks compatibles sont modifiables dans la liste ci-dessous pour effectuer des opérations personnalisées.
|
||||||
settings.githook_edit_desc=Si un Hook est inactif, un exemple de contenu vous sera proposé. Un contenu laissé vide signifie un Hook inactif.
|
settings.githook_edit_desc=Si un Hook est inactif, un exemple de contenu vous sera proposé. Un contenu laissé vide signifie un Hook inactif.
|
||||||
settings.githook_name=Nom du Hook
|
settings.githook_name=Nom du Hook
|
||||||
@@ -819,10 +843,10 @@ settings.event_push=Push
|
|||||||
settings.event_push_desc=Git push vers un dépôt
|
settings.event_push_desc=Git push vers un dépôt
|
||||||
settings.event_issues=Tickets
|
settings.event_issues=Tickets
|
||||||
settings.event_issues_desc=Ticket ouvert, fermé, réouvert, modifié, assigné, non-assigné, étiquette mise à jour, étiquette nettoyée, jalonnée, ou déjalonnée.
|
settings.event_issues_desc=Ticket ouvert, fermé, réouvert, modifié, assigné, non-assigné, étiquette mise à jour, étiquette nettoyée, jalonnée, ou déjalonnée.
|
||||||
settings.event_issue_comment=Commentaire du ticket
|
|
||||||
settings.event_issue_comment_desc=Commentaire du ticket créé, modifié, ou supprimé.
|
|
||||||
settings.event_pull_request=Pull Request
|
settings.event_pull_request=Pull Request
|
||||||
settings.event_pull_request_desc=Pull requests ouverte, fermée, réouverte, modifiée, assignée, non-assignée, étiquette mise à jour, étiquette nettoyée, jalonnée, déjalonnée, ou synchronisée.
|
settings.event_pull_request_desc=Pull requests ouverte, fermée, réouverte, modifiée, assignée, non-assignée, étiquette mise à jour, étiquette nettoyée, jalonnée, déjalonnée, ou synchronisée.
|
||||||
|
settings.event_issue_comment=Commentaire du ticket
|
||||||
|
settings.event_issue_comment_desc=Commentaire du ticket créé, modifié, ou supprimé.
|
||||||
settings.event_release=Version publiée
|
settings.event_release=Version publiée
|
||||||
settings.event_release_desc=Version publiée dans un dépôt.
|
settings.event_release_desc=Version publiée dans un dépôt.
|
||||||
settings.active=Actif
|
settings.active=Actif
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=La nouvelle clé de déploiement '%s' a été ajoutée
|
|||||||
settings.deploy_key_deletion=Supprimer la Clé de Déploiement
|
settings.deploy_key_deletion=Supprimer la Clé de Déploiement
|
||||||
settings.deploy_key_deletion_desc=Supprimer cette clé de déploiement effacera tous les accès relatifs pour ce référentiel. Voulez-vous continuer ?
|
settings.deploy_key_deletion_desc=Supprimer cette clé de déploiement effacera tous les accès relatifs pour ce référentiel. Voulez-vous continuer ?
|
||||||
settings.deploy_key_deletion_success=La clé de déploiement a été supprimée avec succès !
|
settings.deploy_key_deletion_success=La clé de déploiement a été supprimée avec succès !
|
||||||
|
settings.description_desc=Description du dépôt. 512 caractères maximum.
|
||||||
|
settings.description_length=Caractères disponibles
|
||||||
|
|
||||||
diff.browse_source=Parcourir la source
|
diff.browse_source=Parcourir la source
|
||||||
diff.parent=Parent
|
diff.parent=Parent
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=Ce nom sera utilisé pour mentionner l'équipe dans les convers
|
|||||||
team_desc_helper=Présentation de l'équipe
|
team_desc_helper=Présentation de l'équipe
|
||||||
team_permission_desc=Quel niveau d'accès cette équipe devrait-elle posséder ?
|
team_permission_desc=Quel niveau d'accès cette équipe devrait-elle posséder ?
|
||||||
|
|
||||||
form.name_reserved=Le nom d'organisation '%s' est réservé.
|
form.name_not_allowed=Le nom de l'organisation ou le modèle n'est pas autorisé.
|
||||||
form.name_pattern_not_allowed=Motif '%s' interdit pour les noms d'organisation.
|
form.team_name_not_allowed=Le nom de l'équipe ou le pattern %q n'est pas autorisé.
|
||||||
form.team_name_reserved=Le nom d'équipe « %s » est réservé.
|
|
||||||
|
|
||||||
settings=Paramètres
|
settings=Paramètres
|
||||||
settings.options=Options
|
settings.options=Options
|
||||||
@@ -935,7 +960,7 @@ settings.delete_prompt=Cela supprimera cette organisation définitivement. Cette
|
|||||||
settings.confirm_delete_account=Confirmez la suppression
|
settings.confirm_delete_account=Confirmez la suppression
|
||||||
settings.delete_org_title=Suppression d'organisation
|
settings.delete_org_title=Suppression d'organisation
|
||||||
settings.delete_org_desc=Cette organisation sera définitivement supprimée. Continuer ?
|
settings.delete_org_desc=Cette organisation sera définitivement supprimée. Continuer ?
|
||||||
settings.hooks_desc=Ajoute des vebhooks qui seront activés pour <strong>tous les dépôts</strong> de cette organisation.
|
settings.hooks_desc=Ajoute des webhooks qui seront activés pour <strong>tous les dépôts</strong> de cette organisation.
|
||||||
|
|
||||||
members.membership_visibility=Visibilité des membres:
|
members.membership_visibility=Visibilité des membres:
|
||||||
members.public=Public
|
members.public=Public
|
||||||
@@ -990,12 +1015,19 @@ first_page=Première
|
|||||||
last_page=Dernière
|
last_page=Dernière
|
||||||
total=Total : %d
|
total=Total : %d
|
||||||
|
|
||||||
|
dashboard.build_info=Informations sur la construction
|
||||||
|
dashboard.app_ver=Version de l'application
|
||||||
|
dashboard.git_version=Version de Git
|
||||||
|
dashboard.go_version=Version de Go
|
||||||
|
dashboard.build_time=Temps de compilation
|
||||||
|
dashboard.build_commit=Commit
|
||||||
dashboard.statistic=Statistiques
|
dashboard.statistic=Statistiques
|
||||||
dashboard.operations=Opérations
|
dashboard.operations=Opérations
|
||||||
dashboard.system_status=État du système
|
dashboard.system_status=État du système
|
||||||
dashboard.statistic_info=La base de données Gogs contient <b>%d</b> utilisateurs, <b>%d</b> organisations, <b>%d</b> clés publiques, <b>%d</b> dépôts, <b>%d</b> surveillances de dépôts, <b>%d</b> votes, <b>%d</b> actions, <b>%d</b> accès, <b>%d</b> tickets, <b>%d</b> commentaires, <b>%d</b> comptes de réseaux sociaux, <b>%d</b> abonnements, <b>%d</b> miroirs, <b>%d</b> versions, <b>%d</b> connexions d'origine, <b>%d</b> webhooks, <b>%d</b> versions, <b>%d</b> labels, <b>%d</b> tâches hook, <b>%d</b> équipes, <b>%d</b> tâches de mise à jour, <b>%d</b> fichiers.
|
dashboard.statistic_info=La base de données Gogs contient <b>%d</b> utilisateurs, <b>%d</b> organisations, <b>%d</b> clés publiques, <b>%d</b> dépôts, <b>%d</b> surveillances de dépôts, <b>%d</b> votes, <b>%d</b> actions, <b>%d</b> accès, <b>%d</b> tickets, <b>%d</b> commentaires, <b>%d</b> comptes de réseaux sociaux, <b>%d</b> abonnements, <b>%d</b> miroirs, <b>%d</b> versions, <b>%d</b> connexions d'origine, <b>%d</b> webhooks, <b>%d</b> versions, <b>%d</b> labels, <b>%d</b> tâches hook, <b>%d</b> équipes, <b>%d</b> tâches de mise à jour, <b>%d</b> fichiers.
|
||||||
dashboard.operation_name=Nom de l'Opération
|
dashboard.operation_name=Nom de l'Opération
|
||||||
dashboard.operation_switch=Basculer
|
dashboard.operation_switch=Basculer
|
||||||
|
dashboard.select_operation_to_run=Veuillez sélectionner l'opération à exécuter
|
||||||
dashboard.operation_run=Exécuter
|
dashboard.operation_run=Exécuter
|
||||||
dashboard.clean_unbind_oauth=Nettoyer les associations OAuthes
|
dashboard.clean_unbind_oauth=Nettoyer les associations OAuthes
|
||||||
dashboard.clean_unbind_oauth_success=Tous unbind OAuthes ont été supprimés avec succès.
|
dashboard.clean_unbind_oauth_success=Tous unbind OAuthes ont été supprimés avec succès.
|
||||||
@@ -1087,11 +1119,12 @@ repos.stars=Votes
|
|||||||
repos.issues=Tickets
|
repos.issues=Tickets
|
||||||
repos.size=Taille
|
repos.size=Taille
|
||||||
|
|
||||||
auths.auth_manage_panel=Panel d'administration des authentifications
|
auths.auth_sources=Sources d'authentification
|
||||||
auths.new=Ajouter une nouvelle source d'authentification
|
auths.new=Ajouter une nouvelle source d'authentification
|
||||||
auths.name=Nom
|
auths.name=Nom
|
||||||
auths.type=Type
|
auths.type=Type
|
||||||
auths.enabled=Activé
|
auths.enabled=Activé
|
||||||
|
auths.default=Par défaut
|
||||||
auths.updated=Mis à jour
|
auths.updated=Mis à jour
|
||||||
auths.auth_type=Type d'authentification
|
auths.auth_type=Type d'authentification
|
||||||
auths.auth_name=Nom de l'authentification
|
auths.auth_name=Nom de l'authentification
|
||||||
@@ -1128,9 +1161,9 @@ auths.enable_tls=Activer le Chiffrement TLS
|
|||||||
auths.skip_tls_verify=Ne pas vérifier TLS
|
auths.skip_tls_verify=Ne pas vérifier TLS
|
||||||
auths.pam_service_name=Nom du Service PAM
|
auths.pam_service_name=Nom du Service PAM
|
||||||
auths.enable_auto_register=Connexion Automatique
|
auths.enable_auto_register=Connexion Automatique
|
||||||
auths.tips=Conseils
|
|
||||||
auths.edit=Modifier les paramètres d'authentification
|
auths.edit=Modifier les paramètres d'authentification
|
||||||
auths.activated=Authentification activée
|
auths.activated=Authentification activée
|
||||||
|
auths.default_auth=Cette authentification est la source de connexion par défaut
|
||||||
auths.new_success=Nouvelle authentification «%s » a été ajoutée avec succès.
|
auths.new_success=Nouvelle authentification «%s » a été ajoutée avec succès.
|
||||||
auths.update_success=Les paramètre d'authentification a été mis à jour avec succès.
|
auths.update_success=Les paramètre d'authentification a été mis à jour avec succès.
|
||||||
auths.update=Mettre à jour les paramètres d'authentifications
|
auths.update=Mettre à jour les paramètres d'authentifications
|
||||||
@@ -1140,120 +1173,186 @@ auths.delete_auth_desc=Cette authentification va être supprimée. voulez-vous c
|
|||||||
auths.still_in_used=Cette authentification est encore utilisée par d'autres utilisateurs, supprimez-les ou convertir ces utilisateurs vers un autre type de session, avant.
|
auths.still_in_used=Cette authentification est encore utilisée par d'autres utilisateurs, supprimez-les ou convertir ces utilisateurs vers un autre type de session, avant.
|
||||||
auths.deletion_success=L'authentification a été supprimée avec succès !
|
auths.deletion_success=L'authentification a été supprimée avec succès !
|
||||||
auths.login_source_exist=La source de connexion « %s » existe déjà.
|
auths.login_source_exist=La source de connexion « %s » existe déjà.
|
||||||
|
auths.github_api_endpoint=API Endpoint
|
||||||
|
|
||||||
config.not_set=(non défini)
|
config.not_set=(non défini)
|
||||||
config.server_config=Configuration du Serveur
|
config.server_config=Configuration du Serveur
|
||||||
config.app_name=Nom de l'application
|
config.brand_name=Nom de la marque
|
||||||
config.app_ver=Version de l'application
|
|
||||||
config.app_url=URL de l'application
|
|
||||||
config.domain=Domaine
|
|
||||||
config.offline_mode=Mode hors-ligne
|
|
||||||
config.disable_router_log=Désactiver la Journalisation du Routeur
|
|
||||||
config.run_user=Utilisateur système
|
config.run_user=Utilisateur système
|
||||||
config.run_mode=Mode d'Éxécution
|
config.run_mode=Mode d'Éxécution
|
||||||
config.git_version=Version de Git
|
config.server.external_url=URL externe
|
||||||
config.static_file_root_path=Chemin statique des fichiers racines
|
config.server.domain=Domaine
|
||||||
config.log_file_root_path=Emplacement Racine du Fichier Journal
|
config.server.protocol=Protocole
|
||||||
config.reverse_auth_user=Annuler l'Authentification de l'Utilisateur
|
config.server.http_addr=Adresse HTTP
|
||||||
|
config.server.http_port=Port HTTP
|
||||||
|
config.server.cert_file=Fichier de certificat
|
||||||
|
config.server.key_file=Fichier de la clé
|
||||||
|
config.server.tls_min_version=Version minimale de TLS
|
||||||
|
config.server.unix_socket_permission=Autorisation du socket Unix
|
||||||
|
config.server.local_root_url=URL racine locale
|
||||||
|
config.server.offline_mode=Mode hors connexion
|
||||||
|
config.server.disable_router_log=Désactiver la journalisation du routeur
|
||||||
|
config.server.enable_gzip=Activer Gzip
|
||||||
|
config.server.app_data_path=Chemin des données de l'application
|
||||||
|
config.server.load_assets_from_disk=Charger les ressources depuis le disque
|
||||||
|
config.server.landing_url=URL de destination (collecte)
|
||||||
|
|
||||||
config.ssh_config=Configuration SSH
|
config.ssh_config=Configuration SSH
|
||||||
config.ssh_enabled=Activé
|
config.ssh.enabled=Activé
|
||||||
config.ssh_start_builtin_server=Démarrer le serveur intégré
|
config.ssh.domain=Domaine exposé
|
||||||
config.ssh_domain=Domaine
|
config.ssh.port=Port exposé
|
||||||
config.ssh_port=Port
|
config.ssh.root_path=Emplacement racine
|
||||||
config.ssh_listen_port=Port d'écoute
|
config.ssh.keygen_path=Chemin de la clé
|
||||||
config.ssh_root_path=Emplacement racine
|
config.ssh.key_test_path=Chemin de test de la clé
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Vérification de la taille minimale des clés
|
||||||
config.ssh_key_test_path=Chemin de test des clés
|
config.ssh.minimum_key_sizes=Taille minimale des clés
|
||||||
config.ssh_keygen_path=Chemin vers le générateur de clefs ("ssh-keygen")
|
config.ssh.rewrite_authorized_keys_at_start=Réécriture de "authorized_keys" au démarrage
|
||||||
config.ssh_minimum_key_size_check=Vérification de la longueur de clé minimale
|
config.ssh.start_builtin_server=Démarrer le serveur intégré
|
||||||
config.ssh_minimum_key_sizes=Tailles de clé minimales
|
config.ssh.listen_host=Hôte en écoute
|
||||||
|
config.ssh.listen_port=Port d'écoute
|
||||||
|
config.ssh.server_ciphers=Suites de chiffrement
|
||||||
|
config.ssh.server_macs=Adresses MAC du serveur
|
||||||
|
config.ssh.server_algorithms=Algorithmes de serveur
|
||||||
|
|
||||||
config.repo_config=Configuration du dépôt
|
config.repo_config=Configuration du dépôt
|
||||||
config.repo_root_path=Emplacement des Dépôts
|
config.repo.root_path=Emplacement racine
|
||||||
config.script_type=Type de Script
|
config.repo.script_type=Type de script
|
||||||
config.repo_force_private=Privé forcé
|
config.repo.ansi_chatset=Jeu de caractères ANSI
|
||||||
config.max_creation_limit=Limite de création maximale
|
config.repo.force_private=Forcer en tant que privé
|
||||||
config.preferred_licenses=Licences préférées
|
config.repo.max_creation_limit=Limite de création
|
||||||
config.disable_http_git=Désactiver Git HTTP
|
config.repo.preferred_licenses=Licences préférées
|
||||||
config.enable_local_path_migration=Activer la migration de chemin locale
|
config.repo.disable_http_git=Désactiver Git HTTP
|
||||||
config.commits_fetch_concurrency=Concurrence des récupérations de commits
|
config.repo.enable_local_path_migration=Activer la migration de chemin locale
|
||||||
|
config.repo.enable_raw_file_render_mode=Activer le mode de rendu des fichiers de manière brute
|
||||||
config.http_config=Configuration HTTP
|
config.repo.commits_fetch_concurrency=Récupération simultanée des commits
|
||||||
config.http_access_control_allow_origin=Autoriser le partage d’accès avec l’origine
|
config.repo.editor.line_wrap_extensions=Extensions de retour à la ligne de l'éditeur
|
||||||
|
config.repo.editor.previewable_file_modes=Modes de prévisualisation des fichiers de l'éditeur
|
||||||
|
config.repo.upload.enabled=Publication activée
|
||||||
|
config.repo.upload.temp_path=Chemin du téléchargement temporaire
|
||||||
|
config.repo.upload.allowed_types=Types de publications autorisées
|
||||||
|
config.repo.upload.file_max_size=Taille maximale des fichiers envoyés
|
||||||
|
config.repo.upload.max_files=Limite sur les fichiers publiés
|
||||||
|
|
||||||
config.db_config=Configuration de la Base de Données
|
config.db_config=Configuration de la Base de Données
|
||||||
config.db_type=Type
|
config.db.type=Type
|
||||||
config.db_host=Hôte
|
config.db.host=Serveur hôte
|
||||||
config.db_name=Nom
|
config.db.name=Nom
|
||||||
config.db_user=Utilisateur
|
config.db.schema=Schéma
|
||||||
config.db_ssl_mode=Mode SSL
|
config.db.schema_helper=(pour "postgres" uniquement)
|
||||||
config.db_ssl_mode_helper=("postgres" uniquement)
|
config.db.user=Utilisateur
|
||||||
config.db_path=Emplacement
|
config.db.ssl_mode=Mode SSL
|
||||||
config.db_path_helper=(pour « sqlite3 » et « TIDB »)
|
config.db.ssl_mode_helper=("postgres" uniquement)
|
||||||
|
config.db.path=Chemin
|
||||||
|
config.db.path_helper=(pour "sqlite3" seulement)
|
||||||
|
config.db.max_open_conns=Nombre maximum de connexions ouvertes
|
||||||
|
config.db.max_idle_conns=Nombre maximum de connexions inactives
|
||||||
|
|
||||||
config.service_config=Configuration du Service
|
config.security_config=Configuration de sécurité
|
||||||
config.register_email_confirm=Nécessite une confirmation par e-mail
|
config.security.login_remember_days=Rester connecté plusieurs jours
|
||||||
config.disable_register=Désactiver les inscriptions
|
config.security.cookie_remember_name=Mémoriser le cookie
|
||||||
config.show_registration_button=Afficher le bouton d'enregistrement
|
config.security.cookie_username=Cookie du nom d'utilisateur
|
||||||
config.require_sign_in_view=Connexion obligatoire pour visualiser
|
config.security.cookie_secure=Activer les cookies sécurisés
|
||||||
config.mail_notify=Notifier par mail
|
config.security.reverse_proxy_auth_user=Inverser l'en-tête d'authentification du proxy
|
||||||
config.disable_key_size_check=Désactiver la vérification de la taille de clé minimale
|
config.security.enable_login_status_cookie=Activer le cookie d'état de connexion
|
||||||
config.enable_captcha=Activez le Captcha
|
config.security.login_status_cookie_name=Cookie de statut de connexion
|
||||||
config.active_code_lives=Limites de Code Actif
|
config.security.local_network_allowlist=liste des autorisations de réseau local
|
||||||
config.reset_password_code_lives=Réinitialiser le Mot De Passe des Limites de Code
|
|
||||||
|
|
||||||
config.webhook_config=Configuration Webhook
|
config.email_config=Configuration de l’e-mail
|
||||||
config.queue_length=Longueur de la file d'attente
|
config.email.enabled=Activé
|
||||||
config.deliver_timeout=Expiration d'Envoi
|
config.email.subject_prefix=Préfixe du sujet
|
||||||
config.skip_tls_verify=Ne pas vérifier TLS
|
config.email.host=Hôte
|
||||||
|
config.email.from=De:
|
||||||
|
config.email.user=Utilisateur
|
||||||
|
config.email.disable_helo=Désactiver HELO
|
||||||
|
config.email.helo_hostname=Nom d’hôte HELO
|
||||||
|
config.email.skip_verify=Ignorer la vérification du certificat
|
||||||
|
config.email.use_certificate=Utiliser un certificat personnalisé
|
||||||
|
config.email.cert_file=Fichier de certificat
|
||||||
|
config.email.key_file=Fichier de la clé
|
||||||
|
config.email.use_plain_text=Utiliser le texte brut
|
||||||
|
config.email.add_plain_text_alt=Ajouter une alternative au texte brut
|
||||||
|
config.email.send_test_mail=Envoyer un e-mail de test
|
||||||
|
config.email.test_mail_failed=Impossible d'envoyer un e-mail de test à '%s' :
|
||||||
|
config.email.test_mail_sent=Un e-mail de test à été envoyé à '%s'.
|
||||||
|
|
||||||
config.mailer_config=Configuration du service de mail
|
config.auth_config=Configuration de l'authentification
|
||||||
config.mailer_enabled=Activé
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=Désactiver HELO
|
config.auth.activate_code_lives=Activer les vies sur les codes
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Vies sur les codes de réinitialisation des mots de passes
|
||||||
config.mailer_host=Hôte
|
config.auth.require_email_confirm=Nécessite une confirmation par e-mail
|
||||||
config.mailer_user=Utilisateur
|
config.auth.require_sign_in_view=Connexion obligatoire pour visualiser
|
||||||
config.send_test_mail=Envoyer courriel de Test
|
config.auth.disable_registration=Désactiver les inscriptions
|
||||||
config.test_mail_failed=Impossible d'envoyer un e-mail de test à '%s': %v
|
config.auth.enable_registration_captcha=Activer le CAPTCHA à l'inscription
|
||||||
config.test_mail_sent=Un e-mail de test à été envoyé à '%s'.
|
config.auth.enable_reverse_proxy_authentication=Activer l'authentification par proxy inversé
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Activer l'enregistrement automatique du proxy inversé
|
||||||
|
config.auth.reverse_proxy_authentication_header=En-tête d'authentification du proxy inversé
|
||||||
|
|
||||||
config.oauth_config=Configuration OAuth
|
config.user_config=Configuration de l'utilisateur
|
||||||
config.oauth_enabled=Activé
|
config.user.enable_email_notify=Activer les notifications par e-mail
|
||||||
|
|
||||||
config.cache_config=Configuration du Cache
|
|
||||||
config.cache_adapter=Adaptateur du Cache
|
|
||||||
config.cache_interval=Intervales du Cache
|
|
||||||
config.cache_conn=Liaison du Cache
|
|
||||||
|
|
||||||
config.session_config=Configuration de session
|
config.session_config=Configuration de session
|
||||||
config.session_provider=Fournisseur de session
|
config.session.provider=Fournisseur
|
||||||
config.provider_config=Configuration du fournisseur
|
config.session.provider_config=Configuration du fournisseur
|
||||||
config.cookie_name=Nom du cookie
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=Activer les cookies
|
config.session.https_only=HTTPS uniquement
|
||||||
config.gc_interval_time=Intervals GC
|
config.session.gc_interval=Intervalle du GC
|
||||||
config.session_life_time=Durée des sessions
|
config.session.max_life_time=Durée de vie maximale
|
||||||
config.https_only=HTTPS uniquement
|
config.session.csrf_cookie_name=Cookie CSRF
|
||||||
config.cookie_life_time=Expiration du cookie
|
|
||||||
|
config.cache_config=Configuration du Cache
|
||||||
|
config.cache.adapter=Adaptateur
|
||||||
|
config.cache.interval=Intervalle du GC
|
||||||
|
config.cache.host=Serveur hôte
|
||||||
|
|
||||||
|
config.http_config=Configuration HTTP
|
||||||
|
config.http.access_control_allow_origin=Autoriser le partage d’accès avec l’origine
|
||||||
|
|
||||||
|
config.attachment_config=Configuration des pièces jointes
|
||||||
|
config.attachment.enabled=Activé
|
||||||
|
config.attachment.path=Chemin
|
||||||
|
config.attachment.allowed_types=Types autorisés
|
||||||
|
config.attachment.max_size=Taille limite
|
||||||
|
config.attachment.max_files=Limite de fichiers
|
||||||
|
|
||||||
|
config.release_config=Configuration de la version
|
||||||
|
config.release.attachment.enabled=Pièces jointes activées
|
||||||
|
config.release.attachment.allowed_types=Types de pièces jointes autorisés
|
||||||
|
config.release.attachment.max_size=Limite de taille des pièces jointes
|
||||||
|
config.release.attachment.max_files=Limite du nombre de fichiers joints
|
||||||
|
|
||||||
config.picture_config=Configuration d'Image
|
config.picture_config=Configuration d'Image
|
||||||
config.picture_service=Service d'Imagerie
|
config.picture.avatar_upload_path=Chemin de téléchargement de l'avatar de l'utilisateur
|
||||||
config.disable_gravatar=Désactiver Gravatar
|
config.picture.repo_avatar_upload_path=Chemin de téléchargement de l'avatar du référentiel de versions
|
||||||
config.enable_federated_avatar=Activer les avatars unifiés
|
config.picture.gravatar_source=Origine Gravatar
|
||||||
|
config.picture.disable_gravatar=Désactiver Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Activer les avatars unifiés
|
||||||
|
|
||||||
|
config.mirror_config=Configuration de mise en miroir
|
||||||
|
config.mirror.default_interval=Intervalle par défaut
|
||||||
|
|
||||||
|
config.webhook_config=Configuration Webhook
|
||||||
|
config.webhook.types=Types
|
||||||
|
config.webhook.deliver_timeout=Délai de livraison
|
||||||
|
config.webhook.skip_tls_verify=Ignorer la vérification TLS
|
||||||
|
|
||||||
config.git_config=Configuration de Git
|
config.git_config=Configuration de Git
|
||||||
config.git_disable_diff_highlight=Désactiver la surbrillance syntaxique de Diff
|
config.git.disable_diff_highlight=Désactiver la coloration syntaxique des différences
|
||||||
config.git_max_diff_lines=Lignes de Diff Max (pour un seul fichier)
|
config.git.max_diff_lines=Limite de lignes différentes (pour un seul fichier)
|
||||||
config.git_max_diff_line_characters=Nombre max de caractères de Diff (pour une seule ligne)
|
config.git.max_diff_line_characters=Limite de caractères différents (pour une seule ligne)
|
||||||
config.git_max_diff_files=Nombre max de fichiers de Diff (à afficher)
|
config.git.max_diff_files=Limite de fichiers différents (pour une seule différence)
|
||||||
config.git_gc_args=Arguments de GC
|
config.git.gc_args=Arguments GC
|
||||||
config.git_migrate_timeout=Délai imparti pour une migration
|
config.git.migrate_timeout=Délai de migration dépassé
|
||||||
config.git_mirror_timeout=Délai imparti pour mettre à jour le miroir
|
config.git.mirror_timeout=Délai de récupération du miroir dépassé
|
||||||
config.git_clone_timeout=Délai imparti pour l'opération "Clone"
|
config.git.clone_timeout=Délai de clonage dépassé
|
||||||
config.git_pull_timeout=Délai imparti pour l'opération "Pull"
|
config.git.pull_timeout=Délai de récupération des sources dépassé
|
||||||
config.git_gc_timeout=Délai imparti pour l'opération "GC"
|
config.git.gc_timeout=GB délai expiré
|
||||||
|
|
||||||
|
config.lfs_config=Configuration LFS
|
||||||
|
config.lfs.storage=Espace de stockage
|
||||||
|
config.lfs.objects_path=Chemin d'accès des objets
|
||||||
|
|
||||||
config.log_config=Configuration du Journal
|
config.log_config=Configuration du Journal
|
||||||
|
config.log_file_root_path=Emplacement Racine du Fichier Journal
|
||||||
config.log_mode=Mode
|
config.log_mode=Mode
|
||||||
config.log_options=Options
|
config.log_options=Options
|
||||||
|
|
||||||
@@ -1274,7 +1373,7 @@ notices.actions=Actions
|
|||||||
notices.select_all=Tout Sélectionner
|
notices.select_all=Tout Sélectionner
|
||||||
notices.deselect_all=Tous déselectionner
|
notices.deselect_all=Tous déselectionner
|
||||||
notices.inverse_selection=Inverser la sélection
|
notices.inverse_selection=Inverser la sélection
|
||||||
notices.delete_selected=Supprimé les éléments sélectionnés
|
notices.delete_selected=Supprimer les éléments sélectionnés
|
||||||
notices.delete_all=Supprimer toutes les notifications
|
notices.delete_all=Supprimer toutes les notifications
|
||||||
notices.type=Type
|
notices.type=Type
|
||||||
notices.type_1=Dépôt
|
notices.type_1=Dépôt
|
||||||
@@ -1284,7 +1383,6 @@ notices.delete_success=Notifications système supprimées avec succès.
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=a créé le dépôt <a href="%s">%s</a>
|
create_repo=a créé le dépôt <a href="%s">%s</a>
|
||||||
fork_repo=a créé sa branche du dépôt vers <a href="%s">%s</a>
|
|
||||||
rename_repo=a rebaptisé le dépôt de <code>%[1]s</code> vers <a href="%[2]s">%[3]s</a>
|
rename_repo=a rebaptisé le dépôt de <code>%[1]s</code> vers <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo=a commité dans <a href="%[1]s/src/%[2]s">%[3]s</a> sur <a href="%[1]s">%[4]s</a>
|
commit_repo=a commité dans <a href="%[1]s/src/%[2]s">%[3]s</a> sur <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=Comparer ces %d commits
|
compare_commits=Comparer ces %d commits
|
||||||
@@ -1294,13 +1392,17 @@ close_issue=`tickets clos <a href="%s/issues/%s">%s#%[2]s</a>`
|
|||||||
reopen_issue=`tickets ré-ouverts <a href="%s/issues/%s">%s#%[2]s</a>`
|
reopen_issue=`tickets ré-ouverts <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
comment_issue=`a commenté le problème <a href="%s/issues/%s">%s#%[2]s</a>`
|
comment_issue=`a commenté le problème <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
create_pull_request=`pull request créée le <a href="%s/pulls/%s">%s#%[2]s</a>`
|
create_pull_request=`pull request créée le <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
close_pull_request=`pull request fermé <a href="%s/pulls/%s">%s#%[2]s</a>`
|
close_pull_request=`pull request fermée <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
reopen_pull_request=`pull request ré-ouverte <a href="%s/pulls/%s">%s#%[2]s</a>`
|
reopen_pull_request=`pull request ré-ouverte <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
merge_pull_request=`pull request fusionné le <a href="%s/pulls/%s">%s#%[2]s</a>`
|
merge_pull_request=`pull request fusionné le <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
create_branch=nouvelle branche créée <a href="%[1]s/src/%[2]s">%[3]s</a> sur <a href="%[1]s">%[4]s</a>
|
create_branch=nouvelle branche créée <a href="%[1]s/src/%[2]s">%[3]s</a> sur <a href="%[1]s">%[4]s</a>
|
||||||
delete_branch=branche supprimée <code>%[2]s</code> sur <a href="%[1]s">%[3]s</a>
|
delete_branch=branche supprimée <code>%[2]s</code> sur <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=a soumis le tag <a href="%s/src/%s">%[2]s</a> sur <a href="%[1]s">%[3]s</a>
|
push_tag=a soumis le tag <a href="%s/src/%s">%[2]s</a> sur <a href="%[1]s">%[3]s</a>
|
||||||
delete_tag=étiquette supprimée <code>%[2]s</code> sur <a href="%[1]s">%[3]s</a>
|
delete_tag=étiquette supprimée <code>%[2]s</code> sur <a href="%[1]s">%[3]s</a>
|
||||||
|
fork_repo=a créé sa branche du dépôt vers <a href="%s">%s</a>
|
||||||
|
mirror_sync_push=a commité dans <a href="%[1]s/src/%[2]s">%[3]s</a> sur <a href="%[1]s">%[4]s</a>
|
||||||
|
mirror_sync_create=a synchronisé la nouvelle référence <a href="%s/src/%s">%[2]s</a> vers <a href="%[1]s">%[3]s</a> depuis le miroir
|
||||||
|
mirror_sync_delete=Référence synchronisés et supprimé <code>%[2]s</code> sur <a href="%[1]s">%[3]s</a>
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=il y a
|
ago=il y a
|
||||||
@@ -1322,6 +1424,7 @@ months=%[2]s %[1]d mois
|
|||||||
years=%[2]s %[1]d ans
|
years=%[2]s %[1]d ans
|
||||||
raw_seconds=secondes
|
raw_seconds=secondes
|
||||||
raw_minutes=minutes
|
raw_minutes=minutes
|
||||||
|
raw_hours=heures
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Déposez les fichiers ici ou cliquez pour télécharger.
|
default_message=Déposez les fichiers ici ou cliquez pour télécharger.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=Cerrar sesión
|
|||||||
sign_up=Rexistro
|
sign_up=Rexistro
|
||||||
register=Rexistro
|
register=Rexistro
|
||||||
website=Páxina web
|
website=Páxina web
|
||||||
version=Versión
|
|
||||||
page=Páxina
|
page=Páxina
|
||||||
template=Modelo
|
template=Modelo
|
||||||
language=Idioma
|
language=Idioma
|
||||||
@@ -44,22 +43,27 @@ issues=Incidencias
|
|||||||
|
|
||||||
cancel=Cancelar
|
cancel=Cancelar
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Page Not Found
|
||||||
|
internal_server_error=Internal Server Error
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Instalación
|
install=Instalación
|
||||||
title=Pasos da instalación por primeira vez
|
title=Pasos da instalación por primeira vez
|
||||||
docker_helper=Se está executando Gogs usando Docker, por favor lea <a target="_blank" href="%s"> estas pautas</a> antes de cambiar nada nesta páxina!
|
docker_helper=Se está executando Gogs usando Docker, por favor lea <a target="_blank" href="%s"> estas pautas</a> antes de cambiar nada nesta páxina!
|
||||||
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB.
|
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol).
|
||||||
db_title=Configuración de base de datos
|
db_title=Configuración de base de datos
|
||||||
db_type=Tipo de base de datos
|
db_type=Tipo de base de datos
|
||||||
host=Host
|
host=Host
|
||||||
user=Persoa usuaria
|
user=Persoa usuaria
|
||||||
password=Contrasinal
|
password=Contrasinal
|
||||||
db_name=Nome da base de datos
|
db_name=Nome da base de datos
|
||||||
|
db_schema=Schema
|
||||||
db_helper=Por favor, empregue o motor INNODB coa configuración de caracteres utf8_general_ci para MySQL.
|
db_helper=Por favor, empregue o motor INNODB coa configuración de caracteres utf8_general_ci para MySQL.
|
||||||
ssl_mode=Modo SSL
|
ssl_mode=Modo SSL
|
||||||
path=Ruta
|
path=Ruta
|
||||||
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service.
|
sqlite_helper=A ruta do ficheiro da base de datos SQLite3. <br> Utilice a ruta absoluta cando arrique o servicio.
|
||||||
err_empty_db_path=SQLite3 database path cannot be empty.
|
err_empty_db_path=A ruta da base de datos SQLite3 non pode estar baleira.
|
||||||
no_admin_and_disable_registration=Non pode deshabilitar o rexistro sen crear unha conta de administrador.
|
no_admin_and_disable_registration=Non pode deshabilitar o rexistro sen crear unha conta de administrador.
|
||||||
err_empty_admin_password=O contrasinal de administrador non pode estar baleiro.
|
err_empty_admin_password=O contrasinal de administrador non pode estar baleiro.
|
||||||
|
|
||||||
@@ -74,16 +78,17 @@ domain=Dominio
|
|||||||
domain_helper=Isto afecta ás URLs para clonar por SSH.
|
domain_helper=Isto afecta ás URLs para clonar por SSH.
|
||||||
ssh_port=Porto SSH
|
ssh_port=Porto SSH
|
||||||
ssh_port_helper=Número de porto do seu servidor SSH, déixeo en branco para desactivar SSH.
|
ssh_port_helper=Número de porto do seu servidor SSH, déixeo en branco para desactivar SSH.
|
||||||
use_builtin_ssh_server=Use Builtin SSH Server
|
use_builtin_ssh_server=Utilizar Builin en Sevidor SSH
|
||||||
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon.
|
use_builtin_ssh_server_popup=Inicia o servidor SSH integrado para que as operacións de Git sexan distintas do demonio SSH do sistema.
|
||||||
http_port=Porto HTTP
|
http_port=Porto HTTP
|
||||||
http_port_helper=Porto no que escoitará a aplicación.
|
http_port_helper=Porto no que escoitará a aplicación.
|
||||||
app_url=URL da aplicación
|
app_url=URL da aplicación
|
||||||
app_url_helper=Isto afecta ás URLs para clonar por HTTP/HTTPS e a algúns correos electrónicos.
|
app_url_helper=Isto afecta ás URLs para clonar por HTTP/HTTPS e a algúns correos electrónicos.
|
||||||
log_root_path=Ruta do rexistro
|
log_root_path=Ruta do rexistro
|
||||||
log_root_path_helper=Directorio onde almacenar os rexistros.
|
log_root_path_helper=Directorio onde almacenar os rexistros.
|
||||||
enable_console_mode=Enable Console Mode
|
enable_console_mode=Habilitar Modo Consola
|
||||||
enable_console_mode_popup=In addition to file mode, also print logs to console.
|
enable_console_mode_popup=Ademáis do modo de ficheiro, tamén imprime os rexistros para a consola.
|
||||||
|
default_branch=Default Branch
|
||||||
|
|
||||||
optional_title=Configuración opcional
|
optional_title=Configuración opcional
|
||||||
email_title=Configuración do servizo de correo
|
email_title=Configuración do servizo de correo
|
||||||
@@ -119,9 +124,11 @@ sqlite3_not_available=A túa versión non soporta SQLite3, por favor, descarga o
|
|||||||
invalid_db_setting=A configuración da base de datos non é correcta: %v
|
invalid_db_setting=A configuración da base de datos non é correcta: %v
|
||||||
invalid_repo_path=A ruta da raíz do repositorio é inválida: %v
|
invalid_repo_path=A ruta da raíz do repositorio é inválida: %v
|
||||||
run_user_not_match=A persoa usuaria que está executando a aplicación non é a persoa usuaria actual: %s -> %s
|
run_user_not_match=A persoa usuaria que está executando a aplicación non é a persoa usuaria actual: %s -> %s
|
||||||
smtp_host_missing_port=SMTP Host is missing port in address.
|
smtp_host_missing_port=Falta o porto do Host SMTP
|
||||||
|
|
||||||
invalid_smtp_from=O campo From do SMTP non é valido: %v
|
invalid_smtp_from=O campo From do SMTP non é valido: %v
|
||||||
save_config_failed=Erro ao gardar a configuración: %v
|
save_config_failed=Erro ao gardar a configuración: %v
|
||||||
|
init_failed=Failed to initialize application: %v
|
||||||
invalid_admin_setting=A configuración da conta de administración é inválida: %v
|
invalid_admin_setting=A configuración da conta de administración é inválida: %v
|
||||||
install_success=Benvido/a! Estamos encantados de que escolleses Gogs, divírtete e cóidate.
|
install_success=Benvido/a! Estamos encantados de que escolleses Gogs, divírtete e cóidate.
|
||||||
invalid_log_root_path=A ruta para os rexistros é inválida: %v
|
invalid_log_root_path=A ruta para os rexistros é inválida: %v
|
||||||
@@ -151,6 +158,8 @@ register_hepler_msg=Xa tes unha conta? Inicia sesión!
|
|||||||
social_register_hepler_msg=Xa tes unha conta? Enlázaa!
|
social_register_hepler_msg=Xa tes unha conta? Enlázaa!
|
||||||
disable_register_prompt=Sentímolo, o rexistro está deshabilitado. Por favor, contacta co administrador do sitio.
|
disable_register_prompt=Sentímolo, o rexistro está deshabilitado. Por favor, contacta co administrador do sitio.
|
||||||
disable_register_mail=Sentímolo. Os correos de confirmación de rexistro están deshabilitados.
|
disable_register_mail=Sentímolo. Os correos de confirmación de rexistro están deshabilitados.
|
||||||
|
auth_source=Fonte de Autenticación
|
||||||
|
local=Configuración rexional
|
||||||
remember_me=Recórdame
|
remember_me=Recórdame
|
||||||
forgot_password=Esquecín o meu contrasinal
|
forgot_password=Esquecín o meu contrasinal
|
||||||
forget_password=Esqueciches o teu contrasinal?
|
forget_password=Esqueciches o teu contrasinal?
|
||||||
@@ -169,13 +178,13 @@ reset_password_helper=Prema aquí para restablecer o seu contrasinal
|
|||||||
password_too_short=A lonxitude do contrasinal non pode ser menor de 6.
|
password_too_short=A lonxitude do contrasinal non pode ser menor de 6.
|
||||||
non_local_account=Contas que non son locais non poden cambiar os contrasinais a través de Gogs.
|
non_local_account=Contas que non son locais non poden cambiar os contrasinais a través de Gogs.
|
||||||
|
|
||||||
login_two_factor=Two-factor Authentication
|
login_two_factor=Autenticación en dous pasos
|
||||||
login_two_factor_passcode=Authentication Passcode
|
login_two_factor_passcode=Código de Autenticación
|
||||||
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
|
login_two_factor_enter_recovery_code=Introduza o código de recuperación da verificación en dous pasos
|
||||||
login_two_factor_recovery=Two-factor Recovery
|
login_two_factor_recovery=Recuperación en dous pasos
|
||||||
login_two_factor_recovery_code=Recovery Code
|
login_two_factor_recovery_code=Codigo de Recuperación
|
||||||
login_two_factor_enter_passcode=Enter a two-factor passcode
|
login_two_factor_enter_passcode=Introduza o código de acceso en dous pasos
|
||||||
login_two_factor_invalid_recovery_code=Recovery code has been used or does not valid.
|
login_two_factor_invalid_recovery_code=O código de recuperación foi usado ou non é válido.
|
||||||
|
|
||||||
[mail]
|
[mail]
|
||||||
activate_account=Por favor, activa a túa conta
|
activate_account=Por favor, activa a túa conta
|
||||||
@@ -212,7 +221,7 @@ Content=Contido
|
|||||||
require_error=` non pode estar baleiro.`
|
require_error=` non pode estar baleiro.`
|
||||||
alpha_dash_error=` os caracteres deben ser alfanuméricos ou dash(-_).`
|
alpha_dash_error=` os caracteres deben ser alfanuméricos ou dash(-_).`
|
||||||
alpha_dash_dot_error=` debe ser un carácter alfanumérivo válido, un guión alto ou baixo (-_) ou un signo de puntuación.`
|
alpha_dash_dot_error=` debe ser un carácter alfanumérivo válido, un guión alto ou baixo (-_) ou un signo de puntuación.`
|
||||||
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
|
alpha_dash_dot_slash_error=` debe ser un carácter válido : numérico, alfabético, guión(-_) puntos ou barras.`
|
||||||
size_error=` debe ser de tamaño %s.`
|
size_error=` debe ser de tamaño %s.`
|
||||||
min_size_error=` debe conter polo menos %s caracteres.`
|
min_size_error=` debe conter polo menos %s caracteres.`
|
||||||
max_size_error=` debe conter como máximo %s caracteres.`
|
max_size_error=` debe conter como máximo %s caracteres.`
|
||||||
@@ -229,6 +238,7 @@ org_name_been_taken=Xa existe unha organización con este nome.
|
|||||||
team_name_been_taken=Xa existe un equipo con este nome.
|
team_name_been_taken=Xa existe un equipo con este nome.
|
||||||
email_been_used=Este enderezo de correo electrónico xa está en uso.
|
email_been_used=Este enderezo de correo electrónico xa está en uso.
|
||||||
username_password_incorrect=Nome de usuario ou contrasinal incorrectos.
|
username_password_incorrect=Nome de usuario ou contrasinal incorrectos.
|
||||||
|
auth_source_mismatch=A fonte de autenticación seleccionada non está asociada co usuario.
|
||||||
enterred_invalid_repo_name=Por favor, asegúrate de que introduciches correctamente o nome do repositorio.
|
enterred_invalid_repo_name=Por favor, asegúrate de que introduciches correctamente o nome do repositorio.
|
||||||
enterred_invalid_owner_name=Por favor, asegúrate de que introduciches correctamente o nome do propietario.
|
enterred_invalid_owner_name=Por favor, asegúrate de que introduciches correctamente o nome do propietario.
|
||||||
enterred_invalid_password=Por favor, asegúrate de que introduciches correctamente o teu contrasinal.
|
enterred_invalid_password=Por favor, asegúrate de que introduciches correctamente o teu contrasinal.
|
||||||
@@ -256,16 +266,15 @@ following=Seguindo
|
|||||||
follow=Seguir
|
follow=Seguir
|
||||||
unfollow=Deixar de seguir
|
unfollow=Deixar de seguir
|
||||||
|
|
||||||
form.name_reserved=O usuario '%s' está reservado.
|
form.name_not_allowed=User name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=O patrón de nome de usuario '%s' non está permitido.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Perfil
|
profile=Perfil
|
||||||
password=Contrasinal
|
password=Contrasinal
|
||||||
avatar=Avatar
|
avatar=Avatar
|
||||||
ssh_keys=Claves SSH
|
ssh_keys=Claves SSH
|
||||||
security=Security
|
security=Seguridade
|
||||||
repos=Repositories
|
repos=Repositorios
|
||||||
orgs=Organizacións
|
orgs=Organizacións
|
||||||
applications=Aplicacións
|
applications=Aplicacións
|
||||||
delete=Eliminar conta
|
delete=Eliminar conta
|
||||||
@@ -309,6 +318,7 @@ delete_email=Eliminar
|
|||||||
email_deletion=Eliminar correo electrónico
|
email_deletion=Eliminar correo electrónico
|
||||||
email_deletion_desc=Ao eliminar este enderezo de correo electrónico eliminarase toda a información asociada a esta. Desexas continuar?
|
email_deletion_desc=Ao eliminar este enderezo de correo electrónico eliminarase toda a información asociada a esta. Desexas continuar?
|
||||||
email_deletion_success=O correo electrónico foi eliminado correctamente!
|
email_deletion_success=O correo electrónico foi eliminado correctamente!
|
||||||
|
email_deletion_primary=Cannot delete primary email address.
|
||||||
add_new_email=Engadir novo enderezo de correo electrónico
|
add_new_email=Engadir novo enderezo de correo electrónico
|
||||||
add_email=Engadir correo electrónico
|
add_email=Engadir correo electrónico
|
||||||
add_email_confirmation_sent=Un novo correo de confirmación foi enviado a '%s'. Por favor, comproba a túa bandexa de entrada nas próximas %d horas para completar o proceso.
|
add_email_confirmation_sent=Un novo correo de confirmación foi enviado a '%s'. Por favor, comproba a túa bandexa de entrada nas próximas %d horas para completar o proceso.
|
||||||
@@ -334,34 +344,36 @@ no_activity=Non hai actividade recente
|
|||||||
key_state_desc=Esta clave foi usada nos últimos 7 días
|
key_state_desc=Esta clave foi usada nos últimos 7 días
|
||||||
token_state_desc=Token usado nos últimos 7 días
|
token_state_desc=Token usado nos últimos 7 días
|
||||||
|
|
||||||
two_factor=Two-factor Authentication
|
two_factor=Autenticación en Dous Pasos
|
||||||
two_factor_status=Status:
|
two_factor_status=Estado:
|
||||||
two_factor_on=On
|
two_factor_on=Si
|
||||||
two_factor_off=Off
|
two_factor_off=Non
|
||||||
two_factor_enable=Enable
|
two_factor_enable=Activar
|
||||||
two_factor_disable=Disable
|
two_factor_disable=Desactivar
|
||||||
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
|
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
|
||||||
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
|
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
|
||||||
two_factor_enable_title=Enable Two-factor Authentication
|
two_factor_enable_title=Enable Two-factor Authentication
|
||||||
two_factor_scan_qr=Please use your authentication application to scan the image:
|
two_factor_scan_qr=Please use your authentication application to scan the image:
|
||||||
two_factor_or_enter_secret=Or enter the secret:
|
two_factor_or_enter_secret=Or enter the secret:
|
||||||
two_factor_then_enter_passcode=Then enter passcode:
|
two_factor_then_enter_passcode=A continuación, introduza o código:
|
||||||
two_factor_verify=Verify
|
two_factor_verify=Verificar
|
||||||
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
|
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
|
||||||
|
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
|
||||||
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
||||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
||||||
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
||||||
two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>.
|
two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>.
|
||||||
two_factor_regenerate_recovery_codes=Regenerate Recovery Codes
|
two_factor_regenerate_recovery_codes=Rexenerar Códigos de Recuperación
|
||||||
two_factor_regenerate_recovery_codes_error=Regenerate recovery codes failed: %v
|
two_factor_regenerate_recovery_codes_error=Regenerate recovery codes failed: %v
|
||||||
two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully!
|
two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully!
|
||||||
two_factor_disable_title=Disable Two-factor Authentication
|
two_factor_disable_title=Desactivar a verificación en dous pasos
|
||||||
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
|
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
|
||||||
two_factor_disable_success=Two-factor authentication has disabled successfully!
|
two_factor_disable_success=Two-factor authentication has disabled successfully!
|
||||||
|
|
||||||
manage_access_token=Xestionar os tokens de acceso persoais
|
manage_access_token=Xestionar os tokens de acceso persoais
|
||||||
generate_new_token=Xerar novo token
|
generate_new_token=Xerar novo token
|
||||||
tokens_desc=Tokens usados para acceder ao API de Gogs.
|
tokens_desc=Tokens usados para acceder ao API de Gogs.
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc=Dende agora, todos os tokens terán acceso completo á túa conta.
|
new_token_desc=Dende agora, todos os tokens terán acceso completo á túa conta.
|
||||||
token_name=Nome do token
|
token_name=Nome do token
|
||||||
generate_token=Xerar token
|
generate_token=Xerar token
|
||||||
@@ -370,13 +382,14 @@ delete_token=Eliminar
|
|||||||
access_token_deletion=Borrado de Token de Acceso Persoal
|
access_token_deletion=Borrado de Token de Acceso Persoal
|
||||||
access_token_deletion_desc=Se elimina este token de acceso persoal a aplicación asociada perderá o permiso de acceso. Desexa continuar?
|
access_token_deletion_desc=Se elimina este token de acceso persoal a aplicación asociada perderá o permiso de acceso. Desexa continuar?
|
||||||
delete_token_success=O token de acceso persoal foi eliminado con éxito! Non esqueza actualizar tamén as aplicacións asociadas.
|
delete_token_success=O token de acceso persoal foi eliminado con éxito! Non esqueza actualizar tamén as aplicacións asociadas.
|
||||||
|
token_name_exists=Token with same name already exists.
|
||||||
|
|
||||||
orgs.none=Non es membro de nengunha organización.
|
orgs.none=Non es membro de nengunha organización.
|
||||||
orgs.leave_title=Deixar unha organización
|
orgs.leave_title=Deixar unha organización
|
||||||
orgs.leave_desc=Deixarás de ter aceso ao tódolos repositorios e equipos despois de deixar a organización. Desexas abandonala?
|
orgs.leave_desc=Deixarás de ter aceso ao tódolos repositorios e equipos despois de deixar a organización. Desexas abandonala?
|
||||||
|
|
||||||
repos.leave=Leave
|
repos.leave=Abandoar
|
||||||
repos.leave_title=Leave repository
|
repos.leave_title=Deixar repositorio
|
||||||
repos.leave_desc=You will lose access to the repository after you left. Do you want to continue?
|
repos.leave_desc=You will lose access to the repository after you left. Do you want to continue?
|
||||||
repos.leave_success=You have left repository '%s' successfully!
|
repos.leave_success=You have left repository '%s' successfully!
|
||||||
|
|
||||||
@@ -391,7 +404,9 @@ owner=Propietario
|
|||||||
repo_name=Nome do repositorio
|
repo_name=Nome do repositorio
|
||||||
repo_name_helper=Os grandes nomes de repositorios son curtos, memorables e <strong>únicos</strong>.
|
repo_name_helper=Os grandes nomes de repositorios son curtos, memorables e <strong>únicos</strong>.
|
||||||
visibility=Visibilidade
|
visibility=Visibilidade
|
||||||
|
unlisted=Unlisted
|
||||||
visiblity_helper=Este repositorio é <span class="ui red text">privado</span>
|
visiblity_helper=Este repositorio é <span class="ui red text">privado</span>
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=O administrador web obrigou a todos os repositorios novos a ser <span class="ui red text"> privados</span>
|
visiblity_helper_forced=O administrador web obrigou a todos os repositorios novos a ser <span class="ui red text"> privados</span>
|
||||||
visiblity_fork_helper=(Este cambio afectará a todos os forks)
|
visiblity_fork_helper=(Este cambio afectará a todos os forks)
|
||||||
clone_helper=Necesitas axuda co clone? Consulta a <a target="_blank" href="%s">Axuda</a>!
|
clone_helper=Necesitas axuda co clone? Consulta a <a target="_blank" href="%s">Axuda</a>!
|
||||||
@@ -417,10 +432,11 @@ mirror_last_synced=Sincronizado por última vez
|
|||||||
watchers=Seguidores
|
watchers=Seguidores
|
||||||
stargazers=Fans
|
stargazers=Fans
|
||||||
forks=Forks
|
forks=Forks
|
||||||
|
repo_description_helper=Description of repository. Maximum 512 characters length.
|
||||||
|
repo_description_length=Available characters
|
||||||
|
|
||||||
form.reach_limit_of_creation=El propietario ha alcanzado el límite máximo de %d repositorios creados.=O propietario acadou o límite máximo de %d repositorios creados.
|
form.reach_limit_of_creation=El propietario ha alcanzado el límite máximo de %d repositorios creados.=O propietario acadou o límite máximo de %d repositorios creados.
|
||||||
form.name_reserved=El nombre del repositorio '%s' está reservado.=O nome do repositorio '%s' está reservado.
|
form.name_not_allowed=Repository name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=El patrón del nombre del repositorio '%s' no está permitido.=O patrón do nome do repositorio '%s' non está permitido.
|
|
||||||
|
|
||||||
need_auth=Requiere autorización=Require autorización
|
need_auth=Requiere autorización=Require autorización
|
||||||
migrate_type=Tipo de migración
|
migrate_type=Tipo de migración
|
||||||
@@ -431,6 +447,7 @@ migrate.clone_address_desc=Pode ser unha URL HTTP/HTTPS/GIT.
|
|||||||
migrate.clone_address_desc_import_local=Tamén podes migrar un repositorio mediante a ruta do servidor local.
|
migrate.clone_address_desc_import_local=Tamén podes migrar un repositorio mediante a ruta do servidor local.
|
||||||
migrate.permission_denied=Non che está permitido importar repositorios locais.
|
migrate.permission_denied=Non che está permitido importar repositorios locais.
|
||||||
migrate.invalid_local_path=Rutal local inválida, non existe ou non é un directorio.
|
migrate.invalid_local_path=Rutal local inválida, non existe ou non é un directorio.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=Migración fallida: %v
|
migrate.failed=Migración fallida: %v
|
||||||
|
|
||||||
mirror_from=réplica de
|
mirror_from=réplica de
|
||||||
@@ -478,6 +495,8 @@ branches.stale_branches=Stale Branches
|
|||||||
branches.all=All Branches
|
branches.all=All Branches
|
||||||
branches.updated_by=Updated %[1]s by %[2]s
|
branches.updated_by=Updated %[1]s by %[2]s
|
||||||
branches.change_default_branch=Change Default Branch
|
branches.change_default_branch=Change Default Branch
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Novo arquivo
|
editor.new_file=Novo arquivo
|
||||||
editor.upload_file=Subir arquivo
|
editor.upload_file=Subir arquivo
|
||||||
@@ -514,6 +533,7 @@ editor.file_changed_while_editing=O contido do arquivo cambiou desde que comezac
|
|||||||
editor.file_already_exists=Un arquivo co nome '%s' xa existe no repositorio.
|
editor.file_already_exists=Un arquivo co nome '%s' xa existe no repositorio.
|
||||||
editor.no_changes_to_show=Non hai cambios que mostrar.
|
editor.no_changes_to_show=Non hai cambios que mostrar.
|
||||||
editor.fail_to_update_file=Fallou o actualizar/crear o arquivo '%s' co erro: %v
|
editor.fail_to_update_file=Fallou o actualizar/crear o arquivo '%s' co erro: %v
|
||||||
|
editor.fail_to_delete_file=Failed to delete file '%s' with error: %v
|
||||||
editor.add_subdir=Engadir subdirectorio...
|
editor.add_subdir=Engadir subdirectorio...
|
||||||
editor.unable_to_upload_files=Fallou ao subir arquivos a '%s' co erro: %v
|
editor.unable_to_upload_files=Fallou ao subir arquivos a '%s' co erro: %v
|
||||||
editor.upload_files_to_dir=Subir arquivos a '%s'
|
editor.upload_files_to_dir=Subir arquivos a '%s'
|
||||||
@@ -634,6 +654,7 @@ pulls.cannot_auto_merge_desc=Este Pull Request non pode ser fusionado automatica
|
|||||||
pulls.cannot_auto_merge_helper=Por favor, fusiona manualmente para resolver os conflitos.
|
pulls.cannot_auto_merge_helper=Por favor, fusiona manualmente para resolver os conflitos.
|
||||||
pulls.create_merge_commit=Create a merge commit
|
pulls.create_merge_commit=Create a merge commit
|
||||||
pulls.rebase_before_merging=Rebase before merging
|
pulls.rebase_before_merging=Rebase before merging
|
||||||
|
pulls.commit_description=Commit Description
|
||||||
pulls.merge_pull_request=Fusionar Pull Request
|
pulls.merge_pull_request=Fusionar Pull Request
|
||||||
pulls.open_unmerged_pull_exists=`Vostede non pode realizar a operación de reapertura porque nestes momentos existe unha solicitude de pull request (#%d) para o mesmo repositorio coa mesma información que se encontra á espera de aprobación`
|
pulls.open_unmerged_pull_exists=`Vostede non pode realizar a operación de reapertura porque nestes momentos existe unha solicitude de pull request (#%d) para o mesmo repositorio coa mesma información que se encontra á espera de aprobación`
|
||||||
pulls.delete_branch=Eliminar branch
|
pulls.delete_branch=Eliminar branch
|
||||||
@@ -738,7 +759,7 @@ settings.tracker_issue_style=Estilo de etiquetaxe do tracker externo de incidenc
|
|||||||
settings.tracker_issue_style.numeric=Numérico
|
settings.tracker_issue_style.numeric=Numérico
|
||||||
settings.tracker_issue_style.alphanumeric=Alfanumérico
|
settings.tracker_issue_style.alphanumeric=Alfanumérico
|
||||||
settings.tracker_url_format_desc=Podes usar os modelos <code>{user} {repo} {index}</code> para o nome de usuario, nome do repositorio e índice da incidencia.
|
settings.tracker_url_format_desc=Podes usar os modelos <code>{user} {repo} {index}</code> para o nome de usuario, nome do repositorio e índice da incidencia.
|
||||||
settings.pulls_desc=Habilitar Pull Requests para aceptar contribucións públicas
|
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches
|
||||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||||
settings.danger_zone=Zona de perigo
|
settings.danger_zone=Zona de perigo
|
||||||
@@ -777,8 +798,10 @@ settings.collaborator_deletion_desc=Este usuario non poderá colaborar neste rep
|
|||||||
settings.remove_collaborator_success=O colaborador foi eliminado.
|
settings.remove_collaborator_success=O colaborador foi eliminado.
|
||||||
settings.search_user_placeholder=Buscar usuario...
|
settings.search_user_placeholder=Buscar usuario...
|
||||||
settings.org_not_allowed_to_be_collaborator=As organizacións non teñen permitido ser engadidas como colaboradores.
|
settings.org_not_allowed_to_be_collaborator=As organizacións non teñen permitido ser engadidas como colaboradores.
|
||||||
settings.add_webhook=Engadir Webhook
|
|
||||||
settings.hooks_desc=Os Webhooks permiten a servizos externos recibir notificacións cando sucedan certos eventos en Gogs. Cando sucedan os eventos especificados, enviaremos unha petición POST a cada unha das URLs indicadas. Para obter máis información, consulta a nosa <a target="_blank" href="%s">Guía de Webhooks</a>.
|
settings.hooks_desc=Os Webhooks permiten a servizos externos recibir notificacións cando sucedan certos eventos en Gogs. Cando sucedan os eventos especificados, enviaremos unha petición POST a cada unha das URLs indicadas. Para obter máis información, consulta a nosa <a target="_blank" href="%s">Guía de Webhooks</a>.
|
||||||
|
settings.webhooks.add_new=Add a new webhook:
|
||||||
|
settings.webhooks.choose_a_type=Choose a type...
|
||||||
|
settings.add_webhook=Engadir Webhook
|
||||||
settings.webhook_deletion=Eliminar Webhook
|
settings.webhook_deletion=Eliminar Webhook
|
||||||
settings.webhook_deletion_desc=Ao borrar este webhook eliminarase a súa información e todo o seu historial. Desexa continuar?
|
settings.webhook_deletion_desc=Ao borrar este webhook eliminarase a súa información e todo o seu historial. Desexa continuar?
|
||||||
settings.webhook_deletion_success=Webhook eliminado con éxito!
|
settings.webhook_deletion_success=Webhook eliminado con éxito!
|
||||||
@@ -792,6 +815,8 @@ settings.webhook.response=Resposta
|
|||||||
settings.webhook.headers=Encabezado
|
settings.webhook.headers=Encabezado
|
||||||
settings.webhook.payload=Payload
|
settings.webhook.payload=Payload
|
||||||
settings.webhook.body=Corpo da mensaxe
|
settings.webhook.body=Corpo da mensaxe
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=Os Git Hooks son unha funcionalidade do propio Git, podes editar os ficheiros dos hooks soportados na seguinte lista para aplicar operacións personalizadas.
|
settings.githooks_desc=Os Git Hooks son unha funcionalidade do propio Git, podes editar os ficheiros dos hooks soportados na seguinte lista para aplicar operacións personalizadas.
|
||||||
settings.githook_edit_desc=Se o hook non está activo, mostrarase contido de exemplo. Deixar o contido baleiro deshabilitará este hook.
|
settings.githook_edit_desc=Se o hook non está activo, mostrarase contido de exemplo. Deixar o contido baleiro deshabilitará este hook.
|
||||||
settings.githook_name=Nome do Hook
|
settings.githook_name=Nome do Hook
|
||||||
@@ -819,10 +844,10 @@ settings.event_push=Push
|
|||||||
settings.event_push_desc=Git push a un repositorio
|
settings.event_push_desc=Git push a un repositorio
|
||||||
settings.event_issues=Issues
|
settings.event_issues=Issues
|
||||||
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
||||||
settings.event_issue_comment=Issue Comment
|
|
||||||
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
|
||||||
settings.event_pull_request=Pull Request
|
settings.event_pull_request=Pull Request
|
||||||
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
||||||
|
settings.event_issue_comment=Issue Comment
|
||||||
|
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
||||||
settings.event_release=Release
|
settings.event_release=Release
|
||||||
settings.event_release_desc=Release published in a repository.
|
settings.event_release_desc=Release published in a repository.
|
||||||
settings.active=Activo
|
settings.active=Activo
|
||||||
@@ -852,6 +877,8 @@ settings.add_key_success=A nova clave de despregamento '%s' foi creada con éxit
|
|||||||
settings.deploy_key_deletion=Eliminar clave de despregamento
|
settings.deploy_key_deletion=Eliminar clave de despregamento
|
||||||
settings.deploy_key_deletion_desc=Ao eliminar esta clave de despregamento perderase o permiso de acceso a este repositorio coa dita clave. Desexas continuar?
|
settings.deploy_key_deletion_desc=Ao eliminar esta clave de despregamento perderase o permiso de acceso a este repositorio coa dita clave. Desexas continuar?
|
||||||
settings.deploy_key_deletion_success=Clave de despregamento eliminada con éxito!
|
settings.deploy_key_deletion_success=Clave de despregamento eliminada con éxito!
|
||||||
|
settings.description_desc=Description of repository. Maximum 512 characters length.
|
||||||
|
settings.description_length=Available characters
|
||||||
|
|
||||||
diff.browse_source=Explorar o código
|
diff.browse_source=Explorar o código
|
||||||
diff.parent=pai
|
diff.parent=pai
|
||||||
@@ -916,9 +943,8 @@ team_name_helper=Utiliza este nome para mencionar este equipo nas conversas.
|
|||||||
team_desc_helper=En que consiste este equipo?
|
team_desc_helper=En que consiste este equipo?
|
||||||
team_permission_desc=Que nivel de permisos debería ter este equipo?
|
team_permission_desc=Que nivel de permisos debería ter este equipo?
|
||||||
|
|
||||||
form.name_reserved=O nome da organización '%s' está reservado.
|
form.name_not_allowed=Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=O patrón de nome da organización '%s' non está permitido.
|
form.team_name_not_allowed=Team name or pattern %q is not allowed.
|
||||||
form.team_name_reserved=Team name '%s' is reserved.
|
|
||||||
|
|
||||||
settings=Configuración
|
settings=Configuración
|
||||||
settings.options=Opcións
|
settings.options=Opcións
|
||||||
@@ -990,12 +1016,19 @@ first_page=Primeira
|
|||||||
last_page=Última
|
last_page=Última
|
||||||
total=Total: %d
|
total=Total: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Build Information
|
||||||
|
dashboard.app_ver=Application version
|
||||||
|
dashboard.git_version=Git version
|
||||||
|
dashboard.go_version=Go version
|
||||||
|
dashboard.build_time=Build time
|
||||||
|
dashboard.build_commit=Build commit
|
||||||
dashboard.statistic=Estatísticas
|
dashboard.statistic=Estatísticas
|
||||||
dashboard.operations=Operacións
|
dashboard.operations=Operacións
|
||||||
dashboard.system_status=Estado do Monitor do Sistema
|
dashboard.system_status=Estado do Monitor do Sistema
|
||||||
dashboard.statistic_info=A base de datos de Gogs contén <b>%d</b> usuarios, <b>%d</b> organizacións, <b>%d</b> claves públicas, <b>%d</b> repositorios, <b>%d</b> vixiados, <b>%d</b> destacados, <b>%d</b> accións, <b>%d</b> accesos, <b>%d</b> incidencias, <b>%d</b> comentarios, <b>%d</b> contas de redes sociais, <b>%d</b> seguidores, <b>%d</b> mirrors, <b>%d</b> releases, <b>%d</b> fontes de login, <b>%d</b> webhooks, <b>%d</b> milestones, <b>%d</b> etiquetas, <b>%d</b> hooks, <b>%d</b> equipos, <b>%d</b> tarefas actualizadas, <b>%d</b> adxuntos.
|
dashboard.statistic_info=A base de datos de Gogs contén <b>%d</b> usuarios, <b>%d</b> organizacións, <b>%d</b> claves públicas, <b>%d</b> repositorios, <b>%d</b> vixiados, <b>%d</b> destacados, <b>%d</b> accións, <b>%d</b> accesos, <b>%d</b> incidencias, <b>%d</b> comentarios, <b>%d</b> contas de redes sociais, <b>%d</b> seguidores, <b>%d</b> mirrors, <b>%d</b> releases, <b>%d</b> fontes de login, <b>%d</b> webhooks, <b>%d</b> milestones, <b>%d</b> etiquetas, <b>%d</b> hooks, <b>%d</b> equipos, <b>%d</b> tarefas actualizadas, <b>%d</b> adxuntos.
|
||||||
dashboard.operation_name=Nome da operación
|
dashboard.operation_name=Nome da operación
|
||||||
dashboard.operation_switch=Interruptor
|
dashboard.operation_switch=Interruptor
|
||||||
|
dashboard.select_operation_to_run=Please select operation to run
|
||||||
dashboard.operation_run=Executar
|
dashboard.operation_run=Executar
|
||||||
dashboard.clean_unbind_oauth=Limpar solicitudes de OAuth sen confirmar
|
dashboard.clean_unbind_oauth=Limpar solicitudes de OAuth sen confirmar
|
||||||
dashboard.clean_unbind_oauth_success=As solicitudes de OAuth sen confirmar elimináronse correctamente.
|
dashboard.clean_unbind_oauth_success=As solicitudes de OAuth sen confirmar elimináronse correctamente.
|
||||||
@@ -1087,11 +1120,12 @@ repos.stars=Estrelas
|
|||||||
repos.issues=Incidencias
|
repos.issues=Incidencias
|
||||||
repos.size=Size
|
repos.size=Size
|
||||||
|
|
||||||
auths.auth_manage_panel=Panel de administración de autenticación
|
auths.auth_sources=Authentication Sources
|
||||||
auths.new=Engadir nova orixe
|
auths.new=Engadir nova orixe
|
||||||
auths.name=Nome
|
auths.name=Nome
|
||||||
auths.type=Tipo
|
auths.type=Tipo
|
||||||
auths.enabled=Activo
|
auths.enabled=Activo
|
||||||
|
auths.default=Default
|
||||||
auths.updated=Actualizado
|
auths.updated=Actualizado
|
||||||
auths.auth_type=Tipo de autenticación
|
auths.auth_type=Tipo de autenticación
|
||||||
auths.auth_name=Nome de autenticación
|
auths.auth_name=Nome de autenticación
|
||||||
@@ -1128,9 +1162,9 @@ auths.enable_tls=Habilitar cifrado TLS
|
|||||||
auths.skip_tls_verify=Omitir a verificación TLS
|
auths.skip_tls_verify=Omitir a verificación TLS
|
||||||
auths.pam_service_name=Nome do servizo PAM
|
auths.pam_service_name=Nome do servizo PAM
|
||||||
auths.enable_auto_register=Habilitar auto-rexistro
|
auths.enable_auto_register=Habilitar auto-rexistro
|
||||||
auths.tips=Consellos
|
|
||||||
auths.edit=Editar a configuración de autenticación
|
auths.edit=Editar a configuración de autenticación
|
||||||
auths.activated=Esta autenticación foi activada
|
auths.activated=Esta autenticación foi activada
|
||||||
|
auths.default_auth=This authentication is default login source
|
||||||
auths.new_success=A autenticación '%s' foi engadida con éxito!
|
auths.new_success=A autenticación '%s' foi engadida con éxito!
|
||||||
auths.update_success=A configuración de autenticación foi actualizada con éxito.
|
auths.update_success=A configuración de autenticación foi actualizada con éxito.
|
||||||
auths.update=Actualizar a configuración de autenticación
|
auths.update=Actualizar a configuración de autenticación
|
||||||
@@ -1140,120 +1174,186 @@ auths.delete_auth_desc=Esta autenticación será eliminada. Desexas continuar?
|
|||||||
auths.still_in_used=Este método de autentificación aínda é utilizado por algúns usuarios, por favor elimine ou converta estes usuarios a outro tipo de autentificación.
|
auths.still_in_used=Este método de autentificación aínda é utilizado por algúns usuarios, por favor elimine ou converta estes usuarios a outro tipo de autentificación.
|
||||||
auths.deletion_success=A autenticación foi eliminada con éxito!
|
auths.deletion_success=A autenticación foi eliminada con éxito!
|
||||||
auths.login_source_exist=Login source '%s' xa existe.
|
auths.login_source_exist=Login source '%s' xa existe.
|
||||||
|
auths.github_api_endpoint=API Endpoint
|
||||||
|
|
||||||
config.not_set=(not set)
|
config.not_set=(not set)
|
||||||
config.server_config=Configuración do servidor
|
config.server_config=Configuración do servidor
|
||||||
config.app_name=Nome da aplicación
|
config.brand_name=Brand name
|
||||||
config.app_ver=Versión da aplicación
|
|
||||||
config.app_url=URL da aplicación
|
|
||||||
config.domain=Dominio
|
|
||||||
config.offline_mode=Modo sen conexión
|
|
||||||
config.disable_router_log=Deshabilitar log do router
|
|
||||||
config.run_user=Executada como usuario
|
config.run_user=Executada como usuario
|
||||||
config.run_mode=Modo de execución
|
config.run_mode=Modo de execución
|
||||||
config.git_version=Versión de Git
|
config.server.external_url=External URL
|
||||||
config.static_file_root_path=Ruta dos ficheiros estáticos
|
config.server.domain=Domain
|
||||||
config.log_file_root_path=Ruta dos ficheiros de log
|
config.server.protocol=Protocol
|
||||||
config.reverse_auth_user=Autenticación inversa de usuario
|
config.server.http_addr=HTTP address
|
||||||
|
config.server.http_port=HTTP port
|
||||||
|
config.server.cert_file=Certificate file
|
||||||
|
config.server.key_file=Key file
|
||||||
|
config.server.tls_min_version=Minimum TLS version
|
||||||
|
config.server.unix_socket_permission=Unix socket permission
|
||||||
|
config.server.local_root_url=Local root URL
|
||||||
|
config.server.offline_mode=Offline mode
|
||||||
|
config.server.disable_router_log=Disable router log
|
||||||
|
config.server.enable_gzip=Enable Gzip
|
||||||
|
config.server.app_data_path=Application data path
|
||||||
|
config.server.load_assets_from_disk=Load assets from disk
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
config.ssh_config=Configuración SSH
|
config.ssh_config=Configuración SSH
|
||||||
config.ssh_enabled=Habilitado
|
config.ssh.enabled=Enabled
|
||||||
config.ssh_start_builtin_server=Iniciar servidor integrado
|
config.ssh.domain=Exposed domain
|
||||||
config.ssh_domain=Dominio
|
config.ssh.port=Exposed port
|
||||||
config.ssh_port=Porto
|
config.ssh.root_path=Root path
|
||||||
config.ssh_listen_port=Porto de escoita
|
config.ssh.keygen_path=Keygen path
|
||||||
config.ssh_root_path=Ruta raíz
|
config.ssh.key_test_path=Key test path
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Minimum key size check
|
||||||
config.ssh_key_test_path=Ruta da clave de proba
|
config.ssh.minimum_key_sizes=Minimum key sizes
|
||||||
config.ssh_keygen_path=Ruta do xerador de claves ('ssh-keygen')
|
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
|
||||||
config.ssh_minimum_key_size_check=Tamaño mínimo da clave de verificación
|
config.ssh.start_builtin_server=Start builtin server
|
||||||
config.ssh_minimum_key_sizes=Tamaños de clave mínimos
|
config.ssh.listen_host=Listen host
|
||||||
|
config.ssh.listen_port=Listen port
|
||||||
|
config.ssh.server_ciphers=Server ciphers
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=Repository Configuration
|
config.repo_config=Repository configuration
|
||||||
config.repo_root_path=Ruta do repositorio
|
config.repo.root_path=Root path
|
||||||
config.script_type=Tipo de Script
|
config.repo.script_type=Script type
|
||||||
config.repo_force_private=Force Private
|
config.repo.ansi_chatset=ANSI charset
|
||||||
config.max_creation_limit=Max Creation Limit
|
config.repo.force_private=Force private
|
||||||
config.preferred_licenses=Preferred Licenses
|
config.repo.max_creation_limit=Max creation limit
|
||||||
config.disable_http_git=Disable HTTP Git
|
config.repo.preferred_licenses=Preferred licenses
|
||||||
config.enable_local_path_migration=Enable Local Path Migration
|
config.repo.disable_http_git=Disable HTTP Git
|
||||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
config.http_config=HTTP Configuration
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Upload enabled
|
||||||
|
config.repo.upload.temp_path=Upload temporary path
|
||||||
|
config.repo.upload.allowed_types=Upload allowed types
|
||||||
|
config.repo.upload.file_max_size=Upload file size limit
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=Configuración da base de datos
|
config.db_config=Configuración da base de datos
|
||||||
config.db_type=Tipo
|
config.db.type=Type
|
||||||
config.db_host=Host
|
config.db.host=Host
|
||||||
config.db_name=Nome
|
config.db.name=Name
|
||||||
config.db_user=Usuario
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=Modo SSL
|
config.db.schema_helper=(for "postgres" only)
|
||||||
config.db_ssl_mode_helper=(só para "postgres")
|
config.db.user=User
|
||||||
config.db_path=Ruta
|
config.db.ssl_mode=SSL mode
|
||||||
config.db_path_helper=(para "sqlite3" e "tidb")
|
config.db.ssl_mode_helper=(for "postgres" only)
|
||||||
|
config.db.path=Path
|
||||||
|
config.db.path_helper=(for "sqlite3"only)
|
||||||
|
config.db.max_open_conns=Maximum open connections
|
||||||
|
config.db.max_idle_conns=Maximum idle connections
|
||||||
|
|
||||||
config.service_config=Configuración do servizo
|
config.security_config=Security configuration
|
||||||
config.register_email_confirm=Solicitar confirmación por correo electrónico
|
config.security.login_remember_days=Login remember days
|
||||||
config.disable_register=Deshabilitar o rexistro
|
config.security.cookie_remember_name=Remember cookie
|
||||||
config.show_registration_button=Mostrar botón de rexistro
|
config.security.cookie_username=Username cookie
|
||||||
config.require_sign_in_view=Solicitar a vista de inicio de sesión
|
config.security.cookie_secure=Enable secure cookie
|
||||||
config.mail_notify=Notificación por correo electrónico
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=Deshabilitar a comprobación de tamaño mínimo de clave
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=Activar captcha
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=Habilitar vida do código
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=Restablecer contrasinal de vida do código
|
|
||||||
|
|
||||||
config.webhook_config=Configuración de Webhooks
|
config.email_config=Email configuration
|
||||||
config.queue_length=Tamaño de cola de envío
|
config.email.enabled=Enabled
|
||||||
config.deliver_timeout=Timeout de entrega
|
config.email.subject_prefix=Subject prefix
|
||||||
config.skip_tls_verify=Omitir a verificación TLS
|
config.email.host=Host
|
||||||
|
config.email.from=From
|
||||||
|
config.email.user=User
|
||||||
|
config.email.disable_helo=Disable HELO
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
config.email.skip_verify=Skip certificate verify
|
||||||
|
config.email.use_certificate=Use custom certificate
|
||||||
|
config.email.cert_file=Certificate file
|
||||||
|
config.email.key_file=Key file
|
||||||
|
config.email.use_plain_text=Use plain text
|
||||||
|
config.email.add_plain_text_alt=Add plain text alternative
|
||||||
|
config.email.send_test_mail=Send test email
|
||||||
|
config.email.test_mail_failed=Failed to send test email to '%s': %v
|
||||||
|
config.email.test_mail_sent=Test email has been sent to '%s'.
|
||||||
|
|
||||||
config.mailer_config=Configuración do servidor de correo
|
config.auth_config=Authentication configuration
|
||||||
config.mailer_enabled=Activado
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=Desactivar HELO
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=Host
|
config.auth.require_email_confirm=Require email confirmation
|
||||||
config.mailer_user=Usuario
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=Enviar correo electrónico de proba
|
config.auth.disable_registration=Disable registration
|
||||||
config.test_mail_failed=Fallo ao enviar o correo electrónico de proba a '%s': %v
|
config.auth.enable_registration_captcha=Enable registration captcha
|
||||||
config.test_mail_sent=O correo electrónico de proba foi enviado a '%s'.
|
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
config.oauth_config=Configuración OAuth
|
config.user_config=User configuration
|
||||||
config.oauth_enabled=Activado
|
config.user.enable_email_notify=Enable email notification
|
||||||
|
|
||||||
config.cache_config=Configuración da caché
|
|
||||||
config.cache_adapter=Adaptador da caché
|
|
||||||
config.cache_interval=Intervalo da caché
|
|
||||||
config.cache_conn=Conexión da caché
|
|
||||||
|
|
||||||
config.session_config=Configuración da sesión
|
config.session_config=Configuración da sesión
|
||||||
config.session_provider=Provedor da sesión
|
config.session.provider=Provider
|
||||||
config.provider_config=Configuración do provedor
|
config.session.provider_config=Provider config
|
||||||
config.cookie_name=Nome da cookie
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=Activar establecemento de cookie
|
config.session.https_only=HTTPS only
|
||||||
config.gc_interval_time=Intervalo de tempo do GC
|
config.session.gc_interval=GC interval
|
||||||
config.session_life_time=Tempo de vida da sesión
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=Só HTTPS
|
config.session.csrf_cookie_name=CSRF cookie
|
||||||
config.cookie_life_time=Tempo de vida da cookie
|
|
||||||
|
config.cache_config=Configuración da caché
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC interval
|
||||||
|
config.cache.host=Host
|
||||||
|
|
||||||
|
config.http_config=HTTP configuration
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Enabled
|
||||||
|
config.attachment.path=Path
|
||||||
|
config.attachment.allowed_types=Allowed types
|
||||||
|
config.attachment.max_size=Size limit
|
||||||
|
config.attachment.max_files=Files limit
|
||||||
|
|
||||||
|
config.release_config=Release configuration
|
||||||
|
config.release.attachment.enabled=Attachment enabled
|
||||||
|
config.release.attachment.allowed_types=Attachment allowed types
|
||||||
|
config.release.attachment.max_size=Attachment size limit
|
||||||
|
config.release.attachment.max_files=Attachment files limit
|
||||||
|
|
||||||
config.picture_config=Configuración de imaxe
|
config.picture_config=Configuración de imaxe
|
||||||
config.picture_service=Servizo de imaxe
|
config.picture.avatar_upload_path=User avatar upload path
|
||||||
config.disable_gravatar=Desactivar gravatar
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=Habilitar avatares federados
|
config.picture.gravatar_source=Gravatar source
|
||||||
|
config.picture.disable_gravatar=Disable Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Mirror configuration
|
||||||
|
config.mirror.default_interval=Default interval
|
||||||
|
|
||||||
|
config.webhook_config=Configuración de Webhooks
|
||||||
|
config.webhook.types=Types
|
||||||
|
config.webhook.deliver_timeout=Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify=Skip TLS verify
|
||||||
|
|
||||||
config.git_config=Configuración de git
|
config.git_config=Configuración de git
|
||||||
config.git_disable_diff_highlight=Desactivar resaltado de sintaxe do Diff
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
config.git_max_diff_lines=Liñas de Diff máximas (por un só arquivo)
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=Caracteres de Diff máximos (para unha soa liña)
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=Máximo de arquivos de Diff (que se mostrarán)
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=Argumentos de GC
|
config.git.gc_args=GC arguments
|
||||||
config.git_migrate_timeout=Tempo de espera de migración
|
config.git.migrate_timeout=Migration timeout
|
||||||
config.git_mirror_timeout=Tempo de espera de actualización de réplicas
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
config.git_clone_timeout=Tempo de espera de operación de clóns
|
config.git.clone_timeout=Clone timeout
|
||||||
config.git_pull_timeout=Tempo de espera de operación de pull
|
config.git.pull_timeout=Pull timeout
|
||||||
config.git_gc_timeout=Tempo de espera de operación de GC
|
config.git.gc_timeout=GC timeout
|
||||||
|
|
||||||
|
config.lfs_config=LFS configuration
|
||||||
|
config.lfs.storage=Storage
|
||||||
|
config.lfs.objects_path=Objects path
|
||||||
|
|
||||||
config.log_config=Configuración do log
|
config.log_config=Configuración do log
|
||||||
|
config.log_file_root_path=Ruta dos ficheiros de log
|
||||||
config.log_mode=Mode
|
config.log_mode=Mode
|
||||||
config.log_options=Options
|
config.log_options=Options
|
||||||
|
|
||||||
@@ -1284,7 +1384,6 @@ notices.delete_success=As notificacións do sistema foron eliminadas satisfactor
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=creou o repositorio <a href="%s">%s</a>
|
create_repo=creou o repositorio <a href="%s">%s</a>
|
||||||
fork_repo=forked a repository to <a href="%s">%s</a>
|
|
||||||
rename_repo=repositorio renomeado de <code>%[1]s</code> a <a href="%[2]s">%[3]s</a>
|
rename_repo=repositorio renomeado de <code>%[1]s</code> a <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo=fixo push a <a href="%[1]s/src/%[2]s">%[3]s</a> en <a href="%[1]s">%[4]s</a>
|
commit_repo=fixo push a <a href="%[1]s/src/%[2]s">%[3]s</a> en <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=Ver comparación destas %d achegas
|
compare_commits=Ver comparación destas %d achegas
|
||||||
@@ -1301,6 +1400,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
|
|||||||
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=fixo push do tag <a href="%s/src/%s">%[2]s</a> a <a href="%[1]s">%[3]s</a>
|
push_tag=fixo push do tag <a href="%s/src/%s">%[2]s</a> a <a href="%[1]s">%[3]s</a>
|
||||||
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
|
fork_repo=forked a repository to <a href="%s">%s</a>
|
||||||
|
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
|
||||||
|
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=hai
|
ago=hai
|
||||||
@@ -1322,6 +1425,7 @@ months=%[2]s %[1]d meses
|
|||||||
years=%s %d anos
|
years=%s %d anos
|
||||||
raw_seconds=segundos
|
raw_seconds=segundos
|
||||||
raw_minutes=minutos
|
raw_minutes=minutos
|
||||||
|
raw_hours=hours
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Sólteos aquí ou pulse para cargar arquivos.
|
default_message=Sólteos aquí ou pulse para cargar arquivos.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=Kijelentkezés
|
|||||||
sign_up=Regisztráció
|
sign_up=Regisztráció
|
||||||
register=Regisztráció
|
register=Regisztráció
|
||||||
website=Weboldal
|
website=Weboldal
|
||||||
version=Verzió
|
|
||||||
page=Oldal
|
page=Oldal
|
||||||
template=Sablon
|
template=Sablon
|
||||||
language=Nyelv
|
language=Nyelv
|
||||||
@@ -44,17 +43,22 @@ issues=Problémák
|
|||||||
|
|
||||||
cancel=Mégse
|
cancel=Mégse
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Az oldal nem található
|
||||||
|
internal_server_error=Belső kiszolgálóhiba
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Telepítés
|
install=Telepítés
|
||||||
title=Telepítés első indításkor
|
title=Telepítés első indításkor
|
||||||
docker_helper=Ha Docker alatt fut a Gogs, akkor kérjük, figyelmesen olvassa el az <a target="_blank" href="%s">irányelveket</a>, mielőtt bármit megváltoztat ezen az oldalon!
|
docker_helper=Ha Docker alatt fut a Gogs, akkor kérjük, figyelmesen olvassa el az <a target="_blank" href="%s">irányelveket</a>, mielőtt bármit megváltoztat ezen az oldalon!
|
||||||
requite_db_desc=A Gogs-hoz szükséges a MySQL, PostgreSQL, SQLite3, MSSQL vagy a TiDB valamelyike.
|
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol).
|
||||||
db_title=Adatbázis beállításai
|
db_title=Adatbázis beállításai
|
||||||
db_type=Adatbázis-kezelő
|
db_type=Adatbázis-kezelő
|
||||||
host=Kiszolgáló
|
host=Kiszolgáló
|
||||||
user=Felhasználónév
|
user=Felhasználónév
|
||||||
password=Jelszó
|
password=Jelszó
|
||||||
db_name=Adatbázis neve
|
db_name=Adatbázis neve
|
||||||
|
db_schema=Schema
|
||||||
db_helper=MySQL szerveren kérjük használjon INNODB motort utf8_general_ci karakterkészlettel.
|
db_helper=MySQL szerveren kérjük használjon INNODB motort utf8_general_ci karakterkészlettel.
|
||||||
ssl_mode=SSL mód
|
ssl_mode=SSL mód
|
||||||
path=Elérési út
|
path=Elérési út
|
||||||
@@ -84,6 +88,7 @@ log_root_path=Naplófájl elérési útja
|
|||||||
log_root_path_helper=Naplófájlok könyvtára.
|
log_root_path_helper=Naplófájlok könyvtára.
|
||||||
enable_console_mode=Konzol-üzemmód engedélyezése
|
enable_console_mode=Konzol-üzemmód engedélyezése
|
||||||
enable_console_mode_popup=Naplófájl írása mellett a naplóbejegyzések nyomtatása a konzolra.
|
enable_console_mode_popup=Naplófájl írása mellett a naplóbejegyzések nyomtatása a konzolra.
|
||||||
|
default_branch=Default Branch
|
||||||
|
|
||||||
optional_title=További beállítások
|
optional_title=További beállítások
|
||||||
email_title=E-mail szolgáltatás beállításai
|
email_title=E-mail szolgáltatás beállításai
|
||||||
@@ -101,7 +106,7 @@ disable_gravatar=Gravatar kikapcsolása
|
|||||||
disable_gravatar_popup=Gravatar és egyedi források kikapcsolása, minden avatárt a felhasználók töltenek fel.
|
disable_gravatar_popup=Gravatar és egyedi források kikapcsolása, minden avatárt a felhasználók töltenek fel.
|
||||||
federated_avatar_lookup=Engedélyezi a független avatarokat
|
federated_avatar_lookup=Engedélyezi a független avatarokat
|
||||||
federated_avatar_lookup_popup=Eggyesített profilkép keresés a nyílt forráskódú libravatar szolgáltatás segítségével.
|
federated_avatar_lookup_popup=Eggyesített profilkép keresés a nyílt forráskódú libravatar szolgáltatás segítségével.
|
||||||
disable_registration=Ön-regisztráció kikapcsolása
|
disable_registration=Önregisztráció kikapcsolása
|
||||||
disable_registration_popup=Ön-regisztráció kikapcsolása, csak a rendszergazda hozhat létre fiókot.
|
disable_registration_popup=Ön-regisztráció kikapcsolása, csak a rendszergazda hozhat létre fiókot.
|
||||||
enable_captcha=Ellenőrző kód engedélyezése
|
enable_captcha=Ellenőrző kód engedélyezése
|
||||||
enable_captcha_popup=Ellenőrző kódot kér a felhasználói regisztrációnál.
|
enable_captcha_popup=Ellenőrző kódot kér a felhasználói regisztrációnál.
|
||||||
@@ -122,6 +127,7 @@ run_user_not_match=Futtató felhasználó más, mint az aktuális felhasználó:
|
|||||||
smtp_host_missing_port=Az SMTP kiszolgáló címéből hiányzik a portszám.
|
smtp_host_missing_port=Az SMTP kiszolgáló címéből hiányzik a portszám.
|
||||||
invalid_smtp_from=Érvénytelen SMTP Feladó mező: %v
|
invalid_smtp_from=Érvénytelen SMTP Feladó mező: %v
|
||||||
save_config_failed=Hiba a beállítások tárolásakor: %v
|
save_config_failed=Hiba a beállítások tárolásakor: %v
|
||||||
|
init_failed=Nem sikerült inicializálni az alkalmazást: %v
|
||||||
invalid_admin_setting=Hibás a rendszergazdai fiók beállítása: %v
|
invalid_admin_setting=Hibás a rendszergazdai fiók beállítása: %v
|
||||||
install_success=Üdv! Örülünk, hogy a Gogs-ot választottad, érezd jól magad és viseld gondját.
|
install_success=Üdv! Örülünk, hogy a Gogs-ot választottad, érezd jól magad és viseld gondját.
|
||||||
invalid_log_root_path=Naplózás gyökérmappa érvénytelen: %v
|
invalid_log_root_path=Naplózás gyökérmappa érvénytelen: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=Van már felhasználói fiókja? Jelentkezz be!
|
|||||||
social_register_hepler_msg=Van már fiókod? Csatold most!
|
social_register_hepler_msg=Van már fiókod? Csatold most!
|
||||||
disable_register_prompt=Elnézést, a regisztrációt kikapcsolták. Kérlek szólj az oldal adminisztrátorának.
|
disable_register_prompt=Elnézést, a regisztrációt kikapcsolták. Kérlek szólj az oldal adminisztrátorának.
|
||||||
disable_register_mail=Elnézést, az email regisztráció megerősítését kikapcsolták.
|
disable_register_mail=Elnézést, az email regisztráció megerősítését kikapcsolták.
|
||||||
|
auth_source=Hitelesítési forrás
|
||||||
|
local=Helyi
|
||||||
remember_me=Emlékezz rám
|
remember_me=Emlékezz rám
|
||||||
forgot_password=Elfelejtett jelszó
|
forgot_password=Elfelejtett jelszó
|
||||||
forget_password=Elfelejtette a jelszavát?
|
forget_password=Elfelejtette a jelszavát?
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=A szervezet neve már foglalt.
|
|||||||
team_name_been_taken=Az a csapatnév már foglalt.
|
team_name_been_taken=Az a csapatnév már foglalt.
|
||||||
email_been_used=Ezt az email címet már felhasználták.
|
email_been_used=Ezt az email címet már felhasználták.
|
||||||
username_password_incorrect=Felhasználó név vagy jelszó hibás.
|
username_password_incorrect=Felhasználó név vagy jelszó hibás.
|
||||||
|
auth_source_mismatch=A kijelölt hitelesítési forráshoz nincs társítva a felhasználó.
|
||||||
enterred_invalid_repo_name=Kérjük, ellenőrizze, hogy a tároló neve helyes.
|
enterred_invalid_repo_name=Kérjük, ellenőrizze, hogy a tároló neve helyes.
|
||||||
enterred_invalid_owner_name=Kérjük, ellenőrizze, hogy a tulajdonos neve helyes.
|
enterred_invalid_owner_name=Kérjük, ellenőrizze, hogy a tulajdonos neve helyes.
|
||||||
enterred_invalid_password=Kérlek ellenőrizd, hogy a beírt jelszó helyes.
|
enterred_invalid_password=Kérlek ellenőrizd, hogy a beírt jelszó helyes.
|
||||||
@@ -256,8 +265,7 @@ following=Követve
|
|||||||
follow=Követés
|
follow=Követés
|
||||||
unfollow=Követés törlése
|
unfollow=Követés törlése
|
||||||
|
|
||||||
form.name_reserved='%s' felhasználónév már foglalt.
|
form.name_not_allowed=A %q felhasználónév, vagy minta nem engedélyezett.
|
||||||
form.name_pattern_not_allowed=A felhasználónév ('%s') nem engedélyezett.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Profil
|
profile=Profil
|
||||||
@@ -309,6 +317,7 @@ delete_email=Törlés
|
|||||||
email_deletion=E-mail cím törlése
|
email_deletion=E-mail cím törlése
|
||||||
email_deletion_desc=Az e-mail cím törlése kapcsolódó adatokat is eltávolít a fiókjából. Biztosan folytatja?
|
email_deletion_desc=Az e-mail cím törlése kapcsolódó adatokat is eltávolít a fiókjából. Biztosan folytatja?
|
||||||
email_deletion_success=Az e-mail címet töröltük!
|
email_deletion_success=Az e-mail címet töröltük!
|
||||||
|
email_deletion_primary=Cannot delete primary email address.
|
||||||
add_new_email=Új email cím felvétele
|
add_new_email=Új email cím felvétele
|
||||||
add_email=Email felvétele
|
add_email=Email felvétele
|
||||||
add_email_confirmation_sent=Egy új megerősítő e-mailt küldtünk a(z) '%s' címre. Kérlek ellenőrizd a beérkező üzeneteidet %d órán belül, hogy befejezd a megerősítési folyamatot.
|
add_email_confirmation_sent=Egy új megerősítő e-mailt küldtünk a(z) '%s' címre. Kérlek ellenőrizd a beérkező üzeneteidet %d órán belül, hogy befejezd a megerősítési folyamatot.
|
||||||
@@ -348,6 +357,7 @@ two_factor_or_enter_secret=Vagy adja meg a titkos kódot:
|
|||||||
two_factor_then_enter_passcode=Ezután írja be ezt a jelkódot:
|
two_factor_then_enter_passcode=Ezután írja be ezt a jelkódot:
|
||||||
two_factor_verify=Ellenőrzés
|
two_factor_verify=Ellenőrzés
|
||||||
two_factor_invalid_passcode=Érvénytelen a megadott jelkód, próbálja meg újra!
|
two_factor_invalid_passcode=Érvénytelen a megadott jelkód, próbálja meg újra!
|
||||||
|
two_factor_reused_passcode=A megadott PIN-kód már használatban van. Kérem válasszon másikat!
|
||||||
two_factor_enable_error=Kétlépcsős hitelesítés engedélyezése sikertelen: %v
|
two_factor_enable_error=Kétlépcsős hitelesítés engedélyezése sikertelen: %v
|
||||||
two_factor_enable_success=Kétlépcsős hitelesítés sikeresen engedélyezve a fiókjához!
|
two_factor_enable_success=Kétlépcsős hitelesítés sikeresen engedélyezve a fiókjához!
|
||||||
two_factor_recovery_codes_title=Kettőlépcsős hitelesítés helyreállítási kódok
|
two_factor_recovery_codes_title=Kettőlépcsős hitelesítés helyreállítási kódok
|
||||||
@@ -362,6 +372,7 @@ two_factor_disable_success=Kétlépcsős hitelesítés sikeresen letiltva a fió
|
|||||||
manage_access_token=Személyes hozzáférési jegyek kezelése
|
manage_access_token=Személyes hozzáférési jegyek kezelése
|
||||||
generate_new_token=Új jegy generálása
|
generate_new_token=Új jegy generálása
|
||||||
tokens_desc=A generált jegyekkel hozzáférhetsz a Gogs API-hoz.
|
tokens_desc=A generált jegyekkel hozzáférhetsz a Gogs API-hoz.
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc=Minden jegy teljes hozzáférést ad a fiókodhoz.
|
new_token_desc=Minden jegy teljes hozzáférést ad a fiókodhoz.
|
||||||
token_name=Jegy neve
|
token_name=Jegy neve
|
||||||
generate_token=Jegy generálása
|
generate_token=Jegy generálása
|
||||||
@@ -370,6 +381,7 @@ delete_token=Törlés
|
|||||||
access_token_deletion=Személyes hozzáférési jegy törlése
|
access_token_deletion=Személyes hozzáférési jegy törlése
|
||||||
access_token_deletion_desc=Az SSH kulcs törlése minden kapcsolódó hozzáférést töröl a fiókodból. Biztosan folytatod?
|
access_token_deletion_desc=Az SSH kulcs törlése minden kapcsolódó hozzáférést töröl a fiókodból. Biztosan folytatod?
|
||||||
delete_token_success=A személyes hozzáférési tokened eltávolítása megtörtént! Ne felejtsd el frissíteni az alkalmazásod is.
|
delete_token_success=A személyes hozzáférési tokened eltávolítása megtörtént! Ne felejtsd el frissíteni az alkalmazásod is.
|
||||||
|
token_name_exists=Már létezik ilyen nevű szerepkör.
|
||||||
|
|
||||||
orgs.none=Nem vagy tagja egy szervezeti elemnek sem.
|
orgs.none=Nem vagy tagja egy szervezeti elemnek sem.
|
||||||
orgs.leave_title=Szervezet elhagyása
|
orgs.leave_title=Szervezet elhagyása
|
||||||
@@ -391,7 +403,9 @@ owner=Tulajdonos
|
|||||||
repo_name=Tároló neve
|
repo_name=Tároló neve
|
||||||
repo_name_helper=A jó tárolónév általában rövid, megjegyezhető és egyedi kulcsszavakból tevődik össze.
|
repo_name_helper=A jó tárolónév általában rövid, megjegyezhető és egyedi kulcsszavakból tevődik össze.
|
||||||
visibility=Láthatóság
|
visibility=Láthatóság
|
||||||
|
unlisted=Unlisted
|
||||||
visiblity_helper=Ez egy <span class="ui red text">privát</span> tároló
|
visiblity_helper=Ez egy <span class="ui red text">privát</span> tároló
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=Az oldal adminisztrátora kötelezővé tette, hogy minden új repository <span class="ui red text">Privát</span> legyen
|
visiblity_helper_forced=Az oldal adminisztrátora kötelezővé tette, hogy minden új repository <span class="ui red text">Privát</span> legyen
|
||||||
visiblity_fork_helper=(Az érték megváltoztatása kihat minden fork-ra)
|
visiblity_fork_helper=(Az érték megváltoztatása kihat minden fork-ra)
|
||||||
clone_helper=Segítség kell a klónozáshoz? Látogasd meg a <a target="_blank" href="%s">Súgó</a>t!
|
clone_helper=Segítség kell a klónozáshoz? Látogasd meg a <a target="_blank" href="%s">Súgó</a>t!
|
||||||
@@ -417,10 +431,11 @@ mirror_last_synced=Utoljára szinkr.
|
|||||||
watchers=Figyelők
|
watchers=Figyelők
|
||||||
stargazers=Csillagvizsgálók
|
stargazers=Csillagvizsgálók
|
||||||
forks=Másolások
|
forks=Másolások
|
||||||
|
repo_description_helper=Tároló leírása. Maximum 512 karakter hosszúságú.
|
||||||
|
repo_description_length=Rendelkezésre álló karakterek
|
||||||
|
|
||||||
form.reach_limit_of_creation=A tulajdonos túllépte a maximum létrehozható tárolók számát (%d).
|
form.reach_limit_of_creation=A tulajdonos túllépte a maximum létrehozható tárolók számát (%d).
|
||||||
form.name_reserved=Ez a tároló név ('%s') le van foglalva.
|
form.name_not_allowed=A %q repository név, vagy minta nem engedélyezett.
|
||||||
form.name_pattern_not_allowed=Ez a tároló név ('%s') nem megengedett.
|
|
||||||
|
|
||||||
need_auth=Hitelesítés szükséges
|
need_auth=Hitelesítés szükséges
|
||||||
migrate_type=Migráció típusa
|
migrate_type=Migráció típusa
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=Ez lehet egy HTTP/HTTPS/GIT URL.
|
|||||||
migrate.clone_address_desc_import_local=Migrálhat tárolót a helyi fájlrendszerből is az útvonal megadásával.
|
migrate.clone_address_desc_import_local=Migrálhat tárolót a helyi fájlrendszerből is az útvonal megadásával.
|
||||||
migrate.permission_denied=Az Ön számára nem engedélyezett a helyi tároló importálása.
|
migrate.permission_denied=Az Ön számára nem engedélyezett a helyi tároló importálása.
|
||||||
migrate.invalid_local_path=Érvénytelen helyi elérési út; nem létezik vagy nem mappára mutat.
|
migrate.invalid_local_path=Érvénytelen helyi elérési út; nem létezik vagy nem mappára mutat.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=Migráció sikertelen: %v
|
migrate.failed=Migráció sikertelen: %v
|
||||||
|
|
||||||
mirror_from=tükrözi:
|
mirror_from=tükrözi:
|
||||||
@@ -478,6 +494,8 @@ branches.stale_branches=Elavult ágak
|
|||||||
branches.all=Minden ág
|
branches.all=Minden ág
|
||||||
branches.updated_by=Frissítve ekkor: %[1]s %[2]s által
|
branches.updated_by=Frissítve ekkor: %[1]s %[2]s által
|
||||||
branches.change_default_branch=Alapértelmezett ág megváltoztatása
|
branches.change_default_branch=Alapértelmezett ág megváltoztatása
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Új fájl
|
editor.new_file=Új fájl
|
||||||
editor.upload_file=Fájl feltöltése
|
editor.upload_file=Fájl feltöltése
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=A fájl tartalma megváltozott mióta elkezdte
|
|||||||
editor.file_already_exists=A(z) '%s' nevű fájl már létezik a tárolóban.
|
editor.file_already_exists=A(z) '%s' nevű fájl már létezik a tárolóban.
|
||||||
editor.no_changes_to_show=Nincsen megjeleníthető változás.
|
editor.no_changes_to_show=Nincsen megjeleníthető változás.
|
||||||
editor.fail_to_update_file=Nem sikerült frissíteni/létrehozni a következő fájlt: '%s' A hiba oka: %v
|
editor.fail_to_update_file=Nem sikerült frissíteni/létrehozni a következő fájlt: '%s' A hiba oka: %v
|
||||||
|
editor.fail_to_delete_file=Nem sikerült törölni a következő fájlt: '%s' A hiba oka: %v
|
||||||
editor.add_subdir=Alkönyvtár hozzáadása...
|
editor.add_subdir=Alkönyvtár hozzáadása...
|
||||||
editor.unable_to_upload_files=Nem sikerült feltölteni a fájlokat a "%s" hiba: %v
|
editor.unable_to_upload_files=Nem sikerült feltölteni a fájlokat a "%s" hiba: %v
|
||||||
editor.upload_files_to_dir=Fájlok feltöltése '%s'
|
editor.upload_files_to_dir=Fájlok feltöltése '%s'
|
||||||
@@ -634,6 +653,7 @@ pulls.cannot_auto_merge_desc=Ez a beolvasztási kérés ütközések miatt nem e
|
|||||||
pulls.cannot_auto_merge_helper=Kérlek, egyesítsd kézileg a konfliktusok megoldásához.
|
pulls.cannot_auto_merge_helper=Kérlek, egyesítsd kézileg a konfliktusok megoldásához.
|
||||||
pulls.create_merge_commit=Eggyesítő commit létrehozása
|
pulls.create_merge_commit=Eggyesítő commit létrehozása
|
||||||
pulls.rebase_before_merging=Rebase eggyesítés előtt
|
pulls.rebase_before_merging=Rebase eggyesítés előtt
|
||||||
|
pulls.commit_description=Commit leírása
|
||||||
pulls.merge_pull_request=Beolvasztási kérés egyesítése
|
pulls.merge_pull_request=Beolvasztási kérés egyesítése
|
||||||
pulls.open_unmerged_pull_exists=`Nem tudja újranyitni, mert már van egy nyitott egyesítési kérés (#%d) ugyanebben a tárolóban, ugyanezekket az egyesítési információkkal, és végrehajtásra vár.`
|
pulls.open_unmerged_pull_exists=`Nem tudja újranyitni, mert már van egy nyitott egyesítési kérés (#%d) ugyanebben a tárolóban, ugyanezekket az egyesítési információkkal, és végrehajtásra vár.`
|
||||||
pulls.delete_branch=Ág törlése
|
pulls.delete_branch=Ág törlése
|
||||||
@@ -738,7 +758,7 @@ settings.tracker_issue_style=Külső hibajegykezelő elnevezési stílus:
|
|||||||
settings.tracker_issue_style.numeric=Numerikus
|
settings.tracker_issue_style.numeric=Numerikus
|
||||||
settings.tracker_issue_style.alphanumeric=Alfanumerikus
|
settings.tracker_issue_style.alphanumeric=Alfanumerikus
|
||||||
settings.tracker_url_format_desc=Az alábbiak helyettesítik a felhasználónevet, repository nevet és hibajegy számot: <code>{user} {repo} {index}</code>.
|
settings.tracker_url_format_desc=Az alábbiak helyettesítik a felhasználónevet, repository nevet és hibajegy számot: <code>{user} {repo} {index}</code>.
|
||||||
settings.pulls_desc=Beolvasztási kérések engedélyezése a nyilvános hozzájárulások végett
|
settings.pulls_desc=Beolvasztási kérések engedélyezése tárolók és ágak közi hozzájárulásokhoz
|
||||||
settings.pulls.ignore_whitespace=Whitespacek figyelmen kívül hagyása
|
settings.pulls.ignore_whitespace=Whitespacek figyelmen kívül hagyása
|
||||||
settings.pulls.allow_rebase_merge=Rebase engedélyezése eggyesítő commitokhoz
|
settings.pulls.allow_rebase_merge=Rebase engedélyezése eggyesítő commitokhoz
|
||||||
settings.danger_zone=Veszélyes terület
|
settings.danger_zone=Veszélyes terület
|
||||||
@@ -761,7 +781,7 @@ settings.wiki_deletion_success=A repository-hoz tartozó wiki adatok törlése s
|
|||||||
settings.delete=Repository Törlése
|
settings.delete=Repository Törlése
|
||||||
settings.delete_desc=Miután kitörölted a repository-t nincs visszaút. Jól gondold meg.
|
settings.delete_desc=Miután kitörölted a repository-t nincs visszaút. Jól gondold meg.
|
||||||
settings.delete_notices_1=- Ez a művelet <strong>NEM</strong> vonható vissza.
|
settings.delete_notices_1=- Ez a művelet <strong>NEM</strong> vonható vissza.
|
||||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
settings.delete_notices_2=- Ez a művelet véglegesen töröl minden repository-val kapcsolatos dolgot, beleértve a Git adatokat, hibajegyeket, megjegyzéseket és a közreműködők hozzáférési jogát.
|
||||||
settings.delete_notices_fork_1=- Minden fork önállóvá válik a törlés után.
|
settings.delete_notices_fork_1=- Minden fork önállóvá válik a törlés után.
|
||||||
settings.deletion_success=A tároló sikeresen törölve!
|
settings.deletion_success=A tároló sikeresen törölve!
|
||||||
settings.update_settings_success=A tároló beállításai sikeresen frissítve.
|
settings.update_settings_success=A tároló beállításai sikeresen frissítve.
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=Ennek a felhasználónak nem lesz joga közr
|
|||||||
settings.remove_collaborator_success=Az eggyüttműködő eltávolítva.
|
settings.remove_collaborator_success=Az eggyüttműködő eltávolítva.
|
||||||
settings.search_user_placeholder=Felhasználók keresése...
|
settings.search_user_placeholder=Felhasználók keresése...
|
||||||
settings.org_not_allowed_to_be_collaborator=Szervezet hozzáadása együttműködőként nem engedélyezett.
|
settings.org_not_allowed_to_be_collaborator=Szervezet hozzáadása együttműködőként nem engedélyezett.
|
||||||
settings.add_webhook=Webhook hozzáadása
|
|
||||||
settings.hooks_desc=A Webhook-ok olyanok, mint az alapvető HTTP POST esemény triggerek. Amikor valami történik a Gogsban, akkor küldünk róla értesítést a címre amit beállítasz. Többet olvashatsz erről a <a target="_blank" href="%s">Webhooks Guide-ban</a>.
|
settings.hooks_desc=A Webhook-ok olyanok, mint az alapvető HTTP POST esemény triggerek. Amikor valami történik a Gogsban, akkor küldünk róla értesítést a címre amit beállítasz. Többet olvashatsz erről a <a target="_blank" href="%s">Webhooks Guide-ban</a>.
|
||||||
|
settings.webhooks.add_new=Új webhook készítése:
|
||||||
|
settings.webhooks.choose_a_type=Válassz egy típust...
|
||||||
|
settings.add_webhook=Webhook hozzáadása
|
||||||
settings.webhook_deletion=Webhook Törlése
|
settings.webhook_deletion=Webhook Törlése
|
||||||
settings.webhook_deletion_desc=Ennek a Webhook-nak a törlése eltávolít róla minden információt, és a korábbi kézbesítéseknek a naplóját is. Biztosan folytatja?
|
settings.webhook_deletion_desc=Ennek a Webhook-nak a törlése eltávolít róla minden információt, és a korábbi kézbesítéseknek a naplóját is. Biztosan folytatja?
|
||||||
settings.webhook_deletion_success=Webhook sikeresen törölve lett!
|
settings.webhook_deletion_success=Webhook sikeresen törölve lett!
|
||||||
@@ -792,6 +814,8 @@ settings.webhook.response=Válasz
|
|||||||
settings.webhook.headers=Fejlécek
|
settings.webhook.headers=Fejlécek
|
||||||
settings.webhook.payload=Tartalom
|
settings.webhook.payload=Tartalom
|
||||||
settings.webhook.body=Törzs
|
settings.webhook.body=Törzs
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Nem sikerült feldolgozni a végpont URL címet: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=A GIT hook-okat maga a Git működteti, szerkesztheted a támogatott hook-ok fájljait a következő listában hogy egyéni műveleteket is végezzenek.
|
settings.githooks_desc=A GIT hook-okat maga a Git működteti, szerkesztheted a támogatott hook-ok fájljait a következő listában hogy egyéni műveleteket is végezzenek.
|
||||||
settings.githook_edit_desc=Ha a hook nincs aktiválva, akkor egy minta sablon lesz mutatva. Ha a tartalmát üresen hagyja, akkor ez a hook ki lesz kapcsolva.
|
settings.githook_edit_desc=Ha a hook nincs aktiválva, akkor egy minta sablon lesz mutatva. Ha a tartalmát üresen hagyja, akkor ez a hook ki lesz kapcsolva.
|
||||||
settings.githook_name=Hook megnevezés
|
settings.githook_name=Hook megnevezés
|
||||||
@@ -819,10 +843,10 @@ settings.event_push=Push
|
|||||||
settings.event_push_desc=Push-olás egy repository-ba
|
settings.event_push_desc=Push-olás egy repository-ba
|
||||||
settings.event_issues=Problémák
|
settings.event_issues=Problémák
|
||||||
settings.event_issues_desc=A probléma meg left nyitva, le left zárva, újranyitva, szerkesztve, hozzárendelve, visszarendelve, cimkézve, cimketelenítve, mérföldkövezve, vagy mérföldkőtelenítve.
|
settings.event_issues_desc=A probléma meg left nyitva, le left zárva, újranyitva, szerkesztve, hozzárendelve, visszarendelve, cimkézve, cimketelenítve, mérföldkövezve, vagy mérföldkőtelenítve.
|
||||||
settings.event_issue_comment=Probléma hozzászólás
|
|
||||||
settings.event_issue_comment_desc=Probléma megjegyzés létrehozva, szerkesztve vagy törölve.
|
|
||||||
settings.event_pull_request=Beolvasztási kérés
|
settings.event_pull_request=Beolvasztási kérés
|
||||||
settings.event_pull_request_desc=Beolvasztási kérés megnyitva, lezárva, újranyitva, hozzárendelve, visszarendelve, címkézve, címke eltávolítva, mérföldkövezve, mérföldkő eltávolítva vagy szinkronizálva.
|
settings.event_pull_request_desc=Beolvasztási kérés megnyitva, lezárva, újranyitva, hozzárendelve, visszarendelve, címkézve, címke eltávolítva, mérföldkövezve, mérföldkő eltávolítva vagy szinkronizálva.
|
||||||
|
settings.event_issue_comment=Probléma hozzászólás
|
||||||
|
settings.event_issue_comment_desc=Probléma megjegyzés létrehozva, szerkesztve vagy törölve.
|
||||||
settings.event_release=Kiadás
|
settings.event_release=Kiadás
|
||||||
settings.event_release_desc=Kiadás publikálva a tárolóban.
|
settings.event_release_desc=Kiadás publikálva a tárolóban.
|
||||||
settings.active=Aktív
|
settings.active=Aktív
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=Az új deploy kulcsot ('%s') sikeresen hozzáadtuk!
|
|||||||
settings.deploy_key_deletion=Deploy Kulcs Törlése
|
settings.deploy_key_deletion=Deploy Kulcs Törlése
|
||||||
settings.deploy_key_deletion_desc=A deploy kulcs törlése minden kapcsolódó hozzáférést töröl a repository-ból. Biztosan folytatod?
|
settings.deploy_key_deletion_desc=A deploy kulcs törlése minden kapcsolódó hozzáférést töröl a repository-ból. Biztosan folytatod?
|
||||||
settings.deploy_key_deletion_success=A deploy kulcs sikeresen törölve!
|
settings.deploy_key_deletion_success=A deploy kulcs sikeresen törölve!
|
||||||
|
settings.description_desc=Tároló leírása. Maximum 512 karakter hosszúságú.
|
||||||
|
settings.description_length=Rendelkezésre álló karakterek
|
||||||
|
|
||||||
diff.browse_source=Forráskód Böngészése
|
diff.browse_source=Forráskód Böngészése
|
||||||
diff.parent=szülő
|
diff.parent=szülő
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=Ezzel a névvel tudsz majd a csapatra hivatkozni.
|
|||||||
team_desc_helper=Miről szól ez a csapat?
|
team_desc_helper=Miről szól ez a csapat?
|
||||||
team_permission_desc=Milyen jogosultsága legyen ennek a csapatnak?
|
team_permission_desc=Milyen jogosultsága legyen ennek a csapatnak?
|
||||||
|
|
||||||
form.name_reserved=Ez a szervezetnév ('%s') le van foglalva.
|
form.name_not_allowed=A szervezetnév, vagy minta '%q' nem engedélyezett.
|
||||||
form.name_pattern_not_allowed=A szervezetnév ('%s') nem engedélyezett.
|
form.team_name_not_allowed=A '%q' csapatnév, vagy minta nem engedélyezett
|
||||||
form.team_name_reserved=A csoportnév ('%s') a rendszer számára van fenntartva.
|
|
||||||
|
|
||||||
settings=Beállítások
|
settings=Beállítások
|
||||||
settings.options=Opciók
|
settings.options=Opciók
|
||||||
@@ -990,12 +1015,19 @@ first_page=Első
|
|||||||
last_page=Utolsó
|
last_page=Utolsó
|
||||||
total=Összesen: %d
|
total=Összesen: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Program építési információi
|
||||||
|
dashboard.app_ver=Alkalmazás verziója
|
||||||
|
dashboard.git_version=Git verzió
|
||||||
|
dashboard.go_version=Go verzió
|
||||||
|
dashboard.build_time=Program építésének időtartama
|
||||||
|
dashboard.build_commit=Program építési commit-ja
|
||||||
dashboard.statistic=Statisztika
|
dashboard.statistic=Statisztika
|
||||||
dashboard.operations=Műveletek
|
dashboard.operations=Műveletek
|
||||||
dashboard.system_status=Rendszerfigyelő Állapota
|
dashboard.system_status=Rendszerfigyelő Állapota
|
||||||
dashboard.statistic_info=Az adatbázisban található: <b>%d</b> felhasználó, <b>%d</b> szervezet, <b>%d</b> publikus kulcs, <b>%d</b> tároló, <b>%d</b> figyelő, <b>%d</b> csillagozás, <b>%d</b> művelet, <b>%d</b> hozzáférés, <b>%d</b> probléma, <b>%d</b> megjegyzés, <b>%d</b> közösségi fiók, <b>%d</b> követő, <b>%d</b> tükör, <b>%d</b> kiadás, <b>%d</b> authentikáció, <b>%d</b> webhook, <b>%d</b> mérföldkő, <b>%d</b> cimke, <b>%d</b> hook feladat, <b>%d</b> csoport, <b>%d</b> frissítési feladat, <b>%d</b> csatolmány.
|
dashboard.statistic_info=Az adatbázisban található: <b>%d</b> felhasználó, <b>%d</b> szervezet, <b>%d</b> publikus kulcs, <b>%d</b> tároló, <b>%d</b> figyelő, <b>%d</b> csillagozás, <b>%d</b> művelet, <b>%d</b> hozzáférés, <b>%d</b> probléma, <b>%d</b> megjegyzés, <b>%d</b> közösségi fiók, <b>%d</b> követő, <b>%d</b> tükör, <b>%d</b> kiadás, <b>%d</b> authentikáció, <b>%d</b> webhook, <b>%d</b> mérföldkő, <b>%d</b> cimke, <b>%d</b> hook feladat, <b>%d</b> csoport, <b>%d</b> frissítési feladat, <b>%d</b> csatolmány.
|
||||||
dashboard.operation_name=Művelet neve
|
dashboard.operation_name=Művelet neve
|
||||||
dashboard.operation_switch=Átváltás
|
dashboard.operation_switch=Átváltás
|
||||||
|
dashboard.select_operation_to_run=Kérlek válaszd ki a futtatandó műveletet
|
||||||
dashboard.operation_run=Futtatás
|
dashboard.operation_run=Futtatás
|
||||||
dashboard.clean_unbind_oauth=A nem használt OAuthok kitakarítása
|
dashboard.clean_unbind_oauth=A nem használt OAuthok kitakarítása
|
||||||
dashboard.clean_unbind_oauth_success=Minden nem használt OAuth sikeresen kitakarítva.
|
dashboard.clean_unbind_oauth_success=Minden nem használt OAuth sikeresen kitakarítva.
|
||||||
@@ -1087,11 +1119,12 @@ repos.stars=Csillagok
|
|||||||
repos.issues=Problémák
|
repos.issues=Problémák
|
||||||
repos.size=Méret
|
repos.size=Méret
|
||||||
|
|
||||||
auths.auth_manage_panel=Hitelesítés kezelő Panel
|
auths.auth_sources=Hitelesítési források
|
||||||
auths.new=Új forrás hozzáadása
|
auths.new=Új forrás hozzáadása
|
||||||
auths.name=Név
|
auths.name=Név
|
||||||
auths.type=Típus
|
auths.type=Típus
|
||||||
auths.enabled=Engedélyezett
|
auths.enabled=Engedélyezett
|
||||||
|
auths.default=Alapértelmezett
|
||||||
auths.updated=Frissítve
|
auths.updated=Frissítve
|
||||||
auths.auth_type=Hitelesítés típusa
|
auths.auth_type=Hitelesítés típusa
|
||||||
auths.auth_name=Hitelesítési név
|
auths.auth_name=Hitelesítési név
|
||||||
@@ -1128,9 +1161,9 @@ auths.enable_tls=TLS titkosítás engedélyezése
|
|||||||
auths.skip_tls_verify=TLS ellenőrzése mellőzése
|
auths.skip_tls_verify=TLS ellenőrzése mellőzése
|
||||||
auths.pam_service_name=PAM szolgáltatás neve
|
auths.pam_service_name=PAM szolgáltatás neve
|
||||||
auths.enable_auto_register=Automatikus regisztráció engedélyezése
|
auths.enable_auto_register=Automatikus regisztráció engedélyezése
|
||||||
auths.tips=Tippek
|
|
||||||
auths.edit=Hitelesítési beállítások szerkesztése
|
auths.edit=Hitelesítési beállítások szerkesztése
|
||||||
auths.activated=Ez a hitelesítés mód aktiválva van
|
auths.activated=Ez a hitelesítés mód aktiválva van
|
||||||
|
auths.default_auth=Ez a hitelesítés az alapértelmezett bejelentkezési forrás
|
||||||
auths.new_success=Az új hitelesítési mód '%s' sikeresen hozzáadva.
|
auths.new_success=Az új hitelesítési mód '%s' sikeresen hozzáadva.
|
||||||
auths.update_success=A hitelesítési beállítások sikeresen firssítve lettek.
|
auths.update_success=A hitelesítési beállítások sikeresen firssítve lettek.
|
||||||
auths.update=Hitelesítési forrás frissítése
|
auths.update=Hitelesítési forrás frissítése
|
||||||
@@ -1140,120 +1173,186 @@ auths.delete_auth_desc=A hitelesítési mód törlésre kerül, biztosan folytat
|
|||||||
auths.still_in_used=A hitelesítési mód még használatban van, mielőtt törölné válasszon más hitelesítési módot az érintett fiókokhoz.
|
auths.still_in_used=A hitelesítési mód még használatban van, mielőtt törölné válasszon más hitelesítési módot az érintett fiókokhoz.
|
||||||
auths.deletion_success=Hitelesítési forrás sikeresen törölve!
|
auths.deletion_success=Hitelesítési forrás sikeresen törölve!
|
||||||
auths.login_source_exist=Bejelentkezési forrás "%s" már létezik.
|
auths.login_source_exist=Bejelentkezési forrás "%s" már létezik.
|
||||||
|
auths.github_api_endpoint=API végpont
|
||||||
|
|
||||||
config.not_set=(nincs beállítva)
|
config.not_set=(nincs beállítva)
|
||||||
config.server_config=Kiszolgáló konfiguráció
|
config.server_config=Kiszolgáló konfiguráció
|
||||||
config.app_name=Alkalmazás neve
|
config.brand_name=Oldalnév kiválasztása
|
||||||
config.app_ver=Alkalmazás verziója
|
|
||||||
config.app_url=Alkalmazás URL-je
|
|
||||||
config.domain=Tartomány
|
|
||||||
config.offline_mode=Kapcsolat nélküli mód
|
|
||||||
config.disable_router_log=Útválasztás naplózásának letiltása
|
|
||||||
config.run_user=Futtató felhasználó
|
config.run_user=Futtató felhasználó
|
||||||
config.run_mode=Futtatás módja
|
config.run_mode=Futtatás módja
|
||||||
config.git_version=Git verzió
|
config.server.external_url=Külső URL
|
||||||
config.static_file_root_path=Statikus fájl gyökérútvonal
|
config.server.domain=Domain
|
||||||
config.log_file_root_path=Naplófájl gyökérútvonal
|
config.server.protocol=Protokoll
|
||||||
config.reverse_auth_user=Visszafelé hitelesítés felhasználója
|
config.server.http_addr=HTTP cím
|
||||||
|
config.server.http_port=HTTP port
|
||||||
|
config.server.cert_file=Tanusítvány fájl
|
||||||
|
config.server.key_file=Kulcsfájl
|
||||||
|
config.server.tls_min_version=Legalacsonyabb TLS verzió
|
||||||
|
config.server.unix_socket_permission=Unix socket engedély
|
||||||
|
config.server.local_root_url=Helyi gyökér URL
|
||||||
|
config.server.offline_mode=Offline mód
|
||||||
|
config.server.disable_router_log=Disable router log
|
||||||
|
config.server.enable_gzip=Gzip bekapcsolása
|
||||||
|
config.server.app_data_path=Alkalmazás adatok elérési útvonala
|
||||||
|
config.server.load_assets_from_disk=Program hozzávalók betöltése lemezről
|
||||||
|
config.server.landing_url=Beérkezési URL
|
||||||
|
|
||||||
config.ssh_config=SSH konfiguráció
|
config.ssh_config=SSH konfiguráció
|
||||||
config.ssh_enabled=Engedélyezett
|
config.ssh.enabled=Bekapcsolva
|
||||||
config.ssh_start_builtin_server=Beépített kiszolgáló indítása
|
config.ssh.domain=Külső domain
|
||||||
config.ssh_domain=Tartomány
|
config.ssh.port=Nyitott port
|
||||||
config.ssh_port=Port
|
config.ssh.root_path=Gyökér elérési útvonal
|
||||||
config.ssh_listen_port=Figyelő port
|
config.ssh.keygen_path=ssh-keygen elérési útvonala
|
||||||
config.ssh_root_path=Gyökér elérési útvonal
|
config.ssh.key_test_path=Kulcs ellenőrzés útvonala
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Minimális kulcsméret ellenőrzés
|
||||||
config.ssh_key_test_path=Kulcs ellenőrzés útvonala
|
config.ssh.minimum_key_sizes=Kulcsok minimális mérete
|
||||||
config.ssh_keygen_path=Kulcsgeneráló ('ssh-keygen') elérési útja
|
config.ssh.rewrite_authorized_keys_at_start=SSH "authorized_keys" fájl újraírása indításnál
|
||||||
config.ssh_minimum_key_size_check=Minimális kulcsméret ellenőrzés
|
config.ssh.start_builtin_server=Beépített kiszolgáló indítása
|
||||||
config.ssh_minimum_key_sizes=Kulcsok Minimális Mérete
|
config.ssh.listen_host=Hallgatási cím
|
||||||
|
config.ssh.listen_port=Hallgatási port
|
||||||
|
config.ssh.server_ciphers=Kiszolgáló titkosítás módszerei
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=Tároló konfiguráció
|
config.repo_config=Tároló konfiguráció
|
||||||
config.repo_root_path=Tárolók gyökérkönyvtára
|
config.repo.root_path=Gyökér elérési útvonal
|
||||||
config.script_type=Szkript típus
|
config.repo.script_type=Szkript típus
|
||||||
config.repo_force_private=Privát erőltetése
|
config.repo.ansi_chatset=ANSI karakterkészlet
|
||||||
config.max_creation_limit=Maximum létrehozási korlát
|
config.repo.force_private=Privát erőltetése
|
||||||
config.preferred_licenses=Előnyben részesített licencek
|
config.repo.max_creation_limit=Maximum repo létrehozási korlát
|
||||||
config.disable_http_git=A HTTP protokoll letiltása GIT-hez
|
config.repo.preferred_licenses=Előnyben részesített licencek
|
||||||
config.enable_local_path_migration=Engedélyezi a migrációt helyi elérési út alapján
|
config.repo.disable_http_git=HTTP-n keresztüli git kikapcsolása
|
||||||
config.commits_fetch_concurrency=Konkurens lekérés
|
config.repo.enable_local_path_migration=Engedélyezi a migrációt helyi elérési út alapján
|
||||||
|
config.repo.enable_raw_file_render_mode=nyers fájl kijelzés bekapcsolása
|
||||||
config.http_config=HTTP beállítások
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Hozzáférés vezérlés forrás szerint
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Feltöltés bekapcsolva
|
||||||
|
config.repo.upload.temp_path=Ideiglenes feltöltési útvonal
|
||||||
|
config.repo.upload.allowed_types=Feltöltésnél engedélyezett típusok
|
||||||
|
config.repo.upload.file_max_size=Maximálisan feltölthető fájlméret
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=Adatbázis konfiguráció
|
config.db_config=Adatbázis konfiguráció
|
||||||
config.db_type=Típus
|
config.db.type=Típus
|
||||||
config.db_host=Állomás
|
config.db.host=Kiszolgáló
|
||||||
config.db_name=Név
|
config.db.name=Név
|
||||||
config.db_user=Felhasználó
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=SSL-mód
|
config.db.schema_helper=(for "postgres" only)
|
||||||
config.db_ssl_mode_helper=(csak "postgres" )
|
config.db.user=Felhasználó
|
||||||
config.db_path=Elérési út
|
config.db.ssl_mode=SSL mód
|
||||||
config.db_path_helper=("sqlite3" és "tidb")
|
config.db.ssl_mode_helper=(csak "postgres" esetében)
|
||||||
|
config.db.path=Útvonal
|
||||||
|
config.db.path_helper=(csak "sqlite3" esetében)
|
||||||
|
config.db.max_open_conns=Maximum egyszerre nyitott csatlakozások
|
||||||
|
config.db.max_idle_conns=Maximum tétlen kapcsolatok száma
|
||||||
|
|
||||||
config.service_config=Szolgáltatás beállításai
|
config.security_config=Biztonsági beállítások
|
||||||
config.register_email_confirm=E-mail megerősítés szükséges
|
config.security.login_remember_days=Bejelentkezési adatok megjegyzésének napjai
|
||||||
config.disable_register=Regisztráció tiltása
|
config.security.cookie_remember_name=Emlékezési süti elnevezése
|
||||||
config.show_registration_button=Regisztráció gomb megjelenítése
|
config.security.cookie_username=Felhasználónév süti
|
||||||
config.require_sign_in_view=Bejelentkező Nézet
|
config.security.cookie_secure=Biztonságos sütik engedélyezése
|
||||||
config.mail_notify=E-mail értesítés
|
config.security.reverse_proxy_auth_user=Fordított proxy hitelesítési fejléc
|
||||||
config.disable_key_size_check=Minimális kulcsméret ellenőrzés letiltása
|
config.security.enable_login_status_cookie=Bejelentkezési állapot süti bekapcsolása
|
||||||
config.enable_captcha=Ellenőrző kód engedélyezése
|
config.security.login_status_cookie_name=Bejelentkezési állapot süti neve
|
||||||
config.active_code_lives=Aktivál kód élet
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=Jelkód élettartamának visszaálítása
|
|
||||||
|
|
||||||
config.webhook_config=Webhook beállítás
|
config.email_config=E-mail beállítások
|
||||||
config.queue_length=Várólista hossza
|
config.email.enabled=Bekapcsolva
|
||||||
config.deliver_timeout=Kézbesítési időtúllépés
|
config.email.subject_prefix=Tárgy előtag
|
||||||
config.skip_tls_verify=TLS ellenőrzése mellőzése
|
config.email.host=Kiszolgáló
|
||||||
|
config.email.from=Tól/től
|
||||||
|
config.email.user=Felhasználó
|
||||||
|
config.email.disable_helo=HELO letiltása
|
||||||
|
config.email.helo_hostname=HELO állományneve
|
||||||
|
config.email.skip_verify=Tanusítvány igazolásának átugrása
|
||||||
|
config.email.use_certificate=Egyedi tanusítvány használata
|
||||||
|
config.email.cert_file=Tanusítvány fájl
|
||||||
|
config.email.key_file=Kulcsfájl
|
||||||
|
config.email.use_plain_text=Sima szöveg (plaintext) használata
|
||||||
|
config.email.add_plain_text_alt=Sima szöveg (plaintext) alternatív szövege
|
||||||
|
config.email.send_test_mail=Teszt e-mail küldése
|
||||||
|
config.email.test_mail_failed=Nem sikerült kiküldeni a teszt e-mailt '%s'-nek: %v
|
||||||
|
config.email.test_mail_sent=Teszt e-mail kiküldve '%s'-nek.
|
||||||
|
|
||||||
config.mailer_config=Levelező beállítások
|
config.auth_config=Hitelesítési beállítások
|
||||||
config.mailer_enabled=Engedélyezett
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=HELO letiltása
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Jelszó visszaállítási kód élettartama
|
||||||
config.mailer_host=Állomás
|
config.auth.require_email_confirm=E-mail megerősítés szükségessé tétele
|
||||||
config.mailer_user=Felhasználó
|
config.auth.require_sign_in_view=Bejelentkező nézet követelése
|
||||||
config.send_test_mail=Teszt E-mail küldése
|
config.auth.disable_registration=Regisztráció kikapcsolása
|
||||||
config.test_mail_failed=Nem sikerült kiküldeni az e-mailt '%s': %v
|
config.auth.enable_registration_captcha=CAPTCHA engedélyezése regisztrációhoz
|
||||||
config.test_mail_sent=Teszt e-mail kiküldve '%s'.
|
config.auth.enable_reverse_proxy_authentication=Fordított proxy hitelesítés bekapcsolása
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Fordított proxy automatikus regisztrációjának bekapcsolása
|
||||||
|
config.auth.reverse_proxy_authentication_header=Fordított proxy hitelesítési fejléc
|
||||||
|
|
||||||
config.oauth_config=OAuth-konfiguráció
|
config.user_config=Felhasználói beállítások
|
||||||
config.oauth_enabled=Engedélyezett
|
config.user.enable_email_notify=Email értesítés engedélyezése
|
||||||
|
|
||||||
config.cache_config=Cache beállítás
|
|
||||||
config.cache_adapter=Gyorsítótár-adapter
|
|
||||||
config.cache_interval=Gyorsítótár intervallum
|
|
||||||
config.cache_conn=Cache kapcsolat
|
|
||||||
|
|
||||||
config.session_config=Munkamenet beállítások
|
config.session_config=Munkamenet beállítások
|
||||||
config.session_provider=Munkamenet szolgáltató
|
config.session.provider=Session ellátó
|
||||||
config.provider_config=Szolgáltató beállítás
|
config.session.provider_config=Session ellátó konfigurációja
|
||||||
config.cookie_name=Süti neve
|
config.session.cookie_name=Süti
|
||||||
config.enable_set_cookie=Süti használatának engedélyezése
|
config.session.https_only=Csak HTTPS
|
||||||
config.gc_interval_time=GC intervallum idő
|
config.session.gc_interval=Szemétgyűjtés intervalluma
|
||||||
config.session_life_time=Munkamenet élettartama
|
config.session.max_life_time=Maximális élettartam
|
||||||
config.https_only=Csak HTTPS
|
config.session.csrf_cookie_name=CSRF süti neve
|
||||||
config.cookie_life_time=Cookie-k élettartama
|
|
||||||
|
config.cache_config=Cache beállítás
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=Szemétgyűjtés intervalluma
|
||||||
|
config.cache.host=Kiszolgáló
|
||||||
|
|
||||||
|
config.http_config=HTTP beállítások
|
||||||
|
config.http.access_control_allow_origin=Access-Control-Allow-Origin fejléc
|
||||||
|
|
||||||
|
config.attachment_config=Melléklet beállítás
|
||||||
|
config.attachment.enabled=Bekapcsolva
|
||||||
|
config.attachment.path=Elérési útvonal
|
||||||
|
config.attachment.allowed_types=Engedélyezett típusok
|
||||||
|
config.attachment.max_size=Maximum méret
|
||||||
|
config.attachment.max_files=Maximálisan feltölthető fájlok mennyisége
|
||||||
|
|
||||||
|
config.release_config=Szoftver kiadás beállítás
|
||||||
|
config.release.attachment.enabled=Mellékletek bekapcsolva
|
||||||
|
config.release.attachment.allowed_types=Engedélyezett melléklet típusok
|
||||||
|
config.release.attachment.max_size=Melléklet maximális mérete
|
||||||
|
config.release.attachment.max_files=Maximális mellékelt fájlok mennyisége
|
||||||
|
|
||||||
config.picture_config=Kép beállítások
|
config.picture_config=Kép beállítások
|
||||||
config.picture_service=Kép szolgáltatás
|
config.picture.avatar_upload_path=Profilkép feltöltési útvonal
|
||||||
config.disable_gravatar=Tiltsa le a Gravatart
|
config.picture.repo_avatar_upload_path=Repository kép feltöltési útvonal
|
||||||
config.enable_federated_avatar=Összevont profilkép lekérés engedélyezése
|
config.picture.gravatar_source=Gravatar forrás
|
||||||
|
config.picture.disable_gravatar=Gravatar Kikapcsolása
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Tükrözés beállítás
|
||||||
|
config.mirror.default_interval=Alapértelmezett intervallum
|
||||||
|
|
||||||
|
config.webhook_config=Webhook beállítás
|
||||||
|
config.webhook.types=Típusok
|
||||||
|
config.webhook.deliver_timeout=Kézbesítési időtúllépés
|
||||||
|
config.webhook.skip_tls_verify=TLS ellenőrzés kihagyása
|
||||||
|
|
||||||
config.git_config=Git konfiguráció
|
config.git_config=Git konfiguráció
|
||||||
config.git_disable_diff_highlight=Különbségi nézetben a szintakszis kiemelés kikapcsolása
|
config.git.disable_diff_highlight=Különbségi szintakszis kiemelésének kikapcsolása
|
||||||
config.git_max_diff_lines=Maximális sorok száma különbségi nézetben (egy fájl esetén)
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=Maximális karakterek száma különbségi nézetben (egy fájl esetén)
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=Maximális fájlok száma különbségi nézetben
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=Szemétgyűjtő (GC) argumentumok
|
config.git.gc_args=Szemétgyűjtő (GC) argumentumok
|
||||||
config.git_migrate_timeout=Migráció időtúllépés
|
config.git.migrate_timeout=Migráció időtúllépés
|
||||||
config.git_mirror_timeout=Tükör frissítési időtúllépés
|
config.git.mirror_timeout=Tükör fetch időtúllépés
|
||||||
config.git_clone_timeout=Migráció időtúllépés
|
config.git.clone_timeout=Klónozási időtúllépés
|
||||||
config.git_pull_timeout=Frissítő időtúllépés
|
config.git.pull_timeout=Lehúzási időtúllépés
|
||||||
config.git_gc_timeout=Szemétgyűjtő (GC) időtúllépés
|
config.git.gc_timeout=Szemétgyűjtés időtúllépése
|
||||||
|
|
||||||
|
config.lfs_config=LFS Beállítások
|
||||||
|
config.lfs.storage=Tárhely
|
||||||
|
config.lfs.objects_path=Objektumok elérési útvonala
|
||||||
|
|
||||||
config.log_config=Naplózás beállítása
|
config.log_config=Naplózás beállítása
|
||||||
|
config.log_file_root_path=Naplófájl gyökérútvonal
|
||||||
config.log_mode=Mód
|
config.log_mode=Mód
|
||||||
config.log_options=Opciók
|
config.log_options=Opciók
|
||||||
|
|
||||||
@@ -1284,7 +1383,6 @@ notices.delete_success=A rendszer értesítések sikeresen törölve.
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=létrehozott tárolót: <a href="%s"> %s</a>
|
create_repo=létrehozott tárolót: <a href="%s"> %s</a>
|
||||||
fork_repo=lemásolta a(z) <a href="%s">%s</a> tárolót
|
|
||||||
rename_repo=átnevezte a <code>%[1]s</code> tárolót <a href="%[2]s">%[3]s</a>-ra
|
rename_repo=átnevezte a <code>%[1]s</code> tárolót <a href="%[2]s">%[3]s</a>-ra
|
||||||
commit_repo=feltöltött a <a href="%[1]s/src/%[2]s">%[3]s</a> ágba ide: <a href="%[1]s">%[4]s</a>
|
commit_repo=feltöltött a <a href="%[1]s/src/%[2]s">%[3]s</a> ágba ide: <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=%d commit összehasonlítása
|
compare_commits=%d commit összehasonlítása
|
||||||
@@ -1301,6 +1399,10 @@ create_branch=létrehozott egy új <a href="%[1]s/src/%[2]s">%[3]s</a> ágat ebb
|
|||||||
delete_branch=törölt egy ágat <code>%[2]s</code> ekkor: <a href="%[1]s">%[3]s</a>
|
delete_branch=törölt egy ágat <code>%[2]s</code> ekkor: <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=feltöltött egy cimkét: <a href="%s/src/%s">%[2]s</a> ide: <a href="%[1]s">%[3]s</a>
|
push_tag=feltöltött egy cimkét: <a href="%s/src/%s">%[2]s</a> ide: <a href="%[1]s">%[3]s</a>
|
||||||
delete_tag=törölt egy cimkét <code>%[2]s</code> ekkor: <a href="%[1]s">%[3]s</a>
|
delete_tag=törölt egy cimkét <code>%[2]s</code> ekkor: <a href="%[1]s">%[3]s</a>
|
||||||
|
fork_repo=lemásolta a(z) <a href="%s">%s</a> tárolót
|
||||||
|
mirror_sync_push=commitok szinkronizálva a <a href="%[1]s/src/%[2]s">%[3]s</a> ágba a <a href="%[1]s">%[4]s</a> tárolóban, tükörről
|
||||||
|
mirror_sync_create=új hivatkozás szinkronizálva: <a href="%s/src/%s">%[2]s</a> a <a href="%[1]s">%[3]s</a> tárolóban, tükörről
|
||||||
|
mirror_sync_delete=szinkronizálva és törölve a <code>%[2]s</code> hivatkozás a <a href="%[1]s">%[3]s</a> tárolóból, tükörről
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=
|
ago=
|
||||||
@@ -1308,20 +1410,21 @@ from_now=mostantól
|
|||||||
now=most
|
now=most
|
||||||
1s=1 másodperce %s
|
1s=1 másodperce %s
|
||||||
1m=1 perce %s
|
1m=1 perce %s
|
||||||
1h=1 órája
|
1h=1 órája %s
|
||||||
1d=1 napja %s
|
1d=1 napja %s
|
||||||
1w=1 hete %s
|
1w=1 hete %s
|
||||||
1mon=1 hónapja %s
|
1mon=1 hónapja %s
|
||||||
1y=1 éve %s
|
1y=1 éve %s
|
||||||
seconds=%d másodperce %s
|
seconds=%d másodperce %s
|
||||||
minutes=%d perce %s
|
minutes=%d perce %s
|
||||||
hours=%d órája
|
hours=%d órája %s
|
||||||
days=%d napja %s
|
days=%d napja %s
|
||||||
weeks=%d hete %s
|
weeks=%d hete %s
|
||||||
months=%d hónapja %s
|
months=%d hónapja %s
|
||||||
years=%d éve %s
|
years=%d éve %s
|
||||||
raw_seconds=másodperc
|
raw_seconds=másodperc
|
||||||
raw_minutes=perc
|
raw_minutes=perc
|
||||||
|
raw_hours=órák
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Húzz ide fájlokat vagy kattints a feltöltéshez.
|
default_message=Húzz ide fájlokat vagy kattints a feltöltéshez.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=Keluar
|
|||||||
sign_up=Daftar
|
sign_up=Daftar
|
||||||
register=Daftar
|
register=Daftar
|
||||||
website=Situs web
|
website=Situs web
|
||||||
version=Versi
|
|
||||||
page=Halaman
|
page=Halaman
|
||||||
template=Templat
|
template=Templat
|
||||||
language=Bahasa
|
language=Bahasa
|
||||||
@@ -44,17 +43,22 @@ issues=Masalah
|
|||||||
|
|
||||||
cancel=Batal
|
cancel=Batal
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Halaman tidak ditemukan
|
||||||
|
internal_server_error=Kesalahan Server Internal
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Instalasi
|
install=Instalasi
|
||||||
title=Langkah-langkah untuk Menjalankan Pertama Kali
|
title=Langkah-langkah untuk Menjalankan Pertama Kali
|
||||||
docker_helper=Jika Anda menjalankan Gogs dalam Docker, silakan baca <a target="_blank" href="%s"> Petunjuk</a> dengan hati-hati sebelum Anda mengubah sesuatu di Halaman ini!
|
docker_helper=Jika Anda menjalankan Gogs dalam Docker, silakan baca <a target="_blank" href="%s"> Petunjuk</a> dengan hati-hati sebelum Anda mengubah sesuatu di Halaman ini!
|
||||||
requite_db_desc=Gogs memerlukan MySQL, PostgreSQL, SQLite3, MSSQL atau TiDB.
|
requite_db_desc=Gogs memerlukan MySQL, PostgreSQL, SQLite3 atau TiDB.
|
||||||
db_title=Pengaturan Basisdata
|
db_title=Pengaturan Basisdata
|
||||||
db_type=Tipe Basisdata
|
db_type=Tipe Basisdata
|
||||||
host=Host
|
host=Host
|
||||||
user=Pengguna
|
user=Pengguna
|
||||||
password=Sandi
|
password=Sandi
|
||||||
db_name=Nama Basisdata
|
db_name=Nama Basisdata
|
||||||
|
db_schema=Skema
|
||||||
db_helper=Harap menggunakan INNODB engine dengan charset utf8_general_ci untuk MySQL.
|
db_helper=Harap menggunakan INNODB engine dengan charset utf8_general_ci untuk MySQL.
|
||||||
ssl_mode=Mode SSL
|
ssl_mode=Mode SSL
|
||||||
path=Path
|
path=Path
|
||||||
@@ -71,7 +75,7 @@ repo_path_helper=Semua repositori Git akan disimpan ke direktori ini.
|
|||||||
run_user=Menjalankan pengguna
|
run_user=Menjalankan pengguna
|
||||||
run_user_helper=Pengguna harus memiliki akses ke path akar repositori dan menjalankan Gogs.
|
run_user_helper=Pengguna harus memiliki akses ke path akar repositori dan menjalankan Gogs.
|
||||||
domain=Domain
|
domain=Domain
|
||||||
domain_helper=Ini mempengaruhi URL klon SSH.
|
domain_helper=Ini memengaruhi URL kloning SSH.
|
||||||
ssh_port=Port SSH
|
ssh_port=Port SSH
|
||||||
ssh_port_helper=Nomor port yang menggunakan SSH server, biarkan kosong untuk menonaktifkan fitur SSH.
|
ssh_port_helper=Nomor port yang menggunakan SSH server, biarkan kosong untuk menonaktifkan fitur SSH.
|
||||||
use_builtin_ssh_server=Menggunakan Builtin SSH Server
|
use_builtin_ssh_server=Menggunakan Builtin SSH Server
|
||||||
@@ -82,8 +86,9 @@ app_url=URL Aplikasi
|
|||||||
app_url_helper=Ini mempengaruhi URL klon HTTP/HTTPS dan di suatu tempat dalam email.
|
app_url_helper=Ini mempengaruhi URL klon HTTP/HTTPS dan di suatu tempat dalam email.
|
||||||
log_root_path=Path log
|
log_root_path=Path log
|
||||||
log_root_path_helper=Direktori untuk menulis berkas log.
|
log_root_path_helper=Direktori untuk menulis berkas log.
|
||||||
enable_console_mode=Mengaktifkan Mode konsol
|
enable_console_mode=Mengaktifkan Mode Konsol
|
||||||
enable_console_mode_popup=Selain mode file, juga mencetak log ke konsol.
|
enable_console_mode_popup=Selain mode file, juga mencetak log ke konsol.
|
||||||
|
default_branch=Default Branch
|
||||||
|
|
||||||
optional_title=Pengaturan opsional
|
optional_title=Pengaturan opsional
|
||||||
email_title=Pengaturan layanan email
|
email_title=Pengaturan layanan email
|
||||||
@@ -122,6 +127,7 @@ run_user_not_match=Pengguna yang sedang menjalankan bukanlah pengguna saat ini:
|
|||||||
smtp_host_missing_port=Alamat Host SMTP hilang di alamat.
|
smtp_host_missing_port=Alamat Host SMTP hilang di alamat.
|
||||||
invalid_smtp_from=SMTP Dari lapangan tidak sesuai: %v
|
invalid_smtp_from=SMTP Dari lapangan tidak sesuai: %v
|
||||||
save_config_failed=Gagal untuk menyimpan konfigurasi: %v
|
save_config_failed=Gagal untuk menyimpan konfigurasi: %v
|
||||||
|
init_failed=Gagal melakukan inisialiasi aplikasi: %v
|
||||||
invalid_admin_setting=Pengaturan akun admin tidak valid: %v
|
invalid_admin_setting=Pengaturan akun admin tidak valid: %v
|
||||||
install_success=Selamat datang! Kami senang bahwa Anda memilih Gogs, bersenang-senang dan berhati-hatilah.
|
install_success=Selamat datang! Kami senang bahwa Anda memilih Gogs, bersenang-senang dan berhati-hatilah.
|
||||||
invalid_log_root_path=Path akar log tidak valid: %v
|
invalid_log_root_path=Path akar log tidak valid: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=Sudah memiliki account? Sign in sekarang!
|
|||||||
social_register_hepler_msg=Sudah memiliki account? Ikat sekarang!
|
social_register_hepler_msg=Sudah memiliki account? Ikat sekarang!
|
||||||
disable_register_prompt=Maaf, pendaftaran telah dinonaktifkan. Hubungi administrator situs.
|
disable_register_prompt=Maaf, pendaftaran telah dinonaktifkan. Hubungi administrator situs.
|
||||||
disable_register_mail=Maaf, konfirmasi pendaftaran melalui email telah dinonaktifkan.
|
disable_register_mail=Maaf, konfirmasi pendaftaran melalui email telah dinonaktifkan.
|
||||||
|
auth_source=Sumber Autentikasi
|
||||||
|
local=Lokal
|
||||||
remember_me=Ingat saya
|
remember_me=Ingat saya
|
||||||
forgot_password=Lupa Sandi
|
forgot_password=Lupa Sandi
|
||||||
forget_password=Lupa sandi?
|
forget_password=Lupa sandi?
|
||||||
@@ -158,7 +166,7 @@ sign_up_now=Membutuhkan akun? Daftar sekarang.
|
|||||||
confirmation_mail_sent_prompt=Email konfirmasi baru telah terkirim ke <b>%s</b>, silakan cek inbox Anda dalam waktu %d jam untuk menyelesaikan proses pendaftaran.
|
confirmation_mail_sent_prompt=Email konfirmasi baru telah terkirim ke <b>%s</b>, silakan cek inbox Anda dalam waktu %d jam untuk menyelesaikan proses pendaftaran.
|
||||||
active_your_account=Aktifkan Akun Anda
|
active_your_account=Aktifkan Akun Anda
|
||||||
prohibit_login=Login tidak diperbolehkan
|
prohibit_login=Login tidak diperbolehkan
|
||||||
prohibit_login_desc=Account Anda tidak diperbolehkan untuk login, silahkan hubungi admin situs.
|
prohibit_login_desc=Akun Anda tidak diperbolehkan untuk masuk, silakan hubungi admin situs.
|
||||||
resent_limit_prompt=Maaf, Anda telah meminta email aktivasi beberapa saat lalu. Silakan tunggu 3 menit kemudian untuk dapat mencoba lagi.
|
resent_limit_prompt=Maaf, Anda telah meminta email aktivasi beberapa saat lalu. Silakan tunggu 3 menit kemudian untuk dapat mencoba lagi.
|
||||||
has_unconfirmed_mail=Hi %s, Anda memiliki alamat email yang belum terkonfirmasi (<b>%s</b>). Jika Anda belum menerima email konfirmasi atau perlu untuk mengirim ulang yang baru, silakan klik pada tombol di bawah ini.
|
has_unconfirmed_mail=Hi %s, Anda memiliki alamat email yang belum terkonfirmasi (<b>%s</b>). Jika Anda belum menerima email konfirmasi atau perlu untuk mengirim ulang yang baru, silakan klik pada tombol di bawah ini.
|
||||||
resend_mail=Klik di sini untuk mengirim kembali email aktivasi
|
resend_mail=Klik di sini untuk mengirim kembali email aktivasi
|
||||||
@@ -169,10 +177,10 @@ reset_password_helper=Klik di sini untuk menyetel ulang sandi
|
|||||||
password_too_short=Panjang sandi tidak bisa kurang dari 6 huruf.
|
password_too_short=Panjang sandi tidak bisa kurang dari 6 huruf.
|
||||||
non_local_account=Akun non-lokal tidak dapat mengganti password lewat Gogs.
|
non_local_account=Akun non-lokal tidak dapat mengganti password lewat Gogs.
|
||||||
|
|
||||||
login_two_factor=Dua faktor otentikasi
|
login_two_factor=Autentikasi Dua Faktor
|
||||||
login_two_factor_passcode=Kode otentikasi
|
login_two_factor_passcode=Kode Akses Autentikasi
|
||||||
login_two_factor_enter_recovery_code=Masukkan kode pemulihan dua faktor
|
login_two_factor_enter_recovery_code=Masukkan kode pemulihan dua faktor
|
||||||
login_two_factor_recovery=Dua faktor pemulihan
|
login_two_factor_recovery=Pemulihan Dua Faktor
|
||||||
login_two_factor_recovery_code=Kode pemulihan
|
login_two_factor_recovery_code=Kode pemulihan
|
||||||
login_two_factor_enter_passcode=Masukkan kode akses dua faktor
|
login_two_factor_enter_passcode=Masukkan kode akses dua faktor
|
||||||
login_two_factor_invalid_recovery_code=Kode pemulihan telah digunakan atau tidak sesuai.
|
login_two_factor_invalid_recovery_code=Kode pemulihan telah digunakan atau tidak sesuai.
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=Nama organisasi telah diambil.
|
|||||||
team_name_been_taken=Nama tim telah diambil.
|
team_name_been_taken=Nama tim telah diambil.
|
||||||
email_been_used=Alamat email telah digunakan.
|
email_been_used=Alamat email telah digunakan.
|
||||||
username_password_incorrect=Nama pengguna atau sandi tidak benar.
|
username_password_incorrect=Nama pengguna atau sandi tidak benar.
|
||||||
|
auth_source_mismatch=Sumber autentikasi yang dipilih tidak terkait dengan pengguna.
|
||||||
enterred_invalid_repo_name=Pastikan bahwa nama repositori yang Anda masukkan benar.
|
enterred_invalid_repo_name=Pastikan bahwa nama repositori yang Anda masukkan benar.
|
||||||
enterred_invalid_owner_name=Pastikan bahwa nama pemilik yang Anda masukkan benar.
|
enterred_invalid_owner_name=Pastikan bahwa nama pemilik yang Anda masukkan benar.
|
||||||
enterred_invalid_password=Harap pastikan bahwa sandi yang Anda masukkan benar.
|
enterred_invalid_password=Harap pastikan bahwa sandi yang Anda masukkan benar.
|
||||||
@@ -237,7 +246,7 @@ last_org_owner=Menghapus pengguna terakhir dari tim pemilik tidak diperbolehkan,
|
|||||||
|
|
||||||
invalid_ssh_key=Maaf, kami tidak dapat memverifikasi kunci SSH Anda: %s
|
invalid_ssh_key=Maaf, kami tidak dapat memverifikasi kunci SSH Anda: %s
|
||||||
unable_verify_ssh_key=Gogs tidak dapat memverifikasi kunci SSH Anda, tetapi kita menganggap bahwa itu sah, silakan periksa kembali.
|
unable_verify_ssh_key=Gogs tidak dapat memverifikasi kunci SSH Anda, tetapi kita menganggap bahwa itu sah, silakan periksa kembali.
|
||||||
auth_failed=Otentikasi gagal: %v
|
auth_failed=Autentikasi gagal: %v
|
||||||
|
|
||||||
still_own_repo=Akun Anda masih memiliki kepemilikan atas setidaknya satu repositori, Anda harus menghapus atau mentransfernya terlebih dahulu.
|
still_own_repo=Akun Anda masih memiliki kepemilikan atas setidaknya satu repositori, Anda harus menghapus atau mentransfernya terlebih dahulu.
|
||||||
still_has_org=Akun Anda masih memiliki keanggotaan dalam setidaknya satu organisasi, Anda harus meninggalkan atau menghapus keanggotaan Anda terlebih dahulu.
|
still_has_org=Akun Anda masih memiliki keanggotaan dalam setidaknya satu organisasi, Anda harus meninggalkan atau menghapus keanggotaan Anda terlebih dahulu.
|
||||||
@@ -256,8 +265,7 @@ following=Mengikuti
|
|||||||
follow=Ikuti
|
follow=Ikuti
|
||||||
unfollow=Berhenti mengikuti
|
unfollow=Berhenti mengikuti
|
||||||
|
|
||||||
form.name_reserved=Username '%s' tidak tersedia.
|
form.name_not_allowed=Nama pengguna atau pola %q tidak diizinkan.
|
||||||
form.name_pattern_not_allowed=Pola username '%s' tidak diperbolehkan.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Profil
|
profile=Profil
|
||||||
@@ -271,7 +279,7 @@ applications=Aplikasi
|
|||||||
delete=Menghapus akun
|
delete=Menghapus akun
|
||||||
|
|
||||||
public_profile=Profil publik
|
public_profile=Profil publik
|
||||||
profile_desc=Alamat email Anda bersifat publik dan akan digunakan untuk setiap akun pemberitahuan terkait, dan setiap operasi berbasis web yang dilakukan melalui situs.
|
profile_desc=Alamat email Anda bersifat publik dan akan digunakan untuk setiap akun yang terkait pemberitahuan dan setiap operasi berbasis web yang dilakukan melalui situs.
|
||||||
password_username_disabled=Pengguna jenis bebas-lokal tidak diperbolehkan untuk mengubah nama pengguna mereka.
|
password_username_disabled=Pengguna jenis bebas-lokal tidak diperbolehkan untuk mengubah nama pengguna mereka.
|
||||||
full_name=Nama lengkap
|
full_name=Nama lengkap
|
||||||
website=Situs web
|
website=Situs web
|
||||||
@@ -285,7 +293,7 @@ cancel=Batal
|
|||||||
|
|
||||||
lookup_avatar_by_mail=Cari avatar dari email
|
lookup_avatar_by_mail=Cari avatar dari email
|
||||||
federated_avatar_lookup=Aktifkan Pencarian Avatar Representasi
|
federated_avatar_lookup=Aktifkan Pencarian Avatar Representasi
|
||||||
enable_custom_avatar=Mengaktifkan avatar kustom
|
enable_custom_avatar=Gunakan Avatar Kostum
|
||||||
choose_new_avatar=Pilih avatar baru
|
choose_new_avatar=Pilih avatar baru
|
||||||
update_avatar=Ubah pengaturan avatar
|
update_avatar=Ubah pengaturan avatar
|
||||||
delete_current_avatar=Hapus avatar terkini
|
delete_current_avatar=Hapus avatar terkini
|
||||||
@@ -309,6 +317,7 @@ delete_email=Hapus
|
|||||||
email_deletion=Penghapusan email
|
email_deletion=Penghapusan email
|
||||||
email_deletion_desc=Menghapus alamat email ini akan menghapus informasi yang berhubungan dengan akun Anda. Lanjutkan?
|
email_deletion_desc=Menghapus alamat email ini akan menghapus informasi yang berhubungan dengan akun Anda. Lanjutkan?
|
||||||
email_deletion_success=Email telah berhasil diperbarui!
|
email_deletion_success=Email telah berhasil diperbarui!
|
||||||
|
email_deletion_primary=Tidak bisa menghapus email utama
|
||||||
add_new_email=Menambah alamat email baru
|
add_new_email=Menambah alamat email baru
|
||||||
add_email=Tambahkan email
|
add_email=Tambahkan email
|
||||||
add_email_confirmation_sent=Email konfirmasi baru telah dikirim ke '%s', silakan cek inboxmu dalam waktu %d jam untuk menyelesaikan proses konfirmasi.
|
add_email_confirmation_sent=Email konfirmasi baru telah dikirim ke '%s', silakan cek inboxmu dalam waktu %d jam untuk menyelesaikan proses konfirmasi.
|
||||||
@@ -317,7 +326,7 @@ add_email_success=Alamat email barumu telah berhasil ditambahkan.
|
|||||||
manage_ssh_keys=Kelola Kunci SSH
|
manage_ssh_keys=Kelola Kunci SSH
|
||||||
add_key=Tambah kunci
|
add_key=Tambah kunci
|
||||||
ssh_desc=Ini adalah daftar kunci SSH yang terkait dengan akun Anda. Karena kunci ini memungkinkan seseorang menggunakannya untuk mendapatkan akses ke repositori Anda, sangat penting bagi Anda untuk memastikan Anda mengenalinya.
|
ssh_desc=Ini adalah daftar kunci SSH yang terkait dengan akun Anda. Karena kunci ini memungkinkan seseorang menggunakannya untuk mendapatkan akses ke repositori Anda, sangat penting bagi Anda untuk memastikan Anda mengenalinya.
|
||||||
ssh_helper=<strong>Nggak tau gimana?</strong> Cek arahannya GitHub buat<a href="%s">bikin kunci SSH-mu sendiri</a> atau benerin <a href="%s">masalah yang umum</a> yang mungkin sedang kamu alami dengan SSH-mu.
|
ssh_helper=<strong>Tidak tahu caranya?</strong> Kunjungi petunjuk GitHub untuk <a href="%s">membuat kunci SSH Anda sendiri</a> atau perbaiki <a href="%s">masalah umum</a> yang mungkin sedang Anda alami dengan SSH.
|
||||||
add_new_key=Tambah kunci SSH
|
add_new_key=Tambah kunci SSH
|
||||||
ssh_key_been_used=Public key telah digunakan.
|
ssh_key_been_used=Public key telah digunakan.
|
||||||
ssh_key_name_used=Public key dengan nama itu udah pernah ada.
|
ssh_key_name_used=Public key dengan nama itu udah pernah ada.
|
||||||
@@ -334,7 +343,7 @@ no_activity=Tidak ada aktifitas terakhir
|
|||||||
key_state_desc=Kunci ini digunakan dalam 7 hari terakhir
|
key_state_desc=Kunci ini digunakan dalam 7 hari terakhir
|
||||||
token_state_desc=Token ini digunakan dalam 7 hari terakhir
|
token_state_desc=Token ini digunakan dalam 7 hari terakhir
|
||||||
|
|
||||||
two_factor=Otentikasi dua faktor
|
two_factor=Autentikasi dua faktor
|
||||||
two_factor_status=Status:
|
two_factor_status=Status:
|
||||||
two_factor_on=Nyala
|
two_factor_on=Nyala
|
||||||
two_factor_off=Mati
|
two_factor_off=Mati
|
||||||
@@ -342,26 +351,28 @@ two_factor_enable=Aktifkan
|
|||||||
two_factor_disable=Nonaktifkan
|
two_factor_disable=Nonaktifkan
|
||||||
two_factor_view_recovery_codes=Lihat dan simpan <a href="%s%s"> kode pemulihan anda</a> di tempat yang aman. Anda dapat menggunakannya sebagai kode akses jika Anda kehilangan akses otentikasi aplikasi.
|
two_factor_view_recovery_codes=Lihat dan simpan <a href="%s%s"> kode pemulihan anda</a> di tempat yang aman. Anda dapat menggunakannya sebagai kode akses jika Anda kehilangan akses otentikasi aplikasi.
|
||||||
two_factor_http=Untuk operasi HTTP/HTTPS, Anda tidak lagi mampu menggunakan nama pengguna dan kata sandi. Silakan membuat dan menggunakan <a href="%[1]s%[2]s"> Token akses pribadi</a> sebagai kredensial Anda, misalnya <code>%[3]s</code>.
|
two_factor_http=Untuk operasi HTTP/HTTPS, Anda tidak lagi mampu menggunakan nama pengguna dan kata sandi. Silakan membuat dan menggunakan <a href="%[1]s%[2]s"> Token akses pribadi</a> sebagai kredensial Anda, misalnya <code>%[3]s</code>.
|
||||||
two_factor_enable_title=Aktifkan Otentikasi Dua-faktor
|
two_factor_enable_title=Aktifkan Autentikasi Dua Faktor
|
||||||
two_factor_scan_qr=Silakan gunakan aplikasi autentikasi Anda untuk memindai gambar:
|
two_factor_scan_qr=Silakan gunakan aplikasi autentikasi Anda untuk memindai gambar:
|
||||||
two_factor_or_enter_secret=Atau masukkan rahasianya:
|
two_factor_or_enter_secret=Atau masukkan rahasianya:
|
||||||
two_factor_then_enter_passcode=Masukan kode akses:
|
two_factor_then_enter_passcode=Kemudian, masukkan kode akses:
|
||||||
two_factor_verify=Verifikasi
|
two_factor_verify=Verifikasi
|
||||||
two_factor_invalid_passcode=Kode akses yang Anda masukan tidak sah, silahkan coba lagi!
|
two_factor_invalid_passcode=Kode akses yang Anda masukkan tidak sah, silakan coba lagi!
|
||||||
two_factor_enable_error=Aktifkan Autentikasi dua faktor gagal: %v
|
two_factor_reused_passcode=Kode akses yang Anda masukkan sudah digunakan, coba yang lain!
|
||||||
two_factor_enable_success=Autentikasi dua faktor telah memungkinkan akun Anda berhasil!
|
two_factor_enable_error=Gagal mengaktifkan autentikasi Dua Faktor: %v
|
||||||
two_factor_recovery_codes_title=Kode Pemulihan Otentikasi dua faktor
|
two_factor_enable_success=Autentikasi Dua faktor untuk akun Anda berhasil diaktifkan!
|
||||||
|
two_factor_recovery_codes_title=Kode Pemulihan Autentikasi Dua Faktor
|
||||||
two_factor_recovery_codes_desc=Kode pemulihan digunakan saat Anda sementara kehilangan akses ke aplikasi autentikasi Anda. Setiap kode pemulihan hanya dapat digunakan satu kali, <b> simpan kode ini di tempat yang aman </ b>.
|
two_factor_recovery_codes_desc=Kode pemulihan digunakan saat Anda sementara kehilangan akses ke aplikasi autentikasi Anda. Setiap kode pemulihan hanya dapat digunakan satu kali, <b> simpan kode ini di tempat yang aman </ b>.
|
||||||
two_factor_regenerate_recovery_codes=Regenerate Recovery Codes
|
two_factor_regenerate_recovery_codes=Regenerate Recovery Codes
|
||||||
two_factor_regenerate_recovery_codes_error=Regenerasi kode pemulihan gagal: %v
|
two_factor_regenerate_recovery_codes_error=Regenerasi kode pemulihan gagal: %v
|
||||||
two_factor_regenerate_recovery_codes_success=Kode pemulihan baru telah berhasil dibuat!
|
two_factor_regenerate_recovery_codes_success=Kode pemulihan baru telah berhasil dibuat!
|
||||||
two_factor_disable_title=Nonaktifkan Otentikasi Dua Faktor
|
two_factor_disable_title=Nonaktifkan Autentikasi Dua Faktor
|
||||||
two_factor_disable_desc=Tingkat keamanan akun Anda akan menurun setelah autentikasi dua faktor dinonaktifkan. Apakah Anda ingin melanjutkan?
|
two_factor_disable_desc=Tingkat keamanan akun Anda akan menurun setelah autentikasi dua faktor dinonaktifkan. Apakah Anda ingin melanjutkan?
|
||||||
two_factor_disable_success=Autentikasi dua faktor telah berhasil dilakukan!
|
two_factor_disable_success=Autentikasi dua faktor telah berhasil dilakukan!
|
||||||
|
|
||||||
manage_access_token=Kelola Akses Token pribadi
|
manage_access_token=Kelola Akses Token pribadi
|
||||||
generate_new_token=Buat Token Baru
|
generate_new_token=Buat Token Baru
|
||||||
tokens_desc=Token yang Anda buat dapat digunakan untuk mengakses API-nya Gogs.
|
tokens_desc=Token yang Anda buat dapat digunakan untuk mengakses API-nya Gogs.
|
||||||
|
access_token_tips=Personal access token mungkin digunakan sebagai username atau password. Sangatn direkomendasikan untuk menggunakan "x-access-token" sebagai username atau personal access token sebagai password untuk aplikasi git.
|
||||||
new_token_desc=Setiap token akan memiliki akses penuh ke akunmu.
|
new_token_desc=Setiap token akan memiliki akses penuh ke akunmu.
|
||||||
token_name=Nama Token
|
token_name=Nama Token
|
||||||
generate_token=Buat Token
|
generate_token=Buat Token
|
||||||
@@ -370,6 +381,7 @@ delete_token=Hapus
|
|||||||
access_token_deletion=Penghapusan Akses Token Pribadi
|
access_token_deletion=Penghapusan Akses Token Pribadi
|
||||||
access_token_deletion_desc=Hapus token akses pribadi ini akan menghapus semua akses aplikasi yang terkait. Apakah Anda ingin melanjutkan?
|
access_token_deletion_desc=Hapus token akses pribadi ini akan menghapus semua akses aplikasi yang terkait. Apakah Anda ingin melanjutkan?
|
||||||
delete_token_success=Token akses pribadi telah berhasil dihapus! Jangan lupa untuk mengupdate aplikasi anda juga.
|
delete_token_success=Token akses pribadi telah berhasil dihapus! Jangan lupa untuk mengupdate aplikasi anda juga.
|
||||||
|
token_name_exists=Token dengan nama yang sama telah digunakan.
|
||||||
|
|
||||||
orgs.none=Anda bukan anggota organisasi manapun.
|
orgs.none=Anda bukan anggota organisasi manapun.
|
||||||
orgs.leave_title=Meninggalkan organisasi
|
orgs.leave_title=Meninggalkan organisasi
|
||||||
@@ -391,7 +403,9 @@ owner=Pemilik
|
|||||||
repo_name=Nama Repositori
|
repo_name=Nama Repositori
|
||||||
repo_name_helper=Nama repositori yang baik biasanya terdiri dari kata kunci yang pendek, mudah diingat dan unik.
|
repo_name_helper=Nama repositori yang baik biasanya terdiri dari kata kunci yang pendek, mudah diingat dan unik.
|
||||||
visibility=Visibilitas
|
visibility=Visibilitas
|
||||||
|
unlisted=Tidak terdaftar
|
||||||
visiblity_helper=Repositori ini <span class="ui red text">Pribadi</span>
|
visiblity_helper=Repositori ini <span class="ui red text">Pribadi</span>
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=Situs admin telah memaksa semua repositori baru menjadi <span class="ui red text">Pribadi</span>
|
visiblity_helper_forced=Situs admin telah memaksa semua repositori baru menjadi <span class="ui red text">Pribadi</span>
|
||||||
visiblity_fork_helper=(Perubahan nilai ini akan mempengaruhi semua garpu)
|
visiblity_fork_helper=(Perubahan nilai ini akan mempengaruhi semua garpu)
|
||||||
clone_helper=Butuh bantuan kloning? Kunjungi <a target="_blank" href=" %s ">Bantuan</a>!
|
clone_helper=Butuh bantuan kloning? Kunjungi <a target="_blank" href=" %s ">Bantuan</a>!
|
||||||
@@ -417,10 +431,11 @@ mirror_last_synced=Terakhir disinkronkan
|
|||||||
watchers=Watchers
|
watchers=Watchers
|
||||||
stargazers=Stargazers
|
stargazers=Stargazers
|
||||||
forks=Forks
|
forks=Forks
|
||||||
|
repo_description_helper=Deskripsi repositori maksimal 512 karakter.
|
||||||
|
repo_description_length=Karakter tersedia
|
||||||
|
|
||||||
form.reach_limit_of_creation=Pemiliknya telah mencapai batas pembuatan maksimum %d repositori.
|
form.reach_limit_of_creation=Pemiliknya telah mencapai batas pembuatan maksimum %d repositori.
|
||||||
form.name_reserved=Nama repositori '%s' dicadangkan.
|
form.name_not_allowed=Nama atau pola repositori %q tidak diizinkan.
|
||||||
form.name_pattern_not_allowed=Pola nama repositori '%s' tidak diperbolehkan.
|
|
||||||
|
|
||||||
need_auth=Butuh Otorisasi
|
need_auth=Butuh Otorisasi
|
||||||
migrate_type=Jenis migrasi
|
migrate_type=Jenis migrasi
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=Ini bisa berupa HTTP/HTTPS/GIT URL.
|
|||||||
migrate.clone_address_desc_import_local=Anda juga diizinkan untuk memindahkan repositori dengan jalur server lokal.
|
migrate.clone_address_desc_import_local=Anda juga diizinkan untuk memindahkan repositori dengan jalur server lokal.
|
||||||
migrate.permission_denied=Anda tidak diperbolehkan mengimpor repositori lokal.
|
migrate.permission_denied=Anda tidak diperbolehkan mengimpor repositori lokal.
|
||||||
migrate.invalid_local_path=Jalur lokal tidak valid, tidak ada atau tidaknya sebuah direktori.
|
migrate.invalid_local_path=Jalur lokal tidak valid, tidak ada atau tidaknya sebuah direktori.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=Migrasi gagal: %v
|
migrate.failed=Migrasi gagal: %v
|
||||||
|
|
||||||
mirror_from=cermin dari
|
mirror_from=cermin dari
|
||||||
@@ -447,7 +463,7 @@ fork=Fork
|
|||||||
|
|
||||||
no_desc=Tidak Ada Deskripsi
|
no_desc=Tidak Ada Deskripsi
|
||||||
quick_guide=Petunjuk Cepat
|
quick_guide=Petunjuk Cepat
|
||||||
clone_this_repo=Klon repositori ini
|
clone_this_repo=Kloning repositori ini
|
||||||
create_new_repo_command=Buat repositori baru di command line
|
create_new_repo_command=Buat repositori baru di command line
|
||||||
push_exist_repo=Dorong repositori yang ada dari baris perintah
|
push_exist_repo=Dorong repositori yang ada dari baris perintah
|
||||||
bare_message=Ini repositori tidak memiliki konten apa pun.
|
bare_message=Ini repositori tidak memiliki konten apa pun.
|
||||||
@@ -459,7 +475,7 @@ filter_branch_and_tag=Filter cabang atau tag
|
|||||||
branches=Ranting
|
branches=Ranting
|
||||||
tags=Tag
|
tags=Tag
|
||||||
issues=Masalah
|
issues=Masalah
|
||||||
pulls=Tarik Permintaan
|
pulls=Permintaan Tarik
|
||||||
labels=Label
|
labels=Label
|
||||||
milestones=Tonggak sejarah
|
milestones=Tonggak sejarah
|
||||||
commits=Komitmen
|
commits=Komitmen
|
||||||
@@ -478,6 +494,8 @@ branches.stale_branches=Cabang Basi
|
|||||||
branches.all=Semua Cabang
|
branches.all=Semua Cabang
|
||||||
branches.updated_by=Diperbarui %[1]s oleh %[2]s
|
branches.updated_by=Diperbarui %[1]s oleh %[2]s
|
||||||
branches.change_default_branch=Ubah Cabang Default
|
branches.change_default_branch=Ubah Cabang Default
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Berkas baru
|
editor.new_file=Berkas baru
|
||||||
editor.upload_file=Unggah Berkas
|
editor.upload_file=Unggah Berkas
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=Konten file telah berubah sejak Anda mulai men
|
|||||||
editor.file_already_exists=File dengan nama '%s' sudah ada di repositori ini.
|
editor.file_already_exists=File dengan nama '%s' sudah ada di repositori ini.
|
||||||
editor.no_changes_to_show=Tidak ada perubahan untuk ditunjukkan.
|
editor.no_changes_to_show=Tidak ada perubahan untuk ditunjukkan.
|
||||||
editor.fail_to_update_file=Gagal memperbarui / membuat file '%s' dengan error: %v
|
editor.fail_to_update_file=Gagal memperbarui / membuat file '%s' dengan error: %v
|
||||||
|
editor.fail_to_delete_file=Gagal menghapus file '%s' dengan error: %v
|
||||||
editor.add_subdir=Tambahkan subdirektori...
|
editor.add_subdir=Tambahkan subdirektori...
|
||||||
editor.unable_to_upload_files=Gagal mengunggah file ke '%s' dengan kesalahan: %v
|
editor.unable_to_upload_files=Gagal mengunggah file ke '%s' dengan kesalahan: %v
|
||||||
editor.upload_files_to_dir=Upload file ke '%s'
|
editor.upload_files_to_dir=Upload file ke '%s'
|
||||||
@@ -634,6 +653,7 @@ pulls.cannot_auto_merge_desc=Permintaan tarik ini tidak bisa digabungkan secara
|
|||||||
pulls.cannot_auto_merge_helper=Silahkan bergabung secara manual untuk menyelesaikan konflik.
|
pulls.cannot_auto_merge_helper=Silahkan bergabung secara manual untuk menyelesaikan konflik.
|
||||||
pulls.create_merge_commit=Membuat komit penggabungan
|
pulls.create_merge_commit=Membuat komit penggabungan
|
||||||
pulls.rebase_before_merging=Rebase sebelum penggabungan
|
pulls.rebase_before_merging=Rebase sebelum penggabungan
|
||||||
|
pulls.commit_description=Deskripsi Commit
|
||||||
pulls.merge_pull_request=Permintaan tarik gabungan
|
pulls.merge_pull_request=Permintaan tarik gabungan
|
||||||
pulls.open_unmerged_pull_exists='Anda tidak dapat melakukan operasi membuka kembali karena sudah ada permintaan tarik terbuka (#%d) dari repositori yang sama dengan penggabungan informasi yang sama dan menunggu penggabungan. '
|
pulls.open_unmerged_pull_exists='Anda tidak dapat melakukan operasi membuka kembali karena sudah ada permintaan tarik terbuka (#%d) dari repositori yang sama dengan penggabungan informasi yang sama dan menunggu penggabungan. '
|
||||||
pulls.delete_branch=Menghapus cabang
|
pulls.delete_branch=Menghapus cabang
|
||||||
@@ -738,7 +758,7 @@ settings.tracker_issue_style=Isu Penamaan Tracker Isu Eksternal:
|
|||||||
settings.tracker_issue_style.numeric=Numerik
|
settings.tracker_issue_style.numeric=Numerik
|
||||||
settings.tracker_issue_style.alphanumeric=Alfanumerik
|
settings.tracker_issue_style.alphanumeric=Alfanumerik
|
||||||
settings.tracker_url_format_desc=Anda dapat menggunakan placeholder <code>{user}{repo}{index</code> untuk nama pengguna, nama repositori dan indeks masalah.
|
settings.tracker_url_format_desc=Anda dapat menggunakan placeholder <code>{user}{repo}{index</code> untuk nama pengguna, nama repositori dan indeks masalah.
|
||||||
settings.pulls_desc=Aktifkan permintaan tarik untuk menerima kontribusi publik
|
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches
|
||||||
settings.pulls.ignore_whitespace=Abaikan perubahan di spasi
|
settings.pulls.ignore_whitespace=Abaikan perubahan di spasi
|
||||||
settings.pulls.allow_rebase_merge=Izinkan gunakan rebase untuk menggabungkan komit
|
settings.pulls.allow_rebase_merge=Izinkan gunakan rebase untuk menggabungkan komit
|
||||||
settings.danger_zone=Zona Bahaya
|
settings.danger_zone=Zona Bahaya
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=Pengguna ini tidak lagi memiliki akses kolab
|
|||||||
settings.remove_collaborator_success=Kolaborator telah dihapus.
|
settings.remove_collaborator_success=Kolaborator telah dihapus.
|
||||||
settings.search_user_placeholder=Cari pengguna...
|
settings.search_user_placeholder=Cari pengguna...
|
||||||
settings.org_not_allowed_to_be_collaborator=Organisasi tidak diperbolehkan untuk ditambahkan sebagai kolaborator.
|
settings.org_not_allowed_to_be_collaborator=Organisasi tidak diperbolehkan untuk ditambahkan sebagai kolaborator.
|
||||||
settings.add_webhook=Tambahkan Webhook
|
|
||||||
settings.hooks_desc=Webhooks seperti pemicu peristiwa HTTP POST dasar. Kapan pun terjadi sesuatu di Gog, kami akan menangani pemberitahuan tersebut ke host target yang Anda tentukan. Pelajari lebih lanjut di <a target="_blank" href=" %s "> Panduan Webhooks </a> ini.
|
settings.hooks_desc=Webhooks seperti pemicu peristiwa HTTP POST dasar. Kapan pun terjadi sesuatu di Gog, kami akan menangani pemberitahuan tersebut ke host target yang Anda tentukan. Pelajari lebih lanjut di <a target="_blank" href=" %s "> Panduan Webhooks </a> ini.
|
||||||
|
settings.webhooks.add_new=Add a new webhook:
|
||||||
|
settings.webhooks.choose_a_type=Pilih jenis...
|
||||||
|
settings.add_webhook=Tambahkan Webhook
|
||||||
settings.webhook_deletion=Hapus Webhook
|
settings.webhook_deletion=Hapus Webhook
|
||||||
settings.webhook_deletion_desc=Hapus halaman web ini akan menghapus informasinya dan semua riwayat pengiriman. Apakah Anda ingin melanjutkan?
|
settings.webhook_deletion_desc=Hapus halaman web ini akan menghapus informasinya dan semua riwayat pengiriman. Apakah Anda ingin melanjutkan?
|
||||||
settings.webhook_deletion_success=Webhook telah berhasil dihapus!
|
settings.webhook_deletion_success=Webhook telah berhasil dihapus!
|
||||||
@@ -792,6 +814,8 @@ settings.webhook.response=Tanggapan
|
|||||||
settings.webhook.headers=Header
|
settings.webhook.headers=Header
|
||||||
settings.webhook.payload=Payload
|
settings.webhook.payload=Payload
|
||||||
settings.webhook.body=Tubuh
|
settings.webhook.body=Tubuh
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=Git Hooks didukung oleh Git itu sendiri, Anda dapat mengedit file kait yang didukung dalam daftar di bawah untuk melakukan operasi kustom.
|
settings.githooks_desc=Git Hooks didukung oleh Git itu sendiri, Anda dapat mengedit file kait yang didukung dalam daftar di bawah untuk melakukan operasi kustom.
|
||||||
settings.githook_edit_desc=Jika hook tidak aktif, konten sampel akan disajikan. Meninggalkan konten ke nilai kosong akan menonaktifkan hook ini.
|
settings.githook_edit_desc=Jika hook tidak aktif, konten sampel akan disajikan. Meninggalkan konten ke nilai kosong akan menonaktifkan hook ini.
|
||||||
settings.githook_name=Nama Hook
|
settings.githook_name=Nama Hook
|
||||||
@@ -819,10 +843,10 @@ settings.event_push=Dorong
|
|||||||
settings.event_push_desc=Git mendorong ke repositori
|
settings.event_push_desc=Git mendorong ke repositori
|
||||||
settings.event_issues=Masalah
|
settings.event_issues=Masalah
|
||||||
settings.event_issues_desc=Masalah dibuka, ditutup, dibuka kembali, diedit, ditugaskan, belum ditetapkan, label diperbarui, label dihapus, dirham, atau demilestoned.
|
settings.event_issues_desc=Masalah dibuka, ditutup, dibuka kembali, diedit, ditugaskan, belum ditetapkan, label diperbarui, label dihapus, dirham, atau demilestoned.
|
||||||
settings.event_issue_comment=Isu Komentar
|
|
||||||
settings.event_issue_comment_desc=Komentar terbitan dibuat, diedit, atau dihapus.
|
|
||||||
settings.event_pull_request=Permintaan tarik
|
settings.event_pull_request=Permintaan tarik
|
||||||
settings.event_pull_request_desc=Tarik permintaan dibuka, ditutup, dibuka kembali, diedit, ditugaskan, belum ditetapkan, label diperbarui, label dibersihkan, dirender, diremilahkan, atau disinkronkan.
|
settings.event_pull_request_desc=Tarik permintaan dibuka, ditutup, dibuka kembali, diedit, ditugaskan, belum ditetapkan, label diperbarui, label dibersihkan, dirender, diremilahkan, atau disinkronkan.
|
||||||
|
settings.event_issue_comment=Isu Komentar
|
||||||
|
settings.event_issue_comment_desc=Komentar terbitan dibuat, diedit, atau dihapus.
|
||||||
settings.event_release=Melepaskan
|
settings.event_release=Melepaskan
|
||||||
settings.event_release_desc=Rilis diterbitkan dalam repositori.
|
settings.event_release_desc=Rilis diterbitkan dalam repositori.
|
||||||
settings.active=Aktif
|
settings.active=Aktif
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=Kunci penerapan baru '%s' telah berhasil ditambahkan!
|
|||||||
settings.deploy_key_deletion=Hapus Kunci Deploy
|
settings.deploy_key_deletion=Hapus Kunci Deploy
|
||||||
settings.deploy_key_deletion_desc=Menghapus kunci penggelaran ini akan menghapus semua akses yang terkait untuk repositori ini. Apakah Anda ingin melanjutkan?
|
settings.deploy_key_deletion_desc=Menghapus kunci penggelaran ini akan menghapus semua akses yang terkait untuk repositori ini. Apakah Anda ingin melanjutkan?
|
||||||
settings.deploy_key_deletion_success=Kunci penempatan telah berhasil dihapus!
|
settings.deploy_key_deletion_success=Kunci penempatan telah berhasil dihapus!
|
||||||
|
settings.description_desc=Description of repository. Maximum 512 characters length.
|
||||||
|
settings.description_length=Karakter tersedia
|
||||||
|
|
||||||
diff.browse_source=Jelajahi Sumber
|
diff.browse_source=Jelajahi Sumber
|
||||||
diff.parent=induk
|
diff.parent=induk
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=Anda akan menggunakan nama ini lagi tim ini dalam percakapan.
|
|||||||
team_desc_helper=Apa tentang semua tim ini?
|
team_desc_helper=Apa tentang semua tim ini?
|
||||||
team_permission_desc=Apa tingkat izin ini harus?
|
team_permission_desc=Apa tingkat izin ini harus?
|
||||||
|
|
||||||
form.name_reserved=Nama organisasi %s" di sediakan.
|
form.name_not_allowed=Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Organization name pattern '%s' is not allowed.
|
form.team_name_not_allowed=Team name or pattern %q is not allowed.
|
||||||
form.team_name_reserved=Team name '%s' is reserved.
|
|
||||||
|
|
||||||
settings=Pengaturan
|
settings=Pengaturan
|
||||||
settings.options=Opsi
|
settings.options=Opsi
|
||||||
@@ -941,7 +966,7 @@ members.membership_visibility=Keanggotaan Visibilitas:
|
|||||||
members.public=Umum
|
members.public=Umum
|
||||||
members.public_helper=jadilah pribadi
|
members.public_helper=jadilah pribadi
|
||||||
members.private=Pribadi
|
members.private=Pribadi
|
||||||
members.private_helper=make public
|
members.private_helper=jadikan publik
|
||||||
members.member_role=Anggota Peran:
|
members.member_role=Anggota Peran:
|
||||||
members.owner=Pemilik
|
members.owner=Pemilik
|
||||||
members.member=Anggota
|
members.member=Anggota
|
||||||
@@ -953,10 +978,10 @@ members.invite_now=Undang Sekarang
|
|||||||
teams.join=Bergabung
|
teams.join=Bergabung
|
||||||
teams.leave=Tinggalkan
|
teams.leave=Tinggalkan
|
||||||
teams.read_access=Baca Akses
|
teams.read_access=Baca Akses
|
||||||
teams.read_access_helper=This team will be able to view and clone its repositories.
|
teams.read_access_helper=Tim ini dapat melihat dan mencabangkan repositori.
|
||||||
teams.write_access=Akses menulis
|
teams.write_access=Akses menulis
|
||||||
teams.write_access_helper=This team will be able to read its repositories, as well as push to them.
|
teams.write_access_helper=This team will be able to read its repositories, as well as push to them.
|
||||||
teams.admin_access=Admin Access
|
teams.admin_access=Akses Admin
|
||||||
teams.admin_access_helper=Tim ini akan dapat mendorong / menarik ke repositorinya, dan juga menambahkan kolaborator lainnya kepada mereka.
|
teams.admin_access_helper=Tim ini akan dapat mendorong / menarik ke repositorinya, dan juga menambahkan kolaborator lainnya kepada mereka.
|
||||||
teams.no_desc=Tim ini tidak memiliki deskripsi
|
teams.no_desc=Tim ini tidak memiliki deskripsi
|
||||||
teams.settings=Pengaturan
|
teams.settings=Pengaturan
|
||||||
@@ -982,7 +1007,7 @@ dashboard=Dasbor
|
|||||||
users=Pengguna
|
users=Pengguna
|
||||||
organizations=Organisasi
|
organizations=Organisasi
|
||||||
repositories=Repositori
|
repositories=Repositori
|
||||||
authentication=Otentikasi
|
authentication=Autentikasi
|
||||||
config=Konfigurasi
|
config=Konfigurasi
|
||||||
notices=Pemberitahuan sistem
|
notices=Pemberitahuan sistem
|
||||||
monitor=Pemantauan
|
monitor=Pemantauan
|
||||||
@@ -990,12 +1015,19 @@ first_page=Pertama
|
|||||||
last_page=Terakhir
|
last_page=Terakhir
|
||||||
total=Total: %d
|
total=Total: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Informasi build
|
||||||
|
dashboard.app_ver=Versi aplikasi
|
||||||
|
dashboard.git_version=Versi Git
|
||||||
|
dashboard.go_version=Versi Go (Golang)
|
||||||
|
dashboard.build_time=Durasi
|
||||||
|
dashboard.build_commit=Setuju Membangun
|
||||||
dashboard.statistic=Statistik
|
dashboard.statistic=Statistik
|
||||||
dashboard.operations=Operasi
|
dashboard.operations=Operasi
|
||||||
dashboard.system_status=Status Monitor Sistem
|
dashboard.system_status=Status Monitor Sistem
|
||||||
dashboard.statistic_info=GogsDatabase memiliki <b>%d</b> pengguna, <b>%d</b> organisasi, <b>%d</b> kunci publik, <b>%d</b> repositori, <b>%d</b> jamtangan, <b>%d</b> bintang, <b>%d</b>actions, <b>%d</b> akses, <b>%d</b> isu, <b>%d</b> komentar, <b>%d</b> akun sosial, <b>%d</b> berikut, <b>%d<b> mirror, <b>%d</b> rilis, <b>%d</b> sumber masuk, <b>%d</b> webhooks, <b>%d</b> tonggak,<b>%d</b> label, <b>%d</b> tugas hook, <b>%d</b> tim, <b>%d</b> memperbarui tugas, <b>%d</b> lampiran.
|
dashboard.statistic_info=GogsDatabase memiliki <b>%d</b> pengguna, <b>%d</b> organisasi, <b>%d</b> kunci publik, <b>%d</b> repositori, <b>%d</b> jamtangan, <b>%d</b> bintang, <b>%d</b>actions, <b>%d</b> akses, <b>%d</b> isu, <b>%d</b> komentar, <b>%d</b> akun sosial, <b>%d</b> berikut, <b>%d<b> mirror, <b>%d</b> rilis, <b>%d</b> sumber masuk, <b>%d</b> webhooks, <b>%d</b> tonggak,<b>%d</b> label, <b>%d</b> tugas hook, <b>%d</b> tim, <b>%d</b> memperbarui tugas, <b>%d</b> lampiran.
|
||||||
dashboard.operation_name=Nama operasi
|
dashboard.operation_name=Nama operasi
|
||||||
dashboard.operation_switch=Beralih
|
dashboard.operation_switch=Beralih
|
||||||
|
dashboard.select_operation_to_run=Harap menentukan operasi yang dijalankan
|
||||||
dashboard.operation_run=Menjalankan
|
dashboard.operation_run=Menjalankan
|
||||||
dashboard.clean_unbind_oauth=Bersihkan OAuth yang tidak terikat
|
dashboard.clean_unbind_oauth=Bersihkan OAuth yang tidak terikat
|
||||||
dashboard.clean_unbind_oauth_success=Semua unbind OAuthes telah berhasil dihapus.
|
dashboard.clean_unbind_oauth_success=Semua unbind OAuthes telah berhasil dihapus.
|
||||||
@@ -1054,16 +1086,16 @@ users.created=Dibuat
|
|||||||
users.send_register_notify=Kirim Pemberitahuan Pendaftaran ke Pengguna
|
users.send_register_notify=Kirim Pemberitahuan Pendaftaran ke Pengguna
|
||||||
users.new_success=Akun baru '%s' telah berhasil dibuat.
|
users.new_success=Akun baru '%s' telah berhasil dibuat.
|
||||||
users.edit=Edit
|
users.edit=Edit
|
||||||
users.auth_source=Sumber Otentikasi
|
users.auth_source=Sumber Autentikasi
|
||||||
users.local=Lokal
|
users.local=Lokal
|
||||||
users.auth_login_name=Nama login otentikasi
|
users.auth_login_name=Nama Masuk Autentikasi
|
||||||
users.password_helper=Biarkan kosong agar tetap tidak berubah.
|
users.password_helper=Biarkan kosong agar tetap tidak berubah.
|
||||||
users.update_profile_success=Profil akun telah berhasil diupdate.
|
users.update_profile_success=Profil akun telah berhasil diupdate.
|
||||||
users.edit_account=Mengedit akun
|
users.edit_account=Mengedit akun
|
||||||
users.max_repo_creation=Maximum Repository Creation Limit
|
users.max_repo_creation=Maximum Repository Creation Limit
|
||||||
users.max_repo_creation_desc=(Set -1 untuk menggunakan batas default global)
|
users.max_repo_creation_desc=(Set -1 untuk menggunakan batas default global)
|
||||||
users.is_activated=Akun ini diaktifkan
|
users.is_activated=Akun ini diaktifkan
|
||||||
users.prohibit_login=Akun ini dilarang masuk
|
users.prohibit_login=Akun ini tidak diperbolekan masuk
|
||||||
users.is_admin=Akun ini memiliki izin administrator
|
users.is_admin=Akun ini memiliki izin administrator
|
||||||
users.allow_git_hook=Akun ini memiliki izin untuk membuat kait Git
|
users.allow_git_hook=Akun ini memiliki izin untuk membuat kait Git
|
||||||
users.allow_import_local=Akun ini memiliki izin untuk mengimpor repositori lokal
|
users.allow_import_local=Akun ini memiliki izin untuk mengimpor repositori lokal
|
||||||
@@ -1087,14 +1119,15 @@ repos.stars=Bintang
|
|||||||
repos.issues=Masalah
|
repos.issues=Masalah
|
||||||
repos.size=Ukuran
|
repos.size=Ukuran
|
||||||
|
|
||||||
auths.auth_manage_panel=Authentication Manage Panel
|
auths.auth_sources=Sumber Autentikasi
|
||||||
auths.new=Tambahkan Sumber Baru
|
auths.new=Tambahkan Sumber Baru
|
||||||
auths.name=Nama
|
auths.name=Nama
|
||||||
auths.type=Mengetik
|
auths.type=Mengetik
|
||||||
auths.enabled=Diaktifkan
|
auths.enabled=Diaktifkan
|
||||||
|
auths.default=Standar
|
||||||
auths.updated=Diperbarui
|
auths.updated=Diperbarui
|
||||||
auths.auth_type=Jenis Autentikasi
|
auths.auth_type=Jenis Autentikasi
|
||||||
auths.auth_name=Nama Otentikasi
|
auths.auth_name=Nama Autentikasi
|
||||||
auths.security_protocol=Protokol Keamanan
|
auths.security_protocol=Protokol Keamanan
|
||||||
auths.domain=Domain
|
auths.domain=Domain
|
||||||
auths.host=Tuan rumah
|
auths.host=Tuan rumah
|
||||||
@@ -1117,143 +1150,209 @@ auths.group_attribute_contain_user_list=Atribut Grup yang Mengandung Daftar Peng
|
|||||||
auths.user_attribute_listed_in_group=Atribut Pengguna Terdaftar di Grup
|
auths.user_attribute_listed_in_group=Atribut Pengguna Terdaftar di Grup
|
||||||
auths.attributes_in_bind=Ambil atribut dalam konteks Bind DN
|
auths.attributes_in_bind=Ambil atribut dalam konteks Bind DN
|
||||||
auths.filter=Pengguna saringan
|
auths.filter=Pengguna saringan
|
||||||
auths.admin_filter=Admin Filter
|
auths.admin_filter=Filter Admin
|
||||||
auths.ms_ad_sa=Ms Ad SA
|
auths.ms_ad_sa=Otentifikasi sistem
|
||||||
auths.smtp_auth=SMTP Authentication Type
|
auths.smtp_auth=Autentikasi tipe SMTP
|
||||||
auths.smtphost=Host SMTP
|
auths.smtphost=Host SMTP
|
||||||
auths.smtpport=Port SMTP
|
auths.smtpport=Port SMTP
|
||||||
auths.allowed_domains=Domains di izinkan
|
auths.allowed_domains=Domains di izinkan
|
||||||
auths.allowed_domains_helper=Biarkan kosong untuk tidak membatasi setiap domain, beberapa Domain harus dipisahkan oleh koma ',',.
|
auths.allowed_domains_helper=Biarkan kosong untuk tidak membatasi setiap domain, beberapa Domain harus dipisahkan oleh koma ',',.
|
||||||
auths.enable_tls=Enable TLS Encryption
|
auths.enable_tls=Aktifkan Enkripsi TLS
|
||||||
auths.skip_tls_verify=Skip TLS Verify
|
auths.skip_tls_verify=Lewati Verifikasi TLS
|
||||||
auths.pam_service_name=Nama layanan PAM
|
auths.pam_service_name=Nama layanan PAM
|
||||||
auths.enable_auto_register=Mengaktifkan pendaftaran otomatis
|
auths.enable_auto_register=Mengaktifkan pendaftaran otomatis
|
||||||
auths.tips=Cara
|
auths.edit=Ubah Pengaturan Autentikasi
|
||||||
auths.edit=Mengubah pengaturan pembuktian
|
auths.activated=Autentikasi ini diaktifkan
|
||||||
auths.activated=This authentication is activated
|
auths.default_auth=Autentikasi ini adalah sumber masuk bawaan
|
||||||
auths.new_success=New authentication '%s' has been added successfully.
|
auths.new_success=Autentikasi baru %s berhasil ditambahkan.
|
||||||
auths.update_success=Authentication setting has been updated successfully.
|
auths.update_success=Pengaturan autentikasi berhasil diperbarui.
|
||||||
auths.update=Memperbarui pengetahuan otentikasi
|
auths.update=Perbarui Pengaturan Autentikasi
|
||||||
auths.delete=Hapus otentikasi ini
|
auths.delete=Hapus Autentikasi Ini
|
||||||
auths.delete_auth_title=Authentication Deletion
|
auths.delete_auth_title=Penghapusan Autentikasi
|
||||||
auths.delete_auth_desc=Otentikasi ini akan dihapus, apakah anda ingin melanjutkan?
|
auths.delete_auth_desc=Autentikasi ini akan dihapus, apakah Anda ingin melanjutkan?
|
||||||
auths.still_in_used=This authentication is still used by some users, please delete or convert these users to another login type first.
|
auths.still_in_used=Autentikasi ini masih digunakan oleh pengguna lain, silakan hapus atau ubah pengguna tersebut ke tipe masuk lainnya.
|
||||||
auths.deletion_success=Authentication has been deleted successfully!
|
auths.deletion_success=Autentikasi berhasil dihapus!
|
||||||
auths.login_source_exist=Login source '%s' already exists.
|
auths.login_source_exist=Sumber masuk %s sudah tersedia.
|
||||||
|
auths.github_api_endpoint=Titik akhir API
|
||||||
|
|
||||||
config.not_set=(tidak diterapkan)
|
config.not_set=(tidak diterapkan)
|
||||||
config.server_config=Server Configuration
|
config.server_config=Konfigurasi Server
|
||||||
config.app_name=Nama aplikasi
|
config.brand_name=Nama Merek/Logo/Perusahaan
|
||||||
config.app_ver=Versi aplikasi
|
|
||||||
config.app_url=Aplikasi URL
|
|
||||||
config.domain=Domain
|
|
||||||
config.offline_mode=Offline Mode
|
|
||||||
config.disable_router_log=Disable Router Log
|
|
||||||
config.run_user=Menjalankan penggunaa
|
config.run_user=Menjalankan penggunaa
|
||||||
config.run_mode=Run Mode
|
config.run_mode=Run mode
|
||||||
config.git_version=Git Version
|
config.server.external_url=URL eksternal
|
||||||
config.static_file_root_path=Static File Root Path
|
config.server.domain=Domain
|
||||||
config.log_file_root_path=Log File Root Path
|
config.server.protocol=Protokol
|
||||||
config.reverse_auth_user=Reverse Authentication User
|
config.server.http_addr=Alamat HTTP
|
||||||
|
config.server.http_port=Port HTTP
|
||||||
|
config.server.cert_file=Berkas Sertifikat
|
||||||
|
config.server.key_file=Berkas baru
|
||||||
|
config.server.tls_min_version=Minimum versi TLS
|
||||||
|
config.server.unix_socket_permission=Aturan unix socket
|
||||||
|
config.server.local_root_url=Lokal root url
|
||||||
|
config.server.offline_mode=mode luring
|
||||||
|
config.server.disable_router_log=Menonaktifkan router log
|
||||||
|
config.server.enable_gzip=aktifkan gzip
|
||||||
|
config.server.app_data_path=target data aplikasi
|
||||||
|
config.server.load_assets_from_disk=memanggil asset dari disk
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
config.ssh_config=SSH Configuration
|
config.ssh_config=Konfigurasi SSH
|
||||||
config.ssh_enabled=Diaktifkan
|
config.ssh.enabled=Diaktifkan
|
||||||
config.ssh_start_builtin_server=Start Builtin Server
|
config.ssh.domain=Exposed domain
|
||||||
config.ssh_domain=Domain
|
config.ssh.port=Exposed port
|
||||||
config.ssh_port=Pelabuhan
|
config.ssh.root_path=Path akar
|
||||||
config.ssh_listen_port=Listen Port
|
config.ssh.keygen_path=Path keygen
|
||||||
config.ssh_root_path=Path akar
|
config.ssh.key_test_path=Key test path
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Minimum key size check
|
||||||
config.ssh_key_test_path=Key Test Path
|
config.ssh.minimum_key_sizes=Ukuran kunci minimum
|
||||||
config.ssh_keygen_path=Keygen ('ssh-keygen') Path
|
config.ssh.rewrite_authorized_keys_at_start=Tulis ulang "authorized_keys" saat memulai
|
||||||
config.ssh_minimum_key_size_check=Minimum Key Size Check
|
config.ssh.start_builtin_server=Start builtin server
|
||||||
config.ssh_minimum_key_sizes=Minimum Key Sizes
|
config.ssh.listen_host=Listen host
|
||||||
|
config.ssh.listen_port=Listen port
|
||||||
|
config.ssh.server_ciphers=Cipher server
|
||||||
|
config.ssh.server_macs=MAC server
|
||||||
|
config.ssh.server_algorithms=Algoritma server
|
||||||
|
|
||||||
config.repo_config=Repository Configuration
|
config.repo_config=Konfigurasi Repositori
|
||||||
config.repo_root_path=Repository Root Path
|
config.repo.root_path=Path akar
|
||||||
config.script_type=Jenis Skrip
|
config.repo.script_type=Jenis skrip
|
||||||
config.repo_force_private=Paksa Pribadi
|
config.repo.ansi_chatset=Set karakter ANSI
|
||||||
config.max_creation_limit=Max Creation Limit
|
config.repo.force_private=Paksa pribadi
|
||||||
config.preferred_licenses=Lisensi yang Diutamakan
|
config.repo.max_creation_limit=Max creation limit
|
||||||
config.disable_http_git=Nonaktifkan HTTP Git
|
config.repo.preferred_licenses=Preferred licenses
|
||||||
config.enable_local_path_migration=Aktifkan Migrasi Jalur Lokal
|
config.repo.disable_http_git=Disable HTTP Git
|
||||||
config.commits_fetch_concurrency=Komitmen Ambil Concurrency
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
config.http_config=Konfigurasi HTTP
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Kontrol Akses Memungkinkan Asal
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Pengunggahan diaktifkan
|
||||||
|
config.repo.upload.temp_path=Path unggah sementara
|
||||||
|
config.repo.upload.allowed_types=Tipe unggah yang diizinkan
|
||||||
|
config.repo.upload.file_max_size=Batas ukuran unggah berkas
|
||||||
|
config.repo.upload.max_files=Batas unggah berkas
|
||||||
|
|
||||||
config.db_config=Konfigurasi Basis Data
|
config.db_config=Konfigurasi Basis Data
|
||||||
config.db_type=Mengetik
|
config.db.type=Tipe
|
||||||
config.db_host=Rumah
|
config.db.host=Host
|
||||||
config.db_name=Nama
|
config.db.name=Nama
|
||||||
config.db_user=Pengguna
|
config.db.schema=Skema
|
||||||
config.db_ssl_mode=Mode SSL
|
config.db.schema_helper=(hanya untuk "postgres")
|
||||||
config.db_ssl_mode_helper=(untuk "postgres" saja)
|
config.db.user=Pengguna
|
||||||
config.db_path=Jalan
|
config.db.ssl_mode=Modus SSL
|
||||||
config.db_path_helper=(untuk "sqlite3" dan "tidb")
|
config.db.ssl_mode_helper=(hanya untuk "postgres")
|
||||||
|
config.db.path=Path
|
||||||
|
config.db.path_helper=(hanya untuk "sqlite3")
|
||||||
|
config.db.max_open_conns=Maksimum koneksi yang terbuka
|
||||||
|
config.db.max_idle_conns=Maksimum koneksi menganggur
|
||||||
|
|
||||||
config.service_config=Konfigurasi Layanan
|
config.security_config=Konfigurasi keamanan
|
||||||
config.register_email_confirm=Perlu konfirmasi email
|
config.security.login_remember_days=Berapa hari mengingat log masuk
|
||||||
config.disable_register=Nonaktifkan Pendaftaran
|
config.security.cookie_remember_name=Ingat cookie
|
||||||
config.show_registration_button=Tampilkan Tombol Register
|
config.security.cookie_username=Cookie pengguna
|
||||||
config.require_sign_in_view=Memerlukan Tampilan Masuk
|
config.security.cookie_secure=Aktifkan cookie aman
|
||||||
config.mail_notify=Pemberitahuan Mail
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=Nonaktifkan Minimum Key Size Check
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=Aktifkan Captcha
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=Kode aktif hidup
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=Reset Password Code Lives
|
|
||||||
|
|
||||||
config.webhook_config=Webhook Konfigurasi
|
config.email_config=Konfigurasi surel
|
||||||
config.queue_length=Panjang Antrian
|
config.email.enabled=Enabled
|
||||||
config.deliver_timeout=Berikan waktu habis
|
config.email.subject_prefix=Subject prefix
|
||||||
config.skip_tls_verify=Lewati TLS Verifikasi
|
config.email.host=Host
|
||||||
|
config.email.from=Dari
|
||||||
|
config.email.user=Pengguna
|
||||||
|
config.email.disable_helo=Disable HELO
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
config.email.skip_verify=Lewati verifikasi sertifikat
|
||||||
|
config.email.use_certificate=Pakai sertifikat ubahan
|
||||||
|
config.email.cert_file=Berkas sertifikat
|
||||||
|
config.email.key_file=Berkas kunci
|
||||||
|
config.email.use_plain_text=Gunakan teks polos
|
||||||
|
config.email.add_plain_text_alt=Tambahkan alternatif teks polos
|
||||||
|
config.email.send_test_mail=Kirim surel uji
|
||||||
|
config.email.test_mail_failed=Gagal mengirim surel uji ke '%s': %v
|
||||||
|
config.email.test_mail_sent=Surel uji telah dikirim ke '%s'.
|
||||||
|
|
||||||
config.mailer_config=Mailer Konfigurasi
|
config.auth_config=Konfigurasi otentikasi
|
||||||
config.mailer_enabled=Diaktifkan
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=Nonaktifkan HALO
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=Rumah
|
config.auth.require_email_confirm=Perlu konfirmasi surel
|
||||||
config.mailer_user=Pengguna
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=Kirim Email Uji
|
config.auth.disable_registration=Nonaktifkan pendaftaran
|
||||||
config.test_mail_failed=Gagal mengirim email uji ke '%s': %v
|
config.auth.enable_registration_captcha=Aktifkan captcha pendaftaran
|
||||||
config.test_mail_sent=Email percobaan telah dikirim ke ' % s '.
|
config.auth.enable_reverse_proxy_authentication=Aktifkan otentikasi proksi balik
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Aktifkan pendaftaran otomatis proksi balik
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
config.oauth_config=OAuth Konfigurasi
|
config.user_config=Konfigurasi pengguna
|
||||||
config.oauth_enabled=Diaktifkan
|
config.user.enable_email_notify=Aktifkan notifikasi surel
|
||||||
|
|
||||||
config.cache_config=Konfigurasi Cache
|
|
||||||
config.cache_adapter=Adaptor Cache
|
|
||||||
config.cache_interval=Interval Cache
|
|
||||||
config.cache_conn=Koneksi Cache
|
|
||||||
|
|
||||||
config.session_config=Konfigurasi Sesi
|
config.session_config=Konfigurasi Sesi
|
||||||
config.session_provider=Penyedia Sesi
|
config.session.provider=Penyedia
|
||||||
config.provider_config=Konfigurasi Penyedia
|
config.session.provider_config=Konfigurasi penyedia
|
||||||
config.cookie_name=Cookie Name
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=Pengatur cookle diaktifkan
|
config.session.https_only=Hanya HTTPS
|
||||||
config.gc_interval_time=GC Interval Time
|
config.session.gc_interval=Interval GC
|
||||||
config.session_life_time=Sesi jangka Waktu
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=HTTPS Only
|
config.session.csrf_cookie_name=CSRF cookie
|
||||||
config.cookie_life_time=Cookie Life Time
|
|
||||||
|
|
||||||
config.picture_config=Picture Configuration
|
config.cache_config=Konfigurasi Cache
|
||||||
config.picture_service=Gambar layanan
|
config.cache.adapter=Adaptor
|
||||||
config.disable_gravatar=Disable Gravatar
|
config.cache.interval=Interval GC
|
||||||
config.enable_federated_avatar=Enable Federated Avatars
|
config.cache.host=Host
|
||||||
|
|
||||||
config.git_config=Git Configuration
|
config.http_config=Konfigurasi HTTP
|
||||||
config.git_disable_diff_highlight=Disable Diff Syntax Highlight
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
config.git_max_diff_lines=Max Diff Lines (for a single file)
|
|
||||||
config.git_max_diff_line_characters=Max Diff Characters (for a single line)
|
|
||||||
config.git_max_diff_files=Max Diff Files (to be shown)
|
|
||||||
config.git_gc_args=GC Arguments
|
|
||||||
config.git_migrate_timeout=Jenis migrasi
|
|
||||||
config.git_mirror_timeout=Mirror Update Timeout
|
|
||||||
config.git_clone_timeout=Clone Operation Timeout
|
|
||||||
config.git_pull_timeout=Pull Operation Timeout
|
|
||||||
config.git_gc_timeout=GC Operation Timeout
|
|
||||||
|
|
||||||
config.log_config=Log Configuration
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Enabled
|
||||||
|
config.attachment.path=Path
|
||||||
|
config.attachment.allowed_types=Allowed types
|
||||||
|
config.attachment.max_size=Batas ukuran
|
||||||
|
config.attachment.max_files=Batas berkas
|
||||||
|
|
||||||
|
config.release_config=Release configuration
|
||||||
|
config.release.attachment.enabled=Lampiran diaktifkan
|
||||||
|
config.release.attachment.allowed_types=Jens lampiran yang diizinkan
|
||||||
|
config.release.attachment.max_size=Batas ukuran lampiran
|
||||||
|
config.release.attachment.max_files=Batas berkas lampiran
|
||||||
|
|
||||||
|
config.picture_config=Konfigurasi Gambar
|
||||||
|
config.picture.avatar_upload_path=Path unggah avatar pengguna
|
||||||
|
config.picture.repo_avatar_upload_path=Path unggah avatar repositori
|
||||||
|
config.picture.gravatar_source=Sumber gravatar
|
||||||
|
config.picture.disable_gravatar=Nonaktifkan Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Konfigurasi cermin
|
||||||
|
config.mirror.default_interval=Interval baku
|
||||||
|
|
||||||
|
config.webhook_config=Webhook Konfigurasi
|
||||||
|
config.webhook.types=Tipe
|
||||||
|
config.webhook.deliver_timeout=Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify=Skip TLS verify
|
||||||
|
|
||||||
|
config.git_config=Konfigurasi Git
|
||||||
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
|
config.git.gc_args=GC arguments
|
||||||
|
config.git.migrate_timeout=Migration timeout
|
||||||
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
|
config.git.clone_timeout=Tenggat waktu klon
|
||||||
|
config.git.pull_timeout=Tenggat waktu pull
|
||||||
|
config.git.gc_timeout=Tenggat waktu GC
|
||||||
|
|
||||||
|
config.lfs_config=Konfigurasi LFS
|
||||||
|
config.lfs.storage=Penyimpanan
|
||||||
|
config.lfs.objects_path=Path obyek
|
||||||
|
|
||||||
|
config.log_config=Konfigurasi log
|
||||||
|
config.log_file_root_path=Path akar berkas log
|
||||||
config.log_mode=Mode
|
config.log_mode=Mode
|
||||||
config.log_options=Pilihan
|
config.log_options=Pilihan
|
||||||
|
|
||||||
@@ -1273,7 +1372,7 @@ notices.view_detail_header=Lihat Pemberitahuan Detail
|
|||||||
notices.actions=Tindakan
|
notices.actions=Tindakan
|
||||||
notices.select_all=Pilih Semua
|
notices.select_all=Pilih Semua
|
||||||
notices.deselect_all=Batalkan semua pilihan
|
notices.deselect_all=Batalkan semua pilihan
|
||||||
notices.inverse_selection=Inverse Selection
|
notices.inverse_selection=Pilih Terbalaik
|
||||||
notices.delete_selected=Hapus yang dipilih
|
notices.delete_selected=Hapus yang dipilih
|
||||||
notices.delete_all=Menghapus semua pemberitahuan
|
notices.delete_all=Menghapus semua pemberitahuan
|
||||||
notices.type=Jenis
|
notices.type=Jenis
|
||||||
@@ -1284,30 +1383,33 @@ notices.delete_success=Sistem pemberitahuan telah berhasil dihapus.
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=repositori dibuat <a href="%s">%s</a>
|
create_repo=repositori dibuat <a href="%s">%s</a>
|
||||||
fork_repo=forked a repository to <a href="%s">%s</a>
|
|
||||||
rename_repo=repositori berganti nama dari <code>%[1]s</code> ke <a href="%[2]s">%[3]s</a>
|
rename_repo=repositori berganti nama dari <code>%[1]s</code> ke <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo=didorong ke <a href="%[1]s/src/%[2]s">%[3]s</a> di <a href="%[1]s">%[4]s</a>
|
commit_repo=didorong ke <a href="%[1]s/src/%[2]s">%[3]s</a> di <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=View comparison for these %d commits
|
compare_commits=Lihat perbandingan dari komit ini %d
|
||||||
transfer_repo=transfered repository <code>%s</code> to <a href="%s">%s</a>
|
transfer_repo=repositori <code>%s</code> ditransfer ke <a href="%s">%s</a>
|
||||||
create_issue=`opened issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
create_issue=`masalah yang dibuka <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
close_issue=`closed issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
close_issue=`masalah yang ditutup <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
reopen_issue=`reopened issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
reopen_issue=`masalah yang dibuka kembali <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
comment_issue=`commented on issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
comment_issue=`mengomentari masalah <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
create_pull_request=`created pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
create_pull_request=`membuat permintaan tarik <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
close_pull_request=`closed pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
close_pull_request=`permintaan tarik yang ditutup <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
reopen_pull_request=`reopened pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
reopen_pull_request=`permintaan tarik dibuka kembali <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
merge_pull_request=`merged pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
merge_pull_request=`menggabungkan permintaan tarik <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||||
create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
||||||
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=pushed tag <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a>
|
push_tag=pushed tag <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a>
|
||||||
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
|
fork_repo=cabangkan repositori ke <a href="%s">%s</a>
|
||||||
|
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
|
||||||
|
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=lalu
|
ago=lalu
|
||||||
from_now=dari sekarang
|
from_now=dari sekarang
|
||||||
now=sekarang
|
now=sekarang
|
||||||
1s=1detik %s
|
1s=1 detik %s
|
||||||
1m=1menit %s
|
1m=1 menit %s
|
||||||
1h=1 jam %s
|
1h=1 jam %s
|
||||||
1d=1 hari %s
|
1d=1 hari %s
|
||||||
1w=1 Minggu %s
|
1w=1 Minggu %s
|
||||||
@@ -1322,6 +1424,7 @@ months=%d bulan %s
|
|||||||
years=%d tahun %s
|
years=%d tahun %s
|
||||||
raw_seconds=detik
|
raw_seconds=detik
|
||||||
raw_minutes=menit
|
raw_minutes=menit
|
||||||
|
raw_hours=jam
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Jatuhkan berkas disini atau klik untuk mengunggah.
|
default_message=Jatuhkan berkas disini atau klik untuk mengunggah.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=Esci
|
|||||||
sign_up=Registrati
|
sign_up=Registrati
|
||||||
register=Registrati
|
register=Registrati
|
||||||
website=Sito Web
|
website=Sito Web
|
||||||
version=Versione
|
|
||||||
page=Pagina
|
page=Pagina
|
||||||
template=Template
|
template=Template
|
||||||
language=Lingua
|
language=Lingua
|
||||||
@@ -44,17 +43,22 @@ issues=Problemi
|
|||||||
|
|
||||||
cancel=Annulla
|
cancel=Annulla
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Pagina Non Trovata
|
||||||
|
internal_server_error=Errore Interno del Server
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Installazione
|
install=Installazione
|
||||||
title=Passi d'installazione per il primo avvio
|
title=Passi d'installazione per il primo avvio
|
||||||
docker_helper=Se stai utilizzando Gogs su Docker, per favore leggi le <a target="_blank" href="%s">Linee guida</a> con attenzione prima di cambiare qualcosa su questa pagina!
|
docker_helper=Se stai utilizzando Gogs su Docker, per favore leggi le <a target="_blank" href="%s">Linee guida</a> con attenzione prima di cambiare qualcosa su questa pagina!
|
||||||
requite_db_desc=Gogs richiede MySQL, PostgreSQL, SQLite3, MSSQL o TiDB.
|
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol).
|
||||||
db_title=Impostazioni Database
|
db_title=Impostazioni Database
|
||||||
db_type=Tipo di database
|
db_type=Tipo di database
|
||||||
host=Host
|
host=Host
|
||||||
user=Utente
|
user=Utente
|
||||||
password=Password
|
password=Password
|
||||||
db_name=Nome del database
|
db_name=Nome del database
|
||||||
|
db_schema=Schema
|
||||||
db_helper=Utilizza il motore INNODB con codifica utf8_general_ci per MySQL.
|
db_helper=Utilizza il motore INNODB con codifica utf8_general_ci per MySQL.
|
||||||
ssl_mode=Modalità SSL
|
ssl_mode=Modalità SSL
|
||||||
path=Percorso
|
path=Percorso
|
||||||
@@ -84,6 +88,7 @@ log_root_path=Percorso dei log
|
|||||||
log_root_path_helper=Directory in cui scrivere i file di log.
|
log_root_path_helper=Directory in cui scrivere i file di log.
|
||||||
enable_console_mode=Abilita modalità Terminale
|
enable_console_mode=Abilita modalità Terminale
|
||||||
enable_console_mode_popup=In aggiunta alla modalità file, invia i log anche al terminale.
|
enable_console_mode_popup=In aggiunta alla modalità file, invia i log anche al terminale.
|
||||||
|
default_branch=Default Branch
|
||||||
|
|
||||||
optional_title=Impostazioni Facoltative
|
optional_title=Impostazioni Facoltative
|
||||||
email_title=Impostazioni E-mail
|
email_title=Impostazioni E-mail
|
||||||
@@ -119,9 +124,10 @@ sqlite3_not_available=Questa versione non supporta SQLite3, si prega di scaricar
|
|||||||
invalid_db_setting=La configurazione del database non è corretta: %v
|
invalid_db_setting=La configurazione del database non è corretta: %v
|
||||||
invalid_repo_path=Percorso root del repository invalido: %v
|
invalid_repo_path=Percorso root del repository invalido: %v
|
||||||
run_user_not_match=Run user non è l'utente corrente: %s -> %s
|
run_user_not_match=Run user non è l'utente corrente: %s -> %s
|
||||||
smtp_host_missing_port=SMTP Host is missing port in address.
|
smtp_host_missing_port=All'Host SMTP manca la porta nell'indirizzo.
|
||||||
invalid_smtp_from=Campo SMTP From non valido: %v
|
invalid_smtp_from=Campo SMTP From non valido: %v
|
||||||
save_config_failed=Fallito il salvataggio della configurazione: %v
|
save_config_failed=Fallito il salvataggio della configurazione: %v
|
||||||
|
init_failed=Impossibile inizializzare l'applicazione: %v
|
||||||
invalid_admin_setting=Impostazioni account Admin non valide: %v
|
invalid_admin_setting=Impostazioni account Admin non valide: %v
|
||||||
install_success=Benvenuto! Siamo felici che tu abbia scelto Gogs, buon divertimento.
|
install_success=Benvenuto! Siamo felici che tu abbia scelto Gogs, buon divertimento.
|
||||||
invalid_log_root_path=Percorso deilog non valido: %v
|
invalid_log_root_path=Percorso deilog non valido: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=Hai già un account? Accedi ora!
|
|||||||
social_register_hepler_msg=Hai già un account? Associalo ora!
|
social_register_hepler_msg=Hai già un account? Associalo ora!
|
||||||
disable_register_prompt=Siamo spiacenti, registrazione è stata disabilitata. Si prega di contattare l'amministratore del sito.
|
disable_register_prompt=Siamo spiacenti, registrazione è stata disabilitata. Si prega di contattare l'amministratore del sito.
|
||||||
disable_register_mail=Siamo spiacenti, la conferma di registrazione via Mail è stata disattivata.
|
disable_register_mail=Siamo spiacenti, la conferma di registrazione via Mail è stata disattivata.
|
||||||
|
auth_source=Fonte di autenticazione
|
||||||
|
local=Locale
|
||||||
remember_me=Ricordami
|
remember_me=Ricordami
|
||||||
forgot_password=Password dimenticata
|
forgot_password=Password dimenticata
|
||||||
forget_password=Password dimenticata?
|
forget_password=Password dimenticata?
|
||||||
@@ -170,12 +178,12 @@ password_too_short=La lunghezza della password non può essere meno 6 caratteri.
|
|||||||
non_local_account=Gli account non locali non possono modificare le password tramite Gogs.
|
non_local_account=Gli account non locali non possono modificare le password tramite Gogs.
|
||||||
|
|
||||||
login_two_factor=Autenticazione in Due Passaggi
|
login_two_factor=Autenticazione in Due Passaggi
|
||||||
login_two_factor_passcode=Authentication Passcode
|
login_two_factor_passcode=Codice di autenticazione
|
||||||
login_two_factor_enter_recovery_code=Inserisci il codice di recupero dell'Autenticazione a due Fattori
|
login_two_factor_enter_recovery_code=Inserisci il codice di recupero dell'Autenticazione a due Fattori
|
||||||
login_two_factor_recovery=Two-factor Recovery
|
login_two_factor_recovery=Recupero a due fattori
|
||||||
login_two_factor_recovery_code=Recupera il codice
|
login_two_factor_recovery_code=Recupera il codice
|
||||||
login_two_factor_enter_passcode=Enter a two-factor passcode
|
login_two_factor_enter_passcode=Inserisci un codice di accesso a due fattori
|
||||||
login_two_factor_invalid_recovery_code=Recovery code has been used or does not valid.
|
login_two_factor_invalid_recovery_code=Il codice di recupero è stato utilizzato o non è valido.
|
||||||
|
|
||||||
[mail]
|
[mail]
|
||||||
activate_account=Per favore attiva il tuo account
|
activate_account=Per favore attiva il tuo account
|
||||||
@@ -212,7 +220,7 @@ Content=Contenuto
|
|||||||
require_error=` non può essere vuoto.`
|
require_error=` non può essere vuoto.`
|
||||||
alpha_dash_error=` ammessi solo caratteri alfanumerici o trattini(-_).`
|
alpha_dash_error=` ammessi solo caratteri alfanumerici o trattini(-_).`
|
||||||
alpha_dash_dot_error=` ammessi solo caratteri alfanumerici o trattini(-_) o punti.`
|
alpha_dash_dot_error=` ammessi solo caratteri alfanumerici o trattini(-_) o punti.`
|
||||||
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
|
alpha_dash_dot_slash_error=` ammessi solo caratteri alfanumerici o trattini(-_) o punti o slash.`
|
||||||
size_error='deve essere %s.'
|
size_error='deve essere %s.'
|
||||||
min_size_error=` deve contenere almeno %s caratteri.`
|
min_size_error=` deve contenere almeno %s caratteri.`
|
||||||
max_size_error=` deve contenere massimo %s caratteri.`
|
max_size_error=` deve contenere massimo %s caratteri.`
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=Il nome dell'Organizzazione è già utlizzato.
|
|||||||
team_name_been_taken=Il nome del Team è già utilizzato.
|
team_name_been_taken=Il nome del Team è già utilizzato.
|
||||||
email_been_used=L'indirizzo E-mail è già utilizzato.
|
email_been_used=L'indirizzo E-mail è già utilizzato.
|
||||||
username_password_incorrect=Nome utente o password incorretti.
|
username_password_incorrect=Nome utente o password incorretti.
|
||||||
|
auth_source_mismatch=La sorgente di autenticazione selezionata non è associata all'utente.
|
||||||
enterred_invalid_repo_name=Si prega di assicurarsi che il nome del repository inserito sia corretto.
|
enterred_invalid_repo_name=Si prega di assicurarsi che il nome del repository inserito sia corretto.
|
||||||
enterred_invalid_owner_name=Si prega di assicurarsi che il nome del proprietario inserito sia corretto.
|
enterred_invalid_owner_name=Si prega di assicurarsi che il nome del proprietario inserito sia corretto.
|
||||||
enterred_invalid_password=Verificare che la password inserita sia corretta.
|
enterred_invalid_password=Verificare che la password inserita sia corretta.
|
||||||
@@ -256,15 +265,14 @@ following=Seguiti
|
|||||||
follow=Segui
|
follow=Segui
|
||||||
unfollow=Non seguire più
|
unfollow=Non seguire più
|
||||||
|
|
||||||
form.name_reserved=L'username '%s' è riservato.
|
form.name_not_allowed=Nome utente o schema %q non consentito.
|
||||||
form.name_pattern_not_allowed=La struttura del nome utente '%s' non è consentita.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Profilo
|
profile=Profilo
|
||||||
password=Password
|
password=Password
|
||||||
avatar=Avatar
|
avatar=Avatar
|
||||||
ssh_keys=Chiavi SSH
|
ssh_keys=Chiavi SSH
|
||||||
security=Security
|
security=Sicurezza
|
||||||
repos=Repository
|
repos=Repository
|
||||||
orgs=Organizzazioni
|
orgs=Organizzazioni
|
||||||
applications=Applicazioni
|
applications=Applicazioni
|
||||||
@@ -309,6 +317,7 @@ delete_email=Elimina
|
|||||||
email_deletion=Eliminazione e-mail
|
email_deletion=Eliminazione e-mail
|
||||||
email_deletion_desc=La procedura di rimozione indirizzo email eliminerà tutte le informazioni correlate dal tuo account. Si desidera continuare?
|
email_deletion_desc=La procedura di rimozione indirizzo email eliminerà tutte le informazioni correlate dal tuo account. Si desidera continuare?
|
||||||
email_deletion_success=Indirizzo e-mail eliminato con successo!
|
email_deletion_success=Indirizzo e-mail eliminato con successo!
|
||||||
|
email_deletion_primary=Cannot delete primary email address.
|
||||||
add_new_email=Aggiungi un nuovo indirizzo E-mail
|
add_new_email=Aggiungi un nuovo indirizzo E-mail
|
||||||
add_email=Aggiungi E-mail
|
add_email=Aggiungi E-mail
|
||||||
add_email_confirmation_sent=Una nuova email di conferma è stata inviata a '%s', per favore controlla la tua posta in arrivo nelle prossime %d ore per completare il processo di registrazione.
|
add_email_confirmation_sent=Una nuova email di conferma è stata inviata a '%s', per favore controlla la tua posta in arrivo nelle prossime %d ore per completare il processo di registrazione.
|
||||||
@@ -335,33 +344,35 @@ key_state_desc=Hai utilizzato questa chiave negli ultimi 7 giorni
|
|||||||
token_state_desc=Questo token e' satato utilizzato negli ultimi 7 giorni
|
token_state_desc=Questo token e' satato utilizzato negli ultimi 7 giorni
|
||||||
|
|
||||||
two_factor=Autenticazione in Due Passaggi
|
two_factor=Autenticazione in Due Passaggi
|
||||||
two_factor_status=Status:
|
two_factor_status=Stato:
|
||||||
two_factor_on=Attiva
|
two_factor_on=Attiva
|
||||||
two_factor_off=Off
|
two_factor_off=Non attivo
|
||||||
two_factor_enable=Enable
|
two_factor_enable=Abilita
|
||||||
two_factor_disable=Disattivata
|
two_factor_disable=Disattivata
|
||||||
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
|
two_factor_view_recovery_codes=Visualizza e memorizza i tuoi <a href="%s%s">codici di recupero</a> in un posto sicuro. Puoi utilizzarli come codice di sicurezza se perdi gli accessi all'applicazione di autenticazione.
|
||||||
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
|
two_factor_http=Per le operazioni HTTP/HTTPS, non sei più in grado di utilizzare nome utente e password. Si prega di creare e utilizzare <a href="%[1]s%[2]s">Token di accesso personale</a> come credenziali, ad esempio. <code>%[3]s</code>.
|
||||||
two_factor_enable_title=Abilita l'autenticazione in due passaggi
|
two_factor_enable_title=Abilita l'autenticazione in due passaggi
|
||||||
two_factor_scan_qr=Please use your authentication application to scan the image:
|
two_factor_scan_qr=Per favore, utilizza la tua applicazione di autenticazione per scansionare l'immagine:
|
||||||
two_factor_or_enter_secret=Or enter the secret:
|
two_factor_or_enter_secret=O inserisci la chiave segreta:
|
||||||
two_factor_then_enter_passcode=Then enter passcode:
|
two_factor_then_enter_passcode=Poi inserisci la chiave di sicurezza:
|
||||||
two_factor_verify=Verifica
|
two_factor_verify=Verifica
|
||||||
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
|
two_factor_invalid_passcode=La chiave di sicurezza che hai inserito non è valida, riprova!
|
||||||
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
two_factor_reused_passcode=La chiave di sicurezza che hai inserito è già stata utilizzata, provane un'altra!
|
||||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
two_factor_enable_error=Impossibile abilitare l'autenticazione a due fattori: %v
|
||||||
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
two_factor_enable_success=Autenticazione a due fattori abilitata per il tuo account con successo!
|
||||||
two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>.
|
two_factor_recovery_codes_title=Codici di recupero autenticazione a due fattori
|
||||||
two_factor_regenerate_recovery_codes=Regenerate Recovery Codes
|
two_factor_recovery_codes_desc=I codici di recupero vengono utilizzati quando si perde temporaneamente l'accesso all'applicazione di autenticazione. Ogni codice di recupero può essere utilizzato solo una volta, <b>si prega di mantenere questi codici in un posto sicuro</b>.
|
||||||
two_factor_regenerate_recovery_codes_error=Regenerate recovery codes failed: %v
|
two_factor_regenerate_recovery_codes=Rigenera codici di recupero
|
||||||
two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully!
|
two_factor_regenerate_recovery_codes_error=Impossibile rigenerare codici di recupero: %v
|
||||||
two_factor_disable_title=Disable Two-factor Authentication
|
two_factor_regenerate_recovery_codes_success=I nuovi codici di recupero sono stati generati correttamente!
|
||||||
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
|
two_factor_disable_title=Disabilita autenticazione a due fattori
|
||||||
two_factor_disable_success=Two-factor authentication has disabled successfully!
|
two_factor_disable_desc=Il livello di sicurezza del tuo account diminuirà disabilitando l'autenticazione a due fattori. Vuoi continuare?
|
||||||
|
two_factor_disable_success=L'autenticazione a due fattori è stata disabilitata!
|
||||||
|
|
||||||
manage_access_token=Gestisci i Token di Accesso Personale
|
manage_access_token=Gestisci i Token di Accesso Personale
|
||||||
generate_new_token=Genera Nuovo Token
|
generate_new_token=Genera Nuovo Token
|
||||||
tokens_desc=I Token che hai generato e che possono essere utilizzati per accedere alle API Gogs.
|
tokens_desc=I Token che hai generato e che possono essere utilizzati per accedere alle API Gogs.
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc=Da questo momento, ogni token avrà pieno accesso al tuo account.
|
new_token_desc=Da questo momento, ogni token avrà pieno accesso al tuo account.
|
||||||
token_name=Nome Token
|
token_name=Nome Token
|
||||||
generate_token=Genera Token
|
generate_token=Genera Token
|
||||||
@@ -370,15 +381,16 @@ delete_token=Elimina
|
|||||||
access_token_deletion=Eliminazione Token di accesso personale
|
access_token_deletion=Eliminazione Token di accesso personale
|
||||||
access_token_deletion_desc=Eliminare questo token di accesso personale rimuoverà tutti i relativi accessi di applicazione. Si desidera continuare?
|
access_token_deletion_desc=Eliminare questo token di accesso personale rimuoverà tutti i relativi accessi di applicazione. Si desidera continuare?
|
||||||
delete_token_success=Il token di accesso personale è stato eliminato! Non dimenticare di aggiornare anche l'applicazione.
|
delete_token_success=Il token di accesso personale è stato eliminato! Non dimenticare di aggiornare anche l'applicazione.
|
||||||
|
token_name_exists=Un token con lo stesso nome esiste già.
|
||||||
|
|
||||||
orgs.none=Non sei membro di alcuna organizzazione.
|
orgs.none=Non sei membro di alcuna organizzazione.
|
||||||
orgs.leave_title=Abbandona una organizzazione
|
orgs.leave_title=Abbandona una organizzazione
|
||||||
orgs.leave_desc=Abbandonando l'organizzazione perderai l'accesso a tutti i repository e i gruppi. Confermi?
|
orgs.leave_desc=Abbandonando l'organizzazione perderai l'accesso a tutti i repository e i gruppi. Confermi?
|
||||||
|
|
||||||
repos.leave=Abbandona
|
repos.leave=Abbandona
|
||||||
repos.leave_title=Leave repository
|
repos.leave_title=Lascia il repository
|
||||||
repos.leave_desc=You will lose access to the repository after you left. Do you want to continue?
|
repos.leave_desc=Perderai l'accesso al repository dopo che hai lasciato. Vuoi continuare?
|
||||||
repos.leave_success=You have left repository '%s' successfully!
|
repos.leave_success=Hai lasciato il repository '%s' con successo!
|
||||||
|
|
||||||
delete_account=Elimina Account
|
delete_account=Elimina Account
|
||||||
delete_prompt=L'operazione eliminerà permanentemente l'account e <strong>NON POTRÀ</strong> essere annullata!
|
delete_prompt=L'operazione eliminerà permanentemente l'account e <strong>NON POTRÀ</strong> essere annullata!
|
||||||
@@ -391,7 +403,9 @@ owner=Proprietario
|
|||||||
repo_name=Nome Repository
|
repo_name=Nome Repository
|
||||||
repo_name_helper=I migliori nomi dei repository sono brevi, facili da memorizzare e <strong>univoci</strong>.
|
repo_name_helper=I migliori nomi dei repository sono brevi, facili da memorizzare e <strong>univoci</strong>.
|
||||||
visibility=Visibilità
|
visibility=Visibilità
|
||||||
|
unlisted=Unlisted
|
||||||
visiblity_helper=Questo repository è <span class="ui red text"> privato</span>
|
visiblity_helper=Questo repository è <span class="ui red text"> privato</span>
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=L'amministratore del sito ha deciso che tutti i nuovi repository devono essere <span class="ui red text">privati</span>
|
visiblity_helper_forced=L'amministratore del sito ha deciso che tutti i nuovi repository devono essere <span class="ui red text">privati</span>
|
||||||
visiblity_fork_helper=(La modifica di questo valore avrà effetto su tutti i fork)
|
visiblity_fork_helper=(La modifica di questo valore avrà effetto su tutti i fork)
|
||||||
clone_helper=Hai bisogno di aiuto per la clonazione? Visita <a target="_blank" href="%s">Aiuto</a>!
|
clone_helper=Hai bisogno di aiuto per la clonazione? Visita <a target="_blank" href="%s">Aiuto</a>!
|
||||||
@@ -409,7 +423,7 @@ auto_init=Inizializzare questo repository con i file e il modello selezionati
|
|||||||
create_repo=Crea Repository
|
create_repo=Crea Repository
|
||||||
default_branch=Ramo (Branch) predefinito
|
default_branch=Ramo (Branch) predefinito
|
||||||
mirror_prune=Rimuovi
|
mirror_prune=Rimuovi
|
||||||
mirror_prune_desc=Remove any remote-tracking references that no longer exist on the remote
|
mirror_prune_desc=Rimuovi ogni riferimento di monitoraggio remoto che non esiste più sul telecomando
|
||||||
mirror_interval=Intervallo Mirror (in ore)
|
mirror_interval=Intervallo Mirror (in ore)
|
||||||
mirror_address=Indirizzo del mirror
|
mirror_address=Indirizzo del mirror
|
||||||
mirror_address_desc=Si prega di includere nell'indirizzo le credenziali utente necessarie.
|
mirror_address_desc=Si prega di includere nell'indirizzo le credenziali utente necessarie.
|
||||||
@@ -417,10 +431,11 @@ mirror_last_synced=Ultimo aggiornamento
|
|||||||
watchers=Osservatori
|
watchers=Osservatori
|
||||||
stargazers=Fan
|
stargazers=Fan
|
||||||
forks=Fork
|
forks=Fork
|
||||||
|
repo_description_helper=Descrizione della repository. Lunghezza massima di 512 caratteri.
|
||||||
|
repo_description_length=Caratteri disponibili
|
||||||
|
|
||||||
form.reach_limit_of_creation=Il proprietario ha raggiunto il limite massimo di %d repository creati.
|
form.reach_limit_of_creation=Il proprietario ha raggiunto il limite massimo di %d repository creati.
|
||||||
form.name_reserved=Il nome repository %s è riservato.
|
form.name_not_allowed=Nome della repository o schema %q non consentiti.
|
||||||
form.name_pattern_not_allowed=La struttura del nome del repository %s non è consentita.
|
|
||||||
|
|
||||||
need_auth=Richiesta di autorizzazione
|
need_auth=Richiesta di autorizzazione
|
||||||
migrate_type=Tipo di migrazione
|
migrate_type=Tipo di migrazione
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=Può essere un url HTTP/HTTPS/GIT.
|
|||||||
migrate.clone_address_desc_import_local=Puoi anche migrare un repository usando un path locale sul server.
|
migrate.clone_address_desc_import_local=Puoi anche migrare un repository usando un path locale sul server.
|
||||||
migrate.permission_denied=Non è consentito importare repository locali.
|
migrate.permission_denied=Non è consentito importare repository locali.
|
||||||
migrate.invalid_local_path=Percorso locale non valido, non esiste o non è una cartella.
|
migrate.invalid_local_path=Percorso locale non valido, non esiste o non è una cartella.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=Migrazione non riuscita: %v
|
migrate.failed=Migrazione non riuscita: %v
|
||||||
|
|
||||||
mirror_from=mirror da
|
mirror_from=mirror da
|
||||||
@@ -463,7 +479,7 @@ pulls=Pull Requests
|
|||||||
labels=Etichette
|
labels=Etichette
|
||||||
milestones=Traguardi
|
milestones=Traguardi
|
||||||
commits=Commit
|
commits=Commit
|
||||||
git_branches=Branches
|
git_branches=Rami (Branch)
|
||||||
releases=Rilasci
|
releases=Rilasci
|
||||||
file_raw=Originale
|
file_raw=Originale
|
||||||
file_history=Cronologia
|
file_history=Cronologia
|
||||||
@@ -472,12 +488,14 @@ file_permalink=Permalink
|
|||||||
file_too_large=Questo file è troppo grande per essere mostrato
|
file_too_large=Questo file è troppo grande per essere mostrato
|
||||||
video_not_supported_in_browser=Il tuo browser non supporta i tag "video" di HTML5.
|
video_not_supported_in_browser=Il tuo browser non supporta i tag "video" di HTML5.
|
||||||
|
|
||||||
branches.overview=Overview
|
branches.overview=Panoramica
|
||||||
branches.active_branches=Active Branches
|
branches.active_branches=Rami (Branch) attivi
|
||||||
branches.stale_branches=Stale Branches
|
branches.stale_branches=Stale Branches
|
||||||
branches.all=All Branches
|
branches.all=Tutti i rami (branch)
|
||||||
branches.updated_by=Updated %[1]s by %[2]s
|
branches.updated_by=Updated %[1]s by %[2]s
|
||||||
branches.change_default_branch=Change Default Branch
|
branches.change_default_branch=Cambia branch di default
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Nuovo file
|
editor.new_file=Nuovo file
|
||||||
editor.upload_file=Carica File
|
editor.upload_file=Carica File
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=Il file è stato cambiato in un'altra posizion
|
|||||||
editor.file_already_exists=Un file di nome '%s' esiste già in questo repository.
|
editor.file_already_exists=Un file di nome '%s' esiste già in questo repository.
|
||||||
editor.no_changes_to_show=Nessuna modifica da mostrare.
|
editor.no_changes_to_show=Nessuna modifica da mostrare.
|
||||||
editor.fail_to_update_file=La creazione o la modifica del file '%s' è fallita: %v
|
editor.fail_to_update_file=La creazione o la modifica del file '%s' è fallita: %v
|
||||||
|
editor.fail_to_delete_file=Failed to delete file '%s' with error: %v
|
||||||
editor.add_subdir=Aggiungi sottocartella...
|
editor.add_subdir=Aggiungi sottocartella...
|
||||||
editor.unable_to_upload_files=È fallito il caricamento dei file su '%s': %v
|
editor.unable_to_upload_files=È fallito il caricamento dei file su '%s': %v
|
||||||
editor.upload_files_to_dir=Carica file su '%s'
|
editor.upload_files_to_dir=Carica file su '%s'
|
||||||
@@ -576,8 +595,8 @@ issues.next=Pagina successiva
|
|||||||
issues.open_title=Aperto
|
issues.open_title=Aperto
|
||||||
issues.closed_title=Chiuso
|
issues.closed_title=Chiuso
|
||||||
issues.num_comments=%d commenti
|
issues.num_comments=%d commenti
|
||||||
issues.commented_at=`commented <a href="#%s">%s</a>`
|
issues.commented_at=`ha commentato <a href="#%s">%s</a>`
|
||||||
issues.delete_comment_confirm=Are you sure you want to delete this comment?
|
issues.delete_comment_confirm=Sei sicuro/a di voler eliminare questo commento?
|
||||||
issues.no_content=Non ci sono ancora contenuti.
|
issues.no_content=Non ci sono ancora contenuti.
|
||||||
issues.close_issue=Chiudi
|
issues.close_issue=Chiudi
|
||||||
issues.close_comment_issue=Commenta e chiudi
|
issues.close_comment_issue=Commenta e chiudi
|
||||||
@@ -633,10 +652,11 @@ pulls.can_auto_merge_desc=La pull request può essere mergiata automaticamente.
|
|||||||
pulls.cannot_auto_merge_desc=Questa pull request non può essere mergiata automaticamente perchè ci sono dei conflitti.
|
pulls.cannot_auto_merge_desc=Questa pull request non può essere mergiata automaticamente perchè ci sono dei conflitti.
|
||||||
pulls.cannot_auto_merge_helper=Effettua il merge manualmente per risolvere i conflitti.
|
pulls.cannot_auto_merge_helper=Effettua il merge manualmente per risolvere i conflitti.
|
||||||
pulls.create_merge_commit=Create a merge commit
|
pulls.create_merge_commit=Create a merge commit
|
||||||
pulls.rebase_before_merging=Rebase before merging
|
pulls.rebase_before_merging=Effettua un Rebase prima del Merge
|
||||||
|
pulls.commit_description=Descrizione del Commit
|
||||||
pulls.merge_pull_request=Unisci Pull Request
|
pulls.merge_pull_request=Unisci Pull Request
|
||||||
pulls.open_unmerged_pull_exists=`You can't perform reopen operation because there is already an open pull request (#%d) from same repository with same merge information and is waiting for merging.`
|
pulls.open_unmerged_pull_exists=`You can't perform reopen operation because there is already an open pull request (#%d) from same repository with same merge information and is waiting for merging.`
|
||||||
pulls.delete_branch=Delete Branch
|
pulls.delete_branch=Elimina Ramo
|
||||||
pulls.delete_branch_has_new_commits=Branch cannot be deleted because it has new commits after mergence.
|
pulls.delete_branch_has_new_commits=Branch cannot be deleted because it has new commits after mergence.
|
||||||
|
|
||||||
milestones.new=Nuova Milestone
|
milestones.new=Nuova Milestone
|
||||||
@@ -684,62 +704,62 @@ wiki.last_updated=Ultimo aggiornamento: %s
|
|||||||
settings=Impostazioni
|
settings=Impostazioni
|
||||||
settings.options=Opzioni
|
settings.options=Opzioni
|
||||||
settings.collaboration=Collaborazione
|
settings.collaboration=Collaborazione
|
||||||
settings.collaboration.admin=Admin
|
settings.collaboration.admin=Amministratore
|
||||||
settings.collaboration.write=Write
|
settings.collaboration.write=Scrivi
|
||||||
settings.collaboration.read=Read
|
settings.collaboration.read=Leggi
|
||||||
settings.collaboration.undefined=Undefined
|
settings.collaboration.undefined=Indefinito
|
||||||
settings.branches=Branches
|
settings.branches=Divisioni
|
||||||
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
|
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
|
||||||
settings.default_branch=Default Branch
|
settings.default_branch=Ramo di default
|
||||||
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
|
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
|
||||||
settings.update=Aggiorna
|
settings.update=Aggiorna
|
||||||
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server.
|
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server.
|
||||||
settings.update_default_branch_success=Default branch of this repository has been updated successfully!
|
settings.update_default_branch_success=Default branch of this repository has been updated successfully!
|
||||||
settings.protected_branches=Branch protetti
|
settings.protected_branches=Branch protetti
|
||||||
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers.
|
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers.
|
||||||
settings.choose_a_branch=Choose a branch...
|
settings.choose_a_branch=Scegli un ramo...
|
||||||
settings.branch_protection=Branch Protection
|
settings.branch_protection=Protezione Ramo
|
||||||
settings.branch_protection_desc=Please choose protect options for branch <b>%s</b>.
|
settings.branch_protection_desc=Please choose protect options for branch <b>%s</b>.
|
||||||
settings.protect_this_branch=Protect this branch
|
settings.protect_this_branch=Proteggere questo ramo
|
||||||
settings.protect_this_branch_desc=Disable force pushes and prevent from deletion.
|
settings.protect_this_branch_desc=Disable force pushes and prevent from deletion.
|
||||||
settings.protect_require_pull_request=Require pull request instead direct pushing
|
settings.protect_require_pull_request=Require pull request instead direct pushing
|
||||||
settings.protect_require_pull_request_desc=Enable this option to disable direct pushing to this branch. Commits have to be pushed to another non-protected branch and merged to this branch through pull request.
|
settings.protect_require_pull_request_desc=Enable this option to disable direct pushing to this branch. Commits have to be pushed to another non-protected branch and merged to this branch through pull request.
|
||||||
settings.protect_whitelist_committers=Whitelist who can push to this branch
|
settings.protect_whitelist_committers=Whitelist who can push to this branch
|
||||||
settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check.
|
settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check.
|
||||||
settings.protect_whitelist_users=Users who can push to this branch
|
settings.protect_whitelist_users=Users who can push to this branch
|
||||||
settings.protect_whitelist_search_users=Search users
|
settings.protect_whitelist_search_users=Cerca utenti
|
||||||
settings.protect_whitelist_teams=Teams for which members of them can push to this branch
|
settings.protect_whitelist_teams=Teams for which members of them can push to this branch
|
||||||
settings.protect_whitelist_search_teams=Search teams
|
settings.protect_whitelist_search_teams=Cerca Teams
|
||||||
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
|
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
|
||||||
settings.hooks=Webhooks
|
settings.hooks=Webhooks
|
||||||
settings.githooks=Git Hooks
|
settings.githooks=Git Hooks
|
||||||
settings.basic_settings=Impostazioni di Base
|
settings.basic_settings=Impostazioni di Base
|
||||||
settings.mirror_settings=Mirror Settings
|
settings.mirror_settings=Impostazioni mirror
|
||||||
settings.sync_mirror=Sync Now
|
settings.sync_mirror=Sincronizza ora
|
||||||
settings.mirror_sync_in_progress=Mirror syncing is in progress, please refresh page in about a minute.
|
settings.mirror_sync_in_progress=Sincronizzazione del mirror in corso, aggiorna la pagina tra un minuto.
|
||||||
settings.site=Sito Ufficiale
|
settings.site=Sito Ufficiale
|
||||||
settings.update_settings=Aggiorna Impostazioni
|
settings.update_settings=Aggiorna Impostazioni
|
||||||
settings.change_reponame_prompt=Questa modifica influirà i link al repository.
|
settings.change_reponame_prompt=Questa modifica influirà i link al repository.
|
||||||
settings.advanced_settings=Opzioni avanzate
|
settings.advanced_settings=Opzioni avanzate
|
||||||
settings.wiki_desc=Enable wiki system
|
settings.wiki_desc=Abilita wiki
|
||||||
settings.use_internal_wiki=Use builtin wiki
|
settings.use_internal_wiki=Usa wiki incorporato
|
||||||
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
|
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
|
||||||
settings.use_external_wiki=Usa Wiki esterno
|
settings.use_external_wiki=Usa Wiki esterno
|
||||||
settings.external_wiki_url=URL Wiki esterno
|
settings.external_wiki_url=URL Wiki esterno
|
||||||
settings.external_wiki_url_desc=I visitatori verranno reindirizzati all'URL quando cliccano sulla scheda.
|
settings.external_wiki_url_desc=I visitatori verranno reindirizzati all'URL quando cliccano sulla scheda.
|
||||||
settings.issues_desc=Enable issue tracker
|
settings.issues_desc=Abilita tracking problemi
|
||||||
settings.use_internal_issue_tracker=Use builtin lightweight issue tracker
|
settings.use_internal_issue_tracker=Utilizza il segnalatore di problemi integrato (molto leggero)
|
||||||
settings.allow_public_issues_desc=Allow public access to issues when repository is private
|
settings.allow_public_issues_desc=Allow public access to issues when repository is private
|
||||||
settings.use_external_issue_tracker=Utilizza gestore di problemi esterno
|
settings.use_external_issue_tracker=Utilizza gestore di problemi esterno
|
||||||
settings.external_tracker_url=External Issue Tracker URL
|
settings.external_tracker_url=URL di un segnalatore di problemi esterno
|
||||||
settings.external_tracker_url_desc=Visitors will be redirected to URL when they click on the tab.
|
settings.external_tracker_url_desc=I visitatori verranno reindirizzati all'URL quando faranno click sulla scheda.
|
||||||
settings.tracker_url_format=Formato URL Gestore Problemi Esterno
|
settings.tracker_url_format=Formato URL Gestore Problemi Esterno
|
||||||
settings.tracker_issue_style=External Issue Tracker Naming Style:
|
settings.tracker_issue_style=External Issue Tracker Naming Style:
|
||||||
settings.tracker_issue_style.numeric=Numeric
|
settings.tracker_issue_style.numeric=Numerico
|
||||||
settings.tracker_issue_style.alphanumeric=Alphanumeric
|
settings.tracker_issue_style.alphanumeric=Alfanumerico
|
||||||
settings.tracker_url_format_desc=You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index.
|
settings.tracker_url_format_desc=You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index.
|
||||||
settings.pulls_desc=Abilita le pull requests per accettare contributi pubblici
|
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches
|
||||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
settings.pulls.ignore_whitespace=Ignora cambiamenti di spazi bianchi
|
||||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||||
settings.danger_zone=Zona Pericolosa
|
settings.danger_zone=Zona Pericolosa
|
||||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=Questo utente non potrà più collaborare a
|
|||||||
settings.remove_collaborator_success=Il collaboratore è stato rimosso.
|
settings.remove_collaborator_success=Il collaboratore è stato rimosso.
|
||||||
settings.search_user_placeholder=Cerca utente...
|
settings.search_user_placeholder=Cerca utente...
|
||||||
settings.org_not_allowed_to_be_collaborator=Un'organizzazione non può essere aggiunta come collaboratore.
|
settings.org_not_allowed_to_be_collaborator=Un'organizzazione non può essere aggiunta come collaboratore.
|
||||||
settings.add_webhook=Aggiungi Webhook
|
|
||||||
settings.hooks_desc=I Webhooks sono molto simili a un basilare evento trigger HTTP POST. Ogni volta che qualcosa si verifica in Gogs, tratteremo la notifica all'host di destinazione specificato. Ulteriori informazioni in questa <a target="_blank" href="%s">Guida ai Webhooks</a>.
|
settings.hooks_desc=I Webhooks sono molto simili a un basilare evento trigger HTTP POST. Ogni volta che qualcosa si verifica in Gogs, tratteremo la notifica all'host di destinazione specificato. Ulteriori informazioni in questa <a target="_blank" href="%s">Guida ai Webhooks</a>.
|
||||||
|
settings.webhooks.add_new=Add a new webhook:
|
||||||
|
settings.webhooks.choose_a_type=Choose a type...
|
||||||
|
settings.add_webhook=Aggiungi Webhook
|
||||||
settings.webhook_deletion=Elimina Webhook
|
settings.webhook_deletion=Elimina Webhook
|
||||||
settings.webhook_deletion_desc=Delete this webhook will remove its information and all delivery history. Do you want to continue?
|
settings.webhook_deletion_desc=Delete this webhook will remove its information and all delivery history. Do you want to continue?
|
||||||
settings.webhook_deletion_success=Il Webhook è stato eliminato con successo!
|
settings.webhook_deletion_success=Il Webhook è stato eliminato con successo!
|
||||||
@@ -792,6 +814,8 @@ settings.webhook.response=Risposta
|
|||||||
settings.webhook.headers=Headers
|
settings.webhook.headers=Headers
|
||||||
settings.webhook.payload=Payload
|
settings.webhook.payload=Payload
|
||||||
settings.webhook.body=Body
|
settings.webhook.body=Body
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=Gli Hooks di Git sono una funzionalità di Git stesso, puoi modificare i file degli hooks supportati nell'elenco qui sotto per compiere azioni personalizzate.
|
settings.githooks_desc=Gli Hooks di Git sono una funzionalità di Git stesso, puoi modificare i file degli hooks supportati nell'elenco qui sotto per compiere azioni personalizzate.
|
||||||
settings.githook_edit_desc=Se l'hook è inattivo, sarà presentato un contenuto esempio. Lasciando il contenuto vuoto disattiverai questo hook.
|
settings.githook_edit_desc=Se l'hook è inattivo, sarà presentato un contenuto esempio. Lasciando il contenuto vuoto disattiverai questo hook.
|
||||||
settings.githook_name=Nome hook
|
settings.githook_name=Nome hook
|
||||||
@@ -811,19 +835,19 @@ settings.event_send_everything=Ho bisogno di <strong>tutto</strong>.
|
|||||||
settings.event_choose=Lasciami scegliere ciò di cui ho bisogno.
|
settings.event_choose=Lasciami scegliere ciò di cui ho bisogno.
|
||||||
settings.event_create=Crea
|
settings.event_create=Crea
|
||||||
settings.event_create_desc=Branch, o tag creato
|
settings.event_create_desc=Branch, o tag creato
|
||||||
settings.event_delete=Delete
|
settings.event_delete=Elimina
|
||||||
settings.event_delete_desc=Branch or tag deleted
|
settings.event_delete_desc=Branch o tag eliminato
|
||||||
settings.event_fork=Forka
|
settings.event_fork=Forka
|
||||||
settings.event_fork_desc=Repository Forkata
|
settings.event_fork_desc=Repository Forkata
|
||||||
settings.event_push=Push
|
settings.event_push=Push
|
||||||
settings.event_push_desc=Git push in un repository
|
settings.event_push_desc=Git push in un repository
|
||||||
settings.event_issues=Issues
|
settings.event_issues=Problemi
|
||||||
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
||||||
settings.event_issue_comment=Issue Comment
|
|
||||||
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
|
||||||
settings.event_pull_request=Pull request
|
settings.event_pull_request=Pull request
|
||||||
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
||||||
settings.event_release=Release
|
settings.event_issue_comment=Issue Comment
|
||||||
|
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
||||||
|
settings.event_release=Versione
|
||||||
settings.event_release_desc=Release published in a repository.
|
settings.event_release_desc=Release published in a repository.
|
||||||
settings.active=Attivo
|
settings.active=Attivo
|
||||||
settings.active_helper=Anche i dettagli riguardanti l'evento che ha innescato l'hook saranno inviati.
|
settings.active_helper=Anche i dettagli riguardanti l'evento che ha innescato l'hook saranno inviati.
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=La nuova deploy key '%s' è stata aggiunta con successo
|
|||||||
settings.deploy_key_deletion=Elimina Deploy Key
|
settings.deploy_key_deletion=Elimina Deploy Key
|
||||||
settings.deploy_key_deletion_desc=Cancellando questa deploy key verrà rismosso ogni accesso relativo a questa repository. Vuoi continuare?
|
settings.deploy_key_deletion_desc=Cancellando questa deploy key verrà rismosso ogni accesso relativo a questa repository. Vuoi continuare?
|
||||||
settings.deploy_key_deletion_success=Deploy key eliminata con successo!
|
settings.deploy_key_deletion_success=Deploy key eliminata con successo!
|
||||||
|
settings.description_desc=Description of repository. Maximum 512 characters length.
|
||||||
|
settings.description_length=Available characters
|
||||||
|
|
||||||
diff.browse_source=Sfoglia il codice sorgente
|
diff.browse_source=Sfoglia il codice sorgente
|
||||||
diff.parent=parent
|
diff.parent=parent
|
||||||
@@ -889,12 +915,12 @@ release.cancel=Annulla
|
|||||||
release.publish=Pubblica Rilascio
|
release.publish=Pubblica Rilascio
|
||||||
release.save_draft=Salva Bozza
|
release.save_draft=Salva Bozza
|
||||||
release.edit_release=Modifica Rilascio
|
release.edit_release=Modifica Rilascio
|
||||||
release.delete_release=Cancela questa Release
|
release.delete_release=Cancella questa Release
|
||||||
release.deletion=Eliminazione Release
|
release.deletion=Eliminazione Release
|
||||||
release.deletion_desc=Eliminando questa release cancellarai anche i tag Git corrispondenti. Vuoi continuare?
|
release.deletion_desc=Eliminando questa release cancellarai anche i tag Git corrispondenti. Vuoi continuare?
|
||||||
release.deletion_success=La release è stata eliminata con successo!
|
release.deletion_success=La release è stata eliminata con successo!
|
||||||
release.tag_name_already_exist=Un rilascio con questo tag esiste già.
|
release.tag_name_already_exist=Un rilascio con questo tag esiste già.
|
||||||
release.tag_name_invalid=Tag name is not valid.
|
release.tag_name_invalid=Il nome del Tag non è valido.
|
||||||
release.downloads=Download
|
release.downloads=Download
|
||||||
|
|
||||||
[org]
|
[org]
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=Verrà usato questo nome per riferirsi a questo team nella conv
|
|||||||
team_desc_helper=In cosa consiste questo team?
|
team_desc_helper=In cosa consiste questo team?
|
||||||
team_permission_desc=Quale livello di autorizzazione dovrebbe avere questa squadra?
|
team_permission_desc=Quale livello di autorizzazione dovrebbe avere questa squadra?
|
||||||
|
|
||||||
form.name_reserved=Il nome organizzazione '%s' è riservato.
|
form.name_not_allowed=Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=La struttura del nome dell'organizzazione '%s' non è consentita.
|
form.team_name_not_allowed=Team name or pattern %q is not allowed.
|
||||||
form.team_name_reserved=Team name '%s' is reserved.
|
|
||||||
|
|
||||||
settings=Impostazioni
|
settings=Impostazioni
|
||||||
settings.options=Opzioni
|
settings.options=Opzioni
|
||||||
@@ -990,12 +1015,19 @@ first_page=Prima
|
|||||||
last_page=Ultima
|
last_page=Ultima
|
||||||
total=Totale: %d
|
total=Totale: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Build Information
|
||||||
|
dashboard.app_ver=Application version
|
||||||
|
dashboard.git_version=Git version
|
||||||
|
dashboard.go_version=Go version
|
||||||
|
dashboard.build_time=Build time
|
||||||
|
dashboard.build_commit=Build commit
|
||||||
dashboard.statistic=Statistiche
|
dashboard.statistic=Statistiche
|
||||||
dashboard.operations=Operazioni
|
dashboard.operations=Operazioni
|
||||||
dashboard.system_status=Stato del Monitor di Sistema
|
dashboard.system_status=Stato del Monitor di Sistema
|
||||||
dashboard.statistic_info=Il database di Gogs ha <b>%d</b> utenti, <b>%d</b> organizzazioni, <b>%d</b> chiavi pubbliche, <b>%d</b> repository, <b>%d</b> utenti che seguono, <b>%d</b> voti, <b>%d</b> azioni, <b>%d</b> accessi, <b>%d</b> problemi, <b>%d</b> commenti, <b>%d</b> account sociali, <b>%d</b> utenti seguiti, <b>%d</b> mirror, <b>%d</b> rilasci, <b>%d</b> fonti di accesso, <b>%d</b> webhook, <b>%d</b> traguardi, <b>%d</b> etichette, <b>%d</b> incarichi hook, <b>%d</b> team, <b>%d</b> attività di aggiornamento, <b>%d</b> allegati.
|
dashboard.statistic_info=Il database di Gogs ha <b>%d</b> utenti, <b>%d</b> organizzazioni, <b>%d</b> chiavi pubbliche, <b>%d</b> repository, <b>%d</b> utenti che seguono, <b>%d</b> voti, <b>%d</b> azioni, <b>%d</b> accessi, <b>%d</b> problemi, <b>%d</b> commenti, <b>%d</b> account sociali, <b>%d</b> utenti seguiti, <b>%d</b> mirror, <b>%d</b> rilasci, <b>%d</b> fonti di accesso, <b>%d</b> webhook, <b>%d</b> traguardi, <b>%d</b> etichette, <b>%d</b> incarichi hook, <b>%d</b> team, <b>%d</b> attività di aggiornamento, <b>%d</b> allegati.
|
||||||
dashboard.operation_name=Nome Operazione
|
dashboard.operation_name=Nome Operazione
|
||||||
dashboard.operation_switch=Cambia
|
dashboard.operation_switch=Cambia
|
||||||
|
dashboard.select_operation_to_run=Please select operation to run
|
||||||
dashboard.operation_run=Esegui
|
dashboard.operation_run=Esegui
|
||||||
dashboard.clean_unbind_oauth=Pulire OAuthes non associati
|
dashboard.clean_unbind_oauth=Pulire OAuthes non associati
|
||||||
dashboard.clean_unbind_oauth_success=Tutti gli OAuthes non associati eliminati con successo.
|
dashboard.clean_unbind_oauth_success=Tutti gli OAuthes non associati eliminati con successo.
|
||||||
@@ -1085,13 +1117,14 @@ repos.private=Privati
|
|||||||
repos.watches=Segue
|
repos.watches=Segue
|
||||||
repos.stars=Voti
|
repos.stars=Voti
|
||||||
repos.issues=Problemi
|
repos.issues=Problemi
|
||||||
repos.size=Size
|
repos.size=Dimensione
|
||||||
|
|
||||||
auths.auth_manage_panel=Pannello di configurazione dei meccanismi di autenticazione
|
auths.auth_sources=Authentication Sources
|
||||||
auths.new=Aggiungi Nuova Origine
|
auths.new=Aggiungi Nuova Origine
|
||||||
auths.name=Nome
|
auths.name=Nome
|
||||||
auths.type=Tipo
|
auths.type=Tipo
|
||||||
auths.enabled=Attivo
|
auths.enabled=Attivo
|
||||||
|
auths.default=Default
|
||||||
auths.updated=Aggiornato
|
auths.updated=Aggiornato
|
||||||
auths.auth_type=Tipo di autenticazione
|
auths.auth_type=Tipo di autenticazione
|
||||||
auths.auth_name=Nome di autenticazione
|
auths.auth_name=Nome di autenticazione
|
||||||
@@ -1110,7 +1143,7 @@ auths.attribute_username_placeholder=Se vuoto, verrà usato il nome di login del
|
|||||||
auths.attribute_name=First Name Attribute
|
auths.attribute_name=First Name Attribute
|
||||||
auths.attribute_surname=Attributo Cognome
|
auths.attribute_surname=Attributo Cognome
|
||||||
auths.attribute_mail=Attributo Email
|
auths.attribute_mail=Attributo Email
|
||||||
auths.verify_group_membership=Verify group membership
|
auths.verify_group_membership=Verifica gruppo di appartenenza
|
||||||
auths.group_search_base_dn=Group Search Base DN
|
auths.group_search_base_dn=Group Search Base DN
|
||||||
auths.group_filter=Group Filter
|
auths.group_filter=Group Filter
|
||||||
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
|
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
|
||||||
@@ -1128,9 +1161,9 @@ auths.enable_tls=Abilitare Crittografia TLS
|
|||||||
auths.skip_tls_verify=Salta verifica TLS
|
auths.skip_tls_verify=Salta verifica TLS
|
||||||
auths.pam_service_name=Nome del Servizio PAM
|
auths.pam_service_name=Nome del Servizio PAM
|
||||||
auths.enable_auto_register=Abilitare Registrazione Automatica
|
auths.enable_auto_register=Abilitare Registrazione Automatica
|
||||||
auths.tips=Consigli
|
|
||||||
auths.edit=Modifica impostazioni di autenticazione
|
auths.edit=Modifica impostazioni di autenticazione
|
||||||
auths.activated=Questa Autenticazione è stata attivata
|
auths.activated=Questa Autenticazione è stata attivata
|
||||||
|
auths.default_auth=This authentication is default login source
|
||||||
auths.new_success=Nuovo meccanismo di autenticazione '%s' aggiunto.
|
auths.new_success=Nuovo meccanismo di autenticazione '%s' aggiunto.
|
||||||
auths.update_success=Parametro di autenticazione aggiornato.
|
auths.update_success=Parametro di autenticazione aggiornato.
|
||||||
auths.update=Aggiornare le impostazioni di autenticazione
|
auths.update=Aggiornare le impostazioni di autenticazione
|
||||||
@@ -1140,122 +1173,188 @@ auths.delete_auth_desc=Eliminazione del meccanismo di autenticazione. Continuare
|
|||||||
auths.still_in_used=Questo meccanismo di autenticazione è ancora attivo per alcuni utenti. Eliminare gli utenti o cambiare il loro meccanismo di autenticazione prima di ritentare.
|
auths.still_in_used=Questo meccanismo di autenticazione è ancora attivo per alcuni utenti. Eliminare gli utenti o cambiare il loro meccanismo di autenticazione prima di ritentare.
|
||||||
auths.deletion_success=Il meccanismo di autenticazione è stato eliminato!
|
auths.deletion_success=Il meccanismo di autenticazione è stato eliminato!
|
||||||
auths.login_source_exist=La fonte di autenticazione '%s' esiste già.
|
auths.login_source_exist=La fonte di autenticazione '%s' esiste già.
|
||||||
|
auths.github_api_endpoint=API Endpoint
|
||||||
|
|
||||||
config.not_set=(not set)
|
config.not_set=(non impostata)
|
||||||
config.server_config=Configurazione Server
|
config.server_config=Configurazione Server
|
||||||
config.app_name=Nome Applicazione
|
config.brand_name=Brand name
|
||||||
config.app_ver=Versione Applicazione
|
|
||||||
config.app_url=URL Applicazione
|
|
||||||
config.domain=Dominio
|
|
||||||
config.offline_mode=Modalità Offline
|
|
||||||
config.disable_router_log=Disattivare Log del Router
|
|
||||||
config.run_user=Utente Esecutore
|
config.run_user=Utente Esecutore
|
||||||
config.run_mode=Modalità Esecuzione
|
config.run_mode=Modalità Esecuzione
|
||||||
config.git_version=Versione Git
|
config.server.external_url=External URL
|
||||||
config.static_file_root_path=Percorso Root del File Statico
|
config.server.domain=Domain
|
||||||
config.log_file_root_path=Percorso Root del File di Log
|
config.server.protocol=Protocol
|
||||||
config.reverse_auth_user=Autenticazione Utente Inversa
|
config.server.http_addr=HTTP address
|
||||||
|
config.server.http_port=HTTP port
|
||||||
|
config.server.cert_file=Certificate file
|
||||||
|
config.server.key_file=Key file
|
||||||
|
config.server.tls_min_version=Minimum TLS version
|
||||||
|
config.server.unix_socket_permission=Unix socket permission
|
||||||
|
config.server.local_root_url=Local root URL
|
||||||
|
config.server.offline_mode=Offline mode
|
||||||
|
config.server.disable_router_log=Disable router log
|
||||||
|
config.server.enable_gzip=Abilita Gzip
|
||||||
|
config.server.app_data_path=Application data path
|
||||||
|
config.server.load_assets_from_disk=Load assets from disk
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
config.ssh_config=Configurazione SSH
|
config.ssh_config=Configurazione SSH
|
||||||
config.ssh_enabled=Attivo
|
config.ssh.enabled=Enabled
|
||||||
config.ssh_start_builtin_server=Avvia server builtin
|
config.ssh.domain=Exposed domain
|
||||||
config.ssh_domain=Dominio
|
config.ssh.port=Exposed port
|
||||||
config.ssh_port=Porta
|
config.ssh.root_path=Root path
|
||||||
config.ssh_listen_port=Porta in ascolto
|
config.ssh.keygen_path=Keygen path
|
||||||
config.ssh_root_path=Percorso Root
|
config.ssh.key_test_path=Key test path
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Minimum key size check
|
||||||
config.ssh_key_test_path=Percorso chiave di test
|
config.ssh.minimum_key_sizes=Minimum key sizes
|
||||||
config.ssh_keygen_path=Percorso Keygen ('ssh-keygen')
|
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
|
||||||
config.ssh_minimum_key_size_check=Verifica delle dimensioni minime della chiave
|
config.ssh.start_builtin_server=Start builtin server
|
||||||
config.ssh_minimum_key_sizes=Dimensioni minime della chiave
|
config.ssh.listen_host=Listen host
|
||||||
|
config.ssh.listen_port=Listen port
|
||||||
|
config.ssh.server_ciphers=Server ciphers
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=Repository Configuration
|
config.repo_config=Configurazione Repository
|
||||||
config.repo_root_path=Percorso Root del Repository
|
config.repo.root_path=Root path
|
||||||
config.script_type=Tipo di Script
|
config.repo.script_type=Script type
|
||||||
config.repo_force_private=Force Private
|
config.repo.ansi_chatset=ANSI charset
|
||||||
config.max_creation_limit=Max Creation Limit
|
config.repo.force_private=Force private
|
||||||
config.preferred_licenses=Preferred Licenses
|
config.repo.max_creation_limit=Max creation limit
|
||||||
config.disable_http_git=Disable HTTP Git
|
config.repo.preferred_licenses=Preferred licenses
|
||||||
config.enable_local_path_migration=Enable Local Path Migration
|
config.repo.disable_http_git=Disable HTTP Git
|
||||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
config.http_config=HTTP Configuration
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Upload enabled
|
||||||
|
config.repo.upload.temp_path=Upload temporary path
|
||||||
|
config.repo.upload.allowed_types=Upload allowed types
|
||||||
|
config.repo.upload.file_max_size=Upload file size limit
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=Configurazione Database
|
config.db_config=Configurazione Database
|
||||||
config.db_type=Tipo
|
config.db.type=Tipo
|
||||||
config.db_host=Host
|
config.db.host=Host
|
||||||
config.db_name=Nome
|
config.db.name=Nome
|
||||||
config.db_user=Utente
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=Modalità SSL
|
config.db.schema_helper=(for "postgres" only)
|
||||||
config.db_ssl_mode_helper=(solo per "postgres")
|
config.db.user=Utente
|
||||||
config.db_path=Percorso
|
config.db.ssl_mode=modalità SSL
|
||||||
config.db_path_helper=(per "sqlite3" e "tidb")
|
config.db.ssl_mode_helper=(solo per "postgres")
|
||||||
|
config.db.path=Percorso
|
||||||
|
config.db.path_helper=(solo per "sqlite3")
|
||||||
|
config.db.max_open_conns=Maximum open connections
|
||||||
|
config.db.max_idle_conns=Maximum idle connections
|
||||||
|
|
||||||
config.service_config=Configurazione Servizio
|
config.security_config=Security configuration
|
||||||
config.register_email_confirm=Richiedono Conferma dell'Email
|
config.security.login_remember_days=Login remember days
|
||||||
config.disable_register=Disabilita Registrazione
|
config.security.cookie_remember_name=Remember cookie
|
||||||
config.show_registration_button=Mostra Pulsante Registrazione
|
config.security.cookie_username=Username cookie
|
||||||
config.require_sign_in_view=Richiesto Accesso per Vedere
|
config.security.cookie_secure=Enable secure cookie
|
||||||
config.mail_notify=Email di Notifica
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=Disabilita controllo sulle dimensioni minime della chiave
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=Abilita Captcha
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=Attiva Vita del Codice
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=Reimpostare Password della Vita del Codice
|
|
||||||
|
|
||||||
config.webhook_config=Configurazione Webhook
|
config.email_config=Email configuration
|
||||||
config.queue_length=Lunghezza della coda
|
config.email.enabled=Enabled
|
||||||
config.deliver_timeout=Tempo Limite di Consegna
|
config.email.subject_prefix=Subject prefix
|
||||||
config.skip_tls_verify=Salta verifiche TLS
|
config.email.host=Host
|
||||||
|
config.email.from=Da
|
||||||
|
config.email.user=Utente
|
||||||
|
config.email.disable_helo=Disattiva HELO
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
config.email.skip_verify=Skip certificate verify
|
||||||
|
config.email.use_certificate=Use custom certificate
|
||||||
|
config.email.cert_file=File certificato
|
||||||
|
config.email.key_file=Key file
|
||||||
|
config.email.use_plain_text=Usa testo semplice
|
||||||
|
config.email.add_plain_text_alt=Add plain text alternative
|
||||||
|
config.email.send_test_mail=Invia email di test
|
||||||
|
config.email.test_mail_failed=Failed to send test email to '%s': %v
|
||||||
|
config.email.test_mail_sent=Test email has been sent to '%s'.
|
||||||
|
|
||||||
config.mailer_config=Configurazione Mailer
|
config.auth_config=Authentication configuration
|
||||||
config.mailer_enabled=Attivo
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=Disattiva HELO
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=Host
|
config.auth.require_email_confirm=Require email confirmation
|
||||||
config.mailer_user=Utente
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=Invia email di test
|
config.auth.disable_registration=Disable registration
|
||||||
config.test_mail_failed=Impossibile inviare mail a '%s': %v
|
config.auth.enable_registration_captcha=Enable registration captcha
|
||||||
config.test_mail_sent=Una mail di prova è stata inviata a '%s'.
|
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
config.oauth_config=Configurazione OAuth
|
config.user_config=User configuration
|
||||||
config.oauth_enabled=Attivo
|
config.user.enable_email_notify=Enable email notification
|
||||||
|
|
||||||
config.cache_config=Configurazione Cache
|
|
||||||
config.cache_adapter=Adattatore Cache
|
|
||||||
config.cache_interval=Intervallo Cache
|
|
||||||
config.cache_conn=Connessione Cache
|
|
||||||
|
|
||||||
config.session_config=Configurazione Sessione
|
config.session_config=Configurazione Sessione
|
||||||
config.session_provider=Fornitore Sessione
|
config.session.provider=Provider
|
||||||
config.provider_config=Impostazioni Provider
|
config.session.provider_config=Provider config
|
||||||
config.cookie_name=Nome del Cookie
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=Abilita Uso dei Cookie
|
config.session.https_only=Solo HTTPS
|
||||||
config.gc_interval_time=Intervallo di tempo della GC
|
config.session.gc_interval=GC interval
|
||||||
config.session_life_time=Durata Sessione
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=Solo HTTPS
|
config.session.csrf_cookie_name=Cookie CSRF
|
||||||
config.cookie_life_time=Durata Cookie
|
|
||||||
|
config.cache_config=Configurazione Cache
|
||||||
|
config.cache.adapter=Adattatore
|
||||||
|
config.cache.interval=Intervallo GC
|
||||||
|
config.cache.host=Host
|
||||||
|
|
||||||
|
config.http_config=Configurazione HTTP
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Attivo
|
||||||
|
config.attachment.path=Percorso
|
||||||
|
config.attachment.allowed_types=Allowed types
|
||||||
|
config.attachment.max_size=Size limit
|
||||||
|
config.attachment.max_files=Files limit
|
||||||
|
|
||||||
|
config.release_config=Release configuration
|
||||||
|
config.release.attachment.enabled=Attachment enabled
|
||||||
|
config.release.attachment.allowed_types=Attachment allowed types
|
||||||
|
config.release.attachment.max_size=Attachment size limit
|
||||||
|
config.release.attachment.max_files=Attachment files limit
|
||||||
|
|
||||||
config.picture_config=Configurazione Foto
|
config.picture_config=Configurazione Foto
|
||||||
config.picture_service=Servizio foto
|
config.picture.avatar_upload_path=User avatar upload path
|
||||||
config.disable_gravatar=Disabilita Gravatar
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=Attiva Federated Avatars
|
config.picture.gravatar_source=Gravatar source
|
||||||
|
config.picture.disable_gravatar=Disable Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Mirror configuration
|
||||||
|
config.mirror.default_interval=Default interval
|
||||||
|
|
||||||
|
config.webhook_config=Configurazione Webhook
|
||||||
|
config.webhook.types=Types
|
||||||
|
config.webhook.deliver_timeout=Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify=Skip TLS verify
|
||||||
|
|
||||||
config.git_config=Configurazione Git
|
config.git_config=Configurazione Git
|
||||||
config.git_disable_diff_highlight=Disattiva evidenziazione delle differenze
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
config.git_max_diff_lines=Numero massimo di righe di diff (per singolo file)
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=Numero massimo di caratteri di diff (per singola riga)
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=Numero massimo di file diff mostrati
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=Parametri GC
|
config.git.gc_args=GC arguments
|
||||||
config.git_migrate_timeout=Timeout per la migrazione
|
config.git.migrate_timeout=Migration timeout
|
||||||
config.git_mirror_timeout=Timeoute per l'aggiornamento del mirror
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
config.git_clone_timeout=Timeout per il clone
|
config.git.clone_timeout=Clone timeout
|
||||||
config.git_pull_timeout=Timeout per il pull
|
config.git.pull_timeout=Pull timeout
|
||||||
config.git_gc_timeout=Timeout per le operazioni di GC
|
config.git.gc_timeout=GC timeout
|
||||||
|
|
||||||
|
config.lfs_config=LFS configuration
|
||||||
|
config.lfs.storage=Storage
|
||||||
|
config.lfs.objects_path=Objects path
|
||||||
|
|
||||||
config.log_config=Configurazione Log
|
config.log_config=Configurazione Log
|
||||||
|
config.log_file_root_path=Percorso Root del File di Log
|
||||||
config.log_mode=Modalità
|
config.log_mode=Modalità
|
||||||
config.log_options=Options
|
config.log_options=Opzioni
|
||||||
|
|
||||||
monitor.cron=Incarici di cron
|
monitor.cron=Incarici di cron
|
||||||
monitor.name=Nome
|
monitor.name=Nome
|
||||||
@@ -1284,7 +1383,6 @@ notices.delete_success=Gli avvisi di sistema sono stati successivamente eliminat
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=ha creato il repository <a href="%s">%s</a>
|
create_repo=ha creato il repository <a href="%s">%s</a>
|
||||||
fork_repo=forked a repository to <a href="%s">%s</a>
|
|
||||||
rename_repo=repository rinominato da <code>%[1]s</code> a <a href="%[2]s">[3]s</a>
|
rename_repo=repository rinominato da <code>%[1]s</code> a <a href="%[2]s">[3]s</a>
|
||||||
commit_repo=ha pushato nel <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a>
|
commit_repo=ha pushato nel <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=Visualizza comparazione tra questi %d commit
|
compare_commits=Visualizza comparazione tra questi %d commit
|
||||||
@@ -1301,6 +1399,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
|
|||||||
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=ha pushato il tag <a href="%s/src/%s">%[2]s</a> a <a href="%[1]s">%[3]s</a>
|
push_tag=ha pushato il tag <a href="%s/src/%s">%[2]s</a> a <a href="%[1]s">%[3]s</a>
|
||||||
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
|
fork_repo=forked a repository to <a href="%s">%s</a>
|
||||||
|
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
|
||||||
|
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=fa
|
ago=fa
|
||||||
@@ -1322,6 +1424,7 @@ months=%d mesi %s
|
|||||||
years=%d anni %s
|
years=%d anni %s
|
||||||
raw_seconds=secondi
|
raw_seconds=secondi
|
||||||
raw_minutes=minuti
|
raw_minutes=minuti
|
||||||
|
raw_hours=ore
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Trascina i file qui o clicca per caricare.
|
default_message=Trascina i file qui o clicca per caricare.
|
||||||
|
|||||||
@@ -9,15 +9,14 @@ sign_out=サインアウト
|
|||||||
sign_up=サインアップ
|
sign_up=サインアップ
|
||||||
register=登録
|
register=登録
|
||||||
website=WEBサイト
|
website=WEBサイト
|
||||||
version=バージョン
|
|
||||||
page=ページ
|
page=ページ
|
||||||
template=テンプレート
|
template=テンプレート
|
||||||
language=言語
|
language=言語
|
||||||
create_new=作成...
|
create_new=作成...
|
||||||
user_profile_and_more=ユーザープロファイルなど
|
user_profile_and_more=ユーザープロフィールなど
|
||||||
signed_in_as=サインイン済み
|
signed_in_as=サインイン済み
|
||||||
|
|
||||||
username=ユーザ名
|
username=ユーザー名
|
||||||
email=メールアドレス
|
email=メールアドレス
|
||||||
password=パスワード
|
password=パスワード
|
||||||
re_type=再入力
|
re_type=再入力
|
||||||
@@ -44,6 +43,10 @@ issues=課題
|
|||||||
|
|
||||||
cancel=キャンセル
|
cancel=キャンセル
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=ページが見つかりません
|
||||||
|
internal_server_error=サーバ内部エラー
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=インストール
|
install=インストール
|
||||||
title=インストールをする前に必要な準備をしましょう
|
title=インストールをする前に必要な準備をしましょう
|
||||||
@@ -52,13 +55,14 @@ requite_db_desc=Gogs は、MySQL、PostgreSQL、SQLite3 または TiDB が必要
|
|||||||
db_title=データベース設定
|
db_title=データベース設定
|
||||||
db_type=データベースの種類
|
db_type=データベースの種類
|
||||||
host=ホスト
|
host=ホスト
|
||||||
user=ユーザ
|
user=ユーザー
|
||||||
password=パスワード
|
password=パスワード
|
||||||
db_name=データベース名
|
db_name=データベース名
|
||||||
|
db_schema=Schema
|
||||||
db_helper=MySQLではエンジンがINNODB、文字セットがutf8_general_ciである必要があります。
|
db_helper=MySQLではエンジンがINNODB、文字セットがutf8_general_ciである必要があります。
|
||||||
ssl_mode=SSL モード
|
ssl_mode=SSL モード
|
||||||
path=パス
|
path=パス
|
||||||
sqlite_helper=SQLite3データベースのファイルパスです。<br>serviceとして起動する場合は、絶対パスを使用してください。
|
sqlite_helper=SQLite3かTiDBのデータベースのファイルパス。<br>サービスとして開始する際には絶対パスを利用してください。
|
||||||
err_empty_db_path=SQLite3 データベースのPATHを空にすることはできません。
|
err_empty_db_path=SQLite3 データベースのPATHを空にすることはできません。
|
||||||
no_admin_and_disable_registration=管理者アカウントを作成せずに登録を無効にすることはできません。
|
no_admin_and_disable_registration=管理者アカウントを作成せずに登録を無効にすることはできません。
|
||||||
err_empty_admin_password=管理者パスワードは空白にできません。
|
err_empty_admin_password=管理者パスワードは空白にできません。
|
||||||
@@ -68,7 +72,7 @@ app_name=アプリケーション名
|
|||||||
app_name_helper=素晴らしい組織名を入れてください!
|
app_name_helper=素晴らしい組織名を入れてください!
|
||||||
repo_path=リポジトリのルートパス
|
repo_path=リポジトリのルートパス
|
||||||
repo_path_helper=すべての Git リモート リポジトリはこのディレクトリに保存されます。
|
repo_path_helper=すべての Git リモート リポジトリはこのディレクトリに保存されます。
|
||||||
run_user=実行ユーザ
|
run_user=実行ユーザー
|
||||||
run_user_helper=ユーザーはリポジトリのルートパスへのアクセス権限、及び Gogs の実行権限を持っている必要があります。
|
run_user_helper=ユーザーはリポジトリのルートパスへのアクセス権限、及び Gogs の実行権限を持っている必要があります。
|
||||||
domain=ドメイン
|
domain=ドメイン
|
||||||
domain_helper=これはSSH用クローンURLに影響します。
|
domain_helper=これはSSH用クローンURLに影響します。
|
||||||
@@ -84,6 +88,7 @@ log_root_path=ログのパス
|
|||||||
log_root_path_helper=ログファイルを書き込むディレクトリ。
|
log_root_path_helper=ログファイルを書き込むディレクトリ。
|
||||||
enable_console_mode=コンソールモードの有効化
|
enable_console_mode=コンソールモードの有効化
|
||||||
enable_console_mode_popup=ファイルモードに加えて、コンソールにもログを表示します。
|
enable_console_mode_popup=ファイルモードに加えて、コンソールにもログを表示します。
|
||||||
|
default_branch=Default Branch
|
||||||
|
|
||||||
optional_title=オプション設定
|
optional_title=オプション設定
|
||||||
email_title=メールサービス設定
|
email_title=メールサービス設定
|
||||||
@@ -101,35 +106,36 @@ disable_gravatar=Gravatarのサービスを無効にします
|
|||||||
disable_gravatar_popup=Gravatarとカスタムソースを無効にして、全てのアバターをユーザーによってアップロードされたものかデフォルトなものにします。
|
disable_gravatar_popup=Gravatarとカスタムソースを無効にして、全てのアバターをユーザーによってアップロードされたものかデフォルトなものにします。
|
||||||
federated_avatar_lookup=連合アバター検索を有効にする
|
federated_avatar_lookup=連合アバター検索を有効にする
|
||||||
federated_avatar_lookup_popup=Libavatarに基づいたオープンソースサービスを使用するには、連合アバター検索を有効にします。
|
federated_avatar_lookup_popup=Libavatarに基づいたオープンソースサービスを使用するには、連合アバター検索を有効にします。
|
||||||
disable_registration=自己登録を無効にする
|
disable_registration=誰でもユーザ登録ができないようにする
|
||||||
disable_registration_popup=自己登録を無効にし、管理者のみがアカウント作成できる
|
disable_registration_popup=誰でもユーザ登録ができないようにすることで、管理者のみアカウントが作成できるようになります。
|
||||||
enable_captcha=Captchaを有効にする
|
enable_captcha=CAPTCHAを有効にする
|
||||||
enable_captcha_popup=ユーザによる自己登録のため、有効なcaptchaが必要です。
|
enable_captcha_popup=ユーザ登録にはCAPTCHA認証が必要です。
|
||||||
require_sign_in_view=サインインしたユーザのみページ閲覧を許可
|
require_sign_in_view=サインインしたユーザのみページ閲覧を許可
|
||||||
require_sign_in_view_popup=サインインしたユーザのみがページを閲覧できます。ビジターはサインインもしくはサインアップページのみ見られます。
|
require_sign_in_view_popup=サインインしたユーザのみがページを閲覧できます。ビジターはサインインもしくはサインアップページのみ見られます。
|
||||||
admin_setting_desc=今管理者アカウントを作成する必要はありません。ID = 1のユーザ は自動的に管理者の権限を獲得します。
|
admin_setting_desc=今管理者アカウントを作成する必要はありません。ID = 1のユーザ は自動的に管理者の権限を獲得します。
|
||||||
admin_title=管理者アカウントの設定
|
admin_title=管理者アカウントの設定
|
||||||
admin_name=ユーザ名
|
admin_name=ユーザー名
|
||||||
admin_password=パスワード
|
admin_password=パスワード
|
||||||
confirm_password=パスワード確認
|
confirm_password=パスワード確認
|
||||||
admin_email=管理者の電子メール
|
admin_email=管理者のメールアドレス
|
||||||
install_gogs=Gogs をインストール
|
install_gogs=Gogs をインストール
|
||||||
test_git_failed='Git' コマンドテストに失敗: %v
|
test_git_failed='Git' コマンドテストに失敗: %v
|
||||||
sqlite3_not_available=このリリース バージョンは SQLite3 をサポートしていません。gobuild バージョンではない、公式のバイナリ バージョンを %s からダウンロードしてください。
|
sqlite3_not_available=このリリース バージョンは SQLite3 をサポートしていません。gobuild バージョンではない、公式のバイナリ バージョンを %s からダウンロードしてください。
|
||||||
invalid_db_setting=データベースの設定が正しくありません: %v
|
invalid_db_setting=データベースの設定が正しくありません: %v
|
||||||
invalid_repo_path=リポジトリのルートパスが無効です: %v
|
invalid_repo_path=リポジトリのルートパスが無効です: %v
|
||||||
run_user_not_match=実行ユーザーは、現在のユーザーではない: %s-> %s
|
run_user_not_match=実行ユーザーは現在のユーザーではありません: %s -> %s
|
||||||
smtp_host_missing_port=SMTPホストのポートが見つかりません。
|
smtp_host_missing_port=SMTPホストのポートが見つかりません。
|
||||||
invalid_smtp_from=SMTP From フィールドの値が有効ではありません: %v
|
invalid_smtp_from=SMTP From フィールドの値が有効ではありません: %v
|
||||||
save_config_failed=構成の保存に失敗した: %v
|
save_config_failed=構成の保存に失敗した: %v
|
||||||
|
init_failed=アプリケーションの初期化に失敗しました: %v
|
||||||
invalid_admin_setting=管理者アカウントの設定が無効です: %v
|
invalid_admin_setting=管理者アカウントの設定が無効です: %v
|
||||||
install_success=ようこそ!我々はあなたが Gogs を選んでくれて嬉しいです!楽しみましょう!
|
install_success=ようこそ!我々はあなたが Gogs を選んでくれて嬉しいです!楽しみましょう!
|
||||||
invalid_log_root_path=ログのルートパスがむこうです: %v
|
invalid_log_root_path=リポジトリのルート パスが無効です: %v
|
||||||
|
|
||||||
[home]
|
[home]
|
||||||
uname_holder=ユーザー名またはEメール
|
uname_holder=ユーザー名またはメールアドレス
|
||||||
password_holder=パスワード
|
password_holder=パスワード
|
||||||
switch_dashboard_context=ダッシュ ボードのコンテキストを切替
|
switch_dashboard_context=ダッシュボードコンテキストの切替
|
||||||
my_repos=自分のリポジトリ
|
my_repos=自分のリポジトリ
|
||||||
show_more_repos=リポジトリをさらに表示…
|
show_more_repos=リポジトリをさらに表示…
|
||||||
collaborative_repos=共同リポジトリ
|
collaborative_repos=共同リポジトリ
|
||||||
@@ -141,7 +147,7 @@ issues.in_your_repos=あなたのリポジトリ
|
|||||||
|
|
||||||
[explore]
|
[explore]
|
||||||
repos=リポジトリ
|
repos=リポジトリ
|
||||||
users=ユーザ
|
users=ユーザー
|
||||||
organizations=組織
|
organizations=組織
|
||||||
search=検索
|
search=検索
|
||||||
|
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=既にアカウントをお持ちですか?今すぐログ
|
|||||||
social_register_hepler_msg=既にアカウントをお持ちですか?連携しましょう!
|
social_register_hepler_msg=既にアカウントをお持ちですか?連携しましょう!
|
||||||
disable_register_prompt=申し訳ありませんが、現在登録は受け付けておりません。サイトの管理者にお問い合わせください。
|
disable_register_prompt=申し訳ありませんが、現在登録は受け付けておりません。サイトの管理者にお問い合わせください。
|
||||||
disable_register_mail=申し訳ありませんが、登録メールの確認機能が無効になっています。
|
disable_register_mail=申し訳ありませんが、登録メールの確認機能が無効になっています。
|
||||||
|
auth_source=認証ソース
|
||||||
|
local=ローカル
|
||||||
remember_me=ログインしたままにする
|
remember_me=ログインしたままにする
|
||||||
forgot_password=パスワードを忘れた
|
forgot_password=パスワードを忘れた
|
||||||
forget_password=パスワードを忘れましたか?
|
forget_password=パスワードを忘れましたか?
|
||||||
@@ -178,10 +186,10 @@ login_two_factor_enter_passcode=2段階認証用パスコードを入力
|
|||||||
login_two_factor_invalid_recovery_code=このリカバリーコードは使用済みか、正しくありません。
|
login_two_factor_invalid_recovery_code=このリカバリーコードは使用済みか、正しくありません。
|
||||||
|
|
||||||
[mail]
|
[mail]
|
||||||
activate_account=あなたのアカウントを有効にしてください。
|
activate_account=アカウントを有効化してください。
|
||||||
activate_email=電子メール アドレスを確認します。
|
activate_email=メールアドレスを確認
|
||||||
reset_password=パスワードをリセットします.
|
reset_password=パスワードをリセットします.
|
||||||
register_success=ようこそ、登録成功
|
register_success=登録完了です。ようこそ!
|
||||||
register_notify=ボードへようこそ
|
register_notify=ボードへようこそ
|
||||||
|
|
||||||
[modal]
|
[modal]
|
||||||
@@ -200,7 +208,7 @@ HttpsUrl=HTTPS URL
|
|||||||
PayloadUrl=ペイロードの URL
|
PayloadUrl=ペイロードの URL
|
||||||
TeamName=チーム名
|
TeamName=チーム名
|
||||||
AuthName=承認名
|
AuthName=承認名
|
||||||
AdminEmail=管理者の電子メール
|
AdminEmail=管理者のメールアドレス
|
||||||
|
|
||||||
NewBranchName=新しいブランチ名
|
NewBranchName=新しいブランチ名
|
||||||
CommitSummary=コミットの概要
|
CommitSummary=コミットの概要
|
||||||
@@ -211,7 +219,7 @@ Content=コンテンツ
|
|||||||
|
|
||||||
require_error=空にできません
|
require_error=空にできません
|
||||||
alpha_dash_error=アルファベット、数字、ハイフン"-"、アンダースコア"_"のいずれかの必要があります
|
alpha_dash_error=アルファベット、数字、ハイフン"-"、アンダースコア"_"のいずれかの必要があります
|
||||||
alpha_dash_dot_error=' アルファベット、数値、ダッシュ(-)、アンダースコア(_) 、ドット(.)のいずれかを入力する必要があります。 '
|
alpha_dash_dot_error=' アルファベット、数値、ハイフン(-)、アンダースコア(_) 、ドット(.) のいずれかを入力する必要があります。 '
|
||||||
alpha_dash_dot_slash_error=` アルファベット、数字、ハイフン(-)、アンダースコア(_)、ドット(.)、スラッシュ(/) のみ利用できます。`
|
alpha_dash_dot_slash_error=` アルファベット、数字、ハイフン(-)、アンダースコア(_)、ドット(.)、スラッシュ(/) のみ利用できます。`
|
||||||
size_error=`サイズは %s である必要があります`
|
size_error=`サイズは %s である必要があります`
|
||||||
min_size_error=' 少なくとも %s 文字の必要があります '
|
min_size_error=' 少なくとも %s 文字の必要があります '
|
||||||
@@ -220,15 +228,16 @@ email_error=' は有効なメールアドレスではありません '
|
|||||||
url_error=' は有効な URL はありません。 '
|
url_error=' は有効な URL はありません。 '
|
||||||
include_error=' 文字列 '%s' を含める必要があります。 '
|
include_error=' 文字列 '%s' を含める必要があります。 '
|
||||||
unknown_error=不明なエラー:
|
unknown_error=不明なエラー:
|
||||||
captcha_incorrect=Captcha が一致しませんでした。
|
captcha_incorrect=CAPTCHAが一致しませんでした。
|
||||||
password_not_match=パスワードと確認用パスワードが一致同していません。
|
password_not_match=パスワードと確認用パスワードが一致していません。
|
||||||
|
|
||||||
username_been_taken=ユーザー名は既に使用されています。
|
username_been_taken=ユーザー名は既に使用されています。
|
||||||
repo_name_been_taken=リポジトリ名は既に使用されています。
|
repo_name_been_taken=リポジトリ名は既に使用されています。
|
||||||
org_name_been_taken=組織名は既に使用されています。
|
org_name_been_taken=組織名は既に使用されています。
|
||||||
team_name_been_taken=チーム名は既に使用されています。
|
team_name_been_taken=チーム名は既に使用されています。
|
||||||
email_been_used=電子メール アドレスは既に使用されています。
|
email_been_used=メールアドレスは既に使用されています。
|
||||||
username_password_incorrect=ユーザー名またはパスワードが正しくありません。
|
username_password_incorrect=ユーザー名またはパスワードが正しくありません。
|
||||||
|
auth_source_mismatch=選択されている認証ソースは、ユーザーに関連付けられていません。
|
||||||
enterred_invalid_repo_name=入力したリポジトリの名前が正しいかどうかを確認してください。
|
enterred_invalid_repo_name=入力したリポジトリの名前が正しいかどうかを確認してください。
|
||||||
enterred_invalid_owner_name=入力された所有者名が正しいかどうかを確認してください。
|
enterred_invalid_owner_name=入力された所有者名が正しいかどうかを確認してください。
|
||||||
enterred_invalid_password=入力したパスワードが正しいか確認してください。
|
enterred_invalid_password=入力したパスワードが正しいか確認してください。
|
||||||
@@ -256,8 +265,7 @@ following=フォロー
|
|||||||
follow=フォロー
|
follow=フォロー
|
||||||
unfollow=フォロー解除
|
unfollow=フォロー解除
|
||||||
|
|
||||||
form.name_reserved=ユーザー名 '%s' は使用されています。
|
form.name_not_allowed=User name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=ユーザ名のパターン '%s' は許可されていません。
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=プロフィール
|
profile=プロフィール
|
||||||
@@ -272,7 +280,7 @@ delete=アカウントを削除
|
|||||||
|
|
||||||
public_profile=パブリック プロフィール
|
public_profile=パブリック プロフィール
|
||||||
profile_desc=あなたのメールアドレスは公開され、任意のアカウント関連の通知に使用されます。また、Webベースの操作はサイトを介して行います。
|
profile_desc=あなたのメールアドレスは公開され、任意のアカウント関連の通知に使用されます。また、Webベースの操作はサイトを介して行います。
|
||||||
password_username_disabled=ローカルユーザ以外はユーザ名を変更できません。
|
password_username_disabled=ローカルユーザー以外はユーザー名を変更できません。
|
||||||
full_name=フルネーム
|
full_name=フルネーム
|
||||||
website=WEBサイト
|
website=WEBサイト
|
||||||
location=ロケーション
|
location=ロケーション
|
||||||
@@ -298,7 +306,7 @@ new_password=新しいパスワード
|
|||||||
retype_new_password=新しいパスワードを再入力します。
|
retype_new_password=新しいパスワードを再入力します。
|
||||||
password_incorrect=現在のパスワードが正しくありません。
|
password_incorrect=現在のパスワードが正しくありません。
|
||||||
change_password_success=パスワードが正常に変更されました。今すぐ新しいパスワードを使用してサインインすることができます。
|
change_password_success=パスワードが正常に変更されました。今すぐ新しいパスワードを使用してサインインすることができます。
|
||||||
password_change_disabled=ローカルユーザ以外はパスワードを変更できません。
|
password_change_disabled=ローカルユーザー以外はパスワードを変更できません。
|
||||||
|
|
||||||
emails=メールアドレス
|
emails=メールアドレス
|
||||||
manage_emails=メールアドレスを管理
|
manage_emails=メールアドレスを管理
|
||||||
@@ -309,6 +317,7 @@ delete_email=削除
|
|||||||
email_deletion=電子メールの削除
|
email_deletion=電子メールの削除
|
||||||
email_deletion_desc=このメールアドレスを削除すると、あなたのアカウントの関連情報も削除されます。続行しますか?
|
email_deletion_desc=このメールアドレスを削除すると、あなたのアカウントの関連情報も削除されます。続行しますか?
|
||||||
email_deletion_success=電子メールが正常に削除されました。
|
email_deletion_success=電子メールが正常に削除されました。
|
||||||
|
email_deletion_primary=Cannot delete primary email address.
|
||||||
add_new_email=新しいメールアドレスを追加
|
add_new_email=新しいメールアドレスを追加
|
||||||
add_email=メールアドレスの追加
|
add_email=メールアドレスの追加
|
||||||
add_email_confirmation_sent='%s' に新しい確認メールを送信しました。%d 時間以内に受信トレイを確認し、確認プロセスを完了してください。
|
add_email_confirmation_sent='%s' に新しい確認メールを送信しました。%d 時間以内に受信トレイを確認し、確認プロセスを完了してください。
|
||||||
@@ -348,6 +357,7 @@ two_factor_or_enter_secret=またはシークレットを入力:
|
|||||||
two_factor_then_enter_passcode=パスコードを入力してください:
|
two_factor_then_enter_passcode=パスコードを入力してください:
|
||||||
two_factor_verify=確認
|
two_factor_verify=確認
|
||||||
two_factor_invalid_passcode=入力されたパスコードは使用できません。もう一度お試しください。
|
two_factor_invalid_passcode=入力されたパスコードは使用できません。もう一度お試しください。
|
||||||
|
two_factor_reused_passcode=入力したパスコードは既に使用されています。別のパスコードを試してください。
|
||||||
two_factor_enable_error=2段階認証の有効化に失敗しました: %v
|
two_factor_enable_error=2段階認証の有効化に失敗しました: %v
|
||||||
two_factor_enable_success=2段階認証があなたのアカウントで有効化されました!
|
two_factor_enable_success=2段階認証があなたのアカウントで有効化されました!
|
||||||
two_factor_recovery_codes_title=2段階認証のリカバリーコード
|
two_factor_recovery_codes_title=2段階認証のリカバリーコード
|
||||||
@@ -362,6 +372,7 @@ two_factor_disable_success=2段階認証があなたのアカウントで無効
|
|||||||
manage_access_token=パーソナルアクセス トークンを管理
|
manage_access_token=パーソナルアクセス トークンを管理
|
||||||
generate_new_token=新しいトークンを生成
|
generate_new_token=新しいトークンを生成
|
||||||
tokens_desc=生成したトークンを利用して Gogs の API にアクセスすることができます。
|
tokens_desc=生成したトークンを利用して Gogs の API にアクセスすることができます。
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc=今のところ、全てのトークンはあなたのアカウントにフルアクセスできます。
|
new_token_desc=今のところ、全てのトークンはあなたのアカウントにフルアクセスできます。
|
||||||
token_name=トークン名
|
token_name=トークン名
|
||||||
generate_token=トークンを生成
|
generate_token=トークンを生成
|
||||||
@@ -370,6 +381,7 @@ delete_token=削除
|
|||||||
access_token_deletion=パーソナルアクセストークンの削除
|
access_token_deletion=パーソナルアクセストークンの削除
|
||||||
access_token_deletion_desc=パーソナルアクセストークンを削除すると、関連するアプリケーションのすべてのアクセスが削除されます。続行しますか?
|
access_token_deletion_desc=パーソナルアクセストークンを削除すると、関連するアプリケーションのすべてのアクセスが削除されます。続行しますか?
|
||||||
delete_token_success=パーソナルアクセストークンは正常に削除されました!同時にあなたのアプリケーションを更新することを忘れないでください。
|
delete_token_success=パーソナルアクセストークンは正常に削除されました!同時にあなたのアプリケーションを更新することを忘れないでください。
|
||||||
|
token_name_exists=同じ名前のトークンがあります。
|
||||||
|
|
||||||
orgs.none=あなたはどの組織のメンバーでもありません。
|
orgs.none=あなたはどの組織のメンバーでもありません。
|
||||||
orgs.leave_title=組織からの脱退
|
orgs.leave_title=組織からの脱退
|
||||||
@@ -391,7 +403,9 @@ owner=オーナー
|
|||||||
repo_name=リポジトリ名
|
repo_name=リポジトリ名
|
||||||
repo_name_helper=短くて分かりやすく<strong>重複しない</strong>リポジトリ名を決めてください。
|
repo_name_helper=短くて分かりやすく<strong>重複しない</strong>リポジトリ名を決めてください。
|
||||||
visibility=公開/非公開
|
visibility=公開/非公開
|
||||||
|
unlisted=Unlisted
|
||||||
visiblity_helper=このリポジトリは<span class="ui red text">非公開</span>です
|
visiblity_helper=このリポジトリは<span class="ui red text">非公開</span>です
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=サイト管理者が、すべての新しいリポジトリを<span class="ui red text">非公開</span>にすることを強制しています
|
visiblity_helper_forced=サイト管理者が、すべての新しいリポジトリを<span class="ui red text">非公開</span>にすることを強制しています
|
||||||
visiblity_fork_helper=(この値の変更はすべてのフォークに適用されます)
|
visiblity_fork_helper=(この値の変更はすべてのフォークに適用されます)
|
||||||
clone_helper=クローンに関してお困りであれば<a target="_blank"href="%s"> ヘルプ</a> を参照しましょう。
|
clone_helper=クローンに関してお困りであれば<a target="_blank"href="%s"> ヘルプ</a> を参照しましょう。
|
||||||
@@ -412,15 +426,16 @@ mirror_prune=Prune
|
|||||||
mirror_prune_desc=リモートに存在しないリモート追跡参照を削除する
|
mirror_prune_desc=リモートに存在しないリモート追跡参照を削除する
|
||||||
mirror_interval=ミラー 間隔(時)
|
mirror_interval=ミラー 間隔(時)
|
||||||
mirror_address=ミラー アドレス
|
mirror_address=ミラー アドレス
|
||||||
mirror_address_desc=アドレスに必要なユーザーの資格情報を入力してください。
|
mirror_address_desc=必要なユーザー資格情報をアドレスに含めてください。
|
||||||
mirror_last_synced=最終同期
|
mirror_last_synced=最終同期
|
||||||
watchers=ウォッチャー
|
watchers=ウォッチャー
|
||||||
stargazers=スターゲイザー
|
stargazers=スターゲイザー
|
||||||
forks=フォーク
|
forks=フォーク
|
||||||
|
repo_description_helper=リポジトリの説明 (512文字以内)
|
||||||
|
repo_description_length=利用可能な文字
|
||||||
|
|
||||||
form.reach_limit_of_creation=リポジトリの最大作成数 %d にすでに達しています。
|
form.reach_limit_of_creation=リポジトリの最大作成数 %d にすでに達しています。
|
||||||
form.name_reserved=リポジトリ名 '%s' は使用されています。
|
form.name_not_allowed=Repository name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=リポジトリ名に '%s' は使用できません。
|
|
||||||
|
|
||||||
need_auth=認証が必要
|
need_auth=認証が必要
|
||||||
migrate_type=マイグレーションの種類
|
migrate_type=マイグレーションの種類
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=HTTP/HTTPS/GIT URLを設定できます。
|
|||||||
migrate.clone_address_desc_import_local=ローカルサーバーのパスでリポジトリを移行することもできます。
|
migrate.clone_address_desc_import_local=ローカルサーバーのパスでリポジトリを移行することもできます。
|
||||||
migrate.permission_denied=ローカル リポジトリをインポートすることはできません。
|
migrate.permission_denied=ローカル リポジトリをインポートすることはできません。
|
||||||
migrate.invalid_local_path=ローカルパスが無効です。存在しないかディレクトリではありません。
|
migrate.invalid_local_path=ローカルパスが無効です。存在しないかディレクトリではありません。
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=移行に失敗しました: %v
|
migrate.failed=移行に失敗しました: %v
|
||||||
|
|
||||||
mirror_from=同期ミラー
|
mirror_from=同期ミラー
|
||||||
@@ -439,11 +455,11 @@ copy_link=コピー
|
|||||||
copy_link_success=コピーされました!
|
copy_link_success=コピーされました!
|
||||||
copy_link_error=⌘ C または Ctrl-C キーを押してコピー
|
copy_link_error=⌘ C または Ctrl-C キーを押してコピー
|
||||||
copied=コピー成功
|
copied=コピー成功
|
||||||
unwatch=Unwatch
|
unwatch=ウォッチ解除
|
||||||
watch=Watch
|
watch=ウォッチ
|
||||||
unstar=Unstar
|
unstar=スターを外す
|
||||||
star=Star
|
star=スター
|
||||||
fork=Fork
|
fork=フォーク
|
||||||
|
|
||||||
no_desc=説明なし
|
no_desc=説明なし
|
||||||
quick_guide=クイック ガイド
|
quick_guide=クイック ガイド
|
||||||
@@ -478,6 +494,8 @@ branches.stale_branches=古いブランチ
|
|||||||
branches.all=すべてのブランチ
|
branches.all=すべてのブランチ
|
||||||
branches.updated_by=%[1]s が %[2]s によって更新されました
|
branches.updated_by=%[1]s が %[2]s によって更新されました
|
||||||
branches.change_default_branch=デフォルトブランチの変更
|
branches.change_default_branch=デフォルトブランチの変更
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=新規ファイル
|
editor.new_file=新規ファイル
|
||||||
editor.upload_file=ファイルをアップロード
|
editor.upload_file=ファイルをアップロード
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=あなたが編集を開始してから、フ
|
|||||||
editor.file_already_exists=ファイル名 '%s' は、このリポジトリに既に存在します。
|
editor.file_already_exists=ファイル名 '%s' は、このリポジトリに既に存在します。
|
||||||
editor.no_changes_to_show=表示する変更箇所はありません。
|
editor.no_changes_to_show=表示する変更箇所はありません。
|
||||||
editor.fail_to_update_file=ファイル '%s' の作成/更新に失敗しました: %v
|
editor.fail_to_update_file=ファイル '%s' の作成/更新に失敗しました: %v
|
||||||
|
editor.fail_to_delete_file=ファイル '%s' エラーを削除できませんでした: %v
|
||||||
editor.add_subdir=サブディレクトリを追加...
|
editor.add_subdir=サブディレクトリを追加...
|
||||||
editor.unable_to_upload_files='%s' へのファイルアップロード中にエラーが発生し、失敗しました: %v
|
editor.unable_to_upload_files='%s' へのファイルアップロード中にエラーが発生し、失敗しました: %v
|
||||||
editor.upload_files_to_dir='%s' にファイルをアップロード
|
editor.upload_files_to_dir='%s' にファイルをアップロード
|
||||||
@@ -626,7 +645,7 @@ pulls.tab_commits=コミット
|
|||||||
pulls.tab_files=変更されたファイル
|
pulls.tab_files=変更されたファイル
|
||||||
pulls.reopen_to_merge=マージ操作を実行するには、このプルリクエストを再び開いてください。
|
pulls.reopen_to_merge=マージ操作を実行するには、このプルリクエストを再び開いてください。
|
||||||
pulls.merged=マージされた
|
pulls.merged=マージされた
|
||||||
pulls.has_merged=このプルプルリクエストは正常にマージされました!
|
pulls.has_merged=このプルリクエストは正常にマージされました!
|
||||||
pulls.data_broken=フォーク情報の削除によってこのプルリクエストのデータは壊れています。
|
pulls.data_broken=フォーク情報の削除によってこのプルリクエストのデータは壊れています。
|
||||||
pulls.is_checking=コンフリクトが発生していないかチェック中です、しばらく待ったのちページを更新してください。
|
pulls.is_checking=コンフリクトが発生していないかチェック中です、しばらく待ったのちページを更新してください。
|
||||||
pulls.can_auto_merge_desc=このプルリクエストは自動的にマージできます。
|
pulls.can_auto_merge_desc=このプルリクエストは自動的にマージできます。
|
||||||
@@ -634,6 +653,7 @@ pulls.cannot_auto_merge_desc=コンフリクトが発生しているため、こ
|
|||||||
pulls.cannot_auto_merge_helper=競合を解決するためには、手動でマージする必要があります。
|
pulls.cannot_auto_merge_helper=競合を解決するためには、手動でマージする必要があります。
|
||||||
pulls.create_merge_commit=マージコミットを作成する
|
pulls.create_merge_commit=マージコミットを作成する
|
||||||
pulls.rebase_before_merging=マージする前に再配置します。
|
pulls.rebase_before_merging=マージする前に再配置します。
|
||||||
|
pulls.commit_description=コミットの説明
|
||||||
pulls.merge_pull_request=プルリクエストをマージします。
|
pulls.merge_pull_request=プルリクエストをマージします。
|
||||||
pulls.open_unmerged_pull_exists=`同じリポジトリに同じマージ情報持つ未解決のプルリクエスト (#%d) が存在するため再び開くことができません。`
|
pulls.open_unmerged_pull_exists=`同じリポジトリに同じマージ情報持つ未解決のプルリクエスト (#%d) が存在するため再び開くことができません。`
|
||||||
pulls.delete_branch=ブランチの削除
|
pulls.delete_branch=ブランチの削除
|
||||||
@@ -738,7 +758,7 @@ settings.tracker_issue_style=外部課題トラッキングシステムの命名
|
|||||||
settings.tracker_issue_style.numeric=数値
|
settings.tracker_issue_style.numeric=数値
|
||||||
settings.tracker_issue_style.alphanumeric=英数字
|
settings.tracker_issue_style.alphanumeric=英数字
|
||||||
settings.tracker_url_format_desc=ユーザー名、リポジトリ名、課題番号を埋め込むために <code>{user} {repo} {index}</code> が使用できます。
|
settings.tracker_url_format_desc=ユーザー名、リポジトリ名、課題番号を埋め込むために <code>{user} {repo} {index}</code> が使用できます。
|
||||||
settings.pulls_desc=誰でもコントリビュートできるよう、プルリクエストの受け付けを有効にします
|
settings.pulls_desc=プルリクエストを有効にし、リポジトリとブランチ間のコントリビューションを受け入れる
|
||||||
settings.pulls.ignore_whitespace=空白の変更を無視する
|
settings.pulls.ignore_whitespace=空白の変更を無視する
|
||||||
settings.pulls.allow_rebase_merge=コミットをマージするためのリベースの使用を許可する
|
settings.pulls.allow_rebase_merge=コミットをマージするためのリベースの使用を許可する
|
||||||
settings.danger_zone=危険地帯
|
settings.danger_zone=危険地帯
|
||||||
@@ -750,7 +770,7 @@ settings.convert_notices_1=- この操作によりリポジトリはミラーリ
|
|||||||
settings.convert_confirm=変更を確認
|
settings.convert_confirm=変更を確認
|
||||||
settings.convert_succeed=リポジトリは正常に通常リポジトリへ変更されました。
|
settings.convert_succeed=リポジトリは正常に通常リポジトリへ変更されました。
|
||||||
settings.transfer=オーナー移転
|
settings.transfer=オーナー移転
|
||||||
settings.transfer_desc=リポジトリをあなたが管理者権限を持っている別のユーザーまた組織に移譲します。
|
settings.transfer_desc=このリポジトリを、別のユーザーまたはあなたが管理者権限を所持している組織に委譲します。
|
||||||
settings.transfer_notices_1=-新しい所有者が個人ユーザーの場合、あなたがアクセスできなくなります。
|
settings.transfer_notices_1=-新しい所有者が個人ユーザーの場合、あなたがアクセスできなくなります。
|
||||||
settings.transfer_notices_2=- 新しい所有者が組織で、あなたがその組織の所有者である場合はアクセス権が残ります。
|
settings.transfer_notices_2=- 新しい所有者が組織で、あなたがその組織の所有者である場合はアクセス権が残ります。
|
||||||
settings.transfer_form_title=操作を確認するために、以下の情報を入力してください。
|
settings.transfer_form_title=操作を確認するために、以下の情報を入力してください。
|
||||||
@@ -761,7 +781,7 @@ settings.wiki_deletion_success=Wikiのデータ消去が完了しました。
|
|||||||
settings.delete=このリポジトリを削除
|
settings.delete=このリポジトリを削除
|
||||||
settings.delete_desc=リポジトリを削除すると元に戻せません。確実に確認してください。
|
settings.delete_desc=リポジトリを削除すると元に戻せません。確実に確認してください。
|
||||||
settings.delete_notices_1=-この操作は<strong>元に戻せません</strong> 。
|
settings.delete_notices_1=-この操作は<strong>元に戻せません</strong> 。
|
||||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
settings.delete_notices_2=-この操作はこのリポジトリで、Git データ、問題、コメント協力アクセスなどすべて削除されます。
|
||||||
settings.delete_notices_fork_1=- 削除後、すべてのフォークは独立したリポジトリになります。
|
settings.delete_notices_fork_1=- 削除後、すべてのフォークは独立したリポジトリになります。
|
||||||
settings.deletion_success=リポジトリが正常に削除されました。
|
settings.deletion_success=リポジトリが正常に削除されました。
|
||||||
settings.update_settings_success=リポジトリ オプションが更新されました。
|
settings.update_settings_success=リポジトリ オプションが更新されました。
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=削除後、このユーザーはこのリ
|
|||||||
settings.remove_collaborator_success=共同編集者が削除されました。
|
settings.remove_collaborator_success=共同編集者が削除されました。
|
||||||
settings.search_user_placeholder=ユーザーを検索...
|
settings.search_user_placeholder=ユーザーを検索...
|
||||||
settings.org_not_allowed_to_be_collaborator=組織を共同編集者として追加することはできません。
|
settings.org_not_allowed_to_be_collaborator=組織を共同編集者として追加することはできません。
|
||||||
settings.add_webhook=Webhook を追加
|
|
||||||
settings.hooks_desc=Webhooksは、Gogsで特定のイベントの発生時に指定された外部サービスに通知を許可します。イベントが発生すると、それぞれ指定されたUrlに、POSTリクエストが送られます。詳細はこちらのの <a target="_blank"href="%s"> Webhooks ガイド</a>をご覧ください。
|
settings.hooks_desc=Webhooksは、Gogsで特定のイベントの発生時に指定された外部サービスに通知を許可します。イベントが発生すると、それぞれ指定されたUrlに、POSTリクエストが送られます。詳細はこちらのの <a target="_blank"href="%s"> Webhooks ガイド</a>をご覧ください。
|
||||||
|
settings.webhooks.add_new=Add a new webhook:
|
||||||
|
settings.webhooks.choose_a_type=Choose a type...
|
||||||
|
settings.add_webhook=Webhook を追加
|
||||||
settings.webhook_deletion=Webhook を削除
|
settings.webhook_deletion=Webhook を削除
|
||||||
settings.webhook_deletion_desc=このwebhookを削除すると、すべての情報と配信履歴が削除されます。続行しますか?
|
settings.webhook_deletion_desc=このwebhookを削除すると、すべての情報と配信履歴が削除されます。続行しますか?
|
||||||
settings.webhook_deletion_success=Webhook が正常に削除されました。
|
settings.webhook_deletion_success=Webhook が正常に削除されました。
|
||||||
@@ -792,6 +814,8 @@ settings.webhook.response=レスポンス
|
|||||||
settings.webhook.headers=ヘッダ
|
settings.webhook.headers=ヘッダ
|
||||||
settings.webhook.payload=ペイロード
|
settings.webhook.payload=ペイロード
|
||||||
settings.webhook.body=ボディ
|
settings.webhook.body=ボディ
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=Git のフックは Git 自体によって提供されています。以下のリストのファイルを編集して、サポートされているフックのカスタム操作を適用することができます。
|
settings.githooks_desc=Git のフックは Git 自体によって提供されています。以下のリストのファイルを編集して、サポートされているフックのカスタム操作を適用することができます。
|
||||||
settings.githook_edit_desc=もしフックがアクティブではない場合は、サンプルコンテンツが表示されます。コンテンツを空白にするにはこのフックを無効にします。
|
settings.githook_edit_desc=もしフックがアクティブではない場合は、サンプルコンテンツが表示されます。コンテンツを空白にするにはこのフックを無効にします。
|
||||||
settings.githook_name=フックの名前
|
settings.githook_name=フックの名前
|
||||||
@@ -802,7 +826,7 @@ settings.payload_url=ペイロードの URL
|
|||||||
settings.content_type=コンテンツ タイプ
|
settings.content_type=コンテンツ タイプ
|
||||||
settings.secret=秘密
|
settings.secret=秘密
|
||||||
settings.secret_desc=秘密キーは、 <code>X-Gogs-Signature</code> ヘッダーを介してペイロードの HMAC SHA256 六角ダイジェストとして送信されます。
|
settings.secret_desc=秘密キーは、 <code>X-Gogs-Signature</code> ヘッダーを介してペイロードの HMAC SHA256 六角ダイジェストとして送信されます。
|
||||||
settings.slack_username=ユーザ名
|
settings.slack_username=ユーザー名
|
||||||
settings.slack_icon_url=アイコン URL
|
settings.slack_icon_url=アイコン URL
|
||||||
settings.slack_color=カラー
|
settings.slack_color=カラー
|
||||||
settings.event_desc=どのイベントをこの Webhook のトリガーにしますか?
|
settings.event_desc=どのイベントをこの Webhook のトリガーにしますか?
|
||||||
@@ -819,10 +843,10 @@ settings.event_push=プッシュ
|
|||||||
settings.event_push_desc=リポジトリへのプッシュがされた時
|
settings.event_push_desc=リポジトリへのプッシュがされた時
|
||||||
settings.event_issues=課題
|
settings.event_issues=課題
|
||||||
settings.event_issues_desc=課題の開始・終了・再開・編集・アサイン・アサイン解除・ラベル更新・ラベル削除・マイルストーン紐付け・マイルストーン紐付け解除がされた時
|
settings.event_issues_desc=課題の開始・終了・再開・編集・アサイン・アサイン解除・ラベル更新・ラベル削除・マイルストーン紐付け・マイルストーン紐付け解除がされた時
|
||||||
settings.event_issue_comment=課題へのコメント
|
|
||||||
settings.event_issue_comment_desc=課題へのコメントが作成・編集・削除された時
|
|
||||||
settings.event_pull_request=プルリクエスト
|
settings.event_pull_request=プルリクエスト
|
||||||
settings.event_pull_request_desc=プルリクエストの開始・終了・再開・編集・アサイン・アサイン解除・ラベル更新・ラベル削除・マイルストーン紐付け・マイルストーン紐付け解除・同期がされた時
|
settings.event_pull_request_desc=プルリクエストの開始・終了・再開・編集・アサイン・アサイン解除・ラベル更新・ラベル削除・マイルストーン紐付け・マイルストーン紐付け解除・同期がされた時
|
||||||
|
settings.event_issue_comment=課題へのコメント
|
||||||
|
settings.event_issue_comment_desc=課題へのコメントが作成・編集・削除された時
|
||||||
settings.event_release=リリース
|
settings.event_release=リリース
|
||||||
settings.event_release_desc=リポジトリでリリースが公開された時
|
settings.event_release_desc=リポジトリでリリースが公開された時
|
||||||
settings.active=アクティブ
|
settings.active=アクティブ
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=新しいデプロイキー '%s'が正常に追加さ
|
|||||||
settings.deploy_key_deletion=デプロイキーを削除
|
settings.deploy_key_deletion=デプロイキーを削除
|
||||||
settings.deploy_key_deletion_desc=このデプロイキーを削除すると、このリポジトリに関連するすべてのアクセス権も削除されます。続行しますか。
|
settings.deploy_key_deletion_desc=このデプロイキーを削除すると、このリポジトリに関連するすべてのアクセス権も削除されます。続行しますか。
|
||||||
settings.deploy_key_deletion_success=デプロイキーが正常に削除された!
|
settings.deploy_key_deletion_success=デプロイキーが正常に削除された!
|
||||||
|
settings.description_desc=リポジトリの説明(512文字以内)
|
||||||
|
settings.description_length=利用可能な文字
|
||||||
|
|
||||||
diff.browse_source=ソースを参照
|
diff.browse_source=ソースを参照
|
||||||
diff.parent=親
|
diff.parent=親
|
||||||
@@ -894,7 +920,7 @@ release.deletion=リリースの削除
|
|||||||
release.deletion_desc=このリリースを削除すると、対応するGitのタグも削除されます。よろしいですか?
|
release.deletion_desc=このリリースを削除すると、対応するGitのタグも削除されます。よろしいですか?
|
||||||
release.deletion_success=リリースが正常に削除されました。
|
release.deletion_success=リリースが正常に削除されました。
|
||||||
release.tag_name_already_exist=このタグ名には既にリリースが存在します。
|
release.tag_name_already_exist=このタグ名には既にリリースが存在します。
|
||||||
release.tag_name_invalid=使用できないタグ名です。
|
release.tag_name_invalid=タグ名が不正です。
|
||||||
release.downloads=ダウンロード
|
release.downloads=ダウンロード
|
||||||
|
|
||||||
[org]
|
[org]
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=会話の時、この名前を使用しチーム名を表明し
|
|||||||
team_desc_helper=このチームに関する全ての情報は?
|
team_desc_helper=このチームに関する全ての情報は?
|
||||||
team_permission_desc=このチームに必要な権限レベルは?
|
team_permission_desc=このチームに必要な権限レベルは?
|
||||||
|
|
||||||
form.name_reserved=組織名 '%s' は使用されています。
|
form.name_not_allowed=Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=組織名のパターン '%s' は許可されていません。
|
form.team_name_not_allowed=チーム名またはパターン %q は許可されていません。
|
||||||
form.team_name_reserved=チーム名 '%s' は使用されています。
|
|
||||||
|
|
||||||
settings=設定
|
settings=設定
|
||||||
settings.options=オプション
|
settings.options=オプション
|
||||||
@@ -979,7 +1004,7 @@ teams.add_nonexistent_repo=追加しようとしているリポジトリは存
|
|||||||
|
|
||||||
[admin]
|
[admin]
|
||||||
dashboard=ダッシュボード
|
dashboard=ダッシュボード
|
||||||
users=ユーザ
|
users=ユーザー
|
||||||
organizations=組織
|
organizations=組織
|
||||||
repositories=リポジトリ
|
repositories=リポジトリ
|
||||||
authentication=認証
|
authentication=認証
|
||||||
@@ -990,12 +1015,19 @@ first_page=First
|
|||||||
last_page=Last
|
last_page=Last
|
||||||
total=合計: %d
|
total=合計: %d
|
||||||
|
|
||||||
|
dashboard.build_info=ビルド情報
|
||||||
|
dashboard.app_ver=アプリケーションのバージョン
|
||||||
|
dashboard.git_version=Git バージョン
|
||||||
|
dashboard.go_version=Go バージョン
|
||||||
|
dashboard.build_time=ビルド日時
|
||||||
|
dashboard.build_commit=Build commit
|
||||||
dashboard.statistic=統計
|
dashboard.statistic=統計
|
||||||
dashboard.operations=操作
|
dashboard.operations=操作
|
||||||
dashboard.system_status=システム モニターのステータス
|
dashboard.system_status=システム モニターのステータス
|
||||||
dashboard.statistic_info=Gogs データベースは <b>%d</b> ユーザー, <b>%d</b> 組織, <b>%d</b> 公開鍵, <b>%d</b> リポジトリ, <b>%d</b> ウォッチ, <b>%d</b> スター, <b>%d</b> 行動, <b>%d</b> アクセス, <b>%d</b> 課題, <b>%d</b> コメント, <b>%d</b> ソーシャルアカウント, <b>%d</b> フォロー, <b>%d</b> ミラー, <b>%d</b> リリース, <b>%d</b> ログイン元, <b>%d</b> webhook, <b>%d</b> マイルストーン, <b>%d</b> ラベル, <b>%d</b> フックタスク, <b>%d</b> チーム, <b>%d</b> アップデートタスク, <b>%d</b> 添付ファイル の情報を持っています。
|
dashboard.statistic_info=Gogs データベースは <b>%d</b> 人のユーザー、<b>%d</b> 個の組織、<b>%d</b> 個の公開鍵、<b>%d</b> 個のリポジトリ、<b>%d</b> 個のウォッチ、<b>%d</b> 個のスター、<b>%d</b> 回のアクション、<b>%d</b> 回のアクセス、<b>%d</b> 個の課題、<b>%d</b> 個のコメント、<b>%d</b> 個のソーシャルアカウント、<b>%d</b> 個のフォロー、<b>%d</b> 個のミラー、<b>%d</b> 個のリリース、<b>%d</b> 個のログイン元、<b>%d</b> 個のwebフック、<b>%d</b> 個のマイルストーン、<b>%d</b> 個のラベル、<b>%d</b> 個のフックタスク、<b>%d</b> 個のチーム、<b>%d</b> 更新タスク、<b>%d</b> 個の添付ファイルの情報を保持しています。
|
||||||
dashboard.operation_name=操作の名前
|
dashboard.operation_name=操作の名前
|
||||||
dashboard.operation_switch=スイッチ
|
dashboard.operation_switch=スイッチ
|
||||||
|
dashboard.select_operation_to_run=操作を選択してください
|
||||||
dashboard.operation_run=実行
|
dashboard.operation_run=実行
|
||||||
dashboard.clean_unbind_oauth=結び付けられていない OAuth をクリーン
|
dashboard.clean_unbind_oauth=結び付けられていない OAuth をクリーン
|
||||||
dashboard.clean_unbind_oauth_success=結び付けられていない全ての OAuth を正常に削除しました。
|
dashboard.clean_unbind_oauth_success=結び付けられていない全ての OAuth を正常に削除しました。
|
||||||
@@ -1082,16 +1114,17 @@ repos.repo_manage_panel=リポジトリの管理パネル
|
|||||||
repos.owner=オーナー
|
repos.owner=オーナー
|
||||||
repos.name=名前
|
repos.name=名前
|
||||||
repos.private=非公開
|
repos.private=非公開
|
||||||
repos.watches=Watches
|
repos.watches=ウォッチ
|
||||||
repos.stars=Stars
|
repos.stars=スター
|
||||||
repos.issues=課題
|
repos.issues=課題
|
||||||
repos.size=容量
|
repos.size=容量
|
||||||
|
|
||||||
auths.auth_manage_panel=認証管理パネル
|
auths.auth_sources=認証ソース
|
||||||
auths.new=新しいソースを追加
|
auths.new=新しいソースを追加
|
||||||
auths.name=名前
|
auths.name=名前
|
||||||
auths.type=タイプ
|
auths.type=タイプ
|
||||||
auths.enabled=有効
|
auths.enabled=有効
|
||||||
|
auths.default=デフォルト
|
||||||
auths.updated=更新しました
|
auths.updated=更新しました
|
||||||
auths.auth_type=認証タイプ
|
auths.auth_type=認証タイプ
|
||||||
auths.auth_name=認証名
|
auths.auth_name=認証名
|
||||||
@@ -1103,7 +1136,7 @@ auths.bind_dn=バインド DN
|
|||||||
auths.bind_dn_helper='%s'はユーザー名のプレースホルダとして使用できます。 例)DOM \%s
|
auths.bind_dn_helper='%s'はユーザー名のプレースホルダとして使用できます。 例)DOM \%s
|
||||||
auths.bind_password=バインド パスワード
|
auths.bind_password=バインド パスワード
|
||||||
auths.bind_password_helper=警告: このパスワードは暗号化されずに格納されます。特権を持つアカウントに使用しないでください。
|
auths.bind_password_helper=警告: このパスワードは暗号化されずに格納されます。特権を持つアカウントに使用しないでください。
|
||||||
auths.user_base=ユーザ検索ベース
|
auths.user_base=ユーザー検索ベース
|
||||||
auths.user_dn=User DN
|
auths.user_dn=User DN
|
||||||
auths.attribute_username=ユーザー名属性
|
auths.attribute_username=ユーザー名属性
|
||||||
auths.attribute_username_placeholder=ログインフォームの値を使う場合は空にしてください。
|
auths.attribute_username_placeholder=ログインフォームの値を使う場合は空にしてください。
|
||||||
@@ -1116,7 +1149,7 @@ auths.group_filter=グループ フィルター
|
|||||||
auths.group_attribute_contain_user_list=ユーザーのリストを含むグループ属性
|
auths.group_attribute_contain_user_list=ユーザーのリストを含むグループ属性
|
||||||
auths.user_attribute_listed_in_group=グループのユーザー属性
|
auths.user_attribute_listed_in_group=グループのユーザー属性
|
||||||
auths.attributes_in_bind=属性をバインドDNのコンテクストから取得する
|
auths.attributes_in_bind=属性をバインドDNのコンテクストから取得する
|
||||||
auths.filter=User フィルター
|
auths.filter=ユーザーフィルター
|
||||||
auths.admin_filter=Admin フィルター
|
auths.admin_filter=Admin フィルター
|
||||||
auths.ms_ad_sa=Ms Ad SA
|
auths.ms_ad_sa=Ms Ad SA
|
||||||
auths.smtp_auth=SMTP 認証の種類
|
auths.smtp_auth=SMTP 認証の種類
|
||||||
@@ -1128,9 +1161,9 @@ auths.enable_tls=TLS 暗号化を有効にする
|
|||||||
auths.skip_tls_verify=TLSベリファイを省略
|
auths.skip_tls_verify=TLSベリファイを省略
|
||||||
auths.pam_service_name=PAMサービス名
|
auths.pam_service_name=PAMサービス名
|
||||||
auths.enable_auto_register=自動登録を有効にする
|
auths.enable_auto_register=自動登録を有効にする
|
||||||
auths.tips=ヒント
|
|
||||||
auths.edit=認証設定を編集
|
auths.edit=認証設定を編集
|
||||||
auths.activated=認証の有効化
|
auths.activated=認証の有効化
|
||||||
|
auths.default_auth=この認証を、既定のログイン ソースとする
|
||||||
auths.new_success=新しい認証 '%s' が正常に追加されました。
|
auths.new_success=新しい認証 '%s' が正常に追加されました。
|
||||||
auths.update_success=認証の設定が正常に更新されました。
|
auths.update_success=認証の設定が正常に更新されました。
|
||||||
auths.update=認証設定を更新
|
auths.update=認証設定を更新
|
||||||
@@ -1140,120 +1173,186 @@ auths.delete_auth_desc=認証を削除します、継続しますか?
|
|||||||
auths.still_in_used=この認証を使用しているユーザーがいます。ユーザーを削除するか、別のログイン方法に割り当ててください。
|
auths.still_in_used=この認証を使用しているユーザーがいます。ユーザーを削除するか、別のログイン方法に割り当ててください。
|
||||||
auths.deletion_success=認証が正常に削除されました。
|
auths.deletion_success=認証が正常に削除されました。
|
||||||
auths.login_source_exist=ログイン ソース '%s' は既に存在します。
|
auths.login_source_exist=ログイン ソース '%s' は既に存在します。
|
||||||
|
auths.github_api_endpoint=APIエンドポイント
|
||||||
|
|
||||||
config.not_set=(未設定)
|
config.not_set=(未設定)
|
||||||
config.server_config=サーバーの構成
|
config.server_config=サーバーの構成
|
||||||
config.app_name=アプリケーション名
|
config.brand_name=ブランド名
|
||||||
config.app_ver=アプリケーションのバージョン
|
config.run_user=実行ユーザー
|
||||||
config.app_url=アプリケーションの URL
|
|
||||||
config.domain=ドメイン
|
|
||||||
config.offline_mode=オフラインモード
|
|
||||||
config.disable_router_log=ルーターのログを無効にする
|
|
||||||
config.run_user=実行ユーザ
|
|
||||||
config.run_mode=実行モード
|
config.run_mode=実行モード
|
||||||
config.git_version=Git バージョン
|
config.server.external_url=外部 URL
|
||||||
config.static_file_root_path=静的ファイルのルートパス
|
config.server.domain=ドメイン
|
||||||
config.log_file_root_path=ログファイルのルートパス
|
config.server.protocol=プロトコル
|
||||||
config.reverse_auth_user=リバース認証ユーザ
|
config.server.http_addr=HTTPアドレス
|
||||||
|
config.server.http_port=HTTP ポート
|
||||||
|
config.server.cert_file=証明書ファイル
|
||||||
|
config.server.key_file=キーファイル
|
||||||
|
config.server.tls_min_version=最小TLSバージョン
|
||||||
|
config.server.unix_socket_permission=Unixソケットの権限
|
||||||
|
config.server.local_root_url=ローカル ルート URL
|
||||||
|
config.server.offline_mode=オフラインモード
|
||||||
|
config.server.disable_router_log=ルーターログを無効にする
|
||||||
|
config.server.enable_gzip=Gzip を有効化
|
||||||
|
config.server.app_data_path=アプリケーション データ パス
|
||||||
|
config.server.load_assets_from_disk=Load assets from disk
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
config.ssh_config=SSH設定
|
config.ssh_config=SSH設定
|
||||||
config.ssh_enabled=有効
|
config.ssh.enabled=有効
|
||||||
config.ssh_start_builtin_server=内蔵サーバーの起動
|
config.ssh.domain=Exposed domain
|
||||||
config.ssh_domain=ドメイン
|
config.ssh.port=Exposed port
|
||||||
config.ssh_port=ポート
|
config.ssh.root_path=Root path
|
||||||
config.ssh_listen_port=リッスンポート
|
config.ssh.keygen_path=Keygen パス
|
||||||
config.ssh_root_path=ルートパス
|
config.ssh.key_test_path=鍵テストパス
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=最小キーサイズチェック
|
||||||
config.ssh_key_test_path=キーテストパス
|
config.ssh.minimum_key_sizes=最小キーサイズ
|
||||||
config.ssh_keygen_path=鍵生成コマンド ('ssh-keygen') のパス
|
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
|
||||||
config.ssh_minimum_key_size_check=最小キーサイズチェック
|
config.ssh.start_builtin_server=内蔵サーバーを起動
|
||||||
config.ssh_minimum_key_sizes=最小キーサイズ
|
config.ssh.listen_host=待受ホスト
|
||||||
|
config.ssh.listen_port=待受ポート
|
||||||
|
config.ssh.server_ciphers=Server ciphers
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=リポジトリの設定
|
config.repo_config=リポジトリの設定
|
||||||
config.repo_root_path=リポジトリのルートパス
|
config.repo.root_path=ルートパス
|
||||||
config.script_type=スクリプトの種類
|
config.repo.script_type=Script type
|
||||||
config.repo_force_private=非公開リポジトリの強制
|
config.repo.ansi_chatset=ANSI 文字コード
|
||||||
config.max_creation_limit=最大作成数
|
config.repo.force_private=非公開にする
|
||||||
config.preferred_licenses=優先ライセンス
|
config.repo.max_creation_limit=最大作成数
|
||||||
config.disable_http_git=HTTP Git の無効化
|
config.repo.preferred_licenses=Preferred licenses
|
||||||
config.enable_local_path_migration=ローカルパス移行の有効化
|
config.repo.disable_http_git=HTTP Git の無効化
|
||||||
config.commits_fetch_concurrency=コミットのフェッチの並行数
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
config.http_config=HTTP の設定
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Upload enabled
|
||||||
|
config.repo.upload.temp_path=Upload temporary path
|
||||||
|
config.repo.upload.allowed_types=Upload allowed types
|
||||||
|
config.repo.upload.file_max_size=Upload file size limit
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=データベース設定
|
config.db_config=データベース設定
|
||||||
config.db_type=タイプ
|
config.db.type=DB種類
|
||||||
config.db_host=ホスト
|
config.db.host=DBホスト
|
||||||
config.db_name=名前
|
config.db.name=DB名
|
||||||
config.db_user=ユーザ
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=SSL モード
|
config.db.schema_helper=(for "postgres" only)
|
||||||
config.db_ssl_mode_helper=(「postgres」のみ)
|
config.db.user=DBユーザー
|
||||||
config.db_path=パス
|
config.db.ssl_mode=SSL モード
|
||||||
config.db_path_helper=("sqlite3" および "tidb" の場合)
|
config.db.ssl_mode_helper=("postgres"のみ)
|
||||||
|
config.db.path=DBパス
|
||||||
|
config.db.path_helper=("sqlite3"のみ)
|
||||||
|
config.db.max_open_conns=Maximum open connections
|
||||||
|
config.db.max_idle_conns=Maximum idle connections
|
||||||
|
|
||||||
config.service_config=サービスの設定
|
config.security_config=セキュリティ設定
|
||||||
config.register_email_confirm=電子メールの確認を必要
|
config.security.login_remember_days=Login remember days
|
||||||
config.disable_register=登録を無効にする
|
config.security.cookie_remember_name=Remember cookie
|
||||||
config.show_registration_button=登録ボタンを表示
|
config.security.cookie_username=Username cookie
|
||||||
config.require_sign_in_view=サインインを要求
|
config.security.cookie_secure=セキュアなクッキーを有効にする
|
||||||
config.mail_notify=メール通知
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=最小キーサイズチェックを無効にする
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=Captchaを有効にする
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=コードリンクの有効期限をアクティブ
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=パスワードリンクの有効期限をリセット
|
|
||||||
|
|
||||||
config.webhook_config=Webhook設定
|
config.email_config=Email configuration
|
||||||
config.queue_length=キューの長さ
|
config.email.enabled=Enabled
|
||||||
config.deliver_timeout=送信タイムアウト
|
config.email.subject_prefix=Subject prefix
|
||||||
config.skip_tls_verify=TLSの確認を省略
|
config.email.host=ホスト
|
||||||
|
config.email.from=From
|
||||||
|
config.email.user=ユーザー
|
||||||
|
config.email.disable_helo=HELOを無効にする
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
config.email.skip_verify=Skip certificate verify
|
||||||
|
config.email.use_certificate=Use custom certificate
|
||||||
|
config.email.cert_file=Certificate file
|
||||||
|
config.email.key_file=Key file
|
||||||
|
config.email.use_plain_text=プレーンテキストを使用する
|
||||||
|
config.email.add_plain_text_alt=Add plain text alternative
|
||||||
|
config.email.send_test_mail=Send test email
|
||||||
|
config.email.test_mail_failed=Failed to send test email to '%s': %v
|
||||||
|
config.email.test_mail_sent=Test email has been sent to '%s'.
|
||||||
|
|
||||||
config.mailer_config=メーラーの設定
|
config.auth_config=Authentication configuration
|
||||||
config.mailer_enabled=有効にした
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=HELOコマンド無効
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=ホスト
|
config.auth.require_email_confirm=Require email confirmation
|
||||||
config.mailer_user=ユーザ
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=テストメールの送信
|
config.auth.disable_registration=登録を無効にする
|
||||||
config.test_mail_failed='%s' 宛のテストメールの送信に失敗しました: %v
|
config.auth.enable_registration_captcha=登録時のCAPTCHAを有効にする
|
||||||
config.test_mail_sent=テストメールが '%s' に送信されました。
|
config.auth.enable_reverse_proxy_authentication=リバースプロキシ認証を有効にする
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=リバースプロキシの自動登録を有効にする
|
||||||
|
config.auth.reverse_proxy_authentication_header=リバースプロキシ認証ヘッダー
|
||||||
|
|
||||||
config.oauth_config=OAuth 構成
|
config.user_config=ユーザー設定
|
||||||
config.oauth_enabled=有効
|
config.user.enable_email_notify=メール通知を有効にする
|
||||||
|
|
||||||
config.cache_config=キャッシュの設定
|
|
||||||
config.cache_adapter=キャッシュ アダプター
|
|
||||||
config.cache_interval=キャッシュ間隔
|
|
||||||
config.cache_conn=キャッシュ接続
|
|
||||||
|
|
||||||
config.session_config=セッションの設定
|
config.session_config=セッションの設定
|
||||||
config.session_provider=セッション プロバイダー
|
config.session.provider=Provider
|
||||||
config.provider_config=プロバイダーの構成
|
config.session.provider_config=Provider config
|
||||||
config.cookie_name=クッキーの名前
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=クッキーの設定を有効にする
|
config.session.https_only=HTTPS のみ
|
||||||
config.gc_interval_time=GC 間隔
|
config.session.gc_interval=GC 間隔
|
||||||
config.session_life_time=セッションのライフタイム
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=HTTPS のみ
|
config.session.csrf_cookie_name=CSRF cookie
|
||||||
config.cookie_life_time=クッキーのライフタイム
|
|
||||||
|
config.cache_config=キャッシュの設定
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC 間隔
|
||||||
|
config.cache.host=ホスト
|
||||||
|
|
||||||
|
config.http_config=HTTP の設定
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Enabled
|
||||||
|
config.attachment.path=パス
|
||||||
|
config.attachment.allowed_types=Allowed types
|
||||||
|
config.attachment.max_size=サイズ制限
|
||||||
|
config.attachment.max_files=ファイルの制限
|
||||||
|
|
||||||
|
config.release_config=リリースの構成
|
||||||
|
config.release.attachment.enabled=添付ファイルが有効になっています
|
||||||
|
config.release.attachment.allowed_types=添付ファイルで許可されるタイプ
|
||||||
|
config.release.attachment.max_size=添付ファイルのサイズ制限
|
||||||
|
config.release.attachment.max_files=添付ファイルのサイズ制限
|
||||||
|
|
||||||
config.picture_config=画像の設定
|
config.picture_config=画像の設定
|
||||||
config.picture_service=画像サービス
|
config.picture.avatar_upload_path=User avatar upload path
|
||||||
config.disable_gravatar=Gravatarを無効にする
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=連合アバターを有効にする
|
config.picture.gravatar_source=Gravatarのソース
|
||||||
|
config.picture.disable_gravatar=Gravatarを無効にする
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=ミラー構成
|
||||||
|
config.mirror.default_interval=Default interval
|
||||||
|
|
||||||
|
config.webhook_config=Webhook設定
|
||||||
|
config.webhook.types=Types
|
||||||
|
config.webhook.deliver_timeout=配信のタイムアウト
|
||||||
|
config.webhook.skip_tls_verify=TLS検証をスキップ
|
||||||
|
|
||||||
config.git_config=Git 設定
|
config.git_config=Git 設定
|
||||||
config.git_disable_diff_highlight=Diff のシンタックスハイライトを無効にする
|
config.git.disable_diff_highlight=Diff のシンタックスハイライトを無効にする
|
||||||
config.git_max_diff_lines=Diff の最大行数(1ファイルあたり)
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=Diff の最大文字数(1行あたり)
|
config.git.max_diff_line_characters=Diff の最大文字数(1行あたり)
|
||||||
config.git_max_diff_files=Diff の最大ファイル数(表示)
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=GC の引数
|
config.git.gc_args=GC の引数
|
||||||
config.git_migrate_timeout=移行タイムアウト
|
config.git.migrate_timeout=Migration timeout
|
||||||
config.git_mirror_timeout=ミラー更新タイムアウト
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
config.git_clone_timeout=Clone 操作のタイムアウト
|
config.git.clone_timeout=クローンのタイムアウト
|
||||||
config.git_pull_timeout=Pull 操作のタイムアウト
|
config.git.pull_timeout=Pull タイムアウト
|
||||||
config.git_gc_timeout=GC 操作のタイムアウト
|
config.git.gc_timeout=GC タイムアウト
|
||||||
|
|
||||||
|
config.lfs_config=LFS設定
|
||||||
|
config.lfs.storage=ストレージ
|
||||||
|
config.lfs.objects_path=Objects path
|
||||||
|
|
||||||
config.log_config=ログの設定
|
config.log_config=ログの設定
|
||||||
|
config.log_file_root_path=ログファイルのルートパス
|
||||||
config.log_mode=モード
|
config.log_mode=モード
|
||||||
config.log_options=オプション
|
config.log_options=オプション
|
||||||
|
|
||||||
@@ -1284,7 +1383,6 @@ notices.delete_success=システム通知が正常に削除されました。
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=がリポジトリ <a href="%s"> %s</a> を作成しました
|
create_repo=がリポジトリ <a href="%s"> %s</a> を作成しました
|
||||||
fork_repo=リポジトリを <a href="%s">%s</a> にフォークしました
|
|
||||||
rename_repo=が <code>%[1]s</code> から <a href="%[2]s">%[3]s</a> にリポジトリ名を変更しました
|
rename_repo=が <code>%[1]s</code> から <a href="%[2]s">%[3]s</a> にリポジトリ名を変更しました
|
||||||
commit_repo=が <a href="%[1]s">%[4]s</a> に <a href="%[1]s/src/%[2]s">%[3]s</a> をプッシュしました
|
commit_repo=が <a href="%[1]s">%[4]s</a> に <a href="%[1]s/src/%[2]s">%[3]s</a> をプッシュしました
|
||||||
compare_commits=これらの %d コミットの比較を表示
|
compare_commits=これらの %d コミットの比較を表示
|
||||||
@@ -1301,6 +1399,10 @@ create_branch=が <a href="%[1]s">%[4]s</a> に新しいブランチ <a href="%[
|
|||||||
delete_branch=<a href="%[1]s">%[3]s</a> のブランチ <code>%[2]s</code> を削除しました
|
delete_branch=<a href="%[1]s">%[3]s</a> のブランチ <code>%[2]s</code> を削除しました
|
||||||
push_tag=が <a href="%[1]s">%[3]s</a> にタグ <a href="%[1]s/src/%[2]s">%[2]s</a> をプッシュしました
|
push_tag=が <a href="%[1]s">%[3]s</a> にタグ <a href="%[1]s/src/%[2]s">%[2]s</a> をプッシュしました
|
||||||
delete_tag=<a href="%[1]s">%[3]s</a> のタグ <code>%[2]s</code> を削除しました
|
delete_tag=<a href="%[1]s">%[3]s</a> のタグ <code>%[2]s</code> を削除しました
|
||||||
|
fork_repo=リポジトリを <a href="%s">%s</a> にフォークしました
|
||||||
|
mirror_sync_push=<a href="%[1]s">%[4]s</a> の <a href="%[1]s/src/%[2]s">%[3]s</a> へのコミットをミラーから反映しました
|
||||||
|
mirror_sync_create=新しい参照<a href="%s/src/%s">%[2]s</a>を<a href="%[1]s">%[3]s</a>にミラーから反映しました
|
||||||
|
mirror_sync_delete=<a href="%[1]s">%[3]s</a> の参照 <code>%[2]s</code> をミラーから同期および削除しました
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=前
|
ago=前
|
||||||
@@ -1322,6 +1424,7 @@ months=%d ヶ月 %s
|
|||||||
years=%d 年 %s
|
years=%d 年 %s
|
||||||
raw_seconds=秒
|
raw_seconds=秒
|
||||||
raw_minutes=分
|
raw_minutes=分
|
||||||
|
raw_hours=時間
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=ここにファイルをドロップまたはクリックしてアップロードします。
|
default_message=ここにファイルをドロップまたはクリックしてアップロードします。
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=로그아웃
|
|||||||
sign_up=가입하기
|
sign_up=가입하기
|
||||||
register=가입하기
|
register=가입하기
|
||||||
website=웹 사이트
|
website=웹 사이트
|
||||||
version=버전
|
|
||||||
page=페이지
|
page=페이지
|
||||||
template=템플릿
|
template=템플릿
|
||||||
language=언어
|
language=언어
|
||||||
@@ -44,17 +43,22 @@ issues=이슈
|
|||||||
|
|
||||||
cancel=취소
|
cancel=취소
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=페이지를 찾을 수 없음
|
||||||
|
internal_server_error=내부 서버 오류
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=설치
|
install=설치
|
||||||
title=첫 실행을 위한 설치단계
|
title=첫 실행을 위한 설치단계
|
||||||
docker_helper=Gogs를 Docker에서 운영하고 있다면 <a target="_blank" href="%s">안내</a>를 읽고 변경해 주세요!
|
docker_helper=Gogs를 Docker에서 운영하고 있다면 <a target="_blank" href="%s">안내</a>를 읽고 변경해 주세요!
|
||||||
requite_db_desc=Gogs 는 MySQL, PostgreSQL, SQLite3, MSSQL 또는 TiDB 를 필요로 합니다.
|
requite_db_desc=Gogs는 MySQL, PostgreSQL, SQLite3, TiDB (MySQL protocol)을 필요로 합니다.
|
||||||
db_title=데이터베이스 설정
|
db_title=데이터베이스 설정
|
||||||
db_type=데이터베이스 유형
|
db_type=데이터베이스 유형
|
||||||
host=호스트
|
host=호스트
|
||||||
user=사용자
|
user=사용자
|
||||||
password=비밀번호
|
password=비밀번호
|
||||||
db_name=데이터베이스 이름
|
db_name=데이터베이스 이름
|
||||||
|
db_schema=스키마
|
||||||
db_helper=MySQL에서는 utf8_general_ci 캐릭터셋으로 INNODB엔진을 이용해 주세요
|
db_helper=MySQL에서는 utf8_general_ci 캐릭터셋으로 INNODB엔진을 이용해 주세요
|
||||||
ssl_mode=SSL 모드
|
ssl_mode=SSL 모드
|
||||||
path=경로
|
path=경로
|
||||||
@@ -84,6 +88,7 @@ log_root_path=로그 경로
|
|||||||
log_root_path_helper=로그 파일을 쓸 디렉터리.
|
log_root_path_helper=로그 파일을 쓸 디렉터리.
|
||||||
enable_console_mode=콘솔 모드 활성화
|
enable_console_mode=콘솔 모드 활성화
|
||||||
enable_console_mode_popup=파일 모드 외에 콘솔에 로그를 인쇄하세요.
|
enable_console_mode_popup=파일 모드 외에 콘솔에 로그를 인쇄하세요.
|
||||||
|
default_branch=기본 브랜치
|
||||||
|
|
||||||
optional_title=추가설정
|
optional_title=추가설정
|
||||||
email_title=이메일 서비스 설정
|
email_title=이메일 서비스 설정
|
||||||
@@ -122,6 +127,7 @@ run_user_not_match=실행 유저가 현재 유저가 아닙니다: %s -> %s
|
|||||||
smtp_host_missing_port=SMTP 호스트 포트가 주소에 없습니다.
|
smtp_host_missing_port=SMTP 호스트 포트가 주소에 없습니다.
|
||||||
invalid_smtp_from=SMTP 보낸 사람 필드가 유효하지 않습니다: %v
|
invalid_smtp_from=SMTP 보낸 사람 필드가 유효하지 않습니다: %v
|
||||||
save_config_failed=설정을 저장할 수 없습니다: %v
|
save_config_failed=설정을 저장할 수 없습니다: %v
|
||||||
|
init_failed=프로그램을 초기화하는데 실패하였습니다: %v
|
||||||
invalid_admin_setting=관리자 계정 설정이 잘못되었습니다: %v
|
invalid_admin_setting=관리자 계정 설정이 잘못되었습니다: %v
|
||||||
install_success=환영합니다! Gogs를 선택해 주셔서 감사합니다.
|
install_success=환영합니다! Gogs를 선택해 주셔서 감사합니다.
|
||||||
invalid_log_root_path=로그 루트 경로가 올바르지 않습니다: %v
|
invalid_log_root_path=로그 루트 경로가 올바르지 않습니다: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=이미 계정을 가지고 계신가요? 로그인하세요!
|
|||||||
social_register_hepler_msg=계정을 가지고 계신가요? 연결하세요!
|
social_register_hepler_msg=계정을 가지고 계신가요? 연결하세요!
|
||||||
disable_register_prompt=죄송합니다, 가입이 비활성화 되어있습니다. 사이트 관리자에게 문의 해주세요.
|
disable_register_prompt=죄송합니다, 가입이 비활성화 되어있습니다. 사이트 관리자에게 문의 해주세요.
|
||||||
disable_register_mail=죄송합니다. 메일 등록이 비활성화 되었습니다.
|
disable_register_mail=죄송합니다. 메일 등록이 비활성화 되었습니다.
|
||||||
|
auth_source=인증 소스 편집
|
||||||
|
local=로컬
|
||||||
remember_me=자동 로그인
|
remember_me=자동 로그인
|
||||||
forgot_password=비밀번호 찾기
|
forgot_password=비밀번호 찾기
|
||||||
forget_password=비밀번호를 잊으셨습니까?
|
forget_password=비밀번호를 잊으셨습니까?
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=이미 사용중인 조직 이름입니다.
|
|||||||
team_name_been_taken=이미 사용중인 팀 이름입니다.
|
team_name_been_taken=이미 사용중인 팀 이름입니다.
|
||||||
email_been_used=이미 사용중인 이메일 주소입니다.
|
email_been_used=이미 사용중인 이메일 주소입니다.
|
||||||
username_password_incorrect=사용자 이름이나 비밀번호가 올바르지 않습니다.
|
username_password_incorrect=사용자 이름이나 비밀번호가 올바르지 않습니다.
|
||||||
|
auth_source_mismatch=선택 인증 소스는 사용자와 연결 됩니다.
|
||||||
enterred_invalid_repo_name=입력한 저장소 이름이 올바른지 확인하십시오.
|
enterred_invalid_repo_name=입력한 저장소 이름이 올바른지 확인하십시오.
|
||||||
enterred_invalid_owner_name=입력한 사용자 이름이 올바른지 확인하십시오.
|
enterred_invalid_owner_name=입력한 사용자 이름이 올바른지 확인하십시오.
|
||||||
enterred_invalid_password=입력한 비밀번호가 올바른지 확인하십시오.
|
enterred_invalid_password=입력한 비밀번호가 올바른지 확인하십시오.
|
||||||
@@ -256,8 +265,7 @@ following=팔로우 중
|
|||||||
follow=추적하기
|
follow=추적하기
|
||||||
unfollow=추적해제
|
unfollow=추적해제
|
||||||
|
|
||||||
form.name_reserved=사용자 이름 '%s'는 예약되어 있습니다.
|
form.name_not_allowed=사용자 이름 또는 패턴 %q 은(는) 허용되지 않습니다.
|
||||||
form.name_pattern_not_allowed=사용자 이름 패턴 '%s'은 허용 되지 않습니다.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=프로필
|
profile=프로필
|
||||||
@@ -309,6 +317,7 @@ delete_email=삭제
|
|||||||
email_deletion=이메일 삭제
|
email_deletion=이메일 삭제
|
||||||
email_deletion_desc=이메일 주소를 삭제하면 당신의 계정과 연관된 정보도 함께 삭제됩니다. 계속 하시겠습니까?
|
email_deletion_desc=이메일 주소를 삭제하면 당신의 계정과 연관된 정보도 함께 삭제됩니다. 계속 하시겠습니까?
|
||||||
email_deletion_success=이메일 주소를 성공적으로 삭제되하였습니다!
|
email_deletion_success=이메일 주소를 성공적으로 삭제되하였습니다!
|
||||||
|
email_deletion_primary=기본 이메일 주소를 삭제할 수 없습니다.
|
||||||
add_new_email=새 이메일 주소 추가
|
add_new_email=새 이메일 주소 추가
|
||||||
add_email=이메일 추가
|
add_email=이메일 추가
|
||||||
add_email_confirmation_sent=새로운 이메일 주소 인증이 '%s'로 발송되었습니다. %d시간 안에 확인 절차를 완료하셔야 합니다.
|
add_email_confirmation_sent=새로운 이메일 주소 인증이 '%s'로 발송되었습니다. %d시간 안에 확인 절차를 완료하셔야 합니다.
|
||||||
@@ -348,20 +357,23 @@ two_factor_or_enter_secret=또는 이 비밀키를 입력하세요:
|
|||||||
two_factor_then_enter_passcode=그리고 코드를 입력하세요:
|
two_factor_then_enter_passcode=그리고 코드를 입력하세요:
|
||||||
two_factor_verify=확인
|
two_factor_verify=확인
|
||||||
two_factor_invalid_passcode=입력한 코드가 올바르지 않습니다. 다시 시도해 주세요!
|
two_factor_invalid_passcode=입력한 코드가 올바르지 않습니다. 다시 시도해 주세요!
|
||||||
|
two_factor_reused_passcode=입력하신 비밀번호가 이미 사용되였습니.다른 비밀번호를 사용해보십시오!.
|
||||||
two_factor_enable_error=2단계 인증 활성화 실패: %v
|
two_factor_enable_error=2단계 인증 활성화 실패: %v
|
||||||
two_factor_enable_success=2단계 인증이 성공적으로 활성화되었습니다!
|
two_factor_enable_success=2단계 인증이 성공적으로 활성화되었습니다!
|
||||||
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
two_factor_recovery_codes_title=2단계 인증 복구 코드
|
||||||
two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>.
|
two_factor_recovery_codes_desc=복구 코드는 당신이 2단계 인증 프로그램에 접근할 수 없을때 사용합니다. 각 코드들은 한 번만 사용될 수 있습니다. <b>이 코드들은 안전한 장소에 보관하세요.</b>
|
||||||
two_factor_regenerate_recovery_codes=Regenerate Recovery Codes
|
two_factor_regenerate_recovery_codes=복구 코드 재생성
|
||||||
two_factor_regenerate_recovery_codes_error=Regenerate recovery codes failed: %v
|
two_factor_regenerate_recovery_codes_error=복구 코드 재생성 실패: %v
|
||||||
two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully!
|
two_factor_regenerate_recovery_codes_success=성공적으로 새로운 복구 코드가 생성되었습니다!
|
||||||
two_factor_disable_title=2단계 인증 비활성화
|
two_factor_disable_title=2단계 인증 비활성화
|
||||||
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
|
two_factor_disable_desc=2단계 인증을 끄면 보안 수준이 낮아집니다. 계속하시겠습니까?
|
||||||
two_factor_disable_success=2단계 인증이 성공적으로 비활성화되었습니다!
|
two_factor_disable_success=2단계 인증이 성공적으로 비활성화되었습니다!
|
||||||
|
|
||||||
manage_access_token=개인 액세스 토큰 관리
|
manage_access_token=개인 액세스 토큰 관리
|
||||||
generate_new_token=새 토큰을 생성
|
generate_new_token=새 토큰을 생성
|
||||||
tokens_desc=Gogs Api에 액세스 하는 데 사용할 수 있는 토큰입니다.
|
tokens_desc=Gogs Api에 액세스 하는 데 사용할 수 있는 토큰입니다.
|
||||||
|
access_token_tips=개인 액세스 토큰은 사용자 이름 또는 비밀번호로 사용할 수 있습니다. Git 애플리케이션에서는 'x-access-token'을 사용자 이름으로 사용하고, 개인 액세스 토큰을 비밀번호로 사용하는 것이 권장됩니다.
|
||||||
|
|
||||||
new_token_desc=각 토큰은 당신의 모든 권한을 행사할 수 있습니다.
|
new_token_desc=각 토큰은 당신의 모든 권한을 행사할 수 있습니다.
|
||||||
token_name=토큰 이름
|
token_name=토큰 이름
|
||||||
generate_token=토큰 생성
|
generate_token=토큰 생성
|
||||||
@@ -370,15 +382,16 @@ delete_token=삭제
|
|||||||
access_token_deletion=개인 액세스 토큰 삭제
|
access_token_deletion=개인 액세스 토큰 삭제
|
||||||
access_token_deletion_desc=이 토큰을 사용하는 애플리케이션의 접근권한 또한 삭제됩니다. 계속 하시겠습니까?
|
access_token_deletion_desc=이 토큰을 사용하는 애플리케이션의 접근권한 또한 삭제됩니다. 계속 하시겠습니까?
|
||||||
delete_token_success=액세스 토큰이 삭제되었습니다. 애플리케이션의 업데이트도 잊지 마세요.
|
delete_token_success=액세스 토큰이 삭제되었습니다. 애플리케이션의 업데이트도 잊지 마세요.
|
||||||
|
token_name_exists=같은 이름의 토큰이 이미 존재합니다.
|
||||||
|
|
||||||
orgs.none=당신은 어떤 조직의 구성원도 아닙니다.
|
orgs.none=당신은 어떤 조직의 구성원도 아닙니다.
|
||||||
orgs.leave_title=조직 떠나기
|
orgs.leave_title=조직 떠나기
|
||||||
orgs.leave_desc=조직을 떠난 후에는 모든 리포지토리와 팀에 액세스 할 수 없게 됩니다. 계속 하시겠습니까?
|
orgs.leave_desc=조직을 떠난 후에는 모든 리포지토리와 팀에 액세스 할 수 없게 됩니다. 계속 하시겠습니까?
|
||||||
|
|
||||||
repos.leave=Leave
|
repos.leave=나가기
|
||||||
repos.leave_title=Leave repository
|
repos.leave_title=저장소 나가기
|
||||||
repos.leave_desc=You will lose access to the repository after you left. Do you want to continue?
|
repos.leave_desc=이 페지를 떠나면 저장소에 액세스할수 없게 됩니다. 계속하시겠습니까?
|
||||||
repos.leave_success=You have left repository '%s' successfully!
|
repos.leave_success=당신은 저장소 '%s' 에서 성공적으로 탈퇴하였습니다.!
|
||||||
|
|
||||||
delete_account=계정 삭제
|
delete_account=계정 삭제
|
||||||
delete_prompt=당신의 계정을 삭제합니다. 완료된 후에는 <strong>취소할 수 없습니다</strong>.
|
delete_prompt=당신의 계정을 삭제합니다. 완료된 후에는 <strong>취소할 수 없습니다</strong>.
|
||||||
@@ -391,7 +404,9 @@ owner=소유자
|
|||||||
repo_name=저장소 이름
|
repo_name=저장소 이름
|
||||||
repo_name_helper=좋은 저장소 이름은 짧고 기억하기 좋은 유니크한 키워드로 이루어 집니다.
|
repo_name_helper=좋은 저장소 이름은 짧고 기억하기 좋은 유니크한 키워드로 이루어 집니다.
|
||||||
visibility=가시성
|
visibility=가시성
|
||||||
|
unlisted=비공개
|
||||||
visiblity_helper=이 저장소는 <span class="ui red text">비공개</span> 저장소입니다
|
visiblity_helper=이 저장소는 <span class="ui red text">비공개</span> 저장소입니다
|
||||||
|
unlisted_helper=이 저장소는 <span class="ui red text">비공개</span> 저장소입니다.
|
||||||
visiblity_helper_forced=사이트 관리자가 모든 저장소를 <span class="ui red text">비공개</span>로 변경하였습니다.
|
visiblity_helper_forced=사이트 관리자가 모든 저장소를 <span class="ui red text">비공개</span>로 변경하였습니다.
|
||||||
visiblity_fork_helper=(이 값의 변경은 모든 포크에 영향을 줍니다)
|
visiblity_fork_helper=(이 값의 변경은 모든 포크에 영향을 줍니다)
|
||||||
clone_helper=클론하는데에 도움이 필요하면 <a target="_blank" href="%s">Help</a>에 방문하세요.
|
clone_helper=클론하는데에 도움이 필요하면 <a target="_blank" href="%s">Help</a>에 방문하세요.
|
||||||
@@ -417,10 +432,11 @@ mirror_last_synced=마지막으로 동기화됨
|
|||||||
watchers=주시하고 있는 사람들
|
watchers=주시하고 있는 사람들
|
||||||
stargazers=별을 준 사람들
|
stargazers=별을 준 사람들
|
||||||
forks=포크
|
forks=포크
|
||||||
|
repo_description_helper=저장소 설명.최대 512길이의 문자열이 가능합니다.
|
||||||
|
repo_description_length=가능한 문자열입니다.
|
||||||
|
|
||||||
form.reach_limit_of_creation=소유자가 저장소 만들기 최대 제한에 (%d개) 도달했습니다.
|
form.reach_limit_of_creation=소유자가 저장소 만들기 최대 제한에 (%d개) 도달했습니다.
|
||||||
form.name_reserved=저장소 이름 '%s'은 예약 되어 있습니다.
|
form.name_not_allowed=저장소명 또는 패턴 %q 은(는) 허용되지 않습니다.
|
||||||
form.name_pattern_not_allowed=저장소 이름 패턴 '%s'은 허용 되지 않습니다.
|
|
||||||
|
|
||||||
need_auth=인증 필요
|
need_auth=인증 필요
|
||||||
migrate_type=마이그레이션 유형
|
migrate_type=마이그레이션 유형
|
||||||
@@ -431,6 +447,7 @@ migrate.clone_address_desc=HTTP/HTTPS/GIT URL일 수 있습니다.
|
|||||||
migrate.clone_address_desc_import_local=로컬 서버 경로를 기준으로 저장소를 마이그레이션 할 수도 있습니다.
|
migrate.clone_address_desc_import_local=로컬 서버 경로를 기준으로 저장소를 마이그레이션 할 수도 있습니다.
|
||||||
migrate.permission_denied=로컬 저장소는 가져오기를 할 수 없습니다.
|
migrate.permission_denied=로컬 저장소는 가져오기를 할 수 없습니다.
|
||||||
migrate.invalid_local_path=잘못된 로컬 경로입니다. 존재하지 않는 경로거나 폴더가 아닙니다.
|
migrate.invalid_local_path=잘못된 로컬 경로입니다. 존재하지 않는 경로거나 폴더가 아닙니다.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=복제 주소는 암묵적으로 차단된 로컬 네트워크 주소로 확인되었습니다.
|
||||||
migrate.failed=마이그레이션 실패: %v
|
migrate.failed=마이그레이션 실패: %v
|
||||||
|
|
||||||
mirror_from=의 미러
|
mirror_from=의 미러
|
||||||
@@ -472,12 +489,14 @@ file_permalink=고유링크
|
|||||||
file_too_large=이 파일은 표시하기엔 너무 큽니다.
|
file_too_large=이 파일은 표시하기엔 너무 큽니다.
|
||||||
video_not_supported_in_browser=이 브라우저는 HTML5 비디오 태그를 지원하지 않습니다.
|
video_not_supported_in_browser=이 브라우저는 HTML5 비디오 태그를 지원하지 않습니다.
|
||||||
|
|
||||||
branches.overview=Overview
|
branches.overview=개요
|
||||||
branches.active_branches=활성 브랜치
|
branches.active_branches=활성 브랜치
|
||||||
branches.stale_branches=오래된 브랜치
|
branches.stale_branches=오래된 브랜치
|
||||||
branches.all=모든 브랜치
|
branches.all=모든 브랜치
|
||||||
branches.updated_by=Updated %[1]s by %[2]s
|
branches.updated_by=%[2]s이 %[1]s를 업데이트
|
||||||
branches.change_default_branch=기본 브랜치 변경
|
branches.change_default_branch=기본 브랜치 변경
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=파일 생성
|
editor.new_file=파일 생성
|
||||||
editor.upload_file=파일 업로드
|
editor.upload_file=파일 업로드
|
||||||
@@ -514,6 +533,7 @@ editor.file_changed_while_editing=편집을 시작한 이후 파일 내용이
|
|||||||
editor.file_already_exists=이 저장소에 이름이 '%s'인 파일이 이미 존재합니다.
|
editor.file_already_exists=이 저장소에 이름이 '%s'인 파일이 이미 존재합니다.
|
||||||
editor.no_changes_to_show=표시할 변경사항이 없습니다.
|
editor.no_changes_to_show=표시할 변경사항이 없습니다.
|
||||||
editor.fail_to_update_file=파일 '%s'를 변경/추가 하는데 실패하였습니다. 에러: %v
|
editor.fail_to_update_file=파일 '%s'를 변경/추가 하는데 실패하였습니다. 에러: %v
|
||||||
|
editor.fail_to_delete_file=파일 '%s'를 삭제하는데 실패하였습니다. 오유: %v
|
||||||
editor.add_subdir=하위 디렉토리 추가...
|
editor.add_subdir=하위 디렉토리 추가...
|
||||||
editor.unable_to_upload_files=파일 '%s'를 업로드하는데 실패하였습니다. 에러: %v
|
editor.unable_to_upload_files=파일 '%s'를 업로드하는데 실패하였습니다. 에러: %v
|
||||||
editor.upload_files_to_dir=파일 업로드 '%s'
|
editor.upload_files_to_dir=파일 업로드 '%s'
|
||||||
@@ -616,7 +636,7 @@ pulls.compare_compare=비교
|
|||||||
pulls.filter_branch=Filter Branch
|
pulls.filter_branch=Filter Branch
|
||||||
pulls.no_results=결과 없음
|
pulls.no_results=결과 없음
|
||||||
pulls.nothing_to_compare=Base 와 head 브랜치가 동일해서 비교할 게 없습니다.
|
pulls.nothing_to_compare=Base 와 head 브랜치가 동일해서 비교할 게 없습니다.
|
||||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
pulls.nothing_merge_base=두 브런치의 리력이 완전히 다르므로 비교할수 없습니다.
|
||||||
pulls.has_pull_request=`이 두 타겟 사이엔 이미 풀 리퀘스트가 있습니다:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
pulls.has_pull_request=`이 두 타겟 사이엔 이미 풀 리퀘스트가 있습니다:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||||
pulls.create=풀 리퀘스트 생성
|
pulls.create=풀 리퀘스트 생성
|
||||||
pulls.title_desc=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지하려 합니다
|
pulls.title_desc=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지하려 합니다
|
||||||
@@ -633,8 +653,9 @@ pulls.is_checking=아직 컨플릭트 여부 체크 중입니다, 잠시 후 이
|
|||||||
pulls.can_auto_merge_desc=이 풀리퀘스트는 자동적으로 머지될 수 있습니다.
|
pulls.can_auto_merge_desc=이 풀리퀘스트는 자동적으로 머지될 수 있습니다.
|
||||||
pulls.cannot_auto_merge_desc=컨플릭이 존재해서 이 풀리퀘스트는 자동을 머지될 수 없습니다.
|
pulls.cannot_auto_merge_desc=컨플릭이 존재해서 이 풀리퀘스트는 자동을 머지될 수 없습니다.
|
||||||
pulls.cannot_auto_merge_helper=컨플릭을 해결하려면 수동으로 머지해 주십시오.
|
pulls.cannot_auto_merge_helper=컨플릭을 해결하려면 수동으로 머지해 주십시오.
|
||||||
pulls.create_merge_commit=Create a merge commit
|
pulls.create_merge_commit=합치기커밋 생성
|
||||||
pulls.rebase_before_merging=Rebase before merging
|
pulls.rebase_before_merging=병합 하기 전에 리베이스
|
||||||
|
pulls.commit_description=커밋설명
|
||||||
pulls.merge_pull_request=풀리퀘스트 머지
|
pulls.merge_pull_request=풀리퀘스트 머지
|
||||||
pulls.open_unmerged_pull_exists=`같은 리파지토리에서 같은 머지 정보로 만들어진 풀리퀘스트 (#%d) 가 이미 오픈 상태이고 머지를 기다리고 있기 때문에 다시 열기 작업을 할 수 없습니다.`
|
pulls.open_unmerged_pull_exists=`같은 리파지토리에서 같은 머지 정보로 만들어진 풀리퀘스트 (#%d) 가 이미 오픈 상태이고 머지를 기다리고 있기 때문에 다시 열기 작업을 할 수 없습니다.`
|
||||||
pulls.delete_branch=브랜치 삭제
|
pulls.delete_branch=브랜치 삭제
|
||||||
@@ -690,11 +711,11 @@ settings.collaboration.write=쓰기
|
|||||||
settings.collaboration.read=읽기
|
settings.collaboration.read=읽기
|
||||||
settings.collaboration.undefined=미정의
|
settings.collaboration.undefined=미정의
|
||||||
settings.branches=브랜치
|
settings.branches=브랜치
|
||||||
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
|
settings.branches_bare=당신은 빈 저장소에 대한 브런치를 관리할수 없습니다. 먼저 저장소에 내용을 푸쉬하십시오.
|
||||||
settings.default_branch=기본 브랜치
|
settings.default_branch=기본 브랜치
|
||||||
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
|
settings.default_branch_desc=기본 브랜치는 코드 커밋, 풀 리퀘스트 및 온라인 편집을 위한 "기본" 브랜치로 간주됩니다.
|
||||||
settings.update=업데이트
|
settings.update=업데이트
|
||||||
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server.
|
settings.update_default_branch_unsupported=서버의 Git 버전에서는 기본 브랜치 변경이 지원되지 않습니다.
|
||||||
settings.update_default_branch_success=이 레포지토리의 기본 브랜치가 성공적으로 설정되었습니다!
|
settings.update_default_branch_success=이 레포지토리의 기본 브랜치가 성공적으로 설정되었습니다!
|
||||||
settings.protected_branches=보호된 브랜치
|
settings.protected_branches=보호된 브랜치
|
||||||
settings.protected_branches_desc=보호된 브랜치는 force 푸시, 실수로 인한 코드 삭제를 방지하며 코드 커미터를 화이트리스트 합니다.
|
settings.protected_branches_desc=보호된 브랜치는 force 푸시, 실수로 인한 코드 삭제를 방지하며 코드 커미터를 화이트리스트 합니다.
|
||||||
@@ -706,12 +727,12 @@ settings.protect_this_branch_desc=Force 푸시와 삭제를 비활성화합니
|
|||||||
settings.protect_require_pull_request=직접 push 를 하지 않고 Pull Request 를 필요로 하도록 합니다.
|
settings.protect_require_pull_request=직접 push 를 하지 않고 Pull Request 를 필요로 하도록 합니다.
|
||||||
settings.protect_require_pull_request_desc=이 브랜치에 직접 푸시를 하는 것을 막고 싶다면 이 옵션을 활성화하세요. 커밋은 다른 비보호 브랜치에 푸시되어야 하며 이 브랜치에는 Pull Request 를 통해 병합될 것입니다.
|
settings.protect_require_pull_request_desc=이 브랜치에 직접 푸시를 하는 것을 막고 싶다면 이 옵션을 활성화하세요. 커밋은 다른 비보호 브랜치에 푸시되어야 하며 이 브랜치에는 Pull Request 를 통해 병합될 것입니다.
|
||||||
settings.protect_whitelist_committers=이 브랜치에 푸시할 수 있는 유저
|
settings.protect_whitelist_committers=이 브랜치에 푸시할 수 있는 유저
|
||||||
settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check.
|
settings.protect_whitelist_committers_desc=이 브랜치에 직접 푸시할 수 있는 허용 목록에 사람 또는 팀을 추가합니다. 허용 목록에 있는 사용자는 풀 리퀘스트 확인을 거치지 않습니다.
|
||||||
settings.protect_whitelist_users=이 브랜치에 푸시를 할 수 있는 유저
|
settings.protect_whitelist_users=이 브랜치에 푸시를 할 수 있는 유저
|
||||||
settings.protect_whitelist_search_users=유저 검색
|
settings.protect_whitelist_search_users=유저 검색
|
||||||
settings.protect_whitelist_teams=Teams for which members of them can push to this branch
|
settings.protect_whitelist_teams=이 브랜치에 푸시할 수 있는 팀의 멤버들
|
||||||
settings.protect_whitelist_search_teams=Search teams
|
settings.protect_whitelist_search_teams=팀 검색
|
||||||
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
|
settings.update_protect_branch_success=브랜치의 보호 옵션이 성공적으로 업데이트되었습니다!
|
||||||
settings.hooks=Webhooks
|
settings.hooks=Webhooks
|
||||||
settings.githooks=Git Hooks
|
settings.githooks=Git Hooks
|
||||||
settings.basic_settings=기본 설정
|
settings.basic_settings=기본 설정
|
||||||
@@ -724,13 +745,13 @@ settings.change_reponame_prompt=이 변경은 이 저장소와 연관된 링크
|
|||||||
settings.advanced_settings=고급 설정
|
settings.advanced_settings=고급 설정
|
||||||
settings.wiki_desc=위키 시스템 활성화
|
settings.wiki_desc=위키 시스템 활성화
|
||||||
settings.use_internal_wiki=내장 위키 사용
|
settings.use_internal_wiki=내장 위키 사용
|
||||||
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
|
settings.allow_public_wiki_desc=저장소가 비공개되어 있으면 위키에 공개적으로 접속할 수 있도록 허용하기
|
||||||
settings.use_external_wiki=외부 위키 사용하기
|
settings.use_external_wiki=외부 위키 사용하기
|
||||||
settings.external_wiki_url=외부 위키 URL
|
settings.external_wiki_url=외부 위키 URL
|
||||||
settings.external_wiki_url_desc=탭을 클릭하면 URL로 리다이렉트됩니다.
|
settings.external_wiki_url_desc=탭을 클릭하면 URL로 리다이렉트됩니다.
|
||||||
settings.issues_desc=이슈 추적기를 사용하도록 설정
|
settings.issues_desc=이슈 추적기를 사용하도록 설정
|
||||||
settings.use_internal_issue_tracker=내장된 경량 이슈 트레커를 사용
|
settings.use_internal_issue_tracker=내장된 경량 이슈 트레커를 사용
|
||||||
settings.allow_public_issues_desc=Allow public access to issues when repository is private
|
settings.allow_public_issues_desc=저장소가 비공개인 경우 이슈에 공개적으로 접속할 수 있도록 허용하기
|
||||||
settings.use_external_issue_tracker=외부 이슈 트래커 사용하기
|
settings.use_external_issue_tracker=외부 이슈 트래커 사용하기
|
||||||
settings.external_tracker_url=외부 이슈 트래커 URL
|
settings.external_tracker_url=외부 이슈 트래커 URL
|
||||||
settings.external_tracker_url_desc=방문자는 탭을 클릭하면 URL로 리다이렉트 됩니다.
|
settings.external_tracker_url_desc=방문자는 탭을 클릭하면 URL로 리다이렉트 됩니다.
|
||||||
@@ -739,9 +760,9 @@ settings.tracker_issue_style=외부 이슈 트래커 명명 스타일:
|
|||||||
settings.tracker_issue_style.numeric=숫자
|
settings.tracker_issue_style.numeric=숫자
|
||||||
settings.tracker_issue_style.alphanumeric=문자 숫자
|
settings.tracker_issue_style.alphanumeric=문자 숫자
|
||||||
settings.tracker_url_format_desc=<code>{user} {repo} {index}</code> 사용자 명, 저장소 명, 이슈 인덱스를 사용하여 표시자를 사용할 수 있습니다.
|
settings.tracker_url_format_desc=<code>{user} {repo} {index}</code> 사용자 명, 저장소 명, 이슈 인덱스를 사용하여 표시자를 사용할 수 있습니다.
|
||||||
settings.pulls_desc=끌어오기 요청을 공개적으로 기여받을 수 있도록 활성화합니다.
|
settings.pulls_desc=다른 저장소와 브랜치 간의 기여를 수용할 수 있도록 풀 리퀘스트 활성화
|
||||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
settings.pulls.ignore_whitespace=공백 변경 무시
|
||||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
settings.pulls.allow_rebase_merge=커밋을 머지하기 위해 리베이스 사용 허용
|
||||||
settings.danger_zone=위험 설정
|
settings.danger_zone=위험 설정
|
||||||
settings.cannot_fork_to_same_owner=본인 소유의 저장소를 본인 명의로 포크할 수 없습니다.
|
settings.cannot_fork_to_same_owner=본인 소유의 저장소를 본인 명의로 포크할 수 없습니다.
|
||||||
settings.new_owner_has_same_repo=새로운 소유자가 같은 이름의 저장소를 이미 가지고 있습니다. 다른 이름을 선택해주세요.
|
settings.new_owner_has_same_repo=새로운 소유자가 같은 이름의 저장소를 이미 가지고 있습니다. 다른 이름을 선택해주세요.
|
||||||
@@ -762,7 +783,7 @@ settings.wiki_deletion_success=저장소의 Wiki 데이터가 성공적으로
|
|||||||
settings.delete=이 저장소 삭제
|
settings.delete=이 저장소 삭제
|
||||||
settings.delete_desc=저장소를 지우고 나면 되돌릴 수 없습니다. 다시 한번 확인하세요.
|
settings.delete_desc=저장소를 지우고 나면 되돌릴 수 없습니다. 다시 한번 확인하세요.
|
||||||
settings.delete_notices_1=- 이 작업은 취소할 수 <strong>없습니다.</strong>
|
settings.delete_notices_1=- 이 작업은 취소할 수 <strong>없습니다.</strong>
|
||||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
settings.delete_notices_2=- 이 작업을 수행하면 Git 데이터, 이슈, 댓글, 협업자 액세스 등 이 저장소의 모든 내용이 영구적으로 삭제됩니다.
|
||||||
settings.delete_notices_fork_1=- 모든 포크들은 삭제 후에도 독립적으로 유지됩니다.
|
settings.delete_notices_fork_1=- 모든 포크들은 삭제 후에도 독립적으로 유지됩니다.
|
||||||
settings.deletion_success=저장소가 성공적으로 삭제 되었습니다!
|
settings.deletion_success=저장소가 성공적으로 삭제 되었습니다!
|
||||||
settings.update_settings_success=저장소 옵션이 성공적으로 업데이트 되었습니다.
|
settings.update_settings_success=저장소 옵션이 성공적으로 업데이트 되었습니다.
|
||||||
@@ -778,21 +799,25 @@ settings.collaborator_deletion_desc=이 사용자는 더 이상 이 저장소의
|
|||||||
settings.remove_collaborator_success=공동작업자가 삭제 되었습니다.
|
settings.remove_collaborator_success=공동작업자가 삭제 되었습니다.
|
||||||
settings.search_user_placeholder=사용자 검색...
|
settings.search_user_placeholder=사용자 검색...
|
||||||
settings.org_not_allowed_to_be_collaborator=조직을 공동 작업자로 추가할 수 없습니다.
|
settings.org_not_allowed_to_be_collaborator=조직을 공동 작업자로 추가할 수 없습니다.
|
||||||
settings.add_webhook=Webhook 추가
|
|
||||||
settings.hooks_desc=웹후크는 기본적인 HTTP POST 이벤트 트리거입니다. Gogs에서 무슨 일이 발생할 때마다, 지정한 대상 호스트에 알림을 보냅니다. <a target="_blank" href="%s">웹후크 안내서</a>에서 자세히 알아보십시오.
|
settings.hooks_desc=웹후크는 기본적인 HTTP POST 이벤트 트리거입니다. Gogs에서 무슨 일이 발생할 때마다, 지정한 대상 호스트에 알림을 보냅니다. <a target="_blank" href="%s">웹후크 안내서</a>에서 자세히 알아보십시오.
|
||||||
|
settings.webhooks.add_new=새 웹훅 추가
|
||||||
|
settings.webhooks.choose_a_type=유형 선택...
|
||||||
|
settings.add_webhook=Webhook 추가
|
||||||
settings.webhook_deletion=Webhook 삭제
|
settings.webhook_deletion=Webhook 삭제
|
||||||
settings.webhook_deletion_desc=이 웹훅을 삭제하면 정보와 모든 전송기록이 제거됩니다. 계속 하시겠습니까?
|
settings.webhook_deletion_desc=이 웹훅을 삭제하면 정보와 모든 전송기록이 제거됩니다. 계속 하시겠습니까?
|
||||||
settings.webhook_deletion_success=Webhook을 성공적으로 삭제했습니다!
|
settings.webhook_deletion_success=Webhook을 성공적으로 삭제했습니다!
|
||||||
settings.webhook.test_delivery=전달 시험
|
settings.webhook.test_delivery=전달 시험
|
||||||
settings.webhook.test_delivery_desc=가짜 푸시 이벤트 전달하여 웹훅 설정을 테스트합니다.
|
settings.webhook.test_delivery_desc=가짜 푸시 이벤트 전달하여 웹훅 설정을 테스트합니다.
|
||||||
settings.webhook.test_delivery_success=Webhook 테스트가 delivery 큐에 추가되었습니다. delivery 기록에서 나오기까지 몇 초의 시간이 걸릴 것입니다.
|
settings.webhook.test_delivery_success=Webhook 테스트가 delivery 큐에 추가되었습니다. delivery 기록에서 나오기까지 몇 초의 시간이 걸릴 것입니다.
|
||||||
settings.webhook.redelivery=Redelivery
|
settings.webhook.redelivery=재전송
|
||||||
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history.
|
settings.webhook.redelivery_success=웹훅 작업 '%s'이(가) 다시 전달 큐에 추가되었습니다. 전달 상태는 이력에서 잠시 후 반영됩니다.
|
||||||
settings.webhook.request=요청
|
settings.webhook.request=요청
|
||||||
settings.webhook.response=응답
|
settings.webhook.response=응답
|
||||||
settings.webhook.headers=제목
|
settings.webhook.headers=제목
|
||||||
settings.webhook.payload=페이로드
|
settings.webhook.payload=페이로드
|
||||||
settings.webhook.body=본문
|
settings.webhook.body=본문
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=페이로드 URL을 구문 분석할 수 없습니다: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=로컬 네트워크 주소로 확인된 페이로드 URL이 암묵적으로 차단되었습니다.
|
||||||
settings.githooks_desc=Git Hooks는 Git 자체에서 제공되며, 아래 목록에서 지원되는 후크 파일을 편집하여 사용자 정의 작업을 수행 할 수 있습니다.
|
settings.githooks_desc=Git Hooks는 Git 자체에서 제공되며, 아래 목록에서 지원되는 후크 파일을 편집하여 사용자 정의 작업을 수행 할 수 있습니다.
|
||||||
settings.githook_edit_desc=후크가 비활성인 경우 샘플 콘텐츠가 표시됩니다. 내용을 빈 값으로 두면 이 훅은 비활성화됩니다.
|
settings.githook_edit_desc=후크가 비활성인 경우 샘플 콘텐츠가 표시됩니다. 내용을 빈 값으로 두면 이 훅은 비활성화됩니다.
|
||||||
settings.githook_name=Hook 이름
|
settings.githook_name=Hook 이름
|
||||||
@@ -802,7 +827,7 @@ settings.add_webhook_desc=Gogs는 발생한 이벤트와 관련하여 지정한
|
|||||||
settings.payload_url=페이로드 URL
|
settings.payload_url=페이로드 URL
|
||||||
settings.content_type=컨텐츠 타입
|
settings.content_type=컨텐츠 타입
|
||||||
settings.secret=비밀
|
settings.secret=비밀
|
||||||
settings.secret_desc=Secret will be sent as SHA256 HMAC hex digest of payload via <code>X-Gogs-Signature</code> header.
|
settings.secret_desc=시크릿은 <code>X-Gogs-Signature</code> 헤더를 통해 페이로드의 SHA256 HMAC 16진수 다이제스트로 전송됩니다.
|
||||||
settings.slack_username=사용자 이름
|
settings.slack_username=사용자 이름
|
||||||
settings.slack_icon_url=아이콘 URL
|
settings.slack_icon_url=아이콘 URL
|
||||||
settings.slack_color=색
|
settings.slack_color=색
|
||||||
@@ -815,17 +840,17 @@ settings.event_create_desc=브랜치 또는 태그를 생성합니다.
|
|||||||
settings.event_delete=삭제
|
settings.event_delete=삭제
|
||||||
settings.event_delete_desc=브랜치나 태그 삭제됨
|
settings.event_delete_desc=브랜치나 태그 삭제됨
|
||||||
settings.event_fork=포크
|
settings.event_fork=포크
|
||||||
settings.event_fork_desc=Repository forked
|
settings.event_fork_desc=저장소 포크됨
|
||||||
settings.event_push=푸시
|
settings.event_push=푸시
|
||||||
settings.event_push_desc=깃 저장소로 푸시
|
settings.event_push_desc=깃 저장소로 푸시
|
||||||
settings.event_issues=이슈
|
settings.event_issues=이슈
|
||||||
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
settings.event_issues_desc=이슈가 생성됨, 닫힘, 다시 열림, 편집됨, 담당자 지정 또는 해제, 라벨 업데이트 또는 제거, 마일스톤 지정 또는 해제됨.
|
||||||
settings.event_issue_comment=Issue Comment
|
|
||||||
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
|
||||||
settings.event_pull_request=끌어오기 요청
|
settings.event_pull_request=끌어오기 요청
|
||||||
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
||||||
settings.event_release=Release
|
settings.event_issue_comment=이슈 댓글
|
||||||
settings.event_release_desc=Release published in a repository.
|
settings.event_issue_comment_desc=이슈 댓글이 작성, 편집 또는 삭제되었습니다.
|
||||||
|
settings.event_release=릴리즈
|
||||||
|
settings.event_release_desc=저장소에 릴리즈가 출시되었습니다.
|
||||||
settings.active=활성
|
settings.active=활성
|
||||||
settings.active_helper=후크를 트리거하면 이벤트에 대한 세부 정보도 전달됩니다.
|
settings.active_helper=후크를 트리거하면 이벤트에 대한 세부 정보도 전달됩니다.
|
||||||
settings.add_hook_success=새로운 웹훅이 생성되었습니다.
|
settings.add_hook_success=새로운 웹훅이 생성되었습니다.
|
||||||
@@ -853,6 +878,8 @@ settings.add_key_success=새로운 배포 키 '%s'가 성공적으로 추가 되
|
|||||||
settings.deploy_key_deletion=배포 키 삭제
|
settings.deploy_key_deletion=배포 키 삭제
|
||||||
settings.deploy_key_deletion_desc=이 배포키를 삭제하면 이 저장소와 관련된 모든 접근 권한이 삭제됩니다. 계속 하시겠습니까?
|
settings.deploy_key_deletion_desc=이 배포키를 삭제하면 이 저장소와 관련된 모든 접근 권한이 삭제됩니다. 계속 하시겠습니까?
|
||||||
settings.deploy_key_deletion_success=배포 키가 성공적으로 삭제되었습니다!
|
settings.deploy_key_deletion_success=배포 키가 성공적으로 삭제되었습니다!
|
||||||
|
settings.description_desc=저장소 설명입니다. 최대 512길이의 문자열이 가능합니다.
|
||||||
|
settings.description_length=사용 가능한 문자열
|
||||||
|
|
||||||
diff.browse_source=소스 검색
|
diff.browse_source=소스 검색
|
||||||
diff.parent=부모
|
diff.parent=부모
|
||||||
@@ -917,9 +944,8 @@ team_name_helper=대화에서 이 팀을 언급할 때 이 이름을 사용합
|
|||||||
team_desc_helper=이 팀은 무엇입니까?
|
team_desc_helper=이 팀은 무엇입니까?
|
||||||
team_permission_desc=이 팀이 가진 권한이 무엇입니까?
|
team_permission_desc=이 팀이 가진 권한이 무엇입니까?
|
||||||
|
|
||||||
form.name_reserved=조직이름 '%s'는 예약되어있습니다.
|
form.name_not_allowed=Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=조직이름 패턴 '%s'는 허용되지 않았습니다.
|
form.team_name_not_allowed=Team name or pattern %q is not allowed.
|
||||||
form.team_name_reserved=Team name '%s' is reserved.
|
|
||||||
|
|
||||||
settings=설정
|
settings=설정
|
||||||
settings.options=옵션
|
settings.options=옵션
|
||||||
@@ -991,12 +1017,19 @@ first_page=처음
|
|||||||
last_page=마지막
|
last_page=마지막
|
||||||
total=총: %d
|
total=총: %d
|
||||||
|
|
||||||
|
dashboard.build_info=빌드정보
|
||||||
|
dashboard.app_ver=애플리케이션 버전
|
||||||
|
dashboard.git_version=Git 버전
|
||||||
|
dashboard.go_version=Go 버전
|
||||||
|
dashboard.build_time=태그 만들기
|
||||||
|
dashboard.build_commit=빌드 커밋
|
||||||
dashboard.statistic=통계
|
dashboard.statistic=통계
|
||||||
dashboard.operations=작업
|
dashboard.operations=작업
|
||||||
dashboard.system_status=시스템 모니터 상태
|
dashboard.system_status=시스템 모니터 상태
|
||||||
dashboard.statistic_info=Gogs 데이터베이스에는 <b>%d</b>명의 사용자, <b>%d</b> 조직, <b>%d</b> 공개 키, <b>%d</b> 저장소, <b>%d</b> 주시, <b>%d</b> 별, <b>%d</b> 활동, <b>%d</b> 접근, <b>%d</b> 이슈, <b>%d</b> 댓글, <b>%d</b> 소셜 계정, <b>%d</b> 팔로우, <b>%d</b> 미러, <b>%d</b> 릴리즈, <b>%d</b> 로그인 소스, <b>%d</b> 웹훅, <b>%d</b> 마일스톤, <b>%d</b> 라벨, <b>%d</b> 훅 태스크, <b>%d</b> 팀, <b>%d</b> 업데이트 태스크, <b>%d</b> 첨부파일이 있습니다.
|
dashboard.statistic_info=Gogs 데이터베이스에는 <b>%d</b>명의 사용자, <b>%d</b> 조직, <b>%d</b> 공개 키, <b>%d</b> 저장소, <b>%d</b> 주시, <b>%d</b> 별, <b>%d</b> 활동, <b>%d</b> 접근, <b>%d</b> 이슈, <b>%d</b> 댓글, <b>%d</b> 소셜 계정, <b>%d</b> 팔로우, <b>%d</b> 미러, <b>%d</b> 릴리즈, <b>%d</b> 로그인 소스, <b>%d</b> 웹훅, <b>%d</b> 마일스톤, <b>%d</b> 라벨, <b>%d</b> 훅 태스크, <b>%d</b> 팀, <b>%d</b> 업데이트 태스크, <b>%d</b> 첨부파일이 있습니다.
|
||||||
dashboard.operation_name=작업 명
|
dashboard.operation_name=작업 명
|
||||||
dashboard.operation_switch=스위치
|
dashboard.operation_switch=스위치
|
||||||
|
dashboard.select_operation_to_run=Please select operation to run
|
||||||
dashboard.operation_run=실행
|
dashboard.operation_run=실행
|
||||||
dashboard.clean_unbind_oauth=연결되지 않은 OAuth들을 정리
|
dashboard.clean_unbind_oauth=연결되지 않은 OAuth들을 정리
|
||||||
dashboard.clean_unbind_oauth_success=연결되지 않은 모든 OAuth들이 성공적으로 삭제되었습니다.
|
dashboard.clean_unbind_oauth_success=연결되지 않은 모든 OAuth들이 성공적으로 삭제되었습니다.
|
||||||
@@ -1086,13 +1119,14 @@ repos.private=비공개
|
|||||||
repos.watches=지켜보기
|
repos.watches=지켜보기
|
||||||
repos.stars=Stars
|
repos.stars=Stars
|
||||||
repos.issues=이슈
|
repos.issues=이슈
|
||||||
repos.size=Size
|
repos.size=크기
|
||||||
|
|
||||||
auths.auth_manage_panel=인증 관리 패널
|
auths.auth_sources=인증 소스
|
||||||
auths.new=새로운 소스를 추가
|
auths.new=새로운 소스를 추가
|
||||||
auths.name=이름
|
auths.name=이름
|
||||||
auths.type=유형
|
auths.type=유형
|
||||||
auths.enabled=활성화됨
|
auths.enabled=활성화됨
|
||||||
|
auths.default=기본값
|
||||||
auths.updated=업데이트됨
|
auths.updated=업데이트됨
|
||||||
auths.auth_type=인증 유형
|
auths.auth_type=인증 유형
|
||||||
auths.auth_name=인증 이름
|
auths.auth_name=인증 이름
|
||||||
@@ -1108,12 +1142,12 @@ auths.user_base=사용자 검색 기준
|
|||||||
auths.user_dn=사용자 DN
|
auths.user_dn=사용자 DN
|
||||||
auths.attribute_username=유저 명 속성
|
auths.attribute_username=유저 명 속성
|
||||||
auths.attribute_username_placeholder=사용자 이름에 대한 로그인 폼 필드 값을 사용하려면 비워 둡니다.
|
auths.attribute_username_placeholder=사용자 이름에 대한 로그인 폼 필드 값을 사용하려면 비워 둡니다.
|
||||||
auths.attribute_name=First Name Attribute
|
auths.attribute_name=첫번째 이름 속성
|
||||||
auths.attribute_surname=성씨 속성
|
auths.attribute_surname=성씨 속성
|
||||||
auths.attribute_mail=이메일 속성
|
auths.attribute_mail=이메일 속성
|
||||||
auths.verify_group_membership=Verify group membership
|
auths.verify_group_membership=그룹 구성원 자격을 확인
|
||||||
auths.group_search_base_dn=Group Search Base DN
|
auths.group_search_base_dn=그룹 설정 Base DN
|
||||||
auths.group_filter=Group Filter
|
auths.group_filter=그룹 필터
|
||||||
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
|
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
|
||||||
auths.user_attribute_listed_in_group=User Attribute Listed in Group
|
auths.user_attribute_listed_in_group=User Attribute Listed in Group
|
||||||
auths.attributes_in_bind=DN 컨텍스트에서 속성을 가져와 연결합니다.
|
auths.attributes_in_bind=DN 컨텍스트에서 속성을 가져와 연결합니다.
|
||||||
@@ -1129,9 +1163,9 @@ auths.enable_tls=TLS 암호화 활성화
|
|||||||
auths.skip_tls_verify=TLS 검증 건너뛰기
|
auths.skip_tls_verify=TLS 검증 건너뛰기
|
||||||
auths.pam_service_name=PAM 서비스 명
|
auths.pam_service_name=PAM 서비스 명
|
||||||
auths.enable_auto_register=자동 등록을 활성화
|
auths.enable_auto_register=자동 등록을 활성화
|
||||||
auths.tips=도움말
|
|
||||||
auths.edit=인증 설정 편집
|
auths.edit=인증 설정 편집
|
||||||
auths.activated=이 인증정보는 활성화되어있습니다.
|
auths.activated=이 인증정보는 활성화되어있습니다.
|
||||||
|
auths.default_auth=This authentication is default login source
|
||||||
auths.new_success=새로운 인증 '%s'가 성공적으로 추가 되었습니다.
|
auths.new_success=새로운 인증 '%s'가 성공적으로 추가 되었습니다.
|
||||||
auths.update_success=인증 설정이 성공적으로 변경되었습니다.
|
auths.update_success=인증 설정이 성공적으로 변경되었습니다.
|
||||||
auths.update=인증 설정 업데이트
|
auths.update=인증 설정 업데이트
|
||||||
@@ -1141,122 +1175,188 @@ auths.delete_auth_desc=이 인증이 삭제됩니다. 정말로 진행하시겠
|
|||||||
auths.still_in_used=이 인증은 아직 몇몇 사용자들이 사용하고 있습니다, 먼저 사용자들의 로그인 유형을 삭제하거나 변경해주십시오.
|
auths.still_in_used=이 인증은 아직 몇몇 사용자들이 사용하고 있습니다, 먼저 사용자들의 로그인 유형을 삭제하거나 변경해주십시오.
|
||||||
auths.deletion_success=인증이 성공적으로 삭제 되었습니다!
|
auths.deletion_success=인증이 성공적으로 삭제 되었습니다!
|
||||||
auths.login_source_exist=로그인 소스 '%s'는 이미 존재합니다.
|
auths.login_source_exist=로그인 소스 '%s'는 이미 존재합니다.
|
||||||
|
auths.github_api_endpoint=API 끝점
|
||||||
|
|
||||||
config.not_set=(not set)
|
config.not_set=(설정되지 않음)
|
||||||
config.server_config=서버 설정
|
config.server_config=서버 설정
|
||||||
config.app_name=애플리케이션 이름
|
config.brand_name=브랜드 이름
|
||||||
config.app_ver=응용 프로그램 버전
|
|
||||||
config.app_url=애플리케이션 URL
|
|
||||||
config.domain=도메인
|
|
||||||
config.offline_mode=오프라인 모드
|
|
||||||
config.disable_router_log=라우터 로그 비활성화
|
|
||||||
config.run_user=데몬 실행 계정
|
config.run_user=데몬 실행 계정
|
||||||
config.run_mode=실행 모드
|
config.run_mode=실행 모드
|
||||||
config.git_version=Git 버전
|
config.server.external_url=외부 URL
|
||||||
config.static_file_root_path=정적 파일 최상위 경로
|
config.server.domain=도메인
|
||||||
config.log_file_root_path=로그 파일 최상위 경로
|
config.server.protocol=프로토콜
|
||||||
config.reverse_auth_user=역방향 사용자 인증
|
config.server.http_addr=HTTP 주소
|
||||||
|
config.server.http_port=HTTP 포트
|
||||||
|
config.server.cert_file=인증서 파일
|
||||||
|
config.server.key_file=키 파일
|
||||||
|
config.server.tls_min_version=최소 TLS 버전
|
||||||
|
config.server.unix_socket_permission=Unix 소켓 권한
|
||||||
|
config.server.local_root_url=로컬 최상위 URL
|
||||||
|
config.server.offline_mode=오프라인 모드
|
||||||
|
config.server.disable_router_log=라우터 로그 비활성화
|
||||||
|
config.server.enable_gzip=Gzip 활성화
|
||||||
|
config.server.app_data_path=애플리케이션 데이터 경로
|
||||||
|
config.server.load_assets_from_disk=디스크에서 요소 불러오기
|
||||||
|
config.server.landing_url=랜딩 URL
|
||||||
|
|
||||||
config.ssh_config=SSH 설정
|
config.ssh_config=SSH 설정
|
||||||
config.ssh_enabled=활성화됨
|
config.ssh.enabled=활성화됨
|
||||||
config.ssh_start_builtin_server=빌트인 서버 시작
|
config.ssh.domain=노출된 도메인
|
||||||
config.ssh_domain=도메인
|
config.ssh.port=노출 포트
|
||||||
config.ssh_port=포트
|
config.ssh.root_path=최상위 경로
|
||||||
config.ssh_listen_port=수신 대기 포트
|
config.ssh.keygen_path=키 생성 경로
|
||||||
config.ssh_root_path=최상위 경로
|
config.ssh.key_test_path=키 테스트 경로
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=최소 키 크기 검사
|
||||||
config.ssh_key_test_path=주 테스트 경로
|
config.ssh.minimum_key_sizes=최소 키 사이즈
|
||||||
config.ssh_keygen_path=키 생성 ('ssh-keygen') 경로
|
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
|
||||||
config.ssh_minimum_key_size_check=최소 키 사이즈 검사
|
config.ssh.start_builtin_server=빌트인 서버 시작
|
||||||
config.ssh_minimum_key_sizes=최소 키 사이즈
|
config.ssh.listen_host=수신 대기 호스트
|
||||||
|
config.ssh.listen_port=수신 대기 포트
|
||||||
|
config.ssh.server_ciphers=서버 암호화
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=Repository Configuration
|
config.repo_config=저장소 설정
|
||||||
config.repo_root_path=저장소 최상위 경로
|
config.repo.root_path=최상위 경로
|
||||||
config.script_type=스크립트 유형
|
config.repo.script_type=스크립트 유형
|
||||||
config.repo_force_private=Force Private
|
config.repo.ansi_chatset=ANSI 문자열
|
||||||
config.max_creation_limit=Max Creation Limit
|
config.repo.force_private=비공개 강제
|
||||||
config.preferred_licenses=Preferred Licenses
|
config.repo.max_creation_limit=최대 생성 제한
|
||||||
config.disable_http_git=Disable HTTP Git
|
config.repo.preferred_licenses=선호 라이선스
|
||||||
config.enable_local_path_migration=Enable Local Path Migration
|
config.repo.disable_http_git=HTTP Git 비활성화
|
||||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
config.repo.enable_local_path_migration=로컬 경로 마이그레이션 활성화
|
||||||
|
config.repo.enable_raw_file_render_mode=raw 파일 렌더링 모드 활성화
|
||||||
config.http_config=HTTP 설정
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
config.repo.editor.line_wrap_extensions=편집기 줄 바꿈 확장
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=업로드 활성화됨
|
||||||
|
config.repo.upload.temp_path=임시 경로 업로드
|
||||||
|
config.repo.upload.allowed_types=허용되는 유형 업로드
|
||||||
|
config.repo.upload.file_max_size=업로드 파일 크기 제한
|
||||||
|
config.repo.upload.max_files=업로드 파일 제한
|
||||||
|
|
||||||
config.db_config=데이터베이스 설정
|
config.db_config=데이터베이스 설정
|
||||||
config.db_type=유형
|
config.db.type=유형
|
||||||
config.db_host=호스트
|
config.db.host=호스트
|
||||||
config.db_name=이름
|
config.db.name=이름
|
||||||
config.db_user=사용자
|
config.db.schema=스키마
|
||||||
config.db_ssl_mode=SSL 모드
|
config.db.schema_helper=("postgres" 전용)
|
||||||
config.db_ssl_mode_helper=("postgres" 전용)
|
config.db.user=사용자
|
||||||
config.db_path=경로
|
config.db.ssl_mode=SSL 모드
|
||||||
config.db_path_helper=("sqlite3" 및 "tidb"만)
|
config.db.ssl_mode_helper=("postgres" 전용)
|
||||||
|
config.db.path=경로
|
||||||
|
config.db.path_helper={"sqlite3" 전용)
|
||||||
|
config.db.max_open_conns=Maximum open connections
|
||||||
|
config.db.max_idle_conns=Maximum idle connections
|
||||||
|
|
||||||
config.service_config=서비스 설정
|
config.security_config=보안 설정
|
||||||
config.register_email_confirm=이메일 확인 필수
|
config.security.login_remember_days=로그인 기억 날짜
|
||||||
config.disable_register=등록 비활성화
|
config.security.cookie_remember_name=쿠키 기억하기
|
||||||
config.show_registration_button=등록 버튼을 표시
|
config.security.cookie_username=사용자 이름 쿠키
|
||||||
config.require_sign_in_view=보기 위해선 로그인 필수
|
config.security.cookie_secure=보안 쿠키 활성화
|
||||||
config.mail_notify=메일 알림
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=최소 키 크기 검사를 비활성화
|
config.security.enable_login_status_cookie=로그인 상태 쿠키 활성화
|
||||||
config.enable_captcha=Captcha 활성화
|
config.security.login_status_cookie_name=로그인 상태 쿠키
|
||||||
config.active_code_lives=코드 만료 기한
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=비밀번호 코드 만료 기한
|
|
||||||
|
|
||||||
config.webhook_config=웹훅 설정
|
config.email_config=이메일 설정
|
||||||
config.queue_length=큐 길이
|
config.email.enabled=활성화됨
|
||||||
config.deliver_timeout=시간 제한 사용
|
config.email.subject_prefix=제목 접두어
|
||||||
config.skip_tls_verify=TLS 확인 건너뛰기
|
config.email.host=호스트
|
||||||
|
config.email.from=보내는 사람
|
||||||
|
config.email.user=사용자
|
||||||
|
config.email.disable_helo=HELO 비활성화
|
||||||
|
config.email.helo_hostname=HELO 호스트 이름
|
||||||
|
config.email.skip_verify=인증서 검증 건너뛰기
|
||||||
|
config.email.use_certificate=커스텀 인증서 사용하기
|
||||||
|
config.email.cert_file=인증서 파일
|
||||||
|
config.email.key_file=키 파일
|
||||||
|
config.email.use_plain_text=평문 텍스트 사용
|
||||||
|
config.email.add_plain_text_alt=평문 텍스트 대체 추가
|
||||||
|
config.email.send_test_mail=테스트 이메일 보내기
|
||||||
|
config.email.test_mail_failed=Failed to send test email to '%s': %v
|
||||||
|
config.email.test_mail_sent='%s'로 테스트 이메일을 보냈습니다.
|
||||||
|
|
||||||
config.mailer_config=메일러 설정
|
config.auth_config=Authentication configuration
|
||||||
config.mailer_enabled=활성화됨
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=HELO 비활성화
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=호스트
|
config.auth.require_email_confirm=이메일 인증 필요
|
||||||
config.mailer_user=사용자
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=테스트 이메일 보내기
|
config.auth.disable_registration=등록 비활성화
|
||||||
config.test_mail_failed='%s'로 테스트 이메일을 보내는데 실패하였습니다.: %v
|
config.auth.enable_registration_captcha=등록시 CAPTCHA 사용
|
||||||
config.test_mail_sent='%s'로 테스트 이메일을 보냈습니다.
|
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
config.oauth_config=OAuth 설정
|
config.user_config=User configuration
|
||||||
config.oauth_enabled=활성화됨
|
config.user.enable_email_notify=이메일 알림 활성화
|
||||||
|
|
||||||
config.cache_config=캐시 설정
|
|
||||||
config.cache_adapter=캐시 어댑터
|
|
||||||
config.cache_interval=캐시 간격
|
|
||||||
config.cache_conn=캐시 연결
|
|
||||||
|
|
||||||
config.session_config=세션 설정
|
config.session_config=세션 설정
|
||||||
config.session_provider=세션 공급자
|
config.session.provider=공급자
|
||||||
config.provider_config=공급자 설정
|
config.session.provider_config=공급자 설정
|
||||||
config.cookie_name=쿠키 이름
|
config.session.cookie_name=쿠키
|
||||||
config.enable_set_cookie=쿠키 활성화
|
config.session.https_only=HTTPS만
|
||||||
config.gc_interval_time=GC 인터벌 시간
|
config.session.gc_interval=GC 간격
|
||||||
config.session_life_time=세션 수명
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=HTTPS만
|
config.session.csrf_cookie_name=CSRF 쿠키
|
||||||
config.cookie_life_time=쿠키 수명
|
|
||||||
|
config.cache_config=캐시 설정
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC 간격
|
||||||
|
config.cache.host=호스트
|
||||||
|
|
||||||
|
config.http_config=HTTP 설정
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=첨부 파일 설정
|
||||||
|
config.attachment.enabled=활성화됨
|
||||||
|
config.attachment.path=경로
|
||||||
|
config.attachment.allowed_types=허용 유형
|
||||||
|
config.attachment.max_size=크기 제한
|
||||||
|
config.attachment.max_files=파일 제한
|
||||||
|
|
||||||
|
config.release_config=릴리즈 설정
|
||||||
|
config.release.attachment.enabled=첨부 파일 활성화됨
|
||||||
|
config.release.attachment.allowed_types=허용되는 첨부 파일 유형
|
||||||
|
config.release.attachment.max_size=첨부 파일 크기 제한
|
||||||
|
config.release.attachment.max_files=첨부 파일 제한
|
||||||
|
|
||||||
config.picture_config=이미지 설정
|
config.picture_config=이미지 설정
|
||||||
config.picture_service=이미지 서비스
|
config.picture.avatar_upload_path=사용자 아바타 업로드 경로
|
||||||
config.disable_gravatar=Gravatar 사용안함
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=연합 아바타 사용
|
config.picture.gravatar_source=Gravatar source
|
||||||
|
config.picture.disable_gravatar=Gravatar 비활성화
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=미러 설정
|
||||||
|
config.mirror.default_interval=기본 간격
|
||||||
|
|
||||||
|
config.webhook_config=웹훅 설정
|
||||||
|
config.webhook.types=유형
|
||||||
|
config.webhook.deliver_timeout=배달 제한 시간
|
||||||
|
config.webhook.skip_tls_verify=TLS 검증 건너뛰기
|
||||||
|
|
||||||
config.git_config=깃 설정
|
config.git_config=깃 설정
|
||||||
config.git_disable_diff_highlight=변경 사항 구문 강조 비활성화
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
config.git_max_diff_lines=변경사항 최대 표시 줄 수 (단일 파일에 대해)
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=변경사항 최대 표시 문자 수 (단일 행에 대해)
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=변경사항 최대 파일 개 수 (표시 되는)
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=가비지 콜렉션 인수
|
config.git.gc_args=GC 인수
|
||||||
config.git_migrate_timeout=마이그레이션 제한 시간
|
config.git.migrate_timeout=마이그레이션 제한 시간
|
||||||
config.git_mirror_timeout=미러 업데이트 시간 제한
|
config.git.mirror_timeout=미러 페치 제한 시간
|
||||||
config.git_clone_timeout=복제 작업 시간 제한
|
config.git.clone_timeout=클론 제한 시간
|
||||||
config.git_pull_timeout=끌어오기 작업 시간 제한
|
config.git.pull_timeout=풀 제한 시간
|
||||||
config.git_gc_timeout=가비지 콜렉션 작업 시간 제한
|
config.git.gc_timeout=GC 제한 시간
|
||||||
|
|
||||||
|
config.lfs_config=LFS 구성
|
||||||
|
config.lfs.storage=저장소
|
||||||
|
config.lfs.objects_path=Objects path
|
||||||
|
|
||||||
config.log_config=로그 설정
|
config.log_config=로그 설정
|
||||||
config.log_mode=Mode
|
config.log_file_root_path=로그 파일 최상위 경로
|
||||||
config.log_options=Options
|
config.log_mode=모드
|
||||||
|
config.log_options=설정
|
||||||
|
|
||||||
monitor.cron=Cron 작업
|
monitor.cron=Cron 작업
|
||||||
monitor.name=이름
|
monitor.name=이름
|
||||||
@@ -1285,7 +1385,6 @@ notices.delete_success=시스템 알림들이 성공적으로 삭제되었습니
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=저장소를 만들었습니다. <a href="%s">%s</a>
|
create_repo=저장소를 만들었습니다. <a href="%s">%s</a>
|
||||||
fork_repo=forked a repository to <a href="%s">%s</a>
|
|
||||||
rename_repo=<code>%[1]s에서</code>에서 <a href="%[2]s"> %[3]s</a>으로 저장소 이름을 바꾸었습니다.
|
rename_repo=<code>%[1]s에서</code>에서 <a href="%[2]s"> %[3]s</a>으로 저장소 이름을 바꾸었습니다.
|
||||||
commit_repo=<a href="%[1]s">%[4]s</a>에서 <a href="%[1]s/src/%[2]s">%[3]s</a>으로 푸시함
|
commit_repo=<a href="%[1]s">%[4]s</a>에서 <a href="%[1]s/src/%[2]s">%[3]s</a>으로 푸시함
|
||||||
compare_commits=이 %d개의 커밋에 대한 비교 보기
|
compare_commits=이 %d개의 커밋에 대한 비교 보기
|
||||||
@@ -1301,7 +1400,11 @@ merge_pull_request=`병합된 끌어오기 요청 <a href="%s/pulls/%s"> %s #%[2
|
|||||||
create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
||||||
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=태그 <a href="%s/src/%s">%[2]s</a>를 <a href="%[1]s">%[3]s</a>로 푸시함
|
push_tag=태그 <a href="%s/src/%s">%[2]s</a>를 <a href="%[1]s">%[3]s</a>로 푸시함
|
||||||
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_tag=<a href="%[1]s">%[3]s</a>에서 code>%[2]s</code> 태그 삭제됨
|
||||||
|
fork_repo=forked a repository to <a href="%s">%s</a>
|
||||||
|
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
|
||||||
|
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=전
|
ago=전
|
||||||
@@ -1323,6 +1426,7 @@ months=%d 달 %s
|
|||||||
years=%d 년 %s
|
years=%d 년 %s
|
||||||
raw_seconds=초
|
raw_seconds=초
|
||||||
raw_minutes=분
|
raw_minutes=분
|
||||||
|
raw_hours=시간
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=여기에 파일을 끌어 놓거나 클릭하여 업로드하세요.
|
default_message=여기에 파일을 끌어 놓거나 클릭하여 업로드하세요.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=Izrakstīties
|
|||||||
sign_up=Reģistrēties
|
sign_up=Reģistrēties
|
||||||
register=Reģistrēties
|
register=Reģistrēties
|
||||||
website=Mājas lapa
|
website=Mājas lapa
|
||||||
version=Versija
|
|
||||||
page=Lapa
|
page=Lapa
|
||||||
template=Sagatave
|
template=Sagatave
|
||||||
language=Valoda
|
language=Valoda
|
||||||
@@ -44,17 +43,22 @@ issues=Problēmas
|
|||||||
|
|
||||||
cancel=Atcelt
|
cancel=Atcelt
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Page Not Found
|
||||||
|
internal_server_error=Internal Server Error
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Instalācija
|
install=Instalācija
|
||||||
title=Instalācijas soļi pirmo reizi palaižot
|
title=Instalācijas soļi pirmo reizi palaižot
|
||||||
docker_helper=Ja Gogs tiek lietots zem Docker, izlasiet uzmanīgi <a target="_blank" href="%s">vadlīnijas</a>, pirms ko maināt šajā lapā!
|
docker_helper=Ja Gogs tiek lietots zem Docker, izlasiet uzmanīgi <a target="_blank" href="%s">vadlīnijas</a>, pirms ko maināt šajā lapā!
|
||||||
requite_db_desc=Gogs ir nepieciešams MySQL, PostgreSQL, SQLite3, MSSQL vai TiDB.
|
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol).
|
||||||
db_title=Datu bāzes iestatījumi
|
db_title=Datu bāzes iestatījumi
|
||||||
db_type=Datu bāzes veids
|
db_type=Datu bāzes veids
|
||||||
host=Resursdators
|
host=Resursdators
|
||||||
user=Lietotājs
|
user=Lietotājs
|
||||||
password=Parole
|
password=Parole
|
||||||
db_name=Datu bāzes nosaukums
|
db_name=Datu bāzes nosaukums
|
||||||
|
db_schema=Schema
|
||||||
db_helper=Nepieciešams izmantot MySQL INNODB dzini ar rakstzīmju kopu utf8_general_ci.
|
db_helper=Nepieciešams izmantot MySQL INNODB dzini ar rakstzīmju kopu utf8_general_ci.
|
||||||
ssl_mode=SSL režīms
|
ssl_mode=SSL režīms
|
||||||
path=Ceļš
|
path=Ceļš
|
||||||
@@ -84,6 +88,7 @@ log_root_path=Žurnalizēšanas direktorija
|
|||||||
log_root_path_helper=Direktorija, kurā tiks glabāti žurnāla faili.
|
log_root_path_helper=Direktorija, kurā tiks glabāti žurnāla faili.
|
||||||
enable_console_mode=Iespējot konsoles režīmu
|
enable_console_mode=Iespējot konsoles režīmu
|
||||||
enable_console_mode_popup=Papildus faila režīmam, papildus rakstīt žurnāla ierakstus konsolē.
|
enable_console_mode_popup=Papildus faila režīmam, papildus rakstīt žurnāla ierakstus konsolē.
|
||||||
|
default_branch=Default Branch
|
||||||
|
|
||||||
optional_title=Neobligātie iestatījumi
|
optional_title=Neobligātie iestatījumi
|
||||||
email_title=E-pasta pakalpojuma iestatījumi
|
email_title=E-pasta pakalpojuma iestatījumi
|
||||||
@@ -119,9 +124,10 @@ sqlite3_not_available=Jūsu versija neatbalsta SQLite3, lūdzu lejupielādējiet
|
|||||||
invalid_db_setting=Datu bāzes iestatījums nav pareizs: %v
|
invalid_db_setting=Datu bāzes iestatījums nav pareizs: %v
|
||||||
invalid_repo_path=Repozitorija atrašanās vieta ir nekorekta: %v
|
invalid_repo_path=Repozitorija atrašanās vieta ir nekorekta: %v
|
||||||
run_user_not_match=Izpildes lietotājs nav pašreizējais lietotājs: %s -> %s
|
run_user_not_match=Izpildes lietotājs nav pašreizējais lietotājs: %s -> %s
|
||||||
smtp_host_missing_port=SMTP Host is missing port in address.
|
smtp_host_missing_port=SMTP adresē nav norādīts ports.
|
||||||
invalid_smtp_from=SMTP sūtītāja lauks ir nekorekts: %v
|
invalid_smtp_from=SMTP sūtītāja lauks ir nekorekts: %v
|
||||||
save_config_failed=Neizdevās saglabāt konfigurāciju: %v
|
save_config_failed=Neizdevās saglabāt konfigurāciju: %v
|
||||||
|
init_failed=Failed to initialize application: %v
|
||||||
invalid_admin_setting=Nekorekts admin konta iestatījums: %v
|
invalid_admin_setting=Nekorekts admin konta iestatījums: %v
|
||||||
install_success=Laipni lūdzam! Mēs priecājamies, ka Jūs izvēlaties Gogs, patīkamu lietošanu!
|
install_success=Laipni lūdzam! Mēs priecājamies, ka Jūs izvēlaties Gogs, patīkamu lietošanu!
|
||||||
invalid_log_root_path=Norādītā žurnalizēšanas direktorija ir kļūdaina: %v
|
invalid_log_root_path=Norādītā žurnalizēšanas direktorija ir kļūdaina: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=Jau ir konts? Pieraksties tagad!
|
|||||||
social_register_hepler_msg=Jau ir konts? Sasaisti tagad!
|
social_register_hepler_msg=Jau ir konts? Sasaisti tagad!
|
||||||
disable_register_prompt=Atvainojiet, reģistrācija ir atspējota. Lūdzu, sazinieties ar vietnes administratoru.
|
disable_register_prompt=Atvainojiet, reģistrācija ir atspējota. Lūdzu, sazinieties ar vietnes administratoru.
|
||||||
disable_register_mail=Atvainojiet, reģistrācijas e-pasta apstiprināšana ir atspējota.
|
disable_register_mail=Atvainojiet, reģistrācijas e-pasta apstiprināšana ir atspējota.
|
||||||
|
auth_source=Autentificēšanas avots
|
||||||
|
local=Local
|
||||||
remember_me=Atcerēties mani
|
remember_me=Atcerēties mani
|
||||||
forgot_password=Aizmirsu paroli
|
forgot_password=Aizmirsu paroli
|
||||||
forget_password=Aizmirsi paroli?
|
forget_password=Aizmirsi paroli?
|
||||||
@@ -212,7 +220,7 @@ Content=Saturs
|
|||||||
require_error=` nedrīkst būt tukšs.`
|
require_error=` nedrīkst būt tukšs.`
|
||||||
alpha_dash_error=` drīkst saturēt tikai latīņu alfabēta burtus, ciparus vai domuzīmes (-_).`
|
alpha_dash_error=` drīkst saturēt tikai latīņu alfabēta burtus, ciparus vai domuzīmes (-_).`
|
||||||
alpha_dash_dot_error=` drīkst saturēt tikai latīņu alfabēta burtus, ciparus, domuzīmes (-_) vai punktu.`
|
alpha_dash_dot_error=` drīkst saturēt tikai latīņu alfabēta burtus, ciparus, domuzīmes (-_) vai punktu.`
|
||||||
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
|
alpha_dash_dot_slash_error=` drīkst saturēt tikai latīņu alfabēta burtus, ciparus, domuzīmes (-_), slīpsvītru vai punktu.`
|
||||||
size_error=` jābūt %s simbolus garam.`
|
size_error=` jābūt %s simbolus garam.`
|
||||||
min_size_error=` jabūt vismaz %s simbolu garumā.`
|
min_size_error=` jabūt vismaz %s simbolu garumā.`
|
||||||
max_size_error=` jabūt ne mazāk kā %s simbolu garumā.`
|
max_size_error=` jabūt ne mazāk kā %s simbolu garumā.`
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=Organizācijas nosaukums ir jau aizņemts.
|
|||||||
team_name_been_taken=Komandas nosaukums ir jau aizņemts.
|
team_name_been_taken=Komandas nosaukums ir jau aizņemts.
|
||||||
email_been_used=E-pasta adrese jau tiek izmantota.
|
email_been_used=E-pasta adrese jau tiek izmantota.
|
||||||
username_password_incorrect=Lietotājvārds vai parole nav pareiza.
|
username_password_incorrect=Lietotājvārds vai parole nav pareiza.
|
||||||
|
auth_source_mismatch=Izvēlētais autentificēšanas avots nav saistīts ar lietotāju.
|
||||||
enterred_invalid_repo_name=Lūdzu, pārliecinieties, vai ievadītā repozitorija nosaukums ir pareizs.
|
enterred_invalid_repo_name=Lūdzu, pārliecinieties, vai ievadītā repozitorija nosaukums ir pareizs.
|
||||||
enterred_invalid_owner_name=Lūdzu, pārliecinieties, vai ievadītā īpašnieka vārds ir pareizs.
|
enterred_invalid_owner_name=Lūdzu, pārliecinieties, vai ievadītā īpašnieka vārds ir pareizs.
|
||||||
enterred_invalid_password=Lūdzu pārliecinieties, vai Jūsu ievadītā parole ir pareiza.
|
enterred_invalid_password=Lūdzu pārliecinieties, vai Jūsu ievadītā parole ir pareiza.
|
||||||
@@ -256,8 +265,7 @@ following=Seko
|
|||||||
follow=Sekot
|
follow=Sekot
|
||||||
unfollow=Nesekot
|
unfollow=Nesekot
|
||||||
|
|
||||||
form.name_reserved=Lietotāja vārds '%s' jau ir aizņemts.
|
form.name_not_allowed=User name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Lietotāja vārds '%s' nav atļauts.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Profils
|
profile=Profils
|
||||||
@@ -309,6 +317,7 @@ delete_email=Dzēst
|
|||||||
email_deletion=E-pasta dzēšana
|
email_deletion=E-pasta dzēšana
|
||||||
email_deletion_desc=Dzēšot šo e-pasta adresi, tiks dzēsta arī visa ar to saistītā informācija no Jūsu konta. Vai vēlaties turpināt?
|
email_deletion_desc=Dzēšot šo e-pasta adresi, tiks dzēsta arī visa ar to saistītā informācija no Jūsu konta. Vai vēlaties turpināt?
|
||||||
email_deletion_success=E-pasta adrese ir veiksmīgi izdzēsta!
|
email_deletion_success=E-pasta adrese ir veiksmīgi izdzēsta!
|
||||||
|
email_deletion_primary=Cannot delete primary email address.
|
||||||
add_new_email=Pievienot jaunu e-pasta adresi
|
add_new_email=Pievienot jaunu e-pasta adresi
|
||||||
add_email=Pievienot e-pastu
|
add_email=Pievienot e-pastu
|
||||||
add_email_confirmation_sent=Jauns apstiprinājuma e-pasts tika nosūtīts uz '%s', pārbaudiet savu e-pastu tuvāko %d stundu laikā, lai pabeigtu apstiprināšanas procesu.
|
add_email_confirmation_sent=Jauns apstiprinājuma e-pasts tika nosūtīts uz '%s', pārbaudiet savu e-pastu tuvāko %d stundu laikā, lai pabeigtu apstiprināšanas procesu.
|
||||||
@@ -347,8 +356,9 @@ two_factor_scan_qr=Please use your authentication application to scan the image:
|
|||||||
two_factor_or_enter_secret=Vai ievadiet noslēpumu:
|
two_factor_or_enter_secret=Vai ievadiet noslēpumu:
|
||||||
two_factor_then_enter_passcode=Pēc tam ievadiet kodu:
|
two_factor_then_enter_passcode=Pēc tam ievadiet kodu:
|
||||||
two_factor_verify=Pārbaudīt
|
two_factor_verify=Pārbaudīt
|
||||||
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
|
two_factor_invalid_passcode=Ievadītais piekļuves kods nav derīgs. Lūdzu mēģiniet vēlreiz!
|
||||||
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
two_factor_reused_passcode=Ievadītais piekļuves kods jau ir izmantots. Lūdzu mēģiniet citu!
|
||||||
|
two_factor_enable_error=Divu faktoru autentifikācijas iespējošana neizdevās: %v
|
||||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
||||||
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
||||||
two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>.
|
two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>.
|
||||||
@@ -357,11 +367,12 @@ two_factor_regenerate_recovery_codes_error=Regenerate recovery codes failed: %v
|
|||||||
two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully!
|
two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully!
|
||||||
two_factor_disable_title=Atspējot divu faktoru autentifikāciju
|
two_factor_disable_title=Atspējot divu faktoru autentifikāciju
|
||||||
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
|
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
|
||||||
two_factor_disable_success=Two-factor authentication has disabled successfully!
|
two_factor_disable_success=Divu faktoru autentificēšana ir atspējota!
|
||||||
|
|
||||||
manage_access_token=Pārvaldīt personīgos piekļuves talonus
|
manage_access_token=Pārvaldīt personīgos piekļuves talonus
|
||||||
generate_new_token=Ģenerēt jaunu talonu
|
generate_new_token=Ģenerēt jaunu talonu
|
||||||
tokens_desc=Taloni, kurus esat uzģenerējuši, kas var tikt izmantoti, lai piekļūtu Gogs API.
|
tokens_desc=Taloni, kurus esat uzģenerējuši, kas var tikt izmantoti, lai piekļūtu Gogs API.
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc=Pašlaik visiem taloniem ir pilna piekļuve Jūsu kontam.
|
new_token_desc=Pašlaik visiem taloniem ir pilna piekļuve Jūsu kontam.
|
||||||
token_name=Talona nosaukums
|
token_name=Talona nosaukums
|
||||||
generate_token=Ģenerēt talonu
|
generate_token=Ģenerēt talonu
|
||||||
@@ -370,8 +381,9 @@ delete_token=Dzēst
|
|||||||
access_token_deletion=Personīgā piekļuves talona dzēšana
|
access_token_deletion=Personīgā piekļuves talona dzēšana
|
||||||
access_token_deletion_desc=Dzēšot personīgo piekļuves talonu, tiks liegta piekļuve aplikācijām, kas to izmanto. Vai vēlaties turpināt?
|
access_token_deletion_desc=Dzēšot personīgo piekļuves talonu, tiks liegta piekļuve aplikācijām, kas to izmanto. Vai vēlaties turpināt?
|
||||||
delete_token_success=Personīgās piekļuves talons veiksmīgi izdzēsts! Neaizmirstiet nomainīt uz citu aplikācijās, kas to izmantoja.
|
delete_token_success=Personīgās piekļuves talons veiksmīgi izdzēsts! Neaizmirstiet nomainīt uz citu aplikācijās, kas to izmantoja.
|
||||||
|
token_name_exists=Token with same name already exists.
|
||||||
|
|
||||||
orgs.none=You are not a member of any organizations.
|
orgs.none=Jūs neesat nevienas organizācijas dalībnieks.
|
||||||
orgs.leave_title=Pamest organizāciju
|
orgs.leave_title=Pamest organizāciju
|
||||||
orgs.leave_desc=You will lose access to all repositories and teams after you left the organization. Do you want to continue?
|
orgs.leave_desc=You will lose access to all repositories and teams after you left the organization. Do you want to continue?
|
||||||
|
|
||||||
@@ -391,7 +403,9 @@ owner=Īpašnieks
|
|||||||
repo_name=Repozitorija nosaukums
|
repo_name=Repozitorija nosaukums
|
||||||
repo_name_helper=Labi repzotoriju nosaukumi ir īsi, tādi kurus viegli atcerēties un <strong>unikāli</strong>.
|
repo_name_helper=Labi repzotoriju nosaukumi ir īsi, tādi kurus viegli atcerēties un <strong>unikāli</strong>.
|
||||||
visibility=Redzamība
|
visibility=Redzamība
|
||||||
|
unlisted=Unlisted
|
||||||
visiblity_helper=Šis repozitorijs ir <span class="ui red text">privāts</span>
|
visiblity_helper=Šis repozitorijs ir <span class="ui red text">privāts</span>
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=Lapas administrators ir noteicis, ka visiem repozitorijiem ir jābūt <span class="ui red text">privātiem</span>
|
visiblity_helper_forced=Lapas administrators ir noteicis, ka visiem repozitorijiem ir jābūt <span class="ui red text">privātiem</span>
|
||||||
visiblity_fork_helper=(Šīs vērtības maiņa ietekmēs arī visus atdalītos repozitorijus)
|
visiblity_fork_helper=(Šīs vērtības maiņa ietekmēs arī visus atdalītos repozitorijus)
|
||||||
clone_helper=Nepieciešama palīdzība kā veikt klonēšana? Apmeklējiet <a target="_blank" href="%s">Palīdzība</a> lapu!
|
clone_helper=Nepieciešama palīdzība kā veikt klonēšana? Apmeklējiet <a target="_blank" href="%s">Palīdzība</a> lapu!
|
||||||
@@ -417,10 +431,11 @@ mirror_last_synced=Pēdējo reizi sinhronizēts
|
|||||||
watchers=Novērotāji
|
watchers=Novērotāji
|
||||||
stargazers=Zvaigžņdevēji
|
stargazers=Zvaigžņdevēji
|
||||||
forks=Atdalītie repozitoriji
|
forks=Atdalītie repozitoriji
|
||||||
|
repo_description_helper=Repozitorija apraksts. Maksimālais garums 512 rakstzīmes.
|
||||||
|
repo_description_length=Pieejamās rakstzīmes
|
||||||
|
|
||||||
form.reach_limit_of_creation=Īpašnieks sasniedza maksimālu pieļaujamo (%d) izveidoto repozitoriju skaitu.
|
form.reach_limit_of_creation=Īpašnieks sasniedza maksimālu pieļaujamo (%d) izveidoto repozitoriju skaitu.
|
||||||
form.name_reserved=Repozitorija nosaukums '%s' ir rezervēts.
|
form.name_not_allowed=Repository name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Repozitorija nosaukums '%s' nav atļauts.
|
|
||||||
|
|
||||||
need_auth=Nepieciešama autorizācija
|
need_auth=Nepieciešama autorizācija
|
||||||
migrate_type=Migrācijas veids
|
migrate_type=Migrācijas veids
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=Tas var būt HTTP/HTTPS/GIT URL.
|
|||||||
migrate.clone_address_desc_import_local=You're also allowed to migrate a repository by local server path.
|
migrate.clone_address_desc_import_local=You're also allowed to migrate a repository by local server path.
|
||||||
migrate.permission_denied=Jums nav tiesību importēt lokālu repozitoriju.
|
migrate.permission_denied=Jums nav tiesību importēt lokālu repozitoriju.
|
||||||
migrate.invalid_local_path=Nekorents lokālais ceļš, tas neeksistē vai nav direktorijs.
|
migrate.invalid_local_path=Nekorents lokālais ceļš, tas neeksistē vai nav direktorijs.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=Migrācija neizdevās: %v
|
migrate.failed=Migrācija neizdevās: %v
|
||||||
|
|
||||||
mirror_from=spogulis no
|
mirror_from=spogulis no
|
||||||
@@ -470,14 +486,16 @@ file_history=Vēsture
|
|||||||
file_view_raw=Rādīt neapstrādātu
|
file_view_raw=Rādīt neapstrādātu
|
||||||
file_permalink=Patstāvīgā saite
|
file_permalink=Patstāvīgā saite
|
||||||
file_too_large=Šis fails ir par lielu, lai to parādītu
|
file_too_large=Šis fails ir par lielu, lai to parādītu
|
||||||
video_not_supported_in_browser=Your browser doesn't support HTML5 video tag.
|
video_not_supported_in_browser=Jūsu pārlūks neatbalsta HTML5 video.
|
||||||
|
|
||||||
branches.overview=Pārskats
|
branches.overview=Pārskats
|
||||||
branches.active_branches=Aktīvie atzari
|
branches.active_branches=Aktīvie atzari
|
||||||
branches.stale_branches=Pamests atzars
|
branches.stale_branches=Pamests atzars
|
||||||
branches.all=Visi atzari
|
branches.all=Visi atzari
|
||||||
branches.updated_by=Updated %[1]s by %[2]s
|
branches.updated_by=%[2]s atjaunoja %[1]s
|
||||||
branches.change_default_branch=Mainīt noklusēto atzaru
|
branches.change_default_branch=Mainīt noklusēto atzaru
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Jauns fails
|
editor.new_file=Jauns fails
|
||||||
editor.upload_file=Augšupielādēt failu
|
editor.upload_file=Augšupielādēt failu
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=Faila saturs ir mainījies kopš brīža, kad
|
|||||||
editor.file_already_exists=Fails ar nosaukumu '%s' repozitorijā jau eksistē.
|
editor.file_already_exists=Fails ar nosaukumu '%s' repozitorijā jau eksistē.
|
||||||
editor.no_changes_to_show=Nav izmaiņu, ko rādīt.
|
editor.no_changes_to_show=Nav izmaiņu, ko rādīt.
|
||||||
editor.fail_to_update_file=Neizdevās izmainīt/izveidot failu '%s', kļūda: %v
|
editor.fail_to_update_file=Neizdevās izmainīt/izveidot failu '%s', kļūda: %v
|
||||||
|
editor.fail_to_delete_file=Neizdevās dzēst failu '%s', kļūda: %v
|
||||||
editor.add_subdir=Pievienot apakšdirektoriju...
|
editor.add_subdir=Pievienot apakšdirektoriju...
|
||||||
editor.unable_to_upload_files=Neizdevās augšupielādēt failus uz direktoriju '%s', kļūda: %v
|
editor.unable_to_upload_files=Neizdevās augšupielādēt failus uz direktoriju '%s', kļūda: %v
|
||||||
editor.upload_files_to_dir=Augšupielādēt failus uz direktoriju '%s'
|
editor.upload_files_to_dir=Augšupielādēt failus uz direktoriju '%s'
|
||||||
@@ -634,6 +653,7 @@ pulls.cannot_auto_merge_desc=Šis izmaiņu pieprasījums nevar tikt automātiski
|
|||||||
pulls.cannot_auto_merge_helper=Lūdzu sapludiniet manuāli, lai atrisinātu konfliktus.
|
pulls.cannot_auto_merge_helper=Lūdzu sapludiniet manuāli, lai atrisinātu konfliktus.
|
||||||
pulls.create_merge_commit=Create a merge commit
|
pulls.create_merge_commit=Create a merge commit
|
||||||
pulls.rebase_before_merging=Rebase before merging
|
pulls.rebase_before_merging=Rebase before merging
|
||||||
|
pulls.commit_description=Commit Description
|
||||||
pulls.merge_pull_request=Izmaiņu pieprasījuma sapludināšana
|
pulls.merge_pull_request=Izmaiņu pieprasījuma sapludināšana
|
||||||
pulls.open_unmerged_pull_exists=`Jūs nevarat veikt atkārtotas atvēršanas darbību, jo jau eksistē izmaiņu pieprasījums (#%d) no šī repozitorija ar tādu pašu sapludināšanas informāciju un gaida sapludināšanu.`
|
pulls.open_unmerged_pull_exists=`Jūs nevarat veikt atkārtotas atvēršanas darbību, jo jau eksistē izmaiņu pieprasījums (#%d) no šī repozitorija ar tādu pašu sapludināšanas informāciju un gaida sapludināšanu.`
|
||||||
pulls.delete_branch=Dzēst atzaru
|
pulls.delete_branch=Dzēst atzaru
|
||||||
@@ -738,8 +758,8 @@ settings.tracker_issue_style=Ārējā problēmu reģistra nosaukumu stils:
|
|||||||
settings.tracker_issue_style.numeric=Cipari
|
settings.tracker_issue_style.numeric=Cipari
|
||||||
settings.tracker_issue_style.alphanumeric=Burti un cipari
|
settings.tracker_issue_style.alphanumeric=Burti un cipari
|
||||||
settings.tracker_url_format_desc=Jūs varat izmantot <code>{user}{repo}{index}</code> lietotājvārdam, repozitorija nosaukumam un problēmas identifikātoram.
|
settings.tracker_url_format_desc=Jūs varat izmantot <code>{user}{repo}{index}</code> lietotājvārdam, repozitorija nosaukumam un problēmas identifikātoram.
|
||||||
settings.pulls_desc=Iespējot izmaiņu pieprasījumus lai saņemtu publiskus ieguldījumus
|
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches
|
||||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
settings.pulls.ignore_whitespace=Ignorēt atstarpju izmaiņas
|
||||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||||
settings.danger_zone=Bīstamā zona
|
settings.danger_zone=Bīstamā zona
|
||||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||||
@@ -761,7 +781,7 @@ settings.wiki_deletion_success=Repozitorija Vikivietnes dati tika veiksmīgi izd
|
|||||||
settings.delete=Dzēst šo repozitoriju
|
settings.delete=Dzēst šo repozitoriju
|
||||||
settings.delete_desc=Dzēšot repozitoriju, tā datus vairs nebūs iespējams atgūt. Pirms dzēšanas pārliecinieites vai patiešām vēlaties to darīt.
|
settings.delete_desc=Dzēšot repozitoriju, tā datus vairs nebūs iespējams atgūt. Pirms dzēšanas pārliecinieites vai patiešām vēlaties to darīt.
|
||||||
settings.delete_notices_1=- Šī darbība ir <strong>NEATGRIEZENISKA</strong>.
|
settings.delete_notices_1=- Šī darbība ir <strong>NEATGRIEZENISKA</strong>.
|
||||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
settings.delete_notices_2=- Šī darbība neatgriezeniski izdzēsīs visus šī repozitorija datus, tai skaitā Git datus, problēmu ziņojumus, komentārus un definētās piekļuves tiesības.
|
||||||
settings.delete_notices_fork_1=- Visi atdalītie repozitoriji kļūs neatkarīgi pēc dzēšanas.
|
settings.delete_notices_fork_1=- Visi atdalītie repozitoriji kļūs neatkarīgi pēc dzēšanas.
|
||||||
settings.deletion_success=Repozitorijs tika veiksmīgi dzēsts!
|
settings.deletion_success=Repozitorijs tika veiksmīgi dzēsts!
|
||||||
settings.update_settings_success=Repozitorija opcijas ir veiksmīgi saglabātas.
|
settings.update_settings_success=Repozitorija opcijas ir veiksmīgi saglabātas.
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=Šim lietotājam pēc dzēšanas vairs nebū
|
|||||||
settings.remove_collaborator_success=Līdzstrādnieks tika noņemts.
|
settings.remove_collaborator_success=Līdzstrādnieks tika noņemts.
|
||||||
settings.search_user_placeholder=Meklēt lietotāju...
|
settings.search_user_placeholder=Meklēt lietotāju...
|
||||||
settings.org_not_allowed_to_be_collaborator=Organizāciju nav atļauts pievienot kā līdzstrādnieku.
|
settings.org_not_allowed_to_be_collaborator=Organizāciju nav atļauts pievienot kā līdzstrādnieku.
|
||||||
settings.add_webhook=Pievienot tīmekļa āķi
|
|
||||||
settings.hooks_desc=Tīmekļa āķi ļauj paziņot ārējiem servisiem par noteiktiem notikomiem, kas notiek Git servisā. Kad iestāsies kāds notikums, katram ārējā servisa URL tiks nosūtīts POST pieprasījums. Lai uzzinātu sīkāk skatieties <a target="_blank" href="%s">Tīmekļa āķu rokasgrāmatā</a>.
|
settings.hooks_desc=Tīmekļa āķi ļauj paziņot ārējiem servisiem par noteiktiem notikomiem, kas notiek Git servisā. Kad iestāsies kāds notikums, katram ārējā servisa URL tiks nosūtīts POST pieprasījums. Lai uzzinātu sīkāk skatieties <a target="_blank" href="%s">Tīmekļa āķu rokasgrāmatā</a>.
|
||||||
|
settings.webhooks.add_new=Add a new webhook:
|
||||||
|
settings.webhooks.choose_a_type=Choose a type...
|
||||||
|
settings.add_webhook=Pievienot tīmekļa āķi
|
||||||
settings.webhook_deletion=Dzēst tīmekļa āķi
|
settings.webhook_deletion=Dzēst tīmekļa āķi
|
||||||
settings.webhook_deletion_desc=Dzēšot tīmekļa āķi tiks dzēsta visa ar to saistītā informācija un izpildes vēsture. Vai vēlaties turpināt?
|
settings.webhook_deletion_desc=Dzēšot tīmekļa āķi tiks dzēsta visa ar to saistītā informācija un izpildes vēsture. Vai vēlaties turpināt?
|
||||||
settings.webhook_deletion_success=Tīmekļa āķis tika veiksmīgi izdzēsts!
|
settings.webhook_deletion_success=Tīmekļa āķis tika veiksmīgi izdzēsts!
|
||||||
@@ -792,6 +814,8 @@ settings.webhook.response=Atbilde
|
|||||||
settings.webhook.headers=Galvenes
|
settings.webhook.headers=Galvenes
|
||||||
settings.webhook.payload=Derīgā krava
|
settings.webhook.payload=Derīgā krava
|
||||||
settings.webhook.body=Saturs
|
settings.webhook.body=Saturs
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=Git āķus apstrādā pats Git. Jūs varat labot atbalsīto āku failus sarakstā zemāk, lai veiktu pielāgotas darbības.
|
settings.githooks_desc=Git āķus apstrādā pats Git. Jūs varat labot atbalsīto āku failus sarakstā zemāk, lai veiktu pielāgotas darbības.
|
||||||
settings.githook_edit_desc=Ja āķis nav aktīvs, tiks attēlots piemērs kā to izmantot. Atstājot āķa saturu tukšu, tas tiks atspējots.
|
settings.githook_edit_desc=Ja āķis nav aktīvs, tiks attēlots piemērs kā to izmantot. Atstājot āķa saturu tukšu, tas tiks atspējots.
|
||||||
settings.githook_name=Āķa nosaukums
|
settings.githook_name=Āķa nosaukums
|
||||||
@@ -819,10 +843,10 @@ settings.event_push=Izmaiņu nosūtīšana
|
|||||||
settings.event_push_desc=Git izmaiņu nosūtīšana uz repozitoriju
|
settings.event_push_desc=Git izmaiņu nosūtīšana uz repozitoriju
|
||||||
settings.event_issues=Problēmas
|
settings.event_issues=Problēmas
|
||||||
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
||||||
settings.event_issue_comment=Problēmas komentārs
|
|
||||||
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
|
||||||
settings.event_pull_request=Izmaiņu pieprasījums
|
settings.event_pull_request=Izmaiņu pieprasījums
|
||||||
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
||||||
|
settings.event_issue_comment=Problēmas komentārs
|
||||||
|
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
||||||
settings.event_release=Laidiens
|
settings.event_release=Laidiens
|
||||||
settings.event_release_desc=Laidiens publicēts repozitorijā.
|
settings.event_release_desc=Laidiens publicēts repozitorijā.
|
||||||
settings.active=Aktīvs
|
settings.active=Aktīvs
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=Izvietošanas atslēga '%s' tik veiksmīgi pievienota!
|
|||||||
settings.deploy_key_deletion=Dzēst izvietošanas atslēgu
|
settings.deploy_key_deletion=Dzēst izvietošanas atslēgu
|
||||||
settings.deploy_key_deletion_desc=Dzēšot šo izvietošanas atslēgu tiks noņemta arī ar to saistītā piekļuve šim repozitorijam. Vai vēlaties turpināt?
|
settings.deploy_key_deletion_desc=Dzēšot šo izvietošanas atslēgu tiks noņemta arī ar to saistītā piekļuve šim repozitorijam. Vai vēlaties turpināt?
|
||||||
settings.deploy_key_deletion_success=Izvietošanas atslēga tika veiksmīgi izdzēsta!
|
settings.deploy_key_deletion_success=Izvietošanas atslēga tika veiksmīgi izdzēsta!
|
||||||
|
settings.description_desc=Description of repository. Maximum 512 characters length.
|
||||||
|
settings.description_length=Available characters
|
||||||
|
|
||||||
diff.browse_source=Pārlūkot izejas kodu
|
diff.browse_source=Pārlūkot izejas kodu
|
||||||
diff.parent=vecāks
|
diff.parent=vecāks
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=Šo nosaukumu varēs izmantot, lai pieminētu komandu sarunās.
|
|||||||
team_desc_helper=Komandas apraksts
|
team_desc_helper=Komandas apraksts
|
||||||
team_permission_desc=Kādām tiesībām šai komandai būtu jābūt?
|
team_permission_desc=Kādām tiesībām šai komandai būtu jābūt?
|
||||||
|
|
||||||
form.name_reserved=Organizācijas nosaukums '%s' ir rezervēts.
|
form.name_not_allowed=Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Organizācijas nosaukums '%s' nav atļauts.
|
form.team_name_not_allowed=Team name or pattern %q is not allowed.
|
||||||
form.team_name_reserved=Komandas vārds '%s' ir rezervēts.
|
|
||||||
|
|
||||||
settings=Iestatījumi
|
settings=Iestatījumi
|
||||||
settings.options=Opcijas
|
settings.options=Opcijas
|
||||||
@@ -990,12 +1015,19 @@ first_page=Pirmā
|
|||||||
last_page=Pēdējā
|
last_page=Pēdējā
|
||||||
total=Kopā: %d
|
total=Kopā: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Build Information
|
||||||
|
dashboard.app_ver=Application version
|
||||||
|
dashboard.git_version=Git versija
|
||||||
|
dashboard.go_version=Go versija
|
||||||
|
dashboard.build_time=Build time
|
||||||
|
dashboard.build_commit=Build commit
|
||||||
dashboard.statistic=Statistika
|
dashboard.statistic=Statistika
|
||||||
dashboard.operations=Darbības
|
dashboard.operations=Darbības
|
||||||
dashboard.system_status=Sistēmas uzraudzības statuss
|
dashboard.system_status=Sistēmas uzraudzības statuss
|
||||||
dashboard.statistic_info=Gogs datu bāze satur <b>%d</b> lietotājus, <b>%d</b> organizācijas, <b>%d</b> publiskās atslēgas, <b>%d</b> repozitorijus, <b>%d</b> vērošanas, <b>%d</b> atzīmētas zvaigznītes, <b>%d</b> darbības, <b>%d</b> piekļuves, <b>%d</b> problēmas, <b>%d</b> komentārus, <b>%d</b> sociālos kontus, <b>%d</b> sekošanas, <b>%d</b> spoguļošanas, <b>%d</b> izlaides, <b>%d</b> login sources, <b>%d</b> tīmekļa āķus, <b>%d</b> starpposmus, <b>%d</b> etiķetes, <b>%d</b> āķu uzdevumus, <b>%d</b> komandas, <b>%d</b> labotus uzdevumus, <b>%d</b> pielikumus.
|
dashboard.statistic_info=Gogs datu bāze satur <b>%d</b> lietotājus, <b>%d</b> organizācijas, <b>%d</b> publiskās atslēgas, <b>%d</b> repozitorijus, <b>%d</b> vērošanas, <b>%d</b> atzīmētas zvaigznītes, <b>%d</b> darbības, <b>%d</b> piekļuves, <b>%d</b> problēmas, <b>%d</b> komentārus, <b>%d</b> sociālos kontus, <b>%d</b> sekošanas, <b>%d</b> spoguļošanas, <b>%d</b> izlaides, <b>%d</b> login sources, <b>%d</b> tīmekļa āķus, <b>%d</b> starpposmus, <b>%d</b> etiķetes, <b>%d</b> āķu uzdevumus, <b>%d</b> komandas, <b>%d</b> labotus uzdevumus, <b>%d</b> pielikumus.
|
||||||
dashboard.operation_name=Darbības nosaukums
|
dashboard.operation_name=Darbības nosaukums
|
||||||
dashboard.operation_switch=Pārslēgt
|
dashboard.operation_switch=Pārslēgt
|
||||||
|
dashboard.select_operation_to_run=Please select operation to run
|
||||||
dashboard.operation_run=Palaist
|
dashboard.operation_run=Palaist
|
||||||
dashboard.clean_unbind_oauth=Notīrīt nesaistītās OAuth biļetes
|
dashboard.clean_unbind_oauth=Notīrīt nesaistītās OAuth biļetes
|
||||||
dashboard.clean_unbind_oauth_success=Visas nesaistītās OAuth biļetes tika veiksmīgi izdzēstas.
|
dashboard.clean_unbind_oauth_success=Visas nesaistītās OAuth biļetes tika veiksmīgi izdzēstas.
|
||||||
@@ -1087,11 +1119,12 @@ repos.stars=Atzīmētās zvaigznītes
|
|||||||
repos.issues=Problēmas
|
repos.issues=Problēmas
|
||||||
repos.size=Izmērs
|
repos.size=Izmērs
|
||||||
|
|
||||||
auths.auth_manage_panel=Autentifikācijas pārvaldības panelis
|
auths.auth_sources=Authentication Sources
|
||||||
auths.new=Pievienot jaunu avotu
|
auths.new=Pievienot jaunu avotu
|
||||||
auths.name=Nosaukums
|
auths.name=Nosaukums
|
||||||
auths.type=Veids
|
auths.type=Veids
|
||||||
auths.enabled=Iespējota
|
auths.enabled=Iespējota
|
||||||
|
auths.default=Default
|
||||||
auths.updated=Atjaunināta
|
auths.updated=Atjaunināta
|
||||||
auths.auth_type=Autentifikācijas tips
|
auths.auth_type=Autentifikācijas tips
|
||||||
auths.auth_name=Autentifikācijas nosaukums
|
auths.auth_name=Autentifikācijas nosaukums
|
||||||
@@ -1107,11 +1140,11 @@ auths.user_base=Lietotāja pamatnosacījumi
|
|||||||
auths.user_dn=Lietotāja DN
|
auths.user_dn=Lietotāja DN
|
||||||
auths.attribute_username=Lietotājvārda atribūts
|
auths.attribute_username=Lietotājvārda atribūts
|
||||||
auths.attribute_username_placeholder=Atstājiet tukšu, lai izmantotu lietotājvārdu ar kuru autorizējaties.
|
auths.attribute_username_placeholder=Atstājiet tukšu, lai izmantotu lietotājvārdu ar kuru autorizējaties.
|
||||||
auths.attribute_name=First Name Attribute
|
auths.attribute_name=Vārda atribūts
|
||||||
auths.attribute_surname=Uzvārda atribūts
|
auths.attribute_surname=Uzvārda atribūts
|
||||||
auths.attribute_mail=E-pasta atribūts
|
auths.attribute_mail=E-pasta atribūts
|
||||||
auths.verify_group_membership=Verify group membership
|
auths.verify_group_membership=Pārbaudīt grupas piederību
|
||||||
auths.group_search_base_dn=Group Search Base DN
|
auths.group_search_base_dn=Grupas meklēšanas pamata DN
|
||||||
auths.group_filter=Group Filter
|
auths.group_filter=Group Filter
|
||||||
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
|
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
|
||||||
auths.user_attribute_listed_in_group=User Attribute Listed in Group
|
auths.user_attribute_listed_in_group=User Attribute Listed in Group
|
||||||
@@ -1128,9 +1161,9 @@ auths.enable_tls=Iespējot TLS šifrēšanu
|
|||||||
auths.skip_tls_verify=Izlaist TLS verifikāciju
|
auths.skip_tls_verify=Izlaist TLS verifikāciju
|
||||||
auths.pam_service_name=PAM servisa nosaukums
|
auths.pam_service_name=PAM servisa nosaukums
|
||||||
auths.enable_auto_register=Iespējot automātisko reģistrāciju
|
auths.enable_auto_register=Iespējot automātisko reģistrāciju
|
||||||
auths.tips=Padomi
|
|
||||||
auths.edit=Labot autentifikācijas iestatījumus
|
auths.edit=Labot autentifikācijas iestatījumus
|
||||||
auths.activated=Autentifikācija ir aktivizēta
|
auths.activated=Autentifikācija ir aktivizēta
|
||||||
|
auths.default_auth=This authentication is default login source
|
||||||
auths.new_success=Jauna autentifikācija '%s' tika veiksmīgi pievienota.
|
auths.new_success=Jauna autentifikācija '%s' tika veiksmīgi pievienota.
|
||||||
auths.update_success=Autentifikācijas iestatījumi tika veiksmīgi saglabāti.
|
auths.update_success=Autentifikācijas iestatījumi tika veiksmīgi saglabāti.
|
||||||
auths.update=Mainīt autentifikācijas iestatījumus
|
auths.update=Mainīt autentifikācijas iestatījumus
|
||||||
@@ -1140,120 +1173,186 @@ auths.delete_auth_desc=Šī autentifikācija tiks dzēsta, vai vēlaties turpin
|
|||||||
auths.still_in_used=Daži lietotāji joprojām izmanto šo autentifikācijas veidu. Nepieciešams veikt šo lietotāju konvertāciju vai dzēšanu.
|
auths.still_in_used=Daži lietotāji joprojām izmanto šo autentifikācijas veidu. Nepieciešams veikt šo lietotāju konvertāciju vai dzēšanu.
|
||||||
auths.deletion_success=Autentifikācija tika veiksmīgi izdzēsta!
|
auths.deletion_success=Autentifikācija tika veiksmīgi izdzēsta!
|
||||||
auths.login_source_exist=Pieteikšanās avots '%s' jau eksistē.
|
auths.login_source_exist=Pieteikšanās avots '%s' jau eksistē.
|
||||||
|
auths.github_api_endpoint=API Endpoint
|
||||||
|
|
||||||
config.not_set=(not set)
|
config.not_set=(nav noteikts)
|
||||||
config.server_config=Servera konfigurācija
|
config.server_config=Servera konfigurācija
|
||||||
config.app_name=Lietotnes nosaukums
|
config.brand_name=Brand name
|
||||||
config.app_ver=Lietotnes versija
|
|
||||||
config.app_url=Lietotnes URL
|
|
||||||
config.domain=Domēns
|
|
||||||
config.offline_mode=Bezsaistes režīms
|
|
||||||
config.disable_router_log=Atspējot maršrutētāja žurnalizēšanu
|
|
||||||
config.run_user=Izpildes lietotājs
|
config.run_user=Izpildes lietotājs
|
||||||
config.run_mode=Izpildes režīms
|
config.run_mode=Izpildes režīms
|
||||||
config.git_version=Git versija
|
config.server.external_url=External URL
|
||||||
config.static_file_root_path=Statisko failu atrašanās vieta
|
config.server.domain=Domēns
|
||||||
config.log_file_root_path=Žurnalizēšanas failu glabāšanas vieta
|
config.server.protocol=Protokols
|
||||||
config.reverse_auth_user=Reversā lietotāja autentifikācija
|
config.server.http_addr=HTTP adrese
|
||||||
|
config.server.http_port=HTTP ports
|
||||||
|
config.server.cert_file=Sertifikāta fails
|
||||||
|
config.server.key_file=Privātais kriptogrāfijas atslēgas fails
|
||||||
|
config.server.tls_min_version=Minimālā TLS versija
|
||||||
|
config.server.unix_socket_permission=Unix socket permission
|
||||||
|
config.server.local_root_url=Local root URL
|
||||||
|
config.server.offline_mode=Offline mode
|
||||||
|
config.server.disable_router_log=Disable router log
|
||||||
|
config.server.enable_gzip=Iespējot Gzip
|
||||||
|
config.server.app_data_path=Application data path
|
||||||
|
config.server.load_assets_from_disk=Load assets from disk
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
config.ssh_config=SSH konfigurācija
|
config.ssh_config=SSH konfigurācija
|
||||||
config.ssh_enabled=Iespējots
|
config.ssh.enabled=Iespējots
|
||||||
config.ssh_start_builtin_server=Startēt iebūvēto serveri
|
config.ssh.domain=Exposed domain
|
||||||
config.ssh_domain=Domēns
|
config.ssh.port=Exposed port
|
||||||
config.ssh_port=Ports
|
config.ssh.root_path=Root path
|
||||||
config.ssh_listen_port=Klausīšanās ports
|
config.ssh.keygen_path=Keygen path
|
||||||
config.ssh_root_path=Saknes ceļš
|
config.ssh.key_test_path=Key test path
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Minimum key size check
|
||||||
config.ssh_key_test_path=Atslēgu pārbaudes ceļš
|
config.ssh.minimum_key_sizes=Minimum key sizes
|
||||||
config.ssh_keygen_path=Keygen ('ssh-keygen') ceļš
|
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
|
||||||
config.ssh_minimum_key_size_check=Minimālā atslēgas lieluma pārbaude
|
config.ssh.start_builtin_server=Start builtin server
|
||||||
config.ssh_minimum_key_sizes=Minimālais atslēgas lielums
|
config.ssh.listen_host=Listen host
|
||||||
|
config.ssh.listen_port=Listen port
|
||||||
|
config.ssh.server_ciphers=Server ciphers
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=Repozitorija konfigurācija
|
config.repo_config=Repozitorija konfigurācija
|
||||||
config.repo_root_path=Repozitoriju glabāšanas vieta
|
config.repo.root_path=Root path
|
||||||
config.script_type=Skripta veids
|
config.repo.script_type=Script type
|
||||||
config.repo_force_private=Piespiedu privāti repozitoriji
|
config.repo.ansi_chatset=ANSI charset
|
||||||
config.max_creation_limit=Max Creation Limit
|
config.repo.force_private=Force private
|
||||||
config.preferred_licenses=Preferred Licenses
|
config.repo.max_creation_limit=Max creation limit
|
||||||
config.disable_http_git=Atspējot HTTP Git
|
config.repo.preferred_licenses=Preferred licenses
|
||||||
config.enable_local_path_migration=Atļaut migrāciju no lokāla ceļa
|
config.repo.disable_http_git=Disable HTTP Git
|
||||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
config.http_config=HTTP Configuration
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Upload enabled
|
||||||
|
config.repo.upload.temp_path=Upload temporary path
|
||||||
|
config.repo.upload.allowed_types=Upload allowed types
|
||||||
|
config.repo.upload.file_max_size=Upload file size limit
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=Datu bāzes konfigurācija
|
config.db_config=Datu bāzes konfigurācija
|
||||||
config.db_type=Veids
|
config.db.type=Tips
|
||||||
config.db_host=Resursdators
|
config.db.host=Host
|
||||||
config.db_name=Nosaukums
|
config.db.name=Datubāzes nosaukums
|
||||||
config.db_user=Lietotājs
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=SSL režīms
|
config.db.schema_helper=(for "postgres" only)
|
||||||
config.db_ssl_mode_helper=(tikai PostgreSQL datu bāzei)
|
config.db.user=Datubāzes lietotājs
|
||||||
config.db_path=Ceļš
|
config.db.ssl_mode=SSL mode
|
||||||
config.db_path_helper=(priekš "sqlite3" and "tidb")
|
config.db.ssl_mode_helper=(for "postgres" only)
|
||||||
|
config.db.path=Path
|
||||||
|
config.db.path_helper=(for "sqlite3"only)
|
||||||
|
config.db.max_open_conns=Maximum open connections
|
||||||
|
config.db.max_idle_conns=Maximum idle connections
|
||||||
|
|
||||||
config.service_config=Pakalpojuma konfigurācija
|
config.security_config=Security configuration
|
||||||
config.register_email_confirm=Pieprasīt e-pasta apstiprināšanu
|
config.security.login_remember_days=Login remember days
|
||||||
config.disable_register=Atspējot jaunu lietotāju reģistrāciju
|
config.security.cookie_remember_name=Remember cookie
|
||||||
config.show_registration_button=Rādīt reģistrēšanās pogu
|
config.security.cookie_username=Username cookie
|
||||||
config.require_sign_in_view=Nepieciešama autorizācija
|
config.security.cookie_secure=Enable secure cookie
|
||||||
config.mail_notify=Pasta paziņojumi
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=Atspējot atslēgas minimālā garuma pārbaudi
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=Iespējot drošības kodu
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=Aktīvā koda ilgums
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=Paroles atiestatīšanas koda ilgums
|
|
||||||
|
|
||||||
config.webhook_config=Tīkla āķu konfigurācija
|
config.email_config=E-pasta iestatījumi
|
||||||
config.queue_length=Rindas garums
|
config.email.enabled=Iespējots
|
||||||
config.deliver_timeout=Piegādes noildze
|
config.email.subject_prefix=Subject prefix
|
||||||
config.skip_tls_verify=Izlaist TLS pārbaudi
|
config.email.host=Host
|
||||||
|
config.email.from=Sūtītājs
|
||||||
|
config.email.user=Lietotājs
|
||||||
|
config.email.disable_helo=Disable HELO
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
config.email.skip_verify=Skip certificate verify
|
||||||
|
config.email.use_certificate=Use custom certificate
|
||||||
|
config.email.cert_file=Certificate file
|
||||||
|
config.email.key_file=Key file
|
||||||
|
config.email.use_plain_text=Use plain text
|
||||||
|
config.email.add_plain_text_alt=Add plain text alternative
|
||||||
|
config.email.send_test_mail=Nosūtīt pārbaudes e-pastu
|
||||||
|
config.email.test_mail_failed=Failed to send test email to '%s': %v
|
||||||
|
config.email.test_mail_sent=Test email has been sent to '%s'.
|
||||||
|
|
||||||
config.mailer_config=Sūtītāja konfigurācija
|
config.auth_config=Authentication configuration
|
||||||
config.mailer_enabled=Iespējots
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=Atspējot HELO
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=Resursdators
|
config.auth.require_email_confirm=Require email confirmation
|
||||||
config.mailer_user=Lietotājs
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=Nosūtīt pārbaudes e-pastu
|
config.auth.disable_registration=Disable registration
|
||||||
config.test_mail_failed=Neizdevās nosūtīt pārbaudes e-pasta vēstuli uz '%s': %v
|
config.auth.enable_registration_captcha=Enable registration captcha
|
||||||
config.test_mail_sent=Pārbaudes e-pasta vēstule tika nosūtīta uz '%s'.
|
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
config.oauth_config=OAuth konfigurācija
|
config.user_config=User configuration
|
||||||
config.oauth_enabled=Iespējota
|
config.user.enable_email_notify=Enable email notification
|
||||||
|
|
||||||
config.cache_config=Kešatmiņas konfigurācija
|
|
||||||
config.cache_adapter=Kešatmiņas adapteris
|
|
||||||
config.cache_interval=Kešatmiņas intervāls
|
|
||||||
config.cache_conn=Kešatmiņas pieslēguma parametri
|
|
||||||
|
|
||||||
config.session_config=Sesijas konfigurācja
|
config.session_config=Sesijas konfigurācja
|
||||||
config.session_provider=Sesijas nodrošinātājs
|
config.session.provider=Provider
|
||||||
config.provider_config=Pakalpojumu sniedzēja konfigurācija
|
config.session.provider_config=Provider config
|
||||||
config.cookie_name=Sīkdatnes nosaukums
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=Ļaut izmantot sīkdatnes
|
config.session.https_only=Tikai HTTPS
|
||||||
config.gc_interval_time=GC laika intervāls
|
config.session.gc_interval=GC interval
|
||||||
config.session_life_time=Sesijas ilgums
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=Tikai HTTPS
|
config.session.csrf_cookie_name=CSRF cookie
|
||||||
config.cookie_life_time=Sīkdatņu glabāšanas ilgums
|
|
||||||
|
config.cache_config=Kešatmiņas konfigurācija
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC interval
|
||||||
|
config.cache.host=Host
|
||||||
|
|
||||||
|
config.http_config=HTTP konfigurācija
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Iespējots
|
||||||
|
config.attachment.path=Path
|
||||||
|
config.attachment.allowed_types=Atļautie tipi
|
||||||
|
config.attachment.max_size=Maksimālais izmērs
|
||||||
|
config.attachment.max_files=Maksimālais failu skaits
|
||||||
|
|
||||||
|
config.release_config=Release configuration
|
||||||
|
config.release.attachment.enabled=Pielikums iespējots
|
||||||
|
config.release.attachment.allowed_types=Atļautie pielikuma tipi
|
||||||
|
config.release.attachment.max_size=Pielikuma maksimālais izmērs
|
||||||
|
config.release.attachment.max_files=Maksimālais pielikuma failu skaits
|
||||||
|
|
||||||
config.picture_config=Attēlu konfigurācija
|
config.picture_config=Attēlu konfigurācija
|
||||||
config.picture_service=Lokāli attēli
|
config.picture.avatar_upload_path=User avatar upload path
|
||||||
config.disable_gravatar=Atspējot Gravatar
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=Iespējot apvienotās profila bildes
|
config.picture.gravatar_source=Gravatar source
|
||||||
|
config.picture.disable_gravatar=Disable Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Mirror configuration
|
||||||
|
config.mirror.default_interval=Noklusētais intervāls
|
||||||
|
|
||||||
|
config.webhook_config=Tīkla āķu konfigurācija
|
||||||
|
config.webhook.types=Types
|
||||||
|
config.webhook.deliver_timeout=Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify=Skip TLS verify
|
||||||
|
|
||||||
config.git_config=Git konfigurācija
|
config.git_config=Git konfigurācija
|
||||||
config.git_disable_diff_highlight=Atspējot salīdzināšanas sintakses iekrāsošanu
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
config.git_max_diff_lines=Maksimālais salīdzināmo rindu skaits vienam failam
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=Maksimālais salīdzināmo simbolu skaits vienai rindai
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=Maksimālais salīdzināmo failu skaits, ko attēlot
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=GC argumenti
|
config.git.gc_args=GC arguments
|
||||||
config.git_migrate_timeout=Migrācijas noilgums
|
config.git.migrate_timeout=Migration timeout
|
||||||
config.git_mirror_timeout=Spoguļa atjaunošanas noilgums
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
config.git_clone_timeout=Klonēšanas darbības noilgums
|
config.git.clone_timeout=Clone timeout
|
||||||
config.git_pull_timeout=Izmaiņu saņemšanas darbības noilgums
|
config.git.pull_timeout=Pull timeout
|
||||||
config.git_gc_timeout=GC darbības noilgums
|
config.git.gc_timeout=GC timeout
|
||||||
|
|
||||||
|
config.lfs_config=LFS configuration
|
||||||
|
config.lfs.storage=Storage
|
||||||
|
config.lfs.objects_path=Objects path
|
||||||
|
|
||||||
config.log_config=Žurnalizēšanas konfigurācija
|
config.log_config=Žurnalizēšanas konfigurācija
|
||||||
|
config.log_file_root_path=Žurnalizēšanas failu glabāšanas vieta
|
||||||
config.log_mode=Režīms
|
config.log_mode=Režīms
|
||||||
config.log_options=Opcijas
|
config.log_options=Opcijas
|
||||||
|
|
||||||
@@ -1284,7 +1383,6 @@ notices.delete_success=Sistēmas paziņojumi tika veiksmīgi izdzēstas.
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=izveidoja repozitoriju <a href="%s">%s</a>
|
create_repo=izveidoja repozitoriju <a href="%s">%s</a>
|
||||||
fork_repo=atdalīja repozitoriju uz <a href="%s">%s</a>
|
|
||||||
rename_repo=pārsauca repozitoriju no <code>%[1]s</code> uz <a href="%[2]s">%[3]s</a>
|
rename_repo=pārsauca repozitoriju no <code>%[1]s</code> uz <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo=veica izmaiņu nosūtīšanu atzaram <a href="%[1]s/src/%[2]s">%[3]s</a> repozitorijā <a href="%[1]s">%[4]s</a>
|
commit_repo=veica izmaiņu nosūtīšanu atzaram <a href="%[1]s/src/%[2]s">%[3]s</a> repozitorijā <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=Salīdzināt šīs %d revīzijas
|
compare_commits=Salīdzināt šīs %d revīzijas
|
||||||
@@ -1301,6 +1399,10 @@ create_branch=izveidoja jaunu atzaru <a href="%[1]s/src/%[2]s">%[3]s</a> repozit
|
|||||||
delete_branch=izdzēsa atzaru <code>%[2]s</code> repozitorijā <a href="%[1]s">%[3]s</a>
|
delete_branch=izdzēsa atzaru <code>%[2]s</code> repozitorijā <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=pievienoja tagu <a href="%s/src/%s">%[2]s</a> repozitorijam <a href="%[1]s">%[3]s</a>
|
push_tag=pievienoja tagu <a href="%s/src/%s">%[2]s</a> repozitorijam <a href="%[1]s">%[3]s</a>
|
||||||
delete_tag=izdzēsa tagu <code>%[2]s</code> repozitorijā <a href="%[1]s">%[3]s</a>
|
delete_tag=izdzēsa tagu <code>%[2]s</code> repozitorijā <a href="%[1]s">%[3]s</a>
|
||||||
|
fork_repo=atdalīja repozitoriju uz <a href="%s">%s</a>
|
||||||
|
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
|
||||||
|
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=atpakaļ
|
ago=atpakaļ
|
||||||
@@ -1322,6 +1424,7 @@ months=%d mēneši %s
|
|||||||
years=%d gadi %s
|
years=%d gadi %s
|
||||||
raw_seconds=sekundes
|
raw_seconds=sekundes
|
||||||
raw_minutes=minūtes
|
raw_minutes=minūtes
|
||||||
|
raw_hours=hours
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Ievelciet failus šeit vai noklikšķiniet, lai augšupielādētu.
|
default_message=Ievelciet failus šeit vai noklikšķiniet, lai augšupielādētu.
|
||||||
|
|||||||
1434
conf/locale/locale_mn-MN.ini
Normal file
1434
conf/locale/locale_mn-MN.ini
Normal file
File diff suppressed because it is too large
Load Diff
@@ -9,7 +9,6 @@ sign_out=Uitloggen
|
|||||||
sign_up=Aanmelden
|
sign_up=Aanmelden
|
||||||
register=Registreren
|
register=Registreren
|
||||||
website=Website
|
website=Website
|
||||||
version=Versie
|
|
||||||
page=Pagina
|
page=Pagina
|
||||||
template=Sjabloon
|
template=Sjabloon
|
||||||
language=Taal
|
language=Taal
|
||||||
@@ -40,21 +39,26 @@ your_settings=Uw instellingen
|
|||||||
|
|
||||||
activities=Activiteiten
|
activities=Activiteiten
|
||||||
pull_requests=Pull requests
|
pull_requests=Pull requests
|
||||||
issues=Kwesties
|
issues=Issues
|
||||||
|
|
||||||
cancel=Annuleren
|
cancel=Annuleren
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Pagina niet gevonden
|
||||||
|
internal_server_error=Interne Server Fout
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Installatie
|
install=Installatie
|
||||||
title=Installatiestappen voor de eerste keer opstarten
|
title=Installatiestappen voor de eerste keer opstarten
|
||||||
docker_helper=Als u gebruik maakt Gogs binnen Docker, lees dan de <a target="_blank" href="%s">richtlijnen</a> voordat u iets veranderen op deze pagina!
|
docker_helper=Als u gebruik maakt Gogs binnen Docker, lees dan de <a target="_blank" href="%s">richtlijnen</a> voordat u iets veranderen op deze pagina!
|
||||||
requite_db_desc=Gogs vereist MySQL, PostgreSQL, SQLite3, MSSQL of TiDB.
|
requite_db_desc=Gogs heeft MySQL, PostgreSQL, SQLite3 of TiDB (via het MySQL protocool) nodig.
|
||||||
db_title=Database-instellingen
|
db_title=Database-instellingen
|
||||||
db_type=Database-type
|
db_type=Database-type
|
||||||
host=Host
|
host=Host
|
||||||
user=Gebruikersnaam
|
user=Gebruikersnaam
|
||||||
password=Wachtwoord
|
password=Wachtwoord
|
||||||
db_name=Databasenaam
|
db_name=Databasenaam
|
||||||
|
db_schema=Schema
|
||||||
db_helper=Gebruik InnoDB engine met utf8_general_ci karakterset voor MySQL.
|
db_helper=Gebruik InnoDB engine met utf8_general_ci karakterset voor MySQL.
|
||||||
ssl_mode=SSL-modus
|
ssl_mode=SSL-modus
|
||||||
path=Pad
|
path=Pad
|
||||||
@@ -84,6 +88,7 @@ log_root_path=Log-pad
|
|||||||
log_root_path_helper=Directory waar logbestanden opgeslagen worden.
|
log_root_path_helper=Directory waar logbestanden opgeslagen worden.
|
||||||
enable_console_mode=Schakel Console modus in
|
enable_console_mode=Schakel Console modus in
|
||||||
enable_console_mode_popup=Naast de bestand modus print het ook de logs naar de console.
|
enable_console_mode_popup=Naast de bestand modus print het ook de logs naar de console.
|
||||||
|
default_branch=Standaard branch
|
||||||
|
|
||||||
optional_title=Optionele instellingen
|
optional_title=Optionele instellingen
|
||||||
email_title=E-mail service instellingen
|
email_title=E-mail service instellingen
|
||||||
@@ -119,9 +124,10 @@ sqlite3_not_available=Uw versie biedt geen ondersteuning voor SQLite3, download
|
|||||||
invalid_db_setting=Uw database instellingen zijn niet correct: %v
|
invalid_db_setting=Uw database instellingen zijn niet correct: %v
|
||||||
invalid_repo_path=Repositorie basis map is niet correct: %v
|
invalid_repo_path=Repositorie basis map is niet correct: %v
|
||||||
run_user_not_match=De uitvoerende gebruiker is niet de huidig gebruiker: %s -> %s
|
run_user_not_match=De uitvoerende gebruiker is niet de huidig gebruiker: %s -> %s
|
||||||
smtp_host_missing_port=SMTP Host is missing port in address.
|
smtp_host_missing_port=SMTP-Host mist een poort in het adres.
|
||||||
invalid_smtp_from=SMTP-van-veld is niet geldig: %v
|
invalid_smtp_from=SMTP-van-veld is niet geldig: %v
|
||||||
save_config_failed=Kan de configuratie niet opslaan: %v
|
save_config_failed=Kan de configuratie niet opslaan: %v
|
||||||
|
init_failed=Programma initialiseren mislukt: %v
|
||||||
invalid_admin_setting=Uw admin-instellingen zijn niet geldig: %v
|
invalid_admin_setting=Uw admin-instellingen zijn niet geldig: %v
|
||||||
install_success=Welkom! Wij zijn veheugd dat u voor Gogs heeft gekozen, veel plezier en tot ziens
|
install_success=Welkom! Wij zijn veheugd dat u voor Gogs heeft gekozen, veel plezier en tot ziens
|
||||||
invalid_log_root_path=Ongeldig log-pad: %v
|
invalid_log_root_path=Ongeldig log-pad: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=Heeft u al een account? Meld u nu aan!
|
|||||||
social_register_hepler_msg=Heeft u al een account? Koppel nu!
|
social_register_hepler_msg=Heeft u al een account? Koppel nu!
|
||||||
disable_register_prompt=Sorry, registratie is uitgeschakeld. Neem contact op met de beheerder van deze site.
|
disable_register_prompt=Sorry, registratie is uitgeschakeld. Neem contact op met de beheerder van deze site.
|
||||||
disable_register_mail=Sorry, bevestiging van registratie per e-mail is uitgeschakeld.
|
disable_register_mail=Sorry, bevestiging van registratie per e-mail is uitgeschakeld.
|
||||||
|
auth_source=Authenticatiebron
|
||||||
|
local=Lokaal
|
||||||
remember_me=Onthoud mij
|
remember_me=Onthoud mij
|
||||||
forgot_password=Wachtwoord vergeten
|
forgot_password=Wachtwoord vergeten
|
||||||
forget_password=Wachtwoord vergeten?
|
forget_password=Wachtwoord vergeten?
|
||||||
@@ -171,11 +179,11 @@ non_local_account=Niet lokale accounts mogen hun wachtwoord niet veranderen via
|
|||||||
|
|
||||||
login_two_factor=Twee-traps authenticatie
|
login_two_factor=Twee-traps authenticatie
|
||||||
login_two_factor_passcode=Authenticatie wachtwoord
|
login_two_factor_passcode=Authenticatie wachtwoord
|
||||||
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
|
login_two_factor_enter_recovery_code=Voer de two-factor herstelcode in
|
||||||
login_two_factor_recovery=Two-factor Recovery
|
login_two_factor_recovery=Two-factor herstel
|
||||||
login_two_factor_recovery_code=Recovery Code
|
login_two_factor_recovery_code=Herstel code
|
||||||
login_two_factor_enter_passcode=Enter a two-factor passcode
|
login_two_factor_enter_passcode=Voer een two-factor wachtwoord in
|
||||||
login_two_factor_invalid_recovery_code=Recovery code has been used or does not valid.
|
login_two_factor_invalid_recovery_code=Herstelcode is al gebruikt of ongeldig.
|
||||||
|
|
||||||
[mail]
|
[mail]
|
||||||
activate_account=Activeer uw account
|
activate_account=Activeer uw account
|
||||||
@@ -212,7 +220,7 @@ Content=Inhoud
|
|||||||
require_error=kan niet leeg zijn.
|
require_error=kan niet leeg zijn.
|
||||||
alpha_dash_error=moet een valide alfanumeriek of dash(-_) karakter zijn.
|
alpha_dash_error=moet een valide alfanumeriek of dash(-_) karakter zijn.
|
||||||
alpha_dash_dot_error=moet een valide alfanumeriek, dash(-_) of (.) punt karakter zijn.
|
alpha_dash_dot_error=moet een valide alfanumeriek, dash(-_) of (.) punt karakter zijn.
|
||||||
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
|
alpha_dash_dot_slash_error=` moet een geldige alfanumeriek, (lage) streepje (-_), punt of een schuin karakter zijn.`
|
||||||
size_error=moet groter zijn dan %s
|
size_error=moet groter zijn dan %s
|
||||||
min_size_error=moet minimaal %s karakters bevatten.
|
min_size_error=moet minimaal %s karakters bevatten.
|
||||||
max_size_error=mag maximaal %s karakters bevatten.
|
max_size_error=mag maximaal %s karakters bevatten.
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=Organisatie naam is al in gebruik.
|
|||||||
team_name_been_taken=Team naam is al in gebruik.
|
team_name_been_taken=Team naam is al in gebruik.
|
||||||
email_been_used=e-mailadres is al in gebruik.
|
email_been_used=e-mailadres is al in gebruik.
|
||||||
username_password_incorrect=Gebruikersnaam of wachtwoord is niet correct.
|
username_password_incorrect=Gebruikersnaam of wachtwoord is niet correct.
|
||||||
|
auth_source_mismatch=De geselecteerde authenticatiebron is niet gekoppeld aan de gebruiker.
|
||||||
enterred_invalid_repo_name=U heeft een onjuiste repositorie naam ingevoerd.
|
enterred_invalid_repo_name=U heeft een onjuiste repositorie naam ingevoerd.
|
||||||
enterred_invalid_owner_name=U heeft een onjuiste eigenaar ingevoerd.
|
enterred_invalid_owner_name=U heeft een onjuiste eigenaar ingevoerd.
|
||||||
enterred_invalid_password=U heeft een onjuiste wachtwoord ingevoerd.
|
enterred_invalid_password=U heeft een onjuiste wachtwoord ingevoerd.
|
||||||
@@ -256,8 +265,7 @@ following=Volgt
|
|||||||
follow=Volg
|
follow=Volg
|
||||||
unfollow=Niet meer volgen
|
unfollow=Niet meer volgen
|
||||||
|
|
||||||
form.name_reserved=De gebruikersnaam '%s' is gereserveerd.
|
form.name_not_allowed=User name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Het gebruikersnaam patroon '%s' is niet toegestaan.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Profiel
|
profile=Profiel
|
||||||
@@ -309,6 +317,7 @@ delete_email=Verwijder
|
|||||||
email_deletion=E-mail Verwijderen
|
email_deletion=E-mail Verwijderen
|
||||||
email_deletion_desc=Dit e-mailadres verwijdert, worden gerelateerde informatie van uw account te verwijderen. Wil je verdergaan?
|
email_deletion_desc=Dit e-mailadres verwijdert, worden gerelateerde informatie van uw account te verwijderen. Wil je verdergaan?
|
||||||
email_deletion_success=E-mail is succesvol verwijderd!
|
email_deletion_success=E-mail is succesvol verwijderd!
|
||||||
|
email_deletion_primary=Kan het primaire e-mailadres niet verwijderen.
|
||||||
add_new_email=Nieuw e-mailadres toevoegen
|
add_new_email=Nieuw e-mailadres toevoegen
|
||||||
add_email=E-mailadres toevoegen
|
add_email=E-mailadres toevoegen
|
||||||
add_email_confirmation_sent=Een nieuwe bevestiging e-mail werd verstuurd naar '%s', gelieve uw inbox in de komende %d uren te controleren om het bevestigingsproces te voltooien.
|
add_email_confirmation_sent=Een nieuwe bevestiging e-mail werd verstuurd naar '%s', gelieve uw inbox in de komende %d uren te controleren om het bevestigingsproces te voltooien.
|
||||||
@@ -334,7 +343,7 @@ no_activity=Geen recente activiteiten
|
|||||||
key_state_desc=Deze sleutel werd gebruikt in de laatste 7 dagen
|
key_state_desc=Deze sleutel werd gebruikt in de laatste 7 dagen
|
||||||
token_state_desc=Deze token is de laatste 7 dagen gebruikt
|
token_state_desc=Deze token is de laatste 7 dagen gebruikt
|
||||||
|
|
||||||
two_factor=Two-factor Authentication
|
two_factor=Twee-factor authenticatie
|
||||||
two_factor_status=Status:
|
two_factor_status=Status:
|
||||||
two_factor_on=Aan
|
two_factor_on=Aan
|
||||||
two_factor_off=Uit
|
two_factor_off=Uit
|
||||||
@@ -342,12 +351,13 @@ two_factor_enable=Inschakelen
|
|||||||
two_factor_disable=Uitschakelen
|
two_factor_disable=Uitschakelen
|
||||||
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
|
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
|
||||||
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
|
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
|
||||||
two_factor_enable_title=Enable Two-factor Authentication
|
two_factor_enable_title=Tweestapsverificatie inschakelen
|
||||||
two_factor_scan_qr=Please use your authentication application to scan the image:
|
two_factor_scan_qr=Please use your authentication application to scan the image:
|
||||||
two_factor_or_enter_secret=Or enter the secret:
|
two_factor_or_enter_secret=Of voer het geheim in:
|
||||||
two_factor_then_enter_passcode=Then enter passcode:
|
two_factor_then_enter_passcode=Then enter passcode:
|
||||||
two_factor_verify=Verifiëren
|
two_factor_verify=Verifiëren
|
||||||
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
|
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
|
||||||
|
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
|
||||||
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
||||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
||||||
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
||||||
@@ -362,6 +372,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
|
|||||||
manage_access_token=Persoonlijke toegangstokens beheren
|
manage_access_token=Persoonlijke toegangstokens beheren
|
||||||
generate_new_token=Nieuwe Token genereren
|
generate_new_token=Nieuwe Token genereren
|
||||||
tokens_desc=Tokens die u hebt gegenereerd om toegang tot de Gogs APIs te verkrijgen.
|
tokens_desc=Tokens die u hebt gegenereerd om toegang tot de Gogs APIs te verkrijgen.
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc=Zoals voor nu, moet elke token zal hebben volledige toegang tot uw account.
|
new_token_desc=Zoals voor nu, moet elke token zal hebben volledige toegang tot uw account.
|
||||||
token_name=Symbolische naam
|
token_name=Symbolische naam
|
||||||
generate_token=Token genereren
|
generate_token=Token genereren
|
||||||
@@ -370,6 +381,7 @@ delete_token=Verwijderen
|
|||||||
access_token_deletion=Persoonlijke toegang token verwijderen
|
access_token_deletion=Persoonlijke toegang token verwijderen
|
||||||
access_token_deletion_desc=Verwijderen van deze persoonlijke toegang token zal alle verwante toegang verwijderen. Wilt u doorgaan?
|
access_token_deletion_desc=Verwijderen van deze persoonlijke toegang token zal alle verwante toegang verwijderen. Wilt u doorgaan?
|
||||||
delete_token_success=Persoonlijke toegangstoken is met succes verwijderd! Vergeet niet uw toepassingen ook bij te werken.
|
delete_token_success=Persoonlijke toegangstoken is met succes verwijderd! Vergeet niet uw toepassingen ook bij te werken.
|
||||||
|
token_name_exists=Token with same name already exists.
|
||||||
|
|
||||||
orgs.none=U bent geen lid van een organisatie.
|
orgs.none=U bent geen lid van een organisatie.
|
||||||
orgs.leave_title=Een organisatie verlaten
|
orgs.leave_title=Een organisatie verlaten
|
||||||
@@ -391,7 +403,9 @@ owner=Eigenaar
|
|||||||
repo_name=Naam van repository
|
repo_name=Naam van repository
|
||||||
repo_name_helper=Een goede repository-naam is kort, makkelijk te onthouden en <strong>uniek</strong>.
|
repo_name_helper=Een goede repository-naam is kort, makkelijk te onthouden en <strong>uniek</strong>.
|
||||||
visibility=Zichtbaarheid
|
visibility=Zichtbaarheid
|
||||||
|
unlisted=Unlisted
|
||||||
visiblity_helper=Deze repositorie is <span class="ui red text">privaat</span>
|
visiblity_helper=Deze repositorie is <span class="ui red text">privaat</span>
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=Sitebeheerder heeft alle nieuwe repositories gedwongen <span class="ui red text">privé</span> te zijn
|
visiblity_helper_forced=Sitebeheerder heeft alle nieuwe repositories gedwongen <span class="ui red text">privé</span> te zijn
|
||||||
visiblity_fork_helper=(Verandering van deze waarde zal van invloed zijn op alle forks)
|
visiblity_fork_helper=(Verandering van deze waarde zal van invloed zijn op alle forks)
|
||||||
clone_helper=De behoeftehulp van klonen? Bezoek <a target="_blank" href="%s"> helpen</a>!
|
clone_helper=De behoeftehulp van klonen? Bezoek <a target="_blank" href="%s"> helpen</a>!
|
||||||
@@ -417,10 +431,11 @@ mirror_last_synced=Laatste synchronisatie
|
|||||||
watchers=Volgers
|
watchers=Volgers
|
||||||
stargazers=Stargazers
|
stargazers=Stargazers
|
||||||
forks=Forks
|
forks=Forks
|
||||||
|
repo_description_helper=Description of repository. Maximum 512 characters length.
|
||||||
|
repo_description_length=Available characters
|
||||||
|
|
||||||
form.reach_limit_of_creation=De eigenaar heeft maximale creatie limiet van %d repositories bereikt.
|
form.reach_limit_of_creation=De eigenaar heeft maximale creatie limiet van %d repositories bereikt.
|
||||||
form.name_reserved=Repositorienaam '%s' is gereserveerd.
|
form.name_not_allowed=Repository name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Repositorie naampatroon '%s' is niet toegestaan.
|
|
||||||
|
|
||||||
need_auth=Autorisatie vereist
|
need_auth=Autorisatie vereist
|
||||||
migrate_type=Migratie type
|
migrate_type=Migratie type
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=Dit kan een HTTP/HTTPS/GIT URL zijn.
|
|||||||
migrate.clone_address_desc_import_local=You're also allowed to migrate a repository by local server path.
|
migrate.clone_address_desc_import_local=You're also allowed to migrate a repository by local server path.
|
||||||
migrate.permission_denied=U bent niet toegestaan om deze lokale repositories te importeren.
|
migrate.permission_denied=U bent niet toegestaan om deze lokale repositories te importeren.
|
||||||
migrate.invalid_local_path=Ongeldig lokaal pad, het pad bestaat niet of het is geen map.
|
migrate.invalid_local_path=Ongeldig lokaal pad, het pad bestaat niet of het is geen map.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=Migratie is mislukt: %v
|
migrate.failed=Migratie is mislukt: %v
|
||||||
|
|
||||||
mirror_from=spiegel van
|
mirror_from=spiegel van
|
||||||
@@ -450,7 +466,7 @@ quick_guide=Snelstart gids
|
|||||||
clone_this_repo=Kloon deze repositorie
|
clone_this_repo=Kloon deze repositorie
|
||||||
create_new_repo_command=Maak een nieuwe repositorie aan vanaf de console
|
create_new_repo_command=Maak een nieuwe repositorie aan vanaf de console
|
||||||
push_exist_repo=Push een bestaande repositorie vanaf de console
|
push_exist_repo=Push een bestaande repositorie vanaf de console
|
||||||
bare_message=This repository does not have any content yet.
|
bare_message=Deze repository bevat nog geen inhoud.
|
||||||
|
|
||||||
files=Bestanden
|
files=Bestanden
|
||||||
branch=Aftakking
|
branch=Aftakking
|
||||||
@@ -458,7 +474,7 @@ tree=Boom
|
|||||||
filter_branch_and_tag=Filter branch of tag
|
filter_branch_and_tag=Filter branch of tag
|
||||||
branches=Aftakkingen
|
branches=Aftakkingen
|
||||||
tags=Labels
|
tags=Labels
|
||||||
issues=Kwesties
|
issues=Issues
|
||||||
pulls=Pull-aanvragen
|
pulls=Pull-aanvragen
|
||||||
labels=Labels
|
labels=Labels
|
||||||
milestones=Mijlpalen
|
milestones=Mijlpalen
|
||||||
@@ -478,6 +494,8 @@ branches.stale_branches=Stale Branches
|
|||||||
branches.all=All Branches
|
branches.all=All Branches
|
||||||
branches.updated_by=Updated %[1]s by %[2]s
|
branches.updated_by=Updated %[1]s by %[2]s
|
||||||
branches.change_default_branch=Change Default Branch
|
branches.change_default_branch=Change Default Branch
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Nieuw bestand
|
editor.new_file=Nieuw bestand
|
||||||
editor.upload_file=Bestand uploaden
|
editor.upload_file=Bestand uploaden
|
||||||
@@ -488,10 +506,10 @@ editor.edit_this_file=Bestand aanpassen
|
|||||||
editor.must_be_on_a_branch=Je moet in een branch zijn om aanpassingen te maken of voor te stellen
|
editor.must_be_on_a_branch=Je moet in een branch zijn om aanpassingen te maken of voor te stellen
|
||||||
editor.fork_before_edit=Je moet deze repository eerst vorken om dit bestand aan te kunnen passen
|
editor.fork_before_edit=Je moet deze repository eerst vorken om dit bestand aan te kunnen passen
|
||||||
editor.delete_this_file=Verwijder dit bestand
|
editor.delete_this_file=Verwijder dit bestand
|
||||||
editor.must_have_write_access=You must have write access to make or propose changes to this file
|
editor.must_have_write_access=U moet schrijftoegang hebben om aanpassingen te maken of voor te stellen in dit bestand
|
||||||
editor.file_delete_success=Bestand '%s' is succesvol verwijderd!
|
editor.file_delete_success=Bestand '%s' is succesvol verwijderd!
|
||||||
editor.name_your_file=Bestandsnaam...
|
editor.name_your_file=Bestandsnaam...
|
||||||
editor.filename_help=To add directory, just type it and press /. To remove a directory, go to the beginning of the field and press backspace.
|
editor.filename_help=Om een map toe te voegen, begin met typen en druk op /. Om een map te verwijderen, ga naar het begin van het veld en druk op backspace.
|
||||||
editor.or=of
|
editor.or=of
|
||||||
editor.cancel_lower=annuleren
|
editor.cancel_lower=annuleren
|
||||||
editor.commit_changes=Wijzigingen toepassen
|
editor.commit_changes=Wijzigingen toepassen
|
||||||
@@ -499,7 +517,7 @@ editor.add_tmpl='%s/<filename>' toevoegen
|
|||||||
editor.add='%s' toevoegen
|
editor.add='%s' toevoegen
|
||||||
editor.update='%s' updaten
|
editor.update='%s' updaten
|
||||||
editor.delete='%s' verwijderen
|
editor.delete='%s' verwijderen
|
||||||
editor.commit_message_desc=Add an optional extended description...
|
editor.commit_message_desc=Voeg een optionele beschrijving toe...
|
||||||
editor.commit_directly_to_this_branch=Commit directly to the <strong class="branch-name">%s</strong> branch.
|
editor.commit_directly_to_this_branch=Commit directly to the <strong class="branch-name">%s</strong> branch.
|
||||||
editor.create_new_branch=Create a <strong>new branch</strong> for this commit and start a pull request.
|
editor.create_new_branch=Create a <strong>new branch</strong> for this commit and start a pull request.
|
||||||
editor.new_branch_name_desc=Naam nieuwe aftakking...
|
editor.new_branch_name_desc=Naam nieuwe aftakking...
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=File content has been changed since you starte
|
|||||||
editor.file_already_exists=A file with name '%s' already exists in this repository.
|
editor.file_already_exists=A file with name '%s' already exists in this repository.
|
||||||
editor.no_changes_to_show=Er zijn geen wijzigingen om weer te geven.
|
editor.no_changes_to_show=Er zijn geen wijzigingen om weer te geven.
|
||||||
editor.fail_to_update_file=Failed to update/create file '%s' with error: %v
|
editor.fail_to_update_file=Failed to update/create file '%s' with error: %v
|
||||||
|
editor.fail_to_delete_file=Failed to delete file '%s' with error: %v
|
||||||
editor.add_subdir=Submap toevoegen...
|
editor.add_subdir=Submap toevoegen...
|
||||||
editor.unable_to_upload_files=Failed to upload files to '%s' with error: %v
|
editor.unable_to_upload_files=Failed to upload files to '%s' with error: %v
|
||||||
editor.upload_files_to_dir=Bestanden uploaden naar '%s'
|
editor.upload_files_to_dir=Bestanden uploaden naar '%s'
|
||||||
@@ -558,7 +577,7 @@ issues.filter_milestone_no_select=Geen geselecteerde mijlpaal
|
|||||||
issues.filter_assignee=Aangewezene
|
issues.filter_assignee=Aangewezene
|
||||||
issues.filter_assginee_no_select=Geen geselecteerde verantwoordelijke
|
issues.filter_assginee_no_select=Geen geselecteerde verantwoordelijke
|
||||||
issues.filter_type=Type
|
issues.filter_type=Type
|
||||||
issues.filter_type.all_issues=Alle kwesties
|
issues.filter_type.all_issues=Alle issues
|
||||||
issues.filter_type.assigned_to_you=Aan jou toegewezen
|
issues.filter_type.assigned_to_you=Aan jou toegewezen
|
||||||
issues.filter_type.created_by_you=Aangemaakt door jou
|
issues.filter_type.created_by_you=Aangemaakt door jou
|
||||||
issues.filter_type.mentioning_you=Vermelden jou
|
issues.filter_type.mentioning_you=Vermelden jou
|
||||||
@@ -634,6 +653,7 @@ pulls.cannot_auto_merge_desc=Dit pull-request kan niet worden gemerged omdat er
|
|||||||
pulls.cannot_auto_merge_helper=Gelieve beide versies manueel samen te voegen om de conflicten op te lossen.
|
pulls.cannot_auto_merge_helper=Gelieve beide versies manueel samen te voegen om de conflicten op te lossen.
|
||||||
pulls.create_merge_commit=Create a merge commit
|
pulls.create_merge_commit=Create a merge commit
|
||||||
pulls.rebase_before_merging=Rebase before merging
|
pulls.rebase_before_merging=Rebase before merging
|
||||||
|
pulls.commit_description=Commit Description
|
||||||
pulls.merge_pull_request=Samenvoegen van pull verzoek
|
pulls.merge_pull_request=Samenvoegen van pull verzoek
|
||||||
pulls.open_unmerged_pull_exists=U kan de bewerking 'heropenen' niet uitvoeren omdat er al een pull-aanvraag (#%d) is van dezelfde repository met dezelfde informatie. Voeg deze eerst samen.
|
pulls.open_unmerged_pull_exists=U kan de bewerking 'heropenen' niet uitvoeren omdat er al een pull-aanvraag (#%d) is van dezelfde repository met dezelfde informatie. Voeg deze eerst samen.
|
||||||
pulls.delete_branch=Aftakking verwijderen
|
pulls.delete_branch=Aftakking verwijderen
|
||||||
@@ -727,18 +747,18 @@ settings.allow_public_wiki_desc=Allow public access to wiki when repository is p
|
|||||||
settings.use_external_wiki=Externe wiki gebruiken
|
settings.use_external_wiki=Externe wiki gebruiken
|
||||||
settings.external_wiki_url=Externe wiki-URL
|
settings.external_wiki_url=Externe wiki-URL
|
||||||
settings.external_wiki_url_desc=Bezoekers worden doorgestuurd naar de URL als ze op het tabblad klikken.
|
settings.external_wiki_url_desc=Bezoekers worden doorgestuurd naar de URL als ze op het tabblad klikken.
|
||||||
settings.issues_desc=Kwestietracker inschakelen
|
settings.issues_desc=Issuetracker inschakelen
|
||||||
settings.use_internal_issue_tracker=Gebruik ingebouwde eenvoudige kwestietracker
|
settings.use_internal_issue_tracker=Gebruik ingebouwde eenvoudige issuetracker
|
||||||
settings.allow_public_issues_desc=Allow public access to issues when repository is private
|
settings.allow_public_issues_desc=Allow public access to issues when repository is private
|
||||||
settings.use_external_issue_tracker=Externe issuetracker gebruiken
|
settings.use_external_issue_tracker=Externe issuetracker gebruiken
|
||||||
settings.external_tracker_url=URL externe kwestietracker
|
settings.external_tracker_url=URL externe issuetracker
|
||||||
settings.external_tracker_url_desc=Bezoekers worden doorgestuurd naar de URL als ze op het tabblad klikken.
|
settings.external_tracker_url_desc=Bezoekers worden doorgestuurd naar de URL als ze op het tabblad klikken.
|
||||||
settings.tracker_url_format=URL-formaat externe issuetracker
|
settings.tracker_url_format=URL-formaat externe issuetracker
|
||||||
settings.tracker_issue_style=Naamgevingstijl externe kwestietracker:
|
settings.tracker_issue_style=Naamgevingstijl externe issuetracker:
|
||||||
settings.tracker_issue_style.numeric=Nummeriek
|
settings.tracker_issue_style.numeric=Nummeriek
|
||||||
settings.tracker_issue_style.alphanumeric=Alfanummeriek
|
settings.tracker_issue_style.alphanumeric=Alfanummeriek
|
||||||
settings.tracker_url_format_desc=U kan de aanduidingen <code>{user} {repo} {index}</code> gebruiken voor de gebruikersnaam, de naam van de repository en de lijst van open tickets.
|
settings.tracker_url_format_desc=U kan de aanduidingen <code>{user} {repo} {index}</code> gebruiken voor de gebruikersnaam, de naam van de repository en de lijst van open tickets.
|
||||||
settings.pulls_desc=Schakel 'pull request' in om publieke bijdragen te mogelijk te maken
|
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches
|
||||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||||
settings.danger_zone=Gevaren zone
|
settings.danger_zone=Gevaren zone
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=Deze gebruiker zal niet langer toegang hebbe
|
|||||||
settings.remove_collaborator_success=medewerker is verwijderd.
|
settings.remove_collaborator_success=medewerker is verwijderd.
|
||||||
settings.search_user_placeholder=Zoek gebruiker...
|
settings.search_user_placeholder=Zoek gebruiker...
|
||||||
settings.org_not_allowed_to_be_collaborator=De organisatie kan niet toegevoegd worden als medewerker.
|
settings.org_not_allowed_to_be_collaborator=De organisatie kan niet toegevoegd worden als medewerker.
|
||||||
settings.add_webhook=Webhook toevoegen
|
|
||||||
settings.hooks_desc=Webhooks dat de externe diensten om kennisgevingen te ontvangen wanneer bepaalde gebeurtenissen op Gogs plaatsvinden. Wanneer de opgegeven gebeurtenissen plaatsvinden, sturen we een POST-aanvraag naar elk van de URL's die u opgeeft. Meer informatie vindt u in onze <a target="_blank" href="%s"> Webhooks gids</a>.
|
settings.hooks_desc=Webhooks dat de externe diensten om kennisgevingen te ontvangen wanneer bepaalde gebeurtenissen op Gogs plaatsvinden. Wanneer de opgegeven gebeurtenissen plaatsvinden, sturen we een POST-aanvraag naar elk van de URL's die u opgeeft. Meer informatie vindt u in onze <a target="_blank" href="%s"> Webhooks gids</a>.
|
||||||
|
settings.webhooks.add_new=Add a new webhook:
|
||||||
|
settings.webhooks.choose_a_type=Choose a type...
|
||||||
|
settings.add_webhook=Webhook toevoegen
|
||||||
settings.webhook_deletion=Webhook verwijderen
|
settings.webhook_deletion=Webhook verwijderen
|
||||||
settings.webhook_deletion_desc=Verwijderen van deze webhook zal de informatie en alle geschiedenis verwijderen. Wilt u doorgaan?
|
settings.webhook_deletion_desc=Verwijderen van deze webhook zal de informatie en alle geschiedenis verwijderen. Wilt u doorgaan?
|
||||||
settings.webhook_deletion_success=Webhook is succesvol verwijderd!
|
settings.webhook_deletion_success=Webhook is succesvol verwijderd!
|
||||||
@@ -792,6 +814,8 @@ settings.webhook.response=Antwoord
|
|||||||
settings.webhook.headers=Headers
|
settings.webhook.headers=Headers
|
||||||
settings.webhook.payload=Lading
|
settings.webhook.payload=Lading
|
||||||
settings.webhook.body=Inhoud
|
settings.webhook.body=Inhoud
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=Git haken worden aangedreven door Git zelf, u kunt bestanden van ondersteunde haken in de lijst hieronder om aangepaste acties van toepassing bewerken.
|
settings.githooks_desc=Git haken worden aangedreven door Git zelf, u kunt bestanden van ondersteunde haken in de lijst hieronder om aangepaste acties van toepassing bewerken.
|
||||||
settings.githook_edit_desc=Als haak niet actief is, zal monster inhoud worden gepresenteerd. Verlof inhoud leeg zal deze haak uitschakelen.
|
settings.githook_edit_desc=Als haak niet actief is, zal monster inhoud worden gepresenteerd. Verlof inhoud leeg zal deze haak uitschakelen.
|
||||||
settings.githook_name=Haak naam
|
settings.githook_name=Haak naam
|
||||||
@@ -819,10 +843,10 @@ settings.event_push=Push
|
|||||||
settings.event_push_desc=Git push naar een repository
|
settings.event_push_desc=Git push naar een repository
|
||||||
settings.event_issues=Issues
|
settings.event_issues=Issues
|
||||||
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
||||||
settings.event_issue_comment=Issue Comment
|
|
||||||
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
|
||||||
settings.event_pull_request=Pull request
|
settings.event_pull_request=Pull request
|
||||||
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
||||||
|
settings.event_issue_comment=Issue Comment
|
||||||
|
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
||||||
settings.event_release=Release
|
settings.event_release=Release
|
||||||
settings.event_release_desc=Release published in a repository.
|
settings.event_release_desc=Release published in a repository.
|
||||||
settings.active=Actief
|
settings.active=Actief
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=Nieuwe deploy sleutel '%s' werd succesvol toegevoegd!
|
|||||||
settings.deploy_key_deletion=Verwijder deploy sleutel
|
settings.deploy_key_deletion=Verwijder deploy sleutel
|
||||||
settings.deploy_key_deletion_desc=Het verwijderen van deze deploy sleutel zal alle gerelateerde toegang verwijderen voor deze repositorie. Wilt u doorgaan?
|
settings.deploy_key_deletion_desc=Het verwijderen van deze deploy sleutel zal alle gerelateerde toegang verwijderen voor deze repositorie. Wilt u doorgaan?
|
||||||
settings.deploy_key_deletion_success=Deploy sleutel werd met succes verwijderd!
|
settings.deploy_key_deletion_success=Deploy sleutel werd met succes verwijderd!
|
||||||
|
settings.description_desc=Description of repository. Maximum 512 characters length.
|
||||||
|
settings.description_length=Available characters
|
||||||
|
|
||||||
diff.browse_source=Bladeren bron
|
diff.browse_source=Bladeren bron
|
||||||
diff.parent=bovenliggende
|
diff.parent=bovenliggende
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=U gebruikt deze naam om dit team te vermelden in conversaties.
|
|||||||
team_desc_helper=Waar gaat dit team doen?
|
team_desc_helper=Waar gaat dit team doen?
|
||||||
team_permission_desc=Welke privileges zou dit team moeten hebben?
|
team_permission_desc=Welke privileges zou dit team moeten hebben?
|
||||||
|
|
||||||
form.name_reserved=Organisatienaam '%s' is gereserveerd.
|
form.name_not_allowed=Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Organisatie naampatroon '%s' is niet toegestaan.
|
form.team_name_not_allowed=Team name or pattern %q is not allowed.
|
||||||
form.team_name_reserved=Team name '%s' is reserved.
|
|
||||||
|
|
||||||
settings=Instellingen
|
settings=Instellingen
|
||||||
settings.options=Opties
|
settings.options=Opties
|
||||||
@@ -990,12 +1015,19 @@ first_page=Eerste
|
|||||||
last_page=Laatste
|
last_page=Laatste
|
||||||
total=Totaal: %d
|
total=Totaal: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Build Information
|
||||||
|
dashboard.app_ver=Application version
|
||||||
|
dashboard.git_version=Git version
|
||||||
|
dashboard.go_version=Go version
|
||||||
|
dashboard.build_time=Build time
|
||||||
|
dashboard.build_commit=Build commit
|
||||||
dashboard.statistic=Statistieken
|
dashboard.statistic=Statistieken
|
||||||
dashboard.operations=Bewerkingen
|
dashboard.operations=Bewerkingen
|
||||||
dashboard.system_status=Status Systeemmonitor
|
dashboard.system_status=Status Systeemmonitor
|
||||||
dashboard.statistic_info=Gogs database heeft <b>%d</b> gebruikers, <b>%d</b> organisaties, <b>%d</b> openbare sleutels, <b>%d</b> repositories, <b>%d</b> volgers, <b>%d</b> sterren, <b>%d</b> acties, <b>%d</b> participanten, <b>%d</b> issues, <b>%d</b> reacties, <b>%d</b> sociale accounten, <b>%d</b> volgers, <b>%d</b> mirrors, <b>%d</b> publicaties, <b>%d</b> login bronnen, <b>%d</b> webhooks, <b>%d</b> mijlpalen, <b>%d</b> labels, <b>%d</b> hook taken, <b>%d</b> teams, <b>%d</b> bijgewerkte taken, <b>%d</b> bijlagen.
|
dashboard.statistic_info=Gogs database heeft <b>%d</b> gebruikers, <b>%d</b> organisaties, <b>%d</b> openbare sleutels, <b>%d</b> repositories, <b>%d</b> volgers, <b>%d</b> sterren, <b>%d</b> acties, <b>%d</b> participanten, <b>%d</b> issues, <b>%d</b> reacties, <b>%d</b> sociale accounten, <b>%d</b> volgers, <b>%d</b> mirrors, <b>%d</b> publicaties, <b>%d</b> login bronnen, <b>%d</b> webhooks, <b>%d</b> mijlpalen, <b>%d</b> labels, <b>%d</b> hook taken, <b>%d</b> teams, <b>%d</b> bijgewerkte taken, <b>%d</b> bijlagen.
|
||||||
dashboard.operation_name=Bewerking naam
|
dashboard.operation_name=Bewerking naam
|
||||||
dashboard.operation_switch=Omschakelen
|
dashboard.operation_switch=Omschakelen
|
||||||
|
dashboard.select_operation_to_run=Please select operation to run
|
||||||
dashboard.operation_run=Uitvoeren
|
dashboard.operation_run=Uitvoeren
|
||||||
dashboard.clean_unbind_oauth=Clean unbound OAuths
|
dashboard.clean_unbind_oauth=Clean unbound OAuths
|
||||||
dashboard.clean_unbind_oauth_success=Alle OAuthes binding hebben verwijderd.
|
dashboard.clean_unbind_oauth_success=Alle OAuthes binding hebben verwijderd.
|
||||||
@@ -1070,7 +1102,7 @@ users.allow_import_local=Dit account mag lokale repositories importeren
|
|||||||
users.update_profile=Account profiel bijwerken
|
users.update_profile=Account profiel bijwerken
|
||||||
users.delete_account=Dit account verwijderen
|
users.delete_account=Dit account verwijderen
|
||||||
users.still_own_repo=Dit account is nog steeds eigendom van een repositorie. U moet deze repositorie eerst verwijderen of overdragen.
|
users.still_own_repo=Dit account is nog steeds eigendom van een repositorie. U moet deze repositorie eerst verwijderen of overdragen.
|
||||||
users.still_has_org=Deze account nog steeds lidmaatschap van organisatie, u hebt naar links of hen eerst verwijderen.
|
users.still_has_org=Dit account is nog lid van ten minste één organisatie. Zeg dit lidmaatschap voor dit account op of verwijder de organisatie eerst.
|
||||||
users.deletion_success=Het account is verwijderd!
|
users.deletion_success=Het account is verwijderd!
|
||||||
|
|
||||||
orgs.org_manage_panel=Organisaties beheren
|
orgs.org_manage_panel=Organisaties beheren
|
||||||
@@ -1084,14 +1116,15 @@ repos.name=Naam
|
|||||||
repos.private=Prive
|
repos.private=Prive
|
||||||
repos.watches=Volgers
|
repos.watches=Volgers
|
||||||
repos.stars=Sterren
|
repos.stars=Sterren
|
||||||
repos.issues=Kwesties
|
repos.issues=Issues
|
||||||
repos.size=Size
|
repos.size=Size
|
||||||
|
|
||||||
auths.auth_manage_panel=Authenticatie-beheer paneel
|
auths.auth_sources=Authenticatiebronnen
|
||||||
auths.new=Nieuwe bron toevoegen
|
auths.new=Nieuwe bron toevoegen
|
||||||
auths.name=Naam
|
auths.name=Naam
|
||||||
auths.type=Type
|
auths.type=Type
|
||||||
auths.enabled=Ingeschakeld
|
auths.enabled=Ingeschakeld
|
||||||
|
auths.default=Default
|
||||||
auths.updated=Bijgewerkt
|
auths.updated=Bijgewerkt
|
||||||
auths.auth_type=Authenticatietype
|
auths.auth_type=Authenticatietype
|
||||||
auths.auth_name=Authenticatienaam
|
auths.auth_name=Authenticatienaam
|
||||||
@@ -1128,9 +1161,9 @@ auths.enable_tls=Activeer TLS-encryptie
|
|||||||
auths.skip_tls_verify=TLS-verificatie overslaan
|
auths.skip_tls_verify=TLS-verificatie overslaan
|
||||||
auths.pam_service_name=PAM servicenaam
|
auths.pam_service_name=PAM servicenaam
|
||||||
auths.enable_auto_register=Activeer automatische registratie
|
auths.enable_auto_register=Activeer automatische registratie
|
||||||
auths.tips=Tips
|
|
||||||
auths.edit=Verificatie-instelling bewerken
|
auths.edit=Verificatie-instelling bewerken
|
||||||
auths.activated=Deze autorisatiemethode is geactiveerd
|
auths.activated=Deze autorisatiemethode is geactiveerd
|
||||||
|
auths.default_auth=Deze authenticatie bron is de standaard bron
|
||||||
auths.new_success=Nieuwe authenticatie '%s' werd toegevoegd.
|
auths.new_success=Nieuwe authenticatie '%s' werd toegevoegd.
|
||||||
auths.update_success=Authenticatie instellingen zijn succesvol gewijzigd.
|
auths.update_success=Authenticatie instellingen zijn succesvol gewijzigd.
|
||||||
auths.update=Authenticatie-instellingen bijwerken
|
auths.update=Authenticatie-instellingen bijwerken
|
||||||
@@ -1140,120 +1173,186 @@ auths.delete_auth_desc=Deze authenticatie zal verwijderd worden, wil je verderga
|
|||||||
auths.still_in_used=This authentication is still used by some users, please delete or convert these users to another login type first.
|
auths.still_in_used=This authentication is still used by some users, please delete or convert these users to another login type first.
|
||||||
auths.deletion_success=Authenticatie is met succes verwijderd!
|
auths.deletion_success=Authenticatie is met succes verwijderd!
|
||||||
auths.login_source_exist=Login source '%s' already exists.
|
auths.login_source_exist=Login source '%s' already exists.
|
||||||
|
auths.github_api_endpoint=API Endpoint
|
||||||
|
|
||||||
config.not_set=(not set)
|
config.not_set=(not set)
|
||||||
config.server_config=Serverconfiguratie
|
config.server_config=Serverconfiguratie
|
||||||
config.app_name=Applicatienaam
|
config.brand_name=Brand name
|
||||||
config.app_ver=Applicatieversie
|
|
||||||
config.app_url=Applicatie-URL
|
|
||||||
config.domain=Domein
|
|
||||||
config.offline_mode=Offline-modus
|
|
||||||
config.disable_router_log=Router-log uitschakelen
|
|
||||||
config.run_user=Uitvoerende gebruiker
|
config.run_user=Uitvoerende gebruiker
|
||||||
config.run_mode=Uitvoer modus
|
config.run_mode=Uitvoer modus
|
||||||
config.git_version=Gitversie
|
config.server.external_url=External URL
|
||||||
config.static_file_root_path=Statische bestanden basis pad
|
config.server.domain=Domain
|
||||||
config.log_file_root_path=Log bestand basis pad
|
config.server.protocol=Protocol
|
||||||
config.reverse_auth_user=Omgekeerde verificatie gebruiker
|
config.server.http_addr=HTTP address
|
||||||
|
config.server.http_port=HTTP port
|
||||||
|
config.server.cert_file=Certificate file
|
||||||
|
config.server.key_file=Key file
|
||||||
|
config.server.tls_min_version=Minimum TLS version
|
||||||
|
config.server.unix_socket_permission=Unix socket permission
|
||||||
|
config.server.local_root_url=Local root URL
|
||||||
|
config.server.offline_mode=Offline mode
|
||||||
|
config.server.disable_router_log=Disable router log
|
||||||
|
config.server.enable_gzip=Enable Gzip
|
||||||
|
config.server.app_data_path=Application data path
|
||||||
|
config.server.load_assets_from_disk=Load assets from disk
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
config.ssh_config=SSH-configuratie
|
config.ssh_config=SSH-configuratie
|
||||||
config.ssh_enabled=Ingeschakeld
|
config.ssh.enabled=Enabled
|
||||||
config.ssh_start_builtin_server=Ingebouwde server starten
|
config.ssh.domain=Exposed domain
|
||||||
config.ssh_domain=Domein
|
config.ssh.port=Exposed port
|
||||||
config.ssh_port=Poort
|
config.ssh.root_path=Root path
|
||||||
config.ssh_listen_port=Luister op poort
|
config.ssh.keygen_path=Keygen path
|
||||||
config.ssh_root_path=Root-pad
|
config.ssh.key_test_path=Key test path
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Minimum key size check
|
||||||
config.ssh_key_test_path=Pad voor key-tests
|
config.ssh.minimum_key_sizes=Minimum key sizes
|
||||||
config.ssh_keygen_path=Pad van keygen ('ssh-keygen')
|
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
|
||||||
config.ssh_minimum_key_size_check=Controleer minimale key-lengte
|
config.ssh.start_builtin_server=Start builtin server
|
||||||
config.ssh_minimum_key_sizes=Minimale key-lengtes
|
config.ssh.listen_host=Listen host
|
||||||
|
config.ssh.listen_port=Listen port
|
||||||
|
config.ssh.server_ciphers=Server ciphers
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=Repository Configuration
|
config.repo_config=Repository configuration
|
||||||
config.repo_root_path=Repositorie basis pad
|
config.repo.root_path=Root path
|
||||||
config.script_type=Script type
|
config.repo.script_type=Script type
|
||||||
config.repo_force_private=Force Private
|
config.repo.ansi_chatset=ANSI charset
|
||||||
config.max_creation_limit=Max Creation Limit
|
config.repo.force_private=Force private
|
||||||
config.preferred_licenses=Preferred Licenses
|
config.repo.max_creation_limit=Max creation limit
|
||||||
config.disable_http_git=Disable HTTP Git
|
config.repo.preferred_licenses=Preferred licenses
|
||||||
config.enable_local_path_migration=Enable Local Path Migration
|
config.repo.disable_http_git=Disable HTTP Git
|
||||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
config.http_config=HTTP Configuration
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Upload enabled
|
||||||
|
config.repo.upload.temp_path=Upload temporary path
|
||||||
|
config.repo.upload.allowed_types=Upload allowed types
|
||||||
|
config.repo.upload.file_max_size=Upload file size limit
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=Databaseconfiguratie
|
config.db_config=Databaseconfiguratie
|
||||||
config.db_type=Type
|
config.db.type=Type
|
||||||
config.db_host=Host
|
config.db.host=Host
|
||||||
config.db_name=Naam
|
config.db.name=Name
|
||||||
config.db_user=Gebruiker
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=SSL modus
|
config.db.schema_helper=(for "postgres" only)
|
||||||
config.db_ssl_mode_helper=(alleen voor "postgres")
|
config.db.user=User
|
||||||
config.db_path=Pad
|
config.db.ssl_mode=SSL mode
|
||||||
config.db_path_helper=(voor "sqlite3" en "tidb")
|
config.db.ssl_mode_helper=(for "postgres" only)
|
||||||
|
config.db.path=Path
|
||||||
|
config.db.path_helper=(for "sqlite3"only)
|
||||||
|
config.db.max_open_conns=Maximum open connections
|
||||||
|
config.db.max_idle_conns=Maximum idle connections
|
||||||
|
|
||||||
config.service_config=Serviceconfiguratie
|
config.security_config=Security configuration
|
||||||
config.register_email_confirm=E-mailbevestiging registreren
|
config.security.login_remember_days=Login remember days
|
||||||
config.disable_register=Registratie uitgeschakeld
|
config.security.cookie_remember_name=Remember cookie
|
||||||
config.show_registration_button=Registeren knop weergeven
|
config.security.cookie_username=Username cookie
|
||||||
config.require_sign_in_view=Inloggen vereist om te kunnen inzien
|
config.security.cookie_secure=Enable secure cookie
|
||||||
config.mail_notify=E-mailnotificaties
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=Controle op key-lengte uitschakelen
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=CAPTCHA inschakelen
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=Actieve Code leven
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=Reset wachtwoord Code leven
|
|
||||||
|
|
||||||
config.webhook_config=Webhook configuratie
|
config.email_config=Email configuration
|
||||||
config.queue_length=Lengte van wachtrij
|
config.email.enabled=Enabled
|
||||||
config.deliver_timeout=Bezorging verlooptijd
|
config.email.subject_prefix=Subject prefix
|
||||||
config.skip_tls_verify=TLS certificaat controle overslaan
|
config.email.host=Host
|
||||||
|
config.email.from=From
|
||||||
|
config.email.user=User
|
||||||
|
config.email.disable_helo=Disable HELO
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
config.email.skip_verify=Skip certificate verify
|
||||||
|
config.email.use_certificate=Use custom certificate
|
||||||
|
config.email.cert_file=Certificate file
|
||||||
|
config.email.key_file=Key file
|
||||||
|
config.email.use_plain_text=Use plain text
|
||||||
|
config.email.add_plain_text_alt=Add plain text alternative
|
||||||
|
config.email.send_test_mail=Send test email
|
||||||
|
config.email.test_mail_failed=Failed to send test email to '%s': %v
|
||||||
|
config.email.test_mail_sent=Test email has been sent to '%s'.
|
||||||
|
|
||||||
config.mailer_config=Mailerconfiguatie
|
config.auth_config=Authentication configuration
|
||||||
config.mailer_enabled=Ingeschakeld
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=Schakel HELO uit
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=Host
|
config.auth.require_email_confirm=Require email confirmation
|
||||||
config.mailer_user=Gebruiker
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=Testbericht verzenden
|
config.auth.disable_registration=Disable registration
|
||||||
config.test_mail_failed=Verzending van een testmail naar '%s' is mislukt: %v
|
config.auth.enable_registration_captcha=Enable registration captcha
|
||||||
config.test_mail_sent=Test-email is verstuurd naar '%s'.
|
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
config.oauth_config=OAuth-configuratie
|
config.user_config=User configuration
|
||||||
config.oauth_enabled=Ingeschakeld
|
config.user.enable_email_notify=Enable email notification
|
||||||
|
|
||||||
config.cache_config=Cache-configuratie
|
|
||||||
config.cache_adapter=Cache-adapter
|
|
||||||
config.cache_interval=Cache-interval
|
|
||||||
config.cache_conn=Cache-connectie
|
|
||||||
|
|
||||||
config.session_config=Sessieconfiguratie
|
config.session_config=Sessieconfiguratie
|
||||||
config.session_provider=Sessieprovider
|
config.session.provider=Provider
|
||||||
config.provider_config=Provider config
|
config.session.provider_config=Provider config
|
||||||
config.cookie_name=Cookie naam
|
config.session.cookie_name=Cookie
|
||||||
config.enable_set_cookie=Set Cookie inschakelen
|
config.session.https_only=HTTPS only
|
||||||
config.gc_interval_time=GC interval time
|
config.session.gc_interval=GC interval
|
||||||
config.session_life_time=Sessie duur
|
config.session.max_life_time=Max life time
|
||||||
config.https_only=Alleen HTTPS
|
config.session.csrf_cookie_name=CSRF cookie
|
||||||
config.cookie_life_time=Cookie duur leeftijd
|
|
||||||
|
config.cache_config=Cache-configuratie
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC interval
|
||||||
|
config.cache.host=Host
|
||||||
|
|
||||||
|
config.http_config=HTTP configuration
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Enabled
|
||||||
|
config.attachment.path=Path
|
||||||
|
config.attachment.allowed_types=Allowed types
|
||||||
|
config.attachment.max_size=Size limit
|
||||||
|
config.attachment.max_files=Files limit
|
||||||
|
|
||||||
|
config.release_config=Release configuration
|
||||||
|
config.release.attachment.enabled=Attachment enabled
|
||||||
|
config.release.attachment.allowed_types=Attachment allowed types
|
||||||
|
config.release.attachment.max_size=Attachment size limit
|
||||||
|
config.release.attachment.max_files=Attachment files limit
|
||||||
|
|
||||||
config.picture_config=Foto configuratie
|
config.picture_config=Foto configuratie
|
||||||
config.picture_service=Foto service
|
config.picture.avatar_upload_path=User avatar upload path
|
||||||
config.disable_gravatar=Gravatar uitschakelen
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=Federated Avatars toestaan
|
config.picture.gravatar_source=Gravatar source
|
||||||
|
config.picture.disable_gravatar=Disable Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Mirror configuration
|
||||||
|
config.mirror.default_interval=Default interval
|
||||||
|
|
||||||
|
config.webhook_config=Webhook configuratie
|
||||||
|
config.webhook.types=Types
|
||||||
|
config.webhook.deliver_timeout=Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify=Skip TLS verify
|
||||||
|
|
||||||
config.git_config=Gitconfiguratie
|
config.git_config=Gitconfiguratie
|
||||||
config.git_disable_diff_highlight=Disable Diff Syntax Highlight
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
config.git_max_diff_lines=Max Diff Lines (for a single file)
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=Max Diff Characters (for a single line)
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=Max Diff Files (to be shown)
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=GC Arguments
|
config.git.gc_args=GC arguments
|
||||||
config.git_migrate_timeout=Migration Timeout
|
config.git.migrate_timeout=Migration timeout
|
||||||
config.git_mirror_timeout=Mirror Update Timeout
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
config.git_clone_timeout=Clone Operation Timeout
|
config.git.clone_timeout=Clone timeout
|
||||||
config.git_pull_timeout=Pull Operation Timeout
|
config.git.pull_timeout=Pull timeout
|
||||||
config.git_gc_timeout=GC Operation Timeout
|
config.git.gc_timeout=GC timeout
|
||||||
|
|
||||||
|
config.lfs_config=LFS configuration
|
||||||
|
config.lfs.storage=Storage
|
||||||
|
config.lfs.objects_path=Objects path
|
||||||
|
|
||||||
config.log_config=Logconfiguratie
|
config.log_config=Logconfiguratie
|
||||||
|
config.log_file_root_path=Log bestand basis pad
|
||||||
config.log_mode=Mode
|
config.log_mode=Mode
|
||||||
config.log_options=Options
|
config.log_options=Options
|
||||||
|
|
||||||
@@ -1284,14 +1383,13 @@ notices.delete_success=System notices have been deleted successfully.
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=repositorie aangemaakt in <a href="%s">%s</a>
|
create_repo=repositorie aangemaakt in <a href="%s">%s</a>
|
||||||
fork_repo=forked a repository to <a href="%s">%s</a>
|
|
||||||
rename_repo=hernoemde repository van <code>%[1]s</code> naar <a href="%[2]s">%[3]s</a>
|
rename_repo=hernoemde repository van <code>%[1]s</code> naar <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo=push update naar <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a>
|
commit_repo=push update naar <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=Toon vergelijking voor deze %d commits
|
compare_commits=Toon vergelijking voor deze %d commits
|
||||||
transfer_repo=repositorie verplaatst naar <code>%s</code> naar <a href="%s">%s</a>
|
transfer_repo=repositorie verplaatst naar <code>%s</code> naar <a href="%s">%s</a>
|
||||||
create_issue=`opende issue in <a href="%s/issues/%s">%s#%[2]s</a>`
|
create_issue=`opende issue in <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
close_issue=`sloot kwestie <a href="%s/issues/%s">%s#%[2]s</a>`
|
close_issue=`gesloten issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
reopen_issue=`heropende kwestie <a href="%s/issues/%s">%s#%[2]s</a>`
|
reopen_issue=`heropende issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
comment_issue=`reactie op issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
comment_issue=`reactie op issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
create_pull_request=`maakte pull request <a href="%s/issues/%s">%s#%[2]s</a>`
|
create_pull_request=`maakte pull request <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
close_pull_request=`sloot pull request <a href="%s/issues/%s">%s#%[2]s</a>`
|
close_pull_request=`sloot pull request <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||||
@@ -1301,6 +1399,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
|
|||||||
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=geduwd label <a href="%s/src/%s"> %[2]s</a> naar <a href="%[1]s"> %[3]s</a>
|
push_tag=geduwd label <a href="%s/src/%s"> %[2]s</a> naar <a href="%[1]s"> %[3]s</a>
|
||||||
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
|
fork_repo=forked a repository to <a href="%s">%s</a>
|
||||||
|
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
|
||||||
|
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=geleden
|
ago=geleden
|
||||||
@@ -1322,6 +1424,7 @@ months=%d maanden %s
|
|||||||
years=%d jaren %s
|
years=%d jaren %s
|
||||||
raw_seconds=seconden
|
raw_seconds=seconden
|
||||||
raw_minutes=minuten
|
raw_minutes=minuten
|
||||||
|
raw_hours=hours
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Drop bestanden hier of klik om te uploaden.
|
default_message=Drop bestanden hier of klik om te uploaden.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ sign_out=Wyloguj
|
|||||||
sign_up=Zarejestruj się
|
sign_up=Zarejestruj się
|
||||||
register=Zarejestruj się
|
register=Zarejestruj się
|
||||||
website=Strona
|
website=Strona
|
||||||
version=Wersja
|
|
||||||
page=Strona
|
page=Strona
|
||||||
template=Szablon
|
template=Szablon
|
||||||
language=Język
|
language=Język
|
||||||
@@ -44,17 +43,22 @@ issues=Problemy
|
|||||||
|
|
||||||
cancel=Anuluj
|
cancel=Anuluj
|
||||||
|
|
||||||
|
[status]
|
||||||
|
page_not_found=Strona nie została znaleziona
|
||||||
|
internal_server_error=Wewnętrzny błąd serwera
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
install=Instalacja
|
install=Instalacja
|
||||||
title=Kroki instalacyjne dla pierwszego uruchomienia
|
title=Kroki instalacyjne dla pierwszego uruchomienia
|
||||||
docker_helper=Jeśli używasz Gogs wewnątrz Dockera, proszę przeczytaj <a target="_blank" href="%s">wytyczne</a>, zanim zmienisz coś na tej stronie!
|
docker_helper=Jeśli używasz Gogs wewnątrz Dockera, proszę przeczytaj <a target="_blank" href="%s">wytyczne</a>, zanim zmienisz coś na tej stronie!
|
||||||
requite_db_desc=Gogs wymaga bazy MySQL, PostgreSQL, SQLite3 lub TiDB.
|
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol).
|
||||||
db_title=Ustawienia bazy danych
|
db_title=Ustawienia bazy danych
|
||||||
db_type=Typ bazy danych
|
db_type=Typ bazy danych
|
||||||
host=Host
|
host=Host
|
||||||
user=Użytkownik
|
user=Użytkownik
|
||||||
password=Hasło
|
password=Hasło
|
||||||
db_name=Nazwa bazy danych
|
db_name=Nazwa bazy danych
|
||||||
|
db_schema=Schema
|
||||||
db_helper=Proszę użyć silnika INNODB z kodowaniem utf8_general_ci dla MySQL.
|
db_helper=Proszę użyć silnika INNODB z kodowaniem utf8_general_ci dla MySQL.
|
||||||
ssl_mode=Tryb SSL
|
ssl_mode=Tryb SSL
|
||||||
path=Ścieżka
|
path=Ścieżka
|
||||||
@@ -84,6 +88,7 @@ log_root_path=Ścieżka dla logów
|
|||||||
log_root_path_helper=Katalog do zapisu logów.
|
log_root_path_helper=Katalog do zapisu logów.
|
||||||
enable_console_mode=Włącz tryb konsolowy
|
enable_console_mode=Włącz tryb konsolowy
|
||||||
enable_console_mode_popup=Oprócz zapisywania do pliku wyświetlaj logi także w konsoli.
|
enable_console_mode_popup=Oprócz zapisywania do pliku wyświetlaj logi także w konsoli.
|
||||||
|
default_branch=Default Branch
|
||||||
|
|
||||||
optional_title=Ustawienia opcjonalne
|
optional_title=Ustawienia opcjonalne
|
||||||
email_title=Ustawienia serwera e-mail
|
email_title=Ustawienia serwera e-mail
|
||||||
@@ -122,6 +127,7 @@ run_user_not_match=Użytkownik aplikacji nie jest aktualnym użytkownikiem: %s -
|
|||||||
smtp_host_missing_port=W SMTP Host brakuje portu w adresie.
|
smtp_host_missing_port=W SMTP Host brakuje portu w adresie.
|
||||||
invalid_smtp_from=Pole SMTP OD nie jest prawidłowe: %v
|
invalid_smtp_from=Pole SMTP OD nie jest prawidłowe: %v
|
||||||
save_config_failed=Nie udało się zapisać konfiguracji: %v
|
save_config_failed=Nie udało się zapisać konfiguracji: %v
|
||||||
|
init_failed=Nie udało się zainicjować aplikacji: %v
|
||||||
invalid_admin_setting=Nieprawidłowe ustawienia konta admina: %v
|
invalid_admin_setting=Nieprawidłowe ustawienia konta admina: %v
|
||||||
install_success=Cześć! Cieszymy się, że wybierałeś Gogs, baw się dobrze.
|
install_success=Cześć! Cieszymy się, że wybierałeś Gogs, baw się dobrze.
|
||||||
invalid_log_root_path=Ścieżka dla logów jest niepoprawna: %v
|
invalid_log_root_path=Ścieżka dla logów jest niepoprawna: %v
|
||||||
@@ -151,6 +157,8 @@ register_hepler_msg=Masz już konto? Zaloguj się teraz!
|
|||||||
social_register_hepler_msg=Masz już konto? Powiąż je teraz!
|
social_register_hepler_msg=Masz już konto? Powiąż je teraz!
|
||||||
disable_register_prompt=Przepraszamy rejestracja została wyłączona. Prosimy o kontakt z administratorem serwisu.
|
disable_register_prompt=Przepraszamy rejestracja została wyłączona. Prosimy o kontakt z administratorem serwisu.
|
||||||
disable_register_mail=Przepraszamy, potwierdzenia rejestracji zostały wyłączone przez administratora.
|
disable_register_mail=Przepraszamy, potwierdzenia rejestracji zostały wyłączone przez administratora.
|
||||||
|
auth_source=Źródło uwierzytelniania
|
||||||
|
local=Lokalne
|
||||||
remember_me=Zapamiętaj mnie
|
remember_me=Zapamiętaj mnie
|
||||||
forgot_password=Zapomniałem hasła
|
forgot_password=Zapomniałem hasła
|
||||||
forget_password=Zapomniałeś hasła?
|
forget_password=Zapomniałeś hasła?
|
||||||
@@ -229,6 +237,7 @@ org_name_been_taken=Nazwa organizacji jest już zajęta.
|
|||||||
team_name_been_taken=Nazwa zespołu jest już zajęta.
|
team_name_been_taken=Nazwa zespołu jest już zajęta.
|
||||||
email_been_used=Adres e-mail jest już zarejestrowany.
|
email_been_used=Adres e-mail jest już zarejestrowany.
|
||||||
username_password_incorrect=Nazwa użytkownika lub hasło nie jest prawidłowe.
|
username_password_incorrect=Nazwa użytkownika lub hasło nie jest prawidłowe.
|
||||||
|
auth_source_mismatch=Wybrane źródło uwierzytelniania nie jest związane z użytkownikiem.
|
||||||
enterred_invalid_repo_name=Upewnij się, że wprowadzona nazwa repozytorium jest poprawna.
|
enterred_invalid_repo_name=Upewnij się, że wprowadzona nazwa repozytorium jest poprawna.
|
||||||
enterred_invalid_owner_name=Upewnij się, że nazwa właściciela repozytorium jest poprawna.
|
enterred_invalid_owner_name=Upewnij się, że nazwa właściciela repozytorium jest poprawna.
|
||||||
enterred_invalid_password=Proszę upewnij się, że wprowadzono hasło jest poprawne.
|
enterred_invalid_password=Proszę upewnij się, że wprowadzono hasło jest poprawne.
|
||||||
@@ -256,8 +265,7 @@ following=Obserwowani
|
|||||||
follow=Obserwuj
|
follow=Obserwuj
|
||||||
unfollow=Przestań obserwować
|
unfollow=Przestań obserwować
|
||||||
|
|
||||||
form.name_reserved=Nazwa użytkownika „%s” jest zarezerwowana.
|
form.name_not_allowed=Nazwa użytkownika lub wzór %q jest niedozwolony.
|
||||||
form.name_pattern_not_allowed=Wzorzec nazwy użytkownika „%s” jest niedozwolony.
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
profile=Profil
|
profile=Profil
|
||||||
@@ -309,6 +317,7 @@ delete_email=Usuń
|
|||||||
email_deletion=Usunięcie wiadomości e-mail
|
email_deletion=Usunięcie wiadomości e-mail
|
||||||
email_deletion_desc=Usunięcie tego adresu e-mail spowoduje usunięcie innych informacji związanych z Twoim kontem. Czy chcesz kontynuować?
|
email_deletion_desc=Usunięcie tego adresu e-mail spowoduje usunięcie innych informacji związanych z Twoim kontem. Czy chcesz kontynuować?
|
||||||
email_deletion_success=E-mail został usunięty pomyślnie!
|
email_deletion_success=E-mail został usunięty pomyślnie!
|
||||||
|
email_deletion_primary=Cannot delete primary email address.
|
||||||
add_new_email=Dodaj nowy e-mail
|
add_new_email=Dodaj nowy e-mail
|
||||||
add_email=Dodaj e-mail
|
add_email=Dodaj e-mail
|
||||||
add_email_confirmation_sent=Nowa wiadomość e-mail z potwierdzeniem została wysłana do '%s', proszę sprawdzić swoją skrzynkę odbiorczą w ciągu %d godzin, aby dokończyć proces potwierdzania.
|
add_email_confirmation_sent=Nowa wiadomość e-mail z potwierdzeniem została wysłana do '%s', proszę sprawdzić swoją skrzynkę odbiorczą w ciągu %d godzin, aby dokończyć proces potwierdzania.
|
||||||
@@ -348,6 +357,7 @@ two_factor_or_enter_secret=Lub wprowadź sekret:
|
|||||||
two_factor_then_enter_passcode=Następnie wprowadź kod dostępu:
|
two_factor_then_enter_passcode=Następnie wprowadź kod dostępu:
|
||||||
two_factor_verify=Weryfikuj
|
two_factor_verify=Weryfikuj
|
||||||
two_factor_invalid_passcode=Wprowadzony kod nie jest prawidłowy, spróbuj ponownie!
|
two_factor_invalid_passcode=Wprowadzony kod nie jest prawidłowy, spróbuj ponownie!
|
||||||
|
two_factor_reused_passcode=Ten kod jest już używany, spróbuj ponownie!
|
||||||
two_factor_enable_error=Włączenie dwuetapowego uwierzytelniania nie powiodło się: %v
|
two_factor_enable_error=Włączenie dwuetapowego uwierzytelniania nie powiodło się: %v
|
||||||
two_factor_enable_success=Uwierzytelnianie dwuetapowe Twojego konta zostało włączone pomyślnie!
|
two_factor_enable_success=Uwierzytelnianie dwuetapowe Twojego konta zostało włączone pomyślnie!
|
||||||
two_factor_recovery_codes_title=Kody odzyskiwania uwierzytelniania dwuetapowego
|
two_factor_recovery_codes_title=Kody odzyskiwania uwierzytelniania dwuetapowego
|
||||||
@@ -362,6 +372,7 @@ two_factor_disable_success=Uwierzytelnianie dwuetapowe wyłączono pomyślnie!
|
|||||||
manage_access_token=Zarządzaj osobistymi tokenami dostępu
|
manage_access_token=Zarządzaj osobistymi tokenami dostępu
|
||||||
generate_new_token=Wygeneruj nowy token
|
generate_new_token=Wygeneruj nowy token
|
||||||
tokens_desc=Tokeny, które wygenerowałeś, mogą być użyte do dostępu do API Gogs.
|
tokens_desc=Tokeny, które wygenerowałeś, mogą być użyte do dostępu do API Gogs.
|
||||||
|
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
|
||||||
new_token_desc=Jak na razie, każdy token zapewnia pełen dostęp do Twojego konta.
|
new_token_desc=Jak na razie, każdy token zapewnia pełen dostęp do Twojego konta.
|
||||||
token_name=Nazwa tokena
|
token_name=Nazwa tokena
|
||||||
generate_token=Wygeneruj token
|
generate_token=Wygeneruj token
|
||||||
@@ -370,6 +381,7 @@ delete_token=Usuń
|
|||||||
access_token_deletion=Usuwanie osobistego tokena dostępu
|
access_token_deletion=Usuwanie osobistego tokena dostępu
|
||||||
access_token_deletion_desc=Usunięcie tego tokena osobistego dostęp spowoduje usunięcie wszystkich powiązanych dostępów do aplikacji. Czy chcesz kontynuować?
|
access_token_deletion_desc=Usunięcie tego tokena osobistego dostęp spowoduje usunięcie wszystkich powiązanych dostępów do aplikacji. Czy chcesz kontynuować?
|
||||||
delete_token_success=Osobisty token dostępu został usunięty pomyślnie! Nie zapomnij również zaktualizować swoich aplikacji.
|
delete_token_success=Osobisty token dostępu został usunięty pomyślnie! Nie zapomnij również zaktualizować swoich aplikacji.
|
||||||
|
token_name_exists=Token o takiej nawie już istniej.
|
||||||
|
|
||||||
orgs.none=Nie jesteś członkiem żadnej organizacji.
|
orgs.none=Nie jesteś członkiem żadnej organizacji.
|
||||||
orgs.leave_title=Opuść organizację
|
orgs.leave_title=Opuść organizację
|
||||||
@@ -391,7 +403,9 @@ owner=Właściciel
|
|||||||
repo_name=Nazwa repozytorium
|
repo_name=Nazwa repozytorium
|
||||||
repo_name_helper=Dobre nazwy repozytorium są krótkie, wpadające w pamięć i <strong>unikalne</strong>.
|
repo_name_helper=Dobre nazwy repozytorium są krótkie, wpadające w pamięć i <strong>unikalne</strong>.
|
||||||
visibility=Widoczność
|
visibility=Widoczność
|
||||||
|
unlisted=Unlisted
|
||||||
visiblity_helper=To repozytorium jest <span class="ui red text">prywatne</span>
|
visiblity_helper=To repozytorium jest <span class="ui red text">prywatne</span>
|
||||||
|
unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
|
||||||
visiblity_helper_forced=Administrator systemu wymaga, żeby wszystkie nowe repozytoria były <span class="ui red text">Prywatne</span>
|
visiblity_helper_forced=Administrator systemu wymaga, żeby wszystkie nowe repozytoria były <span class="ui red text">Prywatne</span>
|
||||||
visiblity_fork_helper=(Zmiana tej wartości wpłynie na wszystkie forki)
|
visiblity_fork_helper=(Zmiana tej wartości wpłynie na wszystkie forki)
|
||||||
clone_helper=Potrzebujesz pomocy z klonowaniem? Odwiedź <a target="_blank" href="%s">Pomoc</a>!
|
clone_helper=Potrzebujesz pomocy z klonowaniem? Odwiedź <a target="_blank" href="%s">Pomoc</a>!
|
||||||
@@ -417,10 +431,11 @@ mirror_last_synced=Ostatnia synchronizacja
|
|||||||
watchers=Obserwujący
|
watchers=Obserwujący
|
||||||
stargazers=Polubienia
|
stargazers=Polubienia
|
||||||
forks=Forki
|
forks=Forki
|
||||||
|
repo_description_helper=Opis repozytorium. Maksymalnie 512 znaków.
|
||||||
|
repo_description_length=Dostępne znaki
|
||||||
|
|
||||||
form.reach_limit_of_creation=Właściciel osiągnął limit maksymalnej ilości repozytoriów %d.
|
form.reach_limit_of_creation=Właściciel osiągnął limit maksymalnej ilości repozytoriów %d.
|
||||||
form.name_reserved=Nazwa repozytorium „%s” jest zarezerwowana.
|
form.name_not_allowed=Nazwa repozytorium lub wzór %q jest niedozwolony.
|
||||||
form.name_pattern_not_allowed=Wzorzec nazwy repozytorium „%s” jest niedozwolony.
|
|
||||||
|
|
||||||
need_auth=Wymaga autoryzacji
|
need_auth=Wymaga autoryzacji
|
||||||
migrate_type=Typ migracji
|
migrate_type=Typ migracji
|
||||||
@@ -431,6 +446,7 @@ migrate.clone_address_desc=URL może być adresem HTTP/HTTPS/GIT.
|
|||||||
migrate.clone_address_desc_import_local=Masz także możliwość migracji repozytorium przez ścieżka serwera lokalnego.
|
migrate.clone_address_desc_import_local=Masz także możliwość migracji repozytorium przez ścieżka serwera lokalnego.
|
||||||
migrate.permission_denied=Nie możesz importować lokalnych repozytoriów.
|
migrate.permission_denied=Nie możesz importować lokalnych repozytoriów.
|
||||||
migrate.invalid_local_path=Ścieżka jest niepoprawna. Nie istnieje lub nie jest katalogiem.
|
migrate.invalid_local_path=Ścieżka jest niepoprawna. Nie istnieje lub nie jest katalogiem.
|
||||||
|
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked.
|
||||||
migrate.failed=Migracja nie powiodła się: %v
|
migrate.failed=Migracja nie powiodła się: %v
|
||||||
|
|
||||||
mirror_from=kopia lustrzana
|
mirror_from=kopia lustrzana
|
||||||
@@ -478,6 +494,8 @@ branches.stale_branches=Stare gałęzie
|
|||||||
branches.all=Wszystkie gałęzie
|
branches.all=Wszystkie gałęzie
|
||||||
branches.updated_by=Zaktualizowano %[1]s przez %[2]s
|
branches.updated_by=Zaktualizowano %[1]s przez %[2]s
|
||||||
branches.change_default_branch=Zmiana domyślnej gałęzi
|
branches.change_default_branch=Zmiana domyślnej gałęzi
|
||||||
|
branches.default_deletion_not_allowed=Cannot delete the default branch.
|
||||||
|
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
|
||||||
|
|
||||||
editor.new_file=Nowy plik
|
editor.new_file=Nowy plik
|
||||||
editor.upload_file=Załaduj plik
|
editor.upload_file=Załaduj plik
|
||||||
@@ -514,6 +532,7 @@ editor.file_changed_while_editing=Zawartość pliku została zmieniona od rozpoc
|
|||||||
editor.file_already_exists=Nazwa pliku '%s' już istnieje w tym repozytorium.
|
editor.file_already_exists=Nazwa pliku '%s' już istnieje w tym repozytorium.
|
||||||
editor.no_changes_to_show=Brak zmian do pokazania.
|
editor.no_changes_to_show=Brak zmian do pokazania.
|
||||||
editor.fail_to_update_file=Tworzenie/aktualizacja pliku '%s' nie powiodła się z błędem: %v
|
editor.fail_to_update_file=Tworzenie/aktualizacja pliku '%s' nie powiodła się z błędem: %v
|
||||||
|
editor.fail_to_delete_file=Nie można usunąć pliku '%s' z powodu błędu: %v
|
||||||
editor.add_subdir=Dodaj podkatalog...
|
editor.add_subdir=Dodaj podkatalog...
|
||||||
editor.unable_to_upload_files=Wysyłanie plików do '%s' nie powiodło się z błędem: %v
|
editor.unable_to_upload_files=Wysyłanie plików do '%s' nie powiodło się z błędem: %v
|
||||||
editor.upload_files_to_dir=Prześlij pliki do '%s'
|
editor.upload_files_to_dir=Prześlij pliki do '%s'
|
||||||
@@ -634,6 +653,7 @@ pulls.cannot_auto_merge_desc=Pull request nie może być automatycznie scalony z
|
|||||||
pulls.cannot_auto_merge_helper=Proszę scalić ręcznie, aby rozwiązać konflikty.
|
pulls.cannot_auto_merge_helper=Proszę scalić ręcznie, aby rozwiązać konflikty.
|
||||||
pulls.create_merge_commit=Utwórz scalający commit
|
pulls.create_merge_commit=Utwórz scalający commit
|
||||||
pulls.rebase_before_merging=Rebase przed scaleniem
|
pulls.rebase_before_merging=Rebase przed scaleniem
|
||||||
|
pulls.commit_description=Opis commitu
|
||||||
pulls.merge_pull_request=Scal Pull Request
|
pulls.merge_pull_request=Scal Pull Request
|
||||||
pulls.open_unmerged_pull_exists=`Nie można otworzyć ponownie ponieważ już istnieje gotowy do scalenia pull request (#%d) z tego samego repozytorium z tymi samymi informacjami.`
|
pulls.open_unmerged_pull_exists=`Nie można otworzyć ponownie ponieważ już istnieje gotowy do scalenia pull request (#%d) z tego samego repozytorium z tymi samymi informacjami.`
|
||||||
pulls.delete_branch=Usuń gałąź
|
pulls.delete_branch=Usuń gałąź
|
||||||
@@ -738,7 +758,7 @@ settings.tracker_issue_style=Styl nazw zewnętrznego systemu zgłaszania problem
|
|||||||
settings.tracker_issue_style.numeric=Numeryczny
|
settings.tracker_issue_style.numeric=Numeryczny
|
||||||
settings.tracker_issue_style.alphanumeric=Alfanumeryczne
|
settings.tracker_issue_style.alphanumeric=Alfanumeryczne
|
||||||
settings.tracker_url_format_desc=Symbole zastępcze <code>{user} {repo} {index}</code> mogą być użyte dla nazwy użytkownika, nazwy repozytorium i numeru problemu.
|
settings.tracker_url_format_desc=Symbole zastępcze <code>{user} {repo} {index}</code> mogą być użyte dla nazwy użytkownika, nazwy repozytorium i numeru problemu.
|
||||||
settings.pulls_desc=Włącz obsługę pull request, aby akceptować publiczny wkład
|
settings.pulls_desc=Włącz żądania pobierania, aby akceptować wkład pomiędzy repozytoriami i gałęziami
|
||||||
settings.pulls.ignore_whitespace=Ignoruj zmiany w białych znakach
|
settings.pulls.ignore_whitespace=Ignoruj zmiany w białych znakach
|
||||||
settings.pulls.allow_rebase_merge=Zezwalaj na użycie rebase do scalenia commitów
|
settings.pulls.allow_rebase_merge=Zezwalaj na użycie rebase do scalenia commitów
|
||||||
settings.danger_zone=Strefa niebezpieczeństwa
|
settings.danger_zone=Strefa niebezpieczeństwa
|
||||||
@@ -761,7 +781,7 @@ settings.wiki_deletion_success=Dane wiki zostały usunięte.
|
|||||||
settings.delete=Usuń to repozytorium
|
settings.delete=Usuń to repozytorium
|
||||||
settings.delete_desc=Po usunięciu repozytorium nie ma odwrotu. Upewnij się, że tego chcesz.
|
settings.delete_desc=Po usunięciu repozytorium nie ma odwrotu. Upewnij się, że tego chcesz.
|
||||||
settings.delete_notices_1=- Ta operacja <strong>NIE MOŻE</strong> zostać cofnięta.
|
settings.delete_notices_1=- Ta operacja <strong>NIE MOŻE</strong> zostać cofnięta.
|
||||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
settings.delete_notices_2=- Ta operacja trwale usunie wszystko z tego repozytorium, w tym dane Git, problemy, komentarze i dostęp dla współpracowników.
|
||||||
settings.delete_notices_fork_1=Wszystkie forki staną się niezależne po usunięciu.
|
settings.delete_notices_fork_1=Wszystkie forki staną się niezależne po usunięciu.
|
||||||
settings.deletion_success=Repozytorium zostało pomyślnie usunięte!
|
settings.deletion_success=Repozytorium zostało pomyślnie usunięte!
|
||||||
settings.update_settings_success=Opcje repozytorium zostały pomyślnie zaktualizowane.
|
settings.update_settings_success=Opcje repozytorium zostały pomyślnie zaktualizowane.
|
||||||
@@ -777,8 +797,10 @@ settings.collaborator_deletion_desc=Ten użytkownik nie będzie miał dostępu w
|
|||||||
settings.remove_collaborator_success=Współpracownik został usunięty.
|
settings.remove_collaborator_success=Współpracownik został usunięty.
|
||||||
settings.search_user_placeholder=Szukaj użytkownika...
|
settings.search_user_placeholder=Szukaj użytkownika...
|
||||||
settings.org_not_allowed_to_be_collaborator=Organizacji nie można dodać jako współpracownika.
|
settings.org_not_allowed_to_be_collaborator=Organizacji nie można dodać jako współpracownika.
|
||||||
settings.add_webhook=Dodaj webhooka
|
|
||||||
settings.hooks_desc=Webooki działają tak jak proste wywołania HTTP POST. Jeśli cokolwiek zdarzy się w Gogs, wyślemy powiadomienie do wybranego hosta. Więcej informacji można znaleźć w <a target="_blank" href="%s">przewodniku webhooków</a>.
|
settings.hooks_desc=Webooki działają tak jak proste wywołania HTTP POST. Jeśli cokolwiek zdarzy się w Gogs, wyślemy powiadomienie do wybranego hosta. Więcej informacji można znaleźć w <a target="_blank" href="%s">przewodniku webhooków</a>.
|
||||||
|
settings.webhooks.add_new=Add a new webhook:
|
||||||
|
settings.webhooks.choose_a_type=Wybierz typ...
|
||||||
|
settings.add_webhook=Dodaj webhooka
|
||||||
settings.webhook_deletion=Usuń webhooka
|
settings.webhook_deletion=Usuń webhooka
|
||||||
settings.webhook_deletion_desc=Usunięcie tego webooka spowoduje usunięcie powiązanych informacji i wpisów w historii. Czy chcesz kontynuować?
|
settings.webhook_deletion_desc=Usunięcie tego webooka spowoduje usunięcie powiązanych informacji i wpisów w historii. Czy chcesz kontynuować?
|
||||||
settings.webhook_deletion_success=Webhook został pomyślnie usunięty!
|
settings.webhook_deletion_success=Webhook został pomyślnie usunięty!
|
||||||
@@ -792,6 +814,8 @@ settings.webhook.response=Odpowiedź
|
|||||||
settings.webhook.headers=Nagłówki
|
settings.webhook.headers=Nagłówki
|
||||||
settings.webhook.payload=Zawartość
|
settings.webhook.payload=Zawartość
|
||||||
settings.webhook.body=Treść
|
settings.webhook.body=Treść
|
||||||
|
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
|
||||||
|
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked.
|
||||||
settings.githooks_desc=Hooki Git są obsługiwane bezpośrednio przez Git. Pliki obsługiwanych hooków z poniższej listy mogą być edytowane, aby wykonywać niestandardowe operacje.
|
settings.githooks_desc=Hooki Git są obsługiwane bezpośrednio przez Git. Pliki obsługiwanych hooków z poniższej listy mogą być edytowane, aby wykonywać niestandardowe operacje.
|
||||||
settings.githook_edit_desc=Jeśli hook jest nieaktywny, zaprezentowana zostanie przykładowa treść. Pozostawienie pustej wartości wyłączy ten hook.
|
settings.githook_edit_desc=Jeśli hook jest nieaktywny, zaprezentowana zostanie przykładowa treść. Pozostawienie pustej wartości wyłączy ten hook.
|
||||||
settings.githook_name=Nazwa hooka
|
settings.githook_name=Nazwa hooka
|
||||||
@@ -819,10 +843,10 @@ settings.event_push=Wypchnięcie
|
|||||||
settings.event_push_desc=Wypchnięcie (push) do repozytorium Git
|
settings.event_push_desc=Wypchnięcie (push) do repozytorium Git
|
||||||
settings.event_issues=Zagadnienia
|
settings.event_issues=Zagadnienia
|
||||||
settings.event_issues_desc=Zagadnienie otwarte, zamknięte, ponownie otwarte, wyedytowane, przypisane, nieprzypisane, etykieta uaktualniona, etykieta wyczyszczona, kamień milowy, kamień milowy usunięty.
|
settings.event_issues_desc=Zagadnienie otwarte, zamknięte, ponownie otwarte, wyedytowane, przypisane, nieprzypisane, etykieta uaktualniona, etykieta wyczyszczona, kamień milowy, kamień milowy usunięty.
|
||||||
settings.event_issue_comment=Komentarz zagadnienia
|
|
||||||
settings.event_issue_comment_desc=Komentarz zagadnienia utworzony, wyedytowany lub usunięty.
|
|
||||||
settings.event_pull_request=Pull Request
|
settings.event_pull_request=Pull Request
|
||||||
settings.event_pull_request_desc=Pull request otwarty, zamknięty, ponownie otwarty, edytowany, przypisany, nieprzypisany, etykieta zaktualizowana, etykieta wyczyszczona, kamień milowy, kamień milowy wyczyszczony; lub zsynchronizowany.
|
settings.event_pull_request_desc=Pull request otwarty, zamknięty, ponownie otwarty, edytowany, przypisany, nieprzypisany, etykieta zaktualizowana, etykieta wyczyszczona, kamień milowy, kamień milowy wyczyszczony; lub zsynchronizowany.
|
||||||
|
settings.event_issue_comment=Komentarz zagadnienia
|
||||||
|
settings.event_issue_comment_desc=Komentarz zagadnienia utworzony, wyedytowany lub usunięty.
|
||||||
settings.event_release=Wydanie
|
settings.event_release=Wydanie
|
||||||
settings.event_release_desc=Wydanie opublikowane w repozytorium.
|
settings.event_release_desc=Wydanie opublikowane w repozytorium.
|
||||||
settings.active=Aktywny
|
settings.active=Aktywny
|
||||||
@@ -852,6 +876,8 @@ settings.add_key_success=Nowy klucz wdrożenia '%s' został pomyślnie dodany!
|
|||||||
settings.deploy_key_deletion=Utwórz klucz wdrożenia
|
settings.deploy_key_deletion=Utwórz klucz wdrożenia
|
||||||
settings.deploy_key_deletion_desc=Usunięcie tego klucza wdrożenia spowoduje usunięcie powiązanego dostępu do tego repozytorium. Czy chcesz kontynuować?
|
settings.deploy_key_deletion_desc=Usunięcie tego klucza wdrożenia spowoduje usunięcie powiązanego dostępu do tego repozytorium. Czy chcesz kontynuować?
|
||||||
settings.deploy_key_deletion_success=Klucz wdrożenia został pomyślnie usunięty!
|
settings.deploy_key_deletion_success=Klucz wdrożenia został pomyślnie usunięty!
|
||||||
|
settings.description_desc=Opis repozytorium. Maksymalnie 512 znaków.
|
||||||
|
settings.description_length=Dostępne znaki
|
||||||
|
|
||||||
diff.browse_source=Przeglądaj źródła
|
diff.browse_source=Przeglądaj źródła
|
||||||
diff.parent=rodzic
|
diff.parent=rodzic
|
||||||
@@ -916,9 +942,8 @@ team_name_helper=Będziesz używał tej nazwy do wywoływania tego zespołu w dy
|
|||||||
team_desc_helper=Czym zajmuje się ten zespół?
|
team_desc_helper=Czym zajmuje się ten zespół?
|
||||||
team_permission_desc=Jaki poziom uprawnień powinien mieć ten zespół?
|
team_permission_desc=Jaki poziom uprawnień powinien mieć ten zespół?
|
||||||
|
|
||||||
form.name_reserved=Nazwa organizacji „%s” jest zarezerwowana.
|
form.name_not_allowed=Organization name or pattern %q is not allowed.
|
||||||
form.name_pattern_not_allowed=Wzorzec nazwy organizacji „%s” jest niedozwolony.
|
form.team_name_not_allowed=Team name or pattern %q is not allowed.
|
||||||
form.team_name_reserved=Nazwa zespołu '%s' jest zarezerwowana.
|
|
||||||
|
|
||||||
settings=Ustawienia
|
settings=Ustawienia
|
||||||
settings.options=Opcje
|
settings.options=Opcje
|
||||||
@@ -990,12 +1015,19 @@ first_page=Pierwsza
|
|||||||
last_page=Ostatnia
|
last_page=Ostatnia
|
||||||
total=Ogółem: %d
|
total=Ogółem: %d
|
||||||
|
|
||||||
|
dashboard.build_info=Informacje o kompilacji
|
||||||
|
dashboard.app_ver=Wersja aplikacji
|
||||||
|
dashboard.git_version=Wersja Git
|
||||||
|
dashboard.go_version=Wersja Go
|
||||||
|
dashboard.build_time=Data kompilacji
|
||||||
|
dashboard.build_commit=Zbuduj commit
|
||||||
dashboard.statistic=Statystyki
|
dashboard.statistic=Statystyki
|
||||||
dashboard.operations=Operacje
|
dashboard.operations=Operacje
|
||||||
dashboard.system_status=Stan monitora systemu
|
dashboard.system_status=Stan monitora systemu
|
||||||
dashboard.statistic_info=Baza danych Gogs zawiera <b>%d</b> użytkowników, <b>%d</b> organizacji, <b>%d</b> kluczy publicznych, <b>%d</b> repozytoriów, <b>%d</b> obserwujących, <b>%d</b> polubionych, <b>%d</b> akcji, <b>%d</b> tokenów, <b>%d</b> problemów, <b>%d</b> komenatrzy, <b>%d</b> kont społecznościowych, <b>%d</b> obserwacji, <b>%d</b> mirrorów, <b>%d</b> wydań, <b>%d</b> login sources, <b>%d</b> webhooków, <b>%d</b> kamieni milowych, <b>%d</b> labels, <b>%d</b> zadań hooków, <b>%d</b> zespołów, <b>%d</b> zadań aktualizacji, <b>%d</b> załączników.
|
dashboard.statistic_info=Baza danych Gogs zawiera <b>%d</b> użytkowników, <b>%d</b> organizacji, <b>%d</b> kluczy publicznych, <b>%d</b> repozytoriów, <b>%d</b> obserwujących, <b>%d</b> polubionych, <b>%d</b> akcji, <b>%d</b> tokenów, <b>%d</b> problemów, <b>%d</b> komenatrzy, <b>%d</b> kont społecznościowych, <b>%d</b> obserwacji, <b>%d</b> mirrorów, <b>%d</b> wydań, <b>%d</b> login sources, <b>%d</b> webhooków, <b>%d</b> kamieni milowych, <b>%d</b> labels, <b>%d</b> zadań hooków, <b>%d</b> zespołów, <b>%d</b> zadań aktualizacji, <b>%d</b> załączników.
|
||||||
dashboard.operation_name=Nazwa operacji
|
dashboard.operation_name=Nazwa operacji
|
||||||
dashboard.operation_switch=Przełącz
|
dashboard.operation_switch=Przełącz
|
||||||
|
dashboard.select_operation_to_run=Wybierz operację do uruchomienia
|
||||||
dashboard.operation_run=Uruchom
|
dashboard.operation_run=Uruchom
|
||||||
dashboard.clean_unbind_oauth=Usuń niepowiązane wpisy OAuth
|
dashboard.clean_unbind_oauth=Usuń niepowiązane wpisy OAuth
|
||||||
dashboard.clean_unbind_oauth_success=Wszystkie niepowiązane wpisy OAuth zostały pomyślnie usunięte.
|
dashboard.clean_unbind_oauth_success=Wszystkie niepowiązane wpisy OAuth zostały pomyślnie usunięte.
|
||||||
@@ -1087,11 +1119,12 @@ repos.stars=Polubienia
|
|||||||
repos.issues=Problemy
|
repos.issues=Problemy
|
||||||
repos.size=Rozmiar
|
repos.size=Rozmiar
|
||||||
|
|
||||||
auths.auth_manage_panel=Panel zarządzania uwierzytelnianiem
|
auths.auth_sources=Źródła uwierzytelniania
|
||||||
auths.new=Dodaj nowe źródło
|
auths.new=Dodaj nowe źródło
|
||||||
auths.name=Nazwa
|
auths.name=Nazwa
|
||||||
auths.type=Typ
|
auths.type=Typ
|
||||||
auths.enabled=Włączono
|
auths.enabled=Włączono
|
||||||
|
auths.default=Domyślne
|
||||||
auths.updated=Zaktualizowano
|
auths.updated=Zaktualizowano
|
||||||
auths.auth_type=Typ uwierzytelniania
|
auths.auth_type=Typ uwierzytelniania
|
||||||
auths.auth_name=Nazwa uwierzytelniania
|
auths.auth_name=Nazwa uwierzytelniania
|
||||||
@@ -1128,9 +1161,9 @@ auths.enable_tls=Włącz szyfrowanie TLS
|
|||||||
auths.skip_tls_verify=Pomiń weryfikację protokołu TLS
|
auths.skip_tls_verify=Pomiń weryfikację protokołu TLS
|
||||||
auths.pam_service_name=Nazwa usługi PAM
|
auths.pam_service_name=Nazwa usługi PAM
|
||||||
auths.enable_auto_register=Włącz automatyczną rejestrację
|
auths.enable_auto_register=Włącz automatyczną rejestrację
|
||||||
auths.tips=Wskazówki
|
|
||||||
auths.edit=Edytuj ustawienia uwierzytelniania
|
auths.edit=Edytuj ustawienia uwierzytelniania
|
||||||
auths.activated=To uwierzytelnienie zostało aktywowane
|
auths.activated=To uwierzytelnienie zostało aktywowane
|
||||||
|
auths.default_auth=To uwierzytelnianie jest domyślnym źródłem logowania
|
||||||
auths.new_success=Pomyślnie dodano nowe uwierzytelnianie '%s'.
|
auths.new_success=Pomyślnie dodano nowe uwierzytelnianie '%s'.
|
||||||
auths.update_success=Ustawienia uwierzytelnienia zostały zaktualizowane pomyślnie.
|
auths.update_success=Ustawienia uwierzytelnienia zostały zaktualizowane pomyślnie.
|
||||||
auths.update=Aktualizuj ustawienia uwierzytelniania
|
auths.update=Aktualizuj ustawienia uwierzytelniania
|
||||||
@@ -1140,120 +1173,186 @@ auths.delete_auth_desc=To uwierzytelnienie zostanie usunięte, czy chcesz kontyn
|
|||||||
auths.still_in_used=Ten rodzaj autentykacji jest wciąż wykorzystywany przez niektórych użytkowników. Usuń lub przekonwertuj użytkowników, aby wykorzystywali inny typ logowania.
|
auths.still_in_used=Ten rodzaj autentykacji jest wciąż wykorzystywany przez niektórych użytkowników. Usuń lub przekonwertuj użytkowników, aby wykorzystywali inny typ logowania.
|
||||||
auths.deletion_success=Uwierzytelnienie zostało usunięte pomyślnie!
|
auths.deletion_success=Uwierzytelnienie zostało usunięte pomyślnie!
|
||||||
auths.login_source_exist=Login '%s' już istnieje.
|
auths.login_source_exist=Login '%s' już istnieje.
|
||||||
|
auths.github_api_endpoint=Punkt końcowy API
|
||||||
|
|
||||||
config.not_set=(nie ustawiono)
|
config.not_set=(nie ustawiono)
|
||||||
config.server_config=Konfiguracja serwera
|
config.server_config=Konfiguracja serwera
|
||||||
config.app_name=Nazwa aplikacji
|
config.brand_name=Nazwa marki
|
||||||
config.app_ver=Wersja aplikacji
|
|
||||||
config.app_url=Adres URL aplikacji
|
|
||||||
config.domain=Domena
|
|
||||||
config.offline_mode=Tryb offline
|
|
||||||
config.disable_router_log=Wyłącz dziennik routera
|
|
||||||
config.run_user=Użytkownik uruchomieniowy
|
config.run_user=Użytkownik uruchomieniowy
|
||||||
config.run_mode=Tryb uruchamienia
|
config.run_mode=Tryb uruchamienia
|
||||||
config.git_version=Wersja Git
|
config.server.external_url=Zewnętrzny URL
|
||||||
config.static_file_root_path=Ścieżka plików statycznych
|
config.server.domain=Domena
|
||||||
config.log_file_root_path=Ścieżka plików dziennika
|
config.server.protocol=Protokół
|
||||||
config.reverse_auth_user=Użytkownik dostarczony przez odwrotne proxy
|
config.server.http_addr=Adres HTTP
|
||||||
|
config.server.http_port=Port HTTP
|
||||||
|
config.server.cert_file=Pliki certyfikatu
|
||||||
|
config.server.key_file=Plik klucza
|
||||||
|
config.server.tls_min_version=Minimalna wersja TLS
|
||||||
|
config.server.unix_socket_permission=Unix socket permission
|
||||||
|
config.server.local_root_url=Lokalny główny adres URL
|
||||||
|
config.server.offline_mode=Tryb offline
|
||||||
|
config.server.disable_router_log=Wyłącz dziennik routera
|
||||||
|
config.server.enable_gzip=Włącz Gzip
|
||||||
|
config.server.app_data_path=Ścieżka danych aplikacji
|
||||||
|
config.server.load_assets_from_disk=Wczytaj zasoby z dysku
|
||||||
|
config.server.landing_url=Landing URL
|
||||||
|
|
||||||
config.ssh_config=Konfiguracja SSH
|
config.ssh_config=Konfiguracja SSH
|
||||||
config.ssh_enabled=Aktywne
|
config.ssh.enabled=Aktywne
|
||||||
config.ssh_start_builtin_server=Uruchom serwer wbudowany
|
config.ssh.domain=Exposed domain
|
||||||
config.ssh_domain=Domena
|
config.ssh.port=Exposed port
|
||||||
config.ssh_port=Port
|
config.ssh.root_path=Ścieżka katalogu głównego
|
||||||
config.ssh_listen_port=Port nasłuchu
|
config.ssh.keygen_path=Keygen path
|
||||||
config.ssh_root_path=Ścieżka katalogu głównego
|
config.ssh.key_test_path=Key test path
|
||||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
config.ssh.minimum_key_size_check=Minimum key size check
|
||||||
config.ssh_key_test_path=Ścieżka klucza testowego
|
config.ssh.minimum_key_sizes=Minimum key sizes
|
||||||
config.ssh_keygen_path=Ścieżka generatora ('ssh-keygen')
|
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
|
||||||
config.ssh_minimum_key_size_check=Sprawdzanie minimalnej długości klucza
|
config.ssh.start_builtin_server=Uruchom wbudowany serwer
|
||||||
config.ssh_minimum_key_sizes=Minimalne rozmiary kluczy
|
config.ssh.listen_host=Listen host
|
||||||
|
config.ssh.listen_port=Port nasłuchu
|
||||||
|
config.ssh.server_ciphers=Server ciphers
|
||||||
|
config.ssh.server_macs=Server MACs
|
||||||
|
config.ssh.server_algorithms=Server algorithms
|
||||||
|
|
||||||
config.repo_config=Konfiguracja repozytorium
|
config.repo_config=Konfiguracja repozytorium
|
||||||
config.repo_root_path=Ścieżka repozytoriów
|
config.repo.root_path=Ścieżka katalogu głównego
|
||||||
config.script_type=Typ skryptu
|
config.repo.script_type=Typ skryptu
|
||||||
config.repo_force_private=Forsuj tryb prywatny
|
config.repo.ansi_chatset=Zestaw znaków ANSI
|
||||||
config.max_creation_limit=Maksymalny limit utworzeń
|
config.repo.force_private=Wymuś tryb prywatny
|
||||||
config.preferred_licenses=Preferowane licencje
|
config.repo.max_creation_limit=Max creation limit
|
||||||
config.disable_http_git=Wyłącz HTTP Git
|
config.repo.preferred_licenses=Wybrana licencja
|
||||||
config.enable_local_path_migration=Włącz lokalną ścieżkę migracji
|
config.repo.disable_http_git=Wyłącz Git przez HTTP
|
||||||
config.commits_fetch_concurrency=Pobieraj zmiany w trybie równoległym
|
config.repo.enable_local_path_migration=Enable local path migration
|
||||||
|
config.repo.enable_raw_file_render_mode=Enable raw file render mode
|
||||||
config.http_config=Konfiguracja HTTP
|
config.repo.commits_fetch_concurrency=Commits fetch concurrency
|
||||||
config.http_access_control_allow_origin=Kontrola Dostępu Uwzględnia Źródło
|
config.repo.editor.line_wrap_extensions=Editor line wrap extensions
|
||||||
|
config.repo.editor.previewable_file_modes=Editor previewable file modes
|
||||||
|
config.repo.upload.enabled=Upload enabled
|
||||||
|
config.repo.upload.temp_path=Upload temporary path
|
||||||
|
config.repo.upload.allowed_types=Upload allowed types
|
||||||
|
config.repo.upload.file_max_size=Upload file size limit
|
||||||
|
config.repo.upload.max_files=Upload files limit
|
||||||
|
|
||||||
config.db_config=Konfiguracja bazy danych
|
config.db_config=Konfiguracja bazy danych
|
||||||
config.db_type=Typ
|
config.db.type=Typ
|
||||||
config.db_host=Host
|
config.db.host=Host
|
||||||
config.db_name=Nazwa
|
config.db.name=Nazwa
|
||||||
config.db_user=Użytkownik
|
config.db.schema=Schema
|
||||||
config.db_ssl_mode=Tryb SSL
|
config.db.schema_helper=(for "postgres" only)
|
||||||
config.db_ssl_mode_helper=(tylko dla „postgres”)
|
config.db.user=Użytkownik
|
||||||
config.db_path=Ścieżka
|
config.db.ssl_mode=Tryb SSL
|
||||||
config.db_path_helper=(dla „sqlite3” i „tidb”)
|
config.db.ssl_mode_helper=(for "postgres" only)
|
||||||
|
config.db.path=Ścieżka
|
||||||
|
config.db.path_helper=(for "sqlite3"only)
|
||||||
|
config.db.max_open_conns=Maximum open connections
|
||||||
|
config.db.max_idle_conns=Maximum idle connections
|
||||||
|
|
||||||
config.service_config=Konfiguracja usługi
|
config.security_config=Security configuration
|
||||||
config.register_email_confirm=Wymagaj potwierdzenia e-mail
|
config.security.login_remember_days=Login remember days
|
||||||
config.disable_register=Wyłącz rejestrację
|
config.security.cookie_remember_name=Pamiętaj pliki cookies
|
||||||
config.show_registration_button=Pokazuj przycisk rejestracji
|
config.security.cookie_username=Username cookie
|
||||||
config.require_sign_in_view=Wymagaj bycia zalogowanym
|
config.security.cookie_secure=Enable secure cookie
|
||||||
config.mail_notify=Powiadomienia e-mail
|
config.security.reverse_proxy_auth_user=Reverse proxy authentication header
|
||||||
config.disable_key_size_check=Wyłącz sprawdzanie minimalnego rozmiaru klucza
|
config.security.enable_login_status_cookie=Enable login status cookie
|
||||||
config.enable_captcha=Włącz Captcha
|
config.security.login_status_cookie_name=Login status cookie
|
||||||
config.active_code_lives=Ważność kodów aktywacyjnych
|
config.security.local_network_allowlist=Local network allowlist
|
||||||
config.reset_password_code_lives=Czas życia kodu resetowania hasła
|
|
||||||
|
|
||||||
config.webhook_config=Konfiguracja webhooka
|
config.email_config=Konfiguracja E-mail
|
||||||
config.queue_length=Długość kolejki
|
config.email.enabled=Włączono
|
||||||
config.deliver_timeout=Limit czasu zdarzenia
|
config.email.subject_prefix=Subject prefix
|
||||||
config.skip_tls_verify=Pomiń weryfikację protokołu TLS
|
config.email.host=Host
|
||||||
|
config.email.from=Od
|
||||||
|
config.email.user=Użytkownik
|
||||||
|
config.email.disable_helo=Wyłącz HELO
|
||||||
|
config.email.helo_hostname=HELO hostname
|
||||||
|
config.email.skip_verify=Pomiń weryfikację certyfikatu
|
||||||
|
config.email.use_certificate=Use custom certificate
|
||||||
|
config.email.cert_file=Certificate file
|
||||||
|
config.email.key_file=Plik klucza
|
||||||
|
config.email.use_plain_text=Użyj zwykłego tekstu
|
||||||
|
config.email.add_plain_text_alt=Dodaj prosty tekst alternatywny
|
||||||
|
config.email.send_test_mail=Wyślij wiadomość testową
|
||||||
|
config.email.test_mail_failed=Nie udało się wysłać wiadomości testowej do '%s': %v
|
||||||
|
config.email.test_mail_sent=Wiadomość testowa została wysłana do '%s'.
|
||||||
|
|
||||||
config.mailer_config=Konfiguracja poczty
|
config.auth_config=Konfiguracja uwierzytelniania
|
||||||
config.mailer_enabled=Aktywne
|
config.auth_custom_logout_url=Custom logout URL
|
||||||
config.mailer_disable_helo=Wyłącz HELO
|
config.auth.activate_code_lives=Activate code lives
|
||||||
config.mailer_subject_prefix=Subject Prefix
|
config.auth.reset_password_code_lives=Reset password code lives
|
||||||
config.mailer_host=Host
|
config.auth.require_email_confirm=Wymagaj potwierdzenia adresu e-mail
|
||||||
config.mailer_user=Użytkownik
|
config.auth.require_sign_in_view=Require sign in view
|
||||||
config.send_test_mail=Wyślij email testowy
|
config.auth.disable_registration=Wyłącz rejestrację
|
||||||
config.test_mail_failed=Nieudane wysłanie wiadomości email do '%s': %v
|
config.auth.enable_registration_captcha=Enable registration captcha
|
||||||
config.test_mail_sent=Testowa wiadomość email została wysłana do '%s'.
|
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
|
||||||
|
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
|
||||||
|
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
|
||||||
|
|
||||||
config.oauth_config=Konfiguracja OAuth
|
config.user_config=Konfiguracja użytkownika
|
||||||
config.oauth_enabled=Aktywne
|
config.user.enable_email_notify=Enable email notification
|
||||||
|
|
||||||
config.cache_config=Konfiguracja cache
|
|
||||||
config.cache_adapter=Adapter cache
|
|
||||||
config.cache_interval=Interwał pamięci podręcznej
|
|
||||||
config.cache_conn=Połączenie z pamięcią podręczną
|
|
||||||
|
|
||||||
config.session_config=Konfiguracja sesji
|
config.session_config=Konfiguracja sesji
|
||||||
config.session_provider=Dostawca sesji
|
config.session.provider=Dostawca
|
||||||
config.provider_config=Konfiguracja dostawcy
|
config.session.provider_config=Provider config
|
||||||
config.cookie_name=Nazwa ciasteczka
|
config.session.cookie_name=Ciasteczka
|
||||||
config.enable_set_cookie=Włącz ciasteczka
|
config.session.https_only=Tylko HTTPS
|
||||||
config.gc_interval_time=Interwał odśmiecania
|
config.session.gc_interval=Interwał GC
|
||||||
config.session_life_time=Czas życia sesji
|
config.session.max_life_time=Maksymalny czas życia
|
||||||
config.https_only=Tylko HTTPS
|
config.session.csrf_cookie_name=CSRF cookie
|
||||||
config.cookie_life_time=Czas życia ciasteczka
|
|
||||||
|
config.cache_config=Konfiguracja cache
|
||||||
|
config.cache.adapter=Adapter
|
||||||
|
config.cache.interval=GC interval
|
||||||
|
config.cache.host=Host
|
||||||
|
|
||||||
|
config.http_config=Konfiguracja HTTP
|
||||||
|
config.http.access_control_allow_origin=Access control allow origin
|
||||||
|
|
||||||
|
config.attachment_config=Attachment configuration
|
||||||
|
config.attachment.enabled=Włączono
|
||||||
|
config.attachment.path=Ścieżka
|
||||||
|
config.attachment.allowed_types=Dozwolone typy
|
||||||
|
config.attachment.max_size=Limit rozmiaru
|
||||||
|
config.attachment.max_files=Limit plików
|
||||||
|
|
||||||
|
config.release_config=Konfiguracja wydania
|
||||||
|
config.release.attachment.enabled=Attachment enabled
|
||||||
|
config.release.attachment.allowed_types=Attachment allowed types
|
||||||
|
config.release.attachment.max_size=Attachment size limit
|
||||||
|
config.release.attachment.max_files=Attachment files limit
|
||||||
|
|
||||||
config.picture_config=Ustawienia obrazów
|
config.picture_config=Ustawienia obrazów
|
||||||
config.picture_service=Serwis obrazów
|
config.picture.avatar_upload_path=User avatar upload path
|
||||||
config.disable_gravatar=Wyłącz Gravatara
|
config.picture.repo_avatar_upload_path=Repository avatar upload path
|
||||||
config.enable_federated_avatar=Włącz zewnętrzne avatary
|
config.picture.gravatar_source=Źródło Gravatar
|
||||||
|
config.picture.disable_gravatar=Wyłącz Gravatar
|
||||||
|
config.picture.enable_federated_avatar=Enable federated avatars
|
||||||
|
|
||||||
|
config.mirror_config=Konfiguracja serwera lustrzanego
|
||||||
|
config.mirror.default_interval=Domyślny interwał
|
||||||
|
|
||||||
|
config.webhook_config=Konfiguracja webhooka
|
||||||
|
config.webhook.types=Typy
|
||||||
|
config.webhook.deliver_timeout=Deliver timeout
|
||||||
|
config.webhook.skip_tls_verify=Pomiń weryfikację TLS
|
||||||
|
|
||||||
config.git_config=Konfiguracja Git
|
config.git_config=Konfiguracja Git
|
||||||
config.git_disable_diff_highlight=Wyłączyć wyróżnianie składni diff
|
config.git.disable_diff_highlight=Disable diff syntax highlight
|
||||||
config.git_max_diff_lines=Maksymalna ilość linii diff (dla pojedynczego pliku)
|
config.git.max_diff_lines=Diff lines limit (for a single file)
|
||||||
config.git_max_diff_line_characters=Maksymalna ilość znaków diff (dla pojedynczego pliku)
|
config.git.max_diff_line_characters=Diff characters limit (for a single line)
|
||||||
config.git_max_diff_files=Maksymalna ilość plików diff (które zostaną wyświetlone)
|
config.git.max_diff_files=Diff files limit (for a single diff)
|
||||||
config.git_gc_args=Argumenty GC
|
config.git.gc_args=Argumenty GC
|
||||||
config.git_migrate_timeout=Limit czasu migracji
|
config.git.migrate_timeout=Limit czasu migracji
|
||||||
config.git_mirror_timeout=Limit czasu aktualizacji kopii lustrzanej
|
config.git.mirror_timeout=Mirror fetch timeout
|
||||||
config.git_clone_timeout=Limit czasu operacji klonowania
|
config.git.clone_timeout=Clone timeout
|
||||||
config.git_pull_timeout=Limit czasu dla operacji pull
|
config.git.pull_timeout=Pull timeout
|
||||||
config.git_gc_timeout=Limit czasu odśmiecania pamięci
|
config.git.gc_timeout=GC timeout
|
||||||
|
|
||||||
|
config.lfs_config=LFS configuration
|
||||||
|
config.lfs.storage=Magazyn
|
||||||
|
config.lfs.objects_path=Ścieżka obiektów
|
||||||
|
|
||||||
config.log_config=Konfiguracja dziennika
|
config.log_config=Konfiguracja dziennika
|
||||||
|
config.log_file_root_path=Ścieżka plików dziennika
|
||||||
config.log_mode=Tryb
|
config.log_mode=Tryb
|
||||||
config.log_options=Ustawienia
|
config.log_options=Ustawienia
|
||||||
|
|
||||||
@@ -1284,7 +1383,6 @@ notices.delete_success=Powiadomienia systemowe zostały pomyślnie usunięte.
|
|||||||
|
|
||||||
[action]
|
[action]
|
||||||
create_repo=tworzy repozytorium <a href="%s">%s</a>
|
create_repo=tworzy repozytorium <a href="%s">%s</a>
|
||||||
fork_repo=rozwidlone repozytorium do <a href="%s"> %s</a>
|
|
||||||
rename_repo=zmienia nazwę repozytorium <code>%[1]s</code> na <a href="%[2]s">%[3]s</a>
|
rename_repo=zmienia nazwę repozytorium <code>%[1]s</code> na <a href="%[2]s">%[3]s</a>
|
||||||
commit_repo=wypycha do <a href="%[1]s/src/%[2]s">%[3]s</a> w <a href="%[1]s">%[4]s</a>
|
commit_repo=wypycha do <a href="%[1]s/src/%[2]s">%[3]s</a> w <a href="%[1]s">%[4]s</a>
|
||||||
compare_commits=Zobacz porównanie tych %d commitów
|
compare_commits=Zobacz porównanie tych %d commitów
|
||||||
@@ -1301,6 +1399,10 @@ create_branch=stworzył nową gałąź <a href="%[1]s/src/%[2]s">%[3]s</a> at <a
|
|||||||
delete_branch=usunął gałąź <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
delete_branch=usunął gałąź <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||||
push_tag=taguje <a href="%s/src/%s">%[2]s</a> w <a href="%[1]s">%[3]s</a>
|
push_tag=taguje <a href="%s/src/%s">%[2]s</a> w <a href="%[1]s">%[3]s</a>
|
||||||
delete_tag=usunięty tag <code>%[2]s</code> % <a href="%[1]s">[3]s</a>
|
delete_tag=usunięty tag <code>%[2]s</code> % <a href="%[1]s">[3]s</a>
|
||||||
|
fork_repo=rozwidlone repozytorium do <a href="%s"> %s</a>
|
||||||
|
mirror_sync_push=zsynchronizowano commit z <a href="%[1]s/src/%[2]s">%[3]s</a> na <a href="%[1]s">%[4]s</a> z kopii lustrzanej
|
||||||
|
mirror_sync_create=zsynchronizowano nowy odnośnik <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> z mirrora
|
||||||
|
mirror_sync_delete=zsynchronizowano i usunięto odnośnik <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> z mirrora
|
||||||
|
|
||||||
[tool]
|
[tool]
|
||||||
ago=temu
|
ago=temu
|
||||||
@@ -1322,6 +1424,7 @@ months=%d miesięcy %s
|
|||||||
years=%d lat %s
|
years=%d lat %s
|
||||||
raw_seconds=sekund
|
raw_seconds=sekund
|
||||||
raw_minutes=minut
|
raw_minutes=minut
|
||||||
|
raw_hours=godziny
|
||||||
|
|
||||||
[dropzone]
|
[dropzone]
|
||||||
default_message=Upuść pliki tutaj lub kliknij, aby przesłać.
|
default_message=Upuść pliki tutaj lub kliknij, aby przesłać.
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user