Compare commits

...

357 Commits

Author SHA1 Message Date
unknwon
c154721f4a Bump version 2019-08-11 18:59:46 -07:00
unknwon
48cdae2829 Dockerfile: always use alpine:latest (#5714) 2019-08-10 20:23:18 -07:00
Atsushi Midorikawa
9571a9b53d docker: change how to check whether initial or not (#5766) 2019-08-10 20:05:11 -07:00
unknwon
f1e0ebfe93 routes/api/v1: codemod 2019-08-10 13:40:48 -07:00
unknwon
c7ba519af2 routes/api/v1: codemod 2019-08-08 23:53:43 -07:00
Pablo Alcantara
04de977855 dockerfile: add rsync (#5773)
* Add rsync to docker.

Add rsync to docker.
Rsync is nearly a necessity to optimize backup inside Openshift container.
Using TAR (default without Rsync), the process of external backup constantly stops at the middle.

* Add rsync to docker

Add rsync to docker.
Rsync is nearly a necessity to optimize backup inside Openshift container.
Using TAR (default without Rsync), the process of external backup constantly stops at the middle.

* Add rsync to docker

Add rsync to docker.
Rsync is nearly a necessity to optimize backup inside Openshift container.
Using TAR (default without Rsync), the process of external backup constantly stops at the middle.

* Add rsync to docker

Add rsync to docker.
Rsync is nearly a necessity to optimize backup inside Openshift container.
Using TAR (default without Rsync), the process of external backup constantly stops at the middle.
2019-08-06 19:25:04 -07:00
Mathias Rangel Wulff
591a05caa3 Update TRANSLATORS (#5774) 2019-08-06 19:24:09 -07:00
unknwon
82700ea95a README: add Builtkite to sponsors 2019-08-04 17:20:51 -07:00
unknwon
a36b29c25c Bump version 2019-08-01 18:41:45 -07:00
unknwon
c3af3ff1d0 routes/api: fix permission checks for routes
Reported by @ManassehZhou #5764
2019-08-01 18:36:05 -07:00
unknwon
1592e578ed routes/api: add missing permission checks for routes
Permission check not enforced for deploy keys, collaborators, and hooks.

Reported by @ManassehZhou #5764
2019-08-01 18:26:05 -07:00
unknwon
e640683c97 README: add new VPS sponsor
[CI SKIP]
2019-07-29 19:17:50 -07:00
mal
e6bddd3ed2 packager.io: fix and update build files (#5760)
* Update pkgr distros and dependencies

* Configure govendor for heroku builds
2019-07-28 18:37:44 -07:00
unknwon
bd0549caea vendor: update missing test deps for ci 2019-07-28 16:08:47 -07:00
unknwon
08a53e5eca pkg/context/notice: use path.Join to concatenate path 2019-07-28 16:08:00 -07:00
unknwon
025972ef64 vendor: update missing test deps for ci 2019-07-28 16:03:54 -07:00
unknwon
00a3e368b4 vendor: update to fix tests with Go 1.12.x
- github.com/smartystreets/goconvey
- github.com/jtolds/gls
2019-07-28 15:56:22 -07:00
unknwon
6b2465746a ci: add Go 1.12.x 2019-07-28 15:14:28 -07:00
unknwon
35e2cee5c5 pkg/template: use template function Year to get number of year
To avoid update in each year
2019-07-28 15:10:44 -07:00
unknwon
d775fe7936 pkg/context: change banner file path (#5750) 2019-07-28 14:59:51 -07:00
Achilleas Koutsou
dc13eb6df0 pkg/context: Render live notice banner from file (#5750)
* pkg/context: Render live notice banner from file

- Contexter checks if there is a file called 'notice' under the
GOGS_CUSTOM directory and loads it.
- The first line is treated as a header/title and everything else as the
message body.
- Message body is rendered as HTML (tags allowed).
- File size is limited to 1024 bytes.
- File mime type must be text.
- Notice is rendered in head.tmpl for all pages.

* pkg/context: Rename maxlen to maxSize

Rename maxlen to maxSize for the maximum size (in bytes) of the notice
file to render.
Define the variable when needed to avoid instantiating it when the file
doesn't exist.

Co-Authored-By: ᴊ. ᴄʜᴇɴ <u@gogs.io>

* pkg/context: Package name after license header

Co-Authored-By: ᴊ. ᴄʜᴇɴ <u@gogs.io>

* pkg/context: Don't print 'Found notice file'

Becomes too verbose as it prints on every page load when the file
exists.

* pkg/context: Match project conventions

Import order and grouping

Variable names:
    fileloc -> fpath
    fp -> f
    finfo -> fi

* pkg/context: Remove empty line

Co-Authored-By: ᴊ. ᴄʜᴇɴ <u@gogs.io>

* pkg/context: Render notice as markdown

Server notice file should be named 'notice.md'.  The contents of the
file are treated as markdown and rendered as a warning message at the
top of every page.

* Update notice.go


Co-authored-by: ᴊ. ᴄʜᴇɴ <u@gogs.io>
2019-07-27 23:47:35 -07:00
Robin van Boven
798636c95b Include the Sha in webhook create payloads. (#5689) 2019-07-09 17:26:19 -07:00
Unknwon
25fdf6cb16 locale: sync from Crowdin 2019-06-27 08:32:59 -04:00
Paul Spieker
044a45db2e docker: prevent Gogs from running a recursive chown on each boot (#5724)
The chown command in the setup file of Gogs is supposed to be executed just once. As soon as the app.ini file exists, this step should be skipped. However, the test was checking if a directory with the name app.ini exists instead of a file. Therefore, the chown command was executed on each boot.
2019-06-16 13:42:56 -04:00
Tekaoh
0aec2df74f models/repo: idiomatic English (#5678)
* Idiomatic English

* Even better English
2019-04-11 22:22:49 -04:00
Unknwon
4f9c5b60c5 locale: sync from Crowdin 2019-03-25 03:08:25 -04:00
Menno van Rahden
bd13df972e docker: remove deprecated option (#5650)
This line has been removed in respect to the OpenSSH spec update with Version 7.5 (https://www.openssh.com/txt/release-7.5)
2019-03-16 21:53:18 -04:00
boson.cat
a971910723 README: fix tutorial links (#5641)
* Update README_ZH.md

* Update README.md
2019-02-28 19:54:07 -05:00
Unknwon
b8a6fee6d6 README: sync translation
[CI SKIP]
2019-02-25 17:57:53 -05:00
Zou Nengren
0bfa981e70 README: introduce a deployment method which using helm (#5638) 2019-02-25 17:56:07 -05:00
Unknwon
070bdda011 locale: sync from Crowdin 2019-02-25 11:29:49 -05:00
Andy Hochhaus
e19c026083 models/issue_mail: add assignee to issue related emails (#5628)
Reference #4220
2019-02-20 18:04:38 -05:00
Unknwon
8b383f86de pkg/bindata: regenerate for PR #5623 2019-02-20 17:56:43 -05:00
Andy Hochhaus
9ebd62f676 pkg/mailer/mail: render markdown in issue related emails (#5629)
Reference #4552
2019-02-20 17:54:27 -05:00
Stephen Lane-Walsh
2c3e2b701e conf/gitignore: add Unreal Engine (#5623) 2019-02-17 02:14:37 -05:00
Unknwon
16f95123cd models/models: formalize error messages 2019-02-06 18:50:02 -05:00
Unknwon
0a176df6fb models: disable idle connection and set connection max life time (#5532) 2019-02-06 18:46:15 -05:00
Unknwon
d862c43be0 README: add new sponsor
[CI SKIP]
2019-02-01 19:38:08 -05:00
Unknwon
a452767e34 README: update LunaNode link
[CI SKIP]
2019-01-30 23:22:50 -05:00
Favyen Bastani
f0aeef82a1 README: add LunaNode cloud deployment URL (#5584) 2019-01-30 23:21:18 -05:00
Unknwon
06b6eaba06 locale: sync from Crowdin
- Add Portuguese
2019-01-30 21:59:10 -05:00
Unknwon
713a7d518d locale: sync from Crowdin 2019-01-21 15:19:27 -05:00
Guy Smoilov
5702e4bc24 pkg/mailer: support plaintext alt for HTML emails (#5568)
* Added option to use plain text alt to HTML emails. Should make the messages friendlier for spam filters.

* Check that plaintext conversion worked before adding the HTML alt

* Add description of ADD_PLAIN_TEXT_ALT to app.ini

* Added comment clarifying html AddAlternative
2018-12-25 10:08:00 -05:00
Unknwon
9b37b1569c models/repo_editor: add isRepositoryGitPath to detect invalid file path (#5558) 2018-12-25 10:01:52 -05:00
Unknwon
5f1f1bb5ed pkg/tool/path: use IsMaliciousPath to replace SanitizePath (#5558) 2018-12-25 09:47:33 -05:00
Unknwon
9ff2df78f0 public/css: make less (#5317) 2018-12-25 08:58:59 -05:00
Kyumyeong Han
74f26bb667 public/less: fix layout misalignment in Firefox for Linux (#5317)
* Update _repository.less

* Update _repository.less
2018-12-25 08:56:41 -05:00
Unknwon
1f11c1f71a models/repo_editor: ignore copying files with '.git/' path prefix (#5558) 2018-12-19 23:09:32 -05:00
Unknwon
8c8c37a66b pkg/tool/path: handle Windows path separators (#5558) 2018-12-19 22:56:36 -05:00
Unknwon
d4f9fd7204 *: remove Go 1.7 support 2018-12-19 08:38:10 -05:00
Unknwon
e70e72e025 pkg/ssh: specify ssh-keygen to always generate PEM format 2018-12-19 08:31:22 -05:00
Unknwon
e2ce6a0dab vendor: update github.com/go-sql-driver/mysql
Fix MySQL 1046 error
2018-12-19 08:26:32 -05:00
Unknwon
657ea2686f auth: coding style and glitches fixes for GitHub login source (#5340) 2018-12-18 16:46:50 -05:00
haixunlu
311df9c521 auth: add new authentication source: GitHub, including GitHub Enterprise (#5340)
* Add new Authentication Source: GitHub, including GitHub Enterprise.

* Add vendor dependencies.
2018-12-18 15:49:30 -05:00
Unknwon
ff93d9dbda pkg/tool: improve SanitizePath (#5558) 2018-12-18 01:38:08 -05:00
Unknwon
86ada87529 models/repo_editor: sanitize user-defined file name to prevent RCE (#5558)
Reported by PentesterLab (https://pentesterlab.com).
2018-12-18 01:31:04 -05:00
Unknwon
d74437af57 models/action: skip issue index parsing while using external issue tracker (#5551) 2018-12-17 22:52:58 -05:00
Unknwon
c82ac420fc vendor: update
- github.com/gogs/go-gogs-client
- gopkg.in/macaron.v1
2018-12-16 19:48:34 -05:00
Unknwon
f91cb9321e api: add GetReferenceSHA (#5546) 2018-12-16 19:47:32 -05:00
Unknwon
cc1a168aa0 vendor: update github.com/gogs/go-gogs-client 2018-12-15 00:24:53 -05:00
Unknwon
ee82d35ed8 api: add GetSingleCommit (#5546) 2018-12-15 00:24:41 -05:00
Unknwon
8bca30cfe4 vendor: update github.com/gogs/git-module 2018-12-15 00:05:06 -05:00
Unknwon
fe9a5d3159 .github: adjust issue templates
[skip ci]
2018-12-14 18:35:01 -05:00
Unknwon
f43d21d0af locale: sync from Crowdin 2018-12-11 22:17:09 -05:00
Unknwon
8e2c3b315b models: remove legacy support 2018-12-11 22:00:01 -05:00
Nikita
9079fb6a0d pkg/markup: support data URL of base64 encoded images (#5391) 2018-12-10 23:53:08 -05:00
Unknwon
db3f0048d8 templates: rename template function Str2html -> Str2HTML 2018-12-10 22:23:56 -05:00
Unknwon
d3d8284985 templates: sanitize special links in commit message (#5545)
Reported by @cezar97.
2018-12-10 22:21:42 -05:00
Unknwon
f545faa06d templates: make state changing routes to POST method (#5541)
- pkg/context: add ParamsUser to unify the injection process
2018-12-06 22:58:02 -05:00
Unknwon
458aadbb10 vendor: update github.com/go-macaron/session 2018-12-04 19:36:05 -05:00
Unknwon
f2ec0d80a8 user/auth: flush and destroy session at logout (#5540)
Reported by @cezar97.
2018-12-04 19:35:44 -05:00
Unknwon
be6bb5314e ci: update appveyor.yml 2018-12-03 20:00:28 -05:00
Unknwon
98114944fc vendor: update github.com/gogs/go-gogs-client
Bring fixes for #5538
2018-12-03 14:45:19 -05:00
Unknwon
6690023555 pkg/context: use host address and apply insecure flag for go-get=1 when needed (#5305) 2018-12-03 13:36:11 -05:00
Unknwon
a7e8187a0d pkg/context: expose port in import path for 'go-get=1' (#5305) 2018-12-03 13:24:31 -05:00
Unknwon
0c1b72616a locale: sync from Crowdin 2018-12-02 20:02:09 -05:00
Unknwon
945a378e55 public/css: adjust width of label color in dropdown
models/issue: unify Issue receiver name to 'issue'
2018-12-02 17:54:55 -05:00
Unknwon
29c5be47ed models/issue: fix panic when clear labels (#5445) 2018-12-02 17:51:24 -05:00
无闻
e0f18b2255 github: update issue templates (#5537) 2018-12-02 15:25:06 -05:00
Unknwon
e755aafe29 vendor: update github.com/gogs/go-gogs-client 2018-12-02 12:55:16 -05:00
Unknwon
e1b3a25008 api/repo: support edit repository issue tracker (gogs/go-gogs-client#94) 2018-12-02 12:55:05 -05:00
Unknwon
69c1cd3f38 routes/api: change status handle to new style
Also fixed one bug that did not catch team not found error.
2018-12-01 21:41:30 -05:00
Unknwon
ce13fbb98a routes/api: allow get repository without login (#5475) 2018-12-01 21:40:19 -05:00
Samuel Cochran
084d9e0009 templates/user/dashboard: include 'org' query parameter in new mirror URL (#5534) 2018-11-29 07:21:16 -05:00
Unknwon
3db9b06a6e api: fix critical CSRF vulnerabilities on API routes (#5355)
By explicitly requires token authentication.
2018-11-28 21:05:58 -05:00
Unknwon
e9be8016e6 README: add new sponsor 2018-11-27 10:46:46 -05:00
Unknwon
1f9e21ebd5 templates/wiki: fix emoji rendering (#4869) 2018-11-26 07:02:21 -05:00
Unknwon
a91d9054ad conf: fix unexpected behavior of config inheritance (#5007) 2018-11-26 06:44:06 -05:00
Charles Kenney
6c90d12a0c routes/repo/issue: implement issue pre-filling (#5521)
Signed-off-by: Charles Kenney <charlesc.kenney@gmail.com>
2018-11-20 13:16:42 -05:00
Unknwon
38e8ccac92 conf: add go-bindata install command in README
[ci skip]
2018-11-20 02:37:16 -05:00
Unknwon
1d19a58424 locale: sync from Crowdin 2018-11-19 18:58:00 -05:00
Danilo Riecken P. de Morais
f47f9ceade mirror: trigger additional push webhook on new branch (#5508)
This commit fixes issue #5473 and makes a new branch behave like a
      push event and trigger the appropriate webhook.
2018-11-14 23:03:03 -05:00
Federico Culloca
81effe674d templates/user/profile: added rel="me" to website link on user profile (#5485)
* Added rel="me" to website link on user profile

See issue #5008

* Added `nofollow` as per feedback
2018-11-12 20:49:30 -05:00
Unknwon
831251bcaa ci: remove Go master for the moment 2018-11-08 18:03:16 -05:00
A.J. Ruckman
f4630f9044 public/css: add 'overflow-wrap: break-word' to dashboard news feeds (#5507) 2018-11-08 17:51:56 -05:00
William Hilton
dae311ea9d repo/http: update CORS headers to allow custom user-agent (#5498)
At some point after #4970 was merged, isomorphic-git started sending a custom User-Agent in its HTTP requests to deal with some services (\*cough\* gists \*cough\*) which filtered git traffic by User-Agent. Sadly, this broke cloning from Gogs using isomorphic-git in the browser (https://github.com/isomorphic-git/isomorphic-git/issues/555). This PR fixes it by telling browsers it is OK for CORS requests to send a custom User-Agent header.
2018-11-07 18:14:15 -05:00
Unknwon
4677b46904 vendor: update github.com/go-macaron/session (#5469)
Fix security flaw reported by c957861129d62331c5704d2f04d11e41.
2018-11-06 22:22:02 -05:00
Unknwon
a4dd2b1916 Merge branch 'master' of github.com:gogs/gogs into develop 2018-11-05 16:48:31 -05:00
Masen Furer
3d117b8964 Dockerfile.aarch64hub: install shadow package (#5481)
the shadow package contains the usermod(8) utility which is used by
start.sh and finalize.sh to configure the git user
2018-11-05 16:46:53 -05:00
hopegolden
6a083e9561 ldap: grammar fix (#5493) 2018-11-05 16:44:28 -05:00
hopegolden
044d359a7e docker: grammar fix (#5492) 2018-11-05 16:44:01 -05:00
Unknwon
f35d4164d6 pkg/bindata: update content 2018-11-04 18:37:01 -05:00
Unknwon
3058f8fd69 conf: change default session cookie name
[CI SKIP]
2018-10-24 10:05:35 -04:00
Unknwon
5129ed215e vendor: update github.com/go-macaron/session (#5469)
Fix security flaw reported by c957861129d62331c5704d2f04d11e41.
2018-10-24 09:59:07 -04:00
Unknwon
b93079f1c1 vendor: update github.com/go-macaron/session (#5469)
Fix security flaw reported by c957861129d62331c5704d2f04d11e41.
2018-10-24 09:43:59 -04:00
Unknwon
a1098384c0 vendor: update github.com/gogs/git-module 2018-10-23 07:02:13 -04:00
aboron
43bca4df40 ldap: fix group membership search handling when the group members are listed by 'dn' (#4684) (#4688)
Also, fixed typo in group member list return size check.
2018-10-23 04:16:39 -04:00
Unknwon
82269e4b8c locale: sync from Crowdin 2018-10-16 16:58:18 -04:00
Unknwon
14e49614e6 gogs: rise Go requirement to 1.7 2018-10-03 20:49:49 -04:00
Unknwon
a221b2807f routes/repo/issue: fix redirect with unexpected escape (#5443) 2018-09-30 13:55:40 -04:00
Unknwon
0d66b1cc1c pkg/context: apply EscapePound at context level
Always escape template variable {{.Link}} variable and  redirect calls.

Relates to #5442
2018-09-28 23:56:45 -04:00
Unknwon
1843354d88 templates/repo/setting: fix missing EscapePound (#5442) 2018-09-28 23:32:00 -04:00
Unknwon
bd7d1e2f16 routes: fix open redirect vulnerability (#5355)
Reported by @cezar97.
2018-09-28 23:19:29 -04:00
Unknwon
aff0bbcc32 pkg/ssh: print actual error in panic (#5435) 2018-09-28 15:37:34 -04:00
Unknwon
33e009bedb README: add FOSSA badge
[ci skip]
2018-09-26 19:04:41 -04:00
Unknwon
f94dc67a43 librejs: add jQuery
[ci skip]
2018-09-19 13:24:49 -04:00
Unknwon
091f63fd4e Makefile: only read GOPATH from env var
[ci skip]
2018-09-18 12:33:14 -04:00
Unknwon
3a4c981e31 locale: sync from Crowdin 2018-09-16 11:53:32 -04:00
Unknwon
0d48344f93 docker: chown only for the frist time (#5422) 2018-09-15 13:57:41 -04:00
Unknwon
21ceba6cfd Revert "docker: remove chown the git repos on startup (refs #4996). (#5390)"
This reverts commit 068e6ce2c9.
2018-09-15 13:46:14 -04:00
Unknwon
f8302c5470 ci: fix go vet and add Go 1.11.x 2018-09-14 22:48:35 -04:00
Unknwon
7a7e07a57c vendor: add dependencies of Prometheus client 2018-09-14 22:38:06 -04:00
Unknwon
520530dfcf metrics: add initial Prometheus support (#4141) 2018-09-14 22:29:43 -04:00
Unknwon
31c18b4bc7 repo: adjust pull request setting description (#5359) 2018-09-14 20:10:54 -04:00
Unknwon
1ec365de25 repo: trigger webhook when delete branch after merged pull request (#5331) 2018-09-14 20:04:31 -04:00
Unknwon
99f3eabb1b README: update vision
[ci skip]
2018-09-14 15:25:15 -04:00
Unknwon
32479744f6 templates/admin/monitor: fix field error
[ci skip]
2018-09-13 23:30:59 -04:00
Unknwon
b68de2330d auth: support set default login source (#5274) 2018-09-13 14:06:04 -04:00
haixunlu
68a6579852 login_source: add default authentication switch (#5338)
* Add default Authentication Switch.

* adjust the code accroding to reviews

* #1. Remove redudant logic.
#2, Fix a bug in "Edit" panel.

* Remove unused logic

* Fix local authentication files are not flushed.

* refactor according to review.
2018-09-13 13:49:07 -04:00
Jakob Lykke Andersen
798798f7ab templates: hide dashboard org creation when not allowed (#5393)
The admin -> DISABLE_REGULAR_ORG_CREATION setting
hides organization creation in the header, but not
in the dashboard.
2018-09-11 14:10:09 -04:00
leonunix
54e9442a14 docker: fix aarch64 dockerfile make docker image error (#5411) 2018-09-10 15:38:35 -04:00
Unknwon
f7b9f35ce1 locale: sync from Crowdin 2018-09-10 10:41:00 -04:00
Ross Golder
068e6ce2c9 docker: remove chown the git repos on startup (refs #4996). (#5390) 2018-09-08 08:07:30 -04:00
PiPc2
5d4bb4d6f8 librejs.html: fix semantic version (#5404)
currently incompatible with librejs
2018-09-06 20:16:21 -04:00
Unknwon
a05c19682e locale: sync from Crowdin 2018-08-23 12:45:53 +08:00
Stefan Liu
5caa7436d8 gogs: remove app flags line (#5388)
No meaning for this line
2018-08-23 12:35:36 +08:00
Unknwon
512a900202 repo/editor: hide internal error detail
Prevent exposure of server path
2018-08-17 23:35:53 +08:00
Unknwon
ba7b2cc1f6 vendor: update github.com/gogs/git-module 2018-08-17 23:15:26 +08:00
Unknwon
ac73d43444 repo_editor: able to trigger Git hooks (#4338) 2018-08-17 23:15:20 +08:00
Unknwon
33434a40d7 vendor: update github.com/gogs/git-module 2018-08-17 20:03:00 +08:00
Unknwon
844d69143f pkg/markup: allow match SHA1 length 7-40 (#3321) 2018-08-17 20:02:43 +08:00
Unknwon
77275a9b31 models: rename Id to ID 2018-08-16 20:26:09 +08:00
Unknwon
de10d9be08 models: fix delete undesired release attachments when delete a comment (#4627)
Apparently, AfterDelete has ID=0
2018-08-16 20:17:19 +08:00
Steven Haigh
3c227af508 scripts: add NoNewPrivileges=true to systemd unit file (#5381)
Also add comment about unsupported options in different systemd versions.
2018-08-16 19:07:36 +08:00
Unknwon
4c1a479a60 models: fix delete public keys ORM syntax (#5376) 2018-08-14 22:10:44 +08:00
Michael Li
cc95d251d6 docker: add new Dockerfile.docker-ce for docker-ce(>=v17.06) to build docker image (#5322)
* add new Dockerfile.docker-ce for docker-ce(>=v17.06) to  build docker image

* change default Dockerfile to support docker-ce(>=v17.06) multi-stage build
2018-08-13 20:50:25 +08:00
chromium1337
1f247cf813 routes: fix open redirect vulnerability #5364 (#5365) 2018-08-06 17:10:16 +08:00
GeekComb
c9bb33afc3 repo: fix issue of fork repository no check the limit of users' repository (#5346) 2018-07-18 20:03:09 +08:00
Unknwon
97fb9d283f locale: sync from Crowdin 2018-07-16 06:14:54 +08:00
Bogdan Khomutsky
66016b8499 scripts: apply hardening for systemd service (#5332) 2018-07-09 16:13:28 +08:00
PHANI
8bbf0293f5 webhook: add headers to support spring config server (#5325)
Spring cloud config server dependency spring cloud config monitor looks for X-Github-Event condition PropertyPathEndpoint.class -> GithubPropertyPathNotificationExtractor.class if ("push".equals(headers.getFirst("X-Github-Event"))) {...}
2018-07-09 16:12:30 +08:00
cezar97
87b229d280 templates: add 'rel=noopener noreferrer' to <a> tags (#5319)
Signed-off-by: cezar97 <cezar97@protonmail.com>
2018-07-02 19:33:14 +08:00
Unknwon
2a86b3e31d restore: reset milestone deadline_unix and closed_date_unix (#5264) 2018-06-27 22:08:24 +08:00
Steve Chung
436dd6c0a4 routes/repo/setting: require autosize when repo/settings/options is rendered (#5315) 2018-06-26 21:40:09 +08:00
Unknwon
f6bdefe3f3 public: minor fix for PR #5276 2018-06-26 21:16:29 +08:00
ususdei
cd71077c6a pull request: able to add custom commit description (#5276)
* pull request merges now allow for custom commit messages

* allow i18n on commit_message label

* place label above textarea for commit message

* rename commit message for pull requests into commit description and pass to git separately
2018-06-26 20:49:46 +08:00
Unknwon
029b33c650 restore: ignore created_unix for milestone table (#5264) 2018-06-25 20:33:21 +08:00
Unknwon
f4f4edf276 vendor: update github.com/gogs/git-module 2018-06-25 19:58:40 +08:00
Unknwon
992ea5802a locale: sync from Crowdin 2018-06-18 12:21:51 +08:00
Unknwon
376a629c9f repo: add changes to repository avatar feature (#5221) 2018-06-17 22:18:41 +08:00
Sergey Dryabzhinsky
303fa37b60 repo: support avatars (#5221)
* First code for repository avatars

* Last code for repository avatars

- add new option for repo avatars location on filesystem
- add route catch in web
- add new fields to repo model
- add migration
- update settings handlers
- update repo header template

* Update locale messages

* Add repo avatars to home page

* Add repo avatars to organization right panel

* Show repo avatars in repo list

* Remove AvatarEamil field, remove Gravatar support, use generic locale messages

* Fix migration

* Fix seed and not used tool

* Revert public css changes, add them to less files

* Latest lessc (2.6.0) don't put result into file but output to stdout

So redirect output to file

* Simplify things:

- migration don't needed, and table changes too
- just upload file to repo avatar storage
- or generate random image

* Fix repo image seed - name not unique

* Get rid of not needed model fields

* Class value is enough, remove height attribute

* Don't generate random avatar for repository

- use html and semantic ui icons if no avatar found

* Update styles and templates for repo

- use repo icon as default avatar
- use globe icon for public repos
- add micro style for repo avatars at dashboard

* Remvoe redundant empty line

* Fix nl2br filter - must return string

* Fix css style for micro-repo-avatar in dashboard list

* Remove `|len`, works fine w/o it.

* Update after review 2:

- use static route for repository avatar
- format images settings block in settings

* Update after review 2:

- no random avatar for repo

* Update after review 2:

- no random avatar for repo 2
- update imports
- update UploadAvatar* functions

* Update after review 2:

- update templates

* Fix trace call

* Remove unused immport since we use static route for repo avatars.
2018-06-17 20:21:52 +08:00
Unknwon
ef02414d7e pkg/setting: ignore config inline comment by default 2018-06-17 09:10:18 +08:00
Unknwon
bcf83ea792 vendor: update gopkg.in/ini.v1 2018-06-17 09:08:21 +08:00
Unknwon
86a27cf16d modes/repo: syntax fix for PR #5234 2018-06-16 16:48:47 +08:00
James
08ae0dd74b repo: show in search if any part is public (#5234)
if repo is private but wiki and/or issue are public show repo in search
2018-06-16 16:34:55 +08:00
Unknwon
93f3a7f96a vendor: update github.com/go-sql-driver/mysql 2018-06-15 13:33:08 +08:00
Unknwon
7856b1202d *: fix wrong format type 2018-06-13 22:26:56 +08:00
Unknwon
e5ddbcab7d routes/repo/http: fix wrong format type 2018-06-13 21:58:46 +08:00
oOOps
f9bc980b0b api: correct pagination in repository search api (#5293) 2018-06-13 21:55:09 +08:00
奶爸
806754b512 repo: clean up webhook and hook_task when delete repository (#5239) 2018-06-11 21:35:38 +08:00
Unknwon
4d18df204a Merge branch 'pr-5277' into develop
# Conflicts:
#	models/migrations/migrations.go
2018-06-11 21:32:57 +08:00
奶爸
04b4431bc0 migrations: clean unlinked webhook and hook_tasks 2018-06-11 21:29:24 +08:00
Unknwon
dfd494c113 repo: minor improve for PR #5219 and support UTF-8 byte count 2018-06-11 21:06:24 +08:00
Sergey Dryabzhinsky
57897cc8c2 repo: update repository description field to contain more than 256 symbols (#5219)
* Update repository description field to contain more than 256 symbols

- update repository model - description field now is `TEXT` and limited by 4000 symbols
- new migration
- add description to html forms - repo creation and repo settings
- add translation for description

* Update for description field, new features

- add autosize (height) for description textarea, new plugin
- set max description length to 512 symbols
- update locales

* Fix migration - typo in var

* Update repo description behaviour

- add textarea autosize for /repo/create
- add symbols counter under description testarea (create/edit)

* Fix function definition - it a var

* Revert ru-RU locale

* Update by review

- Use type `varchar(512)` in migration
- Remove unused files from autosize plugin

* Fix migration - new project paths

* Fixes after review 2

- copyright year
- format includes
- use switch instead of multi-if

* Remove unused `default:` option.
2018-06-11 20:34:26 +08:00
Unknwon
459c8be94f ci: remove Go 1.6.x 2018-06-09 17:43:26 +08:00
Unknwon
5e158b51db vendor: add new dependencies 2018-06-09 17:34:38 +08:00
Unknwon
fbecc18e2e *: use jsoniter to replace encoding/json 2018-06-09 17:32:58 +08:00
Unknwon
b538c5345e restore: reset original created_unix after insert (#5264) 2018-06-09 17:21:58 +08:00
Unknwon
694208865b vendor: add github.com/json-iterator/go 2018-06-09 17:20:38 +08:00
Unknwon
a75c435245 vendor: update github.com/go-xorm/… 2018-06-09 16:28:52 +08:00
Unknwon
53c8e4263b models: skip JSON for fields skipped by XORM
Reduce output JSON size by backup command
2018-06-09 16:06:47 +08:00
Unknwon
078549518d vendor: update github.com/gogs/git-module 2018-06-09 10:00:45 +08:00
Alexey Terentyev
4c844081f3 routes/repo: added deletion of an empty line at the end of file (#5261) (#5270)
* Added deletion of an empty line at the end of file (#5261)

Signed-off-by: Alexey Terentyev <axifnx@gmail.com>

* Fix after feedback

Signed-off-by: Alexey Terentyev <axifnx@gmail.com>
2018-06-06 21:32:54 +08:00
Unknwon
91441c3fb2 locale: sync from Crowdin 2018-06-05 07:31:34 +08:00
Michael Li
b152cbe45a Makefile: fix make build failure when environment of GOPATH have multiple items (#5262)
* fixed make build failure when enviroment of GOPATH have Multiple items

gogs source in /other/path/to/go/src/github.com/gogs/gogs and then

>cd /other/path/go/go/src/github.com/gogs/gogs
>GOPATH=/path/to/go:/other/path/to/go make

will also build success in this fixed code

* in makefile rename gogits to gogs
2018-06-04 18:41:54 +08:00
Unknwon
c08aab90ec models/mirror: shot push webhook after synced commits (#4528) 2018-06-03 20:32:44 +08:00
Unknwon
8d091ec062 vendor: update github.com/gogs/git-module 2018-06-03 20:26:29 +08:00
Unknwon
0376e59520 pkg/setting: fix '[git] GC_ARGS' is not loaded 2018-06-03 16:02:17 +08:00
Unknwon
e25fe22f9d pkg/template: fix NewLine2br return type to string 2018-06-02 08:15:56 +08:00
Unknwon
bef7f6745c templates/repo/settings: fix mirror setting error 2018-05-30 21:32:40 +08:00
Unknwon
775919c129 mirror: show sync feeds on dashboard (#2017) 2018-05-30 21:26:03 +08:00
Unknwon
702acc06d8 vendor: update github.com/gogs/git-module 2018-05-29 06:43:19 +08:00
Sergey Dryabzhinsky
b5a1daa756 template: simple html filter for repository description (#5242)
* Add markdown renderer function to templates, use it for description in repo template

* Fix function call

* Define function Md2html in template namespace

* Change filter from Md2html to nl2br

* Change filter name to NewLine2br as suggested

* Update description output:

- just replace `\n` by `<br>`
- sanitize html after replace
2018-05-29 06:42:27 +08:00
Unknwon
5a47301dbd docker: rename "gogits" to "gogs" 2018-05-27 09:29:34 +08:00
Unknwon
e33d9e77f4 vendor: rename "gogits" to "gogs" 2018-05-27 09:07:15 +08:00
Unknwon
aff4208244 *: rename "gogits" to "gogs" 2018-05-27 08:53:48 +08:00
Wei He
73dbaefec5 routes/user/setting: fix avatar email update error (#5245) 2018-05-26 09:19:04 +08:00
Unknwon
05edcde6c9 routes/user/auth: improve coding style 2018-05-21 14:45:47 +08:00
Unknwon
01ccc2cc96 security: prevent same passcode from being reused
Reported by @cezar97.
2018-05-21 14:24:06 +08:00
Madzahttr
cd093a07a3 templates/mail/auth: update copyright year (#5224)
* Update activate.tmpl

* Update activate_email.tmpl

* Update register_notify.tmpl

* Update reset_passwd.tmpl
2018-05-13 05:25:51 -04:00
Sergey Dryabzhinsky
7e450542d9 templates/repo: use correct Semantic UI icon styles to fix star and watch icons (#5218)
* Update font-awesome to 4.7.0

* Fix font-awesome styles overrided by semantic

* Revert back

* Revert back 2

* Just use right `semantic` icon styles
2018-05-10 04:58:04 -04:00
Michael Li
45545e897c templates/user/dashboard: make page more concise for user's activity/issues/PR information (#5209) 2018-05-08 14:43:23 -04:00
Lauris BH
eccc8109c1 security: fix path cleanup for repository init and editor (#5207)
Reported by Kacper Szurek https://security.szurek.pl/.
2018-05-08 14:32:49 -04:00
Unknwon
2fabcd0455 locale: sync from Crowdin 2018-05-02 20:46:54 -04:00
Unknwon
e3ce295215 public/css: generate CSS for PR #5169 2018-04-26 17:05:30 -04:00
Florian Wiech
8df59c01d5 public/css: fix file view responsiveness (#5169) 2018-04-26 17:00:55 -04:00
Unknwon
15f9a83618 templates/repo: escape branch name (#4601) 2018-04-25 22:35:50 -04:00
Unknwon
d572381a37 vendor: update gopkg.in/clog.v1 2018-04-25 22:13:16 -04:00
Unknwon
9127001f11 pkg/setting: support Discord logger 2018-04-25 22:13:01 -04:00
Unknwon
742420a5e2 .github: update link to ISSUE_TEMPLATE.md (#5193) 2018-04-25 18:28:41 -04:00
Unknwon
f439df4441 locale: sync from Crowdin 2018-04-25 13:50:48 -04:00
rokuu
c92e8940dc pkg/form: fix bad locale reference (#5196) 2018-04-24 09:57:42 -04:00
rokuu
c68fc4f31a templates: fixes broken UI under supported resolution (1024x768) #5179 (#5182)
* Update view_list.tmpl

* Update commits_table.tmpl

* Update dashboard.tmpl

* Update list.tmpl

* Update list.tmpl

* Update list.tmpl

* Update list.tmpl

* Update notice.tmpl

* Update monitor.tmpl

* Update view_file.tmpl

* Update diff_preview.tmpl

* Update box.tmpl
2018-04-24 09:54:22 -04:00
rokuu
0e80e47592 public/{less,css}: fix overflow of brand logo hyperlink (#5189)
* Update gogs.css

* Update _base.less
2018-04-21 12:11:24 -04:00
Cosmin Stroe
54b9311344 pkg/markup/markdown: Issue mentions should also render with square brackets (#4707)
* gofmt reformat of markdown.go
2018-04-21 12:08:11 -04:00
rokuu
9387b79b98 templates: delete legacy file (#5180) 2018-04-19 01:27:59 -04:00
Unknwon
5c2de3a9ea pkg/template: fix Gravatar URLs are badly generated (#5157) 2018-04-18 19:40:35 -04:00
Changwoo Ryu
eac5b48da0 locale: Add myself to TRANSLATORS (#5177) 2018-04-18 11:09:38 -04:00
Unknwon
f89d948c06 templates/repo/issue: rework escape delete branch link after merged pull request (#4601) 2018-04-16 23:08:09 -04:00
Unknwon
45a0988833 templates/repo/issue: escape delete branch link after merged pull request (#4601) 2018-04-16 23:02:20 -04:00
Nicolas Ettlin
afbb31c05e MISC: fix Mac OS X → macOS (#5168) 2018-04-16 19:29:11 -04:00
Unknwon
e6af6487e1 locale: sync from Crowdin
Add Vietnamese
2018-04-16 17:48:23 -04:00
Josef Kemetmüller
c0b45fa36f ldap: return valid LDAP string if user input lacks "%s" (#5171)
If the user provides a string that does not contain "%s", fmt.Sprintf
silently appends "%!(EXTRA type=value)" instead of failing loudly.
This fixes #4375.
2018-04-16 17:19:45 -04:00
Unknwon
cb47595f13 Bump version 2018-04-12 10:57:43 -04:00
Unknwon
c59704a24b public: update Semantic UI 2.2.13 -> 2.3.1 2018-04-12 09:57:27 -04:00
Unknwon
f2ecfdc96a auth: support authentication source config file (#3142) 2018-04-12 09:55:58 -04:00
Unknwon
717d409b72 templates/admin/auth/list: rename list title 2018-04-11 19:39:17 -04:00
Unknwon
6e207c823e templates/admin/auth/list: move "new" button to table foot 2018-04-11 19:38:52 -04:00
Unknwon
b69294b6d6 locale: sync from Crowdin 2018-04-09 12:38:39 -04:00
Unknwon
6cbaa4787b MISC: update docker build script 2018-04-09 07:26:55 -04:00
Unknwon
8b66c433c5 models/pull: fix error on merge pull requests to non-default branch (#5138) 2018-04-09 07:26:38 -04:00
Unknwon
3329bfa5b2 .github: adjust ISSUE_TEMPLATE 2018-04-05 17:23:03 -04:00
Unknwon
f41f5785bf docker: update README about "custom" directory (#5150) 2018-04-05 17:19:45 -04:00
Unknwon
55f148f499 template: delete legacy file 2018-04-02 00:03:07 -04:00
Unknwon
2978bb1773 README: update sponsors
[CI SKIP]
2018-03-30 23:26:48 -04:00
Unknwon
0152e12172 locale: sync from Crowdin 2018-03-30 23:19:20 -04:00
Unknwon
38d73a4be6 .gopmfile: delete as no longer used
[CI SKIP]
2018-03-30 22:52:05 -04:00
Unknwon
34bd04f925 MISC: fix typo and grammar
Reference: 932490d7f1 (commitcomment-28344918)
2018-03-30 04:40:13 -04:00
Unknwon
17d789a785 pkg/mailer: support custom mail subject prefix (#4524) 2018-03-30 03:52:23 -04:00
Unknwon
63a263f542 templates/admin/config: show SSH.StartBuiltinServer 2018-03-30 01:42:35 -04:00
Unknwon
932490d7f1 conf: add option to rewrite authorized_keys file at start (#4435)
Added config option '[server] REWRITE_AUTHORIZED_KEYS_AT_START'.
2018-03-30 01:32:18 -04:00
Unknwon
a855abf8c0 models: rename RewriteAllPublicKeys -> RewriteAuthorizedKeys 2018-03-30 01:26:36 -04:00
Unknwon
0d2398aaff bindata: update 2018-03-29 05:58:31 -04:00
Unknwon
c17a6ff533 templates/repo: show quick guide to people with write permission (#4646)
Used to only show people who has admin permission.
2018-03-29 05:57:11 -04:00
Rebecca Turner
c3c7944d79 conf: default to disabling federated avatar lookup (#5126)
It's a fun feature but `ENABLE_FEDERATED_AVATAR` being true by default
leads to confusion and huge slowdowns (see #2838, #980, #914) --- it's
unexpected that Gogs requires DNS configured (?) for avatars.

Avatar lookup is a niche feature that I don't believe should be enabled
by default given how prone it is to causing problems.
2018-03-29 05:48:53 -04:00
Unknwon
75555585e8 models/pull: fix rebase merging no effect (#5051) 2018-03-21 19:11:36 -04:00
Unknwon
28e0003a9a templates/repo/branches: escape pound in branch name (#4874) 2018-03-20 20:11:02 -04:00
Jorge Maldonado Ventura
2818ce4632 templates: make dropdowns menus work when JavaScript is disabled (#4780)
* Make dropdowns menus work when JavaScript is disabled

* Update head.tmpl

* Update head.tmpl
2018-03-20 20:04:34 -04:00
Unknwon
52ee796d6d repo_branch: fix SQL builder (#5054) 2018-03-20 19:06:13 -04:00
Unknwon
0f737f2999 vendor: update gopkg.in/clog.v1 2018-03-20 00:48:21 -04:00
William Hilton
6a185e94b9 repo/http: add CORS headers to allow clone/push from browser agents (#4970) 2018-03-14 11:08:00 -04:00
Unknwon
ba0a78da2a templates/repo/branches: escape pound in branch name (#4874) 2018-03-12 15:27:27 -04:00
Dennis Chen
f0bbcef3a4 api: fix nil pointer dereference on repo/forks (#4633)
Sets BaseRepo value for each resulting fork in GetForks().
Finds correct permissions for parent repository in APIFormat().

The output JSON is a little redundant, perhaps we should offer a
different view of the api.Repository without the Parent attribute?

Signed-off-by: Dennis Chen <barracks510@gmail.com>
2018-03-12 15:03:51 -04:00
Unknwon
d7280f82ac locale: sync from Crowdin 2018-03-12 09:23:29 -04:00
m2nlight
aa53d0978c models: add ROW_FORMAT=DYNAMIC when creating table for supports mysql 5.6 (#4913)
* Add ROW_FORMAT=DYNAMIC when creating table for supports mysql 5.6 (fix #4894)

* Update models.go

Rename NewEngine2 to NewEngineWithParams

* Rename NewEngine2 to NewEngineWithParams

Please update vendor when https://github.com/go-xorm/xorm/pull/798 closed.

* Update dialect_mysql.go

* Update dialect_mysql.go

* Update models.go
2018-03-09 15:44:07 -05:00
Julian Xhokaxhiu
ffdd8b3afa docker: enable Automated builds for aarch64 ( ARM64 ) platforms (#5058)
* Enable Automated builds for aarch64

* Native aarch64 build

* Move to the new organization

* Try to build it with latest go binary

* Rebuild using Go 1.10
2018-03-09 13:05:33 -05:00
Unknwon
86d249eb16 migrations: remove unused function and fix compile error 2018-03-09 00:33:40 -05:00
Unknwon
28f74cf1c6 vendor: update github.com/go-xorm/xorm (#4913) 2018-03-09 00:26:47 -05:00
Unknwon
83655d5c00 vendor: update github.com/go-xorm/core (#4913) 2018-03-09 00:25:05 -05:00
Unknwon
63eaac67a6 repo: improve error handling for PR #4803 2018-03-08 07:22:14 -05:00
Unknwon
1f7983059a models: move ErrBranchNotExist to errors package 2018-03-08 07:15:55 -05:00
bayangan1991
51e087fd87 repo: disallow web ui to delete protected branch after PR merged (#4803)
* Disallow web ui to delete protected branch

* Fix for branches not yet protected

Had to change how error was handled. If a branch had not yet been protected the error would be generated.

Reworked to start as false and then use the protected if it was found.
2018-03-08 07:11:34 -05:00
Markus Hauschild
679147cd5d pkgr: update spec to build on Debian 9 (Stretch) (#5083) 2018-03-08 02:14:18 -05:00
Unknwon
40eb652cfa public/plugins: update notebookjs to 0.3.0 (#5077) 2018-03-08 02:12:04 -05:00
Ruben Vermeersch
f4e4ea1374 public: update notebookjs to 0.3.0 (#5084)
Fixes #5077
2018-03-08 02:06:57 -05:00
James
199d67581a templates/user/dashboard/issues: show labels to each issue (#4976)
* add issue labels

* remove hyperlink from issue label

* wrap labels in right aligned span

* put issues with div

put the issue labels within a div so they don't interfere with the number of comments
2018-03-07 06:39:38 -05:00
Unknwon
49bd893a77 bindata: update changes from pull requests 2018-03-06 17:22:27 -05:00
Andres D
8729a60c1d templates/user/auth/login: disable password autocomplete (#5068)
As gogs can be linked with PAM it is recommended to disable the autocomplete on the password input.
2018-03-06 17:20:38 -05:00
Wendell Sun
e4f187cd3d models: bug fix for query protected branches (#5054)
Signed-off-by: Wendell Sun <iwendellsun@gmail.com>
2018-03-06 17:11:31 -05:00
Larry Li
f9c706e31b templates/user/settings: fix delete email button (#4998) 2018-03-06 17:03:43 -05:00
Anton Kazarinov
c5728291ba conf/gitignore: add PhpStorm and WebStorm (#4974) 2018-03-06 16:49:14 -05:00
Sanxing Chen
68d22e78bf templates: update year in footer (#4966)
Happy new year!
2018-03-06 16:47:35 -05:00
Douglas Thrift
0bfce7aca4 repo/commit: fix file commit history pagination (#4965)
- The `commits_table.tmpl` pagination uses a `$.FileName` variable in
  order to generate the next/previous URLs, but it seems like that
  variable was no longer being populated in `renderCommits`.
2018-03-06 16:46:53 -05:00
Drahoslav Bednář
7faa2356d8 pkg/context: add doctype to go-get=1 response (#4938) 2018-03-06 16:43:48 -05:00
Arnie97
2a8a293c7c pkg/tool: use identicon image as the default gravatar (#4934) 2018-03-06 16:43:00 -05:00
Flávio Monteiro
f3e8352193 locale: update TRANSLATORS (#4908) 2018-03-06 16:37:28 -05:00
kaajavi
ca874ba8c7 templates/repo: fix wrong branch url in branches view (#4902) 2018-03-06 16:35:24 -05:00
Unknwon
f274f76607 vendor: update github.com/go-xorm/core
Related #4642
2018-03-06 05:27:04 -05:00
Unknwon
a8b9cefa73 ci: add Go 1.10 2018-03-06 01:31:12 -05:00
Unknwon
b9e4a052b8 vendor: update gopkg.in/macaron.v1 2018-03-06 01:25:55 -05:00
Unknwon
4a669f5478 web: support HTTP HEAD requests (#2857) 2018-03-06 01:21:13 -05:00
Unknwon
ade8aab43f locale: sync from Crowdin
Added Indonesian and Persian
2018-03-05 04:37:44 -05:00
Unknwon
17d2a9c435 vendor: update github.com/gogits/git-module 2018-03-02 02:17:04 -05:00
Unknwon
6f2347fc71 locale: sync from Crowdin
Fixes #4811
2017-11-22 14:46:14 -05:00
Unknwon
dd245fe8bd pull_request: fix changes not pushed to upstream if between two repositories (#4890) 2017-11-22 14:12:52 -05:00
m2nlight
f12c058b78 models: update mySQL charset=utf8mb4 (#4880)
* Add utf8mb4 to connStr for mysql. fix #4131

* Update models.go. charset=utf8mb4 for mysql.

charset=utf8mb4 for mysql.
2017-11-22 13:42:30 -05:00
Robin Alexander Richtsfeld
3cba8778b2 scripts: fix overextending of variable name (#4888) 2017-11-22 13:40:38 -05:00
Unknwon
1c33c936e6 MISC: add Discord invite link to README
[CI SKIP]
2017-11-21 13:27:39 -05:00
m2nlight
67d67289c7 models: add utf8mb4 to connStr for mysql (#4878) 2017-11-21 00:25:36 -05:00
Unknwon
f4ab9f9932 css: fix UI breaks 2017-11-19 16:56:41 -05:00
Unknwon
b752fe6808 MISC: bump version 2017-11-19 13:29:06 -05:00
Unknwon
114677b747 bindata: update 2017-11-19 12:49:46 -05:00
无闻
9362b9fdfe cmd/hook: fix custom hook cannot be executed on Windows (#4255)
This solution still requires the server installed git-bash.
2017-11-18 21:45:29 -05:00
Unknwon
f48921c256 README: update numer of language supported
[CI SKIP]
2017-11-18 01:51:43 -05:00
Unknwon
51e0eef11e locale: sync from Crowdin 2017-11-18 01:27:56 -05:00
Ross Williams
925c2a2ca2 docker: symlink fixes (#4747)
* Prevent circular links (symlinks) from being created:
	* /data/gogs/log/log -> /data/gogs/log
	* /data/gogs/data/data -> /data/gogs/data
	* /data/git/git -> /data/git
2017-11-18 00:50:07 -05:00
Yen Chi Hsuan
f1465b6847 locale: fix the language name for zh_TW (#4807) 2017-11-18 00:48:07 -05:00
Ryan Chang
5260d70b19 templates: fix typo in repo/home.tmpl (#4845) 2017-11-18 00:47:48 -05:00
33MHz
339fd9c5a4 locale: fix English grammar for delete repository dialog (#4862)
* fix typo in en-US delete dialog

* fix typo in en-GB delete dialog

* improve en-GB delete dialog language

* improve en-US delete dialog language
2017-11-18 00:47:20 -05:00
Unknwon
0f14b92bce MISC: minor fixes in webhook 2017-11-18 00:38:46 -05:00
Unknwon
43d6ad5fda pull: fix after commit ID is not latest commit in the base branch (#4442) 2017-11-18 00:38:06 -05:00
Unknwon
667c40c3de css: fix minor table issue 2017-11-17 00:12:59 -05:00
Unknwon
3b8b8a2ee3 pull_request: able to ignore whitespace when check conflict (#4834) 2017-11-16 22:22:38 -05:00
Unknwon
6f04ee879c auth/ldap: allow placeholder %s for BindDN (#2526) 2017-11-16 19:32:33 -05:00
Unknwon
e1e76d3f88 admin/config: add UI for [http] section (#3987) 2017-11-16 19:03:46 -05:00
Unknwon
221aa8968a CI: add go 1.9.x 2017-11-16 18:44:54 -05:00
Unknwon
86931f546f repo: fix go-get meta tags (#4832)
The first part in go-import should be the root import path. It
included subpath when 'go get' with a subpath and was not correct.
2017-11-16 18:43:03 -05:00
Unknwon
ae40bb00b3 vendor: update github.com/gogits/git-module (#4855) 2017-11-16 13:13:28 -05:00
Unknwon
3dd93f5533 vendor: update github.com/gogits/git-module 2017-11-16 00:04:07 -05:00
Unknwon
181dc5d75e editor: remove out of sync branch before checkout again
If a branch was deleted from server, sometimes it is not reflected
on local copy. Therefore, we need to remove the branch with same
name if it is out of sync and then checkout to correct version.
2017-11-16 00:03:35 -05:00
Mohammad Gholami
ae4c4708ad locale: update TRANSLATORS (#4866)
Crowdin contributor
2017-11-15 23:45:24 -05:00
Unknwon
34c2e52bd5 repo/pull: allow rebase before merging (#4805) 2017-11-15 23:28:31 -05:00
mharinder
5cd1fdeb9e pull: add an option to use rebase for merging pull requests
For DVCS, either merge or rebase works for getting new code in a pull
request in the main branch.

The rebase workflow produces a linear history which is cleaner, and
more bisect-able.

This commit adds a repo-level option to enable the rebase workflow. Once
enabled, "Merge Pull Request" will be replaced by
"Rebase and Merge Pull Request" which does exactly what the user wants.
It's unlikely a project wants a mixed-use of both rebase and merge
workflows, therefore the feature is not implemented as a drop-down
button like what GitHub does
(https://github.com/blog/2243-rebase-and-merge-pull-requests).
2017-11-15 23:28:23 -05:00
Unknwon
dbe6de313e public: update Semantic UI 2.2.10 -> 2.2.13 2017-11-15 21:59:47 -05:00
Anton Antonov
77c77fbd42 api: add endpoint /api/v1/user/orgs (#4835)
* Add API endpoint /api/v1/user/orgs

The difference between this endpoint and
/api/v1/admin/users/<username>/orgs,
is that here you're creating a repo with the `user`
that corresponds to the API token you're using.

* Extract duplicate API org creation
2017-11-13 22:27:30 -05:00
Unknwon
9b4054f1fc locale: sync from Crowdin 2017-11-05 23:59:12 -05:00
Unknwon
af3911b833 MISC: update README and migration comment 2017-10-22 19:29:29 -04:00
Unknwon
4258bf3d54 user/auth: fix page not redirect after login 2017-10-22 19:29:17 -04:00
Unknwon
4d1d66d906 Bump version 2017-10-15 00:12:52 -04:00
Unknwon
b727e0be71 SECURITY: fix branch name persistent XSS
Reported by Carl Hattenfels.
2017-10-15 00:07:46 -04:00
Unknwon
ea313d0c1e SECURITY: HTML injection in user search API
Reported by Tim Hawes.
2017-10-14 23:53:20 -04:00
Unknwon
c1507eda45 locale: sync from Crowdin 2017-10-14 04:19:24 -04:00
Robert Beal
ce7496aec9 docker: allow setting UID and GID when running a container (#4776)
* Allow setting the UID and GID when running a docker container via shadow

* Disable password login via usermod (fix leaving user in insecure state)
2017-10-13 16:26:39 -04:00
Josef Kemetmüller
b16c12f67b cmd/admin: add subcommands for all admin dashboard actions (#4813) 2017-10-10 17:02:44 -04:00
Unknwon
1b24e6ed76 locale: sync from Crowdin 2017-09-25 20:29:10 -04:00
Athurg Feng
52f3833811 Add Dingtalk webhook support (#4773)
* Add dingtalk webhook into html template

* Add Dingtalk's icon

* Insert dingtalk into repo's webhook page template

* Insert dingtalk into org's webhook page

* Add dingtalk into default webhook config

* Add locale string for add_dingtalk_hook_desc

* Update bindata

* Add dingtalk webhook form validator

* Add dingtalk hook task

* Add dingtalk hook create handler

* Add dingtalk hook edit handler

* Add dingtalk router

* Add dingtalk webhook task skeleton

* Add markdown link formatter

* Add Dingtalk ActionCard create wrapper

* Add support for dingtalk create event payload

* Add support for dingtalk delete event payload

* Add support for dingtalk fork event payload

* Add support for dingtalk push event payload

* Add support for dingtalk issue event payload

* Add support for dingtalk issue comment payload

* Add support for dingtalk pull event payload

* Add support for dingtalk release event payload
2017-09-21 14:32:48 -04:00
Unknwon
b1100b5e34 locale: sync from Crowdin 2017-08-15 18:20:28 -04:00
Sb
ab2c6cb008 models: fix #4692 and typo in comments (#4695) 2017-08-13 02:11:48 -04:00
Unknwon
f2c3f4a944 locale: sync from Crowdin 2017-07-30 02:45:13 -04:00
Unknwon
6bc11c4450 hook: fix email not sent after push (#4430)
Turns out mail service was not initialized at all, also mail must
be sent in sync in hook mode before program exits.
2017-07-27 16:53:02 -04:00
Unknwon
643c85e9c8 routes/home: minor code improve 2017-07-18 22:09:57 -04:00
Unknwon
ee9950ec2f explore: fix total repository number and page number do not match (#4441)
Because in the final repository list we use Distinct to remove
duplicates, but didn't do so when count total number of repositories.
2017-07-18 22:07:40 -04:00
Unknwon
dc10594d7b repo: fix cannot fork repository (#4572)
Should not load attributes if repository not found in HasForkedRepo.
2017-07-18 12:56:23 -04:00
Unknwon
e02fac4968 repo: fix panic on pull request submit (#4572) 2017-07-14 18:51:23 -04:00
Julian Xhokaxhiu
5a88546a80 docker: enable Automated builds for rpi (#4431)
* Enable Automated builds for rpi

* Rename the file to fit only for Docker Hub

* Update the binary to v2.9.0+resin1

* Restore default status

* Commit as new file

In order to avoid breaking native builds
2017-07-14 18:04:19 -04:00
Unknwon
f67d6bbca3 repo/diff: fix line number in split view template (#4584) 2017-07-14 17:02:45 -04:00
Unknwon
c970c4ee41 css: not include line numbers in diff selection (#4584)
Changed template file in order to make CSS work properly.
2017-07-14 16:50:49 -04:00
Unknwon
3a6623104f Makefile: correct errors 2017-07-14 16:48:55 -04:00
Unknwon
b18a2bdcd3 locale: sync from Crowdin 2017-07-14 16:48:41 -04:00
Unknwon
d09eaef542 locale: sync from Crowdin 2017-07-09 21:38:11 -04:00
Unknwon
13cca8a66a models/comment: remove unused SQL parameter (#4586) 2017-06-27 20:39:59 -04:00
Unknwon
8ed2330d6e issue_comment: fix pg syntax ambiguous (#4586)
Also handle error related to time parsing.
2017-06-27 20:21:36 -04:00
Andy Hochhaus
261237745f api: fix ListIssueComments API (#4587) 2017-06-27 19:59:41 -04:00
Unknwon
c9d76a381b css: update less (#4584) 2017-06-27 15:21:14 -04:00
Einar
2961afe8fb css: not include line numbers in diff selection (#4584) 2017-06-27 15:08:19 -04:00
Unknwon
ea03bee1b9 locale: sync from Crowdin 2017-06-27 14:45:10 -04:00
Unknwon
d1a96c2543 cmd/restore: skip non existent directories in backup archive (#4413) 2017-06-25 01:16:32 -04:00
Unknwon
11b1498a6e api/repo: load attributes when listing user repositories (#4565) 2017-06-21 17:41:18 -04:00
Unknwon
f59500a90b locale: sync from Crowdin 2017-06-20 00:10:10 -04:00
Credomane Evonguard
3df25fadfa scripts: fix LSB init scripts so gogs starts when using mysql/postgresql for database (#4561) 2017-06-14 20:37:32 -04:00
Unknwon
0e6a6bf880 Refactoring: remove sessionRelease()
XORM supports automatic roll back in session Close() already.
2017-06-11 03:06:36 -04:00
Unknwon
e1f01305d8 vendor: update github.com/go-macaron/binding (#4428) 2017-06-11 02:59:49 -04:00
Unknwon
23b83cb736 pkg/process: fix potential race condition
Following conditions were not protected:
1. Use and increase next pid
2. Append and remove process from the list
2017-06-11 02:28:08 -04:00
Unknwon
e16196124e setting: disable SSH minimum key size check when not eligible (#4507) 2017-06-11 02:06:26 -04:00
Unknwon
ab2197bc75 random: some code simplify 2017-06-11 00:56:31 -04:00
Unknwon
a887e475e3 repo: change action visibility when repository visibility changed (#4414) 2017-06-11 00:43:56 -04:00
Unknwon
4400d2fdd9 Refactoring: rename package routers -> routes 2017-06-11 00:34:14 -04:00
929 changed files with 103381 additions and 14338 deletions

View File

@@ -8,11 +8,13 @@ watch_dirs = [
"$WORKDIR/cmd",
"$WORKDIR/models",
"$WORKDIR/pkg",
"$WORKDIR/routers"
"$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"]

View File

@@ -1,5 +1,3 @@
.git
.git/**
packager
packager/**
scripts

4
.gitattributes vendored
View File

@@ -4,7 +4,7 @@ public/assets/* linguist-vendored
public/plugins/* linguist-vendored
public/css/themes/* linguist-vendored
public/css/github.min.css linguist-vendored
public/css/semantic-2.2.10.min.css linguist-vendored
public/css/semantic-2.3.1.min.css linguist-vendored
public/js/libs/* linguist-vendored
public/js/jquery-1.11.3.min.js linguist-vendored
public/js/semantic-2.2.10.min.js linguist-vendored
public/js/semantic-2.3.1.min.js linguist-vendored

View File

@@ -15,26 +15,7 @@ Depends on the situation, you will:
### Bug Report
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:
- Bug Description
- 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.
#### Bug Report Example
Gogs crashed when creating a repository with a license, using v0.5.13.0207, SQLite3, Git 1.9.0, Ubuntu 12.04.
Error log:
```
2014/09/01 07:21:49 [E] nil pointer
```
If you find something you consider a bug, please create an issue on [GitHub](https://github.com/gogits/gogs/issues). To avoid wasting time and reduce back-and-forth communication with team members, please be respect to [Issue Template](ISSUE_TEMPLATE.md).
### Feature Request

View File

@@ -1,7 +1,8 @@
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).
1. Please speak English, we have forum in [中文](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 do not end your title with a question mark or period.
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.
@@ -16,9 +17,8 @@ The issue will be closed without any reasons if it does not satisfy any of follo
- [ ] MSSQL
- [ ] SQLite
- Can you reproduce the bug at https://try.gogs.io:
- [ ] Yes (provide example URL)
- [ ] No
- [ ] Not relevant
- [ ] Yes: provide example URL
- [ ] No: explain why
- Log gist (usually found in `log/gogs.log`):
## Description

50
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,50 @@
---
name: Bug report
about: Create a report to help us improve
---
First of all, read https://www.chiark.greenend.org.uk/~sgtatham/bugs.html.
If you don't want to read, it's up to you. But don't waste your time continue reporting.
The issue will be closed without any explanation if it does not satisfy any of following requirements:
1. Please speak English, we have forum in [中文](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 do not end your title with a question mark or period.
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.**
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Additional context**
- Gogs version (or commit ref):
- Git version:
- Operating system:
- Database (replace `[ ]` with `[x]`):
- [ ] PostgreSQL
- [ ] MySQL
- [ ] MSSQL
- [ ] SQLite
- Can you reproduce the bug at https://try.gogs.io:
- [ ] Yes: provide example URL
- [ ] No: explain why
- Log gist (usually found in `log/gogs.log`):

View File

@@ -0,0 +1,26 @@
---
name: Feature request
about: Suggest an idea for this project
---
The issue will be closed without any explanation if it does not satisfy any of following requirements:
1. Please speak English, we have forum in [中文](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 do not end your title with a question mark or period.
4. Please take a moment to search that an issue doesn't already exist.
**You MUST delete above content including this line before posting; too lazy to take this action considered invalid report.**
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -1,64 +0,0 @@
[target]
path = github.com/gogits/gogs
[deps]
github.com/bradfitz/gomemcache = commit:2fafb84
github.com/urfave/cli = commit:347a988
github.com/go-macaron/binding = commit:4892016
github.com/go-macaron/cache = commit:5617353
github.com/go-macaron/captcha = commit:8aa5919
github.com/go-macaron/csrf = commit:6a9a7df
github.com/go-macaron/gzip = commit:cad1c65
github.com/go-macaron/i18n = commit:ef57533
github.com/go-macaron/inject = commit:d8a0b86
github.com/go-macaron/session = commit:66031fc
github.com/go-macaron/toolbox = commit:82b5115
github.com/go-sql-driver/mysql = commit:2e00b5c
github.com/go-xorm/builder = commit:9c35786
github.com/go-xorm/core = commit:7daacb2
github.com/go-xorm/xorm = commit:19f6dfc
github.com/gogits/chardet = commit:2404f77
github.com/gogits/cron = commit:2fc07a4
github.com/gogits/git-module = commit:1b9552b
github.com/gogits/go-gogs-client = commit:264a3d5
github.com/gogits/go-libravatar = commit:cd1abbd
github.com/issue9/identicon = commit:d36b545
github.com/jaytaylor/html2text = commit:d16d412
github.com/kardianos/minwinsvc = commit:cad6b2b
github.com/klauspost/compress = commit:461e8fd
github.com/klauspost/cpuid = commit:09cded8
github.com/klauspost/crc32 = commit:cb6bfca
github.com/lib/pq = commit:67c3f2a
github.com/mattn/go-colorable = commit:d228849
github.com/mattn/go-isatty = commit:30a891c
github.com/mattn/go-sqlite3 = commit:ce9149a
github.com/mcuadros/go-version = commit:257f7b9
github.com/microcosm-cc/bluemonday = commit:e797637
github.com/msteinert/pam = commit:02ccfbf
github.com/nfnt/resize = commit:891127d
github.com/russross/blackfriday = commit:5f33e7b
github.com/satori/go.uuid = commit:b061729
github.com/sergi/go-diff = commit:24e2351
github.com/shurcooL/sanitized_anchor_name = commit:1dba4b3
github.com/Unknwon/cae = commit:c6aac99
github.com/Unknwon/com = commit:28b053d
github.com/Unknwon/i18n = commit:e0eb0ce
github.com/Unknwon/paginater = commit:701c23f
github.com/fatih/color = commit:42c364b
golang.org/x/crypto = commit:dc137be
golang.org/x/net = commit:f249948
golang.org/x/sys = commit:d75a526
golang.org/x/text = commit:ece019d
gopkg.in/alexcesaro/quotedprintable.v3 = commit:2caba25
gopkg.in/asn1-ber.v1 = commit:4e86f43
gopkg.in/bufio.v1 = commit:567b2bf
gopkg.in/clog.v1 = commit:bf4bf4a
gopkg.in/editorconfig/editorconfig-core-go.v1 = commit:a872f05
gopkg.in/gomail.v2 = commit:81ebce5
gopkg.in/ini.v1 = commit:e3c2d47
gopkg.in/ldap.v2 = commit:8168ee0
gopkg.in/macaron.v1 = commit:8be5635
gopkg.in/redis.v2 = commit:e617904
[res]
include = public|scripts|templates

View File

@@ -1,13 +1,13 @@
targets:
debian-7: &debian
debian-8: &debian
build_dependencies:
- libpam0g-dev
dependencies:
- libpam0g
- git
debian-8:
debian-9:
<<: *debian
ubuntu-12.04:
debian-10:
<<: *debian
ubuntu-14.04:
<<: *debian
@@ -16,6 +16,8 @@ targets:
build_dependencies:
- bzr
- mercurial
ubuntu-18.04:
<<: *debian
centos-6: &el
build_dependencies:
- pam-devel
@@ -31,4 +33,7 @@ before:
after:
- mv bin/gogs gogs
after_install: ./packager/hooks/postinst
buildpack: https://github.com/heroku/heroku-buildpack-go.git#v62
# Can be updated after CentOS 6 support is dropped, otherwise fails with
# `fatal: bad config file line 2 in /home/pkgr/.gitconfig` because of
# https://github.com/heroku/heroku-buildpack-go/blob/f96ebebfa7605fd3916521e42ab050c81c9b947a/lib/common.sh#L238
buildpack: https://github.com/heroku/heroku-buildpack-go.git#v76

View File

@@ -1,17 +1,15 @@
language: go
go:
- 1.6
- 1.7
- 1.8
- master
- 1.8.x
- 1.9.x
- 1.10.x
- 1.11.x
- 1.12.x
before_install:
- sudo apt-get update -qq
- sudo apt-get install -y libpam-dev
env:
- GO15VENDOREXPERIMENT=1
script:
script:
- go build -v -tags "pam"
- go test -v -cover -race ./...

View File

@@ -1,22 +1,41 @@
FROM alpine:3.5
FROM golang:alpine AS binarybuilder
# Install build deps
RUN apk --no-cache --no-progress add --virtual build-deps build-base git linux-pam-dev
WORKDIR /go/src/github.com/gogs/gogs
COPY . .
RUN make build TAGS="sqlite cert pam"
FROM alpine:latest
# Install system utils & Gogs runtime dependencies
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-amd64 /usr/sbin/gosu
ADD https://github.com/tianon/gosu/releases/download/1.10/gosu-amd64 /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
&& 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 \
rsync
ENV GOGS_CUSTOM /data/gogs
COPY . /app/gogs/build
WORKDIR /app/gogs/build
RUN ./docker/build-go.sh \
&& ./docker/build.sh \
&& ./docker/finalize.sh
# Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
WORKDIR /app/gogs
COPY docker ./docker
COPY templates ./templates
COPY public ./public
COPY --from=binarybuilder /go/src/github.com/gogs/gogs/gogs .
RUN ./docker/finalize.sh
# Configure Docker Container
VOLUME ["/data"]
EXPOSE 22 3000

View File

@@ -1,22 +1,37 @@
FROM aarch64/alpine:3.5
FROM arm64v8/alpine:latest
# 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
&& 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 \
rsync
ENV GOGS_CUSTOM /data/gogs
COPY . /app/gogs/build
# 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 LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
# Configure Docker Container
VOLUME ["/data"]
EXPOSE 22 3000

48
Dockerfile.aarch64hub Normal file
View File

@@ -0,0 +1,48 @@
FROM arm64v8/alpine:latest
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.10/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 shadow socat tzdata go=1.10.1-r0
COPY docker /app/gogs/docker
COPY templates /app/gogs/templates
COPY public /app/gogs/public
WORKDIR /app/gogs/build
COPY . .
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/"]

View File

@@ -1,22 +1,37 @@
FROM armhf/alpine:3.5
FROM arm32v7/alpine:latest
# 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 \
&& apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata
&& 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 \
rsync
ENV GOGS_CUSTOM /data/gogs
COPY . /app/gogs/build
# 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 LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
# Configure Docker Container
VOLUME ["/data"]
EXPOSE 22 3000

59
Dockerfile.rpihub Normal file
View File

@@ -0,0 +1,59 @@
FROM arm32v7/alpine:latest
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 \
rsync
# 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/"]

View File

@@ -1,5 +1,5 @@
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)"
LDFLAGS += -X "github.com/gogs/gogs/pkg/setting.BuildTime=$(shell date -u '+%Y-%m-%d %I:%M:%S %Z')"
LDFLAGS += -X "github.com/gogs/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)
@@ -30,7 +30,7 @@ web: build
govet:
$(GOVET) gogs.go
$(GOVET) models pkg routers
$(GOVET) models pkg routes
build: $(GENERATED)
go install $(BUILD_FLAGS) -ldflags '$(LDFLAGS)' -tags '$(TAGS)'
@@ -56,12 +56,12 @@ 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/...
go-bindata -o=$@ -ignore="\\.DS_Store|README.md|TRANSLATORS|auth.d" -pkg=bindata conf/...
less: public/css/gogs.css
public/css/gogs.css: $(LESS_FILES)
lessc $< $@
@type lessc >/dev/null 2>&1 && lessc $< >$@ || echo "lessc command not found, skipped."
clean:
go clean -i ./...
@@ -80,4 +80,4 @@ todo:
# Legacy code should be remove by the time of release
legacy:
grep -rnw "LEGACY" cmd routers models pkg
grep -rnw "LEGACY" cmd routes models pkg

View File

@@ -1,9 +1,9 @@
Gogs [![Build Status](https://travis-ci.org/gogits/gogs.svg?branch=master)](https://travis-ci.org/gogits/gogs) [![Build status](https://ci.appveyor.com/api/projects/status/b9uu5ejl933e2wlt/branch/master?svg=true)](https://ci.appveyor.com/project/Unknwon/gogs/branch/master) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/gogs/localized.svg)](https://crowdin.com/project/gogs) [![Sourcegraph](https://sourcegraph.com/github.com/gogits/gogs/-/badge.svg)](https://sourcegraph.com/github.com/gogits/gogs?badge) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/gogits/gogs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Gogs [![Build Status](https://travis-ci.org/gogs/gogs.svg?branch=master)](https://travis-ci.org/gogs/gogs) [![Build status](https://ci.appveyor.com/api/projects/status/b9uu5ejl933e2wlt/branch/master?svg=true)](https://ci.appveyor.com/project/Unknwon/gogs/branch/master) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/gogs/localized.svg)](https://crowdin.com/project/gogs) [![Discord](https://img.shields.io/discord/382595433060499458.svg)](https://discord.gg/9aqdHU7)
=====================
![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true)
![](https://github.com/gogs/gogs/blob/master/public/img/gogs-large-resize.png?raw=true)
##### Current tip version: [`.VERSION`](templates/.VERSION) (see [Releases](https://github.com/gogits/gogs/releases) for binary versions)
##### Current tip version: [`.VERSION`](templates/.VERSION) (see [Releases](https://github.com/gogs/gogs/releases) for binary versions)
| Web | UI | Preview |
|:-------------:|:-------:|:-------:|
@@ -13,18 +13,18 @@ Gogs [![Build Status](https://travis-ci.org/gogits/gogs.svg?branch=master)](http
### Important Notes
1. **YOU MUST READ [Contributing Code](https://github.com/gogits/gogs/wiki/Contributing-Code) BEFORE STARTING TO WORK ON A PULL REQUEST**.
1. **YOU MUST READ [Contributing Code](https://github.com/gogs/gogs/wiki/Contributing-Code) BEFORE STARTING TO WORK ON A PULL REQUEST**.
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).
5. If you're interested in using APIs, we have experimental support with [documentation](https://github.com/gogs/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)
## Purpose
## Vision
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.
This project aims to build a simple, stable and extensible self-hosted Git service that can be setup 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.
## Overview
@@ -52,7 +52,7 @@ The goal of this project is to make the easiest, fastest, and most painless way
- Mail service
- Administration panel
- Supports MySQL, PostgreSQL, SQLite3, MSSQL and [TiDB](https://github.com/pingcap/tidb) (via MySQL protocol)
- Multi-language support ([25 languages](https://crowdin.com/project/gogs))
- Multi-language support ([30 languages](https://crowdin.com/project/gogs))
## Hardware Requirements
@@ -69,13 +69,14 @@ The goal of this project is to make the easiest, fastest, and most painless way
Make sure you install the [prerequisites](https://gogs.io/docs/installation) first.
There are 5 ways to install Gogs:
There are 6 ways to install Gogs:
- [Install from binary](https://gogs.io/docs/installation/install_from_binary.html)
- [Install from source](https://gogs.io/docs/installation/install_from_source.html)
- [Install from packages](https://gogs.io/docs/installation/install_from_packages.html)
- [Ship with Docker](https://github.com/gogits/gogs/tree/master/docker)
- [Ship with Docker](https://github.com/gogs/gogs/tree/master/docker)
- [Install with Vagrant](https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs)
- [Install with Kubernetes Using Helm Charts](https://github.com/helm/charts/tree/master/incubator/gogs)
### Tutorials
@@ -83,7 +84,7 @@ There are 5 ways to install Gogs:
- [Run your own GitHub-like service with the help of Docker](http://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)
- [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)
- [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/)
@@ -103,6 +104,7 @@ There are 5 ways to install Gogs:
- [sloppy.io](https://github.com/sloppyio/quickstarters/tree/master/gogs)
- [YunoHost](https://github.com/YunoHost-Apps/gogs_ynh)
- [DPlatform](https://github.com/j8r/DPlatform)
- [LunaNode](https://github.com/LunaNode/launchgogs)
## Software and Service Support
@@ -124,15 +126,18 @@ There are 5 ways to install Gogs:
## Acknowledgments
- Thanks [Egon Elbre](https://twitter.com/egonelbre) for designing logo.
- Thanks [Crowdin](https://crowdin.com/project/gogs) for providing open source translation plan.
- Thanks [DigitalOcean](https://www.digitalocean.com) for hosting home and demo sites.
- Thanks [KeyCDN](https://www.keycdn.com/) and [QiNiu](http://www.qiniu.com/) for providing CDN service.
- Thanks [Crowdin](https://crowdin.com/project/gogs) for sponsoring open source translation plan.
- Thanks [DigitalOcean](https://www.digitalocean.com), [VPSServer](https://www.vpsserver.com/), [Hosted.nl](https://www.hosted.nl/) and [MonoVM](https://monovm.com) for sponsoring VPS services.
- Thanks [KeyCDN](https://www.keycdn.com/) for sponsoring CDN service.
- Thanks [Buildkite](https://buildkite.com) for sponsoring open source CI/CD plan.
## Contributors
- See [contributors page](https://github.com/gogits/gogs/graphs/contributors) for top 100 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.
## 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/master/LICENSE) file for the full license text.
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fgogs%2Fgogs.svg?type=small)](https://app.fossa.io/projects/git%2Bgithub.com%2Fgogs%2Fgogs?ref=badge_small)

View File

@@ -1,11 +1,11 @@
Gogs [![Build Status](https://travis-ci.org/gogits/gogs.svg?branch=master)](https://travis-ci.org/gogits/gogs) [![Build status](https://ci.appveyor.com/api/projects/status/b9uu5ejl933e2wlt/branch/master?svg=true)](https://ci.appveyor.com/project/Unknwon/gogs/branch/master)
Gogs [![Build Status](https://travis-ci.org/gogs/gogs.svg?branch=master)](https://travis-ci.org/gogs/gogs) [![Build status](https://ci.appveyor.com/api/projects/status/b9uu5ejl933e2wlt/branch/master?svg=true)](https://ci.appveyor.com/project/Unknwon/gogs/branch/master)
=====================
Gogs 是一款极易搭建的自助 Git 服务。
## 开发目的
## 项目愿景
Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 **所有平台**,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
本项目旨在打造一个最简便的方式搭建简单、稳定和可扩展的自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 **所有平台**,包括 Linux、macOS、Windows 以及 ARM 平台。
## 项目概览
@@ -33,7 +33,7 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自
- 支持邮件服务
- 支持后台管理面板
- 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 [TiDB](https://github.com/pingcap/tidb)(通过 MySQL 协议)数据库
- 支持多语言本地化([25 种语言]([more](https://crowdin.com/project/gogs))
- 支持多语言本地化([30 种语言]([more](https://crowdin.com/project/gogs))
## 硬件要求
@@ -50,17 +50,18 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自
在安装 Gogs 之前,您需要先安装 [基本环境](https://gogs.io/docs/installation)。
然后,您可以通过以下 5 种方式来安装 Gogs
然后,您可以通过以下 6 种方式来安装 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)
- [采用 Docker 部署](https://github.com/gogs/gogs/tree/master/docker)
- [通过 Vagrant 安装](https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs)
- [通过基于 Kubernetes 的 Helm Charts](https://github.com/helm/charts/tree/master/incubator/gogs)
### 使用教程
- [使用 Gogs 搭建自己的 Git 服务器](https://mynook.info/blog/post/host-your-own-git-server-using-gogs)
- [使用 Gogs 搭建自己的 Git 服务器](https://blog.mynook.info/post/host-your-own-git-server-using-gogs/)
- [阿里云上 Ubuntu 14.04 64 位安装 Gogs](http://my.oschina.net/luyao/blog/375654)
### 云端部署
@@ -72,6 +73,7 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自
- [sloppy.io](https://github.com/sloppyio/quickstarters/tree/master/gogs)
- [YunoHost](https://github.com/mbugeia/gogs_ynh)
- [DPlatform](https://github.com/j8r/DPlatform)
- [LunaNode](https://github.com/LunaNode/launchgogs)
## 软件及服务支持
@@ -94,14 +96,15 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自
- 感谢 [Egon Elbre](https://twitter.com/egonelbre) 设计的 Logo。
- 感谢 [Crowdin](https://crowdin.com/project/gogs) 提供免费的开源项目本地化支持。
- 感谢 [DigitalOcean](https://www.digitalocean.com) 提供主站和体验站点的服务器赞助。
- 感谢 [KeyCDN](https://www.keycdn.com/) 和 [七牛云存储](http://www.qiniu.com/) 提供 CDN 服务赞助。
- 感谢 [DigitalOcean](https://www.digitalocean.com)、[VPSServer](https://www.vpsserver.com/)、[Hosted.nl](https://www.hosted.nl/) 和 [MonoVM](https://monovm.com) 提供服务器赞助。
- 感谢 [KeyCDN](https://www.keycdn.com/) 提供 CDN 服务赞助。
- 感谢 [Buildkite](https://buildkite.com) 提供免费的开源项目 CI/CD 支持。
## 贡献成员
- 您可以通过查看 [贡献者页面](https://github.com/gogits/gogs/graphs/contributors) 获取 TOP 100 的贡献者列表。
- 您可以通过查看 [贡献者页面](https://github.com/gogs/gogs/graphs/contributors) 获取 TOP 100 的贡献者列表。
- 您可以通过查看 [TRANSLATORS](conf/locale/TRANSLATORS) 文件获取公开的翻译人员列表。
## 授权许可
本项目采用 MIT 开源授权许可证,完整的授权说明已放置在 [LICENSE](https://github.com/gogits/gogs/blob/master/LICENSE) 文件中。
本项目采用 MIT 开源授权许可证,完整的授权说明已放置在 [LICENSE](https://github.com/gogs/gogs/blob/master/LICENSE) 文件中。

View File

@@ -1,11 +1,11 @@
version: "{build}"
skip_tags: true
clone_folder: c:\gopath\src\github.com\gogits\gogs
clone_folder: c:\gopath\src\github.com\gogs\gogs
clone_depth: 1
environment:
GOPATH: c:\gopath
GOVERSION: 1.7
GOVERSION: 1.11
build: false
deploy: false
@@ -17,4 +17,4 @@ notifications:
- provider: Email
to:
- u@gogs.io
on_build_success: false
on_build_success: false

View File

@@ -6,11 +6,13 @@ package cmd
import (
"fmt"
"reflect"
"runtime"
"github.com/urfave/cli"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/pkg/setting"
)
var (
@@ -21,6 +23,13 @@ var (
to make automatic initialization process more smoothly`,
Subcommands: []cli.Command{
subcmdCreateUser,
subcmdDeleteInactivateUsers,
subcmdDeleteRepositoryArchives,
subcmdDeleteMissingRepositories,
subcmdGitGcRepos,
subcmdRewriteAuthorizedKeys,
subcmdSyncRepositoryHooks,
subcmdReinitMissingRepositories,
},
}
@@ -36,6 +45,90 @@ to make automatic initialization process more smoothly`,
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 {
@@ -68,3 +161,23 @@ func runCreateUser(c *cli.Context) error {
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
}
}

View File

@@ -17,8 +17,8 @@ import (
log "gopkg.in/clog.v1"
"gopkg.in/ini.v1"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/pkg/setting"
)
var Backup = cli.Command{
@@ -39,6 +39,7 @@ portable among all supported database engines.`,
},
}
const _CURRENT_BACKUP_FORMAT_VERSION = 1
const _ARCHIVE_ROOT_DIR = "gogs-backup"
func runBackup(c *cli.Context) error {
@@ -63,7 +64,7 @@ func runBackup(c *cli.Context) error {
// Metadata
metaFile := path.Join(rootDir, "metadata.ini")
metadata := ini.Empty()
metadata.Section("").Key("VERSION").SetValue("1")
metadata.Section("").Key("VERSION").SetValue(com.ToStr(_CURRENT_BACKUP_FORMAT_VERSION))
metadata.Section("").Key("DATE_TIME").SetValue(time.Now().String())
metadata.Section("").Key("GOGS_VERSION").SetValue(setting.AppVer)
if err = metadata.SaveTo(metaFile); err != nil {
@@ -99,7 +100,7 @@ func runBackup(c *cli.Context) error {
// Data files
if !c.Bool("database-only") {
for _, dir := range []string{"attachments", "avatars"} {
for _, dir := range []string{"attachments", "avatars", "repo-avatars"} {
dirPath := path.Join(setting.AppDataPath, dir)
if !com.IsDir(dirPath) {
continue

View File

@@ -11,6 +11,7 @@ import (
"fmt"
"os"
"os/exec"
"path"
"path/filepath"
"strings"
@@ -18,12 +19,14 @@ import (
"github.com/urfave/cli"
log "gopkg.in/clog.v1"
"github.com/gogits/git-module"
"github.com/gogs/git-module"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/pkg/httplib"
"github.com/gogits/gogs/pkg/setting"
http "github.com/gogits/gogs/routers/repo"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/httplib"
"github.com/gogs/gogs/pkg/mailer"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/template"
)
var (
@@ -67,7 +70,7 @@ func runHookPreReceive(c *cli.Context) error {
}
setup(c, "hooks/pre-receive.log", true)
isWiki := strings.Contains(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/")
isWiki := strings.Contains(os.Getenv(models.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/")
buf := bytes.NewBuffer(nil)
scanner := bufio.NewScanner(os.Stdin)
@@ -88,10 +91,10 @@ func runHookPreReceive(c *cli.Context) error {
branchName := strings.TrimPrefix(string(fields[2]), git.BRANCH_PREFIX)
// Branch protection
repoID := com.StrTo(os.Getenv(http.ENV_REPO_ID)).MustInt64()
repoID := com.StrTo(os.Getenv(models.ENV_REPO_ID)).MustInt64()
protectBranch, err := models.GetProtectBranchOfRepoByName(repoID, branchName)
if err != nil {
if models.IsErrBranchNotExist(err) {
if errors.IsErrBranchNotExist(err) {
continue
}
fail("Internal error", "GetProtectBranchOfRepoByName [repo_id: %d, branch: %s]: %v", repoID, branchName, err)
@@ -104,7 +107,7 @@ func runHookPreReceive(c *cli.Context) error {
bypassRequirePullRequest := false
// Check if user is in whitelist when enabled
userID := com.StrTo(os.Getenv(http.ENV_AUTH_USER_ID)).MustInt64()
userID := com.StrTo(os.Getenv(models.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), "")
@@ -124,8 +127,8 @@ func runHookPreReceive(c *cli.Context) error {
}
// Check force push
output, err := git.NewCommand("rev-list", oldCommitID, "^"+newCommitID).
RunInDir(models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME)))
output, err := git.NewCommand("rev-list", "--max-count=1", oldCommitID, "^"+newCommitID).
RunInDir(models.RepoPath(os.Getenv(models.ENV_REPO_OWNER_NAME), os.Getenv(models.ENV_REPO_NAME)))
if err != nil {
fail("Internal error", "Fail to detect force push: %v", err)
} else if len(output) > 0 {
@@ -133,13 +136,18 @@ func runHookPreReceive(c *cli.Context) error {
}
}
customHooksPath := filepath.Join(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), "pre-receive")
customHooksPath := filepath.Join(os.Getenv(models.ENV_REPO_CUSTOM_HOOKS_PATH), "pre-receive")
if !com.IsFile(customHooksPath) {
return nil
}
hookCmd := exec.Command(customHooksPath)
hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
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(models.ENV_REPO_OWNER_NAME), os.Getenv(models.ENV_REPO_NAME))
hookCmd.Stdout = os.Stdout
hookCmd.Stdin = buf
hookCmd.Stderr = os.Stderr
@@ -162,13 +170,18 @@ func runHookUpdate(c *cli.Context) error {
fail("First argument 'refName' is empty", "First argument 'refName' is empty")
}
customHooksPath := filepath.Join(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), "update")
customHooksPath := filepath.Join(os.Getenv(models.ENV_REPO_CUSTOM_HOOKS_PATH), "update")
if !com.IsFile(customHooksPath) {
return nil
}
hookCmd := exec.Command(customHooksPath, args...)
hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
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(models.ENV_REPO_OWNER_NAME), os.Getenv(models.ENV_REPO_NAME))
hookCmd.Stdout = os.Stdout
hookCmd.Stdin = os.Stdin
hookCmd.Stderr = os.Stderr
@@ -184,7 +197,14 @@ func runHookPostReceive(c *cli.Context) error {
}
setup(c, "hooks/post-receive.log", true)
isWiki := strings.Contains(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/")
// 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(models.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/")
buf := bytes.NewBuffer(nil)
scanner := bufio.NewScanner(os.Stdin)
@@ -206,20 +226,20 @@ func runHookPostReceive(c *cli.Context) error {
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),
PusherID: com.StrTo(os.Getenv(models.ENV_AUTH_USER_ID)).MustInt64(),
PusherName: os.Getenv(models.ENV_AUTH_USER_NAME),
RepoUserName: os.Getenv(models.ENV_REPO_OWNER_NAME),
RepoName: os.Getenv(models.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.
// 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)
template.EscapePound(strings.TrimPrefix(options.RefFullName, git.BRANCH_PREFIX)) +
"&secret=" + os.Getenv(models.ENV_REPO_OWNER_SALT_MD5) +
"&pusher=" + os.Getenv(models.ENV_AUTH_USER_ID)
log.Trace("Trigger task: %s", reqURL)
resp, err := httplib.Head(reqURL).SetTLSClientConfig(&tls.Config{
@@ -235,13 +255,18 @@ func runHookPostReceive(c *cli.Context) error {
}
}
customHooksPath := filepath.Join(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), "post-receive")
customHooksPath := filepath.Join(os.Getenv(models.ENV_REPO_CUSTOM_HOOKS_PATH), "post-receive")
if !com.IsFile(customHooksPath) {
return nil
}
hookCmd := exec.Command(customHooksPath)
hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
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(models.ENV_REPO_OWNER_NAME), os.Getenv(models.ENV_REPO_NAME))
hookCmd.Stdout = os.Stdout
hookCmd.Stdin = buf
hookCmd.Stderr = os.Stderr

View File

@@ -15,7 +15,7 @@ import (
"github.com/Unknwon/com"
"github.com/urfave/cli"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/setting"
)
var (

View File

@@ -15,8 +15,8 @@ import (
log "gopkg.in/clog.v1"
"gopkg.in/ini.v1"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/pkg/setting"
)
var Restore = cli.Command{
@@ -39,6 +39,10 @@ be skipped and remain unchanged.`,
},
}
// lastSupportedVersionOfFormat returns the last supported version of the backup archive
// format that is able to import.
var lastSupportedVersionOfFormat = map[int]string{}
func runRestore(c *cli.Context) error {
zip.Verbose = c.Bool("verbose")
@@ -49,9 +53,10 @@ func runRestore(c *cli.Context) error {
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)
log.Fatal(0, "Failed to extract backup archive: %v", err)
}
archivePath := path.Join(tmpDir, _ARCHIVE_ROOT_DIR)
defer os.RemoveAll(archivePath)
// Check backup version
metaFile := path.Join(archivePath, "metadata.ini")
@@ -60,12 +65,20 @@ func runRestore(c *cli.Context) error {
}
metadata, err := ini.Load(metaFile)
if err != nil {
log.Fatal(0, "Fail to load metadata '%s': %v", metaFile, err)
log.Fatal(0, "Failed 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)
}
formatVersion := metadata.Section("").Key("VERSION").MustInt()
if formatVersion == 0 {
log.Fatal(0, "Failed to determine the backup format version from metadata '%s': %s", metaFile, "VERSION is not presented")
}
if formatVersion != _CURRENT_BACKUP_FORMAT_VERSION {
log.Fatal(0, "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, _CURRENT_BACKUP_FORMAT_VERSION, 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.
@@ -84,33 +97,39 @@ func runRestore(c *cli.Context) error {
// 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)
log.Fatal(0, "Failed 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)
log.Fatal(0, "Failed 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)
log.Fatal(0, "Failed to import 'custom': %v", err)
}
}
// Data files
if !c.Bool("database-only") {
os.MkdirAll(setting.AppDataPath, os.ModePerm)
for _, dir := range []string{"attachments", "avatars"} {
for _, dir := range []string{"attachments", "avatars", "repo-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)
log.Fatal(0, "Failed to backup current 'data': %v", err)
}
}
if err = os.Rename(path.Join(archivePath, "data", dir), dirPath); err != nil {
log.Fatal(0, "Fail to import 'data': %v", err)
if err = os.Rename(srcPath, dirPath); err != nil {
log.Fatal(0, "Failed to import 'data': %v", err)
}
}
}
@@ -119,11 +138,10 @@ func runRestore(c *cli.Context) error {
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)
log.Fatal(0, "Failed to extract 'repositories.zip': %v", err)
}
}
os.RemoveAll(path.Join(tmpDir, _ARCHIVE_ROOT_DIR))
log.Info("Restore succeed!")
log.Shutdown()
return nil

View File

@@ -16,10 +16,9 @@ import (
"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/routers/repo"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/setting"
)
const (
@@ -200,7 +199,7 @@ func runServ(c *cli.Context) error {
fail("Internal error", "Fail to get user by key ID '%d': %v", key.ID, err)
}
mode, err := models.AccessLevel(user.ID, repo)
mode, err := models.UserAccessMode(user.ID, repo)
if err != nil {
fail("Internal error", "Fail to check access: %v", err)
}
@@ -252,7 +251,7 @@ func runServ(c *cli.Context) error {
gitCmd = exec.Command(verb, repoFullName)
}
if requestMode == models.ACCESS_MODE_WRITE {
gitCmd.Env = append(os.Environ(), http.ComposeHookEnvs(http.ComposeHookEnvsOptions{
gitCmd.Env = append(os.Environ(), models.ComposeHookEnvs(models.ComposeHookEnvsOptions{
AuthUser: user,
OwnerName: owner.Name,
OwnerSalt: owner.Salt,

View File

@@ -25,24 +25,25 @@ import (
"github.com/go-macaron/session"
"github.com/go-macaron/toolbox"
"github.com/mcuadros/go-version"
"github.com/prometheus/client_golang/prometheus/promhttp"
"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/routers"
"github.com/gogits/gogs/routers/admin"
apiv1 "github.com/gogits/gogs/routers/api/v1"
"github.com/gogits/gogs/routers/dev"
"github.com/gogits/gogs/routers/org"
"github.com/gogits/gogs/routers/repo"
"github.com/gogits/gogs/routers/user"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/pkg/bindata"
"github.com/gogs/gogs/pkg/context"
"github.com/gogs/gogs/pkg/form"
"github.com/gogs/gogs/pkg/mailer"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/template"
"github.com/gogs/gogs/routes"
"github.com/gogs/gogs/routes/admin"
apiv1 "github.com/gogs/gogs/routes/api/v1"
"github.com/gogs/gogs/routes/dev"
"github.com/gogs/gogs/routes/org"
"github.com/gogs/gogs/routes/repo"
"github.com/gogs/gogs/routes/user"
)
var Web = cli.Command{
@@ -64,7 +65,7 @@ func checkVersion() {
if err != nil {
log.Fatal(2, "Fail to read 'templates/.VERSION': %v", err)
}
tplVer := string(data)
tplVer := strings.TrimSpace(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?")
@@ -96,7 +97,14 @@ func newMacaron() *macaron.Macaron {
m.Use(macaron.Static(
setting.AvatarUploadPath,
macaron.StaticOptions{
Prefix: "avatars",
Prefix: models.USER_AVATAR_URL_PREFIX,
SkipLogging: setting.DisableRouterLog,
},
))
m.Use(macaron.Static(
setting.RepositoryAvatarUploadPath,
macaron.StaticOptions{
Prefix: models.REPO_AVATAR_URL_PREFIX,
SkipLogging: setting.DisableRouterLog,
},
))
@@ -160,7 +168,7 @@ func runWeb(c *cli.Context) error {
if c.IsSet("config") {
setting.CustomConf = c.String("config")
}
routers.GlobalInit()
routes.GlobalInit()
checkVersion()
m := newMacaron()
@@ -172,20 +180,22 @@ func runWeb(c *cli.Context) error {
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, routers.Home)
m.Get("/", ignSignIn, routes.Home)
m.Group("/explore", func() {
m.Get("", func(c *context.Context) {
c.Redirect(setting.AppSubURL + "/explore/repos")
})
m.Get("/repos", routers.ExploreRepos)
m.Get("/users", routers.ExploreUsers)
m.Get("/organizations", routers.ExploreOrganizations)
m.Get("/repos", routes.ExploreRepos)
m.Get("/users", routes.ExploreUsers)
m.Get("/organizations", routes.ExploreOrganizations)
}, ignSignIn)
m.Combo("/install", routers.InstallInit).Get(routers.Install).
Post(bindIgnErr(form.Install{}), routers.InstallPost)
m.Combo("/install", routes.InstallInit).Get(routes.Install).
Post(bindIgnErr(form.Install{}), routes.InstallPost)
m.Get("/^:type(issues|pulls)$", reqSignIn, user.Issues)
// ***** START: User *****
@@ -247,15 +257,15 @@ func runWeb(c *cli.Context) error {
m.Get("/email2user", user.Email2User)
m.Get("/forget_password", user.ForgotPasswd)
m.Post("/forget_password", user.ForgotPasswdPost)
m.Get("/logout", user.SignOut)
m.Post("/logout", user.SignOut)
})
// ***** END: User *****
adminReq := context.Toggle(&context.ToggleOptions{SignInRequired: true, AdminRequired: true})
reqAdmin := context.Toggle(&context.ToggleOptions{SignInRequired: true, AdminRequired: true})
// ***** START: Admin *****
m.Group("/admin", func() {
m.Get("", adminReq, admin.Dashboard)
m.Get("", admin.Dashboard)
m.Get("/config", admin.Config)
m.Post("/config/test_mail", admin.SendTestMail)
m.Get("/monitor", admin.Monitor)
@@ -289,7 +299,7 @@ func runWeb(c *cli.Context) error {
m.Post("/delete", admin.DeleteNotices)
m.Get("/empty", admin.EmptyNotices)
})
}, adminReq)
}, reqAdmin)
// ***** END: Admin *****
m.Group("", func() {
@@ -298,7 +308,7 @@ func runWeb(c *cli.Context) error {
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 := models.GetAttachmentByUUID(c.Params(":uuid"))
@@ -330,8 +340,8 @@ func runWeb(c *cli.Context) error {
}, ignSignIn)
m.Group("/:username", func() {
m.Get("/action/:action", user.Action)
}, reqSignIn)
m.Post("/action/:action", user.Action)
}, reqSignIn, context.InjectParamsUser())
if macaron.Env == macaron.DEV {
m.Get("/template/*", dev.TemplatePreview)
@@ -387,10 +397,12 @@ func runWeb(c *cli.Context) error {
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)
@@ -415,6 +427,9 @@ func runWeb(c *cli.Context) error {
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)
@@ -439,9 +454,11 @@ func runWeb(c *cli.Context) error {
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)
@@ -467,7 +484,7 @@ func runWeb(c *cli.Context) error {
})
}, reqSignIn, context.RepoAssignment(), reqRepoAdmin, context.RepoRef())
m.Get("/:username/:reponame/action/:action", reqSignIn, context.RepoAssignment(), repo.Action)
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)
@@ -631,8 +648,10 @@ func runWeb(c *cli.Context) error {
// 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 *****
@@ -641,6 +660,18 @@ func runWeb(c *cli.Context) error {
apiv1.RegisterRoutes(m)
}, ignSignIn)
m.Group("/-", func() {
if setting.Prometheus.Enabled {
m.Get("/metrics", func(c *context.Context) {
if !setting.Prometheus.EnableBasicAuth {
return
}
c.RequireBasicAuth(setting.Prometheus.BasicAuthUsername, setting.Prometheus.BasicAuthPassword)
}, promhttp.Handler())
}
})
// robots.txt
m.Get("/robots.txt", func(c *context.Context) {
if setting.HasRobotsTxt {
@@ -651,7 +682,7 @@ func runWeb(c *cli.Context) error {
})
// Not found handler.
m.NotFound(routers.NotFound)
m.NotFound(routes.NotFound)
// Flag for port number in case first time run conflict.
if c.IsSet("port") {
@@ -719,7 +750,7 @@ func runWeb(c *cli.Context) error {
}
if err != nil {
log.Fatal(4, "Fail to start server: %v", err)
log.Fatal(4, "Failed to start server: %v", err)
}
return nil

View File

@@ -1,3 +1,6 @@
Execute following command in ROOT directory when anything is changed:
$ make bindata
```
$ go get -u github.com/go-bindata/go-bindata/...
$ make bindata
```

View File

@@ -35,6 +35,8 @@ SSH_LISTEN_HOST = 0.0.0.0
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,
@@ -94,7 +96,7 @@ 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
; 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
@@ -209,8 +211,8 @@ ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
ENABLE_CAPTCHA = true
[webhook]
; Types are enabled for users to use, can be "gogs", "slack", "discord"
TYPES = gogs, slack, discord
; 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
@@ -224,8 +226,8 @@ PAGING_NUM = 10
ENABLED = false
; Buffer length of channel, keep it as it is if you don't know what it is.
SEND_BUFFER_LEN = 100
; Name displayed in mail title
SUBJECT = %(APP_NAME)s
; Prefix prepended to the subject line
SUBJECT_PREFIX = `[%(APP_NAME)s] `
; Mail server
; Gmail: smtp.gmail.com:587
; QQ: smtp.qq.com:465
@@ -248,6 +250,8 @@ USER =
PASSWD =
; Use text/plain as format of content
USE_PLAIN_TEXT = false
; If sending html emails, then also attach a plaintext alternative to the MIME message, to support older mail clients and make spam filters happier.
ADD_PLAIN_TEXT_ALT = false
[cache]
; Either "memory", "redis", or "memcache", default is "memory"
@@ -269,7 +273,7 @@ PROVIDER = memory
; 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
COOKIE_NAME = i_like_gogs
; If you use session in https only, default is false
COOKIE_SECURE = false
; Enable set cookie, default is true
@@ -284,6 +288,8 @@ CSRF_COOKIE_NAME = _csrf
[picture]
; Path to store user uploaded avatars
AVATAR_UPLOAD_PATH = data/avatars
; Path to store repository uploaded avatars
REPOSITORY_AVATAR_UPLOAD_PATH = data/repo-avatars
; Chinese users can choose "duoshuo"
; or a custom avatar source, like: http://cn.gravatar.com/avatar/
GRAVATAR_SOURCE = gravatar
@@ -292,7 +298,7 @@ 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 = true
ENABLE_FEDERATED_AVATAR = false
; Attachment settings for issues
[attachment]
@@ -326,13 +332,13 @@ LEVEL = Trace
; For "console" mode only
[log.console]
; leave empty to inherit
LEVEL =
; Comment out to inherit
; LEVEL =
; For "file" mode only
[log.file]
; leave empty to inherit
LEVEL =
; Comment out to inherit
; LEVEL =
; This enables automated log rotate (switch of following options)
LOG_ROTATE = true
; Segment log daily
@@ -346,11 +352,19 @@ MAX_DAYS = 7
; For "slack" mode only
[log.slack]
; leave empty to inherit
LEVEL =
; Comment out to inherit
; LEVEL =
; Webhook URL
URL =
[log.discord]
; Comment out to inherit
; LEVEL =
; Webhook URL
URL =
; Username displayed in webhook
USERNAME = %(APP_NAME)s
[log.xorm]
; Enable file rotation
ROTATE = true
@@ -452,9 +466,15 @@ NEWS_FEED_PAGING_NUM = 20
; Number of commits that are showed in one page
COMMITS_PAGING_NUM = 30
[prometheus]
ENABLED = true
ENABLE_BASIC_AUTH = false
BASIC_AUTH_USERNAME =
BASIC_AUTH_PASSWORD =
[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
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
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
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
; Used for datetimepicker
[i18n.datelang]
@@ -481,6 +501,13 @@ sv-SE = sv
ko-KR = ko
gl-ES = gl
uk-UA = uk
en-GB = en-GB
hu-HU = hu
sk-SK = sk
id-ID = id
fa-IR = fa
vi-VN = vi
pt-PT = pt
; Extension mapping to highlight class
; e.g. .toml=ini

View 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/

View 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 =

View 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 =

View 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

View 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

63
conf/gitignore/PhpStorm vendored Normal file
View File

@@ -0,0 +1,63 @@
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff:
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/dictionaries
# Sensitive or high-churn files:
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.xml
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
# Gradle:
.idea/**/gradle.xml
.idea/**/libraries
# CMake
cmake-build-debug/
# Mongo Explorer plugin:
.idea/**/mongoSettings.xml
## File-based project format:
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Ruby plugin and RubyMine
/.rakeTasks
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
### PhpStorm Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr
# Sonarlint plugin
.idea/sonarlint

76
conf/gitignore/UnrealEngine vendored Normal file
View 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/*

63
conf/gitignore/WebStorm vendored Normal file
View File

@@ -0,0 +1,63 @@
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff:
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/dictionaries
# Sensitive or high-churn files:
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.xml
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
# Gradle:
.idea/**/gradle.xml
.idea/**/libraries
# CMake
cmake-build-debug/
# Mongo Explorer plugin:
.idea/**/mongoSettings.xml
## File-based project format:
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Ruby plugin and RubyMine
/.rakeTasks
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
### WebStorm Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr
# Sonarlint plugin
.idea/sonarlint

View File

@@ -21,6 +21,7 @@ Barış Arda Yılmaz <ardayilmazgamer AT gmail DOT com>
Bo-Yi Wu <appleboy DOT tw AT gmail DOT com>
Breton Corentin <contact AT neodarz DOT net>
Camille Baronnet <gogs AT camillebaronnet DOT fr>
Changwoo Ryu <cwryu AT debian DOT org>
Christoph Kisfeld <christoph DOT kisfeld AT gmail DOT com>
Cysioland
Damaris Padieu <damizx AT hotmail DOT fr>
@@ -31,6 +32,7 @@ Dmitriy Nogay <me AT catwhocode DOT ga>
Enrico Testori hypertesto AT gmail DOT com
Ezequiel Gonzalez Rial <gonrial AT gmail DOT com>
Farhan Naysee <wpmagic70 AT gmail DOT com>
Flávio Monteiro <flaviomonteiro2013 AT gmail DOT com>
Gabriel Dugny <gabriel DOT dugny AT gmail DOT com>
Ganesha <reekoheek AT gmail DOT com>
Gregor Santner <gdev AT live DOT de>
@@ -54,9 +56,11 @@ Luc Stepniewski <luc AT stepniewski DOT fr>
Łukasz Jan Niemier <lukasz AT niemier DOT pl>
Marc Schiller <marc AT schiller DOT im>
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>
Miguel de la Cruz <miguel AT mcrx DOT me>
Mikhail Burdin <xdshot9000 AT gmail DOT com>
Mohammad Gholami <gholami DOT mohammad DOT mgh AT gmail DOT com>
Morten Sørensen <klim8d AT gmail DOT com>
Muhammad Fawwaz Orabi <mfawwaz93 AT gmail DOT com>
Nakao Takamasa <at.mattenn AT gmail DOT com>

View File

@@ -48,7 +48,7 @@ cancel=Отказ
install=Инсталация
title=Стъпки за инсталиране при първоначално стартиране
docker_helper=Ако Gogs е стартиран в Docker контейнер, моля прочетете <a target="_blank" href="%s">нашите указания</a> внимателно, преди да правите промени по настройките на тази страница!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB.
requite_db_desc=Gogs изисква MySQL, PostgreSQL, SQLite3 или TiDB.
db_title=Настройки на базата данни
db_type=Тип на база данни
host=Сървър
@@ -58,8 +58,8 @@ db_name=Име на база данни
db_helper=Моля, използвайте INNODB engine с utf8_general_ci кодиране на знаци за MySQL.
ssl_mode=Режим SSL
path=Път
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service.
err_empty_db_path=SQLite3 database path cannot be empty.
sqlite_helper=Път към файл на SQLite3 база от данни. <br>Моля използвайте абсолютен път, когато стартирате gogs като услуга.
err_empty_db_path=Пътят към SQLite3 базата от данни не може да бъде празен.
no_admin_and_disable_registration=Невъзможно изключване на регистрациите без предварително да е създаден поне един административен профил.
err_empty_admin_password=Паролата на администратор не може да е празна.
@@ -74,16 +74,16 @@ domain=Домейн
domain_helper=Тази настройка влияе на URL адреса за клониране чрез SSH.
ssh_port=SSH порт
ssh_port_helper=Номер на порт на SSH сървъра. Оставете празно за да изключите достъп през SSH.
use_builtin_ssh_server=Use Builtin SSH Server
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon.
use_builtin_ssh_server=Използване на вграден SSH сървър
use_builtin_ssh_server_popup=Стартиране на вграден SSH сървър за Git операции, различен от системния SSH демон.
http_port=HTTP порт
http_port_helper=Порт, на който приложението ще слуша.
app_url=URL адрес на приложението
app_url_helper=Този настройка променя HTTP/HTTPS адреса за клониране, а понякога и адреса на ел. поща.
log_root_path=Път към журналите
log_root_path_helper=Директория в която се записват журналите.
enable_console_mode=Enable Console Mode
enable_console_mode_popup=In addition to file mode, also print logs to console.
enable_console_mode=Включване на конзолен режим
enable_console_mode_popup=Изписване на логовете в конзолата, в допълнение към файловият режим.
optional_title=Опционални настройки
email_title=Настройки на пощенска услуга
@@ -119,7 +119,7 @@ sqlite3_not_available=Вашата версия не поддържа SQLite3,
invalid_db_setting=Настройките на базата данни са некоректни: %v
invalid_repo_path=Основният път към хранилищата е невалиден: %v
run_user_not_match=Потребителският контекст на приложението не е на текущия потребител: %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address.
smtp_host_missing_port=Липсва порт в зададения SMTP адрес.
invalid_smtp_from=Невалидно поле От: %v
save_config_failed=Неуспешно запазване на конфигурация: %v
invalid_admin_setting=Настройките на профил на администратора са невалидни: %v
@@ -151,6 +151,8 @@ register_hepler_msg=Вече имате профил? Впишете се сег
social_register_hepler_msg=Вече имате профил? Свържете се сега!
disable_register_prompt=За съжаление създаването на нови регистрации е изключено. Обърнете се към администратора на сайта.
disable_register_mail=За съжаление потвърждението на регистрации е изключено.
auth_source=Authentication Source
local=Local
remember_me=Запомни ме
forgot_password=Забравена парола
forget_password=Забравена парола?
@@ -169,13 +171,13 @@ reset_password_helper=Щракнете тук, за да нулирате пар
password_too_short=Размерът на паролата не може да бъде по-малък от 6 знака.
non_local_account=Нелокални потребители не могат да сменят паролата си през Gogs.
login_two_factor=Two-factor Authentication
login_two_factor_passcode=Authentication Passcode
login_two_factor=Двуфакторно удостоверяване
login_two_factor_passcode=Парола за удостоверяване
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
login_two_factor_recovery=Two-factor Recovery
login_two_factor_recovery_code=Recovery Code
login_two_factor_recovery_code=Код за възстановяване
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=Този код за възстановяване вече е бил използван или не е валиден.
[mail]
activate_account=Моля активирайте Вашия профил
@@ -229,6 +231,7 @@ org_name_been_taken=Името на организацията вече се п
team_name_been_taken=Името на екипа вече се ползва.
email_been_used=Този адрес на ел. поща вече се ползва.
username_password_incorrect=Потребителското име или паролата не са верни.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Моля уверете се, че въведеното име на хранилище е вярно.
enterred_invalid_owner_name=Моля уверете се, че въведеното име на притежател е вярно.
enterred_invalid_password=Моля уверете се, че въведената парола е вярна.
@@ -264,8 +267,8 @@ profile=Профил
password=Парола
avatar=Аватар
ssh_keys=SSH ключове
security=Security
repos=Repositories
security=Сигурност
repos=Хранилища
orgs=Организации
applications=Приложения
delete=Изтрий профил
@@ -335,25 +338,26 @@ key_state_desc=Този ключ е използван през последни
token_state_desc=Този API ключ е използван през последните 7 дни
two_factor=Two-factor Authentication
two_factor_status=Status:
two_factor_on=On
two_factor_off=Off
two_factor_enable=Enable
two_factor_disable=Disable
two_factor_status=Статус:
two_factor_on=Вкл.
two_factor_off=Изкл.
two_factor_enable=Активиране
two_factor_disable=Деактивиране
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_enable_title=Enable Two-factor Authentication
two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_then_enter_passcode=След това въведете паролата:
two_factor_verify=Потвърждаване
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_success=Two-factor authentication has enabled for your account successfully!
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_regenerate_recovery_codes=Regenerate Recovery Codes
two_factor_regenerate_recovery_codes_error=Regenerate recovery codes failed: %v
two_factor_regenerate_recovery_codes=Ново генериране на кодове за възстановяване
two_factor_regenerate_recovery_codes_error=Неуспешно генериране на кодове за възстановяване: %v
two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully!
two_factor_disable_title=Disable Two-factor Authentication
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
@@ -375,10 +379,10 @@ orgs.none=Не сте член на никоя организация.
orgs.leave_title=Напусни организация
orgs.leave_desc=Ще загубите достъп до всички хранилища и екипи, след като напуснете организацията. Желаете ли да продължите?
repos.leave=Leave
repos.leave_title=Leave repository
repos.leave=Напускане
repos.leave_title=Напускане на хранилище
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=Вие успешно напуснахте хранилище "%s"!
delete_account=Изтриване на собствения профил
delete_prompt=Тази операция ще изтрие Вашия профил завинаги и тя <strong>НЕ МОЖЕ</strong> да бъде отменена в последствие!
@@ -417,6 +421,8 @@ mirror_last_synced=Последна синхр.
watchers=Наблюдаващи
stargazers=Харесващи
forks=Разклонения
repo_description_helper=Description of repository. Maximum 512 characters length.
repo_description_length=Available characters
form.reach_limit_of_creation=Притежателят е достигнал настроения лимит от %d брой хранилища.
form.name_reserved=Името на хранилището '%s' е запазено.
@@ -450,7 +456,7 @@ quick_guide=Бърз справочник
clone_this_repo=Клонирай хранилището
create_new_repo_command=Създай ново хранилище чрез командния ред
push_exist_repo=Предай съществуващо хранилище през командния ред
bare_message=This repository does not have any content yet.
bare_message=Това хранилище все още не съдържа нищо.
files=Файлове
branch=Клон
@@ -463,7 +469,7 @@ pulls=Заявки за сливане
labels=Етикети
milestones=Етапи
commits=Ревизии
git_branches=Branches
git_branches=Клонове
releases=Версии
file_raw=Директен файл
file_history=История
@@ -472,12 +478,12 @@ file_permalink=Постоянна връзка
file_too_large=Този файл е твърде голям за да се визуализира
video_not_supported_in_browser=Вашият браузър не поддържа HTML5 видео тагове.
branches.overview=Overview
branches.active_branches=Active Branches
branches.stale_branches=Stale Branches
branches.all=All Branches
branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch
branches.overview=Преглед
branches.active_branches=Активни клонове
branches.stale_branches=Застинали клонове
branches.all=Всички клонове
branches.updated_by=Актуализирани %[1]s от %[2]s
branches.change_default_branch=Промяна на клон по подразбиране
editor.new_file=Нов файл
editor.upload_file=Качи файл
@@ -514,6 +520,7 @@ editor.file_changed_while_editing=Съдържанието на файла е б
editor.file_already_exists=Файл с име '%s' вече съществува в това хранилище.
editor.no_changes_to_show=Няма промени.
editor.fail_to_update_file=Невъзможно модифициране/създаване на файл '%s' заради грешка: %v
editor.fail_to_delete_file=Failed to delete file '%s' with error: %v
editor.add_subdir=Добави поддиректория...
editor.unable_to_upload_files=Невъзможно качване на файлове в '%s' заради грешка: %v
editor.upload_files_to_dir=Качи файлове в '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=сравни
pulls.filter_branch=Филтър по клон
pulls.no_results=Няма резултати.
pulls.nothing_to_compare=Няма нищо за сравняване, защото родителският клон и върхът са еднакви.
pulls.nothing_merge_base=Няма нищо за сравняване, защото двата клона имат напълно различна история.
pulls.has_pull_request=`Вече има заявка за сливане между тези две цели: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Създай заявка за сливане
pulls.title_desc=заяви обединяване на %[1]d ревизии от <code>%[2]s</code> във <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=Проверката за конфликт все още е в
pulls.can_auto_merge_desc=Може да се извърши обединяване на тази заявка за сливане.
pulls.cannot_auto_merge_desc=Не може да се извърши обединяване, защото съществуват конфликти между ревизиите.
pulls.cannot_auto_merge_helper=Моля, използвайте инструменти на командния ред за да разрешите конфликтите.
pulls.create_merge_commit=Create a merge commit
pulls.rebase_before_merging=Rebase before merging
pulls.commit_description=Commit Description
pulls.merge_pull_request=Обедини заявка за сливане
pulls.open_unmerged_pull_exists=`Невъзможно повторно отваряне, защото вече съществува заявка за сливане (#%d) от същото хранилище със същата информация за обединяване, която чака да бъде извършена`
pulls.delete_branch=Изтрий клон
@@ -685,28 +696,28 @@ settings.collaboration.admin=За администрация
settings.collaboration.write=За писане
settings.collaboration.read=За четене
settings.collaboration.undefined=Недефинирано
settings.branches=Branches
settings.branches=Клонове
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
settings.default_branch=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.update=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=Default branch of this repository has been updated successfully!
settings.protected_branches=Protected Branches
settings.protected_branches=Защитени клонове
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers.
settings.choose_a_branch=Choose a branch...
settings.branch_protection=Branch Protection
settings.choose_a_branch=Избор на клон...
settings.branch_protection=Защита на клон
settings.branch_protection_desc=Please choose protect options for branch <b>%s</b>.
settings.protect_this_branch=Protect this branch
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_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=Списък на всички, които могат да изпращат към този клон
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_search_users=Search users
settings.protect_whitelist_users=Потребители, които могат да изпращат към този клон
settings.protect_whitelist_search_users=Търсене на потребители
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=Търсене на екипи
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
settings.hooks=Уеб-куки
settings.githooks=Git куки
@@ -735,7 +746,9 @@ settings.tracker_issue_style=Стил на именуване на външна
settings.tracker_issue_style.numeric=Цифров
settings.tracker_issue_style.alphanumeric=Символен
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.allow_rebase_merge=Allow use rebase to merge commits
settings.danger_zone=Опасна зона
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
settings.new_owner_has_same_repo=Новият притежател вече има хранилище със същото име. Изберете друго име.
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=Данните за уики на това хра
settings.delete=Изтрий това хранилище
settings.delete_desc=След като изтриете хранилището, няма връщане назад. Моля, бъдете сигурни.
settings.delete_notices_1=- Тази операция <strong>НЕ МОЖЕ</strong> да бъде отменена в последствие.
settings.delete_notices_2=- Тази операция ще изтрие всичко от това хранилище, включително Git данни, задачи, коментари и достъпа на сътрудници.
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=- Всички разклонения ще станат независими след изтриването.
settings.deletion_success=Хранилището е изтрито успешно!
settings.update_settings_success=Настройките на хранилището са запазени успешно.
@@ -806,18 +819,18 @@ settings.event_send_everything=При <strong>всички</strong> събити
settings.event_choose=Нека избера от какво имам нужда.
settings.event_create=Създаване
settings.event_create_desc=Създаване на клон или маркер
settings.event_delete=Delete
settings.event_delete_desc=Branch or tag deleted
settings.event_delete=Изтриване
settings.event_delete_desc=Изтрит клон или етикет
settings.event_fork=Fork
settings.event_fork_desc=Repository forked
settings.event_push=Предаване
settings.event_push_desc=Git предаване към хранилището
settings.event_issues=Issues
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_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_desc=Release published in a repository.
settings.active=Активна
@@ -829,7 +842,8 @@ settings.delete_webhook=Изтрий уеб-куката
settings.recent_deliveries=Последни изпращания
settings.hook_type=Тип на куката
settings.add_slack_hook_desc=Добавяне на интеграция със <a href="%s">Slack</a> във Вашето хранилище.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_discord_hook_desc=Добавяне на интеграция с <a href="%s">Discord</a> към хранилището.
settings.add_dingtalk_hook_desc=Добавяне на интеграция с <a href="%s">Dingtalk</a> към хранилището.
settings.slack_token=API ключ
settings.slack_domain=Домейн
settings.slack_channel=Канал
@@ -846,6 +860,8 @@ settings.add_key_success=Новият ключ за внедряване '%s' е
settings.deploy_key_deletion=Изтрий ключ за внедряване
settings.deploy_key_deletion_desc=При изтриването на този ключ за внедряване ще се премахнат свързаните права за достъп до това хранилище. Желаете ли да продължите?
settings.deploy_key_deletion_success=Ключът за внедряване е изтрит успешно!
settings.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Available characters
diff.browse_source=Преглед на файлове
diff.parent=родител
@@ -912,7 +928,7 @@ team_permission_desc=Какво ниво на достъп трябва да и
form.name_reserved=Името на организацията '%s' е запазено.
form.name_pattern_not_allowed=Име на организацията от вида '%s' не е разрешено.
form.team_name_reserved=Team name '%s' is reserved.
form.team_name_reserved=Име на екип "%s" е запазено.
settings=Настройки
settings.options=Опции
@@ -1079,13 +1095,14 @@ repos.private=Частно
repos.watches=Наблюдавания
repos.stars=Харесвания
repos.issues=Задачи
repos.size=Size
repos.size=Размер
auths.auth_manage_panel=Управление на удостоверявания
auths.auth_sources=Authentication Sources
auths.new=Добави нов начин на удостоверяване
auths.name=Име
auths.type=Тип
auths.enabled=Активно
auths.default=Default
auths.updated=Последна модификация
auths.auth_type=Тип на удостоверяване
auths.auth_name=Име на удостоверяване
@@ -1094,6 +1111,7 @@ auths.domain=Домейн
auths.host=Сървър
auths.port=Порт
auths.bind_dn=Име (DN) за свръзка
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
auths.bind_password=Парола за свръзка
auths.bind_password_helper=Внимание: Тази парола се запазва некриптирана. Моля използвайте потребител, който няма административен достъп.
auths.user_base=Базов OU за търсене
@@ -1121,9 +1139,9 @@ auths.enable_tls=Включи TLS криптиране
auths.skip_tls_verify=Пропусни проверка на TLS сертификат
auths.pam_service_name=Име на PAM услуга
auths.enable_auto_register=Включи автоматична регистрация
auths.tips=Съвети
auths.edit=Редактирай настройки за удостоверяване
auths.activated=Това удостоверяване е активно
auths.default_auth=This authentication is default login source
auths.new_success=Новото удостоверяване '%s' е добавено успешно.
auths.update_success=Настройките за удостоверяване са запазени успешно.
auths.update=Запази настройки за удостоверяване
@@ -1134,6 +1152,7 @@ auths.still_in_used=Това удостоверяване все още се и
auths.deletion_success=Удостоверяването е изтрито успешно!
auths.login_source_exist=Източник за валидация на потребители "%s" вече съществува.
config.not_set=(not set)
config.server_config=Сървърни настройки
config.app_name=Име на приложението
config.app_ver=Версия на приложението
@@ -1155,21 +1174,25 @@ config.ssh_domain=Домейн
config.ssh_port=Порт
config.ssh_listen_port=Порт за слушане
config.ssh_root_path=Основен път
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_key_test_path=Път до ключове
config.ssh_keygen_path=Път до генератор ('ssh-keygen')
config.ssh_minimum_key_size_check=Проверка за минимален размер на ключове
config.ssh_minimum_key_sizes=Минимален размер на ключове
config.repo_config=Repository Configuration
config.repo_config=Конфигурация на хранилище
config.repo_root_path=Основен път към хранилища
config.script_type=Тип на скрипта
config.repo_force_private=Force Private
config.max_creation_limit=Max Creation Limit
config.preferred_licenses=Preferred Licenses
config.disable_http_git=Disable HTTP Git
config.preferred_licenses=Предпочитани лицензи
config.disable_http_git=Забраняване на HTTP Git
config.enable_local_path_migration=Enable Local Path Migration
config.commits_fetch_concurrency=Commits Fetch Concurrency
config.http_config=Конфигуриране на HTTP
config.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Настройки на базата данни
config.db_type=Тип
config.db_host=Сървър
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Пропусни проверка на TLS
config.mailer_config=Конфигурация на мейлър
config.mailer_enabled=Активен
config.mailer_disable_helo=Изключи HELO
config.mailer_name=Име
config.mailer_subject_prefix=Subject Prefix
config.mailer_host=Сървър
config.mailer_user=Потребител
config.send_test_mail=Изпрати тестово писмо
@@ -1242,8 +1265,8 @@ config.git_pull_timeout=Време за отказ при сливане
config.git_gc_timeout=Време за отказ при GC
config.log_config=Конфигурация на журнал
config.log_mode=Mode
config.log_options=Options
config.log_mode=Режим
config.log_options=Настройки
monitor.cron=Cron задачи
monitor.name=Име
@@ -1272,7 +1295,6 @@ notices.delete_success=Системните съобщения са изтрит
[action]
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>
commit_repo=предаде към <a href="%[1]s/src/%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a>
compare_commits=Сравнение между тези %d ревизии
@@ -1285,10 +1307,14 @@ create_pull_request=`създаде заявка за сливане <a href="%s
close_pull_request=`затвори заявка за сливане <a href="%s/pulls/%s">%s#%[2]s</a>`
reopen_pull_request=`повторно отвори заявка за сливане <a href="%s/pulls/%s">%s#%[2]s</a>`
merge_pull_request=`обедини заявка за сливане <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>
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
create_branch=създаде клон <a href="%[1]s/src/%[2]s"> %[3]s</a> % <a href="%[1]s">[4]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>
delete_tag=deleted tag <code>%[2]s</code> at <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]
ago=преди

View File

@@ -23,10 +23,10 @@ password=Heslo
re_type=Znovu zadat
captcha=CAPTCHA
repository=Repositář
repository=Repozitář
organization=Organizace
mirror=Zrcadlo
new_repo=Nový repositář
new_repo=Nový repozitář
new_migrate=Nové přenesení
new_mirror=Nové zrcadlo
new_fork=Nový repositář rozštěpení
@@ -56,7 +56,7 @@ user=Uživatel
password=Heslo
db_name=Název databáze
db_helper=Prosím, pro MySQL použijte INNODB engine se znakovou sadou utf8_general_ci.
ssl_mode=SSL Mód
ssl_mode=SSL režim
path=Cesta
sqlite_helper=Cesta k SQLite3 databázi. <br>Prosím, použijte absolutní cestu, pokud startujete Gogs jako službu.
err_empty_db_path=Cesta k SQLite3 databázi nemůže být prázdná.
@@ -149,22 +149,24 @@ search=Vyhledat
create_new_account=Vytvořit nový účet
register_hepler_msg=Již máte účet? Přihlašte se!
social_register_hepler_msg=Již máte účet? Připojte se!
disable_register_prompt=Omlouvám se, ale registrace jsou vypnuty. Prosím, spojte se správcem systému.
disable_register_mail=Omlouvám se, e-mailové služby byly vypnuty. Prosím, spojte se správce serveru.
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.
auth_source=Zdroj ověření
local=Lokální
remember_me=Zapamatovat si mne
forgot_password=Zapomenuté heslo
forget_password=Zapomněli jste heslo?
sign_up_now=Potřebujete účet? Zaregistrujte se.
confirmation_mail_sent_prompt=Nový potvrzovací e-mail byl zaslán na <b>%s</b>, prosím, zkontrolujte si vaši doručenou poštu během následující %d hodin pro dokončení registračního procesu.
confirmation_mail_sent_prompt=Na adresu <b>%s</b> byl zaslán nový potvrzovací e-mail. Zkontrolujte prosím vaši doručenou poštu během následujících %d hodin pro dokončení registračního procesu.
active_your_account=Aktivujte si váš účet
prohibit_login=Přihlášení zakázáno
prohibit_login_desc=Vašemu účtu je zakázáno se přihlásit, kontaktujte prosím správce serveru.
resent_limit_prompt=Omlouvám se, ale před chvílí jste požádal o aktivační e-mail. Prosím, počkejte 3 minuty a pak to zkuste znovu.
resent_limit_prompt=Omlouváme se, ale před chvílí jste požádal o zaslání aktivačního e-mailu. Počkejte prosím 3 minuty a pak to zkuste znovu.
has_unconfirmed_mail=Zdravím, %s, máte nepotvrzenou e-mailovou adresu (<b>%s</b>). Pokud jste nedostali potvrzovací e-mail nebo potřebujete zaslat nový, klikněte prosím na tlačítko níže.
resend_mail=Klikněte zde pro odeslání aktivačního e-mailu
send_reset_mail=Klikněte zde pro (znovu)poslání e-mailu pro změnu vašeho hesla
resend_mail=Klikněte zde pro opakované odeslání aktivačního e-mailu
send_reset_mail=Klikněte zde pro (opakované) odeslání e-mailu pro obnovu vašeho hesla
reset_password=Obnova vašeho hesla
invalid_code=Omlouvám se, ale kód potvrzení vašeho e-mailu vypršel nebo není správný.
invalid_code=Omlouváme se, ale kód z vašeho potvrzovacího e-mailu vypršel nebo není správný.
reset_password_helper=Klikněte zde pro obnovu vašeho hesla
password_too_short=Délka hesla musí být minimálně 6 znaků.
non_local_account=Externí účty nemohou měnit hesla přes Gogs.
@@ -175,7 +177,7 @@ login_two_factor_enter_recovery_code=Zadejte obnovovací kód dvoufaktorového o
login_two_factor_recovery=Obnovení dvoufaktorového ověření
login_two_factor_recovery_code=Obnovovací kód
login_two_factor_enter_passcode=Zadejte přístupový kód dvoufaktorového ověření
login_two_factor_invalid_recovery_code=Obnovovací kód byl již použit nebo není platný.
login_two_factor_invalid_recovery_code=Obnovovací kód již byl použit nebo není platný.
[mail]
activate_account=Prosím, aktivujte si váš účet
@@ -195,7 +197,7 @@ RepoName=Název repositáře
Email=E-mailová adresa
Password=Heslo
Retype=Zadejte znovu heslo
SSHTitle=Název klíče SSH
SSHTitle=Název SSH klíče
HttpsUrl=HTTPS URL
PayloadUrl=URL nákladu
TeamName=Název týmu
@@ -210,18 +212,18 @@ TreeName=Cesta k souboru
Content=Obsah
require_error=` nemůže být prázdný.`
alpha_dash_error=` musí být pouze písmena, číslice či znaky - a _ .`
alpha_dash_dot_error=` musí být pouze písmena, číslice, tečka, čárka či znaky - a _ .`
alpha_dash_dot_slash_error=` musí být validní písmena, čísla nebo pomlčka, podtržítko či tečka, čárka a nebo lomítka.`
size_error=` musí být minimálně velikosti %s.`
alpha_dash_error=` smí obsahovat pouze písmena, číslice, pomlčku a podtržítko.`
alpha_dash_dot_error=` smí obsahovat pouze písmena, číslice, tečku, čárku, pomlčku a podtržítko.`
alpha_dash_dot_slash_error=` smí obsahovat pouze písmena, číslice, tečku, čárku, pomlčku, podtržítko a lomítko.`
size_error=` musí mít velikost %s.`
min_size_error=` musí obsahovat nejméně %s znaků.`
max_size_error=` musí obsahovat maximálně %s znaků.`
email_error=` není správná e-mailová adresa.`
url_error=` není správná URL.`
email_error=` není platná e-mailová adresa.`
url_error=` není platná URL.`
include_error=` musí obsahovat řetězec '%s'.`
unknown_error=Neznámá chyba:
captcha_incorrect=Zadaná CAPTCHA se neshoduje.
password_not_match=Heslo a heslo pro potvrzení nejsou shod.
password_not_match=Heslo a jeho potvrzení se neshodují.
username_been_taken=Uživatelské jméno je již obsazeno.
repo_name_been_taken=Název repositáře je již obsazen.
@@ -229,26 +231,27 @@ org_name_been_taken=Název organizace je již obsazen.
team_name_been_taken=Název týmu je již obsazen.
email_been_used=E-mailová adresa je již použita.
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_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é.
user_not_exist=Zadaný uživatel neexistuje.
last_org_owner=Odstranění posledního uživatele z týmu vlastníka není dovoleno, neboť vždy musí v každé organizaci existovat jeden vlastník.
last_org_owner=Odstranění posledního uživatele z týmu vlastníků není dovoleno, protože každá organizace musí mít alespoň jednoho vlastníka.
invalid_ssh_key=Omlouvám se, ale není možné ověřit váš klíč SSH: %s
unable_verify_ssh_key=Gogs nemohl ověřit váš klíč SSH, ale předpokládáme, že je platný, nicméně zkontrolujte jej prosím.
invalid_ssh_key=Omlouváme se, ale váš SSH klíč není možné ověřit: %s
unable_verify_ssh_key=Gogs nemohl ověřit váš SSH klíč, ale budeme předpokládat, že je platný. Přesto ho prosím zkontrolujte.
auth_failed=Ověření selhalo: %v
still_own_repo=Váš účet stále vlastní minimálně jeden repositář. Musíte je nejdříve smazat nebo předat.
still_has_org=Váš účet je stále členem minimálně jedné organizace. Je nutné ji nejdříve opustit nebo smazat vaše členství.
still_own_repo=Váš účet stále vlastní nějaké repositáře. Nejdříve je musíte smazat nebo někomu předat.
still_has_org=Váš účet je stále členem nějaké organizace. Je nutné ji nejdříve opustit nebo se vzdát členství.
org_still_own_repo=Tato organizace stále vlastní repositáře, musíte je nejdříve smazat nebo předat.
target_branch_not_exist=Cílová větev neexistuje.
[user]
change_avatar=Změnit vaši uživatelskou ikonu
join_on=Připojil se dne
repositories=Repositáře
join_on=Zaregistroval se dne
repositories=Repozitáře
activity=Veřejná aktivita
followers=Sledující
starred=Oblíbené repositáře
@@ -263,7 +266,7 @@ form.name_pattern_not_allowed=Vzor uživatelského jména '%s' není povolen.
profile=Profil
password=Heslo
avatar=Uživatelská ikona
ssh_keys=Klíče SSH
ssh_keys=SSH klíče
security=Bezpečnost
repos=Repositáře
orgs=Organizace
@@ -314,20 +317,20 @@ 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_success=Vaše nová e-mailová adresa byla přidána.
manage_ssh_keys=Správa klíčů SSH
manage_ssh_keys=Správa SSH klíčů
add_key=Přidat klíč
ssh_desc=Toto je seznam klíčů SSH vašeho účtu. Jelikož tyto samotné klíče umožňují přístup k vašim repositářům, je velmi důležité, abyste je rozpoznal.
ssh_helper=<strong>Nevíte jak?</strong> Podívejte se do příručky GitHubu na to <a href="%s">vytvoření vlastních klíčů SSH</a> nebo vyřešte <a href="%s">bežné problémy</a>, se kterými se můžete potkat při použití SSH.
add_new_key=Přidat klíč SSH
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.
add_new_key=Přidat SSH klíč
ssh_key_been_used=Obsah veřejného klíče byl použit.
ssh_key_name_used=Veřejný klíč se stejným jménem již existuje.
key_name=Název klíče
key_content=Obsah
add_key_success=Nový klíč SSH '%s' byl přidán!
add_key_success=Byl přidán nový SSH klíč '%s'!
delete_key=Smazat
ssh_key_deletion=Smazání klíče SSH
ssh_key_deletion=Smazání SSH klíče
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=Klíč SSH byl smazán!
ssh_key_deletion_success=SSH klíč byl úspěšně smazán!
add_on=Přidán dne
last_used=Naposledy použit dne
no_activity=Žádná aktuální aktivita
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Nebo zadejte tajný kód:
two_factor_then_enter_passcode=Pak zadejte přístupový kód:
two_factor_verify=Ověřit
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_success=Dvoufaktorové ověření bylo pro váš účet povoleno!
two_factor_recovery_codes_title=Obnovovací kódy dvoufaktorového ověření
@@ -417,6 +421,8 @@ mirror_last_synced=Naposledy synchronizováno
watchers=Sledující
stargazers=Sledující
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.name_reserved=Název repositáře '%s' je rezervován.
@@ -459,7 +465,7 @@ filter_branch_and_tag=Filtr pro větev nebo značku
branches=Větve
tags=Značky
issues=Úkoly
pulls=Požadavky na natažení
pulls=Pull Requesty
labels=Štítky
milestones=Milníky
commits=Revize
@@ -514,6 +520,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.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_delete_file=Failed to delete file '%s' with error: %v
editor.add_subdir=Přidat podadresář...
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'
@@ -616,6 +623,7 @@ pulls.compare_compare=porovnat
pulls.filter_branch=Filtrovat větev
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_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.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>
@@ -631,6 +639,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.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.create_merge_commit=Vytvořit slučovací commit
pulls.rebase_before_merging=Rebase before merging
pulls.commit_description=Popis Commitu
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.delete_branch=Smazat větev
@@ -735,7 +746,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.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.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=Ignorovat změny v netisknutelných znacích
settings.pulls.allow_rebase_merge=Povolit použití reabse pro slučovací commity
settings.danger_zone=Nebezpečná zóna
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.
@@ -814,10 +827,10 @@ settings.event_push=Odeslat
settings.event_push_desc=Odeslání pomocí Gitu do repositáře
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_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_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_desc=Vydání vystaveno v repositáři.
settings.active=Aktivní
@@ -830,13 +843,14 @@ settings.recent_deliveries=Nedávné dodávky
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_discord_hook_desc=Přidat integraci <a href="%s">Discord</a> do vašeho repositáře.
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_domain=Doména
settings.slack_channel=Kanál
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.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í klíče SSH.
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.title=Název
settings.deploy_key_content=Obsah
@@ -846,6 +860,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_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.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Dostupné znaky
diff.browse_source=Procházet zdrojové kódy
diff.parent=rodič
@@ -901,7 +917,7 @@ people=Lidé
invite_someone=Přizvěte někoho
teams=Týmy
lower_members=členové
lower_repositories=repositáře
lower_repositories=repozitáře
create_new_team=Vytvořit nový tým
org_desc=Popis
team_name=Název týmu
@@ -965,9 +981,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.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.repositories=Repositáře týmu
teams.repositories=Repozitáře týmu
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.add_nonexistent_repo=Repositář, který se snažíte přidat, neexistuje. Nejdříve jej vytvořte, prosím.
@@ -975,7 +991,7 @@ teams.add_nonexistent_repo=Repositář, který se snažíte přidat, neexistuje.
dashboard=Přehled
users=Uživatelé
organizations=Organizace
repositories=Repositáře
repositories=Repozitáře
authentication=Způsoby ověření
config=Nastavení
notices=Systémová oznámení
@@ -1081,11 +1097,12 @@ repos.stars=Oblíbení
repos.issues=Úkoly
repos.size=Velikost
auths.auth_manage_panel=Panel správy způsobů ověřová
auths.auth_sources=Zdroje ověře
auths.new=Přidat nový zdroj
auths.name=Název
auths.type=Typ
auths.enabled=Povolený
auths.default=Výchozí
auths.updated=Změněné
auths.auth_type=Typ ověření
auths.auth_name=Název ověření
@@ -1094,20 +1111,21 @@ auths.domain=Doména
auths.host=Server
auths.port=Port
auths.bind_dn=Připojení DN
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_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_dn=DN uživatele
auths.attribute_username=Uživatelské jméno
auths.attribute_username=Atribut uživatelského jména
auths.attribute_username_placeholder=Nechte toto pole prázdné pro použití hodnoty pole uživatelského jména z přihlašovacího formuláře.
auths.attribute_name=First Name Attribute
auths.attribute_surname=Příjmení
auths.attribute_mail=E-mailová adresa
auths.verify_group_membership=Verify group membership
auths.group_search_base_dn=Group Search Base DN
auths.group_filter=Group Filter
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
auths.user_attribute_listed_in_group=User Attribute Listed in Group
auths.attribute_name=Atribut křestního jména
auths.attribute_surname=Atribut příjmení
auths.attribute_mail=Atribut e-mailové adresy
auths.verify_group_membership=Ověřovat členství ve skupině
auths.group_search_base_dn=Základní DN pro vyhledávání skupin
auths.group_filter=Skupinový filtr
auths.group_attribute_contain_user_list=Skupinový atribut, který obsahuje seznam uživatelů
auths.user_attribute_listed_in_group=Atribut uživatele (ve skupině)
auths.attributes_in_bind=Vyzvednout atributy v kontextu Bind DN
auths.filter=Uživatelský filtr
auths.admin_filter=Správcovský filtr
@@ -1121,9 +1139,9 @@ auths.enable_tls=Povolit šifrování TLS
auths.skip_tls_verify=Přeskočit ověření TLS
auths.pam_service_name=Název služby PAM
auths.enable_auto_register=Povolit zaregistrování se
auths.tips=Tipy
auths.edit=Upravit nastavení ověřování
auths.activated=Tento způsob ověřování je aktivní
auths.default_auth=This authentication is default login source
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=Změnit nastavení ověřování
@@ -1134,6 +1152,7 @@ auths.still_in_used=Tento způsob ověřování je stále používán některým
auths.deletion_success=Způsob ověřování byl smazán!
auths.login_source_exist=Zdroj přihlášení '%s' již existuje.
config.not_set=(není nastaveno)
config.server_config=Nastavení serveru
config.app_name=Název aplikace
config.app_ver=Verze aplikace
@@ -1155,6 +1174,7 @@ config.ssh_domain=Doména
config.ssh_port=Port
config.ssh_listen_port=Port pro naslouchání
config.ssh_root_path=Kořenová cesta
config.ssh_rewrite_authorized_keys_at_start=Přepsat authorized_keys při startu
config.ssh_key_test_path=Cesta testu klíčů
config.ssh_keygen_path=Cesta ke generátoru klíčů ('ssh-keygen')
config.ssh_minimum_key_size_check=Kontrola minimální velikosti klíčů
@@ -1170,12 +1190,15 @@ config.disable_http_git=Vypnout HTTP Git
config.enable_local_path_migration=Povolit migraci z místní cesty
config.commits_fetch_concurrency=Souběžnost vyzvednutí revizí
config.http_config=Nastavení HTTP
config.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Nastavení databáze
config.db_type=Typ
config.db_host=Server
config.db_name=Název
config.db_user=Uživatel
config.db_ssl_mode=Režim SSL
config.db_ssl_mode=SSL režim
config.db_ssl_mode_helper=(pouze pro 'postgres')
config.db_path=Cesta
config.db_path_helper=(pro "sqlite3" a "tidb")
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Přeskočit ověření TLS
config.mailer_config=Nastavení odesílání e-mailů
config.mailer_enabled=Povolený
config.mailer_disable_helo=Vypnout HELO
config.mailer_name=Název
config.mailer_subject_prefix=Subject Prefix
config.mailer_host=Server
config.mailer_user=Uživatel
config.send_test_mail=Odeslat zkušební E-mail
@@ -1272,7 +1295,6 @@ notices.delete_success=Systémová upozornění byla smazána.
[action]
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>
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
@@ -1289,6 +1311,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>
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>
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=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]
ago=před

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Haben Sie bereits ein Konto? Jetzt anmelden!
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_mail=Es tut uns leid, die Bestätigung der Registrierungs-E-Mail wurde deaktiviert.
auth_source=Authentifizierungsquelle
local=Lokalisierung
remember_me=Angemeldet bleiben
forgot_password=Passwort vergessen
forget_password=Passwort vergessen?
@@ -229,6 +231,7 @@ org_name_been_taken=Organisationsname ist bereits vergeben.
team_name_been_taken=Teamname ist bereits vergeben.
email_been_used=E-Mail-Adresse wird bereits verwendet.
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_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.
@@ -319,7 +322,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_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
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.
key_name=Schlüsselname
key_content=Inhalt
@@ -348,6 +351,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_verify=Bestätigen
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_success=Die Zwei-Faktor-Authentifizierung wurde für Ihr Konto erfolgreich aktiviert!
two_factor_recovery_codes_title=Zwei-Faktor-Authentifizierung-Wiederherstellungscodes
@@ -417,6 +421,8 @@ mirror_last_synced=Zuletzt synchronisiert
watchers=Beobachter
stargazers=In Favoriten von
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.name_reserved=Repository-Name '%s' ist reserviert.
@@ -450,7 +456,7 @@ quick_guide=Kurzanleitung
clone_this_repo=Dieses Repository klonen
create_new_repo_command=Erstellen Sie ein neues Repository mittels der Kommandozeile
push_exist_repo=Bestehendes Repository von der Kommandozeile pushen
bare_message=Dies Repository hat noch keinen Inhalt.
bare_message=Dieses Repository hat noch keinen Inhalt.
files=Dateien
branch=Branch
@@ -514,6 +520,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.no_changes_to_show=Keine Änderungen vorhanden.
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.unable_to_upload_files=Fehler beim Hochladen der Dateien zu '%s'. Fehler: %v
editor.upload_files_to_dir=Dateien hochladen nach '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=vergleichen
pulls.filter_branch=Branch filtern
pulls.no_results=Keine Ergebnisse verfügbar.
pulls.nothing_to_compare=Es gibt nichts zu vergleichen, da Base- und Head-Branch gleich sind.
pulls.nothing_merge_base=Es gibt nichts zu vergleichen, da beide Zweige eine komplett unterschiedliche Historie haben.
pulls.has_pull_request=`Es existiert bereits ein Pull-Request zwischen diesen beiden Zielen: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Pull-Request erstellen
pulls.title_desc=möchte %[1]d Commits von <code>%[2]s</code> nach <code>%[3]s</code> zusammenführen
@@ -631,6 +639,9 @@ pulls.is_checking=Die Konfliktprüfung läuft noch. Bitte aktualisieren Sie die
pulls.can_auto_merge_desc=Dieser Pull-Request kann automatisch zusammengeführt werden.
pulls.cannot_auto_merge_desc=Dieser Pull-Request kann nicht automatisch zusammengeführt werden, da es Konflikte gibt.
pulls.cannot_auto_merge_helper=Bitte manuell zusammenführen, um die Konflikte zu lösen.
pulls.create_merge_commit=Erstelle einen Merge-Commit
pulls.rebase_before_merging=Rebase vor dem Zusammenführen
pulls.commit_description=Commit Beschreibung
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.delete_branch=Zweig löschen
@@ -641,8 +652,8 @@ milestones.open_tab=%d offen
milestones.close_tab=%d geschlossen
milestones.closed=Geschlossen %s
milestones.no_due_date=Kein Fälligkeitsdatum
milestones.open=Offen
milestones.close=Geschlossen
milestones.open=Öffnen
milestones.close=Schließen
milestones.new_subheader=Erstellen Sie Meilensteine, um ihre Issues zu organisieren.
milestones.create=Meilenstein erstellen
milestones.title=Titel
@@ -735,7 +746,9 @@ settings.tracker_issue_style=Namenskonvention des externen Issue-Trackers:
settings.tracker_issue_style.numeric=Numerisch
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.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.allow_rebase_merge=Die Verwendung von Rebase erlauben, um Commits zu mergen
settings.danger_zone=Gefahrenzone
settings.cannot_fork_to_same_owner=Besitzer kann das Repository nicht forken.
settings.new_owner_has_same_repo=Der neue Eigentümer hat bereits ein Repository mit dem gleichen Namen. Bitte wählen Sie einen anderen Namen.
@@ -745,12 +758,12 @@ settings.convert_notices_1=- Dieser Vorgang wandelt das Mirror-Repository in ein
settings.convert_confirm=Umwandlung bestätigen
settings.convert_succeed=Das Repository wurde erfolgreich in ein normales Repository umgewandelt.
settings.transfer=Besitz übertragen
settings.transfer_desc=Dieses Repository auf einen anderen Benutzer bzw. eine Organisation in der Sie Admin-Rechte haben übertragen.
settings.transfer_desc=Dieses Repository auf einen anderen Benutzer oder eine Organisation, in der Sie Admin-Rechte haben, übertragen.
settings.transfer_notices_1=- Sie werden keinen Zugriff mehr haben, wenn der neue Besitzer ein individueller Benutzer ist.
settings.transfer_notices_2=- Sie werden weiterhin Zugriff haben, wenn der neue Besitzer eine Organisation ist und Sie einer der Besitzer sind.
settings.transfer_form_title=Bitte geben Sie die folgenden Informationen ein, um die Operation zu bestätigen:
settings.wiki_delete=Wiki-Daten löschen
settings.wiki_delete_desc=Das Löschen von Wiki Daten kann nicht rückgängig gemacht werden. Bitte seien Sie vorsichtig.
settings.wiki_delete_desc=Das Löschen von Wiki-Daten kann nicht rückgängig gemacht werden. Bitte seien Sie vorsichtig.
settings.wiki_delete_notices_1=- Dies löscht und deaktiviert das Wiki für %s
settings.wiki_deletion_success=Repository Wiki Daten erfolgreich gelöscht.
settings.delete=Dieses Repository löschen
@@ -814,10 +827,10 @@ settings.event_push=Push
settings.event_push_desc=Git push auf ein Repository
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_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_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_desc=Release in Repository veröffentlicht.
settings.active=Aktiv
@@ -830,6 +843,7 @@ settings.recent_deliveries=Letzte Zustellungen
settings.hook_type=Hook Typ
settings.add_slack_hook_desc=Fügen Sie <a href="%s">Slack</a>-Integration zu Ihrem Repository hinzu.
settings.add_discord_hook_desc=Fügen Sie <a href="%s">Discord</a>-Integration zu Ihrem Repository hinzu.
settings.add_dingtalk_hook_desc=<a href="%s">Dingtalk</a>-Integration zu deinem Repository hinzufügen.
settings.slack_token=Token
settings.slack_domain=Domain
settings.slack_channel=Kanal
@@ -846,6 +860,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_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.description_desc=Beschreibung des Repository. Maximal 512 Zeichen.
settings.description_length=Verfügbare Zeichen
diff.browse_source=Quellcode durchsuchen
diff.parent=Ursprung
@@ -1003,7 +1019,7 @@ dashboard.git_gc_repos=Garbage Collection auf Repositories ausführen
dashboard.git_gc_repos_success=Garbage Collection wurde auf allen Repositories erfolgreich ausgeführt.
dashboard.resync_all_sshkeys=Datei '.ssh/authorized_keys' neu anlegen (Achtung: Schlüssel, die nicht zu Gogs gehören gehen verloren)
dashboard.resync_all_sshkeys_success=Alle öffentlichen Keys wurden erfolgreich neu geschrieben.
dashboard.resync_all_hooks=Synchronisiere pre-receive, update und post-receive Hooks für alle Repositorien
dashboard.resync_all_hooks=Synchronisiere pre-receive, update und post-receive Hooks für alle Repositories
dashboard.resync_all_hooks_success=Pre-receive, update und post-receive Hooks aller Repositorien wurden erfolgreich synchronisiert.
dashboard.reinit_missing_repos=Alle Repository-Datensätze mit verloren gegangenen Git-Dateien neu initialisieren
dashboard.reinit_missing_repos_success=Alle Repository-Datensätze, die Git-Dateien verloren haben wurden erfolgreich neu initialisiert.
@@ -1081,11 +1097,12 @@ repos.stars=Favoriten
repos.issues=Issues
repos.size=Größe
auths.auth_manage_panel=Authentifizierung
auths.auth_sources=Authentifizierungsquelle
auths.new=Neue Quelle hinzufügen
auths.name=Name
auths.type=Typ
auths.enabled=Aktiviert
auths.default=Standard
auths.updated=Aktualisiert
auths.auth_type=Authentifizierungstyp
auths.auth_name=Authentifizierungsname
@@ -1094,6 +1111,7 @@ auths.domain=Domain
auths.host=Host
auths.port=Port
auths.bind_dn=DN binden
auths.bind_dn_helper=Sie können "%s" als Platzhalter für den Benutzernamen einsetzen, z.B. DOM\%s
auths.bind_password=Passwort binden
auths.bind_password_helper=Achtung: Das Passwort wird im Klartext gespeichert. Benutzen Sie kein Konto mit hoher Berechtigungsstufe.
auths.user_base=Basis für Benutzersuche
@@ -1121,9 +1139,9 @@ auths.enable_tls=TLS-Verschlüsselung aktivieren
auths.skip_tls_verify=TLS-Prüfung überspringen
auths.pam_service_name=PAM Dienstname
auths.enable_auto_register=Automatische Registrierung aktivieren
auths.tips=Tipps
auths.edit=Authentifizierungseinstellungen bearbeiten
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.update_success=Die Authentifizierungseinstellungen wurden erfolgreich aktualisiert.
auths.update=Authentifizierungseinstellungen aktualisieren
@@ -1134,6 +1152,7 @@ auths.still_in_used=Diese Authentifizierung wird noch von einigen Benutzern verw
auths.deletion_success=Authentifizierung wurde erfolgreich gelöscht!
auths.login_source_exist=Login-Quelle '%s' ist bereits vorhanden.
config.not_set=(nicht festgelegt)
config.server_config=Serverkonfiguration
config.app_name=Name der Anwendung
config.app_ver=Anwendungsversion
@@ -1155,6 +1174,7 @@ config.ssh_domain=Domain
config.ssh_port=Port
config.ssh_listen_port=Listen Port
config.ssh_root_path=Verzeichnis
config.ssh_rewrite_authorized_keys_at_start=Beim Start authorized_keys umschreiben
config.ssh_key_test_path=Schlüssel-Test-Pfad
config.ssh_keygen_path=Keygen ('ssh-keygen') Pfad
config.ssh_minimum_key_size_check=Prüfung der Mindestschlüssellänge
@@ -1170,6 +1190,9 @@ config.disable_http_git=Deaktiviere HTTP-Git
config.enable_local_path_migration=Erlaube Migration von lokalem Pfad
config.commits_fetch_concurrency=Anzahl gleichzeitiger Commit-/Fetch-Prozesse
config.http_config=HTTP-Konfiguration
config.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Datenbankkonfiguration
config.db_type=Typ
config.db_host=Host
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=TLS verifikation überspringen
config.mailer_config=Mailer-Konfiguration
config.mailer_enabled=Aktiviert
config.mailer_disable_helo=HELO Deaktivieren
config.mailer_name=Name
config.mailer_subject_prefix=Betreff-Präfix
config.mailer_host=Host
config.mailer_user=Benutzer
config.send_test_mail=Test-E-Mail senden
@@ -1272,7 +1295,6 @@ notices.delete_success=Systemmitteilungen wurden erfolgreich gelöscht.
[action]
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
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
@@ -1284,11 +1306,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`
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`
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
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
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]
ago=vor

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Already have an account? Sign in 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_mail=Sorry, Register Mail Confirmation has been disabled.
auth_source=Authentication Source
local=Local
remember_me=Remember Me
forgot_password=Forgot Password
forget_password=Forgot password?
@@ -229,6 +231,7 @@ org_name_been_taken=Organisation name has already been taken.
team_name_been_taken=Team name has already been taken.
email_been_used=Email address has already been used.
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_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.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
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_success=Two-factor authentication has enabled for your account successfully!
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -417,6 +421,8 @@ mirror_last_synced=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=The owner has reached maximum creation limit of %d repositories.
form.name_reserved=Repository name '%s' is reserved.
@@ -514,6 +520,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.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_delete_file=Failed to delete file '%s' with error: %v
editor.add_subdir=Add subdirectory...
editor.unable_to_upload_files=Failed to upload files to '%s' with error: %v
editor.upload_files_to_dir=Upload files to '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=compare
pulls.filter_branch=Filter branch
pulls.no_results=No results found.
pulls.nothing_to_compare=There is nothing to compare because base and head branches are even.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`There is already a pull request between these two targets: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Create Pull Request
pulls.title_desc=wants to merge %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=The conflict checking is still in progress, please refresh pag
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_helper=Please merge manually in order to resolve the conflicts.
pulls.create_merge_commit=Create a merge commit
pulls.rebase_before_merging=Rebase before merging
pulls.commit_description=Commit Description
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.delete_branch=Delete Branch
@@ -735,7 +746,9 @@ settings.tracker_issue_style=External Issue Tracker Naming Style:
settings.tracker_issue_style.numeric=Numeric
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.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.allow_rebase_merge=Allow use rebase to merge commits
settings.danger_zone=Danger Zone
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.
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=Repository wiki data have been erased successfull
settings.delete=Delete This Repository
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_2=- This operation will permanently delete the everything of this repository, including Git data, issues, comments and accesses of collaborators.
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.deletion_success=Repository has been deleted successfully!
settings.update_settings_success=Repository options has been updated successfully.
@@ -814,10 +827,10 @@ settings.event_push=Push
settings.event_push_desc=Git push to a repository
settings.event_issues=Issues
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_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_desc=Release published in a repository.
settings.active=Active
@@ -830,6 +843,7 @@ settings.recent_deliveries=Recent Deliveries
settings.hook_type=Hook Type
settings.add_slack_hook_desc=Add <a href="%s">Slack</a> integration to your repository.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Token
settings.slack_domain=Domain
settings.slack_channel=Channel
@@ -846,6 +860,8 @@ settings.add_key_success=New deploy key '%s' has been added successfully!
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_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.parent=parent
@@ -1081,11 +1097,12 @@ repos.stars=Stars
repos.issues=Issues
repos.size=Size
auths.auth_manage_panel=Authentication Manage Panel
auths.auth_sources=Authentication Sources
auths.new=Add New Source
auths.name=Name
auths.type=Type
auths.enabled=Enabled
auths.default=Default
auths.updated=Updated
auths.auth_type=Authentication Type
auths.auth_name=Authentication Name
@@ -1094,6 +1111,7 @@ auths.domain=Domain
auths.host=Host
auths.port=Port
auths.bind_dn=Bind DN
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
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.user_base=User Search Base
@@ -1121,9 +1139,9 @@ auths.enable_tls=Enable TLS Encryption
auths.skip_tls_verify=Skip TLS Verify
auths.pam_service_name=PAM Service Name
auths.enable_auto_register=Enable Auto Registration
auths.tips=Tips
auths.edit=Edit Authentication Setting
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.update_success=Authentication setting has been updated successfully.
auths.update=Update Authentication Setting
@@ -1134,6 +1152,7 @@ auths.still_in_used=This authentication is still used by some users, please dele
auths.deletion_success=Authentication has been deleted successfully!
auths.login_source_exist=Login source '%s' already exists.
config.not_set=(not set)
config.server_config=Server Configuration
config.app_name=Application Name
config.app_ver=Application Version
@@ -1155,6 +1174,7 @@ config.ssh_domain=Domain
config.ssh_port=Port
config.ssh_listen_port=Listen Port
config.ssh_root_path=Root Path
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_key_test_path=Key Test Path
config.ssh_keygen_path=Keygen ('ssh-keygen') Path
config.ssh_minimum_key_size_check=Minimum Key Size Check
@@ -1170,6 +1190,9 @@ 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.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Database Configuration
config.db_type=Type
config.db_host=Host
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Skip TLS Verify
config.mailer_config=Mailer Configuration
config.mailer_enabled=Enabled
config.mailer_disable_helo=Disable HELO
config.mailer_name=Name
config.mailer_subject_prefix=Subject Prefix
config.mailer_host=Host
config.mailer_user=User
config.send_test_mail=Send Test Email
@@ -1272,7 +1295,6 @@ notices.delete_success=System notices have been deleted successfully.
[action]
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>
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
@@ -1289,6 +1311,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>
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>
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]
ago=ago

View File

@@ -151,6 +151,8 @@ register_hepler_msg = Already have an account? Sign in 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_mail = Sorry, email services are disabled. Please contact the site administrator.
auth_source = Authentication Source
local = Local
remember_me = Remember Me
forgot_password= Forgot Password
forget_password = Forgot password?
@@ -229,6 +231,7 @@ org_name_been_taken = Organization name has already been taken.
team_name_been_taken = Team name has already been taken.
email_been_used = Email address has already been used.
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_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.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret = Or enter the secret:
two_factor_then_enter_passcode = Then enter passcode:
two_factor_verify = Verify
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_success = Two-factor authentication has enabled for your account successfully!
two_factor_recovery_codes_title = Two-factor Authentication Recovery Codes
@@ -417,6 +421,8 @@ mirror_last_synced = 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 = The owner has reached maximum creation limit of %d repositories.
form.name_reserved = Repository name '%s' is reserved.
@@ -514,6 +520,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.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_delete_file = Failed to delete file '%s' with error: %v
editor.add_subdir = Add subdirectory...
editor.unable_to_upload_files = Failed to upload files to '%s' with error: %v
editor.upload_files_to_dir = Upload files to '%s'
@@ -632,6 +639,9 @@ pulls.is_checking = The conflict checking is still in progress, please refresh p
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_helper = Please merge manually in order to resolve the conflicts.
pulls.create_merge_commit = Create a merge commit
pulls.rebase_before_merging = Rebase before merging
pulls.commit_description = Commit Description
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.delete_branch = Delete Branch
@@ -736,7 +746,9 @@ settings.tracker_issue_style = External Issue Tracker Naming Style:
settings.tracker_issue_style.numeric = Numeric
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.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.allow_rebase_merge = Allow use rebase to merge commits
settings.danger_zone = Danger Zone
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.
@@ -757,7 +769,7 @@ settings.wiki_deletion_success = Repository wiki data have been erased successfu
settings.delete = Delete This Repository
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_2 = - This operation will permanently delete the everything of this repository, including Git data, issues, comments and accesses of collaborators.
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.deletion_success = Repository has been deleted successfully!
settings.update_settings_success = Repository options has been updated successfully.
@@ -802,9 +814,9 @@ settings.slack_username = Username
settings.slack_icon_url = Icon URL
settings.slack_color = Color
settings.event_desc = When should this webhook be triggered?
settings.event_push_only = Just the <code>push</code> event.
settings.event_send_everything = I need <strong>everything</strong>.
settings.event_choose = Let me choose what I need.
settings.event_push_only = Just the <code>push</code> event
settings.event_send_everything = I need <strong>everything</strong>
settings.event_choose = Let me choose what I need
settings.event_create = Create
settings.event_create_desc = Branch or tag created
settings.event_delete = Delete
@@ -815,10 +827,10 @@ settings.event_push = Push
settings.event_push_desc = Git push to a repository
settings.event_issues = Issues
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_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_desc = Release published in a repository.
settings.active = Active
@@ -831,6 +843,7 @@ settings.recent_deliveries = Recent Deliveries
settings.hook_type = Hook Type
settings.add_slack_hook_desc = Add <a href="%s">Slack</a> integration to your repository.
settings.add_discord_hook_desc = Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc = Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token = Token
settings.slack_domain = Domain
settings.slack_channel = Channel
@@ -847,6 +860,8 @@ settings.add_key_success = New deploy key '%s' has been added successfully!
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_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.parent = parent
@@ -1082,11 +1097,12 @@ repos.stars = Stars
repos.issues = Issues
repos.size = Size
auths.auth_manage_panel = Authentication Manage Panel
auths.auth_sources = Authentication Sources
auths.new = Add New Source
auths.name = Name
auths.type = Type
auths.enabled = Enabled
auths.default = Default
auths.updated = Updated
auths.auth_type = Authentication Type
auths.auth_name = Authentication Name
@@ -1095,6 +1111,7 @@ auths.domain = Domain
auths.host = Host
auths.port = Port
auths.bind_dn = Bind DN
auths.bind_dn_helper = You can use '%s' as placeholder for username, e.g. DOM\%s
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.user_base = User Search Base
@@ -1122,9 +1139,9 @@ auths.enable_tls = Enable TLS Encryption
auths.skip_tls_verify = Skip TLS Verify
auths.pam_service_name = PAM Service Name
auths.enable_auto_register = Enable Auto Registration
auths.tips = Tips
auths.edit = Edit Authentication Setting
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.update_success = Authentication setting has been updated successfully.
auths.update = Update Authentication Setting
@@ -1134,7 +1151,9 @@ 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.deletion_success = Authentication has been deleted successfully!
auths.login_source_exist = Login source '%s' already exists.
auths.github_api_endpoint = API Endpoint
config.not_set = (not set)
config.server_config = Server Configuration
config.app_name = Application Name
config.app_ver = Application Version
@@ -1156,6 +1175,7 @@ config.ssh_domain = Domain
config.ssh_port = Port
config.ssh_listen_port = Listen Port
config.ssh_root_path = Root Path
config.ssh_rewrite_authorized_keys_at_start = Rewrite authorized_keys At Start
config.ssh_key_test_path = Key Test Path
config.ssh_keygen_path = Keygen ('ssh-keygen') Path
config.ssh_minimum_key_size_check = Minimum Key Size Check
@@ -1171,6 +1191,9 @@ 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.http_access_control_allow_origin = Access Control Allow Origin
config.db_config = Database Configuration
config.db_type = Type
config.db_host = Host
@@ -1200,7 +1223,7 @@ config.skip_tls_verify = Skip TLS Verify
config.mailer_config = Mailer Configuration
config.mailer_enabled = Enabled
config.mailer_disable_helo = Disable HELO
config.mailer_name = Name
config.mailer_subject_prefix = Subject Prefix
config.mailer_host = Host
config.mailer_user = User
config.send_test_mail = Send Test Email
@@ -1273,7 +1296,6 @@ notices.delete_success = System notices have been deleted successfully.
[action]
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>
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
@@ -1290,6 +1312,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>
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>
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]
ago = ago

View File

@@ -119,7 +119,7 @@ sqlite3_not_available=Tu versión no soporta SQLite3, por favor descarga el bina
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
run_user_not_match=El usuario que está ejecutando la aplicación no es el usuario actual: %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address.
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
save_config_failed=Error al guardar la configuración: %v
invalid_admin_setting=La configuración de la cuenta de administración es inválida: %v
@@ -151,6 +151,8 @@ register_hepler_msg=¿Ya tienes una cuenta? ¡Inicia sesión!
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_mail=Lo sentimos. Los correos de Confirmación de Registro están deshabilitados.
auth_source=Authentication Source
local=Local
remember_me=Recuérdame
forgot_password=He olvidado mi contraseña
forget_password=¿Has olvidado tu contraseña?
@@ -170,12 +172,12 @@ password_too_short=La longitud de la contraseña no puede ser menor a 6.
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_passcode=Authentication Passcode
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
login_two_factor_recovery=Two-factor Recovery
login_two_factor_recovery_code=Recovery Code
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_passcode=Pin de autenticación
login_two_factor_enter_recovery_code=Introduce un código de recuperación de autenticación en dos pasos
login_two_factor_recovery=Recuperación de autenticación en dos pasos
login_two_factor_recovery_code=Código de recuperación
login_two_factor_enter_passcode=Introduce un Pin de autenticación a dos pasos
login_two_factor_invalid_recovery_code=El código de recuperación ya se ha utilizado o no es válido.
[mail]
activate_account=Por favor, active su cuenta
@@ -229,6 +231,7 @@ org_name_been_taken=Ya existe una organización 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.
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_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.
@@ -340,23 +343,24 @@ two_factor_on=Activado
two_factor_off=Desactivado
two_factor_enable=Activar
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=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_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_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_or_enter_secret=O introduzca el secreto:
two_factor_then_enter_passcode=Introduce el Pin:
two_factor_verify=Verificar
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
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_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_regenerate_recovery_codes=Regenerate Recovery Codes
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_invalid_passcode=¡El Pin que has introducido no es válido, por favor, inténtalo de nuevo!
two_factor_reused_passcode=¡El pin de autenticación que has introducido ya ha sido usado, por favor intenta con otro!
two_factor_enable_error=Ha fallado la activación de la autenticación en dos pasos: %v
two_factor_enable_success=¡La autenticación en dos pasos se ha activado en tu cuenta correctamente!
two_factor_recovery_codes_title=Códigos de recuperación para la autenticación en dos pasos
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=Regenerar códigos de recuperación
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_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!
manage_access_token=Gestionar los Tokens de Acceso personales
@@ -417,6 +421,8 @@ mirror_last_synced=Última sincronización
watchers=Seguidores
stargazers=Fans
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.name_reserved=El nombre del repositorio '%s' está reservado.
@@ -514,6 +520,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.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_delete_file=Error al borrar el fichero '%s', error: %v
editor.add_subdir=Añadir subdirectorio...
editor.unable_to_upload_files=Error al subir archivos a '%s', error: %v
editor.upload_files_to_dir=Subir archivos a '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=comparar con
pulls.filter_branch=Filtrar rama
pulls.no_results=Sin resultados.
pulls.nothing_to_compare=Nada que comparar. Las dos ramas coinciden.
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.create=Crear Pull Request
pulls.title_desc=desea fusionar %[1]d commits de <code>%[2]s</code> en <code>%[3]s</code>
@@ -631,6 +639,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.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.create_merge_commit=Crear un commit del fusionado
pulls.rebase_before_merging=Hacer rebase antes de fusionar
pulls.commit_description=Descripción del commit
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.delete_branch=Eliminar la rama
@@ -690,7 +701,7 @@ settings.branches_bare=No puedes gestionar ramas en un repositorio vacío. Por f
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.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.protected_branches=Ramas protegidas
settings.protected_branches_desc=Proteger ramas force pushing, de eliminación accidental y lista blanca de committers de código.
@@ -707,7 +718,7 @@ settings.protect_whitelist_users=Usuarios que pueden hacer push a esta rama
settings.protect_whitelist_search_users=Buscar usuarios
settings.protect_whitelist_teams=Equipos cuyos miembros pueden hacer push a esta rama
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.githooks=Git Hooks
settings.basic_settings=Configuración Básica
@@ -720,7 +731,7 @@ settings.change_reponame_prompt=Este cambio afectará a los enlaces al repositor
settings.advanced_settings=Ajustes avanzados
settings.wiki_desc=Activar sistema de wiki
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.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.
@@ -735,9 +746,11 @@ settings.tracker_issue_style=Estilo de etiquetado del tracker externo de inciden
settings.tracker_issue_style.numeric=Numé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.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=Ignorar los cambios en el espacio en blanco
settings.pulls.allow_rebase_merge=Permite usar rebase para fusionar los commits
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.convert=Convertir en un repositorio normal
settings.convert_desc=Puedes convertir este repositorio en un repositorio normal. Este cambio no se puede deshacer.
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=Los datos de la wiki del repositorio han sido bor
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_notices_1=- Esta operación <strong>NO PUEDE</strong> revertirse.
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_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.deletion_success=¡El respositorio ha sido eliminado satisfactoriamente!
settings.update_settings_success=Las opciones del repositorio se han actualizado correctamente.
@@ -780,8 +793,8 @@ settings.webhook_deletion_success=¡Webhook eliminado con éxito!
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_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=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=Reenviar
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.response=Respuesta
settings.webhook.headers=Encabezado
@@ -796,7 +809,7 @@ settings.add_webhook_desc=Enviaremos una petición <code>POST</code> a la siguie
settings.payload_url=URL de Payload
settings.content_type=Tipo de contenido
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_icon_url=URL de icono
settings.slack_color=Color
@@ -814,10 +827,10 @@ settings.event_push=Push
settings.event_push_desc=Git push a un repositorio
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_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_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_desc=Lanzamiento publicado en un repositorio.
settings.active=Activo
@@ -830,6 +843,7 @@ settings.recent_deliveries=Envíos Recientes
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_discord_hook_desc=Añade integración con <a href="%s">Slack</a> a tu repositorio.
settings.add_dingtalk_hook_desc=Añade integración con <a href="%s">Dingtalk</a> a tu repositorio.
settings.slack_token=Token
settings.slack_domain=Dominio
settings.slack_channel=Canal
@@ -846,6 +860,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_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.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.parent=padre
@@ -1003,8 +1019,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.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_hooks=Resync pre-receive, update and post-receive hooks of all repositories
dashboard.resync_all_hooks_success=All repositories' pre-receive, update and post-receive hooks have been resynced successfully.
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=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_success=Todos los registros del repositorio con archivos Git eliminados han sido reinicializados con éxito.
@@ -1081,11 +1097,12 @@ repos.stars=Estrellas
repos.issues=Incidencias
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.name=Nombre
auths.type=Tipo
auths.enabled=Activo
auths.default=Por defecto
auths.updated=Actualizado
auths.auth_type=Tipo de autenticación
auths.auth_name=Nombre de autenticación
@@ -1094,20 +1111,21 @@ auths.domain=Dominio
auths.host=Host
auths.port=Puerto
auths.bind_dn=Bind DN
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_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_dn=DN de Usuario
auths.attribute_username=Atributo de nombre de usuario
auths.attribute_username_placeholder=Dejar vacío para usar el campo de inicio de sesión como nombre de usuario.
auths.attribute_name=First Name Attribute
auths.attribute_name=Atributo nombre
auths.attribute_surname=Atributo apellido
auths.attribute_mail=Atributo correo electrónico
auths.verify_group_membership=Verify group membership
auths.group_search_base_dn=Group Search Base DN
auths.group_filter=Group Filter
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
auths.user_attribute_listed_in_group=User Attribute Listed in Group
auths.verify_group_membership=Verificar pertenencia a grupo
auths.group_search_base_dn=Base DN para la búsqueda de grupos
auths.group_filter=Filtro de grupo
auths.group_attribute_contain_user_list=Atributo de grupo que contiene la lista de usuarios
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.filter=Filtro de usuario
auths.admin_filter=Filtro de aministrador
@@ -1121,9 +1139,9 @@ auths.enable_tls=Habilitar cifrado TLS
auths.skip_tls_verify=Omitir la verificación TLS
auths.pam_service_name=Nombre del Servicio PAM
auths.enable_auto_register=Hablilitar Auto-Registro
auths.tips=Consejos
auths.edit=Editar la Configuración de Autenticación
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.update_success=La configuración de autenticación ha sido actualizada con éxito.
auths.update=Actualizar la configuración de autenticación
@@ -1134,6 +1152,7 @@ auths.still_in_used=Este método de autentificación aún es utilizado por algun
auths.deletion_success=¡La autenticación ha sido eliminada con éxito!
auths.login_source_exist=El origen de autenticación '%s' ya existe.
config.not_set=(sin definir)
config.server_config=Configuración del servidor
config.app_name=Nombre de la Aplicación
config.app_ver=Versión de la Aplicación
@@ -1155,6 +1174,7 @@ config.ssh_domain=Dominio
config.ssh_port=Puerto
config.ssh_listen_port=Puerto de escucha
config.ssh_root_path=Ruta raíz
config.ssh_rewrite_authorized_keys_at_start=Reescribir authorized_keys en el arranque
config.ssh_key_test_path=Ruta de la clave de prueba
config.ssh_keygen_path=Ruta del generador de claves ('ssh-keygen')
config.ssh_minimum_key_size_check=Tamaño mínimo de la clave de verificación
@@ -1168,7 +1188,10 @@ config.max_creation_limit=Limite máximo de creación
config.preferred_licenses=Licencias Preferidas
config.disable_http_git=Desactivar HTTP Git
config.enable_local_path_migration=Activar la migración de la ruta de acceso Local
config.commits_fetch_concurrency=Commits Fetch Concurrency
config.commits_fetch_concurrency=Concurrencia de la búsqueda de commits
config.http_config=Configuración HTTP
config.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Configuración de la Base de Datos
config.db_type=Tipo
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Omitir la Verificación TLS
config.mailer_config=Configuración del servidor de correo
config.mailer_enabled=Activado
config.mailer_disable_helo=Desactivar HELO
config.mailer_name=Nombre
config.mailer_subject_prefix=Prefijo del asunto
config.mailer_host=Host
config.mailer_user=Usuario
config.send_test_mail=Enviar email de prueba
@@ -1272,7 +1295,6 @@ notices.delete_success=Las notificaciones del sistema han sido eliminadas satisf
[action]
create_repo=creó el repositorio <a href="%s">%s</a>
fork_repo=forked a repository to <a href="%s">%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>
compare_commits=Ver comparación de estos %d commits
@@ -1284,11 +1306,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>`
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>`
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>
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>
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]
ago=hace

1347
conf/locale/locale_fa-IR.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -151,6 +151,8 @@ register_hepler_msg=On jo tili? Kirjaudu sisään nyt!
social_register_hepler_msg=On jo tili? Liitä nyt!
disable_register_prompt=Sori, rekisteröinti on poistettu käytöstä. Ole hyvä ja ota yhteyttä sivuston ylläpitoon.
disable_register_mail=Sori, rekisteröinti sähköpostivarmistukset on poistettu käytöstä.
auth_source=Authentication Source
local=Local
remember_me=Muista minut
forgot_password=Unohtuiko salasana
forget_password=Unohtuiko salasana?
@@ -229,6 +231,7 @@ org_name_been_taken=Organisaation nimi on jo käytössä.
team_name_been_taken=Tiimin nimi on jo käytössä.
email_been_used=Sähköpostiosoite on jo käytössä.
username_password_incorrect=Käyttäjätunnus tai salasana ei ole oikein.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Ole hyvä ja varmista että kirjoittamasi repon nimi on oikein.
enterred_invalid_owner_name=Ole hyvä ja varmista että kirjoittamasi omistajan nimi on oikein.
enterred_invalid_password=Ole hyvä ja varmista että kirjoittamasi salasana on oikein.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Tai kirjoita salaisuus:
two_factor_then_enter_passcode=Sitten kirjoita salasana:
two_factor_verify=Vahvista
two_factor_invalid_passcode=Kirjoittamasi salasana ei kelpaa, yritä uudelleen!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Ota käyttöön kaksivaiheinen todennus epäonnistui: %v
two_factor_enable_success=Kaksivaiheinen todennus on otettu käyttöön tilissäsi menestyksekkäästi!
two_factor_recovery_codes_title=Kaksivaiheinen todennus palautuskoodit
@@ -417,6 +421,8 @@ mirror_last_synced=Synkronoitu viimeksi
watchers=Tarkkailijat
stargazers=Tähtiharrastajat
forks=Haarat
repo_description_helper=Description of repository. Maximum 512 characters length.
repo_description_length=Available characters
form.reach_limit_of_creation=Omistaja on saavuttanut maksimi luontirajan %d repoa.
form.name_reserved=Repon nimi '%s' on varattu.
@@ -514,6 +520,7 @@ editor.file_changed_while_editing=Tiedoston sisältöä on muutettu aloittamises
editor.file_already_exists=Tiedosto '%s' on jo olemassa tässä repossa.
editor.no_changes_to_show=Ei muutoksia näytettäväksi.
editor.fail_to_update_file=Tiedoston '%s' päivitys/luonti epäonnistui virheeseen: %v
editor.fail_to_delete_file=Failed to delete file '%s' with error: %v
editor.add_subdir=Lisää alikansio...
editor.unable_to_upload_files=Tiedostojen lataus epäonnistui kansioon '%s' virheellä: %v
editor.upload_files_to_dir=Lataa tiedostoja kansioon '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=vertaa
pulls.filter_branch=Suodata branch
pulls.no_results=Tuloksia ei löytynyt.
pulls.nothing_to_compare=Ei ole mitään verrattavaa koska base ja head branchit ovat tasoissa.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`On olemassa jo pull pyyntö näiden kohteiden välillä: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Luo Pull-pyyntö
pulls.title_desc=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=Konfliktin tarkistus on yhä meneillään, ole hyvä ja päivi
pulls.can_auto_merge_desc=Tämä pull-pyyntö voidaan yhdistää automaattisesti.
pulls.cannot_auto_merge_desc=Tätä pull-pyyntöä ei voi yhdistää automaattisesti koska on konflikteja.
pulls.cannot_auto_merge_helper=Ole hyvä ja yhdistä manuaalisesti konfliktien ratkaisemiseksi.
pulls.create_merge_commit=Create a merge commit
pulls.rebase_before_merging=Rebase before merging
pulls.commit_description=Commit Description
pulls.merge_pull_request=Yhdistä Pull-pyyntö
pulls.open_unmerged_pull_exists=`Et voi suorittaa uudelleenavaus toimintoa koska on jo olemassa pull-pyyntö (#%d) samasta reposta samoilla yhdistämistiedoilla ja odottaa yhdistämistä.`
pulls.delete_branch=Poista haara
@@ -735,7 +746,9 @@ settings.tracker_issue_style=Ulkoisen virheenseurannan nimeämistyyli:
settings.tracker_issue_style.numeric=Numeerinen
settings.tracker_issue_style.alphanumeric=Aakkosnumeerinen
settings.tracker_url_format_desc=Voit käyttää paikkamerkkiä <code>{user} {repo} {index}</code> käyttäjänimelle, reponimelle ja vikanumerolle.
settings.pulls_desc=Ota käyttöön pull-pyynnöt salliaksesi julkiset koodilahjoitukset
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches
settings.pulls.ignore_whitespace=Ignore changes in whitespace
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
settings.danger_zone=Vaaravyöhyke
settings.cannot_fork_to_same_owner=Et voi forkata repoa alkuperäiselle omistajalleen.
settings.new_owner_has_same_repo=Uudella omistajalla on jo samanniminen repo. Ole hyvä ja valitse toinen nimi.
@@ -756,10 +769,10 @@ settings.wiki_deletion_success=Repo wiki tiedot on poistettu onnistuneesti.
settings.delete=Poista tämä repo
settings.delete_desc=Huomio, kun kerran poistat repon, niin ei ole paluuta. Varmista että haluat todella tehdä tämän.
settings.delete_notices_1=- Tätä toimintoa <strong>EI VOI</strong> peruuttaa myöhemmin.
settings.delete_notices_2=- Tämä toiminto poistaa pysyvästi kaikki tästä reposta, mukaanlukien Git tiedot, ongelmat, kommentit ja yhteistyökumppanien pääsyoikeudet.
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=- Kaikki haarat muuttuvat itsenäisiksi poiston jälkeen.
settings.deletion_success=Repo on poistettu onnistuneesti!
settings.update_settings_success=Repom asetukset on päivitetty onnistuneesti.
settings.update_settings_success=Repon asetukset on päivitetty onnistuneesti.
settings.transfer_owner=Uusi omistaja
settings.make_transfer=Tee siirto
settings.transfer_succeed=Arkiston omistusoikeus on siirretty onnistuneesti.
@@ -814,10 +827,10 @@ settings.event_push=Push
settings.event_push_desc=Git push repoon
settings.event_issues=Ongelmat
settings.event_issues_desc=Ongelma avattu, suljettu, uudelleenavattu, muokattu, annettu, anto vedottu, tarra päivitetty, tarra poistettu, merkkipaalutettu, tai poistettu merkkipaalu.
settings.event_issue_comment=Ongelman kommentti
settings.event_issue_comment_desc=Ongelman kommentti luotu, muokattu, tai poistettu.
settings.event_pull_request=Pull-pyyntö
settings.event_pull_request_desc=Pull-pyyntö avattu, suljettu, uudelleenavattu, muokattu, annettu, anto vedottu, tarra päivitetty, tarra poistettu, merkkipaalutettu, poistettu merkkipaalu, tai synkronoitu.
settings.event_issue_comment=Ongelman kommentti
settings.event_issue_comment_desc=Ongelman kommentti luotu, muokattu, tai poistettu.
settings.event_release=Julkaisu
settings.event_release_desc=Julkaisu julkaistu repoon.
settings.active=Aktiivinen
@@ -830,6 +843,7 @@ settings.recent_deliveries=Viimeisimmät toimitukset
settings.hook_type=Koukkutyyppi
settings.add_slack_hook_desc=Lisää <a href="%s">Slack</a> integraatio repoosi.
settings.add_discord_hook_desc=Lisää <a href="%s">Discord</a> integraatio repositoryysi.
settings.add_dingtalk_hook_desc=Lisää <a href="%s">Dingtalk</a> integraatio repositoryysi.
settings.slack_token=Pääsymerkki
settings.slack_domain=Verkkotunnus
settings.slack_channel=Kanava
@@ -846,6 +860,8 @@ settings.add_key_success=Uusi deploy avain '%s' on lisätty onnistuneesti!
settings.deploy_key_deletion=Poista deploy avain
settings.deploy_key_deletion_desc=Deploy avaimen poistaminen poistaa myös kaikki liitetyt käyttötiedot tästä reposta. Haluatko jatkaa?
settings.deploy_key_deletion_success=Deploy avain on poistettu onnistuneesti!
settings.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Available characters
diff.browse_source=Selaa lähdekoodia
diff.parent=vanhempi
@@ -1081,11 +1097,12 @@ repos.stars=Äänet
repos.issues=Ongelmat
repos.size=Koko
auths.auth_manage_panel=Todennus hallintapaneeli
auths.auth_sources=Authentication Sources
auths.new=Lisää uusi lähde
auths.name=Nimi
auths.type=Tyyppi
auths.enabled=Käytössä
auths.default=Default
auths.updated=Päivitetty
auths.auth_type=Todennustyyppi
auths.auth_name=Todennusnimi
@@ -1094,6 +1111,7 @@ auths.domain=Verkkotunnus
auths.host=Isäntä
auths.port=Portti
auths.bind_dn=Liitä DN
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
auths.bind_password=Liitä salasana
auths.bind_password_helper=Varoitus: Tämä salasana tallennetaan tavallisena tekstinä. Älä käytä korkeasti etuoikeutetulla tilillä.
auths.user_base=Käyttäjä hakuperuste
@@ -1121,9 +1139,9 @@ auths.enable_tls=Ota käyttöön TLS-salaus
auths.skip_tls_verify=Ohita TLS tarkistaminen
auths.pam_service_name=PAM palvelun nimi
auths.enable_auto_register=Ota käyttöön automaattinen rekisteröinti
auths.tips=Vinkit
auths.edit=Muokkaa todennusasetusta
auths.activated=Tämä todennus on aktivoitu
auths.default_auth=This authentication is default login source
auths.new_success=Uusi todennus '%s' on luotu onnistuneesti.
auths.update_success=Todennusasetus on päivitetty onnistuneesti.
auths.update=Päivitä todennusasetus
@@ -1134,6 +1152,7 @@ auths.still_in_used=Tämä todennus on yhä joidenkin käyttäjien käytössä,
auths.deletion_success=Todennus on poistettu onnistuneesti!
auths.login_source_exist=Kirjautumislähde '%s' on jo olemassa
config.not_set=(ei ole asetettu)
config.server_config=Palvelin asetukset
config.app_name=Sovellus nimi
config.app_ver=Sovellus versio
@@ -1155,6 +1174,7 @@ config.ssh_domain=Verkkotunnus
config.ssh_port=Portti
config.ssh_listen_port=Kuuntele porttia
config.ssh_root_path=Juuren polku
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_key_test_path=Polku jossa avaimet testataan
config.ssh_keygen_path=Keygen ('ssh-keygen') polku
config.ssh_minimum_key_size_check=Avaimen vähimmäiskoko tarkistus
@@ -1170,6 +1190,9 @@ config.disable_http_git=Poista käytöstä HTTP Git
config.enable_local_path_migration=Ota käyttöön paikallisen polun migraatio
config.commits_fetch_concurrency=Committien noudon samanaikaisuus
config.http_config=HTTP-asetukset
config.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Tietokannan asetukset
config.db_type=Tyyppi
config.db_host=Isäntä
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Ohita TLS tarkistaminen
config.mailer_config=Sähköpostipalvelin asetukset
config.mailer_enabled=Käytössä
config.mailer_disable_helo=Poista käytöstä HELO
config.mailer_name=Nimi
config.mailer_subject_prefix=Subject Prefix
config.mailer_host=Isäntä
config.mailer_user=Käyttäjä
config.send_test_mail=Lähetä testi sähköposti
@@ -1272,7 +1295,6 @@ notices.delete_success=Järjestelmän ilmoitukset on poistettu onnistuneesti.
[action]
create_repo=luotu repo <a href="%s">%s</a>
fork_repo=forkattu repo kohteeseen <a href="%s"> %s</a>
rename_repo=uudelleennimetty repo <code>%[1]s</code> nimelle <a href="%[2]s">%[3]s</a>
commit_repo=pushattu kohteeseen <a href="%[1]s/src/%[2]s">%[3]s</a> paikassa <a href="%[1]s">%[4]s</a>
compare_commits=Näytä vertailu näille %d commiteille
@@ -1289,6 +1311,10 @@ create_branch=luotu uusi haara <a href="%[1]s/src/%[2]s">%[3]s</a> kohteeseen <a
delete_branch=poistettu haara <code>%[2]s</code> kohteesta <a href="%[1]s">%[3]s</a>
push_tag=pushattu tagi <a href="%s/src/%s">%[2]s</a> kohteeseen <a href="%[1]s">%[3]s</a>
delete_tag=poistettu tagi <code>%[2]s</code> kohteesta <a href="%[1]s">%[3]s</a>
fork_repo=forkattu repo kohteeseen <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]
ago=sitten

View File

@@ -119,7 +119,7 @@ sqlite3_not_available=Votre version publiée ne prend pas en charge SQLite3. Veu
invalid_db_setting=Paramètres de base de données incorrects : %v
invalid_repo_path=Chemin vers la racine du dépôt invalide : %v
run_user_not_match=L'utilisateur d'exécution saisi n'est pas l'utilisateur d'exécution actuel : %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address.
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
save_config_failed=La sauvegarde de la configuration a échoué : %v
invalid_admin_setting=Paramètres du compte administrateur invalides : %v
@@ -151,6 +151,8 @@ register_hepler_msg=Déjà enregistré ? Connectez-vous !
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_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
forgot_password=Mot de passe oublié
forget_password=Mot de passe oublié ?
@@ -158,7 +160,7 @@ sign_up_now=Pas de compte ? Inscrivez-vous maintenant.
confirmation_mail_sent_prompt=Un nouveau mail de confirmation à été envoyé à <b>%s</b>. Veuillez vérifier votre boîte de réception dans un délai de %d heures pour compléter votre enregistrement.
active_your_account=Activer votre compte
prohibit_login=Connexion interdite
prohibit_login_desc=Votre compte est interdit de se connecter, contactez ladministrateur du site.
prohibit_login_desc=La connexion avec ce compte est interdite ; contactez l'administrateur du site.
resent_limit_prompt=Désolé, vos tentatives d'activation sont trop fréquentes. Veuillez réessayer dans 3 minutes.
has_unconfirmed_mail=Bonjour %s, votre adresse e-mail (<b>%s</b>) n'a pas été confirmée. Si vous n'avez reçu aucun mail de confirmation ou souhaitez renouveler l'envoi, cliquez sur le bouton ci-dessous.
resend_mail=Cliquez ici pour renvoyer un mail de confirmation
@@ -170,12 +172,12 @@ password_too_short=Le mot de passe doit contenir 6 caractères minimum.
non_local_account=Les comptes non locaux ne peuvent pas changer leur mot de passe via Gogs.
login_two_factor=Authentification en deux étapes
login_two_factor_passcode=Mot de passe dauthentification
login_two_factor_passcode=Mot de passe d'authentification
login_two_factor_enter_recovery_code=Entrez un code de récupération en deux étapes
login_two_factor_recovery=Récupération en deux étapes
login_two_factor_recovery_code=Code de récupération
login_two_factor_enter_passcode=Entrez un code d'authentification en deux étapes
login_two_factor_invalid_recovery_code=Code de récupération a été utilisé ou nest pas valide.
login_two_factor_invalid_recovery_code=Code de récupération a été utilisé ou n'est pas valide.
[mail]
activate_account=Veuillez activer votre compte
@@ -229,6 +231,7 @@ org_name_been_taken=Nom d'organisation déjà pris.
team_name_been_taken=Nom d'équipe déjà pris.
email_been_used=Adresse e-mail déjà utilisée.
username_password_incorrect=Nom d'utilisateur ou mot de passe incorrect.
auth_source_mismatch=La source dauthentification sélectionnée nest pas associée à lutilisateur.
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_password=Veuillez vérifier que le mot de passe saisi soit correct.
@@ -343,11 +346,12 @@ two_factor_disable=Désactiver
two_factor_view_recovery_codes=Voir et sauvegarder <a href="%s%s">vos codes de récupération</a> dans un endroit sécurisé. Vois pouvez les utiliser comme mot de passe si vous perdez l'accès à l'application d'authentification.
two_factor_http=Vous ne pouvez plus utiliser un nom d'utilisateur et mot de passe en clair pour les opérations en HTTP/HTTPS. Merci de créer et d'utiliser un <a href="%[1]s%[2]s">jeton d'accès personnel</a> comme moyen d'identification, par exemple <code>%[3]s</code>.
two_factor_enable_title=Activer l'authentification en deux étapes
two_factor_scan_qr=Veuillez utiliser votre application dauthentification pour numériser limage :
two_factor_scan_qr=Veuillez utiliser votre application d'authentification pour numériser l'image :
two_factor_or_enter_secret=Ou entrez la phrase secrète :
two_factor_then_enter_passcode=Puis entrez le mot de passe :
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_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_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
@@ -393,7 +397,7 @@ repo_name_helper=Idéalement, le nom d'un dépot devrait être court, mémorable
visibility=Visibilité
visiblity_helper=Ce dépôt est <span class="ui red text"> privé</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> !
fork_repo=Créer un fork du dépôt
fork_from=Fork de
@@ -417,6 +421,8 @@ mirror_last_synced=Dernière synchronisation
watchers=Observateurs
stargazers=Stargazers
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.name_reserved=Le nom de dépôt '%s' est réservé.
@@ -506,16 +512,17 @@ editor.new_branch_name_desc=Nouveau nom de la branche...
editor.cancel=Annuler
editor.filename_cannot_be_empty=Nom de fichier ne peut pas être vide.
editor.branch_already_exists=La branche '%s' existe déjà dans ce dépôt.
editor.directory_is_a_file=L'entrée '%s' dans le chemin daccès parent est un fichier pas un répertoire dans ce dépôt.
editor.directory_is_a_file=L'entrée '%s' dans le chemin d'accès parent est un fichier, pas un répertoire dans ce dépôt.
editor.file_is_a_symlink=Le fichier « %s » est un lien symbolique qui ne peut être modifié depuis l'éditeur web.
editor.filename_is_a_directory=Le nom de fichier '%s' existe déjà dans ce dépot.
editor.file_editing_no_longer_exists=Le fichier '%s' que vous modifiez n'existe plus dans le dépôt.
editor.file_changed_while_editing=Le contenu du fichier à changé depuis que vous avez commencé à l'éditer. <a target="_blank" href="%s">Cliquez ici</a> pour voir ce qui à été modifié ou <strong>appuyez sur commit encore une fois</strong> pour remplacer ces changements.
editor.file_already_exists=La branche '%s' existe déjà dans ce dépôt.
editor.no_changes_to_show=Il ny a aucun changement à afficher.
editor.fail_to_update_file=Échec lors de la mise à jour/création du fichier '%s' avec lerreur : %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 lerreur : %v
editor.add_subdir=Ajouter un sous-répertoire...
editor.unable_to_upload_files=Échec lors de l'envoie du fichier '%s' avec lerreur : %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'
commits.commit_history=Historique des commits
@@ -616,14 +623,15 @@ pulls.compare_compare=Comparer
pulls.filter_branch=Filtre de branche
pulls.no_results=Aucun résultat trouvé.
pulls.nothing_to_compare=Il n'y a rien de comparable parce que les deux branches sont égales.
pulls.has_pull_request=`Il y a déjà une demande de tirer entre ces deux cibles : <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Creer une Pull Request
pulls.nothing_merge_base=Il n'y a rien à comparer parce que les deux branches ont un historique complètement différent.
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.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_commits=Commits
pulls.tab_files=Fichiers modifiés
pulls.reopen_to_merge=Veuillez rouvrir cette demande de Pull Request pour effectuer l'opération de fusion.
pulls.reopen_to_merge=Veuillez rouvrir cette Pull Request pour effectuer l'opération de fusion.
pulls.merged=Fusionné
pulls.has_merged=Cette Pull Request a été fusionnée avec succès !
pulls.data_broken=Les données de cette pull request ont été compromises en raison de la suppression d'informations sur le fork.
@@ -631,6 +639,9 @@ pulls.is_checking=La recherche de conflits est toujours en cours, veuillez rafra
pulls.can_auto_merge_desc=Cette pull request peut être fusionnée automatiquement.
pulls.cannot_auto_merge_desc=Cette pull request ne peut être fusionnée automatiquement à cause de 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.rebase_before_merging=Rebaser avant la fusion
pulls.commit_description=Description du commit
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.delete_branch=Supprimer la branche
@@ -699,7 +710,7 @@ settings.branch_protection=Protection de branche
settings.branch_protection_desc=Sélectionnez les options de protection pour la branche <b>%s</b>.
settings.protect_this_branch=Protéger cette branche
settings.protect_this_branch_desc=Interdire les push forcés et empêcher la suppression.
settings.protect_require_pull_request=Exiger une requête de fusion plutôt qu'un push immédiat
settings.protect_require_pull_request=Exiger une pull request plutôt qu'un push immédiat
settings.protect_require_pull_request_desc=Activez cette option pour empêcher la publication immédiate vers cette branche. Les commits devront être publiés vers une autre branche (non protégée) et fusionnée dans cette branche avec une requête de fusion.
settings.protect_whitelist_committers=Liste blanche de personnes pouvant publier sur cette branche
settings.protect_whitelist_committers_desc=Ajouter des personnes ou des équipes à la liste blanche des fusions directes de cette branche. Les utilisateurs dans cette liste blanche passeront outre la nécessité de valider leurs requêtes de fusion.
@@ -726,7 +737,7 @@ settings.external_wiki_url=URL Wiki externe
settings.external_wiki_url_desc=Les visiteurs seront redirigés vers cette URL lorsqu'ils cliqueront sur l'onglet.
settings.issues_desc=Activer le système de tickets
settings.use_internal_issue_tracker=Utiliser le système simplifié de tickets interne
settings.allow_public_issues_desc=Permettre laccès du public aux tickets lorsque le dépôt est privé
settings.allow_public_issues_desc=Permettre l'accès du public aux tickets lorsque le dépôt est privé
settings.use_external_issue_tracker=Utiliser un bug-tracker externe
settings.external_tracker_url=Adresse de l'issue tracker externe
settings.external_tracker_url_desc=Les visiteurs seront redirigés vers cette URL lorsqu'ils cliqueront sur l'onglet.
@@ -735,7 +746,9 @@ settings.tracker_issue_style=Style de nommage des bugs du tracker externe :
settings.tracker_issue_style.numeric=Numé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.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.allow_rebase_merge=Autoriser l'utilisation de rebase pour fusionner les validations
settings.danger_zone=Zone de danger
settings.cannot_fork_to_same_owner=Vous ne pouvez par créer un fork d'un dépot à son propriétaire actuel.
settings.new_owner_has_same_repo=Le nouveau propriétaire a déjà un dépôt nommé ainsi.
@@ -757,7 +770,7 @@ settings.delete=Supprimer ce dépôt
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_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 leffacement.
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.update_settings_success=Options mises à jour avec succès.
settings.transfer_owner=Nouveau propriétaire
@@ -814,10 +827,10 @@ settings.event_push=Push
settings.event_push_desc=Git push vers un dépôt
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_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_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_desc=Requête de fusion 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_release=Version publiée
settings.event_release_desc=Version publiée dans un dépôt.
settings.active=Actif
@@ -830,6 +843,7 @@ settings.recent_deliveries=Livraisons récentes
settings.hook_type=Type de Hook
settings.add_slack_hook_desc=Intégrer <a href="%s"> Slack</a> à votre dépôt.
settings.add_discord_hook_desc=Ajouter l'intégration de <a href="%s">Discord</a> à votre dépôt.
settings.add_dingtalk_hook_desc=Ajouter l'intégration de <a href="%s">Dingtalk</a> à votre dépôt.
settings.slack_token=Jeton
settings.slack_domain=Domaine
settings.slack_channel=Canal
@@ -846,6 +860,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_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.description_desc=Description du dépôt. 512 caractères maximum.
settings.description_length=Caractères disponibles
diff.browse_source=Parcourir la source
diff.parent=Parent
@@ -929,7 +945,7 @@ settings.delete_prompt=Cela supprimera cette organisation définitivement. Cette
settings.confirm_delete_account=Confirmez la suppression
settings.delete_org_title=Suppression d'organisation
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.public=Public
@@ -1081,11 +1097,12 @@ repos.stars=Votes
repos.issues=Tickets
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.name=Nom
auths.type=Type
auths.enabled=Activé
auths.default=Par défaut
auths.updated=Mis à jour
auths.auth_type=Type d'authentification
auths.auth_name=Nom de l'authentification
@@ -1094,20 +1111,21 @@ auths.domain=Domaine
auths.host=Hôte
auths.port=Port
auths.bind_dn=Bind DN
auths.bind_dn_helper=Vous pouvez utiliser « %s » qui sera remplacé par le nom d'utilisateur, par exemple « DOM\%s »
auths.bind_password=Bind mot de passe
auths.bind_password_helper=Avertissement : Ce mot de passe est stocké en clair. N'utilisez pas le mot de passe d'un compte doté de privilèges élevés.
auths.user_base=Utilisateur Search Base
auths.user_dn=Utilisateur DN
auths.attribute_username=Attribut nom d'utilisateur
auths.attribute_username_placeholder=Laisser vide pour utiliser la valeur du formulaire d'authentification comme nom d'utilisateur.
auths.attribute_name=First Name Attribute
auths.attribute_name=Attribut du prénom
auths.attribute_surname=Attribut du nom de famille
auths.attribute_mail=Attribut de l'e-mail
auths.verify_group_membership=Verify group membership
auths.group_search_base_dn=Group Search Base DN
auths.group_filter=Group Filter
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
auths.user_attribute_listed_in_group=User Attribute Listed in Group
auths.verify_group_membership=Vérifier l'appartenance à un groupe
auths.group_search_base_dn=Recherche de groupe basée sur le nom de domaine
auths.group_filter=Filtre par groupe
auths.group_attribute_contain_user_list=Attribut de groupe contenant la liste des utilisateurs
auths.user_attribute_listed_in_group=Attribut de l'utilisateur listé dans le groupe
auths.attributes_in_bind=Aller chercher les attributs dans le contexte de liaison DN
auths.filter=Filtre utilisateur
auths.admin_filter=Filtre administrateur
@@ -1121,9 +1139,9 @@ auths.enable_tls=Activer le Chiffrement TLS
auths.skip_tls_verify=Ne pas vérifier TLS
auths.pam_service_name=Nom du Service PAM
auths.enable_auto_register=Connexion Automatique
auths.tips=Conseils
auths.edit=Modifier les paramètres d'authentification
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.update_success=Les paramètre d'authentification a été mis à jour avec succès.
auths.update=Mettre à jour les paramètres d'authentifications
@@ -1134,6 +1152,7 @@ auths.still_in_used=Cette authentification est encore utilisée par d'autres uti
auths.deletion_success=L'authentification a été supprimée avec succès !
auths.login_source_exist=La source de connexion « %s » existe déjà.
config.not_set=(non défini)
config.server_config=Configuration du Serveur
config.app_name=Nom de l'application
config.app_ver=Version de l'application
@@ -1155,6 +1174,7 @@ config.ssh_domain=Domaine
config.ssh_port=Port
config.ssh_listen_port=Port d'écoute
config.ssh_root_path=Emplacement racine
config.ssh_rewrite_authorized_keys_at_start=Réécrire authorized_keys au démarrage
config.ssh_key_test_path=Chemin de test des clés
config.ssh_keygen_path=Chemin vers le générateur de clefs ("ssh-keygen")
config.ssh_minimum_key_size_check=Vérification de la longueur de clé minimale
@@ -1170,6 +1190,9 @@ config.disable_http_git=Désactiver Git HTTP
config.enable_local_path_migration=Activer la migration de chemin locale
config.commits_fetch_concurrency=Concurrence des récupérations de commits
config.http_config=Configuration HTTP
config.http_access_control_allow_origin=Autoriser le partage daccès avec lorigine
config.db_config=Configuration de la Base de Données
config.db_type=Type
config.db_host=Hôte
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Ne pas vérifier TLS
config.mailer_config=Configuration du service de mail
config.mailer_enabled=Activé
config.mailer_disable_helo=Désactiver HELO
config.mailer_name=Nom
config.mailer_subject_prefix=Préfixe du sujet
config.mailer_host=Hôte
config.mailer_user=Utilisateur
config.send_test_mail=Envoyer courriel de Test
@@ -1262,7 +1285,7 @@ notices.actions=Actions
notices.select_all=Tout Sélectionner
notices.deselect_all=Tous déselectionner
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.type=Type
notices.type_1=Dépôt
@@ -1272,7 +1295,6 @@ notices.delete_success=Notifications système supprimées avec succès.
[action]
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>
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
@@ -1282,13 +1304,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>`
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>`
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>`
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>
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>
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]
ago=il y a

View File

@@ -48,7 +48,7 @@ cancel=Cancelar
install=Instalación
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!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB.
requite_db_desc=Gogs require MySQL, PostgreSQL, SQLite3, MSSQL ouTiDB.
db_title=Configuración de base de datos
db_type=Tipo de base de datos
host=Host
@@ -58,8 +58,8 @@ db_name=Nome da base de datos
db_helper=Por favor, empregue o motor INNODB coa configuración de caracteres utf8_general_ci para MySQL.
ssl_mode=Modo SSL
path=Ruta
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service.
err_empty_db_path=SQLite3 database path cannot be empty.
sqlite_helper=A ruta do ficheiro da base de datos SQLite3. <br> Utilice a ruta absoluta cando arrique o servicio.
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.
err_empty_admin_password=O contrasinal de administrador non pode estar baleiro.
@@ -74,16 +74,16 @@ domain=Dominio
domain_helper=Isto afecta ás URLs para clonar por SSH.
ssh_port=Porto 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_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon.
use_builtin_ssh_server=Utilizar Builin en Sevidor SSH
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_helper=Porto no que escoitará a 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.
log_root_path=Ruta do rexistro
log_root_path_helper=Directorio onde almacenar os rexistros.
enable_console_mode=Enable Console Mode
enable_console_mode_popup=In addition to file mode, also print logs to console.
enable_console_mode=Habilitar Modo Consola
enable_console_mode_popup=Ademáis do modo de ficheiro, tamén imprime os rexistros para a consola.
optional_title=Configuración opcional
email_title=Configuración do servizo de correo
@@ -119,7 +119,8 @@ 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_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
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
save_config_failed=Erro ao gardar a configuración: %v
invalid_admin_setting=A configuración da conta de administración é inválida: %v
@@ -151,6 +152,8 @@ register_hepler_msg=Xa tes unha conta? Inicia sesión!
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_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
forgot_password=Esquecín o meu contrasinal
forget_password=Esqueciches o teu contrasinal?
@@ -169,13 +172,13 @@ reset_password_helper=Prema aquí para restablecer o seu contrasinal
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.
login_two_factor=Two-factor Authentication
login_two_factor_passcode=Authentication Passcode
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
login_two_factor_recovery=Two-factor Recovery
login_two_factor_recovery_code=Recovery Code
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=Autenticación en dous pasos
login_two_factor_passcode=Código de Autenticación
login_two_factor_enter_recovery_code=Introduza o código de recuperación da verificación en dous pasos
login_two_factor_recovery=Recuperación en dous pasos
login_two_factor_recovery_code=Codigo de Recuperación
login_two_factor_enter_passcode=Introduza o código de acceso en dous pasos
login_two_factor_invalid_recovery_code=O código de recuperación foi usado ou non é válido.
[mail]
activate_account=Por favor, activa a túa conta
@@ -212,7 +215,7 @@ Content=Contido
require_error=` non pode estar baleiro.`
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_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.`
min_size_error=` debe conter polo menos %s caracteres.`
max_size_error=` debe conter como máximo %s caracteres.`
@@ -229,6 +232,7 @@ org_name_been_taken=Xa existe unha organización 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.
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_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.
@@ -264,8 +268,8 @@ profile=Perfil
password=Contrasinal
avatar=Avatar
ssh_keys=Claves SSH
security=Security
repos=Repositories
security=Seguridade
repos=Repositorios
orgs=Organizacións
applications=Aplicacións
delete=Eliminar conta
@@ -334,28 +338,29 @@ no_activity=Non hai actividade recente
key_state_desc=Esta clave foi usada nos últimos 7 días
token_state_desc=Token usado nos últimos 7 días
two_factor=Two-factor Authentication
two_factor_status=Status:
two_factor_on=On
two_factor_off=Off
two_factor_enable=Enable
two_factor_disable=Disable
two_factor=Autenticación en Dous Pasos
two_factor_status=Estado:
two_factor_on=Si
two_factor_off=Non
two_factor_enable=Activar
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_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_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_then_enter_passcode=A continuación, introduza o código:
two_factor_verify=Verificar
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_success=Two-factor authentication has enabled for your account successfully!
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_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_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_success=Two-factor authentication has disabled successfully!
@@ -375,8 +380,8 @@ orgs.none=Non es membro de nengunha 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?
repos.leave=Leave
repos.leave_title=Leave repository
repos.leave=Abandoar
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_success=You have left repository '%s' successfully!
@@ -417,6 +422,8 @@ mirror_last_synced=Sincronizado por última vez
watchers=Seguidores
stargazers=Fans
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.name_reserved=El nombre del repositorio '%s' está reservado.=O nome do repositorio '%s' está reservado.
@@ -514,6 +521,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.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_delete_file=Failed to delete file '%s' with error: %v
editor.add_subdir=Engadir subdirectorio...
editor.unable_to_upload_files=Fallou ao subir arquivos a '%s' co erro: %v
editor.upload_files_to_dir=Subir arquivos a '%s'
@@ -616,6 +624,7 @@ pulls.compare_compare=comparar con
pulls.filter_branch=Filtrar rama
pulls.no_results=Sen resultados.
pulls.nothing_to_compare=Nada que comparar. As dúas ramas coinciden.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`Xa existe un pull request entre estas dúas ramas: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Crear Pull Request
pulls.title_desc=desexa fusionar %[1]d achegas de <code>%[2]s</code> en <code>%[3]s</code>
@@ -631,6 +640,9 @@ pulls.is_checking=Estase procedendo á busca de conflitos, por favor, actualice
pulls.can_auto_merge_desc=Este Pull Request pode ser fusionado automaticamente.
pulls.cannot_auto_merge_desc=Este Pull Request non pode ser fusionado automaticamente porque hai conflitos.
pulls.cannot_auto_merge_helper=Por favor, fusiona manualmente para resolver os conflitos.
pulls.create_merge_commit=Create a merge commit
pulls.rebase_before_merging=Rebase before merging
pulls.commit_description=Commit Description
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.delete_branch=Eliminar branch
@@ -735,7 +747,9 @@ settings.tracker_issue_style=Estilo de etiquetaxe do tracker externo de incidenc
settings.tracker_issue_style.numeric=Numé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.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.allow_rebase_merge=Allow use rebase to merge commits
settings.danger_zone=Zona de perigo
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
settings.new_owner_has_same_repo=O novo propietario ten un repositorio co mesmo nome.
@@ -756,7 +770,7 @@ settings.wiki_deletion_success=Os datos da wiki do repositorio foron borrados co
settings.delete=Eliminar este repositorio
settings.delete_desc=Unha vez que eliminaches un repositorio, non hai volta atrás. Por favor, asegúrate de que é o que queres.
settings.delete_notices_1=- Esta operación <strong>NON SE PODE</strong> reverter.
settings.delete_notices_2=- Esta operación eliminará de maneira permanente todo o contido deste repositorio, incluíndo os datos de git, as incidencias, os comentarios e os permisos de acceso dos colaboradores.
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=- Todos os forks converteranse en independentes tras o borrado.
settings.deletion_success=O repositorio foi eliminado satisfactoriamente!
settings.update_settings_success=As opcións do repositorio actualizáronse correctamente.
@@ -814,10 +828,10 @@ settings.event_push=Push
settings.event_push_desc=Git push a un repositorio
settings.event_issues=Issues
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_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_desc=Release published in a repository.
settings.active=Activo
@@ -830,6 +844,7 @@ settings.recent_deliveries=Envíos recentes
settings.hook_type=Tipo de Hook
settings.add_slack_hook_desc=Engade integración con <a href="%s">Slack</a> ao teu repositorio.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Token
settings.slack_domain=Dominio
settings.slack_channel=Canle
@@ -846,6 +861,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_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.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Available characters
diff.browse_source=Explorar o código
diff.parent=pai
@@ -1081,11 +1098,12 @@ repos.stars=Estrelas
repos.issues=Incidencias
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.name=Nome
auths.type=Tipo
auths.enabled=Activo
auths.default=Default
auths.updated=Actualizado
auths.auth_type=Tipo de autenticación
auths.auth_name=Nome de autenticación
@@ -1094,6 +1112,7 @@ auths.domain=Dominio
auths.host=Host
auths.port=Porto
auths.bind_dn=Bind DN
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
auths.bind_password=Contrasinal Bind
auths.bind_password_helper=Advertencia: o contrasinal almacénase como texto plano. Non empregue unha conta con privilexios elevados.
auths.user_base=Base de busca de usuarios
@@ -1121,9 +1140,9 @@ auths.enable_tls=Habilitar cifrado TLS
auths.skip_tls_verify=Omitir a verificación TLS
auths.pam_service_name=Nome do servizo PAM
auths.enable_auto_register=Habilitar auto-rexistro
auths.tips=Consellos
auths.edit=Editar a configuración de autenticación
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.update_success=A configuración de autenticación foi actualizada con éxito.
auths.update=Actualizar a configuración de autenticación
@@ -1134,6 +1153,7 @@ auths.still_in_used=Este método de autentificación aínda é utilizado por alg
auths.deletion_success=A autenticación foi eliminada con éxito!
auths.login_source_exist=Login source '%s' xa existe.
config.not_set=(not set)
config.server_config=Configuración do servidor
config.app_name=Nome da aplicación
config.app_ver=Versión da aplicación
@@ -1155,6 +1175,7 @@ config.ssh_domain=Dominio
config.ssh_port=Porto
config.ssh_listen_port=Porto de escoita
config.ssh_root_path=Ruta raíz
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_key_test_path=Ruta da clave de proba
config.ssh_keygen_path=Ruta do xerador de claves ('ssh-keygen')
config.ssh_minimum_key_size_check=Tamaño mínimo da clave de verificación
@@ -1170,6 +1191,9 @@ 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.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Configuración da base de datos
config.db_type=Tipo
config.db_host=Host
@@ -1199,7 +1223,7 @@ config.skip_tls_verify=Omitir a verificación TLS
config.mailer_config=Configuración do servidor de correo
config.mailer_enabled=Activado
config.mailer_disable_helo=Desactivar HELO
config.mailer_name=Nome
config.mailer_subject_prefix=Subject Prefix
config.mailer_host=Host
config.mailer_user=Usuario
config.send_test_mail=Enviar correo electrónico de proba
@@ -1272,7 +1296,6 @@ notices.delete_success=As notificacións do sistema foron eliminadas satisfactor
[action]
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>
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
@@ -1289,6 +1312,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>
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>
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]
ago=hai

View File

@@ -1,7 +1,7 @@
app_desc=Fájdalommentes, saját gépre telepíthető Git szolgáltatás
home=Kezdőlap
dashboard=Vezérlőpult
dashboard=Áttekintés
explore=Felfedezés
help=Súgó
sign_in=Bejelentkezés
@@ -27,7 +27,7 @@ repository=Tároló
organization=Szervezet
mirror=Tükör
new_repo=Új tároló
new_migrate=Új költözés
new_migrate=Új migráció
new_mirror=Új tükör
new_fork=Új tároló másolása
new_org=Új szervezet
@@ -35,8 +35,8 @@ manage_org=Szervezetek kezelése
admin_panel=Rendszergazdai felület
account_settings=Fiók beállításai
settings=Beállítások
your_profile=Profilod
your_settings=Beállításaid
your_profile=Profilom
your_settings=Beállításaim
activities=Tevékenységek
pull_requests=Pull request-ek
@@ -47,7 +47,7 @@ cancel=Mégse
[install]
install=Telepítés
title=Telepítés első indításkor
docker_helper=Ha a Docker alatt futtatod a Gogs-ot, olvasd el az <a target="_blank" href="%s">irányelveket</a> figyelmesen, mielőtt bármit megváltoztatsz 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.
db_title=Adatbázis beállításai
db_type=Adatbázis-kezelő
@@ -55,25 +55,25 @@ host=Kiszolgáló
user=Felhasználónév
password=Jelszó
db_name=Adatbázis neve
db_helper=MySQL szerveren használj 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
path=Elérési út
sqlite_helper=SQLite3 vagy a TiDB adatbázis fájljának elérési útvonala. <br>Kérjük használja az abszolút elérési utat, a szolgáltatás indításakor.
err_empty_db_path=SQLite3 adatbázis elérési út nem lehet üres.
no_admin_and_disable_registration=Nem tilthatod le a regisztrációt, amíg nem hozol létre egy rendszergazdai fiókot.
no_admin_and_disable_registration=Nem tilthatja le a regisztrációt, amíg nem hoz létre egy rendszergazdai fiókot.
err_empty_admin_password=Rendszergazdai jelszó nem lehet üres.
general_title=Alkalmazás általános beállításai
app_name=Alkalmazás neve
app_name_helper=Adj meg valami izgalmas nevet!
app_name_helper=Adjon meg valami izgalmas nevet!
repo_path=Tárolók alapkönyvtára
repo_path_helper=Ebben a könyvtárban lesznek a Git tárolók.
run_user=Futtató felhasználó
run_user_helper=Ezen felhasználónak jogosultnak kell lennie a tárolók elérésére és a Gogs futtatására.
domain=Tartomány
domain_helper=Ez az alapja az SSH másolás URL címének.
domain_helper=Ez befolyásolja az SSH klón URL-eket.
ssh_port=SSH port
ssh_port_helper=Az SSH kiszolgáló portszáma, hagyd üresen az SSH letiltásához.
ssh_port_helper=Ezt a portot fogja használni az SSH szerver, hagyja üresen az SSH letiltásához.
use_builtin_ssh_server=Beépített SSH szerver használata
use_builtin_ssh_server_popup=Indítsa el a beépített SSH szervert a Git műveletekhez elkülönítve a rendszer SSH démontól.
http_port=HTTP port
@@ -107,7 +107,7 @@ 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.
require_sign_in_view=Bejelentkezés megkövetelése az oldalak megtekintéséhez
require_sign_in_view_popup=Csak bejelentkezett felhasználók nézhetik meg az oldalakat; a látogatók csak a bejelentkező oldalt láthatják.
admin_setting_desc=Nem szükséges beállítanod rendszergazdai fiókot, az első felhasználó (ID=1) automatikusan rendszergazdai jogokat kap.
admin_setting_desc=Nem szükséges most beállítania rendszergazdai fiókot, mert az első felhasználó (ID=1) automatikusan rendszergazdai jogokat kap.
admin_title=Rendszergazda fiók beállításai
admin_name=Felhasználónév
admin_password=Jelszó
@@ -147,14 +147,16 @@ search=Keresés
[auth]
create_new_account=Új fiók létrehozása
register_hepler_msg=Van már felhasználói fiókod? Jelentkezz be!
register_hepler_msg=Van már felhasználói fiókja? Jelentkezz be!
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_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
forgot_password=Elfelejtett jelszó
forget_password=Elfelejtetted a jelszavad?
sign_up_now=Szeretnél bejelentkezni? Regisztrálj most.
forget_password=Elfelejtette a jelszavát?
sign_up_now=Szeretne bejelentkezni? Regisztráljon most.
confirmation_mail_sent_prompt=Új megerősítő emailt küldtünk <b>%s</b> címre, kérlek keresd a postafiókodban az elkövetkező %d órában, hogy befejezhesd a regisztrációs folyamatot.
active_your_account=Aktiváld a fiókod
prohibit_login=A bejelentkezés tiltva
@@ -165,7 +167,7 @@ resend_mail=Kattints ide hogy újraküldd az aktiváló emailt
send_reset_mail=Kattints ide hogy újraküldd a jelszó visszaállító emailt
reset_password=Jelszó visszaállítása
invalid_code=Elnézést, a megerősítő kód lejárt vagy hibás.
reset_password_helper=Kattints ide hogy visszaállítsd a jelszavad
reset_password_helper=A jelszó visszaállításához kattintson ide
password_too_short=A jelszó nem lehet 6-nál rövidebb.
non_local_account=Nem helyi felhasználó nem cserélhet jelszót a Gogsban.
@@ -181,7 +183,7 @@ login_two_factor_invalid_recovery_code=Helyreállító kód már felhasználásr
activate_account=Kérlek aktiváld a fiókod
activate_email=Ellenőrizd az email címed
reset_password=Állítsd vissza a jelszavad
register_success=Sikeres regisztráció, üdvözlünk
register_success=Sikeres regisztráció, üdvözöljük
register_notify=Üdvözlünk a fedélzeten
[modal]
@@ -229,8 +231,9 @@ org_name_been_taken=A szervezet neve 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.
username_password_incorrect=Felhasználó név vagy jelszó hibás.
enterred_invalid_repo_name=Kérlek ellenőrizd, hogy a tároló neve helyes.
enterred_invalid_owner_name=Kérlek ellenőrizd, hogy a tulajdonos neve helyes.
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_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.
user_not_exist=A megadott felhasználó nem létezik.
last_org_owner=Az utolsó felhasználót nem lehet eltávolítani a csapatból, mert egy tulajdonos kell legyen minden szervezetben.
@@ -241,7 +244,7 @@ auth_failed=Hitelesítési hiba: %v
still_own_repo=A felhasználód még legalább egy tároló tulajdonosa, először törölnöd kell őket vagy átadni másnak a tulajdonjogaikat.
still_has_org=A fiókod még mindig tagja legalább egy szervezetnek. Először ki kell lépned vagy törölnöd kell a tagságodat.
org_still_own_repo=Ez a szervezet még repository-k tulajdonosa. Először töröld vagy ruházd át őket.
org_still_own_repo=Ez a szervezet továbbra is tulajdonosa tárolóknak, ezért előbb törölje vagy adja át másnak a tárolókat.
target_branch_not_exist=Cél branch nem létezik.
@@ -256,7 +259,7 @@ following=Követve
follow=Követés
unfollow=Követés törlése
form.name_reserved=Felhasználónév '%s' foglalt.
form.name_reserved='%s' felhasználónév már foglalt.
form.name_pattern_not_allowed=A felhasználónév ('%s') nem engedélyezett.
[settings]
@@ -302,12 +305,12 @@ password_change_disabled=Csak helyi felhasználók változtathatják meg jelszav
emails=E-mail címek
manage_emails=E-mail címek kezelése
email_desc=Elsődleges e-mail címedet használjuk értesítésekre és más műveletekre.
email_desc=Elsődleges e-mail címét használjuk értesítésekre és más műveletekre.
primary=Elsődleges
primary_email=Beállítás elsődlegesként
delete_email=Törlés
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ókodból. Biztosan folytatod?
email_deletion_desc=Az e-mail cím törlése kapcsolódó adatokat is eltávolít a fiókból. Biztosan folytatja?
email_deletion_success=Az e-mail címet töröltük!
add_new_email=Új email cím felvétele
add_email=Email felvétele
@@ -348,6 +351,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_verify=Ellenőrzés
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_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
@@ -401,11 +405,11 @@ fork_visiblity_helper=Nem módosíthatod egy fork-olt repository láthatóságá
repo_desc=Leírás
repo_lang=Nyelv
repo_gitignore_helper=Válasszon .gitignore sablont
license=Licensz
license_helper=Licenszfájl kiválasztása
license=Licenc
license_helper=Licencfájl kiválasztása
readme=Olvassel
readme_helper=Válassz egy readme sablont
auto_init=Repository megkezdése a kijelölt fájlokkal és sablonokkal
auto_init=Tároló inicializálása a kiválasztott fájlokkal és sablonokkal
create_repo=Tároló létrehozása
default_branch=Alapértelmezett branch
mirror_prune=Prune
@@ -417,27 +421,29 @@ mirror_last_synced=Utoljára szinkr.
watchers=Figyelők
stargazers=Csillagvizsgálók
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ó repository-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_pattern_not_allowed=Ez a tároló név ('%s') nem megengedett.
need_auth=Engedély szükség
migrate_type=Az áttelepítés-típust
need_auth=Hitelesítés szükséges
migrate_type=Migráció típusa
migrate_type_helper=Ez a repository <span class="text blue">tükör</span>ként fog működni
migrate_repo=Repository Költöztetése
migrate_repo=Tároló migrálása
migrate.clone_address=Klón cím
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.permission_denied=Nem engedélyezett számodra a helyi repository-k 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.failed=Költöztetés sikertelen: %s
migrate.failed=Migráció sikertelen: %v
mirror_from=tükrözi:
forked_from=másolva
copy_link=Másolás
copy_link_success=Másolva!
copy_link_error=Nyomd meg a ⌘-C vagy Ctrl-C gombokat a másoláshoz
copy_link_error=Nyomja meg a ⌘-C vagy Ctrl-C gombokat a másoláshoz
copied=Másolás rendben
unwatch=Figyelés törlése
watch=Figyelés
@@ -459,7 +465,7 @@ filter_branch_and_tag=Branch vagy tag szűrése
branches=Branch-ok
tags=Tag-ek
issues=Problémák
pulls=Pull request-ek
pulls=Beolvasztási kérések
labels=Címkék
milestones=Mérföldkövek
commits=Commit-ok
@@ -501,7 +507,7 @@ editor.update=Frissítés "%s"
editor.delete=Törölje a "%s"
editor.commit_message_desc=Opcionális hosszabb leírás hozzáadása...
editor.commit_directly_to_this_branch=Commit egyenesen a(z) <strong class="branch-name">%s</strong> ágba.
editor.create_new_branch=<strong>Új ág</strong> létrehozása ennek a commit-nak és egyesítési kérés indítása.
editor.create_new_branch=<strong>Új ág</strong> létrehozása ennek a véglegesítésére és beolvasztási kérés indítása.
editor.new_branch_name_desc=Új ág neve...
editor.cancel=Mégse
editor.filename_cannot_be_empty=A fájlnév nem lehet üres.
@@ -514,6 +520,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.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_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.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'
@@ -608,7 +615,7 @@ issues.num_participants=%d Résztvevő
issues.attachment.open_tab=`Megnyitás "%s" új fülön`
issues.attachment.download=`Letöltéshez kattints "%s"`
pulls.new=Új Pull Kérés
pulls.new=Új beolvasztási kérés
pulls.compare_changes=Összehasonlítás
pulls.compare_changes_desc=Hasonlíts össze két branch-ot és készíts pull kérést a változtatásokkal.
pulls.compare_base=base
@@ -616,6 +623,7 @@ pulls.compare_compare=összehasonlítás
pulls.filter_branch=Branch szűrése
pulls.no_results=Nincs találat.
pulls.nothing_to_compare=Nincs mit összehasonlítani, mert a base és a head branch egyezik.
pulls.nothing_merge_base=Nincs mit összehasonlítani, mert két ág teljes mértékben különböző előzményekkel rendelkezik.
pulls.has_pull_request=`Már létezik egy pull kérés a két cél között: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Pull Kérés Létrehozása
pulls.title_desc=szeretne %[1]d commit-ot egyesíteni innen: <code>%[2]s</code> ide: <code>%[3]s</code>
@@ -623,15 +631,18 @@ pulls.merged_title_desc=%[1]d commit egyesítve innen: <code>%[2]s</code> ide: <
pulls.tab_conversation=Beszélgetés
pulls.tab_commits=Commit-ok
pulls.tab_files=Módosított fájlok
pulls.reopen_to_merge=Kérlek, nyisd ki a pull kérést az egyesítéshez.
pulls.reopen_to_merge=Kérk, nyissa újra a beolvasztási kérést az egyesítés végrehajtásához.
pulls.merged=Egyesítve
pulls.has_merged=Ez a pull kérés sikeresen egyesítve lett!
pulls.has_merged=Ez a beolvasztási kérés sikeresen egyesítve lett!
pulls.data_broken=A pull kérés adatai sérültek a fork információ hiányossága miatt.
pulls.is_checking=Az ütközés ellenőrzés még folyamatban van, frissítsd az oldalt pár másodperc múlva.
pulls.can_auto_merge_desc=Ez a pull kérés automatikusán egyesíthető.
pulls.cannot_auto_merge_desc=Ez a pull kérés ütközések miatt nem egyesíthető automatikusán.
pulls.can_auto_merge_desc=Ez a beolvasztási kérés automatikusán egyesíthető.
pulls.cannot_auto_merge_desc=Ez a beolvasztási kérés ütközések miatt nem egyesíthető automatikusan.
pulls.cannot_auto_merge_helper=Kérlek, egyesítsd kézileg a konfliktusok megoldásához.
pulls.merge_pull_request=Pull Kérés Egyesítése
pulls.create_merge_commit=Eggyesítő commit létrehozása
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.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_has_new_commits=Ág nem törölhető, mert tartalmaz olyan új változásokat melyek nem lettek még egyesítve.
@@ -663,7 +674,7 @@ milestones.deletion_success=A mérföldkő törlése megtörtént!
wiki=Wiki
wiki.welcome=Üdv a Wiki-ben!
wiki.welcome_desc=A Wiki az a hely, ahol közösen dokumentálhatod és teheted jobbá a projekted a többiekkel.
wiki.create_first_page=Hozd létre az első oldalt
wiki.create_first_page=Első oldal létrehozása
wiki.page=Oldal
wiki.filter_page=Oldal szűrése
wiki.new_page=Új Oldal Létrehozása
@@ -671,7 +682,7 @@ wiki.default_commit_message=Röviden foglald össze a módosításokat (nem köt
wiki.save_page=Oldal Mentése
wiki.last_commit_info=%s módosította ezt az oldalt ekkor: %s
wiki.edit_page_button=Szerkeszt
wiki.new_page_button=Új Oldal
wiki.new_page_button=Új oldal
wiki.delete_page_button=Oldal Törlése
wiki.delete_page_notice_1=Ez ki fogja törölni a(z) <code>"%s"</code> oldalt. Jól gondold meg.
wiki.page_already_exists=Már létezik ilyen nevű oldal a Wiki-n.
@@ -699,10 +710,10 @@ settings.branch_protection=Ág védeleme
settings.branch_protection_desc=Válassza a védett ág opciót ehhez az ághoz: <b>%s</b>.
settings.protect_this_branch=Ezen ág védelme
settings.protect_this_branch_desc=Letiltja az ág törlését és a force pusht.
settings.protect_require_pull_request=Eggyesítési kérést követel meg a direkt push helyett
settings.protect_require_pull_request_desc=Ennek az opciónak a bekapcsolásával letiltható a direkt push az ágra. A commitokat egy másik, nem védett ágra kell küldeni, majd egyesítési kérést kell nyitni.
settings.protect_require_pull_request=Beolvasztási kérést követel meg a direkt küldés helyett
settings.protect_require_pull_request_desc=Ennek az opciónak a bekapcsolásával letiltható a közvetlen küldés az ágra. A véglegesítéseket egy másik, nem védett ágra kell küldeni, majd beolvasztási kérést kell nyitni.
settings.protect_whitelist_committers=Fehérlista, hogy ki push-olhat az ágra
settings.protect_whitelist_committers_desc=Felhasználók vagy csoportok hozzáadása az ág közvetlen push fehérlistájára. A fehérlistával ki lehet kerülni a kötelező egyesítési kérést.
settings.protect_whitelist_committers_desc=Felhasználók vagy csoportok hozzáadása az ág közvetlen beküldési fehér listájára. A fehér listával ki lehet kerülni a kötelező beolvasztási kéréseket.
settings.protect_whitelist_users=Felhasználók, akik push-olhatnak az ágra
settings.protect_whitelist_search_users=Felhasználók keresése
settings.protect_whitelist_teams=Csoportok, melyeknek tagjai pusholhatnak az ágra
@@ -714,10 +725,10 @@ settings.basic_settings=Alapbeállítások
settings.mirror_settings=Beállítások tükrözése
settings.sync_mirror=Szinkronizálás
settings.mirror_sync_in_progress=A tükör szinkronozálása folyamatban van, egy perc múlva frissítse az oldalt.
settings.site=Hivatalos Weboldal
settings.update_settings=Beállítások Mentése
settings.site=Hivatalos weboldal
settings.update_settings=Beállítások mentése
settings.change_reponame_prompt=Ez meg fogja változtatni a repository-ra mutató linkeket.
settings.advanced_settings=Haladó Beállítások
settings.advanced_settings=Haladó beállítások
settings.wiki_desc=Engedélyezi a wiki rendszert
settings.use_internal_wiki=Beépített Wiki használata
settings.allow_public_wiki_desc=Publikus hozzáférés engedélyezése a Wikihez ha a tároló privát
@@ -735,7 +746,9 @@ settings.tracker_issue_style=Külső hibajegykezelő elnevezési stílus:
settings.tracker_issue_style.numeric=Numerikus
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.pulls_desc=Nyilvános hozzájárulások (pull kérések) engedélyezése
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.allow_rebase_merge=Rebase engedélyezése eggyesítő commitokhoz
settings.danger_zone=Veszélyes terület
settings.cannot_fork_to_same_owner=Nem másolható a tároló az eredeti tulajdonosához.
settings.new_owner_has_same_repo=Az új tulaj már rendelkezik ilyen nevű repository-val. Kérlek, válassz másik nevet.
@@ -745,11 +758,11 @@ settings.convert_notices_1=- Ez a művelet átalakítja ezt a tükör repository
settings.convert_confirm=Átalakítás Megerősítése
settings.convert_succeed=A repository típusa sikeresen egyszerűre lett módosítva.
settings.transfer=Tulajdonjog átadása
settings.transfer_desc=Tároló átadása másik felhasználónak vagy szervezetnek, ahol rendszergazdai jogod van.
settings.transfer_desc=Tároló átadása másik felhasználónak vagy szervezetnek, ahol rendszergazdai jogosultsága van.
settings.transfer_notices_1=- Ha az új tulaj egy felhasználó, elvész a hozzáférésed.
settings.transfer_notices_2=- A hozzáférésed megmarad ha az új tulaj egy szervezet melynek tulajdonosai közt szerepelsz.
settings.transfer_form_title=Kérlek, add meg a követező információt a művelet megerősítéséhez:
settings.wiki_delete=Wiki Adatok Törlése
settings.wiki_delete=Wiki adatok törlése
settings.wiki_delete_desc=Miután kitörölted a wiki adatokat nincs visszaút. Jól gondold meg.
settings.wiki_delete_notices_1=- Ez törli és kikapcsolja a wiki-t itt: %s
settings.wiki_deletion_success=A repository-hoz tartozó wiki adatok törlése sikeres.
@@ -814,10 +827,10 @@ settings.event_push=Push
settings.event_push_desc=Push-olás egy repository-ba
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_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_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=Pull kérések
settings.event_pull_request_desc=Egyesítési kérés megnyitva, lezárva, újranyitva, hozzárendelve, visszarendelve, cimkézve, cimketelenítve, mérföldkövezve, mérföldkőtelenítve vagy szinkronizálva.
settings.event_release=Kiadás
settings.event_release_desc=Kiadás publikálva a tárolóban.
settings.active=Aktív
@@ -830,6 +843,7 @@ settings.recent_deliveries=Legutóbbi Küldések
settings.hook_type=Hook Típusa
settings.add_slack_hook_desc=<a href="%s">Slack</a> integráció hozzáadása a repository-hoz.
settings.add_discord_hook_desc=<a href="%s">Discord</a> integráció hozzáadva a térolóhoz.
settings.add_dingtalk_hook_desc=<a href="%s">Dingtalk</a> integráció hozzáadása a tárolóhoz.
settings.slack_token=Token
settings.slack_domain=Domain
settings.slack_channel=Csatorna
@@ -837,7 +851,7 @@ settings.deploy_keys=Deploy kulcsok
settings.deploy_keys_helper=<b>Hasznos tipp!</b> ha saját személyes publikus kulcsait szeretné hozzáadni, azt a <a href="%s%s">fiók beállítások</a> oldalon teheti meg.
settings.add_deploy_key=Deploy Kulcs Hozzáadása
settings.deploy_key_desc=A deploy kulcsok csak olvasásra jogosítanak fel, nem azonosak a személyes SSH kulcsokkal.
settings.no_deploy_keys=Még nem adtál hozzá deploy kulcsot.
settings.no_deploy_keys=Még nem adott hozzá deploy kulcsot.
settings.title=Név
settings.deploy_key_content=Tartalom
settings.key_been_used=Deploy kulcs tartalma már fel lett használva.
@@ -846,6 +860,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_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.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.parent=szülő
@@ -900,8 +916,8 @@ repo_updated=Frissítve
people=Emberek
invite_someone=Meghívás
teams=Csapatok
lower_members=tagok
lower_repositories=repository-k
lower_members=tag
lower_repositories=tároló
create_new_team=Új csapat létrehozása
org_desc=Leírás
team_name=Csapat neve
@@ -956,9 +972,9 @@ teams.no_desc=Ennek a csapatnak nincs leírása
teams.settings=Beállítások
teams.owners_permission_desc=A tulajdonosoknak teljes hozzáférése van <strong>minden repository-hoz</strong> és <strong>adminisztrátori joguk</strong> van a szervezethez.
teams.members=Csapattagok
teams.update_settings=Beállítások Mentése
teams.update_settings=Beállítások mentése
teams.delete_team=Csapat Törlése
teams.add_team_member=Csapattag Hozzáadása
teams.add_team_member=Csapattag hozzáadása
teams.delete_team_title=Csapat Törlése
teams.delete_team_desc=Mivel a csapat törlésre kerül, a tagjai elveszíthetik a hozzáférésüket néhány repository-hoz. Folytatod?
teams.delete_team_success=A csapat sikeresen törölve.
@@ -1081,11 +1097,12 @@ repos.stars=Csillagok
repos.issues=Problémák
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.name=Név
auths.type=Típus
auths.enabled=Engedélyezett
auths.default=Alapértelmezett
auths.updated=Frissítve
auths.auth_type=Hitelesítés típusa
auths.auth_name=Hitelesítési név
@@ -1094,6 +1111,7 @@ auths.domain=Tartomány
auths.host=Állomás
auths.port=Port
auths.bind_dn=Bind DN
auths.bind_dn_helper=Használhatja a '%s'-t felhasználónév helyett, pl.: DOM\%s
auths.bind_password=Bind jelszó
auths.bind_password_helper=Figyelmeztetés: Ez a jelszó egyszerű szöveges formátumban kerül metésre. Ne használjon egy magas szintű jogosultsággal rendelkező fiókot.
auths.user_base=Felhasználókeresés alapja
@@ -1121,9 +1139,9 @@ auths.enable_tls=TLS titkosítás engedélyezése
auths.skip_tls_verify=TLS ellenőrzése mellőzése
auths.pam_service_name=PAM szolgáltatás neve
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.activated=Ez a hitelesítés mód aktiválva van
auths.default_auth=Ez az alapértelmezett hitelesítési mód a bejelentkezéshez
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=Hitelesítési forrás frissítése
@@ -1134,6 +1152,7 @@ auths.still_in_used=A hitelesítési mód még használatban van, mielőtt tör
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.
config.not_set=(nincs beállítva)
config.server_config=Kiszolgáló konfiguráció
config.app_name=Alkalmazás neve
config.app_ver=Alkalmazás verziója
@@ -1155,6 +1174,7 @@ config.ssh_domain=Tartomány
config.ssh_port=Port
config.ssh_listen_port=Figyelő port
config.ssh_root_path=Gyökér elérési útvonal
config.ssh_rewrite_authorized_keys_at_start=SSH authorized_keys fájl újraírása indításnál
config.ssh_key_test_path=Kulcs ellenőrzés útvonala
config.ssh_keygen_path=Kulcsgeneráló ('ssh-keygen') elérési útja
config.ssh_minimum_key_size_check=Minimális kulcsméret ellenőrzés
@@ -1170,6 +1190,9 @@ config.disable_http_git=A HTTP protokoll letiltása GIT-hez
config.enable_local_path_migration=Engedélyezi a migrációt helyi elérési út alapján
config.commits_fetch_concurrency=Konkurens lekérés
config.http_config=HTTP beállítások
config.http_access_control_allow_origin=Hozzáférés vezérlés forrás szerint
config.db_config=Adatbázis konfiguráció
config.db_type=Típus
config.db_host=Állomás
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=TLS ellenőrzése mellőzése
config.mailer_config=Levelező beállítások
config.mailer_enabled=Engedélyezett
config.mailer_disable_helo=HELO letiltása
config.mailer_name=Név
config.mailer_subject_prefix=Tárgy előtag
config.mailer_host=Állomás
config.mailer_user=Felhasználó
config.send_test_mail=Teszt E-mail küldése
@@ -1272,42 +1295,45 @@ notices.delete_success=A rendszer értesítések sikeresen törölve.
[action]
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
commit_repo=feltöltött a <a href="%[1]s/src/%[2]s">%[3]s</a>-ba ekkor: <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
transfer_repo=áthelyezett egy tárolót innen: <code>%s</code> ide: <a href="%s">%s</a>
create_issue=`problémát jelentett: <a href="%s/issues/%s">%s#%[2]s</a>`
close_issue=`megoldott egy problémát: <a href="%s/issues/%s">%s#%[2]s</a>`
reopen_issue=`újranyitott egy problémát: <a href="%s/issues/%s">%s#%[2]s</a>`
comment_issue=`hozzászólt egy problémához: <a href="%s/issues/%s">%s#%[2]s</a>`
create_pull_request=`létrehozott egy egyesítési kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
close_pull_request=`lezárt egy egyesítési kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
reopen_pull_request=`újranyitott egy egyesítési kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
merge_pull_request=`végrehajtott egy egyesítési kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
create_branch=létrehozott egy új ágat <a href="%[1]s/src/%[2]s">%[3]s</a> ekkor: <a href="%[1]s">%[4]s</a>
create_pull_request=`létrehozott egy beolvasztási kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
close_pull_request=`lezárt egy beolvasztási kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
reopen_pull_request=`újranyitott egy beolvasztási kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
merge_pull_request=`egyesített egy beolvasztási kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
create_branch=létrehozott egy új <a href="%[1]s/src/%[2]s">%[3]s</a> ágat ebben: <a href="%[1]s">%[4]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>
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=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]
ago=óta
ago=
from_now=mostantól
now=most
1s=1 másodperc %s
1m=1 perc %s
1h=1 óra %s
1d=1 nap %s
1w=1 hét %s
1mon=1 hónap %s
1y=1 év %s
seconds=%d másodperc %s
minutes=%d perc %s
hours=%d óra %s
days=%d nap %s
weeks=%d hét %s
months=%d hónap %s
years=%d év %s
1s=1 másodperce %s
1m=1 perce %s
1h=1 órája %s
1d=1 napja %s
1w=1 hete %s
1mon=1 hónapja %s
1y=1 éve %s
seconds=%d másodperce %s
minutes=%d perce %s
hours=%d órája %s
days=%d napja %s
weeks=%d hete %s
months=%d hónapja %s
years=%d éve %s
raw_seconds=másodperc
raw_minutes=perc

1345
conf/locale/locale_id-ID.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -119,7 +119,7 @@ sqlite3_not_available=Questa versione non supporta SQLite3, si prega di scaricar
invalid_db_setting=La configurazione del database non è corretta: %v
invalid_repo_path=Percorso root del repository invalido: %v
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
save_config_failed=Fallito il salvataggio della configurazione: %v
invalid_admin_setting=Impostazioni account Admin non valide: %v
@@ -151,6 +151,8 @@ register_hepler_msg=Hai già un account? Accedi 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_mail=Siamo spiacenti, la conferma di registrazione via Mail è stata disattivata.
auth_source=Fonte di autenticazione
local=Locale
remember_me=Ricordami
forgot_password=Password dimenticata
forget_password=Password dimenticata?
@@ -169,13 +171,13 @@ reset_password_helper=Clicca qui per reimpostare la password
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.
login_two_factor=Two-factor Authentication
login_two_factor_passcode=Authentication Passcode
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
login_two_factor_recovery=Two-factor Recovery
login_two_factor_recovery_code=Recovery Code
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=Autenticazione in Due Passaggi
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_recovery=Recupero a due fattori
login_two_factor_recovery_code=Recupera il codice
login_two_factor_enter_passcode=Inserisci un codice di accesso a due fattori
login_two_factor_invalid_recovery_code=Il codice di recupero è stato utilizzato o non è valido.
[mail]
activate_account=Per favore attiva il tuo account
@@ -212,7 +214,7 @@ Content=Contenuto
require_error=` non può essere vuoto.`
alpha_dash_error=` ammessi solo caratteri alfanumerici o trattini(-_).`
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.'
min_size_error=` deve contenere almeno %s caratteri.`
max_size_error=` deve contenere massimo %s caratteri.`
@@ -229,6 +231,7 @@ org_name_been_taken=Il nome dell'Organizzazione è già utlizzato.
team_name_been_taken=Il nome del Team è già utilizzato.
email_been_used=L'indirizzo E-mail è già utilizzato.
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_owner_name=Si prega di assicurarsi che il nome del proprietario inserito sia corretto.
enterred_invalid_password=Verificare che la password inserita sia corretta.
@@ -264,8 +267,8 @@ profile=Profilo
password=Password
avatar=Avatar
ssh_keys=Chiavi SSH
security=Security
repos=Repositories
security=Sicurezza
repos=Repository
orgs=Organizzazioni
applications=Applicazioni
delete=Elimina account
@@ -334,30 +337,31 @@ no_activity=Nessuna attività recente
key_state_desc=Hai utilizzato questa chiave negli ultimi 7 giorni
token_state_desc=Questo token e' satato utilizzato negli ultimi 7 giorni
two_factor=Two-factor Authentication
two_factor_status=Status:
two_factor_on=On
two_factor_off=Off
two_factor_enable=Enable
two_factor_disable=Disable
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_enable_title=Enable Two-factor Authentication
two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
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_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_regenerate_recovery_codes=Regenerate Recovery Codes
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_disable_title=Disable Two-factor Authentication
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=Autenticazione in Due Passaggi
two_factor_status=Stato:
two_factor_on=Attiva
two_factor_off=Non attivo
two_factor_enable=Abilita
two_factor_disable=Disattivata
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=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_scan_qr=Per favore, utilizza la tua applicazione di autenticazione per scansionare l'immagine:
two_factor_or_enter_secret=O inserisci la chiave segreta:
two_factor_then_enter_passcode=Poi inserisci la chiave di sicurezza:
two_factor_verify=Verifica
two_factor_invalid_passcode=La chiave di sicurezza che hai inserito non è valida, riprova!
two_factor_reused_passcode=La chiave di sicurezza che hai inserito è già stata utilizzata, provane un'altra!
two_factor_enable_error=Impossibile abilitare l'autenticazione a due fattori: %v
two_factor_enable_success=Autenticazione a due fattori abilitata per il tuo account con successo!
two_factor_recovery_codes_title=Codici di recupero autenticazione a due fattori
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=Rigenera codici di recupero
two_factor_regenerate_recovery_codes_error=Impossibile rigenerare codici di recupero: %v
two_factor_regenerate_recovery_codes_success=I nuovi codici di recupero sono stati generati correttamente!
two_factor_disable_title=Disabilita autenticazione a due fattori
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
generate_new_token=Genera Nuovo Token
@@ -375,10 +379,10 @@ orgs.none=Non sei membro di alcuna organizzazione.
orgs.leave_title=Abbandona una organizzazione
orgs.leave_desc=Abbandonando l'organizzazione perderai l'accesso a tutti i repository e i gruppi. Confermi?
repos.leave=Leave
repos.leave_title=Leave repository
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=Abbandona
repos.leave_title=Lascia il repository
repos.leave_desc=Perderai l'accesso al repository dopo che hai lasciato. Vuoi continuare?
repos.leave_success=Hai lasciato il repository '%s' con successo!
delete_account=Elimina Account
delete_prompt=L'operazione eliminerà permanentemente l'account e <strong>NON POTRÀ</strong> essere annullata!
@@ -417,6 +421,8 @@ mirror_last_synced=Ultimo aggiornamento
watchers=Osservatori
stargazers=Fan
forks=Fork
repo_description_helper=Description of repository. Maximum 512 characters length.
repo_description_length=Caratteri disponibili
form.reach_limit_of_creation=Il proprietario ha raggiunto il limite massimo di %d repository creati.
form.name_reserved=Il nome repository %s è riservato.
@@ -463,7 +469,7 @@ pulls=Pull Requests
labels=Etichette
milestones=Traguardi
commits=Commit
git_branches=Branches
git_branches=Rami (Branch)
releases=Rilasci
file_raw=Originale
file_history=Cronologia
@@ -472,12 +478,12 @@ file_permalink=Permalink
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.
branches.overview=Overview
branches.active_branches=Active Branches
branches.overview=Panoramica
branches.active_branches=Rami (Branch) attivi
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.change_default_branch=Change Default Branch
branches.change_default_branch=Cambia branch di default
editor.new_file=Nuovo file
editor.upload_file=Carica File
@@ -514,6 +520,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.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_delete_file=Failed to delete file '%s' with error: %v
editor.add_subdir=Aggiungi sottocartella...
editor.unable_to_upload_files=È fallito il caricamento dei file su '%s': %v
editor.upload_files_to_dir=Carica file su '%s'
@@ -576,8 +583,8 @@ issues.next=Pagina successiva
issues.open_title=Aperto
issues.closed_title=Chiuso
issues.num_comments=%d commenti
issues.commented_at=`commented <a href="#%s">%s</a>`
issues.delete_comment_confirm=Are you sure you want to delete this comment?
issues.commented_at=`ha commentato <a href="#%s">%s</a>`
issues.delete_comment_confirm=Sei sicuro/a di voler eliminare questo commento?
issues.no_content=Non ci sono ancora contenuti.
issues.close_issue=Chiudi
issues.close_comment_issue=Commenta e chiudi
@@ -605,8 +612,8 @@ issues.label_deletion=Elimina Etichetta
issues.label_deletion_desc=Eliminare l'etichetta rimuovera le sue informazioni in tutti i problemi correlati. Vuoi continuare?
issues.label_deletion_success=Etichetta eliminata con successo!
issues.num_participants=%d Partecipanti
issues.attachment.open_tab=`Click to see "%s" in a new tab`
issues.attachment.download=`Click to download "%s"`
issues.attachment.open_tab='Clicca per vedere "%s" in una nuova scheda'
issues.attachment.download=«Clicca qui per scaricare "%s"»
pulls.new=Nuova Pull Request
pulls.compare_changes=Confronta le modifiche
@@ -616,6 +623,7 @@ pulls.compare_compare=confronta
pulls.filter_branch=Filtra branch
pulls.no_results=Nessun risultato trovato.
pulls.nothing_to_compare=Non c'è niente da confrontare perchè i branch base e head uguali.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`E' già presente una pull request tra questi due trargets: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Crea Pull Request
pulls.title_desc=vorrebbe unire %[1]d commit da <code>%[2]s</code> a <code>%[3]s</code>
@@ -628,12 +636,15 @@ pulls.merged=Unito
pulls.has_merged=Questo contributo è stato incluso con successo!
pulls.data_broken=I dati di questa pull request si sono rotti causa dell'eliminazione delle informazioni di fork.
pulls.is_checking=Il controllo dei conflitti è ancora in corso, per favore aggiorna pagina tra qualche istante.
pulls.can_auto_merge_desc=La pull request non può essere mergiata automaticamente.
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_helper=Effettua il merge manualmente per risolvere i conflitti.
pulls.create_merge_commit=Create a merge commit
pulls.rebase_before_merging=Effettua un Rebase prima del Merge
pulls.commit_description=Descrizione del Commit
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.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.
milestones.new=Nuova Milestone
@@ -681,61 +692,63 @@ wiki.last_updated=Ultimo aggiornamento: %s
settings=Impostazioni
settings.options=Opzioni
settings.collaboration=Collaborazione
settings.collaboration.admin=Admin
settings.collaboration.write=Write
settings.collaboration.read=Read
settings.collaboration.undefined=Undefined
settings.branches=Branches
settings.collaboration.admin=Amministratore
settings.collaboration.write=Scrivi
settings.collaboration.read=Leggi
settings.collaboration.undefined=Indefinito
settings.branches=Divisioni
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.update=Update
settings.update=Aggiorna
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.protected_branches=Protected Branches
settings.protected_branches=Branch protetti
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers.
settings.choose_a_branch=Choose a branch...
settings.branch_protection=Branch Protection
settings.choose_a_branch=Scegli un ramo...
settings.branch_protection=Protezione Ramo
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_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_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_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_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.hooks=Webhooks
settings.githooks=Git Hooks
settings.basic_settings=Impostazioni di Base
settings.mirror_settings=Mirror Settings
settings.sync_mirror=Sync Now
settings.mirror_sync_in_progress=Mirror syncing is in progress, please refresh page in about a minute.
settings.mirror_settings=Impostazioni mirror
settings.sync_mirror=Sincronizza ora
settings.mirror_sync_in_progress=Sincronizzazione del mirror in corso, aggiorna la pagina tra un minuto.
settings.site=Sito Ufficiale
settings.update_settings=Aggiorna Impostazioni
settings.change_reponame_prompt=Questa modifica influirà i link al repository.
settings.advanced_settings=Opzioni avanzate
settings.wiki_desc=Enable wiki system
settings.use_internal_wiki=Use builtin wiki
settings.wiki_desc=Abilita wiki
settings.use_internal_wiki=Usa wiki incorporato
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
settings.use_external_wiki=Usa 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.issues_desc=Enable issue tracker
settings.use_internal_issue_tracker=Use builtin lightweight issue tracker
settings.issues_desc=Abilita tracking problemi
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.use_external_issue_tracker=Utilizza gestore di problemi esterno
settings.external_tracker_url=External Issue Tracker URL
settings.external_tracker_url_desc=Visitors will be redirected to URL when they click on the tab.
settings.external_tracker_url=URL di un segnalatore di problemi esterno
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_issue_style=External Issue Tracker Naming Style:
settings.tracker_issue_style.numeric=Numeric
settings.tracker_issue_style.alphanumeric=Alphanumeric
settings.tracker_issue_style.numeric=Numerico
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.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=Ignora cambiamenti di spazi bianchi
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
settings.danger_zone=Zona Pericolosa
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
settings.new_owner_has_same_repo=Il nuovo proprietario ha già un repository con lo stesso nome. Per favore scegli un altro nome.
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=I dati della wiki del repository sono stati elimi
settings.delete=Elimina questo repository
settings.delete_desc=Una volta che hai cancellato il repository, non puoi tornare indietro. Si prega di fare attenzione.
settings.delete_notices_1=-Questa operazione <strong>NON PUÒ</strong> essere annullata.
settings.delete_notices_2=-Questa operazione eliminerà definitivamente il tutto il contenuto del repository, inclusi i dati di Git, incidenti, commenti e accessi dei collaboratori.
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.deletion_success=Il repository è stato eliminato con successo!
settings.update_settings_success=Le opzioni repository sono state aggiornate con successo.
@@ -806,19 +819,19 @@ settings.event_send_everything=Ho bisogno di <strong>tutto</strong>.
settings.event_choose=Lasciami scegliere ciò di cui ho bisogno.
settings.event_create=Crea
settings.event_create_desc=Branch, o tag creato
settings.event_delete=Delete
settings.event_delete_desc=Branch or tag deleted
settings.event_fork=Fork
settings.event_fork_desc=Repository forked
settings.event_delete=Elimina
settings.event_delete_desc=Branch o tag eliminato
settings.event_fork=Forka
settings.event_fork_desc=Repository Forkata
settings.event_push=Push
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_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_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.active=Attivo
settings.active_helper=Anche i dettagli riguardanti l'evento che ha innescato l'hook saranno inviati.
@@ -830,6 +843,7 @@ settings.recent_deliveries=Recenti Deliveries
settings.hook_type=Tipo di Hook
settings.add_slack_hook_desc=Aggiungi <a href="%s"> Slack</a> integrazione al tuo repository.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Token
settings.slack_domain=Dominio
settings.slack_channel=Canale
@@ -846,6 +860,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_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.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Available characters
diff.browse_source=Sfoglia il codice sorgente
diff.parent=parent
@@ -883,12 +899,12 @@ release.cancel=Annulla
release.publish=Pubblica Rilascio
release.save_draft=Salva Bozza
release.edit_release=Modifica Rilascio
release.delete_release=Cancela questa Release
release.delete_release=Cancella questa Release
release.deletion=Eliminazione Release
release.deletion_desc=Eliminando questa release cancellarai anche i tag Git corrispondenti. Vuoi continuare?
release.deletion_success=La release è stata eliminata con successo!
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
[org]
@@ -912,7 +928,7 @@ team_permission_desc=Quale livello di autorizzazione dovrebbe avere questa squad
form.name_reserved=Il nome organizzazione '%s' è riservato.
form.name_pattern_not_allowed=La struttura del nome dell'organizzazione '%s' non è consentita.
form.team_name_reserved=Team name '%s' is reserved.
form.team_name_reserved=Non puoi utilizzare '%s' come nome del Team.
settings=Impostazioni
settings.options=Opzioni
@@ -1079,13 +1095,14 @@ repos.private=Privati
repos.watches=Segue
repos.stars=Voti
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.name=Nome
auths.type=Tipo
auths.enabled=Attivo
auths.default=Default
auths.updated=Aggiornato
auths.auth_type=Tipo di autenticazione
auths.auth_name=Nome di autenticazione
@@ -1094,6 +1111,7 @@ auths.domain=Dominio
auths.host=Host
auths.port=Porta
auths.bind_dn=Binda DN
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
auths.bind_password=Binda Password
auths.bind_password_helper=Attenzione: Questa password è salvata in chiaro. Non usare su un acount con alti privilegi.
auths.user_base=User Search Base
@@ -1103,7 +1121,7 @@ auths.attribute_username_placeholder=Se vuoto, verrà usato il nome di login del
auths.attribute_name=First Name Attribute
auths.attribute_surname=Attributo Cognome
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_filter=Group Filter
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
@@ -1121,9 +1139,9 @@ auths.enable_tls=Abilitare Crittografia TLS
auths.skip_tls_verify=Salta verifica TLS
auths.pam_service_name=Nome del Servizio PAM
auths.enable_auto_register=Abilitare Registrazione Automatica
auths.tips=Consigli
auths.edit=Modifica impostazioni di autenticazione
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.update_success=Parametro di autenticazione aggiornato.
auths.update=Aggiornare le impostazioni di autenticazione
@@ -1134,6 +1152,7 @@ auths.still_in_used=Questo meccanismo di autenticazione è ancora attivo per alc
auths.deletion_success=Il meccanismo di autenticazione è stato eliminato!
auths.login_source_exist=La fonte di autenticazione '%s' esiste già.
config.not_set=(non impostata)
config.server_config=Configurazione Server
config.app_name=Nome Applicazione
config.app_ver=Versione Applicazione
@@ -1155,21 +1174,25 @@ config.ssh_domain=Dominio
config.ssh_port=Porta
config.ssh_listen_port=Porta in ascolto
config.ssh_root_path=Percorso Root
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_key_test_path=Percorso chiave di test
config.ssh_keygen_path=Percorso Keygen ('ssh-keygen')
config.ssh_minimum_key_size_check=Verifica delle dimensioni minime della chiave
config.ssh_minimum_key_sizes=Dimensioni minime della chiave
config.repo_config=Repository Configuration
config.repo_config=Configurazione Repository
config.repo_root_path=Percorso Root del Repository
config.script_type=Tipo di Script
config.repo_force_private=Force Private
config.max_creation_limit=Max Creation Limit
config.preferred_licenses=Preferred Licenses
config.disable_http_git=Disable HTTP Git
config.enable_local_path_migration=Enable Local Path Migration
config.disable_http_git=Disabilita Git in HTTP
config.enable_local_path_migration=Abilita migrazioni con path locale
config.commits_fetch_concurrency=Commits Fetch Concurrency
config.http_config=Configurazione HTTP
config.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Configurazione Database
config.db_type=Tipo
config.db_host=Host
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Salta verifiche TLS
config.mailer_config=Configurazione Mailer
config.mailer_enabled=Attivo
config.mailer_disable_helo=Disattiva HELO
config.mailer_name=Nome
config.mailer_subject_prefix=Subject Prefix
config.mailer_host=Host
config.mailer_user=Utente
config.send_test_mail=Invia email di test
@@ -1242,8 +1265,8 @@ config.git_pull_timeout=Timeout per il pull
config.git_gc_timeout=Timeout per le operazioni di GC
config.log_config=Configurazione Log
config.log_mode=Mode
config.log_options=Options
config.log_mode=Modalità
config.log_options=Opzioni
monitor.cron=Incarici di cron
monitor.name=Nome
@@ -1272,7 +1295,6 @@ notices.delete_success=Gli avvisi di sistema sono stati successivamente eliminat
[action]
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>
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
@@ -1289,6 +1311,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>
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>
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]
ago=fa

File diff suppressed because it is too large Load Diff

View File

@@ -119,7 +119,7 @@ sqlite3_not_available=설치하신 버전은 SQLite3을 지원하지 않으므
invalid_db_setting=데이터베이스 설정이 올바르지 않습니다: %v
invalid_repo_path=저장소 루트 경로가 올바르지 않습니다: %v
run_user_not_match=실행 유저가 현재 유저가 아닙니다: %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address.
smtp_host_missing_port=SMTP 호스트 포트가 주소에 없습니다.
invalid_smtp_from=SMTP 보낸 사람 필드가 유효하지 않습니다: %v
save_config_failed=설정을 저장할 수 없습니다: %v
invalid_admin_setting=관리자 계정 설정이 잘못되었습니다: %v
@@ -151,6 +151,8 @@ register_hepler_msg=이미 계정을 가지고 계신가요? 로그인하세요!
social_register_hepler_msg=계정을 가지고 계신가요? 연결하세요!
disable_register_prompt=죄송합니다, 가입이 비활성화 되어있습니다. 사이트 관리자에게 문의 해주세요.
disable_register_mail=죄송합니다. 메일 등록이 비활성화 되었습니다.
auth_source=인증 소스 편집
local=로컬
remember_me=자동 로그인
forgot_password=비밀번호 찾기
forget_password=비밀번호를 잊으셨습니까?
@@ -229,6 +231,7 @@ org_name_been_taken=이미 사용중인 조직 이름입니다.
team_name_been_taken=이미 사용중인 팀 이름입니다.
email_been_used=이미 사용중인 이메일 주소입니다.
username_password_incorrect=사용자 이름이나 비밀번호가 올바르지 않습니다.
auth_source_mismatch=선택 인증 소스는 사용자와 연결 됩니다.
enterred_invalid_repo_name=입력한 저장소 이름이 올바른지 확인하십시오.
enterred_invalid_owner_name=입력한 사용자 이름이 올바른지 확인하십시오.
enterred_invalid_password=입력한 비밀번호가 올바른지 확인하십시오.
@@ -340,24 +343,25 @@ two_factor_on=켜기
two_factor_off=끄기
two_factor_enable=활성화
two_factor_disable=비활성화
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_enable_title=Enable Two-factor Authentication
two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
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_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_regenerate_recovery_codes=Regenerate Recovery Codes
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_disable_title=Disable Two-factor Authentication
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_view_recovery_codes=<a href="%s%s">복구 코드</a>를 안전한 장소에 저장해 두십시오. 인증 애플리케이션에 접근할 수 없을때 사용할 수 있습니다.
two_factor_http=HTTP/HTTPS 작업에 더이상 평문 사용자명과 비밀번호를 사용할 수 없습니다. <a href="%[1]s%[2]s">개인 액세스 토큰</a>을 생성후 사용해 주세요. 예. <code>%[3]s</code>.
two_factor_enable_title=2단계 인증 활성화
two_factor_scan_qr=인증 애플리케이션으로 이 이미지를 스캔하세요:
two_factor_or_enter_secret=또는 이 비밀키를 입력하세요:
two_factor_then_enter_passcode=그리고 코드를 입력하세요:
two_factor_verify=확인
two_factor_invalid_passcode=입력한 코드가 올바르지 않습니다. 다시 시도해 주세요!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=2단계 인증 활성화 실패: %v
two_factor_enable_success=2단계 인증이 성공적으로 활성화되었습니다!
two_factor_recovery_codes_title=2단계 인증 복구 코드
two_factor_recovery_codes_desc=복구 코드는 당신이 2단계 인증 프로그램에 접근할 수 없을때 사용합니다. 각 코드들은 한 번만 사용될 수 있습니다. <b>이 코드들은 안전한 장소에 보관하세요.</b>
two_factor_regenerate_recovery_codes=복구 코드 재생성
two_factor_regenerate_recovery_codes_error=복구 코드 재생성 실패: %v
two_factor_regenerate_recovery_codes_success=성공적으로 새로운 복구 코드가 생성되었습니다!
two_factor_disable_title=2단계 인증 비활성화
two_factor_disable_desc=2단계 인증을 끄면 보안 수준이 낮아집니다. 계속하시겠습니까?
two_factor_disable_success=2단계 인증이 성공적으로 비활성화되었습니다!
manage_access_token=개인 액세스 토큰 관리
generate_new_token=새 토큰을 생성
@@ -375,8 +379,8 @@ orgs.none=당신은 어떤 조직의 구성원도 아닙니다.
orgs.leave_title=조직 떠나기
orgs.leave_desc=조직을 떠난 후에는 모든 리포지토리와 팀에 액세스 할 수 없게 됩니다. 계속 하시겠습니까?
repos.leave=Leave
repos.leave_title=Leave repository
repos.leave=나가기
repos.leave_title=저장소 나가기
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!
@@ -417,6 +421,8 @@ mirror_last_synced=마지막으로 동기화됨
watchers=주시하고 있는 사람들
stargazers=별을 준 사람들
forks=포크
repo_description_helper=Description of repository. Maximum 512 characters length.
repo_description_length=Available characters
form.reach_limit_of_creation=소유자가 저장소 만들기 최대 제한에 (%d개) 도달했습니다.
form.name_reserved=저장소 이름 '%s'은 예약 되어 있습니다.
@@ -450,7 +456,7 @@ quick_guide=퀵 가이드
clone_this_repo=이 저장소 복제
create_new_repo_command=커맨드 라인에서 새 저장소 만들기
push_exist_repo=커맨드 라인에서 기존 저장소 푸시하기
bare_message=This repository does not have any content yet.
bare_message=이 저장소에는 아직 내용이 없습니다.
files=파일
branch=브렌치
@@ -463,7 +469,7 @@ pulls=풀 리퀘스트
labels=레이블
milestones=마일스톤
commits=커밋
git_branches=Branches
git_branches=브랜치
releases=릴리즈
file_raw=Raw
file_history=히스토리
@@ -472,12 +478,12 @@ file_permalink=고유링크
file_too_large=이 파일은 표시하기엔 너무 큽니다.
video_not_supported_in_browser=이 브라우저는 HTML5 비디오 태그를 지원하지 않습니다.
branches.overview=Overview
branches.active_branches=Active Branches
branches.stale_branches=Stale Branches
branches.all=All Branches
branches.overview=개요
branches.active_branches=활성 브랜치
branches.stale_branches=오래된 브랜치
branches.all=모든 브랜치
branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch
branches.change_default_branch=기본 브랜치 변경
editor.new_file=파일 생성
editor.upload_file=파일 업로드
@@ -514,6 +520,7 @@ editor.file_changed_while_editing=편집을 시작한 이후 파일 내용이
editor.file_already_exists=이 저장소에 이름이 '%s'인 파일이 이미 존재합니다.
editor.no_changes_to_show=표시할 변경사항이 없습니다.
editor.fail_to_update_file=파일 '%s'를 변경/추가 하는데 실패하였습니다. 에러: %v
editor.fail_to_delete_file=Failed to delete file '%s' with error: %v
editor.add_subdir=하위 디렉토리 추가...
editor.unable_to_upload_files=파일 '%s'를 업로드하는데 실패하였습니다. 에러: %v
editor.upload_files_to_dir=파일 업로드 '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=비교
pulls.filter_branch=Filter Branch
pulls.no_results=결과 없음
pulls.nothing_to_compare=Base 와 head 브랜치가 동일해서 비교할 게 없습니다.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`이 두 타겟 사이엔 이미 풀 리퀘스트가 있습니다:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=풀 리퀘스트 생성
pulls.title_desc=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지하려 합니다
@@ -632,6 +640,9 @@ pulls.is_checking=아직 컨플릭트 여부 체크 중입니다, 잠시 후 이
pulls.can_auto_merge_desc=이 풀리퀘스트는 자동적으로 머지될 수 있습니다.
pulls.cannot_auto_merge_desc=컨플릭이 존재해서 이 풀리퀘스트는 자동을 머지될 수 없습니다.
pulls.cannot_auto_merge_helper=컨플릭을 해결하려면 수동으로 머지해 주십시오.
pulls.create_merge_commit=Create a merge commit
pulls.rebase_before_merging=병합 하기 전에 리베이스
pulls.commit_description=Commit Description
pulls.merge_pull_request=풀리퀘스트 머지
pulls.open_unmerged_pull_exists=`같은 리파지토리에서 같은 머지 정보로 만들어진 풀리퀘스트 (#%d) 가 이미 오픈 상태이고 머지를 기다리고 있기 때문에 다시 열기 작업을 할 수 없습니다.`
pulls.delete_branch=브랜치 삭제
@@ -736,9 +747,11 @@ settings.tracker_issue_style=외부 이슈 트래커 명명 스타일:
settings.tracker_issue_style.numeric=숫자
settings.tracker_issue_style.alphanumeric=문자 숫자
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.allow_rebase_merge=Allow use rebase to merge commits
settings.danger_zone=위험 설정
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
settings.cannot_fork_to_same_owner=본인 소유의 저장소를 본인 명의로 포크할 수 없습니다.
settings.new_owner_has_same_repo=새로운 소유자가 같은 이름의 저장소를 이미 가지고 있습니다. 다른 이름을 선택해주세요.
settings.convert=일반 리파지토리로 변환
settings.convert_desc=이 미러를 일반 리파지토리로 변환할 수 없습니다. 반대로는 할 수 없습니다.
@@ -757,7 +770,7 @@ settings.wiki_deletion_success=저장소의 Wiki 데이터가 성공적으로
settings.delete=이 저장소 삭제
settings.delete_desc=저장소를 지우고 나면 되돌릴 수 없습니다. 다시 한번 확인하세요.
settings.delete_notices_1=- 이 작업은 취소할 수 <strong>없습니다.</strong>
settings.delete_notices_2=- 이 작업은 저장소의 모든 항목을 영구적으로 삭제합니다. Git 데이터, 이슈, 주석 및 공동 작업자의 액세스를 포함합니다.
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=- 모든 포크들은 삭제 후에도 독립적으로 유지됩니다.
settings.deletion_success=저장소가 성공적으로 삭제 되었습니다!
settings.update_settings_success=저장소 옵션이 성공적으로 업데이트 되었습니다.
@@ -807,18 +820,18 @@ settings.event_send_everything=<strong>모든 것</strong>이 필요합니다.
settings.event_choose=필요한 것을 선택해주세요.
settings.event_create=생성
settings.event_create_desc=브랜치 또는 태그를 생성합니다.
settings.event_delete=Delete
settings.event_delete_desc=Branch or tag deleted
settings.event_fork=Fork
settings.event_delete=삭제
settings.event_delete_desc=브랜치나 태그 삭제됨
settings.event_fork=포크
settings.event_fork_desc=Repository forked
settings.event_push=푸시
settings.event_push_desc=깃 저장소로 푸시
settings.event_issues=Issues
settings.event_issues=이슈
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_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_desc=Release published in a repository.
settings.active=활성
@@ -831,6 +844,7 @@ settings.recent_deliveries=최근의 Deliveries
settings.hook_type=훅 타입
settings.add_slack_hook_desc=저장소에 <a href="%s">슬랙</a>연동을 추가
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=토큰
settings.slack_domain=도메인
settings.slack_channel=채널
@@ -847,6 +861,8 @@ settings.add_key_success=새로운 배포 키 '%s'가 성공적으로 추가 되
settings.deploy_key_deletion=배포 키 삭제
settings.deploy_key_deletion_desc=이 배포키를 삭제하면 이 저장소와 관련된 모든 접근 권한이 삭제됩니다. 계속 하시겠습니까?
settings.deploy_key_deletion_success=배포 키가 성공적으로 삭제되었습니다!
settings.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Available characters
diff.browse_source=소스 검색
diff.parent=부모
@@ -1080,13 +1096,14 @@ repos.private=비공개
repos.watches=지켜보기
repos.stars=Stars
repos.issues=이슈
repos.size=Size
repos.size=크기
auths.auth_manage_panel=인증 관리 패널
auths.auth_sources=Authentication Sources
auths.new=새로운 소스를 추가
auths.name=이름
auths.type=유형
auths.enabled=활성화됨
auths.default=Default
auths.updated=업데이트됨
auths.auth_type=인증 유형
auths.auth_name=인증 이름
@@ -1095,16 +1112,17 @@ auths.domain=도메인
auths.host=호스트
auths.port=포트
auths.bind_dn=DN 연결
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
auths.bind_password=비밀번호 연결
auths.bind_password_helper=경고: 이 암호는 일반 텍스트로 저장됩니다. 높은 권한의 계정을 사용하지 마십시오.
auths.user_base=사용자 검색 기준
auths.user_dn=사용자 DN
auths.attribute_username=유저 명 속성
auths.attribute_username_placeholder=사용자 이름에 대한 로그인 폼 필드 값을 사용하려면 비워 둡니다.
auths.attribute_name=First Name Attribute
auths.attribute_name=첫번째 이름 속성
auths.attribute_surname=성씨 속성
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_filter=Group Filter
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
@@ -1122,9 +1140,9 @@ auths.enable_tls=TLS 암호화 활성화
auths.skip_tls_verify=TLS 검증 건너뛰기
auths.pam_service_name=PAM 서비스 명
auths.enable_auto_register=자동 등록을 활성화
auths.tips=도움말
auths.edit=인증 설정 편집
auths.activated=이 인증정보는 활성화되어있습니다.
auths.default_auth=This authentication is default login source
auths.new_success=새로운 인증 '%s'가 성공적으로 추가 되었습니다.
auths.update_success=인증 설정이 성공적으로 변경되었습니다.
auths.update=인증 설정 업데이트
@@ -1135,6 +1153,7 @@ auths.still_in_used=이 인증은 아직 몇몇 사용자들이 사용하고 있
auths.deletion_success=인증이 성공적으로 삭제 되었습니다!
auths.login_source_exist=로그인 소스 '%s'는 이미 존재합니다.
config.not_set=(not set)
config.server_config=서버 설정
config.app_name=애플리케이션 이름
config.app_ver=응용 프로그램 버전
@@ -1156,6 +1175,7 @@ config.ssh_domain=도메인
config.ssh_port=포트
config.ssh_listen_port=수신 대기 포트
config.ssh_root_path=최상위 경로
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_key_test_path=주 테스트 경로
config.ssh_keygen_path=키 생성 ('ssh-keygen') 경로
config.ssh_minimum_key_size_check=최소 키 사이즈 검사
@@ -1171,6 +1191,9 @@ 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 설정
config.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=데이터베이스 설정
config.db_type=유형
config.db_host=호스트
@@ -1200,7 +1223,7 @@ config.skip_tls_verify=TLS 확인 건너뛰기
config.mailer_config=메일러 설정
config.mailer_enabled=활성화됨
config.mailer_disable_helo=HELO 비활성화
config.mailer_name=이름
config.mailer_subject_prefix=Subject Prefix
config.mailer_host=호스트
config.mailer_user=사용자
config.send_test_mail=테스트 이메일 보내기
@@ -1273,7 +1296,6 @@ notices.delete_success=시스템 알림들이 성공적으로 삭제되었습니
[action]
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>으로 저장소 이름을 바꾸었습니다.
commit_repo=<a href="%[1]s">%[4]s</a>에서 <a href="%[1]s/src/%[2]s">%[3]s</a>으로 푸시함
compare_commits=이 %d개의 커밋에 대한 비교 보기
@@ -1290,6 +1312,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>
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>
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]
ago=

View File

@@ -119,7 +119,7 @@ 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_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
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
save_config_failed=Neizdevās saglabāt konfigurāciju: %v
invalid_admin_setting=Nekorekts admin konta iestatījums: %v
@@ -151,6 +151,8 @@ register_hepler_msg=Jau ir konts? Pieraksties 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_mail=Atvainojiet, reģistrācijas e-pasta apstiprināšana ir atspējota.
auth_source=Autentificēšanas avots
local=Local
remember_me=Atcerēties mani
forgot_password=Aizmirsu paroli
forget_password=Aizmirsi paroli?
@@ -212,7 +214,7 @@ Content=Saturs
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_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.`
min_size_error=` jabūt vismaz %s simbolu garumā.`
max_size_error=` jabūt ne mazāk kā %s simbolu garumā.`
@@ -229,6 +231,7 @@ org_name_been_taken=Organizācijas nosaukums ir jau aizņemts.
team_name_been_taken=Komandas nosaukums ir jau aizņemts.
email_been_used=E-pasta adrese jau tiek izmantota.
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_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.
@@ -347,8 +350,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_then_enter_passcode=Pēc tam ievadiet kodu:
two_factor_verify=Pārbaudīt
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_enable_error=Enable Two-factor authentication failed: %v
two_factor_invalid_passcode=Ievadītais piekļuves kods nav derīgs. Lūdzu mēģiniet vēlreiz!
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_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>.
@@ -357,7 +361,7 @@ 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_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_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
generate_new_token=Ģenerēt jaunu talonu
@@ -371,7 +375,7 @@ 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?
delete_token_success=Personīgās piekļuves talons veiksmīgi izdzēsts! Neaizmirstiet nomainīt uz citu aplikācijās, kas to izmantoja.
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_desc=You will lose access to all repositories and teams after you left the organization. Do you want to continue?
@@ -417,6 +421,8 @@ mirror_last_synced=Pēdējo reizi sinhronizēts
watchers=Novērotāji
stargazers=Zvaigžņdevēji
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.name_reserved=Repozitorija nosaukums '%s' ir rezervēts.
@@ -470,13 +476,13 @@ file_history=Vēsture
file_view_raw=Rādīt neapstrādātu
file_permalink=Patstāvīgā saite
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.active_branches=Aktīvie atzari
branches.stale_branches=Pamests atzars
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
editor.new_file=Jauns fails
@@ -514,6 +520,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.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_delete_file=Neizdevās dzēst failu '%s', kļūda: %v
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.upload_files_to_dir=Augšupielādēt failus uz direktoriju '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=salīdzināmais
pulls.filter_branch=Filtrēt atzarus
pulls.no_results=Nekas netika atrasts.
pulls.nothing_to_compare=Nav ko salīdzināt, jo bāzes un salīdzināmie atzari ir vienādi.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`Jau eksistē izmaiņu pieprasījums starp šiem diviem atzariem: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Izveidot izmaiņu pieprasījumu
pulls.title_desc=vēlas sapludināt %[1]d revīzijas no <code>%[2]s</code> uz <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=Notiek konfliktu pārbaude, mirkli uzgaidiet un atjaunojiet la
pulls.can_auto_merge_desc=Šo izmaiņu pieprasījumu var automātiski saplūdināt.
pulls.cannot_auto_merge_desc=Šis izmaiņu pieprasījums nevar tikt automātiski saplūdināts konfliktu dēļ.
pulls.cannot_auto_merge_helper=Lūdzu sapludiniet manuāli, lai atrisinātu konfliktus.
pulls.create_merge_commit=Create a merge commit
pulls.rebase_before_merging=Rebase before merging
pulls.commit_description=Commit Description
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.delete_branch=Dzēst atzaru
@@ -735,7 +746,9 @@ settings.tracker_issue_style=Ārējā problēmu reģistra nosaukumu stils:
settings.tracker_issue_style.numeric=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.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=Ignorēt atstarpju izmaiņas
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
settings.danger_zone=Bīstamā zona
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
settings.new_owner_has_same_repo=Jaunajam īpašniekam jau ir repozitorijs ar šādu nosaukumu.
@@ -814,10 +827,10 @@ settings.event_push=Izmaiņu nosūtīšana
settings.event_push_desc=Git izmaiņu nosūtīšana uz repozitoriju
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_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_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_desc=Laidiens publicēts repozitorijā.
settings.active=Aktīvs
@@ -830,6 +843,7 @@ settings.recent_deliveries=Pēdējās piegādes
settings.hook_type=Āķa veids
settings.add_slack_hook_desc=PIevienot <a href="%s">Slack</a> integrāciju Jūsu repozitorijā.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Talons
settings.slack_domain=Domēns
settings.slack_channel=Kanāls
@@ -846,6 +860,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_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.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Available characters
diff.browse_source=Pārlūkot izejas kodu
diff.parent=vecāks
@@ -1081,11 +1097,12 @@ repos.stars=Atzīmētās zvaigznītes
repos.issues=Problēmas
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.name=Nosaukums
auths.type=Veids
auths.enabled=Iespējota
auths.default=Default
auths.updated=Atjaunināta
auths.auth_type=Autentifikācijas tips
auths.auth_name=Autentifikācijas nosaukums
@@ -1094,17 +1111,18 @@ auths.domain=Domēns
auths.host=Resursdators
auths.port=Ports
auths.bind_dn=Saistīšanas DN
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
auths.bind_password=Saistīšanas parole
auths.bind_password_helper=Brīdinājums: Šī parole tiks saglabāta nešifrētā veidā. Neizmantojiet kontu ar augstām privilēģijām.
auths.user_base=Lietotāja pamatnosacījumi
auths.user_dn=Lietotāja DN
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_name=First Name Attribute
auths.attribute_name=Vārda atribūts
auths.attribute_surname=Uzvārda atribūts
auths.attribute_mail=E-pasta atribūts
auths.verify_group_membership=Verify group membership
auths.group_search_base_dn=Group Search Base DN
auths.verify_group_membership=Pārbaudīt grupas piederību
auths.group_search_base_dn=Grupas meklēšanas pamata DN
auths.group_filter=Group Filter
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
auths.user_attribute_listed_in_group=User Attribute Listed in Group
@@ -1121,9 +1139,9 @@ auths.enable_tls=Iespējot TLS šifrēšanu
auths.skip_tls_verify=Izlaist TLS verifikāciju
auths.pam_service_name=PAM servisa nosaukums
auths.enable_auto_register=Iespējot automātisko reģistrāciju
auths.tips=Padomi
auths.edit=Labot autentifikācijas iestatījumus
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.update_success=Autentifikācijas iestatījumi tika veiksmīgi saglabāti.
auths.update=Mainīt autentifikācijas iestatījumus
@@ -1134,6 +1152,7 @@ auths.still_in_used=Daži lietotāji joprojām izmanto šo autentifikācijas vei
auths.deletion_success=Autentifikācija tika veiksmīgi izdzēsta!
auths.login_source_exist=Pieteikšanās avots '%s' jau eksistē.
config.not_set=(nav noteikts)
config.server_config=Servera konfigurācija
config.app_name=Lietotnes nosaukums
config.app_ver=Lietotnes versija
@@ -1155,6 +1174,7 @@ config.ssh_domain=Domēns
config.ssh_port=Ports
config.ssh_listen_port=Klausīšanās ports
config.ssh_root_path=Saknes ceļš
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_key_test_path=Atslēgu pārbaudes ceļš
config.ssh_keygen_path=Keygen ('ssh-keygen') ceļš
config.ssh_minimum_key_size_check=Minimālā atslēgas lieluma pārbaude
@@ -1170,6 +1190,9 @@ config.disable_http_git=Atspējot HTTP Git
config.enable_local_path_migration=Atļaut migrāciju no lokāla ceļa
config.commits_fetch_concurrency=Commits Fetch Concurrency
config.http_config=HTTP konfigurācija
config.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Datu bāzes konfigurācija
config.db_type=Veids
config.db_host=Resursdators
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Izlaist TLS pārbaudi
config.mailer_config=Sūtītāja konfigurācija
config.mailer_enabled=Iespējots
config.mailer_disable_helo=Atspējot HELO
config.mailer_name=Nosaukums
config.mailer_subject_prefix=Subject Prefix
config.mailer_host=Resursdators
config.mailer_user=Lietotājs
config.send_test_mail=Nosūtīt pārbaudes e-pastu
@@ -1272,7 +1295,6 @@ notices.delete_success=Sistēmas paziņojumi tika veiksmīgi izdzēstas.
[action]
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>
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
@@ -1289,6 +1311,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>
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>
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]
ago=atpakaļ

View File

@@ -40,7 +40,7 @@ your_settings=Uw instellingen
activities=Activiteiten
pull_requests=Pull requests
issues=Kwesties
issues=Issues
cancel=Annuleren
@@ -119,7 +119,7 @@ sqlite3_not_available=Uw versie biedt geen ondersteuning voor SQLite3, download
invalid_db_setting=Uw database instellingen zijn 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
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
save_config_failed=Kan de configuratie niet opslaan: %v
invalid_admin_setting=Uw admin-instellingen zijn niet geldig: %v
@@ -151,6 +151,8 @@ register_hepler_msg=Heeft u al een account? Meld u nu aan!
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_mail=Sorry, bevestiging van registratie per e-mail is uitgeschakeld.
auth_source=Authentication Source
local=Lokaal
remember_me=Onthoud mij
forgot_password=Wachtwoord vergeten
forget_password=Wachtwoord vergeten?
@@ -171,10 +173,10 @@ non_local_account=Niet lokale accounts mogen hun wachtwoord niet veranderen via
login_two_factor=Twee-traps authenticatie
login_two_factor_passcode=Authenticatie wachtwoord
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
login_two_factor_recovery=Two-factor Recovery
login_two_factor_recovery_code=Recovery Code
login_two_factor_enter_passcode=Enter a two-factor passcode
login_two_factor_enter_recovery_code=Voer de two-factor herstelcode in
login_two_factor_recovery=Two-factor herstel
login_two_factor_recovery_code=Herstel code
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.
[mail]
@@ -205,7 +207,7 @@ AdminEmail=E-mail beheerder
NewBranchName=Nieuwe branch naam
CommitSummary=Commit samenvatting
CommitMessage=Commit bericht
CommitChoice=Commit choice
CommitChoice=Keuze toepassen
TreeName=Bestandspad
Content=Inhoud
@@ -229,6 +231,7 @@ org_name_been_taken=Organisatie naam is al in gebruik.
team_name_been_taken=Team naam is al in gebruik.
email_been_used=e-mailadres is al in gebruik.
username_password_incorrect=Gebruikersnaam of wachtwoord is niet correct.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=U heeft een onjuiste repositorie naam ingevoerd.
enterred_invalid_owner_name=U heeft een onjuiste eigenaar ingevoerd.
enterred_invalid_password=U heeft een onjuiste wachtwoord ingevoerd.
@@ -264,7 +267,7 @@ profile=Profiel
password=Wachtwoord
avatar=Profielfoto
ssh_keys=SSH-sleutels
security=Security
security=Beveiliging
repos=Repositories
orgs=Organisaties
applications=Toepassingen
@@ -336,18 +339,19 @@ token_state_desc=Deze token is de laatste 7 dagen gebruikt
two_factor=Two-factor Authentication
two_factor_status=Status:
two_factor_on=On
two_factor_off=Off
two_factor_enable=Enable
two_factor_disable=Disable
two_factor_on=Aan
two_factor_off=Uit
two_factor_enable=Inschakelen
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_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_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_verify=Verifiëren
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_success=Two-factor authentication has enabled for your account successfully!
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -375,8 +379,8 @@ orgs.none=U bent geen lid van een organisatie.
orgs.leave_title=Een organisatie verlaten
orgs.leave_desc=U verliest toegang tot alle repositories en teams nadat u de organisatie verlaten hebt. Wilt u doorgaan?
repos.leave=Leave
repos.leave_title=Leave repository
repos.leave=Verlaat
repos.leave_title=Verlaat repository
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!
@@ -417,6 +421,8 @@ mirror_last_synced=Laatste synchronisatie
watchers=Volgers
stargazers=Stargazers
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.name_reserved=Repositorienaam '%s' is gereserveerd.
@@ -450,7 +456,7 @@ quick_guide=Snelstart gids
clone_this_repo=Kloon deze repositorie
create_new_repo_command=Maak een nieuwe repositorie aan 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
branch=Aftakking
@@ -458,7 +464,7 @@ tree=Boom
filter_branch_and_tag=Filter branch of tag
branches=Aftakkingen
tags=Labels
issues=Kwesties
issues=Issues
pulls=Pull-aanvragen
labels=Labels
milestones=Mijlpalen
@@ -472,7 +478,7 @@ file_permalink=Permalink
file_too_large=Dit bestand is te groot om te worden getoond
video_not_supported_in_browser=Uw browser ondersteunt geen HTML5 video label.
branches.overview=Overview
branches.overview=Overzicht
branches.active_branches=Active Branches
branches.stale_branches=Stale Branches
branches.all=All Branches
@@ -488,18 +494,18 @@ 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.fork_before_edit=Je moet deze repository eerst vorken om dit bestand aan te kunnen passen
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.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.cancel_lower=annuleren
editor.commit_changes=Commit Changes
editor.commit_changes=Wijzigingen toepassen
editor.add_tmpl='%s/<filename>' toevoegen
editor.add='%s' toevoegen
editor.update='%s' updaten
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.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...
@@ -509,11 +515,12 @@ editor.branch_already_exists=Aftakking '%s' bestaat al in deze repository.
editor.directory_is_a_file=Entry '%s' in the parent path is a file not a directory in this repository.
editor.file_is_a_symlink=The file '%s' is a symlink that cannot be modified from the web editor.
editor.filename_is_a_directory=The filename '%s' is an existing directory in this repository.
editor.file_editing_no_longer_exists=The file '%s' you are editing no longer exists in the repository.
editor.file_editing_no_longer_exists=Het bestand '%s' die u aan het bewerken bent bestaat niet meer in deze repository.
editor.file_changed_while_editing=File content has been changed since you started editing. <a target="_blank" href="%s">Click here</a> to see what have been changed or <strong>press commit again</strong> to overwrite those changes.
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.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.unable_to_upload_files=Failed to upload files to '%s' with error: %v
editor.upload_files_to_dir=Bestanden uploaden naar '%s'
@@ -558,7 +565,7 @@ issues.filter_milestone_no_select=Geen geselecteerde mijlpaal
issues.filter_assignee=Aangewezene
issues.filter_assginee_no_select=Geen geselecteerde verantwoordelijke
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.created_by_you=Aangemaakt door jou
issues.filter_type.mentioning_you=Vermelden jou
@@ -616,6 +623,7 @@ pulls.compare_compare=vergelijk
pulls.filter_branch=Filter branch
pulls.no_results=Geen resultaten gevonden.
pulls.nothing_to_compare=Er is niets te vergelijken omdat base en head branches dezelfde zijn.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=' Er is al een pull-aanvraag tussen deze twee targets: <a href="%[1]s/pulls/%[3]d"> %[2]s #% [3]d</a>'
pulls.create=Pull verzoek aanmaken
pulls.title_desc=wil %[1]d commits van <code>%[2]s</code> samenvoegen met <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=Controle van conflicten is nog bezig, ververs deze pagina in e
pulls.can_auto_merge_desc=Dit pull-request kan automatisch samengevoegd worden.
pulls.cannot_auto_merge_desc=Dit pull-request kan niet worden gemerged omdat er conflicten zijn.
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.rebase_before_merging=Rebase before merging
pulls.commit_description=Commit Description
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.delete_branch=Aftakking verwijderen
@@ -689,7 +700,7 @@ settings.branches=Branches
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
settings.default_branch=Default Branch
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
settings.update=Update
settings.update=Bijwerken
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.protected_branches=Protected Branches
@@ -704,7 +715,7 @@ settings.protect_require_pull_request_desc=Enable this option to disable direct
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_users=Users who can push to this branch
settings.protect_whitelist_search_users=Search users
settings.protect_whitelist_search_users=Doorzoek gebruikers
settings.protect_whitelist_teams=Teams for which members of them can push to this branch
settings.protect_whitelist_search_teams=Search teams
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
@@ -724,18 +735,20 @@ settings.allow_public_wiki_desc=Allow public access to wiki when repository is p
settings.use_external_wiki=Externe wiki gebruiken
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.issues_desc=Kwestietracker inschakelen
settings.use_internal_issue_tracker=Gebruik ingebouwde eenvoudige kwestietracker
settings.issues_desc=Issuetracker inschakelen
settings.use_internal_issue_tracker=Gebruik ingebouwde eenvoudige issuetracker
settings.allow_public_issues_desc=Allow public access to issues when repository is private
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.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.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.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.allow_rebase_merge=Allow use rebase to merge commits
settings.danger_zone=Gevaren zone
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
settings.new_owner_has_same_repo=De nieuwe eigenaar heeft al een repositorie met deze naam
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=De repository met wiki data is succesvol gewist.
settings.delete=Verwijder deze repositorie
settings.delete_desc=Als u eenmaal een repositorie verwijderd is er geen weg terug. Gelieve zeker te zijn van uw acties.
settings.delete_notices_1=- Deze bewerking kan <strong>NIET</strong> ongedaan gemaakt worden.
settings.delete_notices_2=- Deze bewerking verwijdert permanent alle informatie van deze repository met inbegrip van Git gegevens, tickets, opmerkingen en de toegang van medewerkers.
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.deletion_success=Repository is succesvol verwijderd!
settings.update_settings_success=Repositorie instellingen zijn succesvol bijgewerkt.
@@ -806,7 +819,7 @@ settings.event_send_everything=Ik moet <strong>alles</strong> hebben.
settings.event_choose=Laat me kiezen wat ik nodig heb.
settings.event_create=Creëer
settings.event_create_desc=Branch, of tag aangemaakt
settings.event_delete=Delete
settings.event_delete=Verwijderen
settings.event_delete_desc=Branch or tag deleted
settings.event_fork=Fork
settings.event_fork_desc=Repository forked
@@ -814,10 +827,10 @@ settings.event_push=Push
settings.event_push_desc=Git push naar een repository
settings.event_issues=Issues
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_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_desc=Release published in a repository.
settings.active=Actief
@@ -830,6 +843,7 @@ settings.recent_deliveries=Recente bezorgingen
settings.hook_type=Type hook
settings.add_slack_hook_desc=<a href="%s"> toegestane vertraging</a> integratie toevoegen aan uw repository.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Slack token
settings.slack_domain=Slack domein
settings.slack_channel=Slack kanaal
@@ -846,6 +860,8 @@ settings.add_key_success=Nieuwe deploy sleutel '%s' werd succesvol toegevoegd!
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_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.parent=bovenliggende
@@ -1078,14 +1094,15 @@ repos.name=Naam
repos.private=Prive
repos.watches=Volgers
repos.stars=Sterren
repos.issues=Kwesties
repos.issues=Issues
repos.size=Size
auths.auth_manage_panel=Authenticatie-beheer paneel
auths.auth_sources=Authentication Sources
auths.new=Nieuwe bron toevoegen
auths.name=Naam
auths.type=Type
auths.enabled=Ingeschakeld
auths.default=Default
auths.updated=Bijgewerkt
auths.auth_type=Authenticatietype
auths.auth_name=Authenticatienaam
@@ -1094,6 +1111,7 @@ auths.domain=Domein
auths.host=Host
auths.port=Poort
auths.bind_dn=Binden DN
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
auths.bind_password=Bind wachtwoord
auths.bind_password_helper=Opgelet: Dit wachtwoord wordt opgeslagen als leesbare tekst. Gebruik geen account met verhoogde rechten.
auths.user_base=User Search Base
@@ -1121,9 +1139,9 @@ auths.enable_tls=Activeer TLS-encryptie
auths.skip_tls_verify=TLS-verificatie overslaan
auths.pam_service_name=PAM servicenaam
auths.enable_auto_register=Activeer automatische registratie
auths.tips=Tips
auths.edit=Verificatie-instelling bewerken
auths.activated=Deze autorisatiemethode is geactiveerd
auths.default_auth=This authentication is default login source
auths.new_success=Nieuwe authenticatie '%s' werd toegevoegd.
auths.update_success=Authenticatie instellingen zijn succesvol gewijzigd.
auths.update=Authenticatie-instellingen bijwerken
@@ -1134,6 +1152,7 @@ auths.still_in_used=This authentication is still used by some users, please dele
auths.deletion_success=Authenticatie is met succes verwijderd!
auths.login_source_exist=Login source '%s' already exists.
config.not_set=(not set)
config.server_config=Serverconfiguratie
config.app_name=Applicatienaam
config.app_ver=Applicatieversie
@@ -1155,6 +1174,7 @@ config.ssh_domain=Domein
config.ssh_port=Poort
config.ssh_listen_port=Luister op poort
config.ssh_root_path=Root-pad
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_key_test_path=Pad voor key-tests
config.ssh_keygen_path=Pad van keygen ('ssh-keygen')
config.ssh_minimum_key_size_check=Controleer minimale key-lengte
@@ -1170,6 +1190,9 @@ 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.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Databaseconfiguratie
config.db_type=Type
config.db_host=Host
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=TLS certificaat controle overslaan
config.mailer_config=Mailerconfiguatie
config.mailer_enabled=Ingeschakeld
config.mailer_disable_helo=Schakel HELO uit
config.mailer_name=Naam
config.mailer_subject_prefix=Subject Prefix
config.mailer_host=Host
config.mailer_user=Gebruiker
config.send_test_mail=Testbericht verzenden
@@ -1272,14 +1295,13 @@ notices.delete_success=System notices have been deleted successfully.
[action]
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>
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
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>`
close_issue=`sloot kwestie <a href="%s/issues/%s">%s#%[2]s</a>`
reopen_issue=`heropende 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 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>`
close_pull_request=`sloot pull request <a href="%s/issues/%s">%s#%[2]s</a>`
@@ -1289,6 +1311,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>
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>
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]
ago=geleden

View File

@@ -40,7 +40,7 @@ your_settings=Twoje ustawienia
activities=Aktywności
pull_requests=Oczekujące zmiany
issues=Zagadnienia
issues=Problemy
cancel=Anuluj
@@ -151,6 +151,8 @@ register_hepler_msg=Masz już konto? Zaloguj się 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_mail=Przepraszamy, potwierdzenia rejestracji zostały wyłączone przez administratora.
auth_source=Źródło uwierzytelniania
local=Lokalne
remember_me=Zapamiętaj mnie
forgot_password=Zapomniałem hasła
forget_password=Zapomniałeś hasła?
@@ -229,6 +231,7 @@ org_name_been_taken=Nazwa organizacji jest już zajęta.
team_name_been_taken=Nazwa zespołu jest już zajęta.
email_been_used=Adres e-mail jest już zarejestrowany.
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_owner_name=Upewnij się, że nazwa właściciela repozytorium jest poprawna.
enterred_invalid_password=Proszę upewnij się, że wprowadzono hasło jest poprawne.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Lub wprowadź sekret:
two_factor_then_enter_passcode=Następnie wprowadź kod dostępu:
two_factor_verify=Weryfikuj
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_success=Uwierzytelnianie dwuetapowe Twojego konta zostało włączone pomyślnie!
two_factor_recovery_codes_title=Kody odzyskiwania uwierzytelniania dwuetapowego
@@ -417,6 +421,8 @@ mirror_last_synced=Ostatnia synchronizacja
watchers=Obserwujący
stargazers=Polubienia
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.name_reserved=Nazwa repozytorium „%s” jest zarezerwowana.
@@ -514,6 +520,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.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_delete_file=Nie można usunąć pliku '%s' z powodu błędu: %v
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.upload_files_to_dir=Prześlij pliki do '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=porównaj
pulls.filter_branch=Filtruj branch
pulls.no_results=Nie znaleziono wyników.
pulls.nothing_to_compare=Nie ma nic do porównania, ponieważ gałęzie bazy i head są identyczne.
pulls.nothing_merge_base=Nie ma nic do porównania, ponieważ dwie gałęzie mają zupełnie inną historię.
pulls.has_pull_request=`Istnieje już pull request dla tych dwóch celów: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Utwórz Pull Request
pulls.title_desc=chce scalić %[1]d commity/ów z <code>%[2]s</code> do <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=Sprawdzanie konfliktów jeszcze trwa, proszę odświeżyć str
pulls.can_auto_merge_desc=Pull request może być automatycznie scalony.
pulls.cannot_auto_merge_desc=Pull request nie może być automatycznie scalony z powodu konfliktów.
pulls.cannot_auto_merge_helper=Proszę scalić ręcznie, aby rozwiązać konflikty.
pulls.create_merge_commit=Utwórz scalający commit
pulls.rebase_before_merging=Rebase przed scaleniem
pulls.commit_description=Opis commitu
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.delete_branch=Usuń gałąź
@@ -735,7 +746,9 @@ settings.tracker_issue_style=Styl nazw zewnętrznego systemu zgłaszania problem
settings.tracker_issue_style.numeric=Numeryczny
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.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.allow_rebase_merge=Zezwalaj na użycie rebase do scalenia commitów
settings.danger_zone=Strefa niebezpieczeństwa
settings.cannot_fork_to_same_owner=Nie można sforkować repozytorium do pierwotnego właściciela.
settings.new_owner_has_same_repo=Nowy właściciel już posiada repozytorium o tej samej nazwie.
@@ -814,10 +827,10 @@ settings.event_push=Wypchnięcie
settings.event_push_desc=Wypchnięcie (push) do repozytorium Git
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_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_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_desc=Wydanie opublikowane w repozytorium.
settings.active=Aktywny
@@ -830,6 +843,7 @@ settings.recent_deliveries=Ostatnie wywołania
settings.hook_type=Typ hooka
settings.add_slack_hook_desc=Dodaj integrację ze <a href="%s">Slackiem</a> do Twojego repozytorium.
settings.add_discord_hook_desc=Dodaj integrację <a href="%s">Discord</a> do Twojego repozytorium.
settings.add_dingtalk_hook_desc=Dodaj integrację <a href="%s">Dingtalk</a> do Twojego repozytorium.
settings.slack_token=Token
settings.slack_domain=Domena
settings.slack_channel=Kanał
@@ -846,6 +860,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_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.description_desc=Opis repozytorium. Maksymalnie 512 znaków.
settings.description_length=Dostępne znaki
diff.browse_source=Przeglądaj źródła
diff.parent=rodzic
@@ -1081,11 +1097,12 @@ repos.stars=Polubienia
repos.issues=Problemy
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.name=Nazwa
auths.type=Typ
auths.enabled=Włączono
auths.default=Domyślne
auths.updated=Zaktualizowano
auths.auth_type=Typ uwierzytelniania
auths.auth_name=Nazwa uwierzytelniania
@@ -1094,6 +1111,7 @@ auths.domain=Domena
auths.host=Host
auths.port=Port
auths.bind_dn=Bind DN
auths.bind_dn_helper=Możesz użyć '%s' jako symbol zastępczy dla nazwy użytkownika, np. DOM\%s
auths.bind_password=Hasło Bind
auths.bind_password_helper=Ostrzeżenie: To hasło jest przechowywane w postaci zwykłego tekstu. Nie należy używać wysoko uprzywilejowanego konta.
auths.user_base=Baza wyszukiwania
@@ -1121,9 +1139,9 @@ auths.enable_tls=Włącz szyfrowanie TLS
auths.skip_tls_verify=Pomiń weryfikację protokołu TLS
auths.pam_service_name=Nazwa usługi PAM
auths.enable_auto_register=Włącz automatyczną rejestrację
auths.tips=Wskazówki
auths.edit=Edytuj ustawienia uwierzytelniania
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.update_success=Ustawienia uwierzytelnienia zostały zaktualizowane pomyślnie.
auths.update=Aktualizuj ustawienia uwierzytelniania
@@ -1134,6 +1152,7 @@ auths.still_in_used=Ten rodzaj autentykacji jest wciąż wykorzystywany przez ni
auths.deletion_success=Uwierzytelnienie zostało usunięte pomyślnie!
auths.login_source_exist=Login '%s' już istnieje.
config.not_set=(nie ustawiono)
config.server_config=Konfiguracja serwera
config.app_name=Nazwa aplikacji
config.app_ver=Wersja aplikacji
@@ -1155,6 +1174,7 @@ config.ssh_domain=Domena
config.ssh_port=Port
config.ssh_listen_port=Port nasłuchu
config.ssh_root_path=Ścieżka katalogu głównego
config.ssh_rewrite_authorized_keys_at_start=Przepisz authorized_keys przy uruchomieniu
config.ssh_key_test_path=Ścieżka klucza testowego
config.ssh_keygen_path=Ścieżka generatora ('ssh-keygen')
config.ssh_minimum_key_size_check=Sprawdzanie minimalnej długości klucza
@@ -1170,6 +1190,9 @@ config.disable_http_git=Wyłącz HTTP Git
config.enable_local_path_migration=Włącz lokalną ścieżkę migracji
config.commits_fetch_concurrency=Pobieraj zmiany w trybie równoległym
config.http_config=Konfiguracja HTTP
config.http_access_control_allow_origin=Kontrola Dostępu Uwzględnia Źródło
config.db_config=Konfiguracja bazy danych
config.db_type=Typ
config.db_host=Host
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Pomiń weryfikację protokołu TLS
config.mailer_config=Konfiguracja poczty
config.mailer_enabled=Aktywne
config.mailer_disable_helo=Wyłącz HELO
config.mailer_name=Nazwa
config.mailer_subject_prefix=Prefiks tematu
config.mailer_host=Host
config.mailer_user=Użytkownik
config.send_test_mail=Wyślij email testowy
@@ -1272,7 +1295,6 @@ notices.delete_success=Powiadomienia systemowe zostały pomyślnie usunięte.
[action]
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>
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
@@ -1289,6 +1311,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>
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>
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=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]
ago=temu

View File

@@ -1,7 +1,7 @@
app_desc=Um serviço de Git hospedável e amigável escrito em Go
app_desc=Um serviço de Git auto-hospedado e amigável escrito em Go
home=Página inicial
dashboard=Página Inicial
dashboard=Painel de controle
explore=Explorar
help=Ajuda
sign_in=Entrar
@@ -11,11 +11,11 @@ register=Registrar
website=Site
version=Versão
page=Página
template=Template
template=Modelo
language=Idioma
create_new=Criar...
user_profile_and_more=Perfil do usuário e configurações
signed_in_as=Logado como
user_profile_and_more=Perfil do usuário e mais
signed_in_as=Entrou como
username=Usuário
email=E-mail
@@ -48,7 +48,7 @@ cancel=Cancelar
install=Instalação
title=Etapas de instalação para primeira execução
docker_helper=Se você está rodando o Gogs dentro do Docker, por favor leia os <a target="_blank" href="%s">Guias</a> cuidadosamente antes de mudar qualquer coisa nesta página!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB.
requite_db_desc=O Gogs requer MySQL, PostgreSQL, SQLite3, MSSQL ou TiDB.
db_title=Configurações de banco de dados
db_type=Tipo de banco de dados
host=Host
@@ -58,8 +58,8 @@ db_name=Nome do banco de dados
db_helper=Por favor, use o mecanismo INNODB com o conjunto de caracteres utf8_general_ci para MySQL.
ssl_mode=Modo SSL
path=Caminho
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service.
err_empty_db_path=SQLite3 database path cannot be empty.
sqlite_helper=Caminho para o arquivo de banco de dados SQLite3. <br>Use o caminho absoluto ao iniciar como serviço.
err_empty_db_path=Deve haver um caminho para o banco de dados SQLite3.
no_admin_and_disable_registration=Você não pode desabilitar o registro sem criar uma conta de administrador.
err_empty_admin_password=A senha de administrador não pode ser vazia.
@@ -74,16 +74,16 @@ domain=Domínio
domain_helper=Isto afeta URLs para o clone via SSH.
ssh_port=Porta SSH
ssh_port_helper=Número da porta que seu servidor SSH está usando, deixe vazio para desativar o recurso SSH.
use_builtin_ssh_server=Use Builtin SSH Server
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon.
use_builtin_ssh_server=Usar o servidor SSH embutido
use_builtin_ssh_server_popup=Iniciar o servidor SSH embutido para operações Git, para diferenciar do serviço SSH do sistema.
http_port=Porta HTTP
http_port_helper=Número da porta em que a aplicação irá executar.
app_url=URL do aplicativo
app_url_helper=Isto afeta a URL de clone via HTTP/HTTPs e também o e-mail.
log_root_path=Caminho do log
log_root_path_helper=Pasta dos arquivos de log.
enable_console_mode=Enable Console Mode
enable_console_mode_popup=In addition to file mode, also print logs to console.
enable_console_mode=Ativar o modo de console
enable_console_mode_popup=Além do modo de arquivo, exibir registros (log) no console.
optional_title=Configurações opcionais
email_title=Configurações do serviço de e-mail
@@ -119,7 +119,7 @@ sqlite3_not_available=Sua versão não suporta SQLite3, por favor faça o downlo
invalid_db_setting=Configuração do banco de dados não está correta: %v
invalid_repo_path=A raiz do repositório é inválida: %v
run_user_not_match=O usuário da execução não é o usuário atual: %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address.
smtp_host_missing_port=O endereço do host SMTP não possui porta.
invalid_smtp_from=O SMTP do campo não é válido: %v
save_config_failed=Falha ao salvar a configuração: %v
invalid_admin_setting=Configuração da conta de administrador está inválida: %v
@@ -151,6 +151,8 @@ register_hepler_msg=Já tem uma conta? Entre agora!
social_register_hepler_msg=Já tem uma conta? Junte-se agora!
disable_register_prompt=Desculpe, novos registros estão desabilitados. Por favor entre em contato com o administrador do site.
disable_register_mail=Desculpe, a confirmação de registro por e-mail foi desabilitada.
auth_source=Authentication Source
local=Local
remember_me=Lembrar de mim
forgot_password=Esqueci a senha
forget_password=Esqueceu a senha?
@@ -169,13 +171,13 @@ reset_password_helper=Clique aqui para redefinir sua senha
password_too_short=O comprimento da senha não pode ser menor que 6.
non_local_account=Não é possível mudar a senha de contas remotas pelo Gogs.
login_two_factor=Two-factor Authentication
login_two_factor_passcode=Authentication Passcode
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
login_two_factor_recovery=Two-factor Recovery
login_two_factor_recovery_code=Recovery Code
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=Autenticação de dois fatores
login_two_factor_passcode=Senha de Autenticação
login_two_factor_enter_recovery_code=Insira um código de recuperação
login_two_factor_recovery=Recuperação de autenticação
login_two_factor_recovery_code=Código de Recuperação
login_two_factor_enter_passcode=Insira uma senha p/ autenticação
login_two_factor_invalid_recovery_code=O código de recuperação já foi usado ou é inválido.
[mail]
activate_account=Por favor, ative sua conta
@@ -212,7 +214,7 @@ Content=Conteúdo
require_error=` não pode estar vazio.`
alpha_dash_error=` devem ser caracteres alfanuméricos, hífen (-) ou sublinhado (_).`
alpha_dash_dot_error=` devem ser caracteres alfanuméricos ou hífen (-) ou sublinhado (_).`
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
alpha_dash_dot_slash_error=` apenas alfanuméricos e pontuações (hifens, pontos e barras).`
size_error=`deve ser do tamanho %s.`
min_size_error=` deve conter pelo menos %s caracteres.`
max_size_error=` deve conter no máximo %s caracteres.`
@@ -229,6 +231,7 @@ org_name_been_taken=Nome da organização já foi tomado.
team_name_been_taken=Nome da equipe já existe.
email_been_used=Endereço de e-mail já foi usado.
username_password_incorrect=Usuário ou senha incorretos.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Por favor certifique-se que informou o nome do repositório corretamente.
enterred_invalid_owner_name=Por favor, verifique se o nome do proprietário está correto.
enterred_invalid_password=Por favor, verifique se a senha que você digitou está correta.
@@ -264,8 +267,8 @@ profile=Perfil
password=Senha
avatar=Avatar
ssh_keys=Chaves SSH
security=Security
repos=Repositories
security=Segurança
repos=Repositórios
orgs=Organizações
applications=Aplicativos
delete=Deletar conta
@@ -334,30 +337,31 @@ no_activity=Nenhuma atividade recente
key_state_desc=Usada a pelo menos 7 dias
token_state_desc=Este token é usado em pelo menos 7 dias
two_factor=Two-factor Authentication
two_factor_status=Status:
two_factor_on=On
two_factor_off=Off
two_factor_enable=Enable
two_factor_disable=Disable
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_enable_title=Enable Two-factor Authentication
two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
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_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_regenerate_recovery_codes=Regenerate Recovery Codes
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_disable_title=Disable Two-factor Authentication
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=Autenticação de dois fatores
two_factor_status=Estado:
two_factor_on=Ativado
two_factor_off=Desativado
two_factor_enable=Ativar
two_factor_disable=Desativar
two_factor_view_recovery_codes=Consulte e salve <a href="%s%s">seus códigos de recuperação</a> num local seguro. Você poderá usá-los como senha se perder acesso ao seu aplicativo de autenticação.
two_factor_http=Para operações em HTTP/HTTPS, você não poderá mais usar seu nome de usuário e senha. Crie e use um <a href="%[1]s%[2]s">Token de Acesso Pessoal</a> como credencial (p. ex.: <code>%[3]%</code>).
two_factor_enable_title=Ativar autenticação de dois fatores
two_factor_scan_qr=Use o seu aplicativo de autenticação para escanear a imagem:
two_factor_or_enter_secret=Ou informe o segredo:
two_factor_then_enter_passcode=Em seguida digite a senha:
two_factor_verify=Verificar
two_factor_invalid_passcode=A senha inserida é inválida. Tente novamente!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Falha ao ativar a autenticação de dois fatores: %v
two_factor_enable_success=A autenticação de dois fatores foi ativada para a sua conta com sucesso!
two_factor_recovery_codes_title=Códigos de recup. p/ autenticação de dois fatores
two_factor_recovery_codes_desc=Os códigos de recuperação são usados se você perder acesso ao seu aplicativo de autenticação. Cada código pode ser usado apenas uma vez. <b>Salve-os num lugar seguro.</b>
two_factor_regenerate_recovery_codes=Gerar códigos de recuperação
two_factor_regenerate_recovery_codes_error=Falha ao gerar códigos de recuperação: %v
two_factor_regenerate_recovery_codes_success=Novos códigos de recuperação gerados com sucesso!
two_factor_disable_title=Desativar a autenticação de dois fatores
two_factor_disable_desc=O nível de segurança da sua conta diminuirá após desativar a autenticação de dois fatores. Deseja mesmo continuar?
two_factor_disable_success=A autenticação de dois fatores foi desativada com sucesso!
manage_access_token=Gerenciar tokens de acesso pessoal
generate_new_token=Gerar novo token
@@ -375,10 +379,10 @@ orgs.none=Você não é participante de nenhuma organização.
orgs.leave_title=Deixar uma organização
orgs.leave_desc=Você perderá acesso a todos os repositórios e equipes após deixar a organização. Deseja continuar?
repos.leave=Leave
repos.leave_title=Leave repository
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=Sair
repos.leave_title=Sair do repositório
repos.leave_desc=Você irá perder acesso ao repositório após sair. Deseja continuar?
repos.leave_success=Você saiu do repositório “%s” com sucesso!
delete_account=Deletar sua conta
delete_prompt=A operação deletará sua conta permanentemente, e <strong>NÃO PODERÁ</strong> ser desfeita!
@@ -417,6 +421,8 @@ mirror_last_synced=Última sincronização
watchers=Observadores
stargazers=Usuários que estrelaram
forks=Forks
repo_description_helper=Description of repository. Maximum 512 characters length.
repo_description_length=Available characters
form.reach_limit_of_creation=O proprietário atingiu o limite máximo de criação de repositórios de %d.
form.name_reserved=O nome de repositório '%s' não pode ser usado.
@@ -450,7 +456,7 @@ quick_guide=Guia rápido
clone_this_repo=Clonar este repositório
create_new_repo_command=Criar um novo repositório na linha de comando
push_exist_repo=Push um repositório existente na linha de comando
bare_message=This repository does not have any content yet.
bare_message=Este repositório ainda não possui conteúdo.
files=Arquivos
branch=Branch
@@ -472,12 +478,12 @@ file_permalink=Link permanente
file_too_large=Este arquivo é muito grande para ser exibido
video_not_supported_in_browser=Seu navegador não suporta a tag de vídeo do HTML5.
branches.overview=Overview
branches.active_branches=Active Branches
branches.stale_branches=Stale Branches
branches.all=All Branches
branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch
branches.overview=Visão geral
branches.active_branches=Branches ativos
branches.stale_branches=Branches obsoletos
branches.all=Todos os branches
branches.updated_by=Atualizado %[1]s por %[2]s
branches.change_default_branch=Modificar branch padrão
editor.new_file=Novo arquivo
editor.upload_file=Enviar arquivo
@@ -514,11 +520,12 @@ editor.file_changed_while_editing=O conteúdo do arquivo mudou desde que você c
editor.file_already_exists=Um arquivo com nome '%s' já existe neste repositório.
editor.no_changes_to_show=Nenhuma alteração a mostrar.
editor.fail_to_update_file=Houve erro ao criar ou atualizar arquivo '%s': %v
editor.fail_to_delete_file=Failed to delete file '%s' with error: %v
editor.add_subdir=Adicionar o subdiretório...
editor.unable_to_upload_files=Houve erro ao fazer upload de arquivos para '%s': %v
editor.upload_files_to_dir=Enviar arquivos para '%s'
commits.commit_history=Commit History
commits.commit_history=Histórico de commits
commits.commits=Commits
commits.search=Pesquisar commits
commits.find=Buscar
@@ -616,6 +623,7 @@ pulls.compare_compare=comparar
pulls.filter_branch=Filtrar branch
pulls.no_results=Nada encontrado.
pulls.nothing_to_compare=Não há nada para comparar porque o branch base e o head estão iguais.
pulls.nothing_merge_base=Não há o que comparar pois os dois branches possuem históricos completamente diferentes.
pulls.has_pull_request=`Já existem pull requests entre esses dois alvos: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Criar Pull Request
pulls.title_desc=quer mesclar %[1]d commits de <code>%[2]s</code> em <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=A verificação do conflito ainda está em progresso, por favo
pulls.can_auto_merge_desc=O merge deste Pull Pequest pode ser aplicado automaticamente.
pulls.cannot_auto_merge_desc=O merge deste Pull Request não pode ser aplicado automaticamente pois há conflitos.
pulls.cannot_auto_merge_helper=Por favor, aplique o merge manualmente para resolver os conflitos.
pulls.create_merge_commit=Criar commit de um merge
pulls.rebase_before_merging=Rebase before merging
pulls.commit_description=Commit Description
pulls.merge_pull_request=Solicitação de merge de Pull Request
pulls.open_unmerged_pull_exists=`Você não pode executar a operação de reabrir porque já existe um Pull request aberto (#%d) do mesmo repositório com as mesmas informações de merge e está esperando pelo merge.`
pulls.delete_branch=Excluir Branch
@@ -686,28 +697,28 @@ settings.collaboration.write=Escrita
settings.collaboration.read=Leitura
settings.collaboration.undefined=Indefinido
settings.branches=Branches
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
settings.default_branch=Default Branch
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
settings.update=Update
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.protected_branches=Protected Branches
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers.
settings.branches_bare=Não é possível gerenciar branches num repositório vazio. Adicione conteúdo primeiro.
settings.default_branch=Branch padrão
settings.default_branch_desc=O branch padrão é considerado branch "base" para commits, pull requests e edição on-line.
settings.update=Atualizar
settings.update_default_branch_unsupported=Mudar o branch padrão não é suportado pela versão do Git no servidor.
settings.update_default_branch_success=O branch padrão deste repositório foi atualizado com sucesso!
settings.protected_branches=Branches protegidos
settings.protected_branches_desc=Proteger branches de push forçado, remoção acidental e committers da lista branca.
settings.choose_a_branch=Selecione um branch...
settings.branch_protection=Proteção de Branch
settings.branch_protection_desc=Please choose protect options for branch <b>%s</b>.
settings.protect_this_branch=Protect this branch
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_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_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_search_users=Search users
settings.protect_whitelist_teams=Teams for which members of them can push to this branch
settings.protect_whitelist_search_teams=Search teams
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
settings.branch_protection_desc=Escolha opções de proteção para o branch <b>%s</b>.
settings.protect_this_branch=Proteger este branch
settings.protect_this_branch_desc=Desabilita pushes forçados e previne remoção.
settings.protect_require_pull_request=Requer pull request ao invés de push direto
settings.protect_require_pull_request_desc=Habilite esta opção para desabilitar push direto para este branch. Os commits precisam sofrer um push para outro branch não protegido e merge para este branch por meio de um pull request.
settings.protect_whitelist_committers=Incluir na lista branca quem pode fazer push para este branch
settings.protect_whitelist_committers_desc=Adicionar pessoas ou equipes para a lista branca de push direto para este branch. Usuários na lista branca contornarão a verificação de necessidade de pull request.
settings.protect_whitelist_users=Usuários que podem realizar push para este branch
settings.protect_whitelist_search_users=Pesquisar usuários
settings.protect_whitelist_teams=Equipes cujos membros podem realizar push para este branch
settings.protect_whitelist_search_teams=Buscar times
settings.update_protect_branch_success=As opções de proteção deste branch foram atualizadas com sucesso!
settings.hooks=Webhooks
settings.githooks=Hooks do Git
settings.basic_settings=Configurações básicas
@@ -720,13 +731,13 @@ settings.change_reponame_prompt=Esta mudança irá afetar os links para este rep
settings.advanced_settings=Configurações avançadas
settings.wiki_desc=Habilitar sistema de wiki
settings.use_internal_wiki=Usar wiki nativa
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
settings.allow_public_wiki_desc=Permitir acesso público à wiki quando o repositório for privado
settings.use_external_wiki=Usar wiki externa
settings.external_wiki_url=URL externa da wiki
settings.external_wiki_url_desc=Os visitantes serão redirecionados para a URL ao clicar na aba.
settings.issues_desc=Habilitar issue tracker
settings.use_internal_issue_tracker=Usar o issue tracker nativo
settings.allow_public_issues_desc=Allow public access to issues when repository is private
settings.allow_public_issues_desc=Permitir acesso público a problemas quando o repositório for privado
settings.use_external_issue_tracker=Usar issue tracker externo
settings.external_tracker_url=URL do Issue Tracker Externo
settings.external_tracker_url_desc=Visitantes serão redirecionados ao URL quando clicarem na aba.
@@ -735,9 +746,11 @@ settings.tracker_issue_style=Estilo de nome de issue tracker externo:
settings.tracker_issue_style.numeric=Numérico
settings.tracker_issue_style.alphanumeric=Alfanumérico
settings.tracker_url_format_desc=Você pode usar o espaço reservado <code>{user} {repo} {index}</code> para o nome do usuário, índice de nome e a questão do repositório.
settings.pulls_desc=Habilitar Pull Requests para aceitar contribuições públicas
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches
settings.pulls.ignore_whitespace=Ignorar alterações em espaço em branco
settings.pulls.allow_rebase_merge=Permitir rebase para commits via merge
settings.danger_zone=Zona de perigo
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
settings.cannot_fork_to_same_owner=Não se pode realizar fork de um repositório para seu dono original.
settings.new_owner_has_same_repo=O novo dono já tem um repositório com o mesmo nome. Por favor, escolha outro nome.
settings.convert=Converter para repositório tradicional
settings.convert_desc=Você pode converter este espelho em um repositório tradicional. Esta ação não pode ser revertida.
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=Dados de wiki do repositório foram deletados com
settings.delete=Deletar este repositório
settings.delete_desc=Uma vez que você remova um repositório, não tem volta. Por favor, tenha certeza.
settings.delete_notices_1=-Esta operação <strong>NÃO PODERÁ</strong> ser desfeita.
settings.delete_notices_2=- Esta operação irá apagar permanentemente o tudo deste repositório, incluindo os dados do Git, Issues, comentários e acessos dos colaboradores.
settings.delete_notices_2=- Esta operação irá apagar permanentemente tudo neste repositório, incluindo commits, issues, comentários, o wiki e colaboradores.
settings.delete_notices_fork_1=-Todos os forks se tornarão independentes após a exclusão.
settings.deletion_success=Repositório excluído com sucesso!
settings.update_settings_success=As opções do repositório foram atualizadas com sucesso.
@@ -780,8 +793,8 @@ settings.webhook_deletion_success=Webhook deletado com sucesso!
settings.webhook.test_delivery=Entrega de teste
settings.webhook.test_delivery_desc=Enviar uma entrega de evento de Push falso para testar suas configurações de webhook
settings.webhook.test_delivery_success=O Webhook de teste foi adicionado para a fila de entrega. Pode demorar alguns segundos antes de ser exibido no histórico de entrega.
settings.webhook.redelivery=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=Re-entrega
settings.webhook.redelivery_success=A tarefa hook '%s' foi readicionada à fila de entrega. Pode demorar alguns segundos para a situação da entrega no histórico ser atualizada.
settings.webhook.request=Solicitação
settings.webhook.response=Resposta
settings.webhook.headers=Cabeçalhos
@@ -796,7 +809,7 @@ settings.add_webhook_desc=Enviaremos uma solicitação <code>POST</code> para o
settings.payload_url=URL de Payload
settings.content_type=Tipo de conteúdo
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=O segredo será enviado como digest hexadecimal SHA256 HMAC do payload via cabeçalho <code>X-Gogs-Signature</code>.
settings.slack_username=Nome de usuário
settings.slack_icon_url=URL do ícone
settings.slack_color=Cor
@@ -806,20 +819,20 @@ settings.event_send_everything=Preciso de <strong>tudo</strong>.
settings.event_choose=Deixe-me escolher o que eu preciso.
settings.event_create=Criar
settings.event_create_desc=Branch ou Tag criado
settings.event_delete=Delete
settings.event_delete_desc=Branch or tag deleted
settings.event_delete=Apagar
settings.event_delete_desc=Branch ou tag excluído
settings.event_fork=Fork
settings.event_fork_desc=Repository forked
settings.event_fork_desc=Feito fork do repositório
settings.event_push=Push
settings.event_push_desc=Git push para o repositório
settings.event_issues=Issues
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_issues=Problemas
settings.event_issues_desc=Problema aberto, fechado, reaberto, editado, atribuído, desatribuído, etiqueta atualizada, etiqueta limpa, milestone definido ou milestone indefinido.
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_release=Release
settings.event_release_desc=Release published in a repository.
settings.event_pull_request_desc=Pull request aberto, fechado, reaberto, editado, atribuído, desatribuído, etiqueta atualizada, etiqueta limpa, milestone definido, milestone indefinido ou sincronizado.
settings.event_issue_comment=Comentário do Problema
settings.event_issue_comment_desc=Comentário do problema criado, editado ou excluído.
settings.event_release=Lançamento
settings.event_release_desc=Lançamento publicado em um repositório.
settings.active=Ativo
settings.active_helper=Enviaremos detalhes do evento quando este hook for acionado.
settings.add_hook_success=Novos hooks de web foram adicionados.
@@ -829,12 +842,13 @@ settings.delete_webhook=Excluir Webhook
settings.recent_deliveries=Entregas Recentes
settings.hook_type=Tipo de Hook
settings.add_slack_hook_desc=Adicionar <a href="%s">Slack</a> de integração para o seu repositório.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_discord_hook_desc=Adicionar integração do <a href="%s">Discord</a> ao seu repositório.
settings.add_dingtalk_hook_desc=Adicionar integração do <a href="%s">Dingtalk</a> ao seu repositório.
settings.slack_token=Token
settings.slack_domain=Domínio
settings.slack_channel=Canal
settings.deploy_keys=Chaves de Deploy
settings.deploy_keys_helper=<b>Common Gotcha!</b> If you're looking for adding personal public keys, please add them in your <a href="%s%s">account settings</a>.
settings.deploy_keys_helper=<b>Pegadinha Comum!</b> Se estiver buscando adicionar chaves públicas pessoais, faça isto nas suas <a href="%s%s">configurações da conta</a>.
settings.add_deploy_key=Nova chave
settings.deploy_key_desc=Chave de Deploy só tem acesso somente leitura. Não é igual as chaves SSH de conta pessoal.
settings.no_deploy_keys=Você ainda não adicionou nenhuma chave de Deploy.
@@ -846,6 +860,8 @@ settings.add_key_success=A nova chave de Deploy '%s' foi adicionada com sucesso!
settings.deploy_key_deletion=Exclusão de chave de Deploy
settings.deploy_key_deletion_desc=Excluir esta chave de Deploy removerá permissões de acesso a este repositório. Quer mesmo continuar?
settings.deploy_key_deletion_success=Chave de Deploy excluída com sucesso!
settings.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Available characters
diff.browse_source=Ver código fonte
diff.parent=pai
@@ -912,7 +928,7 @@ team_permission_desc=Que nível de permissão esta equipe deve ter?
form.name_reserved=O nome de organização '%s' não pode ser usado.
form.name_pattern_not_allowed=Não é permitido usar o padrão '%s' para o nome de organização.
form.team_name_reserved=Team name '%s' is reserved.
form.team_name_reserved=O nome nome de equipe '%s' está reservado.
settings=Configurações
settings.options=Opções
@@ -1003,8 +1019,8 @@ dashboard.git_gc_repos=Fazer coleta de lixo nos repositórios
dashboard.git_gc_repos_success=Em todos repositórios, a coleta de lixo foi realizada com sucesso.
dashboard.resync_all_sshkeys=Reescrever o arquivo '.ssh/authorized_keys' (atenção: chaves que não sejam do Gogs serão perdidas)
dashboard.resync_all_sshkeys_success=Todas as chaves públicas foram reescritas com sucesso.
dashboard.resync_all_hooks=Resync pre-receive, update and post-receive hooks of all repositories
dashboard.resync_all_hooks_success=All repositories' pre-receive, update and post-receive hooks have been resynced successfully.
dashboard.resync_all_hooks=Ressincronizar hooks pre-receive, update e post-receive de todos os repositórios
dashboard.resync_all_hooks_success=Os hooks pre-receive, update e post-receive de todos os repositórios foram ressincronizados com sucesso.
dashboard.reinit_missing_repos=Reinicializar todos os registros de repositório que perderam os arquivos do Git
dashboard.reinit_missing_repos_success=Todos os repositórios que perderam arquivos do Git foram reinicializados com sucesso.
@@ -1079,13 +1095,14 @@ repos.private=Privado
repos.watches=Observadores
repos.stars=Favoritos
repos.issues=Issues
repos.size=Size
repos.size=Tamanho
auths.auth_manage_panel=Painel de gerenciamento da autenticação
auths.auth_sources=Authentication Sources
auths.new=Adicionar nova fonte
auths.name=Nome
auths.type=Tipo
auths.enabled=Habilitado
auths.default=Default
auths.updated=Atualizado
auths.auth_type=Tipo de autenticação
auths.auth_name=Nome da autenticação
@@ -1094,20 +1111,21 @@ auths.domain=Domínio
auths.host=Host
auths.port=Porta
auths.bind_dn=Vincular DN
auths.bind_dn_helper=Você pode usar '%s' como placeholderpara o nome de usuário, por exemplo, DOM\%s
auths.bind_password=Vincular senha
auths.bind_password_helper=Atenção: Esta senha é armazenada em texto plano. Não use uma conta com muitos privilégios.
auths.user_base=Base de pesquisa do usuário
auths.user_dn=Usuário do DN
auths.attribute_username=Atributo nome de usuário
auths.attribute_username_placeholder=Deixe vazio para usar o valor do campo de formulário de entrada de nome de usuário.
auths.attribute_name=First Name Attribute
auths.attribute_name=Atributo do Nome
auths.attribute_surname=Atributo sobrenome
auths.attribute_mail=Atributo e-mail
auths.verify_group_membership=Verify group membership
auths.verify_group_membership=Verificar associação a grupo
auths.group_search_base_dn=Group Search Base DN
auths.group_filter=Group Filter
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
auths.user_attribute_listed_in_group=User Attribute Listed in Group
auths.group_filter=Filtro de Grupo
auths.group_attribute_contain_user_list=Atributo do grupo contendo a lista de usuários
auths.user_attribute_listed_in_group=Atributo do usuário listado no grupo
auths.attributes_in_bind=Buscar os atributos no contexto de Bind DN
auths.filter=Filtro de usuário
auths.admin_filter=Filtro de administrador
@@ -1121,9 +1139,9 @@ auths.enable_tls=Habilitar Criptografia TLS
auths.skip_tls_verify=Ignorar verificação de TLS
auths.pam_service_name=Nome de Serviço PAM
auths.enable_auto_register=Habilitar Registro Automático
auths.tips=Dicas
auths.edit=Editar a configuração de autenticação
auths.activated=Esta autenticação foi ativada
auths.default_auth=This authentication is default login source
auths.new_success=Nova autenticação '%s' foi adicionada com sucesso.
auths.update_success=A configuração da autenticação foi atualizada com sucesso.
auths.update=Atualizar a configuração da autenticação
@@ -1134,6 +1152,7 @@ auths.still_in_used=Esta autenticação ainda é usada por alguns usuários. Por
auths.deletion_success=Autenticação excluída com sucesso!
auths.login_source_exist=A fonte de login '%s" já existe.
config.not_set=(não definido)
config.server_config=Configuração do servidor
config.app_name=Nome do aplicativo
config.app_ver=Versão do aplicativo
@@ -1155,21 +1174,25 @@ config.ssh_domain=Domínio
config.ssh_port=Porta
config.ssh_listen_port=Porta de escuta
config.ssh_root_path=Caminho da raiz
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_key_test_path=Caminho da chave de teste
config.ssh_keygen_path=Caminho do keygen ('ssh-keygen')
config.ssh_minimum_key_size_check=Verificar tamanho mínimo da chave
config.ssh_minimum_key_sizes=Tamanhos mínimos da chave
config.repo_config=Repository Configuration
config.repo_config=Configuração do Repositório
config.repo_root_path=Caminho raiz do repositório
config.script_type=Tipo de script
config.repo_force_private=Force Private
config.max_creation_limit=Max Creation Limit
config.preferred_licenses=Preferred Licenses
config.disable_http_git=Disable HTTP Git
config.enable_local_path_migration=Enable Local Path Migration
config.repo_force_private=Forçar Privado
config.max_creation_limit=Limite de Criação
config.preferred_licenses=Licenças Preferidas
config.disable_http_git=Desabilitar Git por HTTP
config.enable_local_path_migration=Permitir a migração de caminho local
config.commits_fetch_concurrency=Commits Fetch Concurrency
config.http_config=Configuração de HTTP
config.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Configuração do banco de dados
config.db_type=Tipo
config.db_host=Host
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Pular verificação de TLS
config.mailer_config=Configuração de envio de e-mail
config.mailer_enabled=Habilitado
config.mailer_disable_helo=Desabilitar HELO
config.mailer_name=Nome
config.mailer_subject_prefix=Prefixo do Assunto
config.mailer_host=Host
config.mailer_user=Usuário
config.send_test_mail=Enviar email de teste
@@ -1242,8 +1265,8 @@ config.git_pull_timeout=Timeout para operação de pull
config.git_gc_timeout=Timeout para execução do GC
config.log_config=Configuração de log
config.log_mode=Mode
config.log_options=Options
config.log_mode=Modo
config.log_options=Opções
monitor.cron=Tarefas cron
monitor.name=Nome
@@ -1272,7 +1295,6 @@ notices.delete_success=Avisos do sistema foram excluídos com sucesso.
[action]
create_repo=repositório criado <a href="%s"> %s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
rename_repo=renomeou o o repositório <code>%[1]s</code> para <a href="%[2]s">%[3]s</a>
commit_repo=pushed para <a href="%[1]s/src/%[2]s">%[3]s</a> em <a href="%[1]s">%[4]s</a>
compare_commits=Ver comparação entre esses %d commits
@@ -1285,10 +1307,14 @@ create_pull_request=`criou o pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
close_pull_request=`fechou o pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
reopen_pull_request=`reabriu o pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
merge_pull_request=`mesclou o pull request <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>
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
create_branch=criado novo branch <a href="%[1]s/src/%[2]s">%[3]s</a> em <a href="%[1]s">%[4]s</a>
delete_branch=excluído branch <code>%[2]s</code> em <a href="%[1]s">%[3]s</a>
push_tag=Foi feito push na tag <a href="%s/src/%s">%[2]s</a> para <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=excluída tag <code>%[2]s</code> em <a href="%[1]s">%[3]s</a>
fork_repo=repositório criado <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]
ago=atrás

1345
conf/locale/locale_pt-PT.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -98,7 +98,7 @@ server_service_title=Сервер и другие настройки служб
offline_mode=Включение офлайн режима
offline_mode_popup=Отключить CDN даже в производственном режиме, все файлы ресурсов будут раздаваться локально.
disable_gravatar=Отключить службу Gravatar
disable_gravatar_popup=Отключить Gravatar и пользовательские источники, все аватары по-умолчанию загружаются пользователями.
disable_gravatar_popup=Отключить Gravatar и пользовательские источники. Используются аватары, загружаемые пользователями, или аватары по умолчанию.
federated_avatar_lookup=Включить поиск внешних Аватаров
federated_avatar_lookup_popup=Включите Поиск федеративного аватара для использования федеративной службы с открытым исходным кодом на основе libravatar.
disable_registration=Отключить самостоятельную регистрацию
@@ -119,7 +119,7 @@ sqlite3_not_available=Ваша версия не поддерживает SQLite
invalid_db_setting=Настройки базы данных не правильные: %v
invalid_repo_path=Недопустимый путь к корню репозитория: %v
run_user_not_match=Текущий пользователь не является пользователем для запуска: %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address.
smtp_host_missing_port=Не указан порт в адресе хоста SMTP.
invalid_smtp_from=Поле SMTP From неправильное: %v
save_config_failed=Не удалось сохранить конфигурацию: %v
invalid_admin_setting=Указан недопустимый параметр учетной записи администратора: %v
@@ -151,6 +151,8 @@ register_hepler_msg=Уже есть аккаунт? Авторизуйтесь!
social_register_hepler_msg=Уже есть учетная запись? Свяжите ее с соцсетью!
disable_register_prompt=Извините, возможность регистрации отключена. Пожалуйста, свяжитесь с администратором сайта.
disable_register_mail=К сожалению подтверждение регистрации по почте отключено.
auth_source=Тип аутентификации
local=Локальный
remember_me=Запомнить меня
forgot_password=Забыли пароль
forget_password=Забыли пароль?
@@ -159,7 +161,7 @@ confirmation_mail_sent_prompt=Новое письмо для подтвержд
active_your_account=Активируйте свой аккаунт
prohibit_login=Вход запрещен
prohibit_login_desc=Вход для вашей учетной записи был запрещен, пожалуйста, свяжитесь с администратором сайта.
resent_limit_prompt=Извините, вы уже запросили активацию по электронной почте недавно. Пожалуйста, подождите 3 минуты, а затем повторите попытку.
resent_limit_prompt=Вы уже запрашивали активацию по электронной почте. Пожалуйста, подождите 3 минуты, а затем повторите попытку.
has_unconfirmed_mail=Здравствуйте, %s! У вас есть неподтвержденный адрес электронной почты (<b>%s</b>). Если вам не приходило письмо с подтверждением или нужно выслать новое письмо, нажмите на кнопку ниже.
resend_mail=Нажмите здесь, чтобы переотправить активационное письмо
send_reset_mail=Нажмите сюда, чтобы отправить письмо для сброса пароля
@@ -221,7 +223,7 @@ url_error=` не является допустимым URL-адресом.`
include_error=` должен содержать '%s'.`
unknown_error=Неизвестная ошибка:
captcha_incorrect=Капча не пройдена.
password_not_match=Пароли не совпадают.
password_not_match=Пароль и подтверждение отличаются.
username_been_taken=Имя пользователя занято.
repo_name_been_taken=Имя репозитория занято.
@@ -229,6 +231,7 @@ org_name_been_taken=Название организации занято.
team_name_been_taken=Название команды занято.
email_been_used=Адрес электронной почты уже используется.
username_password_incorrect=Имя пользователя или пароль не правильный.
auth_source_mismatch=Выбранный источник проверки подлинности не связан с пользователем.
enterred_invalid_repo_name=Пожалуйста, убедитесь, что введено правильное имя репозитория.
enterred_invalid_owner_name=Убедитесь, что введенное имя владельца верное.
enterred_invalid_password=Убедитесь, что введенный пароль верен.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Или введите кодовое слово:
two_factor_then_enter_passcode=Затем введите пароль:
two_factor_verify=Проверить
two_factor_invalid_passcode=Введенные пароли не совпадают; пожалуйста, повторите попытку!
two_factor_reused_passcode=Введенный вами пароль уже используется, пожалуйста, попробуйте другой!
two_factor_enable_error=Ошибка активация двухфакторной аутентификации: %v
two_factor_enable_success=Двухфакторная аутентификация активирована для вашей учетной записи!
two_factor_recovery_codes_title=Коды восстановления для двухфакторная аутентификации
@@ -417,6 +421,8 @@ mirror_last_synced=Последняя синхронизация
watchers=Наблюдатели
stargazers=Звездочеты
forks=Ответвления
repo_description_helper=Описание репозитория. Максимальная длина 512 символов.
repo_description_length=Доступные символы
form.reach_limit_of_creation=У владельца достигнут максимальный предел в %d создаваемых репозиториев.
form.name_reserved=Имя репозитория '%s' зарезервировано.
@@ -458,7 +464,7 @@ tree=Дерево
filter_branch_and_tag=Фильтр по ветке или тегу
branches=Ветки
tags=Метки
issues=Обсуждения
issues=Задачи
pulls=Запросы на слияние
labels=Метки
milestones=Этапы
@@ -476,7 +482,7 @@ branches.overview=Обзор
branches.active_branches=Активные ветки
branches.stale_branches=Устаревшие ветки
branches.all=Все ветки
branches.updated_by=Обновлено %[1]s %[2]s
branches.updated_by=Обновлено %[1]s пользователем %[2]s
branches.change_default_branch=Change Default Branch
editor.new_file=Новый файл
@@ -514,6 +520,7 @@ editor.file_changed_while_editing=Содержимое файла изменил
editor.file_already_exists=Файл с именем «%s» уже существует в этом репозитории.
editor.no_changes_to_show=Нет изменений.
editor.fail_to_update_file=Не удалось обновить/создать файл «%s» из-за ошибки: %v
editor.fail_to_delete_file=Не удалось удалить файл «%s» из-за ошибки: %v
editor.add_subdir=Добавьте подкаталог...
editor.unable_to_upload_files=Не удалось загрузить файлы в «%s» из-за ошибки: %v
editor.upload_files_to_dir=Загрузить файлы '%s'
@@ -531,7 +538,7 @@ commits.newer=Новее
issues.new=Новая задача
issues.new.labels=Метки
issues.new.no_label=Нет меток
issues.new.clear_labels=Отчистить метки
issues.new.clear_labels=Очистить метки
issues.new.milestone=Этап
issues.new.no_milestone=Нет этапа
issues.new.clear_milestone=Очистить этап
@@ -616,6 +623,7 @@ pulls.compare_compare=сравнить
pulls.filter_branch=Фильтр по ветке
pulls.no_results=Результатов не найдено.
pulls.nothing_to_compare=Нечего сравнивать, родительская и текущая ветка одинаковые.
pulls.nothing_merge_base=Нечего сравнивать, так так история обеих веток полностью отличается.
pulls.has_pull_request=`Уже существует запрос на слияние между двумя целями: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Создать запрос на слияние
pulls.title_desc=хочет смерджить %[1]d коммит(ов) из <code>%[2]s</code> в <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=Продолжается проверка конфликтов
pulls.can_auto_merge_desc=Этот запрос на слияние может быть объединён автоматически.
pulls.cannot_auto_merge_desc=Этот запрос на слияние не может быть объединён автоматически.
pulls.cannot_auto_merge_helper=Пожалуйста, совершите слияние вручную для урегулирования конфликтов.
pulls.create_merge_commit=Создать коммит на слияние
pulls.rebase_before_merging=Выполнить rebase перед слиянием
pulls.commit_description=Описание коммита
pulls.merge_pull_request=Слить пулл-реквест
pulls.open_unmerged_pull_exists=`Вы не можете снова открыть, поскольку уже существует запрос на слияние (#%d) из того же репозитория с той же информацией о слиянии и ожидающий слияния. `
pulls.delete_branch=Удалить ветку
@@ -735,7 +746,9 @@ settings.tracker_issue_style=Стиль Именования Внешней Си
settings.tracker_issue_style.numeric=Цифровой
settings.tracker_issue_style.alphanumeric=Буквенноцифровой
settings.tracker_url_format_desc=Вы можете использовать шаблон <code>{user} {repo} {index}</code> для имени пользователя, репозитория и номера задачи.
settings.pulls_desc=Включить публичные запросы на слияние
settings.pulls_desc=Разрешить пул-запросы для принятия изменений между репозиториями и ветками
settings.pulls.ignore_whitespace=Игнорировать изменения в пробельных символах
settings.pulls.allow_rebase_merge=Разрешить rebase-слияние
settings.danger_zone=Опасная зона
settings.cannot_fork_to_same_owner=Вы не можете ответвить репозиторий его же владельцу.
settings.new_owner_has_same_repo=У нового владельца уже есть хранилище с таким названием.
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=Данные Вики успешно стерты
settings.delete=Удалить этот репозиторий
settings.delete_desc=Будьте внимательны! Как только вы удалите репозиторий — пути назад не будет.
settings.delete_notices_1=- Эта операция <strong>НЕ МОЖЕТ</strong> быть отменена.
settings.delete_notices_2=- Эта операция навсегда удалит всё из этого репозитория, включая данные Git, связанные с ним задачи, комментарии и права доступа для сотрудников.
settings.delete_notices_2=- Эта операция удалит все в этом репозитории, включая данные Git, задачи, комментарии и доступы для соавторов.
settings.delete_notices_fork_1=- Все отвлетвления станут независимыми после удаления.
settings.deletion_success=Репозиторий был успешно удалён!
settings.update_settings_success=Настройки репозитория обновлены успешно.
@@ -812,12 +825,12 @@ settings.event_fork=Ответвить
settings.event_fork_desc=Репозиторий склонирован
settings.event_push=Push
settings.event_push_desc=Push в репозиторий
settings.event_issues=Вопросы
settings.event_issues=Задачи
settings.event_issues_desc=Задача изменена
settings.event_issue_comment=Комментарии в задаче
settings.event_issue_comment_desc=Комментарий создан, изменен или удален.
settings.event_pull_request=Запросы на слияние
settings.event_pull_request_desc=Запрос слияния открыт, закрыт, переоткрыт, изменён, назначен, снят, метка обновлена, метка убрана, добавлен промежуточный этап, убран промежуточный этап или синхронизирован.
settings.event_issue_comment=Комментарии в задаче
settings.event_issue_comment_desc=Комментарий создан, изменен или удален.
settings.event_release=Релиз
settings.event_release_desc=Релиз опубликован в репозитории.
settings.active=Активен
@@ -830,11 +843,12 @@ settings.recent_deliveries=Недавние рассылки
settings.hook_type=Тип перехватчика
settings.add_slack_hook_desc=Добавить интеграцию с <a href="%s">Slack</a> в ваш репозиторий.
settings.add_discord_hook_desc=Добавить интеграцию с <a href="%s">Discord</a> в ваш репозиторий.
settings.add_dingtalk_hook_desc=Добавить интеграцию с <a href="%s">Dingtalk</a> в ваш репозиторий.
settings.slack_token=Token
settings.slack_domain=Домен
settings.slack_channel=Канал
settings.deploy_keys=Ключи развертывания
settings.deploy_keys_helper=<b>Common Gotcha!</b> Если вы ищите куда добавить персональные публичные ключи, добавьте их в <a href="%s%s">настройках вашего аккаунта</a>.
settings.deploy_keys_helper=<b>Подсказка:</b> если вы хотите добавить личные публичные ключи, сделайте это в <a href="%s%s">настройках вашего аккаунта</a>.
settings.add_deploy_key=Добавить ключ развертывания
settings.deploy_key_desc=Ключи развёртывания доступны только для чтения. Это не то же самое что и SSH-ключи аккаунта.
settings.no_deploy_keys=Вы не добавляли ключи развертывания.
@@ -846,6 +860,8 @@ settings.add_key_success=Новый ключ развертывания '%s' у
settings.deploy_key_deletion=Удалить ключ развертывания
settings.deploy_key_deletion_desc=Удаление ключа развертывания приведет к удалению всех связанных прав доступа к репозиторию. Вы хотите продолжить?
settings.deploy_key_deletion_success=Ключ развертывания успешно удален!
settings.description_desc=Описание репозитория. Максимальная длина 512 символов.
settings.description_length=Доступные символы
diff.browse_source=Просмотр исходного кода
diff.parent=Родитель
@@ -902,7 +918,7 @@ invite_someone=Пригласить кого-нибудь
teams=Команды
lower_members=Участники
lower_repositories=Репозитории
create_new_team=Создать Новую Команду
create_new_team=Создать новую команду
org_desc=Описание
team_name=Название команды
team_desc=Описание
@@ -1009,7 +1025,7 @@ dashboard.reinit_missing_repos=Реинициализировать все ре
dashboard.reinit_missing_repos_success=Все репозитории с утерянными Git файлами успешно реинициализированы.
dashboard.server_uptime=Время непрерывной работы сервера
dashboard.current_goroutine=Текущий Goroutines
dashboard.current_goroutine=Текущих Goroutines
dashboard.current_memory_usage=Текущее использование памяти
dashboard.total_memory_allocated=Всего памяти выделено
dashboard.memory_obtained=Памяти использовано
@@ -1081,11 +1097,12 @@ repos.stars=В избранном
repos.issues=Задачи
repos.size=Размер
auths.auth_manage_panel=Панель управления аутнентификациями
auths.auth_sources=Типы аутентификации
auths.new=Добавить новый источник
auths.name=Имя
auths.type=Тип
auths.enabled=Включено
auths.default=По умолчанию
auths.updated=Обновлено
auths.auth_type=Тип аутентификации
auths.auth_name=Имя аутентификации
@@ -1094,20 +1111,21 @@ auths.domain=Домен
auths.host=Хост
auths.port=Порт
auths.bind_dn=Привязать DN
auths.bind_dn_helper=Вы можете использовать '%s' для подстановки имени пользователя, например: DOM\%s
auths.bind_password=Привязать пароль
auths.bind_password_helper=Внимание: Этот пароль сохранен в небезопасном виде. Не используйте высоко-привилегированную учетную запись.
auths.user_base=База для поиска пользователя
auths.user_dn=DN пользователя
auths.attribute_username=Атрибут username
auths.attribute_username_placeholder=Оставьте пустым, чтобы использовать имя пользователя для регистрации.
auths.attribute_name=First Name Attribute
auths.attribute_name=Имя атрибута
auths.attribute_surname=Фамилия аттрибута
auths.attribute_mail=Электронная почта аттрибута
auths.verify_group_membership=Verify group membership
auths.group_search_base_dn=Group Search Base DN
auths.group_filter=Group Filter
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
auths.user_attribute_listed_in_group=User Attribute Listed in Group
auths.verify_group_membership=Верифицировать членство в группе
auths.group_search_base_dn=Base DN для поиска группы
auths.group_filter=Групповой фильтр
auths.group_attribute_contain_user_list=Атрибут группы, содержащий список пользователей
auths.user_attribute_listed_in_group=Пользовательский атрибут, перечисленный в группе
auths.attributes_in_bind=Извлечение атрибутов в виде Bind DN
auths.filter=Фильтр пользователя
auths.admin_filter=Фильтр администратора
@@ -1121,9 +1139,9 @@ auths.enable_tls=Включение шифрования TLS
auths.skip_tls_verify=Пропустить проверку TLS
auths.pam_service_name=Имя службы PAM
auths.enable_auto_register=Включить автоматическую регистрацию
auths.tips=Советы
auths.edit=Изменить параметры канала аутентификации
auths.activated=Эта аутентификация активирована
auths.default_auth=Эта аутентификация является источником входа по умолчанию
auths.new_success=Новый канал аутентификации '%s' успешно создан.
auths.update_success=Настройки канала аутентификации успешно сохранены.
auths.update=Обновить параметры аутентификации
@@ -1134,6 +1152,7 @@ auths.still_in_used=Эта проверка подлинности до сих
auths.deletion_success=Канал аутентификации успешно удален!
auths.login_source_exist=Источник входа '%s' уже существует.
config.not_set=(не задано)
config.server_config=Конфигурация сервера
config.app_name=Имя приложения
config.app_ver=Версия приложения
@@ -1155,6 +1174,7 @@ config.ssh_domain=Домен
config.ssh_port=Порт
config.ssh_listen_port=Прослушиваемый порт
config.ssh_root_path=Корневой путь
config.ssh_rewrite_authorized_keys_at_start=Перезаписать authorized_keys при запуске
config.ssh_key_test_path=Путь к тестовому ключу
config.ssh_keygen_path=Путь к генератору ключей ('ssh-keygen')
config.ssh_minimum_key_size_check=Минимальный размер ключа проверки
@@ -1170,6 +1190,9 @@ config.disable_http_git=Выключить HTTP Git
config.enable_local_path_migration=Включить миграцию с локального пути
config.commits_fetch_concurrency=Параллельность получения коммитов
config.http_config=Конфигурация HTTP
config.http_access_control_allow_origin=Содержимое заголовка Access Control Allow Origin
config.db_config=Конфигурация базы данных
config.db_type=Тип
config.db_host=Хост
@@ -1191,15 +1214,15 @@ config.enable_captcha=Включить капчу
config.active_code_lives=Время жизни кода для активации
config.reset_password_code_lives=Время жизни кода сброса пароля
config.webhook_config=Настройка автоматического обновления репозиции
config.webhook_config=Конфигурация Webhook
config.queue_length=Длина очереди
config.deliver_timeout=Задержка доставки
config.skip_tls_verify=Пропустить TLS проверка
config.skip_tls_verify=Пропустить проверку TLS
config.mailer_config=Настройки почты
config.mailer_enabled=Включено
config.mailer_disable_helo=Отключить HELO
config.mailer_name=Имя
config.mailer_subject_prefix=Префикс темы письма
config.mailer_host=Сервер
config.mailer_user=Пользователь
config.send_test_mail=Отправить тестовое письмо
@@ -1236,9 +1259,9 @@ config.git_max_diff_line_characters=Максимальное количеств
config.git_max_diff_files=Максимальное количество Diff-файлов (при показе)
config.git_gc_args=Аргументы GC
config.git_migrate_timeout=Тайм-аут миграции
config.git_mirror_timeout=Время Ожидания Обновления Зеркала
config.git_clone_timeout=Время Ожидания Операции Клонирования
config.git_pull_timeout=Время Ожидания Операции Извлечения
config.git_mirror_timeout=Время ожидания обновления зеркала
config.git_clone_timeout=Время ожидания операции клонирования
config.git_pull_timeout=Время ожидания операции извлечения
config.git_gc_timeout=Время Ожидания Операции Сборки Мусора
config.log_config=Конфигурация журнала
@@ -1272,7 +1295,6 @@ notices.delete_success=Системное уведомление успешно
[action]
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>
commit_repo=запушил(а) <a href="%[1]s/src/%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a>
compare_commits=Просмотр сравнение для этих %d коммитов
@@ -1285,29 +1307,33 @@ create_pull_request=`создал запрос на слияние <a href="%s/p
close_pull_request=`закрыл запрос на слияние <a href="%s/pulls/%s">%s#%[2]s</a>`
reopen_pull_request=`открыл снова запрос на слияние <a href="%s/pulls/%s">%s#%[2]s</a>`
merge_pull_request=`слил пул реквест <a href="%s/pulls/%s">%s#%[2]s</a>`
create_branch=создать новую ветку <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
delete_branch=удален бранч <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
create_branch=создал новую ветку <a href="%[1]s/src/%[2]s">%[3]s</a> в <a href="%[1]s">%[4]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>
delete_tag=удален тег <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
fork_repo=склонировать репозиторий в <a href="%s">%s</a>
mirror_sync_push=синхронизированные коммиты с <a href="%[1]s/src/%[2]s">%[3]s</a> на <a href="%[1]s">%[4]s</a> из зеркала
mirror_sync_create=синхронизированные новые ссылки <a href="%s/src/%s">%[2]s</a> к <a href="%[1]s">%[3]s</a> из зеркала
mirror_sync_delete=синхронизированные и удаленные ссылки <code>%[2]s</code> на <a href="%[1]s">%[3]s</a> из зеркала
[tool]
ago=назад
from_now=с этого момента
now=сейчас
1s=1 секунду %s
1m=1 минута %s
1m=1 минуту %s
1h=1 час %s
1d=1 день %s
1w=1 неделя %s
1mon=1 месяц %s
1y=1 год %s
seconds=секунд %[2]s: %[1]d
minutes=минут %[2]s: %[1]d
seconds=%d секунд %s
minutes=%d минут %s
hours=%d часов %s
days=дней %[2]s: %[1]d
weeks=недель %[2]s: %[1]d
months=месяцев %[2]s: %[1]d
years=лет %[2]s: %[1]d
days=%d дней %s
weeks=%d недель %s
months=%d месяцев %s
years=%d лет %s
raw_seconds=секунд
raw_minutes=минут

1345
conf/locale/locale_sk-SK.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@ home=Почетна
dashboard=Контролни панел
explore=Преглед
help=Помоћ
sign_in=Пријавите Се
sign_in=Пријавите се
sign_out=Одјава
sign_up=Регистрација
register=Регистрација
@@ -51,10 +51,10 @@ docker_helper=Ако покрећете Gogs унутар Docker, молимо
requite_db_desc=Gogs захтева MySQL, PostgreSQL, SQLite3, MSSQL или TiDB.
db_title=Подешавања базе
db_type=Тип базе података
host=Хост
host=Домаћин
user=Корисник
password=Лозинка
db_name=Име базе података
db_name=Назив базе података
db_helper=За MySQL користите тип табела InnoDB са кодирањем utf8_general_ci.
ssl_mode=Режим SSL
path=Пут
@@ -151,6 +151,8 @@ register_hepler_msg=Већ имате налог? Пријавите се!
social_register_hepler_msg=Већ имате налог? Повежите се преко социалне мреже!
disable_register_prompt=Извините регистрација је онемогућено. Молимо вас, контактирајте администратора.
disable_register_mail=Извините, потврда путем поште је онемогућено.
auth_source=Извор аутентикације
local=Локално
remember_me=Запамти ме
forgot_password=Заборављена лозинка
forget_password=Заборавили сте лозинку?
@@ -196,7 +198,7 @@ Email=Адреса ел. поште
Password=Лозинка
Retype=Поновите лозинку
SSHTitle=Име SSH кључа
HttpsUrl=HTTPS URL адреса
HttpsUrl=HTTPS URL
PayloadUrl=URL адреса за слање
TeamName=Име тима
AuthName=Ауторизацијско име
@@ -229,6 +231,7 @@ org_name_been_taken=Име организације је већ заузето.
team_name_been_taken=Име екипе је већ заузето.
email_been_used=Адреса е-поште се већ користи.
username_password_incorrect=Корисничко име или лозинка није исправна.
auth_source_mismatch=Изабрани извор потврде идентитета није повезан са корисником.
enterred_invalid_repo_name=Молимо вас, проверите да је име спремишта тачно унешено.
enterred_invalid_owner_name=Молимо вас проверите да сте добро унели име власника.
enterred_invalid_password=Молимо вас проверите да сте добро унели лозинку.
@@ -268,12 +271,12 @@ security=Безбедност
repos=Спремишта
orgs=Организације
applications=Апликације
delete=Уклоните налог
delete=Уклоните Hалог
public_profile=Јавни профил
profile_desc=Ваша адреса е-поште је јавна и коришће се за све обавести везане са налогом, као и друге операције почињене кроз Gogs.
password_username_disabled=Нелокални корисници не могу да промене своје кориничко име.
full_name=Име и презиме
full_name=Пуно Име
website=Веб страница
location=Локација
update_profile=Ажурирај профил
@@ -300,7 +303,7 @@ password_incorrect=Тренутна лозинка је нетачна.
change_password_success=Лозинка је успешно промењена. Можете се пријавити са новом лозинком.
password_change_disabled=Нелокални корисници не могу да промене своје лозинке.
emails=Адреса ел. поште
emails=Адреса е-поште
manage_emails=Управљање адресама е-поште
email_desc=Ваша главна адреса ће се користити за обавештења и других операција.
primary=Главно
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Или унесите тајну шифру:
two_factor_then_enter_passcode=Па унесите шифру:
two_factor_verify=Проверити
two_factor_invalid_passcode=Шифрa коју сте унели није важећа, молим бас пробајте поново!
two_factor_reused_passcode=Љифром који сте унијели се већ користи, молим те пробај опет!
two_factor_enable_error=Активација двоструке аутентификације није успела: %v
two_factor_enable_success=Двострука аутентификација је успешно активирана за ваш налог!
two_factor_recovery_codes_title=Шифра за опоравак за двоструку аутентификацију
@@ -417,6 +421,8 @@ mirror_last_synced=Задње синхронизовано
watchers=Посматрачи
stargazers=Пратиоци
forks=Огранци
repo_description_helper=Опис спремишта. Максимум 512 карактера.
repo_description_length=Доступни карактери
form.reach_limit_of_creation=Власник има максимум број %d спремишта.
form.name_reserved=Име спремишта '%s' је резервирано.
@@ -514,6 +520,7 @@ editor.file_changed_while_editing=Садржај датотеке је пром
editor.file_already_exists=Датотека са именом '%s' већ постоји у овом спремишту.
editor.no_changes_to_show=Нема никаквих промена.
editor.fail_to_update_file=Промена над '%s' није успело са грешком: %v
editor.fail_to_delete_file=Фајл '%s' није успешно обрисан, разлог грешке: %v
editor.add_subdir=Додај поддиректоријуми...
editor.unable_to_upload_files=Учитање датотеке '%s' није успело са грешкном: %v
editor.upload_files_to_dir=Пошаљи датотеке на '%s'
@@ -521,7 +528,7 @@ editor.upload_files_to_dir=Пошаљи датотеке на '%s'
commits.commit_history=Историја ревизија
commits.commits=Комити
commits.search=Претражи комите
commits.find=Претражи
commits.find=Пронађи
commits.author=Аутор
commits.message=Порука
commits.date=Датум
@@ -616,6 +623,7 @@ pulls.compare_compare=упореди
pulls.filter_branch=Филтер по грани
pulls.no_results=Нема резултата.
pulls.nothing_to_compare=Нема шта да се упореди, гране су исте.
pulls.nothing_merge_base=Немогуће је упоредити јер двије гране имају потпуно другачију историју.
pulls.has_pull_request=`Већ постоји захтев за спајање између ове две гране: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Поднеси захтев за спајање
pulls.title_desc=жели да споји %[1]d комит(е) из <code>%[2]s</code> у <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=Провера још увек у току, молимо ва
pulls.can_auto_merge_desc=Овај захтев за спајање може бити обављен аутоматски.
pulls.cannot_auto_merge_desc=Овај захтев за спајање не може бити обављен аутоматски због сукоба.
pulls.cannot_auto_merge_helper=Молимо вас, обавите спајање ручно да би сте разрешили сукобе.
pulls.create_merge_commit=Направите спајање
pulls.rebase_before_merging=Поврат пре обједињавања
pulls.commit_description=Опис ревизије
pulls.merge_pull_request=Обави спајање
pulls.open_unmerged_pull_exists=`Неможете поново отворити јер већ постоји захтев за спајање (#%d) из истог спремишта са истим информацијама о спајању и чека спајање.`
pulls.delete_branch=Избришите грану
@@ -693,21 +704,21 @@ settings.update=Ажурирање
settings.update_default_branch_unsupported=Промена подразумеване гране није подржавана од стране Git верзија сервера.
settings.update_default_branch_success=Подразумевана грана овог спремишта је била успешно ажурирана!
settings.protected_branches=Заштићене гране
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers.
settings.choose_a_branch=Choose a branch...
settings.branch_protection=Branch Protection
settings.branch_protection_desc=Please choose protect options for branch <b>%s</b>.
settings.protect_this_branch=Protect this branch
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_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_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_search_users=Search users
settings.protect_whitelist_teams=Teams for which members of them can push to this branch
settings.protect_whitelist_search_teams=Search teams
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
settings.protected_branches_desc=Заштита гранe од додира, случајног брисања и команди листе кода.
settings.choose_a_branch=Изаберите Филијалy...
settings.branch_protection=Заштита Филијала
settings.branch_protection_desc=Молимо изаберите заштитне опције за грану <b>%s</b>.
settings.protect_this_branch=Заштити ову филијалy
settings.protect_this_branch_desc=Онемогућите притисак и заштититy од брисања.
settings.protect_require_pull_request=Захтев за повлачењем уместо директног додира
settings.protect_require_pull_request_desc=Омогућите ову опцију да бисте спречили директан додир на ову грану. Обавезно мора бити покренуто у незаштићеној грани затим објединти на ову грану кao захтев за спајање.
settings.protect_whitelist_committers=Whitelist који може да додирне ову грану
settings.protect_whitelist_committers_desc=Додајте људе или тимовe у листу белих исправа за директан приступ овој теми. Корисници из беле листе ће заобићи захтев за повлачење захтева.
settings.protect_whitelist_users=Корисници који могу да додирнy ову грану
settings.protect_whitelist_search_users=Тражи кориснике
settings.protect_whitelist_teams=Тимови кao и њихови чланови могу потакнути овy грану
settings.protect_whitelist_search_teams=Тимови за претрагу
settings.update_protect_branch_success=Заштитна опција за ову грану је успешно ажурирана!
settings.hooks=Webhooks
settings.githooks=Git хуки
settings.basic_settings=Основна подешавања
@@ -720,24 +731,26 @@ settings.change_reponame_prompt=Ова промена ће утицати на
settings.advanced_settings=Напредна подешавања
settings.wiki_desc=Омогући систем вики
settings.use_internal_wiki=Користи уграђен вики
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
settings.allow_public_wiki_desc=Дозволите приступ wiki када је трговина приватна
settings.use_external_wiki=Користи спољни Вики
settings.external_wiki_url=URL адреса спољног Вики
settings.external_wiki_url_desc=Посетиоци ће бити преусмерени URL адреси након што кликну на картицу.
settings.issues_desc=Омогући систем праћења грешака
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.external_tracker_url=External Issue Tracker URL
settings.external_tracker_url_desc=Visitors will be redirected to URL when they click on the tab.
settings.external_tracker_url=Екстерни проблем Tracker URL
settings.external_tracker_url_desc=Посетиоци ће бити преусмерени на URL када кликну на картицу.
settings.tracker_url_format=Спољни формат везе система за праћење грешака
settings.tracker_issue_style=Стил именовања на спољном систему:
settings.tracker_issue_style.numeric=Нумерично
settings.tracker_issue_style.alphanumeric=Алфанумерично
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=Занемарите промене у размаку
settings.pulls.allow_rebase_merge=Дозволи употребу поврата да обједините обавезе
settings.danger_zone=Опасна зона
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
settings.cannot_fork_to_same_owner=Не можете поделити спремиште власнику.
settings.new_owner_has_same_repo=Нови власник већ има спремиште по истим називом. Молимо вас изаберите друго име.
settings.convert=Претворити у обично спремиште
settings.convert_desc=Можете претворити огледало у обично спремиште, али та операција не може се укинути.
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=Вики подаци за ово спремиш
settings.delete=Уклони ово спремиште
settings.delete_desc=Нећете мочи повратити спремиште после брисања. Молимо вас, будите сигурни.
settings.delete_notices_1=- Ова операција <strong>НЕЋЕ МОЧИ</strong> бити укинута.
settings.delete_notices_2=- Ова операција ће трајно избрисати све из овог спремишта, укључујући и податке Git, задатци, коментаре и приступ сарадницима.
settings.delete_notices_2=- Ова операција ће трајно избрисати све из овог спремишта, укључујући податке Git, задатке, коментаре и приступ сарадницима.
settings.delete_notices_fork_1=- Сви огранци ће постати независни после уклањање.
settings.deletion_success=Спремиште је успешно избрисано!
settings.update_settings_success=Подешавања спремишта су успешно ажурирани.
@@ -781,7 +794,7 @@ settings.webhook.test_delivery=Провери испоруку
settings.webhook.test_delivery_desc=Пошаљи push за тестирање подешавања webhook
settings.webhook.test_delivery_success=Тест webhook је додат у месту испоруке. Процес може да потраје неколико секунди пре него што ће показати у историји испоруке.
settings.webhook.redelivery=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=Hook задатак '%s' је прочитан редоследом испоруке. Може потрајати неколико секунди да ce ажурира статус испоруке у историји.
settings.webhook.request=Захтев
settings.webhook.response=Одговор
settings.webhook.headers=Наслови
@@ -796,7 +809,7 @@ settings.add_webhook_desc=Послаћемо захтев <code>POST</code> на
settings.payload_url=URL адреса за слање
settings.content_type=Тип садржаја
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=Тајна ће бити послата као SHA256 HMAC hex digest корисног оптерећења преко <code>X-Gogs-Signature</code> заглавља.
settings.slack_username=Корисничко име
settings.slack_icon_url=URL адреса иконице
settings.slack_color=Боја
@@ -806,18 +819,18 @@ settings.event_send_everything=У <strong>свим</strong> догађајима
settings.event_choose=Изабраћу шта ми је потребно.
settings.event_create=Креирај
settings.event_create_desc=Створена грана или ознака
settings.event_delete=Delete
settings.event_delete_desc=Branch or tag deleted
settings.event_fork=Fork
settings.event_fork_desc=Repository forked
settings.event_delete=Обриши
settings.event_delete_desc=Oбрисана грана или ознака
settings.event_fork=Креирај огранак
settings.event_fork_desc=Спремиште је допуштено
settings.event_push=Push
settings.event_push_desc=Git push у спремиште
settings.event_issues=Issues
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
settings.event_issue_comment=Коментар проблема
settings.event_issue_comment_desc=Коментар проблема креиран, уређиван или избришен.
settings.event_issues=Задаци
settings.event_issues_desc=Проблем је отворен, затворен, поново отворен, уређен, додељен, не додељен, етикета је ажурирана, етикета је очишћена, помјерена или демилестирана.
settings.event_pull_request=Захтев за спајање
settings.event_pull_request_desc=Захтев за спајање отворенo, затворено, додељено, недодељенo, ознака ажурирана, ознака избрисана, створена прекретница, избрисана прекретница, или синхронизовано.
settings.event_issue_comment=Коментар проблема
settings.event_issue_comment_desc=Коментар проблема креиран, уређиван или избришен.
settings.event_release=Издање
settings.event_release_desc=Издање објављено на спремишту.
settings.active=Активно
@@ -830,6 +843,7 @@ settings.recent_deliveries=Недавне испоруке
settings.hook_type=Тип Hook-а
settings.add_slack_hook_desc=Додавање интеграције <a href="%s">Slack</a> у спремиште.
settings.add_discord_hook_desc=Додавати <a href="%s">Discord</a> интеграцију вашем спремишту.
settings.add_dingtalk_hook_desc=Додајте интеграцију <a href="%s">Dingtalk</a> у своје спремиште.
settings.slack_token=Токен
settings.slack_domain=Домен
settings.slack_channel=Канал
@@ -846,6 +860,8 @@ settings.add_key_success=Нови кључ распоређивање '%s' је
settings.deploy_key_deletion=Уклони кључ распоређивањa
settings.deploy_key_deletion_desc=Брисање овог кључа за распоређивање ће довести до укидање приступ на овом спремишту. Да ли желите да наставите?
settings.deploy_key_deletion_success=Кључ за распоређивање је успешно обрисан!
settings.description_desc=Опис спремишта. Максимум 512 карактера.
settings.description_length=Доступни карактери
diff.browse_source=Преглед изворни кода
diff.parent=родитељ
@@ -1003,8 +1019,8 @@ dashboard.git_gc_repos=Изврши cакупљање смећа на спрем
dashboard.git_gc_repos_success=Сва спремишта су успешно извршили cакупљање смећа.
dashboard.resync_all_sshkeys=Препиши '.ssh/authorized_keys' (опрез: не Gogs тастери ће бити изгубљени)
dashboard.resync_all_sshkeys_success=Сви јавни кључеви су успешно преписани.
dashboard.resync_all_hooks=Resync pre-receive, update and post-receive hooks of all repositories
dashboard.resync_all_hooks_success=All repositories' pre-receive, update and post-receive hooks have been resynced successfully.
dashboard.resync_all_hooks=Поново синхронизујте купљенe pre-receive, ажурирањa и post-receive у свим репозиторијумима
dashboard.resync_all_hooks_success=Све спремишта pre-receive, ажурирања и post-receive успешно су ресинкронизованa.
dashboard.reinit_missing_repos=Поново постави све податке са изгубљеним Git датотекама
dashboard.reinit_missing_repos_success=Сви подаци са изгубљеним Git датотекама су успешно поново постављени.
@@ -1079,13 +1095,14 @@ repos.private=Приватно
repos.watches=Watches
repos.stars=Фаворити
repos.issues=Задаци
repos.size=Size
repos.size=Величина
auths.auth_manage_panel=Контролна панела аутентикације
auths.auth_sources=Извори аутентичности
auths.new=Додај нови извор
auths.name=Име
auths.type=Тип
auths.enabled=Омогућено
auths.default=Default
auths.updated=Ажурирано
auths.auth_type=Врста провере аутентичности
auths.auth_name=Име провере аутентичности
@@ -1094,20 +1111,21 @@ auths.domain=Домен
auths.host=Хост
auths.port=Порт
auths.bind_dn=Bind DN
auths.bind_dn_helper=Можете користити „%s” као место за корисничко име, e.g. DOM\%s
auths.bind_password=Bind лозинкa
auths.bind_password_helper=Упозорење: Ова лозинка је сачувана у облику нешифрованом текцту. Не користите високо-привилеговану налог.
auths.user_base=База претраживање корисника
auths.user_dn=DN корисника
auths.attribute_username=Атрибут username
auths.attribute_username_placeholder=Оставите празно да бисте користили корисничко име за регистрацију.
auths.attribute_name=First Name Attribute
auths.attribute_name=Првo име атрибута
auths.attribute_surname=Презиме атрибута
auths.attribute_mail=Е-маил адреса
auths.verify_group_membership=Verify group membership
auths.group_search_base_dn=Group Search Base DN
auths.group_filter=Group Filter
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
auths.user_attribute_listed_in_group=User Attribute Listed in Group
auths.verify_group_membership=Потврдите чланство у групи
auths.group_search_base_dn=База DN за претраживање групе
auths.group_filter=Филтер групе
auths.group_attribute_contain_user_list=Група атрибута која садржи листу корисника
auths.user_attribute_listed_in_group=Атрибут прилагођен и наведен у групи
auths.attributes_in_bind=Екстракција атрибута у облику Bind DN
auths.filter=Филтер корисника
auths.admin_filter=Филтер администратора
@@ -1121,9 +1139,9 @@ auths.enable_tls=Омогући TLS шифровање
auths.skip_tls_verify=Прескочи TLS проверу
auths.pam_service_name=Назив PAM сервиса
auths.enable_auto_register=Омогући аутоматску регистрацију
auths.tips=Савети
auths.edit=Промените подешавања канала аутентикације
auths.activated=Овај канал аутентикације је активан
auths.default_auth=This authentication is default login source
auths.new_success=Нови канал аутентикације '%s' је успешно креиран.
auths.update_success=Подешавања канала аутентикације су успешно ажурирана.
auths.update=Ажурирај подешавања аутентикације
@@ -1132,8 +1150,9 @@ auths.delete_auth_title=Брисање канала аутентикације
auths.delete_auth_desc=Овај канал аутентикације ће бити избрисан. Да ли желите да наставите?
auths.still_in_used=Овај канал аутентикације још увек се користи од стране неких корисника, уклоните или пребаци ове кориснике у друг врсту аутентикације.
auths.deletion_success=Канал аутентикације успешно избрисан!
auths.login_source_exist=Login source '%s' already exists.
auths.login_source_exist=Улазни извор '%s' већ постоји.
config.not_set=(није подешено)
config.server_config=Конфигурација сервера
config.app_name=Име апликације
config.app_ver=Верзија апликације
@@ -1155,20 +1174,24 @@ config.ssh_domain=Домен
config.ssh_port=Порт
config.ssh_listen_port=Порт за слушање
config.ssh_root_path=Основни пут
config.ssh_rewrite_authorized_keys_at_start=Переписати authorized_keys на почeтку
config.ssh_key_test_path=Пут до кључу
config.ssh_keygen_path=Пут до генератор кључева ('ssh-keygen')
config.ssh_minimum_key_size_check=Минимална величина провера кључа
config.ssh_minimum_key_sizes=Минимална величина кључева
config.repo_config=Repository Configuration
config.repo_config=Конфигурација спремишта
config.repo_root_path=Пут до корена спремишта
config.script_type=Врста скрипта
config.repo_force_private=Force Private
config.max_creation_limit=Max Creation Limit
config.preferred_licenses=Preferred Licenses
config.disable_http_git=Disable HTTP Git
config.enable_local_path_migration=Enable Local Path Migration
config.commits_fetch_concurrency=Commits Fetch Concurrency
config.max_creation_limit=Ограничење максималне креације
config.preferred_licenses=Преференцијалне лиценце
config.disable_http_git=Онемогући HTTP Git
config.enable_local_path_migration=Омогући миграцију локалнe путањe
config.commits_fetch_concurrency=Предузеће Fetch Concurrency
config.http_config=HTTP Конфигурација
config.http_access_control_allow_origin=Контрола приступа дозвољава порекло
config.db_config=Конфигурација базе података
config.db_type=Тип
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Прескочи TLS проверу
config.mailer_config=Подешавања поште
config.mailer_enabled=Омогућено
config.mailer_disable_helo=Онемогући HELO
config.mailer_name=Име
config.mailer_subject_prefix=Префикс Предмета
config.mailer_host=Хост
config.mailer_user=Корисник
config.send_test_mail=Пошаљи тест поруку
@@ -1242,8 +1265,8 @@ config.git_pull_timeout=Време до отказивања pull операци
config.git_gc_timeout=Време до отказивања cакупљање смећа
config.log_config=Kонфигурација журнала
config.log_mode=Mode
config.log_options=Options
config.log_mode=Режим
config.log_options=Опције
monitor.cron=Cron задаци
monitor.name=Име
@@ -1272,7 +1295,6 @@ notices.delete_success=Системска обавештавања су успе
[action]
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>
commit_repo=извршује push на <a href="%[1]s/src/%[2]s">%[3]s</a> у <a href="%[1]s">%[4]s</a>
compare_commits=Поређење ових %d комита
@@ -1285,10 +1307,14 @@ create_pull_request=`шаље захтев за спајање <a href="%s/pulls
close_pull_request=`затвара захтев за спајање <a href="%s/pulls/%s">%s#%[2]s</a>`
reopen_pull_request=`поново отвара захтев за спајање <a href="%s/pulls/%s">%s#%[2]s</a>`
merge_pull_request=`прихваћује захтев за спајање <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>
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
create_branch=створи нову филијалy <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
delete_branch=избрисана филијалa <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
push_tag=извршује push са ознаком <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=избрисана ознака <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
fork_repo=отворио спремиште <a href="%s">%s</a>
mirror_sync_push=синхронизује се <a href="%[1]s/src/%[2]s">%[3]s</a> у <a href="%[1]s">%[4]s</a> из огледала
mirror_sync_create=синхронизована нова референца <a href="%s/src/%s">%[2]s</a> y <a href="%[1]s">%[3]s</a> из огледала
mirror_sync_delete=синхронизоване и избрисане референце <code>%[2]s</code> y <a href="%[1]s">%[3]s</a> из огледала
[tool]
ago=пре

View File

@@ -48,7 +48,7 @@ cancel=Avbryt
install=Installation
title=Steg för att installera för första gången
docker_helper=Om du kör Gogs inuti Docker, vänligen läs <a target="_blank" href="%s">Riktninjerna</a> nogrant innan du ändrar någonting på denna sida!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB.
requite_db_desc=Gogs kräver MySQL, PostgreSQL, SQLite3, MSSQL eller TiDB.
db_title=Databasinställningar
db_type=Databastyp
host=Server
@@ -58,8 +58,8 @@ db_name=Databasens namn
db_helper=Se till att i MySQL använda INNODB med teckenuppsättningen utf8_general_ci.
ssl_mode=SSL-läge
path=Filväg
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service.
err_empty_db_path=SQLite3 database path cannot be empty.
sqlite_helper=Sökvägen för SQLite3 databas. <br>Vänligen använd den absoluta sökvägen när du kör som en tjänst.
err_empty_db_path=Sökvägen till SQLite3 databasen får inte vara tom.
no_admin_and_disable_registration=Du kan inte inaktivera registrering utan att skapa ett administratörskonto.
err_empty_admin_password=Administratörslösenordet får ej vara tomt.
@@ -74,7 +74,7 @@ domain=Domän
domain_helper=Detta påverkar SSH klonings webbadresser.
ssh_port=SSH-port
ssh_port_helper=Portnumret som din SSH-server brukar, lämna tomt för att inaktivera SSH-funktionaliteten.
use_builtin_ssh_server=Use Builtin SSH Server
use_builtin_ssh_server=Använd inbyggd SSH Server
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon.
http_port=HTTP Port
http_port_helper=Portnumret vilket applikationen kommer lyssnar på.
@@ -82,8 +82,8 @@ app_url=Applikationsadressen
app_url_helper=Detta påverkar HTTP/HTTPS kloningsadressen och på platser i e-post.
log_root_path=Loggsökväg
log_root_path_helper=Katalog till vilken loggfiler skrivs.
enable_console_mode=Enable Console Mode
enable_console_mode_popup=In addition to file mode, also print logs to console.
enable_console_mode=Aktivera Konsolläge
enable_console_mode_popup=Utöver fil-läge, skriver även ut loggar till konsol.
optional_title=Övriga inställningar
email_title=E-post tjänstens inställningar
@@ -119,8 +119,8 @@ sqlite3_not_available=Din release stödjer ej SQLite3, ladda vänligen ner den o
invalid_db_setting=Databas inställningen är inkorrekt: %v
invalid_repo_path=Utvecklingskatalogens rotsökväg är ogiltig: %v
run_user_not_match=Köranvändaren är inte aktuell användare: %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address.
invalid_smtp_from=SMTP From field is not valid: %v
smtp_host_missing_port=SMTP-värden saknar port i adressen.
invalid_smtp_from=SMTP från fält är inte giltigt: %v
save_config_failed=Konfigurationssparningen misslyckades: %v
invalid_admin_setting=Inställningarna för administratörskontot är felaktiga: %v
install_success=Välkommen! Vi är glada att du väljer Gogs, ha kul och ta hand om dig.
@@ -151,6 +151,8 @@ register_hepler_msg=Har du redan ett konto? Logga in nu!
social_register_hepler_msg=Har du redan ett konto? Anslut det nu!
disable_register_prompt=Tyvärr är användarregistreringen inaktiverad. Vänligen kontakta din administratör.
disable_register_mail=Tyvärr så är registreringsbekräftelemailutskick inaktiverat.
auth_source=Authentication Source
local=Lokal
remember_me=Kom ihåg mig
forgot_password=Glömt lösenord
forget_password=Glömt lösenordet?
@@ -169,13 +171,13 @@ reset_password_helper=Klicka här för att återställa ditt lösenord
password_too_short=Lösenordet får ej vara kortare än 6 tecken.
non_local_account=Icke-lokala konton får inte ändra lösenord genom Gogs.
login_two_factor=Two-factor Authentication
login_two_factor_passcode=Authentication Passcode
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
login_two_factor_recovery=Two-factor Recovery
login_two_factor_recovery_code=Recovery Code
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=Tfaktorsautentisering
login_two_factor_passcode=Autentiseringskod
login_two_factor_enter_recovery_code=Ange en tvåfaktorsautentisering återställningskod
login_two_factor_recovery=Tfaktorsautentisering Återställning
login_two_factor_recovery_code=Återställningskod
login_two_factor_enter_passcode=Ange en tvåfaktorsautentiserings kod
login_two_factor_invalid_recovery_code=Återställningskoden har använts eller är inte giltig.
[mail]
activate_account=Vänligen aktivera ditt konto
@@ -212,7 +214,7 @@ Content=Innehåll
require_error=får inte vara tomt
alpha_dash_error=` får bara innehålla bokstäver, nummer och bindestreck (-_).`
alpha_dash_dot_error=` får bara innehålla bokstäver, nummer, bindestreck (-_) och punkt`
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
alpha_dash_dot_slash_error=` får bara innehålla bokstäver, nummer, bindestreck (-_), punkt eller snedstreck`
size_error=` måste vara av storleken %s`
min_size_error=` måste innehålla minst %s tecken.`
max_size_error=` får inte innehålla mer än %s tecken.`
@@ -229,6 +231,7 @@ org_name_been_taken=Organisationsnamnet har redan används.
team_name_been_taken=Team namn är redan använt.
email_been_used=E-postadressen har redan använts.
username_password_incorrect=Användarnamnet eller lösenordet är inte korrekt.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Se till att utvecklingskatalogen som du angav är rätt.
enterred_invalid_owner_name=Kontrollera att ägarnamnet som du angav är rätt.
enterred_invalid_password=Se till att den som lösenord du angett är rätt.
@@ -264,8 +267,8 @@ profile=Profil
password=Lösenord
avatar=Avatar
ssh_keys=SSH-nycklar
security=Security
repos=Repositories
security=Säkerhet
repos=Utvecklingskataloger
orgs=Organisationer
applications=Applikationer
delete=Radera konto
@@ -334,20 +337,21 @@ no_activity=Ingen nylig aktivitet
key_state_desc=Denna nyckel har använts inom dom senaste 7 dagarna
token_state_desc=Denna token har används inom dom senaste 7 dagarna
two_factor=Two-factor Authentication
two_factor=Tfaktorsautentisering
two_factor_status=Status:
two_factor_on=On
two_factor_off=Off
two_factor_enable=Enable
two_factor_disable=Disable
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_on=
two_factor_off=Av
two_factor_enable=Aktivera
two_factor_disable=Inaktivera
two_factor_view_recovery_codes=Visa och spara <a href="%s%s">dina återställningskoder</a> på ett säkert ställe. Du kan använda dem som kod om du förlorar åtkomsten till din autentisering applikation.
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=Avaktivera Tvåfaktorsautentisering
two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_then_enter_passcode=Ange sedan lösenordet:
two_factor_verify=Verifiera
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_success=Two-factor authentication has enabled for your account successfully!
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -417,6 +421,8 @@ mirror_last_synced=Senast synkad
watchers=Observerare
stargazers=Stjärnmärkare
forks=Forks
repo_description_helper=Description of repository. Maximum 512 characters length.
repo_description_length=Available characters
form.reach_limit_of_creation=Ägaren har nått maxgränsen av %d skapade repon.
form.name_reserved=Namnet '%s' på utvecklingskatalogen är reserverat.
@@ -514,6 +520,7 @@ editor.file_changed_while_editing=Filinnhållet har ändrats sedan du började r
editor.file_already_exists=En fil med namnet '%s' finns redan i förrådet.
editor.no_changes_to_show=Det finns inga ändringar att visa.
editor.fail_to_update_file=Uppdateringen/skapandet av filen '%s' misslyckades med felet: %v
editor.fail_to_delete_file=Failed to delete file '%s' with error: %v
editor.add_subdir=Lägg till underkatalog...
editor.unable_to_upload_files=Uppladdning av filen '%s' misslyckades med felet: %v
editor.upload_files_to_dir=Ladda upp filer till '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=jämför
pulls.filter_branch=Filtrera gren
pulls.no_results=Inga resultat hittades.
pulls.nothing_to_compare=Det finns inget att jämföra eftersom bas och huvudgrenar är lika.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`Det finns redan en pullförfrågan mellan detta två mål: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]s</a>^
pulls.create=Skapa Pullförfrågan
pulls.title_desc=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=Konfliktkontroll är fortfarande pågågående, vänligen uppd
pulls.can_auto_merge_desc=Denna pull-förfrågan kan sammanfogas automatiskt.
pulls.cannot_auto_merge_desc=Denna pull-förfrågan kan inte sammanfogas automatiskt eftersom det finns konflikter.
pulls.cannot_auto_merge_helper=Vänligen sammanfoga manuellt för att lösa konflikter.
pulls.create_merge_commit=Create a merge commit
pulls.rebase_before_merging=Rebase before merging
pulls.commit_description=Commit Description
pulls.merge_pull_request=Sammanfoga Pull-förfrågan
pulls.open_unmerged_pull_exists=`Du kan inte utföra återöppningsoperationen eftersom det finns redan en öppen pull-förfrågan (#%d) från samma repo med samma sammanfogningsinformation som väntar på sammanfogning.`
pulls.delete_branch=Ta bort gren
@@ -704,7 +715,7 @@ settings.protect_require_pull_request_desc=Enable this option to disable direct
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_users=Users who can push to this branch
settings.protect_whitelist_search_users=Search users
settings.protect_whitelist_search_users=Sök användare
settings.protect_whitelist_teams=Teams for which members of them can push to this branch
settings.protect_whitelist_search_teams=Search teams
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
@@ -735,7 +746,9 @@ settings.tracker_issue_style=Namngivningsstil hos det externa ärendehanteringsy
settings.tracker_issue_style.numeric=Numerisk
settings.tracker_issue_style.alphanumeric=Alfanumerisk
settings.tracker_url_format_desc=Du kan använda platshållaren <code>{user} {repo} {index}</code> för användarnamn, reponamn, och ärendenummer.
settings.pulls_desc=Aktivera pullförfrågningar för att ta emot publika bidrag
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches
settings.pulls.ignore_whitespace=Ignore changes in whitespace
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
settings.danger_zone=Högrisksområde
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
settings.new_owner_has_same_repo=Den nya ägaren har redan ett repo med det namnet. Vänligen välj ett annat namn.
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=Förrådets wikidata har tagits bort.
settings.delete=Ta Bort Detta Repo
settings.delete_desc=När du har tagit bort ett repo så finns det ingen återvändo. Var säker på vad du gör.
settings.delete_notices_1=- Denna åtgärd kan <strong>INTE</strong> ångras.
settings.delete_notices_2=- Denna åtgärd kommer permanent ta bort hela repot, includerat git-datan, ärenden, kommentarer, och åtkomst för deltagare.
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=- Alla förgreningar kommer bli oberoende efter borttagning.
settings.deletion_success=Repot har tagits bort!
settings.update_settings_success=Repo-inställningar har uppdaterats.
@@ -814,10 +827,10 @@ settings.event_push=Pusha
settings.event_push_desc=Uppladdning till ett förråd
settings.event_issues=Issues
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=Hämtningsbegäran
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_desc=Release published in a repository.
settings.active=Aktiv
@@ -830,6 +843,7 @@ settings.recent_deliveries=Färska leveranser
settings.hook_type=Kroktyp
settings.add_slack_hook_desc=Lägg till <a href="%s">Slack</a>-integration till ditt förråd.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Pollett
settings.slack_domain=Domän
settings.slack_channel=Kanal
@@ -846,6 +860,8 @@ settings.add_key_success=Den nya driftsättningsnyckeln '%s' har lagts till!
settings.deploy_key_deletion=Ta bort distribueringsnyckel
settings.deploy_key_deletion_desc=Borttagning av detta distributionsnyckel kommer att ta bort all relaterad åtkomst till det här repot. Vill du fortsätta?
settings.deploy_key_deletion_success=Distributionsnyckeln har tagits bort!
settings.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Available characters
diff.browse_source=Bläddra i källkod
diff.parent=förälder
@@ -1081,11 +1097,12 @@ repos.stars=Stjärnor
repos.issues=Ärenden
repos.size=Size
auths.auth_manage_panel=Panel för hantering av autentisering
auths.auth_sources=Authentication Sources
auths.new=Lägg till ny källa
auths.name=Namn
auths.type=Typ
auths.enabled=Aktiv
auths.default=Default
auths.updated=Uppdaterad
auths.auth_type=Autentiseringstyp
auths.auth_name=Autentiseringsnamn
@@ -1094,6 +1111,7 @@ auths.domain=Domän
auths.host=Värd
auths.port=Port
auths.bind_dn=Bind DN
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
auths.bind_password=Bind lösenord
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
@@ -1121,9 +1139,9 @@ auths.enable_tls=Aktivera TLS-kryptering
auths.skip_tls_verify=Skip TLS Verify
auths.pam_service_name=PAM Service Name
auths.enable_auto_register=Enable Auto Registration
auths.tips=Tips
auths.edit=Edit Authentication Setting
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.update_success=Authentication setting has been updated successfully.
auths.update=Update Authentication Setting
@@ -1134,6 +1152,7 @@ auths.still_in_used=This authentication is still used by some users, please dele
auths.deletion_success=Authentication has been deleted successfully!
auths.login_source_exist=Login source '%s' already exists.
config.not_set=(not set)
config.server_config=Server-konfiguration
config.app_name=Applikationsnamn
config.app_ver=Applikationsversion
@@ -1155,6 +1174,7 @@ config.ssh_domain=Domän
config.ssh_port=Port
config.ssh_listen_port=Lyssningsport
config.ssh_root_path=Rotsökväg
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_key_test_path=Testsökväg för nyckel
config.ssh_keygen_path=Sökväg för nyckelgenerator ('ssh-keygen')
config.ssh_minimum_key_size_check=Kontroll av minsta tillåtna nyckelstorlek
@@ -1170,6 +1190,9 @@ 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.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=Databaskonfiguration
config.db_type=Typ
config.db_host=Värd
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Skippa verifikation av TLS
config.mailer_config=Konfiguration för e-postutskick
config.mailer_enabled=Aktiverad
config.mailer_disable_helo=Avaktivera HELO
config.mailer_name=Namn
config.mailer_subject_prefix=Subject Prefix
config.mailer_host=Server
config.mailer_user=Användare
config.send_test_mail=Skicka testmeddelande
@@ -1272,7 +1295,6 @@ notices.delete_success=System notices have been deleted successfully.
[action]
create_repo=skapade utvecklingskatalog <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>
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
@@ -1289,6 +1311,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>
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>
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]
ago=sedan

View File

@@ -58,7 +58,7 @@ db_name=Veritabanı Adı
db_helper=Lütfen MySQL için INNODB motorunu utf8_general_ci karakter setiyle kullanın.
ssl_mode=SSL Biçimi
path=Yol
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service.
sqlite_helper=SQLite3 veritabanının dosya yolu.<br> Lütfen cihaz başladığında kesin yolu kullan.
err_empty_db_path=SQLite3 veritabanının yolu boş olamaz.
no_admin_and_disable_registration=Bir yönetici hesabı oluşturmadan kullanıcı kaydını devre dışı bırakamazsınız.
err_empty_admin_password=Yönetici parolası boş olamaz.
@@ -75,7 +75,7 @@ domain_helper=Bu, SSH klon bağlantılarını etkiler.
ssh_port=SSH Portu
ssh_port_helper=SSH sunucunuzun portu kullanılıyor, boş bırakın ya da SSH özelliğini devre dışı bırakın.
use_builtin_ssh_server=Yerleşik SSH sunucusu kullanın
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon.
use_builtin_ssh_server_popup=Git işlemlerinde SSH sunucusundan sistem SSH arka plan programından ayrılmaya başlayın.
http_port=HTTP Portu
http_port_helper=Uygulamanın dinleyeceği port.
app_url=Uygulama Bağlantısı
@@ -83,7 +83,7 @@ app_url_helper=Bu, HTTP/HTTPS klon bağlantılarını ve e-postadaki bazı kıs
log_root_path=Günlük Dosyaları Yolu
log_root_path_helper=Günlük dosyalarının yazılacağı dizin.
enable_console_mode=Konsol Modunu Etkinleştir
enable_console_mode_popup=In addition to file mode, also print logs to console.
enable_console_mode_popup=Dosya moduna ek olarak , ayrıca konsolun günlüklerini yazdır.
optional_title=İsteğe Bağlı Ayarlar
email_title=E-Posta Servisi Ayarları
@@ -99,8 +99,8 @@ offline_mode=Çevrim Dışı Modu Etkinleştir
offline_mode_popup=CDN'i, üretim modunda bile devre dışı bırak, tüm kaynak dosyaları yerel olarak sunulacaktır.
disable_gravatar=Gravatar Servisini Devre Dışı Bırak
disable_gravatar_popup=Gravatar ve özel kaynakları devre dışı bırak. Tüm avatarlar kullanıcılar tarafından yüklenir veya varsayılan kalır.
federated_avatar_lookup=Enable Federated Avatars Lookup
federated_avatar_lookup_popup=Enable federated avatars lookup to use federated open source service based on libravatar.
federated_avatar_lookup=Birleşmiş Kişi Simgesi Aramasını Etkinleştir
federated_avatar_lookup_popup=Libravatar'a dayalı birleşmiş açık kaynaklı hizmeti kullanmak için birleşmiş avatarlar aramasını etkinleştirin.
disable_registration=Kendi Kendine Kaydolmayı Devre Dışı Bırak
disable_registration_popup=Kullanıcının kendi kendine kaydolmasını devre dışı bırak, yalnızca yönetici yeni hesaplar oluşturabilir.
enable_captcha=Captcha'yı Etkinleştir
@@ -119,8 +119,8 @@ sqlite3_not_available=Yayın sürümünüz SQLite3'ü desteklemiyor, lütfen %s'
invalid_db_setting=Veritabanı ayarları geçersiz: %v
invalid_repo_path=Depo kök dizini geçersiz: %v
run_user_not_match=Çalıştırma kullanıcısı geçerli kullanıcı değil: %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address.
invalid_smtp_from=SMTP From field is not valid: %v
smtp_host_missing_port=SMTP ana makine adresindeki bağlantı noktası eksik.
invalid_smtp_from=SMTP form alanı geçerli değil: %v
save_config_failed=Yapılandırma kaydedilemedi: %v
invalid_admin_setting=Yönetici hesap ayarları geçersiz: %v
install_success=Merhaba! Gogs'u tercih ettiğiniz için çok mutluyuz, keyfini çıkarın!
@@ -151,6 +151,8 @@ register_hepler_msg=Bir hesabınız var mı? Şimdi giriş yapın!
social_register_hepler_msg=Zaten bir hesabınız var mı? Şimdi bağlanın!
disable_register_prompt=Üzgünüz, kaydolma devre dışı bırakıldı. Lütfen site yöneticisiyle irtibata geçin.
disable_register_mail=Üzgünüz, kayıt doğrulama e-postası devre dışı bırakıldı.
auth_source=Yetkilendirme Kaynağı
local=Yerel
remember_me=Beni Hatırla
forgot_password=Parolamı Unuttum
forget_password=Parolanızı mı unuttunuz?
@@ -170,12 +172,12 @@ password_too_short=Parola uzunluğu 6 karakterden az olamaz.
non_local_account=Yerel olmayan hesapların şifrelerini Gogs aracılığıyla değiştiremezsiniz.
login_two_factor=İki aşamalı doğrulama
login_two_factor_passcode=Authentication Passcode
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
login_two_factor_recovery=Two-factor Recovery
login_two_factor_passcode=Kimlik doğrulama Şifre kodu
login_two_factor_enter_recovery_code=İki faktörlü kurtarma kodu girin
login_two_factor_recovery=İki faktörlü Kurtarma
login_two_factor_recovery_code=Kurtarma kodu
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_enter_passcode=İki faktörlü şifre kodu girin
login_two_factor_invalid_recovery_code=Kurtarma kodu kullanılmış veya geçerli değil.
[mail]
activate_account=Lütfen hesabınızı aktifleştirin
@@ -202,7 +204,7 @@ TeamName=Takım ismi
AuthName=Yetkilendirme adı
AdminEmail=Yönetici e-postası
NewBranchName=New branch name
NewBranchName=Yeni bölüm adı
CommitSummary=İşleme özeti
CommitMessage=İşleme mesajı
CommitChoice=İşleme tercihi
@@ -212,7 +214,7 @@ Content=İçerik
require_error=` boş olamaz.`
alpha_dash_error=` sadece karakter, rakam veya çizgi(-_) içermelidir.`
alpha_dash_dot_error=` sadece karakter, rakam, çizgi(-_) veya nokta içermelidir.`
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
alpha_dash_dot_slash_error=` geçerli alfa veya sayısal veya uzunçizgi(-_) veya nokta karakterler veya eğiz çizgi olmalıdır.`
size_error=` uzunluk en fazla %s olmalıdır.`
min_size_error=` en az %s karakter içermelidir.`
max_size_error=` en fazla %s karakter içermelidir.`
@@ -229,6 +231,7 @@ org_name_been_taken=Bu organizasyon adı zaten alınmış.
team_name_been_taken=Bu takım adı zaten alınmış.
email_been_used=Bu e-posta adresi zaten kullanımda.
username_password_incorrect=Kullanıcı adı veya parola hatalı.
auth_source_mismatch=Seçilen kimlik doğrulama kaynağı kullanıcı ile ilişkili değil.
enterred_invalid_repo_name=Lütfen girdiğiniz depo isminin doğru olduğundan emin olun.
enterred_invalid_owner_name=Lütfen girdiğiniz depo sahibi isminin doğru olduğundan emin olun.
enterred_invalid_password=Lütfen girdiğiniz parolanın doğru olduğundan emin olun.
@@ -283,8 +286,8 @@ change_username_prompt=Bu değişiklik, hesabınızla ilişkili olan bağlantıl
continue=Devam Et
cancel=İptal
lookup_avatar_by_mail=Lookup Avatar by mail
federated_avatar_lookup=Federated Avatar Lookup
lookup_avatar_by_mail=E-postaya göre Avatar Arama
federated_avatar_lookup=Birleşmiş Avatar Araması
enable_custom_avatar=Özel Avatarı Etkinleştir
choose_new_avatar=Yeni Avatar Seç
update_avatar=Avatar Ayarlarını Güncelle
@@ -334,30 +337,31 @@ no_activity=Yeni aktivite yok
key_state_desc=Bu anahtar son 7 gün içinde kullanıldı
token_state_desc=Bu erişim anahtarı son 7 gün içinde kullanıldı
two_factor=Two-factor Authentication
two_factor_status=Status:
two_factor=İki faktörlü Kimlik doğrulama
two_factor_status=Durum:
two_factor_on=ık
two_factor_off=Kapalı
two_factor_enable=Enable
two_factor_disable=Disable
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_enable_title=Enable Two-factor Authentication
two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
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_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_regenerate_recovery_codes=Regenerate Recovery Codes
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_disable_title=Disable Two-factor Authentication
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_enable=Etkin
two_factor_disable=Devre dışı
two_factor_view_recovery_codes=Görüntüle ve güvenli bir yere </a> kurtarma kodlarınızı <a href="%s%s"><a href="%s%s"><a href="%s%s"> kaydedin. Eğer kimlik doğrulama uygulamanız için erişimi kaybetmişseniz bunları şifre kodu olarak kullanabilirsiniz.
two_factor_http=HTTP/HTTPS işlemleri için , artık düz kullanıcı adı ve şifre kullanamazsınız. Lütfen oluşturun ve <a href="%[1]s%[2]s"> Kişisel Erişim Jetonu </a> kimlik belgesi olarak kullanın , örneğin <code>%[3]s</code>.
two_factor_enable_title=İki faktörlü Kimlik doğrulamasını Etkinleştir
two_factor_scan_qr=Lütfen resmi taramak için kimlik doğrulama uygulamanızı kullanın:
two_factor_or_enter_secret=Veya parola girin:
two_factor_then_enter_passcode=Daha sonra şifre kodunu girin:
two_factor_verify=Doğrula
two_factor_invalid_passcode=Girdiğiniz şifre kodu geçersiz,lütfen tekrar deneyin!
two_factor_reused_passcode=Girdiğiniz şifre zaten kullanılmış, lütfen başka bir tane deneyin!
two_factor_enable_error=İki faktörlü kimlik doğrulama etkinleştirmesi başarısız :%v
two_factor_enable_success=Hesabınız için iki faktörlü kimlik doğrulama başarıyla devre dışı bırakıldı!
two_factor_recovery_codes_title=İki faktörlü Kimlik doğrulama Kurtarma Kodları
two_factor_recovery_codes_desc=Kurtarma kodları , geçici olarak kimlik doğrulama uygulamanızın erişimini kaybettiğinizde kullanıldı. Herbir kurtarma kodu sadece birkez kullanılablir,<b>lütfen bu kodları güvenli bir yere sakla</b>.
two_factor_regenerate_recovery_codes=Kurtarma Kodlarını Yeniden oluştur
two_factor_regenerate_recovery_codes_error=Kurtarma kodları yeniden oluşturma başarısız: %v
two_factor_regenerate_recovery_codes_success=Yeni kurtarma kodları başarıyla oluşturuldu!
two_factor_disable_title=İki faktörlü Kimlik doğrulama Devre dışı
two_factor_disable_desc=Hesap güvenliği seviyeniz, devre dışı bırakılmış iki faktörlü kimlik doğrulamadan sonra azalacaktır. Devam etmek istiyor musunuz?
two_factor_disable_success=İki faktörlü kimli doğrulama başarıyla devre dışı bırakıldı!
manage_access_token=Kişisel Erişim Anahtarlarını Yönet
generate_new_token=Yeni Erişim Anahtarı Üret
@@ -371,14 +375,14 @@ access_token_deletion=Kişisel Erişim Anahtarını Silme
access_token_deletion_desc=Bu kişisel erişim anahtarını silerseniz uygulamanıza ilişkin tüm erişimler de kaldırılacaktır. Devam etmek istiyor musunuz?
delete_token_success=Kişisel erişim anahtarı başarıyla kaldırıldı! Uygulamanızı güncellemeyi de unutmayın!
orgs.none=You are not a member of any organizations.
orgs.leave_title=Leave organization
orgs.leave_desc=You will lose access to all repositories and teams after you left the organization. Do you want to continue?
orgs.none=Hiçbir organizasyonların üyesi değilsiniz.
orgs.leave_title=Organizasyondan ayrıl
orgs.leave_desc=Organizasyondan ayrıldıktan sonra tüm depolar ve ekiplere erişimi kaybedeceksiniz.Devam etmek istiyor musunuz?
repos.leave=Leave
repos.leave_title=Leave repository
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=Ayrıl
repos.leave_title=Depodan ayrıl
repos.leave_desc=Çıktıktan sonra depo erişimini kaybedeceksiniz.Devam etmek istiyor musunuz?
repos.leave_success='%s' deposundan başarıyla ayrıldınız!
delete_account=Hesabınızı Silin
delete_prompt=Bu işlem hesabınızı kalıcı olarak silecektir ve <strong>GERİ ALINAMAZ</strong>!
@@ -400,7 +404,7 @@ fork_from=Buradan Çatalla
fork_visiblity_helper=Çatallanmış bir deponun görünürlüğünü değiştiremezsiniz.
repo_desc=ıklama
repo_lang=Dil
repo_gitignore_helper=Select .gitignore templates
repo_gitignore_helper=.gitignore şablonlarını seç
license=Lisans
license_helper=Bir lisans dosyası seçin
readme=Benioku
@@ -413,10 +417,12 @@ mirror_prune_desc=Uzakta olmayan bütün uzaktan-izleme referanslarını sil
mirror_interval=Yansı Aralığı (saat)
mirror_address=Yansı Adresi
mirror_address_desc=Lütfen gerekli kimlik bilgilerini adreste bulundurun.
mirror_last_synced=Last Synced
mirror_last_synced=Son Eşzamanlama
watchers=İzleyenler
stargazers=Yıldızlayanlar
forks=Çatallamalar
repo_description_helper=Depo açıklaması. Maksimum 512 karakter uzunluğu.
repo_description_length=Mevcut karakterler
form.reach_limit_of_creation=Sahip, maksimum %d depo oluşturma limitine ulaşmıştır.
form.name_reserved=Depo ismi '%s' başkasına ayrılmış.
@@ -427,8 +433,8 @@ migrate_type=Göç Türü
migrate_type_helper=Bu depo bir <span class="text blue">yansı</span> olacaktır
migrate_repo=Depoyu Göç Ettir
migrate.clone_address=Klon Adresi
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=Bu HTTP/HTTPS/GIT URL'si olabilir.
migrate.clone_address_desc_import_local=Bir depoyu yerel sunucu yolu ile taşımanıza izin verilir.
migrate.permission_denied=Yerel depoları içeri aktarma izniniz yok.
migrate.invalid_local_path=Geçersiz yerel dizin! Böyle bir yol yok ya da bir dizin değil.
migrate.failed=Göç başarısız: %v
@@ -450,9 +456,9 @@ quick_guide=Hızlı Başlangıç Kılavuzu
clone_this_repo=Bu depoyu klonla
create_new_repo_command=Komut satırında yeni bir depo oluştur
push_exist_repo=Var olan bir depoyu komut satırında gönder
bare_message=This repository does not have any content yet.
bare_message=Bu depo henüz hiçbir içeriğe sahip değil.
files=Files
files=Dosyalar
branch=Dal
tree=Ağaç
filter_branch_and_tag=Dal veya biçim imini filtrele
@@ -463,62 +469,63 @@ pulls=Değişiklik İstekleri
labels=Etiketler
milestones=Kilometre Taşları
commits=İşlemeler
git_branches=Branches
git_branches=Bölümler
releases=Sürümler
file_raw=Ham
file_history=Geçmiş
file_view_raw=Ham Görünüm
file_permalink=Kalıcı Bağlantı
file_too_large=Bu dosya sergilenmek için çok büyük
video_not_supported_in_browser=Your browser doesn't support HTML5 video tag.
video_not_supported_in_browser=Tarayıcınız HTML5 video etkiketini desteklemiyor.
branches.overview=Overview
branches.active_branches=Active Branches
branches.stale_branches=Stale Branches
branches.all=All Branches
branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch
branches.overview=Genel görünüm
branches.active_branches=Aktif Bölümler
branches.stale_branches=Eskimiş Bölümler
branches.all=Bütün Bölümler
branches.updated_by=%[2]s tarafından %[1]s güncellendi
branches.change_default_branch=Varsayılan Bölümü Değiştir
editor.new_file=New file
editor.upload_file=Upload file
editor.new_file=Yeni dosya
editor.upload_file=Dosyayı yükle
editor.edit_file=Dosya düzenle
editor.preview_changes=Preview Changes
editor.preview_changes=Değişiklikleri Önizle
editor.cannot_edit_non_text_files=Metin dışı dosyalar düzenlenemez
editor.edit_this_file=Edit this file
editor.must_be_on_a_branch=You must be on a branch to make or propose changes to this file
editor.fork_before_edit=You must fork this repository before editing the file
editor.delete_this_file=Delete this file
editor.must_have_write_access=You must have write access to make or propose changes to this file
editor.file_delete_success=File '%s' has been deleted successfully!
editor.name_your_file=Name your file...
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.or=or
editor.edit_this_file=Bu dosyayı düzenle
editor.must_be_on_a_branch=Bu dosyada değişiklik yapmak için bir bölümde olmalısınız.
editor.fork_before_edit=Dosyayı düzenlemeden önce bu depoyu iki kola ayırmalısınız
editor.delete_this_file=Bu dosyayı sil
editor.must_have_write_access=Bu dosyada değişiklik yapmak için yazma erişiminizin olması gerekir.
editor.file_delete_success=%s dosyası başarıyla silindi!
editor.name_your_file=Dosyanızın adı...
editor.filename_help=Dizin eklemek için, dizini yazın ve / tuşuna basın. Bir dizini kaldırmak için alanın başına gidin ve geri tuşuna basın.
editor.or=veya
editor.cancel_lower=iptal
editor.commit_changes=Commit Changes
editor.add_tmpl=Add '%s/<filename>'
editor.add=Add '%s'
editor.update=Update '%s'
editor.delete=Delete '%s'
editor.commit_message_desc=Add an optional extended description...
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.new_branch_name_desc=New branch name...
editor.commit_changes=Değişiklikleri İşle
editor.add_tmpl='%s/<filename>' ekle
editor.add='%s' ekle
editor.update='%s' güncelle
editor.delete='%s' sil
editor.commit_message_desc=İsteğe bağlı genişletilmiş açıklama ekleyin ...
editor.commit_directly_to_this_branch=Doğrudan <strong class="Branch-name">%s</strong> şubesine geçin.
editor.create_new_branch=Bu taahhüt ve çekme isteği başlatmak için.<strong>yeni şube</strong> oluşturma.
editor.new_branch_name_desc=Yen şube adı...
editor.cancel=İptal
editor.filename_cannot_be_empty=Filename cannot be empty.
editor.branch_already_exists=Branch '%s' already exists in this repository.
editor.directory_is_a_file=Entry '%s' in the parent path is a file not a directory in this repository.
editor.file_is_a_symlink=The file '%s' is a symlink that cannot be modified from the web editor.
editor.filename_is_a_directory=The filename '%s' is an existing directory in this repository.
editor.file_editing_no_longer_exists=The file '%s' you are editing no longer exists in the repository.
editor.file_changed_while_editing=File content has been changed since you started editing. <a target="_blank" href="%s">Click here</a> to see what have been changed or <strong>press commit again</strong> to overwrite those changes.
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.fail_to_update_file=Failed to update/create file '%s' with error: %v
editor.add_subdir=Add subdirectory...
editor.unable_to_upload_files=Failed to upload files to '%s' with error: %v
editor.upload_files_to_dir=Upload files to '%s'
editor.filename_cannot_be_empty=Dosya adı boş olmamalı.
editor.branch_already_exists='% s ' Şubesi bu depoda zaten var.
editor.directory_is_a_file=Üst yoldaki '% s' girişi, bu depoda bir dizini olmayan dosyadır.
editor.file_is_a_symlink='%s' dosyası, web editöründen değiştirilemeyen bir sembolik bağ.
editor.filename_is_a_directory=Dosya adı '%s' bu depoda mevcut bir dizindir.
editor.file_editing_no_longer_exists=Düzenlediğiniz dosya '%s' artık depoda yok.
editor.file_changed_while_editing=Düzenlemeye başladıktan sonra dosya içeriği değiştirildi. Ne değiştiğini görmek için<a target="_blank" href="%s">Buraya tıklayın</a>Bu değişikliklerin üzerine yazmak için.<strong>yeniden yürütmeye basın</strong>.
editor.file_already_exists='% s ' adlı bir dosya mevcutta zaten var.
editor.no_changes_to_show=Gösterilecek bir değişiklik mevcut değil.
editor.fail_to_update_file='%s' dosyası güncellenemedi / oluşturulamadı : %v hatasıyla
editor.fail_to_delete_file='%s' dosyası hatalı bir şekilde silinemedi: %v
editor.add_subdir=Alt dizin Ekle...
editor.unable_to_upload_files='%s' dosyası yüklenemedi : %v hatasıyla
editor.upload_files_to_dir=Dosyaları '%s' ye yükle
commits.commit_history=Commit History
commits.commit_history=Geçmişin Kaydedilmesi
commits.commits=İşlemeler
commits.search=İşleme Arama
commits.find=Bul
@@ -544,11 +551,11 @@ issues.create=Sorun Oluştur
issues.new_label=Yeni Etiket
issues.new_label_placeholder=Etiket adı...
issues.create_label=Etiket Oluştur
issues.label_templates.title=Load a predefined set of labels
issues.label_templates.info=There aren't any labels yet. You can click on the "New Label" button above to create one or use a predefined set below.
issues.label_templates.helper=Select a label set
issues.label_templates.title=Önceden tanımlanmış bir etiket kümesi yükleyin
issues.label_templates.info=Henüz etiket yok. Yeni etiket oluşturmak için aşağıdaki "Yeni Etiket" düğmesine tıklayabilir veya aşağıda önceden tanımlanmış bir kümeyi kullanabilirsiniz.
issues.label_templates.helper=Bir etiket seti seçin
issues.label_templates.use=Use this label set
issues.label_templates.fail_to_load_file=Failed to load label template file '%s': %v
issues.label_templates.fail_to_load_file=Etiket şablon dosyası '%s' yüklenemedi: %v hatasıyla
issues.open_tab=%d açık
issues.close_tab=%d kapanmış
issues.filter_label=Etiket
@@ -590,7 +597,7 @@ issues.commit_ref_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> işlemesinde bu soru
issues.poster=Poster
issues.collaborator=Katkıcı
issues.owner=Sahibi
issues.sign_in_require_desc=<a href="%s">Sign in</a> to join this conversation.
issues.sign_in_require_desc=<a href="%s">Giriş yap</a> bu konuşmaya katılmak için.
issues.edit=Düzenle
issues.cancel=İptal
issues.save=Kaydet
@@ -605,8 +612,8 @@ issues.label_deletion=Etiket Silme
issues.label_deletion_desc=Bu etiketi silerseniz, bu etikete iliştirilmiş sorunlardaki tüm bilgiler de silinecektir. Devam etmek istiyor musunuz?
issues.label_deletion_success=Etiket başarıyla silindi!
issues.num_participants=%d Katılımcı
issues.attachment.open_tab=`Click to see "%s" in a new tab`
issues.attachment.download=`Click to download "%s"`
issues.attachment.open_tab=` "%s '' yi yeni bir sekmede görmek için tıklayın `
issues.attachment.download=`"%s" yi İndirmek için tıklayın `
pulls.new=Yeni Değişiklik İsteği
pulls.compare_changes=Değişiklikleri Karşılaştır
@@ -616,6 +623,7 @@ pulls.compare_compare=karşılaştır
pulls.filter_branch=Dal filtrele
pulls.no_results=Sonuç bulunamadı.
pulls.nothing_to_compare=Karşılaştırılacak hiçbir şey yok, çünkü temel ve ana dal aynı.
pulls.nothing_merge_base=Karşılaştırılacak bir şey yok çünkü iki şubenin tarihi tamamen farklı.
pulls.has_pull_request=`Bu iki hedef için zaten bir değişiklik isteği var: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Değişiklik İsteği Oluştur
pulls.title_desc=<code>%[3]s</code> içindeki <code>%[2]s</code> işlemelerini %[1]d ile birleştirmek istiyor
@@ -631,10 +639,13 @@ pulls.is_checking=Çakışma kontrolü sürüyor. Lütfen birkaç dakika içinde
pulls.can_auto_merge_desc=Bu değişiklik isteği otomatik olarak birleştirilebilir.
pulls.cannot_auto_merge_desc=Çakışmalardan dolayı bu değişiklik isteği otomatik olarak birleştirilemez.
pulls.cannot_auto_merge_helper=Çakışmaları çözmek için lütfen elle birleştirin.
pulls.create_merge_commit=Birleştirme işlemi oluşturma
pulls.rebase_before_merging=Birleştirmeden önce yenidenreferans al
pulls.commit_description=Taahhüt Açıklaması
pulls.merge_pull_request=Değişiklik İsteğini Birleştir
pulls.open_unmerged_pull_exists=`Yeniden açma işlemini gerçekleştiremezsiniz. Çünkü zaten aynı depodan, aynı birleştirme bilgisiyle açık olan bir değişiklik isteği var (#%d) ve birleştirme bekliyor.`
pulls.delete_branch=Delete Branch
pulls.delete_branch_has_new_commits=Branch cannot be deleted because it has new commits after mergence.
pulls.delete_branch=Şubeyi Sil
pulls.delete_branch_has_new_commits=Birleşmeden sonra yeni taahhütlere sahip olduğu için şube silinemez.
milestones.new=Yeni Kilometre Taşı
milestones.open_tab=%d Açık
@@ -685,59 +696,61 @@ settings.collaboration.admin=Yönetici
settings.collaboration.write=Yaz
settings.collaboration.read=Oku
settings.collaboration.undefined=Belirsiz
settings.branches=Branches
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
settings.default_branch=Default Branch
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
settings.update=Update
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.protected_branches=Protected Branches
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers.
settings.choose_a_branch=Choose a branch...
settings.branch_protection=Branch Protection
settings.branch_protection_desc=Please choose protect options for branch <b>%s</b>.
settings.protect_this_branch=Protect this branch
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_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_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_search_users=Search users
settings.protect_whitelist_teams=Teams for which members of them can push to this branch
settings.protect_whitelist_search_teams=Search teams
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
settings.branches=Şubeler
settings.branches_bare=Korunmasız depo için şubeleri yönetemezsiniz. Önce bir miktar içeriği itin.
settings.default_branch=Varsayılan Şube
settings.default_branch_desc=Varsayılan şube , kod taahütleri, çekme talepleri ve çevrimiçi düzenleme için "temel" şube olarak kabul edilir.
settings.update=Güncelle
settings.update_default_branch_unsupported=Varsayılan şubeyi değiştir , sunucu üzerindeki Git sürüm tarafından desteklenmiyor.
settings.update_default_branch_success=Bu deponun varsayılan şubesi başarıyla güncellendi!
settings.protected_branches=Korunan Şubeler
settings.protected_branches_desc=Şubeleri zorla bastırma, yanlışlıkla silme ve beyaz liste kod belirleyicilerine karşı koruyun.
settings.choose_a_branch=Şube seç...
settings.branch_protection=Şube Koruma
settings.branch_protection_desc=Şube için koruma seçeneklerini seçiniz <b>%s</b>.
settings.protect_this_branch=Bu şubeyi koru
settings.protect_this_branch_desc=Kuvveti devre dışı bırak ve silinmesini önler.
settings.protect_require_pull_request=Doğrudan itmek yerine istek istemek gereklidir
settings.protect_require_pull_request_desc=Bu şubeye doğrudan itmeyi devre dışı bırakmak için bu seçeneği etkinleştirin. Komiteler korunmayan bir başka şubeye ittirilmeli ve çekme talebi vasıtasıyla bu şubeye birleştirilmelidir.
settings.protect_whitelist_committers=Beyaz liste , bu şubeye kim itebilir
settings.protect_whitelist_committers_desc=Bu şubeye doğrudan itilen beyaz listeye kişi veya ek ekleyin. Beyaz listeden atlanılacak olan kullanıcılar çekme isteği kontrolüne ihtiyaç duyar.
settings.protect_whitelist_users=Bu şubeye itebilecek kullanıcılar
settings.protect_whitelist_search_users=Kullanıcıları ara
settings.protect_whitelist_teams=Onların üyelerinin bu şubeye itebilecek takımları
settings.protect_whitelist_search_teams=Takımları ara
settings.update_protect_branch_success=Bu şube için koruma seçenekleri başarıyla güncellendi!
settings.hooks=Web İstekleri
settings.githooks=Git İstekleri
settings.basic_settings=Temel Ayarlar
settings.mirror_settings=Mirror Settings
settings.sync_mirror=Sync Now
settings.mirror_sync_in_progress=Mirror syncing is in progress, please refresh page in about a minute.
settings.mirror_settings=Ayna Ayarları
settings.sync_mirror=Şimdi Senkronize Et
settings.mirror_sync_in_progress=Ayna senkronizasyonu devam ediyor, lütfen sayfayı yaklaşık bir dakika içinde yenileyin.
settings.site=Resmi Web Sitesi
settings.update_settings=Ayarları Güncelle
settings.change_reponame_prompt=Bu değişiklik, bağlantıların depoyla olan ilişkisini etkileyecektir.
settings.advanced_settings=Gelişmiş Ayarlar
settings.wiki_desc=Viki sıstemini etkinleştir
settings.use_internal_wiki=Use builtin wiki
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
settings.use_internal_wiki=Yerleşik wiki'yi kullanın
settings.allow_public_wiki_desc=Depo özel olduğunda wiki'ye herkesin erişmesine izin ver
settings.use_external_wiki=Harici Wiki kullan
settings.external_wiki_url=Harici Wiki bağlantısı
settings.external_wiki_url_desc=Ziyaretçiler, sekmeye tıkladıklarında bağlantıya yönlendirilecektir.
settings.issues_desc=Enable issue tracker
settings.use_internal_issue_tracker=Use builtin lightweight issue tracker
settings.allow_public_issues_desc=Allow public access to issues when repository is private
settings.issues_desc=Sorun izleyiciyi etkinleştir
settings.use_internal_issue_tracker=Yerleşik hafif sorun izleyici kullanma
settings.allow_public_issues_desc=Depo özel olduğunda toplulukların herkese açık olarak erişmesine izin ver
settings.use_external_issue_tracker=Harici sorun takipçisi kullan
settings.external_tracker_url=External Issue Tracker URL
settings.external_tracker_url_desc=Visitors will be redirected to URL when they click on the tab.
settings.external_tracker_url=Harici Konu İzleyici URL'si
settings.external_tracker_url_desc=Ziyaretçiler, sekmeye tıkladıklarında bağlantıya yönlendirilecektir.
settings.tracker_url_format=Harici Sorun Takipçisi Bağlantı Formatı
settings.tracker_issue_style=Harici Hata İzleyicisi Adlandırma Stili:
settings.tracker_issue_style.numeric=Sayısal
settings.tracker_issue_style.alphanumeric=Alfanumerik
settings.tracker_url_format_desc=Kullanıcı adı, depo ismi ve hata indeksi için <code>{kullanıcı} {depo} {indeks}</code> tutucusunu kullanabilirsiniz.
settings.pulls_desc=Herkese açık katkıları kabul etmek için değişiklik isteklerini etkinleştirin
settings.pulls_desc=Depolar ve Şubeler arasındaki katkıları kabul etmek için çekme isteklerini etkinleştir
settings.pulls.ignore_whitespace=Boşluktaki değişiklikleri yoksay
settings.pulls.allow_rebase_merge=Taahhütleri birleştirmek için yeniden tabanın kullanmasına izin ver
settings.danger_zone=Tehlike Alanı
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
settings.cannot_fork_to_same_owner=Bir depoyu orijinal sahibine ayıramazsınız.
settings.new_owner_has_same_repo=Yeni sahibin aynı isimde başka bir deposu var. Lütfen farklı bir isim seçin.
settings.convert=Düzenli Depoya Dönüştür
settings.convert_desc=Bu yansıyı düzenli bir depoya dönüştürebilirsiniz. Bu işlem geri alınamaz.
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=Deponun Wiki verisi başarıyla silindi.
settings.delete=Bu Depoyu Sil
settings.delete_desc=Bir depoyu bir kez sildiğiniz taktirde geri getiremezsiniz. Lütfen emin olun.
settings.delete_notices_1=- Bu işlem geri <strong>ALINAMAZ</strong>.
settings.delete_notices_2=- Bu işlem, bu depodaki her şeyi (Git verisini, sorunları, yorumları ve katkıcı erişimlerini) kalıcı olarak silecektir.
settings.delete_notices_2=- Bu işlem, git verileri, sorunlar, yorumlar ve işbirlikçi erişimi de dahil olmak üzere bu depodaki her şeyi kalıcı olarak siler.
settings.delete_notices_fork_1=Silme işleminden sonra bütün çatallar bağımsız hale gelir.
settings.deletion_success=Depo başarıyla silindi!
settings.update_settings_success=Depo seçenekleri başarıyla güncellendi.
@@ -780,8 +793,8 @@ settings.webhook_deletion_success=Web isteği başarıyla silindi!
settings.webhook.test_delivery=Test Dağıtımı
settings.webhook.test_delivery_desc=Web isteği ayarlarınızı test etmek için sahte bir anlık olay gönderin
settings.webhook.test_delivery_success=Test web isteği, dağıtım kuyruğuna eklendi. Bunun dağıtım geçmişinde görünmesi birkaç saniye sürebilir.
settings.webhook.redelivery=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=Yeniden teslimat
settings.webhook.redelivery_success=Kanca görev '%s' teslim kuyruğuna eklenmiştir. Bu tarihte teslim durumunu güncellemek birkaç saniye sürebilir.
settings.webhook.request=İstekler
settings.webhook.response=Cevaplar
settings.webhook.headers=Başlıklar
@@ -796,7 +809,7 @@ settings.add_webhook_desc=Gogs, meydana gelen olay ile birlikte belirttiğiniz b
settings.payload_url=Yük Bağlantısı
settings.content_type=İçerik Türü
settings.secret=Gizli
settings.secret_desc=Secret will be sent as SHA256 HMAC hex digest of payload via <code>X-Gogs-Signature</code> header.
settings.secret_desc=Gizli, <code>X-Gogs-Signature</code> başlığı ile SHA256 hmac hexdigest yükü olarak gönderilecektir.
settings.slack_username=Kullanıcı Adı
settings.slack_icon_url=Simge Bağlantısı
settings.slack_color=Renk
@@ -806,20 +819,20 @@ settings.event_send_everything=<strong>Her şeye</strong> ihtiyacım var.
settings.event_choose=Neye ihtiyacım olduğunu seçtir.
settings.event_create=Oluştur
settings.event_create_desc=Dal veya biçim imi oluşturuldu
settings.event_delete=Delete
settings.event_delete_desc=Branch or tag deleted
settings.event_fork=Fork
settings.event_fork_desc=Repository forked
settings.event_delete=Sil
settings.event_delete_desc=Dal veya etiket silindi
settings.event_fork=Çatalla
settings.event_fork_desc=Depo çatallandı
settings.event_push=Push
settings.event_push_desc=Bir depoya git push
settings.event_issues=Issues
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_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
settings.event_release=Release
settings.event_release_desc=Release published in a repository.
settings.event_issues=Sorunlar
settings.event_issues_desc=Sorun açıldı, kapatıldı, yeniden açıldı, düzenlendi, atandı, atanmadı, etiket güncellendi, etiket silindi, dönüm noktası yapıldı ya da iptal edildi.
settings.event_pull_request=İstek Çek
settings.event_pull_request_desc=Çekme isteği açıldı, kapatıldı, yeniden açıldı, düzenlendi, atandı, atanmamış, etiket güncellendi, etiket silindi, kilometre taşları, dönüm noktası veya senkronize edildi.
settings.event_issue_comment=Sorun Yorumu
settings.event_issue_comment_desc=Konu yorumu eklendi, düzenlendi veya silindi.
settings.event_release=Yayın
settings.event_release_desc=Bir depoda yayınlanan sürüm.
settings.active=Aktif
settings.active_helper=Bu isteği tetikleyen olaya ilişkin detaylar da gönderilecektir.
settings.add_hook_success=Yeni web isteği eklendi.
@@ -829,12 +842,13 @@ settings.delete_webhook=Web İsteğini Sil
settings.recent_deliveries=Son Dağıtımlar
settings.hook_type=İstek Türü
settings.add_slack_hook_desc=Deponuza <a href="%s">Slack</a> entegrasyonunu ekleyin.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_discord_hook_desc=Deponuza <a href="%s">Discord</a> entegrasyonu ekleyin.
settings.add_dingtalk_hook_desc=Deponuza <a href="%s">Dingtalk</a> entegrasyonu ekleyin.
settings.slack_token=Erişim Anahtarı
settings.slack_domain=Alan Adı
settings.slack_channel=Kanal
settings.deploy_keys=Dağıtım Anahtarları
settings.deploy_keys_helper=<b>Common Gotcha!</b> If you're looking for adding personal public keys, please add them in your <a href="%s%s">account settings</a>.
settings.deploy_keys_helper=<b>Ortak Gotcha!</b> Kişisel ortak anahtarlar eklemek istiyorsanız lütfen bunları <a href="%s%s">hesap ayarlarınıza</a> ekleyin.
settings.add_deploy_key=Dağıtım Anahtarı Ekle
settings.deploy_key_desc=Dağıtım anahtarlarının yalnızca okuma izni vardır. Kişisel hesapların SSH anahtarlarıyla aynı değillerdir.
settings.no_deploy_keys=Herhangi bir dağıtım anahtarı eklemediniz.
@@ -846,6 +860,8 @@ settings.add_key_success=Yeni dağıtım anahtarı '%s' başarıyla eklendi!
settings.deploy_key_deletion=Dağıtım Anahtarını Sil
settings.deploy_key_deletion_desc=Bu dağıtım anahtarını silerseniz bu depoya ilişkin tüm erişimler de kaldırılacaktır. Devam etmek istiyor musunuz?
settings.deploy_key_deletion_success=Dağıtım anahtarı başarıyla silindi!
settings.description_desc=Depo açıklaması. Maksimum 512 karakter uzunluğu.
settings.description_length=Mevcut karakterler
diff.browse_source=Kaynağa Gözat
diff.parent=ebeveyn
@@ -912,7 +928,7 @@ team_permission_desc=Bu takım, ne gibi bir izin seviyesine sahiptir?
form.name_reserved=Organizasyon adı '%s' başka birisine ayrılmış.
form.name_pattern_not_allowed=Organizasyon adı modeli '%s' geçersiz.
form.team_name_reserved=Team name '%s' is reserved.
form.team_name_reserved='%s' takım ismi başka birine ayrılmış.
settings=Ayarlar
settings.options=Seçenekler
@@ -1003,8 +1019,8 @@ dashboard.git_gc_repos=Depolarda çöp toplama işlemini gerçekleştir
dashboard.git_gc_repos_success=Tüm depolarda çöp toplama işlemi başarıyla gerçekleştirildi.
dashboard.resync_all_sshkeys='.ssh/authorized_keys' dosyasını yeniden yaz (dikkat: Gogs'un olmayan anahtarlar silinecektir)
dashboard.resync_all_sshkeys_success=Tüm genel anahtarlar başarıyla yeniden yazıldı.
dashboard.resync_all_hooks=Resync pre-receive, update and post-receive hooks of all repositories
dashboard.resync_all_hooks_success=All repositories' pre-receive, update and post-receive hooks have been resynced successfully.
dashboard.resync_all_hooks=Tüm depoların yeniden alımı, güncellemesi ve gönderi alım kancalarını yeniden senkronize et
dashboard.resync_all_hooks_success=Tüm depoların önceden alımı, güncellemesi ve gönderi alımı kancaları başarıyla senkronize edildi.
dashboard.reinit_missing_repos=Git dosyalarını kaybetmiş tüm depoları yeniden oluştur
dashboard.reinit_missing_repos_success=Git dosyalarını kaybetmiş tüm depolar başarıyla yeniden oluşturuldu.
@@ -1079,13 +1095,14 @@ repos.private=Özel
repos.watches=İzlemeler
repos.stars=Yıldızlar
repos.issues=Sorunlar
repos.size=Size
repos.size=Boyut
auths.auth_manage_panel=Yetkilendirme Yönetim Paneli
auths.auth_sources=Yetkilendirme Kaynakları
auths.new=Yeni Kaynak Ekle
auths.name=İsim
auths.type=Tür
auths.enabled=Aktifleştirilmiş
auths.default=Varsayılan
auths.updated=Güncellendi
auths.auth_type=Yetki Türü
auths.auth_name=Yetki İsmi
@@ -1094,20 +1111,21 @@ auths.domain=Alan Adı
auths.host=Sunucu
auths.port=Port
auths.bind_dn=Bağlama DN'i
auths.bind_dn_helper=Kullanıcı adı için yer tutucu olarak '%s' kullanabilirsiniz, Örneğin DOM\%s
auths.bind_password=Bağlama Parolası
auths.bind_password_helper=Uyarı: Bu parola, ham halde bir metin dosyası içerisinde saklanacaktır. Yüksek izinli bir hesap kullanmayın.
auths.user_base=Kullanıcı Arama Tabanı
auths.user_dn=Kullanıcı DN'i
auths.attribute_username=Kullanıcı özelliği
auths.attribute_username_placeholder=Kullanıcı adı için giriş yapma form alanı kullanmak için boş bırakın.
auths.attribute_name=First Name Attribute
auths.attribute_name=İlk Ad Özelliği
auths.attribute_surname=Soyad özelliği
auths.attribute_mail=E-posta özelliği
auths.verify_group_membership=Verify group membership
auths.group_search_base_dn=Group Search Base DN
auths.group_filter=Group Filter
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
auths.user_attribute_listed_in_group=User Attribute Listed in Group
auths.verify_group_membership=Grup üyeliğini doğrula
auths.group_search_base_dn=Grup Arama Tabanı DN
auths.group_filter=Grup Filtresi
auths.group_attribute_contain_user_list=Kullanıcı Listesi İçeren Grup Özelliği
auths.user_attribute_listed_in_group=Grupta Listelenen Kullanıcı Özelliği
auths.attributes_in_bind=Bağlı DN tabanındaki özellikleri çek
auths.filter=Kullanıcı Filtresi
auths.admin_filter=Yönetici Filtresi
@@ -1121,9 +1139,9 @@ auths.enable_tls=TLS Şifrelemeyi Aktifleştir
auths.skip_tls_verify=TLS Doğrulamasını Atla
auths.pam_service_name=PAM Servis Adı
auths.enable_auto_register=Otomatik Kaydolmayı Aktifleştir
auths.tips=İpuçları
auths.edit=Yetkilendirme Ayarlarını Düzenle
auths.activated=Bu yetkilendirme aktif
auths.default_auth=Bu kimlik doğrulama varsayılan giriş kaynağıdır
auths.new_success=Yeni yetkilendirme '%s' başarıyla eklendi.
auths.update_success=Yetkilendirme ayarları başarıyla güncellendi.
auths.update=Yetkilendirme Ayarlarını Güncelle
@@ -1132,8 +1150,9 @@ auths.delete_auth_title=Yetkilendirme Silme
auths.delete_auth_desc=Bu yetkilendirme silinecek. Devam etmek istiyor musunuz?
auths.still_in_used=Bu yetkilendirme hala bazı kullanıcılar tarafından kullanılıyor. Lütfen öncelikle bunları silin ya da başka oturum açma türlerine çevirin.
auths.deletion_success=Yetkilendirme başarıyla silindi!
auths.login_source_exist=Login source '%s' already exists.
auths.login_source_exist='%s' giriş kaynağı zaten mevcut.
config.not_set=(ayarlı değil)
config.server_config=Sunucu Yapılandırması
config.app_name=Uygulama Adı
config.app_ver=Uygulama Sürümü
@@ -1143,7 +1162,7 @@ config.offline_mode=Çevrim Dışı Modu
config.disable_router_log=Yönlendirici Log'larını Devre Dışı Bırak
config.run_user=Çalıştırma Kullanıcısı
config.run_mode=Çalıştırma Modu
config.git_version=Git Version
config.git_version=Git Sürümü
config.static_file_root_path=Sabit Dosya Kök Yolu
config.log_file_root_path=Log Dosyası Kök Yolu
config.reverse_auth_user=Tersine Yetkilendirme Kullanıcısı
@@ -1155,20 +1174,24 @@ config.ssh_domain=Alan Adı
config.ssh_port=Port
config.ssh_listen_port=Port'u Dinle
config.ssh_root_path=Kök Yol
config.ssh_rewrite_authorized_keys_at_start=Başlangıçta yetkili anahtarları yeniden yaz
config.ssh_key_test_path=Anahtar Test Yolu
config.ssh_keygen_path=Keygen ('ssh-keygen') Yolu
config.ssh_minimum_key_size_check=Minimum Anahtar Uzunluğu Kontrolü
config.ssh_minimum_key_sizes=Minimum Anahtar Uzunlukları
config.repo_config=Repository Configuration
config.repo_config=Depo Yapılandırması
config.repo_root_path=Depo Kök Yolu
config.script_type=Betik Türü
config.repo_force_private=Force Private
config.max_creation_limit=Max Creation Limit
config.preferred_licenses=Preferred Licenses
config.disable_http_git=Disable HTTP Git
config.enable_local_path_migration=Enable Local Path Migration
config.commits_fetch_concurrency=Commits Fetch Concurrency
config.repo_force_private=Özel Kuvvet
config.max_creation_limit=Maksimum Oluşturma Sınırı
config.preferred_licenses=Tercih Edilen Lisanslar
config.disable_http_git=HTTP Git'i devre dışı bırak
config.enable_local_path_migration=Yerel Yol Geçişi Etkinleştir
config.commits_fetch_concurrency=Eşzamanlılık Alma Taahhüdü
config.http_config=HTTP Yapılandırması
config.http_access_control_allow_origin=Erişim Kontrolü Kaynağına İzin Ver
config.db_config=Veritabanı Yapılandırması
config.db_type=Türü
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=TLS Doğrulamasını Atla
config.mailer_config=Mailer Yapılandırması
config.mailer_enabled=Aktif
config.mailer_disable_helo=HELO'yu Devre Dışı Bırak
config.mailer_name=İsim
config.mailer_subject_prefix=Konu Öneki
config.mailer_host=Sunucu
config.mailer_user=Kullanıcı
config.send_test_mail=Test E-Postası Gönder
@@ -1227,23 +1250,23 @@ config.cookie_life_time=Çerez Yaşam Zamanı
config.picture_config=Resim Yapılandırması
config.picture_service=Resim Servisi
config.disable_gravatar=Gravatar Hizmet Dışı
config.enable_federated_avatar=Enable Federated Avatars
config.enable_federated_avatar=Birleştirilmiş Avatarları Etkinleştir
config.git_config=Git Configuration
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_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=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.git_config=Git Yapılandırması
config.git_disable_diff_highlight=Diff İşlemi Sözdizimini Devre Dışı Bırak
config.git_max_diff_lines=Maksimum Ayırma Hatları (tek bir dosya için)
config.git_max_diff_line_characters=Maksimum Ayırma Karakterleri(tek bir hat için)
config.git_max_diff_files=Maksimum Ayırma Dosyaları(gösterilmek için)
config.git_gc_args=GC Tartışmaları
config.git_migrate_timeout=Geçiş Zaman Aşımı
config.git_mirror_timeout=Yansımayı Güncelle Zaman Aşımı
config.git_clone_timeout=Klon Çalışma Zaman Aşımı
config.git_pull_timeout=Çekme İşlemi Zaman Aşımı
config.git_gc_timeout=GC İşlem Zaman Aşımı
config.log_config=Log Yapılandırması
config.log_mode=Mode
config.log_options=Options
config.log_mode=Mod
config.log_options=Seçenekler
monitor.cron=Cron Görevleri
monitor.name=İsim
@@ -1272,7 +1295,6 @@ notices.delete_success=Sistem bildirimleri başarıyla silindi.
[action]
create_repo=depo <a href="%s">%s</a> oluşturuldu
fork_repo=forked a repository to <a href="%s">%s</a>
rename_repo=<code>%[1]s</code> olan depo adını <a href="%[2]s">%[3]s</a> buna çevirdi
commit_repo=<a href="%[1]s">%[4]s</a> zamanında <a href="%[1]s/src/%[2]s">%[3]s</a> buraya push yaptı
compare_commits=Bu %d işlemeler için karşılaştırmaları görüntüle
@@ -1285,10 +1307,14 @@ create_pull_request=`<a href="%s/pulls/%s">%s#%[2]s</a> değişiklik isteğini o
close_pull_request=`<a href="%s/pulls/%s">%s#%[2]s</a> değişiklik isteğini kapattı`
reopen_pull_request=`<a href="%s/pulls/%s">%s#%[2]s</a> değişiklik isteğini tekrar açtı`
merge_pull_request=`<a href="%s/pulls/%s">%s#%[2]s</a> değişim isteğini birleştirdi`
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>
create_branch=<a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> yeni şubesi oluşturuldu
delete_branch=<code>%[2]s</code> 'ın <a href="%[1]s">%[3]s</a> şubesi silindi
push_tag=etiket <a href="%s/src/%s">%[2]s</a> <a href="%[1]s">%[3]s</a>'a itelendi
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
delete_tag=<code>%[2]s</code> 'ın <a href="%[1]s">%[3]s</a> etiketi silindi
fork_repo=<a href="%s">%s</a> için bir depo çatalladı
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]
ago=önce

View File

@@ -1,4 +1,4 @@
app_desc=Зручний сервіс власного Git хостінгу, написаний на Go
app_desc=Зручний сервіс власного Git хостінгу
home=Головна сторінка
dashboard=Щиток
@@ -73,7 +73,7 @@ run_user_helper=Користувач мусить мати доступ до к
domain=Домен
domain_helper=Це впливає на клонування через SSH.
ssh_port=SSH порт
ssh_port_helper=Номер порту, який використовує SSH сервер. Для заборони опції SSH залиште його пустим.
ssh_port_helper=Номер порту, який використовує SSH сервер. Для заборони опції SSH залиште його порожнім.
use_builtin_ssh_server=Користуватися вбудованим SSH сервером
use_builtin_ssh_server_popup=Запустити вбудований SSH сервер для операцій git інакший за системний SSH демон.
http_port=Порт HTTP
@@ -151,6 +151,8 @@ register_hepler_msg=Вже зареєстровані? Увійдіть зара
social_register_hepler_msg=Вже зареєстровані? Прив'яжіть зараз!
disable_register_prompt=Вибачте, реєстрація відключена. Будь ласка, зв'яжіться з адміністратором сайту.
disable_register_mail=На жаль, підтвердження реєстрації на електрону пошту було відключено.
auth_source=Джерело автентифікації
local=Локальний
remember_me=Запам'ятати мене
forgot_password=Забув пароль
forget_password=Забули пароль?
@@ -229,6 +231,7 @@ org_name_been_taken=Назва організаціі вже використо
team_name_been_taken=Назва команди вже використовується.
email_been_used=Адреса електронної пошти вже використовується.
username_password_incorrect=Ім'я користувача або пароль помилкові.
auth_source_mismatch=Обране джерело автентифікації не асоційовано з користувачем.
enterred_invalid_repo_name=Переконайтеся, що ви ввели назву сховища правильно.
enterred_invalid_owner_name=Переконайтеся, що ви ввели ім'я власника правильно.
enterred_invalid_password=Переконайтеся, що ви ввели пароль правильно.
@@ -316,7 +319,7 @@ add_email_success=Вашу нову адресу електронної пошт
manage_ssh_keys=Керувати ключами SSH
add_key=Додати ключ
ssh_desc=Це список ключів SSH, пов'язані з вашим обліковим записом. Видаліть будь-які ключі, які не є вашими.
ssh_desc=Це список ключів SSH, пов'язані з вашим обліковим записом. Ці ключі дозволять кому завгодно отримувати доступ до вашого репозиторію, тож будьте певні що ви впізнаєте їх.
ssh_helper=<strong>Потрібна допомога?</strong> Дивіться гід на GitHub з <a href="%s"> генерації ключів SSH</a> або виправлення <a href="%s">типових неполадок SSH</a>.
add_new_key=Додати SSH ключа
ssh_key_been_used=Було використано публічний ключ.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Або введіть секрет:
two_factor_then_enter_passcode=Потім введіть пароль:
two_factor_verify=Перевірити
two_factor_invalid_passcode=Введений пароль не валідний, будь ласка, спробуйте ще раз!
two_factor_reused_passcode=Введений пасскод вже було використано. Будь ласка, спробуйте інший!
two_factor_enable_error=Увімкнення двофакторної автентифікації не вдалося: %v
two_factor_enable_success=Двофакторну автентифікацію успішно активовано для вашого акаунту!
two_factor_recovery_codes_title=Пароль відновлення для двофакторної автентифікації
@@ -368,7 +372,7 @@ generate_token=Створити жетон
generate_token_succees=Новий жетон було створено успішно! Переконайтеся, що Ви скопіювали Ваш новий жетон доступу. Ви не зможете побачити його знову!
delete_token=Видалити
access_token_deletion=Видалення токену персонального доступу
access_token_deletion_desc=Видалення цього токену призведе до видалення усіх пов’язаних доступів додатку. Продовжити?
access_token_deletion_desc=Видалення цього токену призведе до неможливості доступу усіх пов’язаних додатків. Продовжити?
delete_token_success=Персональний токен було видалено. Не забудьте перевірити ваш додаток.
orgs.none=Ви не є членом будь-якої організації.
@@ -397,7 +401,7 @@ visiblity_fork_helper=(Зміна даного значення вплине н
clone_helper=Потрібна допомога у клонуванні? Відвідайте <a target="_blank" href="%s"> допомогу</a>!
fork_repo=Відгалужити репозиторій
fork_from=Відгалужити з
fork_visiblity_helper=Не можна змінити видимість відгалуженого репозиторія
fork_visiblity_helper=Не можна змінити видимість відгалуженого репозиторія.
repo_desc=Опис
repo_lang=Мова
repo_gitignore_helper=Виберіть .gitignore файли
@@ -410,13 +414,15 @@ create_repo=Створити репозиторій
default_branch=Головна гілка
mirror_prune=Підчищати
mirror_prune_desc=Видалити всі відслідковувані посилання, які більше не існують на віддаленому
mirror_interval=Інтервал джеркалювання (години)
mirror_interval=Інтервал дзеркалювання (години)
mirror_address=Адреса дзеркала
mirror_address_desc=Будь ласка, вкажіть необхідні дані користувача у адресі.
mirror_last_synced=Востаннє синхронізовано
watchers=Спостерігачі
stargazers=Шанувальники
forks=Відгалуження
repo_description_helper=Опис репозиторію. До 512-ти символів довжиною.
repo_description_length=Доступні символи
form.reach_limit_of_creation=Власник досягнув максимальної кількості у %d створених репозиторіїв.
form.name_reserved=Назва репозиторія '%s' зарезервовано.
@@ -491,7 +497,7 @@ editor.delete_this_file=Видалити цей файл
editor.must_have_write_access=Ви повинні мати доступ на запис щоб запропонувати зміни до цього файлу
editor.file_delete_success=Файл '%s' успішно видалено!
editor.name_your_file=Дайте назву файлу...
editor.filename_help=Щоб додати каталог, просто наберіть його ім'я, та натисніть /. Щоб видалити каталог, перейдіь на початок поля й натисніть клавішу backspace.
editor.filename_help=Щоб додати каталог, просто наберіть його ім'я, та натисніть /. Щоб видалити каталог, перейдіть на початок поля й натисніть клавішу backspace.
editor.or=Або
editor.cancel_lower=Скасувати
editor.commit_changes=Зафіксувати зміни
@@ -514,6 +520,7 @@ editor.file_changed_while_editing=Вміст файлу було змінено
editor.file_already_exists=Файл на ім'я '%s' вже присутній у репозиторії.
editor.no_changes_to_show=Нема змін для показу.
editor.fail_to_update_file=Не вдалося оновити/створити файл '%s' через помилку: %v
editor.fail_to_delete_file=Не вдалося видалити файл '%s' через помилку: %v
editor.add_subdir=Додати підкаталогу...
editor.unable_to_upload_files=Не вдалося завантажити файли до '%s' через помилку: %v
editor.upload_files_to_dir=Завантажувати файли до '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=compare
pulls.filter_branch=Фільтрувати гілку
pulls.no_results=Результатів не знайдено.
pulls.nothing_to_compare=Нічого порівнювати, бо base та head гілки однакові.
pulls.nothing_merge_base=Нічого порівнювати, бо обидві гілки мають повністю різну історію.
pulls.has_pull_request=`Вже є pull request між ціми двома цілями: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Створити pull request
pulls.title_desc=хоче злити %[1]d комітів з <code>%[2]s</code> до <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=Перевірка конфліктів продовжуєть
pulls.can_auto_merge_desc=Цей запрос може бути влитий автоматично.
pulls.cannot_auto_merge_desc=Цей запрос не може бути влитий автоматично, тому що він має конфлікти.
pulls.cannot_auto_merge_helper=Будь ласка влийте вручну щоб врегулювати конфлікти.
pulls.create_merge_commit=Створити коміт на злиття
pulls.rebase_before_merging=Перебазувати перед об'єднанням
pulls.commit_description=Опис коміту
pulls.merge_pull_request=Влити запрос на злиття
pulls.open_unmerged_pull_exists=`Ви не можете перевідкрити, бо вже існує запрос на злиття (#%d) з того самого репозиторію, з тією самою інформацією про злиття, та він очікує на влиття.`
pulls.delete_branch=Видалити гілку
@@ -657,7 +668,7 @@ milestones.cancel=Скасувати
milestones.modify=Змінити етап
milestones.edit_success=Зміни в етапі '%s' успішно збережені!
milestones.deletion=Видалення етапу
milestones.deletion_desc=Видалення цього єтапу призведе до видалення інформації, його та пов'язаних проблем. Ви справді хочете продовжити?
milestones.deletion_desc=Видалення цього етапу призведе до видалення інформації, його та пов'язаних проблем. Ви справді хочете продовжити?
milestones.deletion_success=Етап успішно видалено!
wiki=Wiki
@@ -735,10 +746,12 @@ settings.tracker_issue_style=Стиль найменування задач в
settings.tracker_issue_style.numeric=Цифровий
settings.tracker_issue_style.alphanumeric=Буквено-цифровий
settings.tracker_url_format_desc=Ви можете використовувати заповнювач <code>{user} {repo} {index}</code> для ім'я користувача, назви репозиторію на номеру проблеми.
settings.pulls_desc=Увімкнути публічні запроси на злиття
settings.pulls_desc=Увімкнути запити на злиття щоб дозволити внески між репозиторіями й гілками
settings.pulls.ignore_whitespace=Ігнорувати зміни у пробільних символах
settings.pulls.allow_rebase_merge=Дозволити перебазування для merge-комітів
settings.danger_zone=Небезпечна зона
settings.cannot_fork_to_same_owner=Ви не можете клонувати репозиторій його ж власнику.
settings.new_owner_has_same_repo=Новий власник вже має репозиторій з такою назвою.
settings.new_owner_has_same_repo=Новий власник вже має репозиторій з такою назвою. Будь ласка, виберіть іншу.
settings.convert=Перетворити на звичайний репозиторій
settings.convert_desc=Ви можете сконвертувати це дзеркало у звичайний репозиторій. Це не може бути повернуто.
settings.convert_notices_1=- Ця операція перетворить дзеркало на звичайний репозиторій та не зможе бути відмінена.
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=Wiki-інформацію було вдало в
settings.delete=Видалити цей репозиторій
settings.delete_desc=Як тільки ви видалите репозиторій, то вже не буде шляху назад. Будь ласка, будьте певні.
settings.delete_notices_1=- Ця операція <strong>НЕ МОЖЕ</strong> бути відмінена.
settings.delete_notices_2=- Ця операція остаточно видалить увесь вміст репозиторію, включаючи git-дані, проблеми, коментарі та дозволи співавторів.
settings.delete_notices_2=- Ця операція остаточно видалить весь вміст цього репозиторію, включаючи дані Git, проблеми, коментарі та дозволи співавторів.
settings.delete_notices_fork_1=- Усі відгалудження стануть незалежними бісля видалення.
settings.deletion_success=Репозиторій успішно видалено!
settings.update_settings_success=Налаштування репозиторію було вдало оновлено.
@@ -814,10 +827,10 @@ settings.event_push=Push
settings.event_push_desc=Git push до репозиторію
settings.event_issues=Проблеми
settings.event_issues_desc=Проблему відкрито, закрито, перевідкрито, відредаговано, призначено, відкріплено, змінено мітку, очищено мітку, створено етап, очищено етап.
settings.event_issue_comment=Коментар проблеми
settings.event_issue_comment_desc=Коментар проблеми створено, видалено чи відредаговано.
settings.event_pull_request=Запити до злиття
settings.event_pull_request_desc=Запрос на злиття відкрито, закрито, перевідкрито, прикріплено, відкріплено, оновлено мітку, очищено мітку, створено етап, очищено етап або синхронізовано.
settings.event_issue_comment=Коментар проблеми
settings.event_issue_comment_desc=Коментар проблеми створено, видалено чи відредаговано.
settings.event_release=Реліз
settings.event_release_desc=Реліз опубліковано у репозиторії.
settings.active=Активний
@@ -830,13 +843,14 @@ settings.recent_deliveries=Недавні розсилки
settings.hook_type=Тип хуку
settings.add_slack_hook_desc=Додати <a href="%s">Slack</a>-інтеграцію до вашого репозиторію.
settings.add_discord_hook_desc=Додати <a href="%s">Discord</a>-інтеграцію до репозиторію.
settings.slack_token=Жетон
settings.add_dingtalk_hook_desc=Додати інтеграцію <a href="%s">Dingtalk</a> до вашого репозиторію.
settings.slack_token=Токен
settings.slack_domain=Домен
settings.slack_channel=Канал
settings.deploy_keys=Ключи для розгортування
settings.deploy_keys_helper=<b>Common Gotcha!</b> Якщо ви шукаєте куди додати персональний публічний ключ, додайте його до <a href="%s%s">налаштуань вашого аккаунту</a>.
settings.deploy_keys_helper=<b>Common Gotcha!</b> Якщо ви шукаєте куди додати персональний публічний ключ, додайте його до <a href="%s%s">налаштувань вашого аккаунту</a>.
settings.add_deploy_key=Додати ключ для розгортування
settings.deploy_key_desc=Ключи розгортування доступні лише для читання. Це не те саме, що персональний SSH ключ аккаунту.
settings.deploy_key_desc=Ключі розгортування доступні лише для читання. Це не те саме, що персональний SSH ключ акаунту.
settings.no_deploy_keys=Ви не додали жодного ключа для розгортування.
settings.title=Заголовок
settings.deploy_key_content=Контент
@@ -844,8 +858,10 @@ settings.key_been_used=Вміст ключа розгортування вже
settings.key_name_used=Ключ розгортування має ім'я яке вже використано.
settings.add_key_success=Новий ключ розгортування '%s' успішно додано!
settings.deploy_key_deletion=Видалити ключ для розгортування
settings.deploy_key_deletion_desc=Видалення цього ключа для розгортування призведе о видалення усіх повїязаних прав до цього репозитрію. Ви справді бажаєти продовжити?
settings.deploy_key_deletion_desc=Видалення цього ключа для розгортування призведе о видалення усіх пов'язаних прав до цього репозиторію. Ви справді бажаєте продовжити?
settings.deploy_key_deletion_success=Ключі для розгортування було успішно видалено!
settings.description_desc=Опис репозиторію. До 512-ти символів довжиною.
settings.description_length=Доступні символи
diff.browse_source=Переглянути джерело
diff.parent=батько
@@ -1081,11 +1097,12 @@ repos.stars=У обраному
repos.issues=Питання
repos.size=Розмір
auths.auth_manage_panel=Керування автентифікацій
auths.auth_sources=Джерела автентифікації
auths.new=Додати нове джерело
auths.name=Назва
auths.type=Тип
auths.enabled=Увімкнено
auths.default=За замовчанням
auths.updated=Оновлено
auths.auth_type=Тип автентифікації
auths.auth_name=Назва автентифікації
@@ -1094,6 +1111,7 @@ auths.domain=Домен
auths.host=Хост
auths.port=Порт
auths.bind_dn=Прив'язати DN
auths.bind_dn_helper=Ви можете використовувати '%s' як шаблон для імені користувача, напр. DOM\%s
auths.bind_password=Прив'язати пароль
auths.bind_password_helper=Увага: Цей пароль зберігається як звичайний текст. Не використовуйте профіль з високими повноваженнями.
auths.user_base=База пошуку користувачів
@@ -1116,14 +1134,14 @@ auths.smtp_auth=Тип автентифікації SMTP
auths.smtphost=SMTP хост
auths.smtpport=SMTP порт
auths.allowed_domains=Дозволені домени
auths.allowed_domains_helper=Залиште пустим щоб дозволити будь-які домени. Якщо доменів декілька - розділить їх комами ','.
auths.allowed_domains_helper=Залиште порожнім щоб дозволити будь-які домени. Якщо доменів декілька - розділить їх комами ','.
auths.enable_tls=Увімкнути TLS-шифрування
auths.skip_tls_verify=Пропустити перевірку TLS
auths.pam_service_name=Ім'я служби PAM
auths.enable_auto_register=Увімкнути автоматичну реєстрацію
auths.tips=Поради
auths.edit=Редагувати налаштування автентифікації
auths.activated=Цю автентифікацію активовано
auths.default_auth=Це метод автентифікації за замовчанням
auths.new_success=Нову автентифікацію '%s' було успішно додано.
auths.update_success=Налаштування автентифікації було успішно оновлено.
auths.update=Оновити налаштування автентифікації
@@ -1134,6 +1152,7 @@ auths.still_in_used=Цю автентифікацію ще використов
auths.deletion_success=Автентивікацію було успішно видалено!
auths.login_source_exist=Джерело входу '%s' вже існує.
config.not_set=(не встановлено)
config.server_config=Конфігурація сервера
config.app_name=Назва програми
config.app_ver=Версія програми
@@ -1155,6 +1174,7 @@ config.ssh_domain=Домен
config.ssh_port=Порт
config.ssh_listen_port=Порт що прослуховується
config.ssh_root_path=Шлях до кореню
config.ssh_rewrite_authorized_keys_at_start=Переписати authorized_keys на початку
config.ssh_key_test_path=Шлях до тестових ключів
config.ssh_keygen_path=Шлях до генератора ключів ('ssh-keygen')
config.ssh_minimum_key_size_check=Мінімальний розмір ключа перевірки
@@ -1170,6 +1190,9 @@ config.disable_http_git=Вимкнути HTTP Git
config.enable_local_path_migration=Увімкнути міграцію з локального шляху
config.commits_fetch_concurrency=Запросити коміти конкурентно
config.http_config=Налаштування HTTP
config.http_access_control_allow_origin=Контроль доступу дозволяє Origin
config.db_config=Налаштування бази даних
config.db_type=Тип
config.db_host=Хост
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=Пропустити перевірку TLS
config.mailer_config=Налаштування пошти
config.mailer_enabled=Увімкнено
config.mailer_disable_helo=Вимкнути HELO
config.mailer_name=Ім’я
config.mailer_subject_prefix=Префікс теми
config.mailer_host=Хост
config.mailer_user=Користувач
config.send_test_mail=Відправити тестового листа
@@ -1272,7 +1295,6 @@ notices.delete_success=Системні повідомлення було усп
[action]
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>
commit_repo=запушено до <a href="%[1]s/src/%[2]s">%[3]s</a> у <a href="%[1]s">%[4]s</a>
compare_commits=Перегляд порівняння для цих %d комітів
@@ -1289,6 +1311,10 @@ create_branch=створено нову гілку <a href="%[1]s/src/%[2]s">%[3
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>
delete_tag=видалено мітку <code>%[2]s</code> у <a href="%[1]s">%[3]s</a>
fork_repo=відгалуджено репозиторій у <a href="%s">%s</a>
mirror_sync_push=синхронізовано коміт <a href="%[1]s/src/%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a> із дзеркала
mirror_sync_create=синхронізовано нове посилання <a href="%s/src/%s">%[2]s</a> до <a href="%[1]s">%[3]s</a> із дзеркала
mirror_sync_delete=синхронізовано й видалено посилання <code>%[2]s</code> в <a href="%[1]s">%[3]s</a> із дзеркала
[tool]
ago=тому

1345
conf/locale/locale_vi-VN.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@ app_desc=一款极易搭建的自助 Git 服务
home=首页
dashboard=控制面板
explore=探索
explore=发现
help=帮助
sign_in=登录
sign_out=退出
@@ -151,6 +151,8 @@ register_hepler_msg=已经注册?立即登录!
social_register_hepler_msg=已经注册?立即绑定!
disable_register_prompt=对不起,注册功能已被关闭。请联系网站管理员。
disable_register_mail=对不起,注册邮箱确认功能已被关闭。
auth_source=认证源
local=本地
remember_me=记住登录
forgot_password=忘记密码
forget_password=忘记密码?
@@ -229,6 +231,7 @@ org_name_been_taken=组织名称已经被占用。
team_name_been_taken=团队名称已经被占用。
email_been_used=邮箱地址已经被使用。
username_password_incorrect=用户名或密码不正确。
auth_source_mismatch=该用户未与所选择的认证源进行关联
enterred_invalid_repo_name=请检查您输入的仓库名称是正确。
enterred_invalid_owner_name=请检查您输入的新所有者用户名是否正确。
enterred_invalid_password=请检查您输入的密码是否正确。
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=或者直接输入密钥:
two_factor_then_enter_passcode=然后输入动态令牌:
two_factor_verify=验证令牌
two_factor_invalid_passcode=您输入的动态令牌无效,请重试!
two_factor_reused_passcode=您输入的令牌已经被使用,请等待数秒后尝试新的令牌!
two_factor_enable_error=启用两步验证失败:%v
two_factor_enable_success=两步验证登录启用成功!
two_factor_recovery_codes_title=两步验证恢复密钥
@@ -417,6 +421,8 @@ mirror_last_synced=上次同步时间:
watchers=关注者
stargazers=称赞者
forks=派生仓库
repo_description_helper=请输入仓库描述,最多为 512 个字符
repo_description_length=剩余字符数
form.reach_limit_of_creation=该用户已经达到允许创建 %d 个仓库的最大上限。
form.name_reserved=仓库名称 '%s' 是被保留的。
@@ -514,6 +520,7 @@ editor.file_changed_while_editing=文件内容在您进行编辑时已经发生
editor.file_already_exists=此仓库已经存在名为 '%s' 的文件。
editor.no_changes_to_show=没有可以显示的变更。
editor.fail_to_update_file=更新/创建文件 '%s' 时发生错误:%v
editor.fail_to_delete_file=删除文件 '%s' 时发生错误: %v
editor.add_subdir=添加子目录...
editor.unable_to_upload_files=上传文件至 '%s' 时发生错误:%v
editor.upload_files_to_dir=上传文件至 '%s'
@@ -569,7 +576,7 @@ issues.filter_sort.recentupdate=最近更新
issues.filter_sort.leastupdate=最少更新
issues.filter_sort.mostcomment=最多评论
issues.filter_sort.leastcomment=最少评论
issues.opened_by=由 <a href="%[2]s">%[3]s</a> %[1]s创建
issues.opened_by=由 <a href="%[2]s">%[3]s</a> %[1]s创建
issues.opened_by_fake=由 %[2]s 于 %[1]s创建
issues.previous=上一页
issues.next=下一页
@@ -590,7 +597,7 @@ issues.commit_ref_at=`在代码提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 中
issues.poster=发布者
issues.collaborator=协作者
issues.owner=所有者
issues.sign_in_require_desc=<a href="%s">登</a> 并参与到对话中。
issues.sign_in_require_desc=<a href="%s">登</a> 并参与到对话中。
issues.edit=编辑
issues.cancel=取消
issues.save=保存
@@ -616,6 +623,7 @@ pulls.compare_compare=对比分支
pulls.filter_branch=过滤分支
pulls.no_results=未找到结果
pulls.nothing_to_compare=基准和对比分支代码已经同步,无需进行对比。
pulls.nothing_merge_base=由于两个分支各自拥有完全不同的提交历史,因此无法进行比较。
pulls.has_pull_request=`已经存在目标分支的合并请求:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=创建合并请求
pulls.title_desc=请求将 %[1]d 次代码提交从 <code>%[2]s</code> 合并至 <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=该合并请求正在进行冲突检查,请稍后再刷新
pulls.can_auto_merge_desc=该合并请求可以进行自动合并操作。
pulls.cannot_auto_merge_desc=该合并请求存在冲突,无法进行自动合并操作。
pulls.cannot_auto_merge_helper=请手动拉取代码变更以解决冲突。
pulls.create_merge_commit=创建一个新的合并提交
pulls.rebase_before_merging=合并前先进行衍合
pulls.commit_description=提交说明
pulls.merge_pull_request=合并请求
pulls.open_unmerged_pull_exists=`由于已经存在来自相同仓库和合并信息的未合并请求(#%d您无法执行重新开启操作。`
pulls.delete_branch=删除分支
@@ -735,7 +746,9 @@ settings.tracker_issue_style=外部工单管理系统命名风格:
settings.tracker_issue_style.numeric=纯数字形式
settings.tracker_issue_style.alphanumeric=英文字母数字组合形式
settings.tracker_url_format_desc=您可以使用 <code>{user} {repo} {index}</code> 分别作为用户名、仓库名和工单索引的占位符。
settings.pulls_desc=启用合并请求以接受社区贡献
settings.pulls_desc=启用合并请求以接受来自其它仓库或分支的贡献
settings.pulls.ignore_whitespace=忽略空白符号的更改
settings.pulls.allow_rebase_merge=允许在合并提交时使用衍合
settings.danger_zone=危险操作区
settings.cannot_fork_to_same_owner=您不能派生仓库到其当前的所有者。
settings.new_owner_has_same_repo=新的仓库拥有者已经存在同名仓库!
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=仓库 Wiki 数据清除成功!
settings.delete=删除本仓库
settings.delete_desc=删除仓库操作不可逆转,请三思而后行。
settings.delete_notices_1=- 此操作 <strong>不可以</strong> 被回滚。
settings.delete_notices_2=- 此操作将永久删除该仓库,包括 Git 数据、 工单、 评论和协作者的操作权限。
settings.delete_notices_2=- 此操作将永久删除该仓库,包括 Git 数据、工单、评论和协作者的操作权限。
settings.delete_notices_fork_1=- 删除完成后所有的派生仓库都将转换为独立的仓库。
settings.deletion_success=仓库删除成功!
settings.update_settings_success=仓库设置更新成功!
@@ -814,10 +827,10 @@ settings.event_push=推送
settings.event_push_desc=Git 仓库推送
settings.event_issues=工单
settings.event_issues_desc=工单被开启、关闭、重新开启、编辑、指派、取消指派、更新标签、清除标签、设置里程碑或取消设置里程碑
settings.event_issue_comment=工单评论
settings.event_issue_comment_desc=工单评论被创建、编辑和删除
settings.event_pull_request=合并请求
settings.event_pull_request_desc=合并请求被开启、关闭、重新开启、编辑、指派、取消指派、更新标签、清除标签、设置里程碑、取消设置里程碑或代码同步
settings.event_issue_comment=工单评论
settings.event_issue_comment_desc=工单评论被创建、编辑和删除
settings.event_release=版本发布
settings.event_release_desc=仓库发布新的版本
settings.active=是否激活
@@ -830,6 +843,7 @@ settings.recent_deliveries=最近推送记录
settings.hook_type=钩子类型
settings.add_slack_hook_desc=为您的仓库增加 <a href="%s">Slack</a> 集成。
settings.add_discord_hook_desc=为您的仓库增加 <a href="%s">Discord</a> 集成。
settings.add_dingtalk_hook_desc=为您的仓库增加 <a href="%s">钉钉</a> 集成。
settings.slack_token=令牌
settings.slack_domain=域名
settings.slack_channel=频道
@@ -846,6 +860,8 @@ settings.add_key_success=新的部署密钥 '%s' 添加成功!
settings.deploy_key_deletion=删除部署密钥
settings.deploy_key_deletion_desc=删除该部署密钥会移除本仓库所以相关的操作权限。是否继续?
settings.deploy_key_deletion_success=删除部署密钥成功!
settings.description_desc=请输入仓库描述,最多为 512 个字符
settings.description_length=剩余字符数
diff.browse_source=浏览代码
diff.parent=父节点
@@ -976,7 +992,7 @@ dashboard=控制面板
users=用户管理
organizations=组织管理
repositories=仓库管理
authentication=授权认证管理
authentication=认证管理
config=应用配置管理
notices=系统提示管理
monitor=应用监控面板
@@ -1081,11 +1097,12 @@ repos.stars=点赞数
repos.issues=工单数
repos.size=用量
auths.auth_manage_panel=认证管理面板
auths.auth_sources=认证
auths.new=添加新的源
auths.name=认证名称
auths.type=认证类型
auths.enabled=已启用
auths.default=默认
auths.updated=最后更新时间
auths.auth_type=认证类型
auths.auth_name=认证名称
@@ -1094,6 +1111,7 @@ auths.domain=域名
auths.host=主机地址
auths.port=主机端口
auths.bind_dn=绑定 DN
auths.bind_dn_helper=可以使用 '%s' 作为用户名的占位符例如DOM\%s
auths.bind_password=绑定密码
auths.bind_password_helper=警告:该密码将会以明文的形式保存在数据库中。请不要使用拥有高权限的帐户!
auths.user_base=用户搜索基准
@@ -1121,9 +1139,9 @@ auths.enable_tls=启用 TLS 加密
auths.skip_tls_verify=忽略 TLS 验证
auths.pam_service_name=PAM 服务名称
auths.enable_auto_register=允许授权用户自动注册
auths.tips=帮助提示
auths.edit=编辑认证设置
auths.activated=该授权认证已经启用
auths.default_auth=该授权认证将作为默认登录源
auths.new_success=新的授权源 "%s" 添加成功!
auths.update_success=认证设置更新成功!
auths.update=更新认证设置
@@ -1134,6 +1152,7 @@ auths.still_in_used=此认证仍旧与一些用户有关联,请先删除或者
auths.deletion_success=授权源删除成功!
auths.login_source_exist=登录源 '%s' 已存在。
config.not_set=(未设置)
config.server_config=服务器配置
config.app_name=应用名称
config.app_ver=应用版本
@@ -1155,6 +1174,7 @@ config.ssh_domain=域名
config.ssh_port=端口
config.ssh_listen_port=监听端口
config.ssh_root_path=根目录
config.ssh_rewrite_authorized_keys_at_start=在启动时重写 authorized_keys 文件
config.ssh_key_test_path=密钥测试路径
config.ssh_keygen_path=密钥生成器('ssh-keygen')路径
config.ssh_minimum_key_size_check=密钥最小长度检查
@@ -1170,6 +1190,9 @@ config.disable_http_git=禁用 HTTP Git 操作
config.enable_local_path_migration=启用本地路径迁移
config.commits_fetch_concurrency=代码提交拉取并发量
config.http_config=HTTP 配置
config.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=数据库配置
config.db_type=数据库类型
config.db_host=主机地址
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=忽略 TLS 验证
config.mailer_config=邮件配置
config.mailer_enabled=启用服务
config.mailer_disable_helo=禁用 HELO 操作
config.mailer_name=发送者名称
config.mailer_subject_prefix=主题前缀
config.mailer_host=邮件主机地址
config.mailer_user=发送者帐号
config.send_test_mail=发送测试邮件
@@ -1272,7 +1295,6 @@ notices.delete_success=系统提示删除成功!
[action]
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>
commit_repo=推送了 <a href="%[1]s/src/%[2]s">%[3]s</a> 分支的代码到 <a href="%[1]s">%[4]s</a>
compare_commits=对比 %d 次代码提交
@@ -1289,6 +1311,10 @@ create_branch=创建了新的分支 <a href="%[1]s/src/%[2]s">%[3]s</a> 到 <a h
delete_branch=删除了 <a href="%[1]s">%[3]s</a> 的分支 <code>%[2]s</code>
push_tag=推送了标签 <a href="%s/src/%s">%[2]s</a> 到 <a href="%[1]s">%[3]s</a>
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/src/%[2]s">%[3]s</a> 分支的代码到 <a href="%[1]s">%[4]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]
ago=之前

View File

@@ -151,6 +151,8 @@ register_hepler_msg=已經註冊?立即登錄!
social_register_hepler_msg=已經註冊?立即綁定!
disable_register_prompt=對不起,註冊功能已被關閉。請聯系網站管理員。
disable_register_mail=對不起,註冊郵箱確認功能已被關閉。
auth_source=Authentication Source
local=Local
remember_me=記住登錄
forgot_password=忘記密碼
forget_password=忘記密碼?
@@ -207,7 +209,7 @@ CommitSummary=Commit summary
CommitMessage=Commit message
CommitChoice=Commit choice
TreeName=File path
Content=Content
Content=內容
require_error=不能為空。
alpha_dash_error=必須為英文字母、阿拉伯數字或橫線(-_
@@ -229,6 +231,7 @@ org_name_been_taken=組織名稱已經被佔用。
team_name_been_taken=團隊名稱已經被佔用。
email_been_used=郵箱地址已經被使用。
username_password_incorrect=用戶名或密碼不正確。
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=請檢查您輸入的倉庫名稱是正確。
enterred_invalid_owner_name=請檢查您輸入的新所有者用戶名是否正確。
enterred_invalid_password=請檢查您輸入的密碼是否正確。
@@ -262,10 +265,10 @@ form.name_pattern_not_allowed=用戶名不允許 '%s' 的格式。
[settings]
profile=個人信息
password=修改密碼
avatar=Avatar
avatar=頭像
ssh_keys=管理 SSH 密鑰
security=Security
repos=Repositories
security=安全
repos=倉庫
orgs=管理組織
applications=管理授權應用
delete=刪除帳戶
@@ -335,19 +338,20 @@ key_state_desc=該密鑰在 7 天內被使用過
token_state_desc=此token在過去七天內曾經被使用過
two_factor=Two-factor Authentication
two_factor_status=Status:
two_factor_on=On
two_factor_off=Off
two_factor_enable=Enable
two_factor_disable=Disable
two_factor_status=狀態:
two_factor_on=開啟
two_factor_off=關閉
two_factor_enable=啟用
two_factor_disable=禁用
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_enable_title=Enable Two-factor Authentication
two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_or_enter_secret=或者輸入密碼:
two_factor_then_enter_passcode=然後輸入驗證碼:
two_factor_verify=驗證
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_success=Two-factor authentication has enabled for your account successfully!
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -417,6 +421,8 @@ mirror_last_synced=Last Synced
watchers=關注者
stargazers=稱讚者
forks=派生倉庫
repo_description_helper=Description of repository. Maximum 512 characters length.
repo_description_length=Available characters
form.reach_limit_of_creation=擁有者已達到儲存庫最大的新增上限 %d。
form.name_reserved=倉庫名稱 '%s' 是被保留的。
@@ -514,6 +520,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.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_delete_file=Failed to delete file '%s' with error: %v
editor.add_subdir=Add subdirectory...
editor.unable_to_upload_files=Failed to upload files to '%s' with error: %v
editor.upload_files_to_dir=Upload files to '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=對比文件變化
pulls.filter_branch=過濾分支
pulls.no_results=未找到結果
pulls.nothing_to_compare=基準和對比分支代碼已經同步,無需進行對比。
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`已經存在目標分支的合併請求:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=創建合併請求
pulls.title_desc=請求將 %[1]d 次代碼提交從 <code>%[2]s</code> 合併至 <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=該合併請求正在進行衝突檢查,請稍後再刷新
pulls.can_auto_merge_desc=這個拉請求可以自動合併。
pulls.cannot_auto_merge_desc=由於存在衝突,不能自動合併這推送請求。
pulls.cannot_auto_merge_helper=請手動合併來解決衝突。
pulls.create_merge_commit=Create a merge commit
pulls.rebase_before_merging=Rebase before merging
pulls.commit_description=Commit Description
pulls.merge_pull_request=合併請求
pulls.open_unmerged_pull_exists=`由於已經存在來自相同倉庫和合併信息的未合併請求(#%d您無法執行重新開啟操作。`
pulls.delete_branch=Delete Branch
@@ -735,7 +746,9 @@ settings.tracker_issue_style=External Issue Tracker Naming Style:
settings.tracker_issue_style.numeric=Numeric
settings.tracker_issue_style.alphanumeric=Alphanumeric
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.allow_rebase_merge=Allow use rebase to merge commits
settings.danger_zone=危險操作區
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
settings.new_owner_has_same_repo=新的倉庫擁有者已經存在同名倉庫!
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=Repository wiki data have been erased successfull
settings.delete=刪除本倉庫
settings.delete_desc=刪除倉庫操作不可逆轉,請三思而後行。
settings.delete_notices_1=- 此操作 <strong>不可以</strong> 被回滾。
settings.delete_notices_2=- 此操作將永久刪除該倉庫,包括 Git 數據、 問題、 評論和協作者的操作權限。
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.deletion_success=倉庫刪除成功!
settings.update_settings_success=倉庫設置更新成功!
@@ -814,10 +827,10 @@ settings.event_push=推送
settings.event_push_desc=Git 倉庫推送
settings.event_issues=Issues
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_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_desc=Release published in a repository.
settings.active=是否激活
@@ -830,6 +843,7 @@ settings.recent_deliveries=最近推送記錄
settings.hook_type=鉤子類型
settings.add_slack_hook_desc=為您的倉庫增加 <a href="%s">Slack</a> 集成。
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=令牌
settings.slack_domain=域名
settings.slack_channel=頻道
@@ -846,6 +860,8 @@ settings.add_key_success=新的部署密鑰 '%s' 添加成功!
settings.deploy_key_deletion=刪除部署密鑰
settings.deploy_key_deletion_desc=刪除該部署密鑰會移除本倉庫所有相關的操作權限。是否繼續?
settings.deploy_key_deletion_success=刪除部署密鑰成功!
settings.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Available characters
diff.browse_source=瀏覽代碼
diff.parent=父節點
@@ -1081,11 +1097,12 @@ repos.stars=讚好數
repos.issues=問題數
repos.size=Size
auths.auth_manage_panel=認證管理面板
auths.auth_sources=Authentication Sources
auths.new=添加新認證源
auths.name=認證名稱
auths.type=認證類型
auths.enabled=已啟用
auths.default=Default
auths.updated=最後更新時間
auths.auth_type=認證類型
auths.auth_name=認證名稱
@@ -1094,6 +1111,7 @@ auths.domain=域名
auths.host=主機地址
auths.port=主機端口
auths.bind_dn=綁定DN
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
auths.bind_password=綁定密碼
auths.bind_password_helper=警告:該密碼將會以明文的形式保存在數據庫中。請不要使用擁有高權限的帳戶!
auths.user_base=用戶搜索基準
@@ -1121,9 +1139,9 @@ auths.enable_tls=啟用 TLS 加密
auths.skip_tls_verify=忽略 TLS 驗證
auths.pam_service_name=PAM 服務名稱
auths.enable_auto_register=允許授權用戶自動註冊
auths.tips=幫助提示
auths.edit=編輯認證設置
auths.activated=該授權認證已經啟用
auths.default_auth=This authentication is default login source
auths.new_success=新的認證源 "%s" 添加成功!
auths.update_success=認證設置更新成功!
auths.update=更新認證設置
@@ -1134,6 +1152,7 @@ auths.still_in_used=This authentication is still used by some users, please dele
auths.deletion_success=認證源刪除成功!
auths.login_source_exist=Login source '%s' already exists.
config.not_set=(not set)
config.server_config=服務器配置
config.app_name=應用名稱
config.app_ver=應用版本
@@ -1155,6 +1174,7 @@ config.ssh_domain=Domain
config.ssh_port=
config.ssh_listen_port=監聽埠
config.ssh_root_path=根路徑
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_key_test_path=金鑰測試路徑
config.ssh_keygen_path=金鑰產生 (' ssh-keygen ') 路徑
config.ssh_minimum_key_size_check=金鑰最小大小檢查
@@ -1170,6 +1190,9 @@ 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.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=數據庫配置
config.db_type=數據庫類型
config.db_host=主機地址
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=忽略 TLS 驗證
config.mailer_config=郵件配置
config.mailer_enabled=啟用服務
config.mailer_disable_helo=禁用 HELO 操作
config.mailer_name=發送者名稱
config.mailer_subject_prefix=Subject Prefix
config.mailer_host=郵件主機地址
config.mailer_user=發送者帳號
config.send_test_mail=發送測試郵件
@@ -1272,7 +1295,6 @@ notices.delete_success=系統提示刪除成功!
[action]
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>
commit_repo=推送了 <a href="%[1]s/src/%[2]s">%[3]s</a> 分支的代碼到 <a href="%[1]s">%[4]s</a>
compare_commits=查看 %d 次提交的內容比對
@@ -1289,6 +1311,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>
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>
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]
ago=之前

View File

@@ -1,7 +1,7 @@
app_desc=基於 Go 語言的自助 Git 服務
app_desc=一款極易搭建的自助 Git 服務
home=首頁
dashboard=控制面
dashboard=控制面
explore=探索
help=說明
sign_in=登入
@@ -35,7 +35,7 @@ manage_org=管理組織
admin_panel=管理面板
account_settings=帳號設定
settings=設定
your_profile=個人資
your_profile=個人資
your_settings=用戶設定
activities=活動
@@ -82,8 +82,8 @@ app_url=應用程式網址
app_url_helper=該設置影響 HTTP/HTTPS 複製地址和一些郵箱中的連結。
log_root_path=日誌路徑
log_root_path_helper=寫入日誌檔目錄
enable_console_mode=Enable Console Mode
enable_console_mode_popup=In addition to file mode, also print logs to console.
enable_console_mode=開啟主控台模式
enable_console_mode_popup=除了使用檔案模式之外, 還要將日誌列印到控制台。
optional_title=可選設置
email_title=電子郵件服務設定
@@ -119,7 +119,7 @@ sqlite3_not_available=您所使用的發行版本不支持 SQLite3請從 %s
invalid_db_setting=資料庫設定不正確: %v
invalid_repo_path=倉庫根目錄設置不正確:%v
run_user_not_match=執行系統用戶非當前用戶:%s -> %s
smtp_host_missing_port=SMTP Host is missing port in address.
smtp_host_missing_port=SMTP 主機缺少位址中的埠。
invalid_smtp_from=SMTP 寄件者欄位無效﹔%v
save_config_failed=設定儲存失敗:%v
invalid_admin_setting=管理員帳戶設置不正確:%v
@@ -151,6 +151,8 @@ register_hepler_msg=已經註冊?立即登錄!
social_register_hepler_msg=已經註冊?立即綁定!
disable_register_prompt=對不起,註冊功能已被關閉。請聯系網站管理員。
disable_register_mail=對不起,註冊郵箱確認功能已被關閉。
auth_source=認證來源
local=本地
remember_me=記住登錄
forgot_password=忘記密碼
forget_password=忘記密碼?
@@ -169,13 +171,13 @@ reset_password_helper=單擊此處重置密碼
password_too_short=密碼長度不能少於 6 位!
non_local_account=非本地帳戶無法通過 Gogs 修改密碼。
login_two_factor=Two-factor Authentication
login_two_factor_passcode=Authentication Passcode
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
login_two_factor_recovery=Two-factor Recovery
login_two_factor_recovery_code=Recovery Code
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=兩步驗證
login_two_factor_passcode=驗證碼
login_two_factor_enter_recovery_code=鍵入兩部驗證碼
login_two_factor_recovery=兩步恢復
login_two_factor_recovery_code=恢復代碼
login_two_factor_enter_passcode=鍵入兩步驗證碼
login_two_factor_invalid_recovery_code=恢復代碼已使用或無效。
[mail]
activate_account=請激活您的帳戶
@@ -195,7 +197,7 @@ RepoName=儲存庫名稱
Email=郵箱地址
Password=密碼
Retype=確認密碼
SSHTitle=SSH 鑰名稱
SSHTitle=SSH 鑰名稱
HttpsUrl=HTTPS URL 地址
PayloadUrl=推送地址
TeamName=團隊名稱
@@ -229,6 +231,7 @@ org_name_been_taken=組織名稱已經被佔用。
team_name_been_taken=團隊名稱已經被佔用。
email_been_used=郵箱地址已經被使用。
username_password_incorrect=用戶名或密碼不正確。
auth_source_mismatch=此用戶未與所用的認證來源相關聯
enterred_invalid_repo_name=請檢查您輸入的倉庫名稱是正確。
enterred_invalid_owner_name=請檢查您輸入的新所有者用戶名是否正確。
enterred_invalid_password=請檢查您輸入的密碼是否正確。
@@ -260,12 +263,12 @@ form.name_reserved=用戶名 '%s' 是被保留的。
form.name_pattern_not_allowed=用戶名不允許 '%s' 的格式。
[settings]
profile=個人信息
profile=個人資訊
password=修改密碼
avatar=頭像
ssh_keys=管理 SSH 密鑰
security=Security
repos=Repositories
security=安全
repos=倉庫
orgs=管理組織
applications=管理授權應用
delete=刪除帳戶
@@ -277,7 +280,7 @@ full_name=自定義名稱
website=個人網站
location=所在地區
update_profile=更新信息
update_profile_success=您的個人信息更新成功!
update_profile_success=您的個人資訊更新成功!
change_username=用戶名將被修改
change_username_prompt=該操作將會影響到所有與您帳戶有關的鏈接
continue=繼續操作
@@ -318,7 +321,7 @@ manage_ssh_keys=管理 SSH 密鑰
add_key=增加密鑰
ssh_desc=以下是與您帳戶所關聯的 SSH 密鑰,如果您發現有陌生的密鑰,請立即刪除它!
ssh_helper=<strong>需要幫助嗎?</strong> 請查看有關 <a href="%s"> 如何生成 SSH 密鑰</a> 的指南或 <a href="%s"> SSH 的常見問題</a> 的疑難排解。
add_new_key=增加 SSH
add_new_key=增加 SSH
ssh_key_been_used=公共密鑰已經被使用
ssh_key_name_used=使用相同名稱的公共密鑰已經存在!
key_name=密鑰名稱
@@ -334,30 +337,31 @@ no_activity=沒有最近活動
key_state_desc=該密鑰在 7 天內被使用過
token_state_desc=此token在過去七天內曾經被使用過
two_factor=Two-factor Authentication
two_factor_status=Status:
two_factor_on=On
two_factor_off=Off
two_factor_enable=Enable
two_factor_disable=Disable
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_enable_title=Enable Two-factor Authentication
two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
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_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_regenerate_recovery_codes=Regenerate Recovery Codes
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_disable_title=Disable Two-factor Authentication
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=兩步驗證
two_factor_status=狀態:
two_factor_on=開啟
two_factor_off=關閉
two_factor_enable=啟用
two_factor_disable=禁用
two_factor_view_recovery_codes=在安全的地方查看並保存 <a href="%s%s"> 您的恢復代碼 </a>。如果您失去對身份驗證應用程式的存取權限, 則可以將它們用作密碼。
two_factor_http=對於HTTP/HTTPS操作,您不能使用用戶名稱和密碼作為憑據。請創建和使用<a href=%[1]s%[2]s”>個人操作令牌</a>作為您的憑據,如<code>%[3]s</code>
two_factor_enable_title=啟用兩步驗證
two_factor_scan_qr=請使用您的身份驗證應用程式掃描圖像:
two_factor_or_enter_secret=或輸入密碼: %s
two_factor_then_enter_passcode=然後輸入驗證碼:
two_factor_verify=驗證
two_factor_invalid_passcode=您輸入的密碼無效,請再試一次。
two_factor_reused_passcode=您输入的验证码已经被使用过了,请换一个重试!
two_factor_enable_error=啟用兩步驗證失敗: %v
two_factor_enable_success=您帳戶的兩步驗證已成功啟用!
two_factor_recovery_codes_title=兩步驗證恢復代碼
two_factor_recovery_codes_desc=當您無法存取您的認證應用程式時,可以使用救援代碼。每個救援代碼只能使用一次,因此 <b>請在安全的地方妥善保存您的救援代碼</b>。
two_factor_regenerate_recovery_codes=重新生成恢復代碼
two_factor_regenerate_recovery_codes_error=重新生成恢復代碼失敗: %v
two_factor_regenerate_recovery_codes_success=已成功生成新的恢復代碼!
two_factor_disable_title=停用兩步驗證
two_factor_disable_desc=停用兩步驗證後,您的帳戶安全級別將降低。是否繼續?
two_factor_disable_success=您帳戶的兩步驗證已成功停用!
manage_access_token=管理個人操作令牌
generate_new_token=生成新的令牌
@@ -375,10 +379,10 @@ orgs.none=您現在還不是任何組織的成員。
orgs.leave_title=離開組織
orgs.leave_desc=離開組織後,所有與組織相關的倉庫和團隊權限將被取消。是否繼續?
repos.leave=Leave
repos.leave_title=Leave repository
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=離開
repos.leave_title=離開存儲庫
repos.leave_desc=在你離開後,您將無法進入到存儲庫。你想要繼續嗎?
repos.leave_success=您已經成功退出「%s」版本庫
delete_account=刪除當前帳戶
delete_prompt=刪除操作會永久清除您的帳戶信息,並且 <strong>不可恢復</strong>
@@ -417,6 +421,8 @@ mirror_last_synced=上次同步
watchers=關注者
stargazers=稱讚者
forks=派生倉庫
repo_description_helper=儲存庫的說明文字。最長 512 個字元。
repo_description_length=可用字元
form.reach_limit_of_creation=擁有者已達到儲存庫最大的新增上限 %d。
form.name_reserved=倉庫名稱 '%s' 是被保留的。
@@ -450,7 +456,7 @@ quick_guide=快速幫助
clone_this_repo=複製當前倉庫
create_new_repo_command=從命令行創建一個新的倉庫
push_exist_repo=從命令行推送已經創建的倉庫
bare_message=This repository does not have any content yet.
bare_message=此版本庫空空如也。
files=檔案
branch=分支
@@ -514,6 +520,7 @@ editor.file_changed_while_editing=從您開始編輯已更改檔的內容。<a t
editor.file_already_exists=帶有名稱 '%s' 的檔已經存在在這個資料庫中。
editor.no_changes_to_show=沒有可以顯示的變更。
editor.fail_to_update_file=上傳/創建檔案 '%s' 失敗, 錯誤訊息: %v
editor.fail_to_delete_file=無法刪除檔案「%s」錯誤訊息%v
editor.add_subdir=新增子目錄...
editor.unable_to_upload_files=上傳檔案失敗到 '%s', 錯誤訊息: %v
editor.upload_files_to_dir=上傳檔案到 '%s'
@@ -616,6 +623,7 @@ pulls.compare_compare=對比文件變化
pulls.filter_branch=過濾分支
pulls.no_results=未找到結果
pulls.nothing_to_compare=基準和對比分支代碼已經同步,無需進行對比。
pulls.nothing_merge_base=因為兩個分支有完全不同的提交紀錄,因此無法比較。
pulls.has_pull_request=`已經存在目標分支的合併請求:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=創建合併請求
pulls.title_desc=請求將 %[1]d 次代碼提交從 <code>%[2]s</code> 合併至 <code>%[3]s</code>
@@ -631,6 +639,9 @@ pulls.is_checking=該合併請求正在進行衝突檢查,請稍後再刷新
pulls.can_auto_merge_desc=這個拉請求可以自動合併。
pulls.cannot_auto_merge_desc=由於存在衝突,不能自動合併這推送請求。
pulls.cannot_auto_merge_helper=請手動合併來解決衝突。
pulls.create_merge_commit=創建一個合併提交
pulls.rebase_before_merging=合併前先 Rebase
pulls.commit_description=提交記錄說明
pulls.merge_pull_request=合併請求
pulls.open_unmerged_pull_exists=`由於已經存在來自相同倉庫和合併信息的未合併請求(#%d您無法執行重新開啟操作。`
pulls.delete_branch=刪除分支
@@ -686,11 +697,11 @@ settings.collaboration.write=可寫權限
settings.collaboration.read=可讀權限
settings.collaboration.undefined=未定義
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_desc=預設分支是程式碼 commit、pull requests 及線上編輯的基準分支。
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=這個 repository 的預設分支更新成功!
settings.protected_branches=保護分支
settings.protected_branches_desc=保護分支不被強制 Push、意外刪除以及限制 Commit 者白名單
@@ -720,13 +731,13 @@ settings.change_reponame_prompt=該操作將會影響到所有與該倉庫有關
settings.advanced_settings=高級設置
settings.wiki_desc=啓用 Wiki 系統
settings.use_internal_wiki=使用內建 wiki
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
settings.allow_public_wiki_desc=當版本庫為私有狀態時,允許 Wiki 的公開存取。
settings.use_external_wiki=使用外部 wiki
settings.external_wiki_url=外部 Wiki 連結
settings.external_wiki_url_desc=當分頁上按一下,訪客將會重新導到 URL。
settings.issues_desc=啟用問題追蹤
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.external_tracker_url=外部Issue Tracker網址
settings.external_tracker_url_desc=當訪客在分頁上按一下,他們將會重新導向到 URL。
@@ -735,7 +746,9 @@ settings.tracker_issue_style=外部公單管理系統命名風格:
settings.tracker_issue_style.numeric=數字
settings.tracker_issue_style.alphanumeric=字母及數字
settings.tracker_url_format_desc=您可以使用 <code>{user} {repo} {index}</code> 分別作為用戶名、倉庫名和問題索引的占位符。
settings.pulls_desc=啟用合併請求以接受社區貢獻
settings.pulls_desc=啟用合併請求」功能,接受版本庫與分支之間的貢獻
settings.pulls.ignore_whitespace=忽略空白符號的更改
settings.pulls.allow_rebase_merge=允許使用 rebase 合併提交
settings.danger_zone=危險操作區
settings.cannot_fork_to_same_owner=你不可以 fork 一個 repository 到它的擁有者。
settings.new_owner_has_same_repo=新的倉庫擁有者已經存在同名倉庫!
@@ -756,7 +769,7 @@ settings.wiki_deletion_success=儲存庫 wiki 資料已成功清除。
settings.delete=刪除本倉庫
settings.delete_desc=刪除倉庫操作不可逆轉,請三思而後行。
settings.delete_notices_1=- 此操作 <strong>不可以</strong> 被回滾。
settings.delete_notices_2=- 此作將永久刪除該倉庫,包 Git 數據、 問題、 評論和協作者的操作權限。
settings.delete_notices_2=- 此作將永久移除版本庫,包含了 Git 資料、議題、留言與協作者的存取權限。
settings.delete_notices_fork_1=- 刪除後所有的派生倉庫將會成為獨立倉庫
settings.deletion_success=倉庫刪除成功!
settings.update_settings_success=倉庫設置更新成功!
@@ -780,8 +793,8 @@ settings.webhook_deletion_success=Web 鉤子刪除成功!
settings.webhook.test_delivery=測試推送
settings.webhook.test_delivery_desc=生成並推送一個模擬的 Push 事件
settings.webhook.test_delivery_success=測試推送已經加入到隊列,請耐心等待數秒再刷新推送記錄。
settings.webhook.redelivery=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=重新傳送
settings.webhook.redelivery_success=任務「%s」已經重新加入至隊列。可能需要幾秒鐘來更新歷史的隊列狀態
settings.webhook.request=請求內容
settings.webhook.response=響應內容
settings.webhook.headers=標題
@@ -814,10 +827,10 @@ settings.event_push=推送
settings.event_push_desc=Git 倉庫推送
settings.event_issues=Issues
settings.event_issues_desc=已經開啟、關閉、重啟、修改、指派、取消指派、更新標籤、清除標籤、新增里程碑或刪除里程碑的 issue。
settings.event_issue_comment=Issue 評論
settings.event_issue_comment_desc=已經建立、編輯或刪除的 Issue 評論。
settings.event_pull_request=合併請求
settings.event_pull_request_desc=已經開啟、關閉、重啟、編輯、指派、解除指派、更新標籤、清除標籤、新增里程碑、刪除里程碑或同步的 pull request。
settings.event_issue_comment=Issue 評論
settings.event_issue_comment_desc=已經建立、編輯或刪除的 Issue 評論。
settings.event_release=Release
settings.event_release_desc=Release 將發佈在一個 repository 中。
settings.active=是否激活
@@ -830,11 +843,12 @@ settings.recent_deliveries=最近推送記錄
settings.hook_type=鉤子類型
settings.add_slack_hook_desc=為您的倉庫增加 <a href="%s">Slack</a> 集成。
settings.add_discord_hook_desc=Hook <a href="%s">Discord</a> 到你的 repository。
settings.add_dingtalk_hook_desc=在您的版本庫增加 <a href="%s">Dingtalk</a> 整合
settings.slack_token=令牌
settings.slack_domain=域名
settings.slack_channel=頻道
settings.deploy_keys=管理部署密鑰
settings.deploy_keys_helper=<b>噢不!</b> 如果要新增個人的公開金,請到 <a href="%s%s">用戶設定</a> 新增。
settings.deploy_keys_helper=<b>噢不!</b> 如果要新增個人的公開金,請到 <a href="%s%s">用戶設定</a> 新增。
settings.add_deploy_key=添加部署密鑰
settings.deploy_key_desc=部署密鑰僅具有隻讀權限,它在功能上和個人用戶的公開密鑰有本質區別。
settings.no_deploy_keys=您還沒有添加任何部署密鑰。
@@ -846,6 +860,8 @@ settings.add_key_success=新的部署密鑰 '%s' 添加成功!
settings.deploy_key_deletion=刪除部署密鑰
settings.deploy_key_deletion_desc=刪除該部署密鑰會移除本倉庫所有相關的操作權限。是否繼續?
settings.deploy_key_deletion_success=刪除部署密鑰成功!
settings.description_desc=儲存庫的說明文字。最長 512 個字元。
settings.description_length=可用字元
diff.browse_source=瀏覽代碼
diff.parent=父節點
@@ -1081,11 +1097,12 @@ repos.stars=讚好數
repos.issues=問題數
repos.size=大小
auths.auth_manage_panel=認證管理面板
auths.auth_sources=認證來源
auths.new=添加新認證源
auths.name=認證名稱
auths.type=認證類型
auths.enabled=已啟用
auths.default=預設
auths.updated=最後更新時間
auths.auth_type=認證類型
auths.auth_name=認證名稱
@@ -1094,20 +1111,21 @@ auths.domain=域名
auths.host=主機地址
auths.port=主機端口
auths.bind_dn=綁定DN
auths.bind_dn_helper=可以使用'%s'作為用戶名稱的預留位置例如DOM\%s
auths.bind_password=綁定密碼
auths.bind_password_helper=警告:該密碼將會以明文的形式保存在數據庫中。請不要使用擁有高權限的帳戶!
auths.user_base=用戶搜索基準
auths.user_dn=User DN
auths.attribute_username=用戶名屬性
auths.attribute_username_placeholder=留空表示使用用戶登錄時所使用的用戶名
auths.attribute_name=First Name Attribute
auths.attribute_name=歸納名字
auths.attribute_surname=姓氏屬性
auths.attribute_mail=電子郵箱屬性
auths.verify_group_membership=Verify group membership
auths.group_search_base_dn=Group Search Base DN
auths.group_filter=Group Filter
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
auths.user_attribute_listed_in_group=User Attribute Listed in Group
auths.verify_group_membership=驗證組成員身份
auths.group_search_base_dn=組蒐索基準 DN
auths.group_filter=組篩選器
auths.group_attribute_contain_user_list=包含使用者列表的群組屬性
auths.user_attribute_listed_in_group=組中列出的使用者屬性
auths.attributes_in_bind=從 Bind DN 中獲取屬性信息
auths.filter=使用者篩選器
auths.admin_filter=管理者篩選器
@@ -1121,9 +1139,9 @@ auths.enable_tls=啟用 TLS 加密
auths.skip_tls_verify=忽略 TLS 驗證
auths.pam_service_name=PAM 服務名稱
auths.enable_auto_register=允許授權用戶自動註冊
auths.tips=幫助提示
auths.edit=編輯認證設置
auths.activated=該授權認證已經啟用
auths.default_auth=此認證方式為預設登入來源
auths.new_success=新的認證源 "%s" 添加成功!
auths.update_success=認證設置更新成功!
auths.update=更新認證設置
@@ -1134,6 +1152,7 @@ auths.still_in_used=一些使用者仍然使用此驗證方式,請先刪除或
auths.deletion_success=認證源刪除成功!
auths.login_source_exist=登錄源 '%s' 已存在。
config.not_set=(未設定)
config.server_config=服務器配置
config.app_name=應用名稱
config.app_ver=應用版本
@@ -1155,6 +1174,7 @@ config.ssh_domain=域名
config.ssh_port=
config.ssh_listen_port=監聽埠
config.ssh_root_path=根路徑
config.ssh_rewrite_authorized_keys_at_start=在啟動時重寫 authorized_keys 檔案
config.ssh_key_test_path=金鑰測試路徑
config.ssh_keygen_path=金鑰產生 (' ssh-keygen ') 路徑
config.ssh_minimum_key_size_check=金鑰最小大小檢查
@@ -1170,6 +1190,9 @@ config.disable_http_git=停用 HTTP Git
config.enable_local_path_migration=啟用本地路徑遷移
config.commits_fetch_concurrency=同時Fetch Commit數量
config.http_config=HTTP設定
config.http_access_control_allow_origin=Access Control Allow Origin
config.db_config=資料庫設定
config.db_type=數據庫類型
config.db_host=主機地址
@@ -1199,7 +1222,7 @@ config.skip_tls_verify=忽略 TLS 驗證
config.mailer_config=郵件配置
config.mailer_enabled=啟用服務
config.mailer_disable_helo=禁用 HELO 操作
config.mailer_name=發送者名稱
config.mailer_subject_prefix=主旨前置詞
config.mailer_host=郵件主機地址
config.mailer_user=發送者帳號
config.send_test_mail=發送測試郵件
@@ -1272,7 +1295,6 @@ notices.delete_success=系統提示刪除成功!
[action]
create_repo=創建了儲存庫 <a href="%s">%s</a>
fork_repo=已經 fork 一個 repository 到 <a href="%s">%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>
compare_commits=查看 %d 次提交的內容比對
@@ -1289,6 +1311,10 @@ create_branch=在 <a href="%[1]s">%[4]s</a> 建立新的分支 <a href="%[1]s/sr
delete_branch=已經刪除在 <a href="%[1]s">%[3]s</a> 上的分支 <code>%[2]s</code>
push_tag=推送了標籤 <a href="%s/src/%s">%[2]s</a> 到 <a href="%[1]s">%[3]s</a>
delete_tag=已經刪除在 <a href="%[1]s">%[3]s</a> 上的標籤 <code>%[2]s</code>
fork_repo=已經 fork 一個 repository 到 <a href="%s">%s</a>
mirror_sync_push=已經從鏡像同步了提交 <a href="%[1]s/src/%[2]s">%[3]s</a> 於 <a href="%[1]s">%[4]s</a>
mirror_sync_create=已經從鏡像同步了參考 <a href="%s/src/%s">%[2]s</a> 到 <a href="%[1]s">%[3]s</a>
mirror_sync_delete=已經從鏡像同步並移除了參考 <code>%[2]s</code> 於 <a href="%[1]s">%[3]s</a>
[tool]
ago=之前

View File

@@ -1,6 +1,6 @@
# Docker for Gogs
Visit [Docker Hub](https://hub.docker.com/r/gogs/) / [Docker Store](https://store.docker.com/community/images/gogs/gogs) see all available images and tags.
Visit [Docker Cloud](https://cloud.docker.com/swarm/gogs/repository/docker/gogs/gogs) / [Docker Store](https://store.docker.com/community/images/gogs/gogs) see all available images and tags.
## Usage
@@ -36,6 +36,10 @@ Directory `/var/gogs` keeps Git repositories and Gogs data:
|-- data
|-- log
#### Custom Directory
The "custom" directory may not be obvious in Docker environment. The `/var/gogs/gogs` (in the host) and `/data/gogs` (in the container) is already the "custom" directory and you do not need to create another layer but directly edit corresponding files under this directory.
### Volume With Data Container
If you're more comfortable with mounting data to a data container, the commands you execute at the first time will look like as follows:
@@ -104,11 +108,11 @@ Steps to upgrade Gogs with Docker:
- `docker pull gogs/gogs`
- `docker stop gogs`
- `docker rm gogs`
- Finally, create container as the first time and don't forget to do same volume and port mapping.
- Finally, create a container for the first time and don't forget to do the same for the volume and port mapping.
## Known Issues
- The docker container can not currently be build on Raspberry 1 (armv6l) as our base image `alpine` does not have a `go` package available for this platform.
- The docker container cannot currently be built on Raspberry 1 (armv6l) as our base image `alpine` does not have a `go` package available for this platform.
## Useful Links

3
docker/aarch64/build.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
go build -ldflags "-w -s" resin-xbuild.go

Binary file not shown.

BIN
docker/aarch64/resin-xbuild Executable file

Binary file not shown.

View File

@@ -0,0 +1,66 @@
package main
import (
"log"
"os"
"os/exec"
"syscall"
)
func crossBuildStart() {
err := os.Remove("/bin/sh")
if err != nil {
log.Fatal(err)
}
err = os.Link("/usr/bin/resin-xbuild", "/bin/sh")
if err != nil {
log.Fatal(err)
}
}
func crossBuildEnd() {
err := os.Remove("/bin/sh")
if err != nil {
log.Fatal(err)
}
err = os.Link("/bin/sh.real", "/bin/sh")
if err != nil {
log.Fatal(err)
}
}
func runShell() error {
cmd := exec.Command("/usr/bin/qemu-aarch64-static", append([]string{"-0", "/bin/sh", "/bin/sh"}, os.Args[1:]...)...)
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()
}
func main() {
switch os.Args[0] {
case "cross-build-start":
crossBuildStart()
case "cross-build-end":
crossBuildEnd()
case "/bin/sh":
code := 0
crossBuildEnd()
if err := runShell(); err != nil {
code = 1
if exiterr, ok := err.(*exec.ExitError); ok {
if status, ok := exiterr.Sys().(syscall.WaitStatus); ok {
code = status.ExitStatus()
}
}
}
crossBuildStart()
// Hack to bypass apk issues with triggering
code = 0
os.Exit(code)
}
}

3
docker/armhf/build.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
go build -ldflags "-w -s" resin-xbuild.go

BIN
docker/armhf/qemu-arm-static Executable file

Binary file not shown.

BIN
docker/armhf/resin-xbuild Executable file

Binary file not shown.

View File

@@ -0,0 +1,66 @@
package main
import (
"log"
"os"
"os/exec"
"syscall"
)
func crossBuildStart() {
err := os.Remove("/bin/sh")
if err != nil {
log.Fatal(err)
}
err = os.Link("/usr/bin/resin-xbuild", "/bin/sh")
if err != nil {
log.Fatal(err)
}
}
func crossBuildEnd() {
err := os.Remove("/bin/sh")
if err != nil {
log.Fatal(err)
}
err = os.Link("/bin/sh.real", "/bin/sh")
if err != nil {
log.Fatal(err)
}
}
func runShell() error {
cmd := exec.Command("/usr/bin/qemu-arm-static", append([]string{"-0", "/bin/sh", "/bin/sh"}, os.Args[1:]...)...)
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()
}
func main() {
switch os.Args[0] {
case "cross-build-start":
crossBuildStart()
case "cross-build-end":
crossBuildEnd()
case "/bin/sh":
code := 0
crossBuildEnd()
if err := runShell(); err != nil {
code = 1
if exiterr, ok := err.(*exec.ExitError); ok {
if status, ok := exiterr.Sys().(syscall.WaitStatus); ok {
code = status.ExitStatus()
}
}
}
crossBuildStart()
// Hack to bypass apk issues with triggering
code = 0
os.Exit(code)
}
}

View File

@@ -5,15 +5,14 @@ set -e
# Set temp environment vars
export GOPATH=/tmp/go
export PATH=/usr/local/go/bin:${PATH}:${GOPATH}/bin
export GO15VENDOREXPERIMENT=1
# Install build deps
apk --no-cache --no-progress add --virtual build-deps build-base linux-pam-dev
# Build Gogs
mkdir -p ${GOPATH}/src/github.com/gogits/
ln -s /app/gogs/build ${GOPATH}/src/github.com/gogits/gogs
cd ${GOPATH}/src/github.com/gogits/gogs
mkdir -p ${GOPATH}/src/github.com/gogs/
ln -s /app/gogs/build ${GOPATH}/src/github.com/gogs/gogs
cd ${GOPATH}/src/github.com/gogs/gogs
# Needed since git 2.9.3 or 2.9.4
git config --global http.https://gopkg.in.followRedirects true
make build TAGS="sqlite cert pam"
@@ -24,6 +23,9 @@ rm -r $GOPATH
# Remove build deps
apk --no-progress del build-deps
# Create git user for Gogs
adduser -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && passwd -u git
echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile
# Move to final place
mv /app/gogs/build/gogs /app/gogs/
# Cleanup go
rm -rf /tmp/go
rm -rf /usr/local/go

View File

@@ -4,11 +4,10 @@
set -x
set -e
# Move to final place
mv /app/gogs/build/gogs /app/gogs/
mv /app/gogs/build/templates /app/gogs/
mv /app/gogs/build/public /app/gogs/
mv /app/gogs/build/docker /app/gogs/
# Create git user for Gogs
addgroup -S git
adduser -G git -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && usermod -p '*' git && passwd -u git
echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile
# Final cleaning
rm -rf /app/gogs/build
@@ -17,6 +16,3 @@ rm /app/gogs/docker/build-go.sh
rm /app/gogs/docker/finalize.sh
rm /app/gogs/docker/nsswitch.conf
rm /app/gogs/docker/README.md
rm -rf /tmp/go
rm -rf /usr/local/go

View File

@@ -13,4 +13,4 @@ index 14f4fa9..5599307 100644
+
if l.Debugvlog != 0 {
l.Logf("%5.2f host link:", obj.Cputime())
for _, v := range argv {
for _, v := range argv {

View File

@@ -13,11 +13,14 @@ fi
cd /app/gogs
# Link volumed data with app data
ln -sf /data/gogs/log ./log
ln -sf /data/gogs/data ./data
ln -sfn /data/gogs/log ./log
ln -sfn /data/gogs/data ./data
# Backward Compatibility with Gogs Container v0.6.15
ln -sf /data/git /home/git
ln -sfn /data/git /home/git
chown -R git:git /data /app/gogs ~git/
# Only chown for the first time, owner of '/data' is 'git' inside Docker after installation
if [ $(stat -c '%U' /data) != 'git' ]; then
chown -R git:git /data /app/gogs ~git/
fi
chmod 0755 /data /data/gogs ~git/

View File

@@ -11,6 +11,5 @@ HostKey /data/ssh/ssh_host_ed25519_key
PermitRootLogin no
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
UsePrivilegeSeparation no
PermitUserEnvironment yes
AllowUsers git

View File

@@ -38,6 +38,14 @@ create_volume_subfolder() {
done
}
setids() {
PUID=${PUID:-1000}
PGID=${PGID:-1000}
groupmod -o -g "$PGID" git
usermod -o -u "$PUID" git
}
setids
cleanup
create_volume_subfolder

13
gogs.go
View File

@@ -1,4 +1,4 @@
// +build go1.6
// +build go1.8
// Copyright 2014 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
@@ -12,21 +12,21 @@ import (
"github.com/urfave/cli"
"github.com/gogits/gogs/cmd"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/cmd"
"github.com/gogs/gogs/pkg/setting"
)
const APP_VER = "0.11.19.0609"
const Version = "0.11.91.0811"
func init() {
setting.AppVer = APP_VER
setting.AppVer = Version
}
func main() {
app := cli.NewApp()
app.Name = "Gogs"
app.Usage = "A painless self-hosted Git service"
app.Version = APP_VER
app.Version = Version
app.Commands = []cli.Command{
cmd.Web,
cmd.Serv,
@@ -37,6 +37,5 @@ func main() {
cmd.Backup,
cmd.Restore,
}
app.Flags = append(app.Flags, []cli.Flag{}...)
app.Run(os.Args)
}

View File

@@ -9,7 +9,7 @@ import (
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/models/errors"
"github.com/gogs/gogs/models/errors"
)
type AccessMode int
@@ -59,7 +59,7 @@ type Access struct {
Mode AccessMode
}
func accessLevel(e Engine, userID int64, repo *Repository) (AccessMode, error) {
func userAccessMode(e Engine, userID int64, repo *Repository) (AccessMode, error) {
mode := ACCESS_MODE_NONE
// Everyone has read access to public repository
if !repo.IsPrivate {
@@ -84,14 +84,13 @@ func accessLevel(e Engine, userID int64, repo *Repository) (AccessMode, error) {
return access.Mode, nil
}
// AccessLevel returns the Access a user has to a repository. Will return NoneAccess if the
// user does not have access.
func AccessLevel(userID int64, repo *Repository) (AccessMode, error) {
return accessLevel(x, userID, repo)
// UserAccessMode returns the access mode of given user to the repository.
func UserAccessMode(userID int64, repo *Repository) (AccessMode, error) {
return userAccessMode(x, userID, repo)
}
func hasAccess(e Engine, userID int64, repo *Repository, testMode AccessMode) (bool, error) {
mode, err := accessLevel(e, userID, repo)
mode, err := userAccessMode(e, userID, repo)
return mode >= testMode, err
}
@@ -112,14 +111,12 @@ func (u *User) GetRepositoryAccesses() (map[*Repository]AccessMode, error) {
repo, err := GetRepositoryByID(access.RepoID)
if err != nil {
if errors.IsRepoNotExist(err) {
log.Error(4, "GetRepositoryByID: %v", err)
log.Error(2, "GetRepositoryByID: %v", err)
continue
}
return nil, err
}
if err = repo.GetOwner(); err != nil {
return nil, err
} else if repo.OwnerID == u.ID {
if repo.OwnerID == u.ID {
continue
}
repos[repo] = access.Mode
@@ -239,6 +236,6 @@ func (repo *Repository) recalculateAccesses(e Engine) error {
}
// RecalculateAccesses recalculates all accesses for repository.
func (r *Repository) RecalculateAccesses() error {
return r.recalculateAccesses(x)
func (repo *Repository) RecalculateAccesses() error {
return repo.recalculateAccesses(x)
}

View File

@@ -5,7 +5,6 @@
package models
import (
"encoding/json"
"fmt"
"path"
"regexp"
@@ -15,19 +14,20 @@ import (
"github.com/Unknwon/com"
"github.com/go-xorm/xorm"
"github.com/json-iterator/go"
log "gopkg.in/clog.v1"
"github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
"github.com/gogs/git-module"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/tool"
)
type ActionType int
// To maintain backward compatibility only append to the end of list
// Note: To maintain backward compatibility only append to the end of list
const (
ACTION_CREATE_REPO ActionType = iota + 1 // 1
ACTION_RENAME_REPO // 2
@@ -48,6 +48,9 @@ const (
ACTION_DELETE_BRANCH // 17
ACTION_DELETE_TAG // 18
ACTION_FORK_REPO // 19
ACTION_MIRROR_SYNC_PUSH // 20
ACTION_MIRROR_SYNC_CREATE // 21
ACTION_MIRROR_SYNC_DELETE // 22
)
var (
@@ -55,36 +58,31 @@ var (
IssueCloseKeywords = []string{"close", "closes", "closed", "fix", "fixes", "fixed", "resolve", "resolves", "resolved"}
IssueReopenKeywords = []string{"reopen", "reopens", "reopened"}
IssueCloseKeywordsPat, IssueReopenKeywordsPat *regexp.Regexp
IssueReferenceKeywordsPat *regexp.Regexp
IssueCloseKeywordsPat = regexp.MustCompile(assembleKeywordsPattern(IssueCloseKeywords))
IssueReopenKeywordsPat = regexp.MustCompile(assembleKeywordsPattern(IssueReopenKeywords))
IssueReferenceKeywordsPat = regexp.MustCompile(`(?i)(?:)(^| )\S+`)
)
func assembleKeywordsPattern(words []string) string {
return fmt.Sprintf(`(?i)(?:%s) \S+`, strings.Join(words, "|"))
}
func init() {
IssueCloseKeywordsPat = regexp.MustCompile(assembleKeywordsPattern(IssueCloseKeywords))
IssueReopenKeywordsPat = regexp.MustCompile(assembleKeywordsPattern(IssueReopenKeywords))
IssueReferenceKeywordsPat = regexp.MustCompile(`(?i)(?:)(^| )\S+`)
}
// Action represents user operation type and other information to repository,
// it implemented interface base.Actioner so that can be used in template render.
type Action struct {
ID int64
UserID int64 // Receiver user id.
UserID int64 // Receiver user ID
OpType ActionType
ActUserID int64 // Action user id.
ActUserName string // Action user name.
ActAvatar string `xorm:"-"`
RepoID int64
ActUserID int64 // Doer user ID
ActUserName string // Doer user name
ActAvatar string `xorm:"-" json:"-"`
RepoID int64 `xorm:"INDEX"`
RepoUserName string
RepoName string
RefName string
IsPrivate bool `xorm:"NOT NULL DEFAULT false"`
Content string `xorm:"TEXT"`
Created time.Time `xorm:"-"`
Created time.Time `xorm:"-" json:"-"`
CreatedUnix int64
}
@@ -251,7 +249,7 @@ func NewPushCommits() *PushCommits {
}
}
func (pc *PushCommits) ToApiPayloadCommits(repoPath, repoLink string) ([]*api.PayloadCommit, error) {
func (pc *PushCommits) ToApiPayloadCommits(repoPath, repoURL string) ([]*api.PayloadCommit, error) {
commits := make([]*api.PayloadCommit, len(pc.Commits))
for i, commit := range pc.Commits {
authorUsername := ""
@@ -278,7 +276,7 @@ func (pc *PushCommits) ToApiPayloadCommits(repoPath, repoLink string) ([]*api.Pa
commits[i] = &api.PayloadCommit{
ID: commit.Sha1,
Message: commit.Message,
URL: fmt.Sprintf("%s/commit/%s", repoLink, commit.Sha1),
URL: fmt.Sprintf("%s/commit/%s", repoURL, commit.Sha1),
Author: &api.PayloadUser{
Name: commit.AuthorName,
Email: commit.AuthorEmail,
@@ -379,8 +377,7 @@ func UpdateIssuesCommit(doer *User, repo *Repository, commits []*PushCommit) err
if ref[0] == '#' {
ref = fmt.Sprintf("%s%s", repo.FullName(), ref)
} else if !strings.Contains(ref, "/") {
// We don't support User#ID syntax yet
// return ErrNotImplemented
// FIXME: We don't support User#ID syntax yet
continue
}
@@ -490,8 +487,11 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
opts.Commits.CompareURL = repo.ComposeCompareURL(opts.OldCommitID, opts.NewCommitID)
}
if err = UpdateIssuesCommit(pusher, repo, opts.Commits.Commits); err != nil {
log.Error(2, "UpdateIssuesCommit: %v", err)
// Only update issues via commits when internal issue tracker is enabled
if repo.EnableIssues && !repo.EnableExternalTracker {
if err = UpdateIssuesCommit(pusher, repo, opts.Commits.Commits); err != nil {
log.Error(2, "UpdateIssuesCommit: %v", err)
}
}
}
@@ -499,7 +499,7 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
opts.Commits.Commits = opts.Commits.Commits[:setting.UI.FeedMaxCommitNum]
}
data, err := json.Marshal(opts.Commits)
data, err := jsoniter.Marshal(opts.Commits)
if err != nil {
return fmt.Errorf("Marshal: %v", err)
}
@@ -604,6 +604,7 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
if err = PrepareWebhooks(repo, HOOK_EVENT_CREATE, &api.CreatePayload{
Ref: refName,
RefType: "tag",
Sha: opts.NewCommitID,
DefaultBranch: repo.DefaultBranch,
Repo: apiRepo,
Sender: apiPusher,
@@ -668,6 +669,71 @@ func MergePullRequestAction(actUser *User, repo *Repository, pull *Issue) error
return mergePullRequestAction(x, actUser, repo, pull)
}
func mirrorSyncAction(opType ActionType, repo *Repository, refName string, data []byte) error {
return NotifyWatchers(&Action{
ActUserID: repo.OwnerID,
ActUserName: repo.MustOwner().Name,
OpType: opType,
Content: string(data),
RepoID: repo.ID,
RepoUserName: repo.MustOwner().Name,
RepoName: repo.Name,
RefName: refName,
IsPrivate: repo.IsPrivate,
})
}
type MirrorSyncPushActionOptions struct {
RefName string
OldCommitID string
NewCommitID string
Commits *PushCommits
}
// MirrorSyncPushAction adds new action for mirror synchronization of pushed commits.
func MirrorSyncPushAction(repo *Repository, opts MirrorSyncPushActionOptions) error {
if len(opts.Commits.Commits) > setting.UI.FeedMaxCommitNum {
opts.Commits.Commits = opts.Commits.Commits[:setting.UI.FeedMaxCommitNum]
}
apiCommits, err := opts.Commits.ToApiPayloadCommits(repo.RepoPath(), repo.HTMLURL())
if err != nil {
return fmt.Errorf("ToApiPayloadCommits: %v", err)
}
opts.Commits.CompareURL = repo.ComposeCompareURL(opts.OldCommitID, opts.NewCommitID)
apiPusher := repo.MustOwner().APIFormat()
if err := PrepareWebhooks(repo, HOOK_EVENT_PUSH, &api.PushPayload{
Ref: opts.RefName,
Before: opts.OldCommitID,
After: opts.NewCommitID,
CompareURL: setting.AppURL + opts.Commits.CompareURL,
Commits: apiCommits,
Repo: repo.APIFormat(nil),
Pusher: apiPusher,
Sender: apiPusher,
}); err != nil {
return fmt.Errorf("PrepareWebhooks: %v", err)
}
data, err := jsoniter.Marshal(opts.Commits)
if err != nil {
return err
}
return mirrorSyncAction(ACTION_MIRROR_SYNC_PUSH, repo, opts.RefName, data)
}
// MirrorSyncCreateAction adds new action for mirror synchronization of new reference.
func MirrorSyncCreateAction(repo *Repository, refName string) error {
return mirrorSyncAction(ACTION_MIRROR_SYNC_CREATE, repo, refName, nil)
}
// MirrorSyncCreateAction adds new action for mirror synchronization of delete reference.
func MirrorSyncDeleteAction(repo *Repository, refName string) error {
return mirrorSyncAction(ACTION_MIRROR_SYNC_DELETE, repo, refName, nil)
}
// GetFeeds returns action list of given user in given context.
// actorID is the user who's requesting, ctxUserID is the user/org that is requested.
// actorID can be -1 when isProfile is true or to skip the permission check.

View File

@@ -7,7 +7,6 @@ package models
import (
"fmt"
"os"
"os/exec"
"strings"
"time"
@@ -15,8 +14,7 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/pkg/tool"
)
type NoticeType int
@@ -30,7 +28,7 @@ type Notice struct {
ID int64
Type NoticeType
Description string `xorm:"TEXT"`
Created time.Time `xorm:"-"`
Created time.Time `xorm:"-" json:"-"`
CreatedUnix int64
}
@@ -52,9 +50,9 @@ func (n *Notice) TrStr() string {
// CreateNotice creates new system notice.
func CreateNotice(tp NoticeType, desc string) error {
// prevent panic if database connection is not available at this point
// Prevent panic if database connection is not available at this point
if x == nil {
return fmt.Errorf("Could not save notice due database connection not being available: %d %s", tp, desc)
return fmt.Errorf("could not save notice due database connection not being available: %d %s", tp, desc)
}
n := &Notice{
@@ -73,24 +71,11 @@ func CreateRepositoryNotice(desc string) error {
// RemoveAllWithNotice removes all directories in given path and
// creates a system notice when error occurs.
func RemoveAllWithNotice(title, path string) {
var err error
// LEGACY [Go 1.7]: workaround for Go not being able to remove read-only files/folders: https://github.com/golang/go/issues/9606
// this bug should be fixed on Go 1.7, so the workaround should be removed when Gogs don't support Go 1.6 anymore:
// https://github.com/golang/go/commit/2ffb3e5d905b5622204d199128dec06cefd57790
// Note: Windows complains when delete target does not exist, therefore we can skip deletion in such cases.
if setting.IsWindows && com.IsExist(path) {
// converting "/" to "\" in path on Windows
path = strings.Replace(path, "/", "\\", -1)
err = exec.Command("cmd", "/C", "rmdir", "/S", "/Q", path).Run()
} else {
err = os.RemoveAll(path)
}
if err != nil {
if err := os.RemoveAll(path); err != nil {
desc := fmt.Sprintf("%s [%s]: %v", title, path, err)
log.Warn(desc)
if err = CreateRepositoryNotice(desc); err != nil {
log.Error(4, "CreateRepositoryNotice: %v", err)
log.Error(2, "CreateRepositoryNotice: %v", err)
}
}
}

View File

@@ -15,7 +15,7 @@ import (
"github.com/go-xorm/xorm"
gouuid "github.com/satori/go.uuid"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/setting"
)
// Attachment represent a attachment of issue/comment/release.
@@ -27,7 +27,7 @@ type Attachment struct {
ReleaseID int64 `xorm:"INDEX"`
Name string
Created time.Time `xorm:"-"`
Created time.Time `xorm:"-" json:"-"`
CreatedUnix int64
}
@@ -165,7 +165,6 @@ func DeleteAttachments(attachments []*Attachment, remove bool) (int, error) {
// DeleteAttachmentsByIssue deletes all attachments associated with the given issue.
func DeleteAttachmentsByIssue(issueId int64, remove bool) (int, error) {
attachments, err := GetAttachmentsByIssueID(issueId)
if err != nil {
return 0, err
}
@@ -176,7 +175,6 @@ func DeleteAttachmentsByIssue(issueId int64, remove bool) (int, error) {
// DeleteAttachmentsByComment deletes all attachments associated with the given comment.
func DeleteAttachmentsByComment(commentId int64, remove bool) (int, error) {
attachments, err := GetAttachmentsByCommentID(commentId)
if err != nil {
return 0, err
}

View File

@@ -13,10 +13,10 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
api "github.com/gogits/go-gogs-client"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/markup"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/markup"
)
// CommentType defines whether a comment is just a simple comment, an action (like close) or a reference.
@@ -52,26 +52,26 @@ type Comment struct {
ID int64
Type CommentType
PosterID int64
Poster *User `xorm:"-"`
Poster *User `xorm:"-" json:"-"`
IssueID int64 `xorm:"INDEX"`
Issue *Issue `xorm:"-"`
Issue *Issue `xorm:"-" json:"-"`
CommitID int64
Line int64
Content string `xorm:"TEXT"`
RenderedContent string `xorm:"-"`
RenderedContent string `xorm:"-" json:"-"`
Created time.Time `xorm:"-"`
Created time.Time `xorm:"-" json:"-"`
CreatedUnix int64
Updated time.Time `xorm:"-"`
Updated time.Time `xorm:"-" json:"-"`
UpdatedUnix int64
// Reference issue in commit message
CommitSHA string `xorm:"VARCHAR(40)"`
Attachments []*Attachment `xorm:"-"`
Attachments []*Attachment `xorm:"-" json:"-"`
// For view issue page.
ShowTag CommentTag `xorm:"-"`
ShowTag CommentTag `xorm:"-" json:"-"`
}
func (c *Comment) BeforeInsert() {
@@ -110,6 +110,12 @@ func (c *Comment) loadAttributes(e Engine) (err error) {
if err != nil {
return fmt.Errorf("getIssueByID [%d]: %v", c.IssueID, err)
}
if c.Issue.Repo == nil {
c.Issue.Repo, err = getRepositoryByID(e, c.Issue.RepoID)
if err != nil {
return fmt.Errorf("getRepositoryByID [%d]: %v", c.Issue.RepoID, err)
}
}
}
if c.Attachments == nil {
@@ -126,14 +132,6 @@ func (c *Comment) LoadAttributes() error {
return c.loadAttributes(x)
}
func (c *Comment) AfterDelete() {
_, err := DeleteAttachmentsByComment(c.ID, true)
if err != nil {
log.Info("Could not delete files for comment %d on issue #%d: %s", c.ID, c.IssueID, err)
}
}
func (c *Comment) HTMLURL() string {
return fmt.Sprintf("%s#issuecomment-%d", c.Issue.HTMLURL(), c.ID)
}
@@ -182,7 +180,7 @@ func (cmt *Comment) mailParticipants(e Engine, opType ActionType, issue *Issue)
issue.Content = fmt.Sprintf("Reopened #%d", issue.Index)
}
if err = mailIssueCommentToParticipants(issue, cmt.Poster, mentions); err != nil {
log.Error(4, "mailIssueCommentToParticipants: %v", err)
log.Error(2, "mailIssueCommentToParticipants: %v", err)
}
return nil
@@ -284,10 +282,10 @@ func createComment(e *xorm.Session, opts *CreateCommentOptions) (_ *Comment, err
// Notify watchers for whatever action comes in, ignore if no action type.
if act.OpType > 0 {
if err = notifyWatchers(e, act); err != nil {
log.Error(4, "notifyWatchers: %v", err)
log.Error(2, "notifyWatchers: %v", err)
}
if err = comment.mailParticipants(e, act.OpType, opts.Issue); err != nil {
log.Error(4, "MailParticipants: %v", err)
log.Error(2, "MailParticipants: %v", err)
}
}
@@ -323,7 +321,7 @@ type CreateCommentOptions struct {
// CreateComment creates comment of issue or commit.
func CreateComment(opts *CreateCommentOptions) (comment *Comment, err error) {
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return nil, err
}
@@ -431,9 +429,9 @@ func getCommentsByIssueIDSince(e Engine, issueID, since int64) ([]*Comment, erro
func getCommentsByRepoIDSince(e Engine, repoID, since int64) ([]*Comment, error) {
comments := make([]*Comment, 0, 10)
sess := e.Where("issue.repo_id = ?", repoID).Join("INNER", "issue", "issue.id = comment.issue_id", repoID).Asc("created_unix")
sess := e.Where("issue.repo_id = ?", repoID).Join("INNER", "issue", "issue.id = comment.issue_id").Asc("comment.created_unix")
if since > 0 {
sess.And("updated_unix >= ?", since)
sess.And("comment.updated_unix >= ?", since)
}
if err := sess.Find(&comments); err != nil {
return nil, err
@@ -497,12 +495,12 @@ func DeleteCommentByID(doer *User, id int64) error {
}
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
if _, err = sess.Id(comment.ID).Delete(new(Comment)); err != nil {
if _, err = sess.ID(comment.ID).Delete(new(Comment)); err != nil {
return err
}
@@ -513,7 +511,12 @@ func DeleteCommentByID(doer *User, id int64) error {
}
if err = sess.Commit(); err != nil {
return fmt.Errorf("Commit: %v", err)
return fmt.Errorf("commit: %v", err)
}
_, err = DeleteAttachmentsByComment(comment.ID, true)
if err != nil {
log.Error(2, "Failed to delete attachments by comment[%d]: %v", comment.ID, err)
}
if err = comment.Issue.LoadAttributes(); err != nil {

View File

@@ -388,26 +388,6 @@ func (err ErrRepoFileAlreadyExist) Error() string {
return fmt.Sprintf("repository file already exists [file_name: %s]", err.FileName)
}
// __________ .__
// \______ \____________ ____ ____ | |__
// | | _/\_ __ \__ \ / \_/ ___\| | \
// | | \ | | \// __ \| | \ \___| Y \
// |______ / |__| (____ /___| /\___ >___| /
// \/ \/ \/ \/ \/
type ErrBranchNotExist struct {
Name string
}
func IsErrBranchNotExist(err error) bool {
_, ok := err.(ErrBranchNotExist)
return ok
}
func (err ErrBranchNotExist) Error() string {
return fmt.Sprintf("branch does not exist [name: %s]", err.Name)
}
// __________ .__ .__ __________ __
// \______ \__ __| | | |\______ \ ____ ________ __ ____ _______/ |_
// | ___/ | \ | | | | _// __ \/ ____/ | \_/ __ \ / ___/\ __\
@@ -525,19 +505,6 @@ func (err ErrAttachmentNotExist) Error() string {
// |_______ \____/\___ /|__|___| / /_______ /\____/|____/ |__| \___ >___ >
// \/ /_____/ \/ \/ \/ \/
type ErrLoginSourceNotExist struct {
ID int64
}
func IsErrLoginSourceNotExist(err error) bool {
_, ok := err.(ErrLoginSourceNotExist)
return ok
}
func (err ErrLoginSourceNotExist) Error() string {
return fmt.Sprintf("login source does not exist [id: %d]", err.ID)
}
type ErrLoginSourceAlreadyExist struct {
Name string
}

View File

@@ -6,6 +6,8 @@ package errors
import "errors"
var InternalServerError = errors.New("internal server error")
// New is a wrapper of real errors.New function.
func New(text string) error {
return errors.New(text)

View File

@@ -6,6 +6,19 @@ package errors
import "fmt"
type LoginSourceNotExist struct {
ID int64
}
func IsLoginSourceNotExist(err error) bool {
_, ok := err.(LoginSourceNotExist)
return ok
}
func (err LoginSourceNotExist) Error() string {
return fmt.Sprintf("login source does not exist [id: %d]", err.ID)
}
type LoginSourceNotActivated struct {
SourceID int64
}
@@ -31,3 +44,17 @@ func IsInvalidLoginSourceType(err error) bool {
func (err InvalidLoginSourceType) Error() string {
return fmt.Sprintf("invalid login source type [type: %v]", err.Type)
}
type LoginSourceMismatch struct {
Expect int64
Actual int64
}
func IsLoginSourceMismatch(err error) bool {
_, ok := err.(LoginSourceMismatch)
return ok
}
func (err LoginSourceMismatch) Error() string {
return fmt.Sprintf("login source mismatch [expect: %d, actual: %d]", err.Expect, err.Actual)
}

21
models/errors/org.go Normal file
View File

@@ -0,0 +1,21 @@
// Copyright 2018 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 errors
import "fmt"
type TeamNotExist struct {
TeamID int64
Name string
}
func IsTeamNotExist(err error) bool {
_, ok := err.(TeamNotExist)
return ok
}
func (err TeamNotExist) Error() string {
return fmt.Sprintf("team does not exist [team_id: %d, name: %s]", err.TeamID, err.Name)
}

View File

@@ -59,3 +59,29 @@ func IsMirrorNotExist(err error) bool {
func (err MirrorNotExist) Error() string {
return fmt.Sprintf("mirror does not exist [repo_id: %d]", err.RepoID)
}
type BranchAlreadyExists struct {
Name string
}
func IsBranchAlreadyExists(err error) bool {
_, ok := err.(BranchAlreadyExists)
return ok
}
func (err BranchAlreadyExists) Error() string {
return fmt.Sprintf("branch already exists [name: %s]", err.Name)
}
type ErrBranchNotExist struct {
Name string
}
func IsErrBranchNotExist(err error) bool {
_, ok := err.(ErrBranchNotExist)
return ok
}
func (err ErrBranchNotExist) Error() string {
return fmt.Sprintf("branch does not exist [name: %s]", err.Name)
}

View File

@@ -15,11 +15,11 @@ import (
"golang.org/x/net/html/charset"
"golang.org/x/text/transform"
"github.com/gogits/git-module"
"github.com/gogs/git-module"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/template/highlight"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/template/highlight"
"github.com/gogs/gogs/pkg/tool"
)
type DiffSection struct {

View File

@@ -8,7 +8,7 @@ import (
"html/template"
"testing"
"github.com/gogits/git-module"
"github.com/gogs/git-module"
dmp "github.com/sergi/go-diff/diffmatchpatch"
)

View File

@@ -13,11 +13,11 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
api "github.com/gogits/go-gogs-client"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/tool"
)
var (
@@ -28,34 +28,34 @@ var (
type Issue struct {
ID int64
RepoID int64 `xorm:"INDEX UNIQUE(repo_index)"`
Repo *Repository `xorm:"-"`
Repo *Repository `xorm:"-" json:"-"`
Index int64 `xorm:"UNIQUE(repo_index)"` // Index in one repository.
PosterID int64
Poster *User `xorm:"-"`
Poster *User `xorm:"-" json:"-"`
Title string `xorm:"name"`
Content string `xorm:"TEXT"`
RenderedContent string `xorm:"-"`
Labels []*Label `xorm:"-"`
RenderedContent string `xorm:"-" json:"-"`
Labels []*Label `xorm:"-" json:"-"`
MilestoneID int64
Milestone *Milestone `xorm:"-"`
Milestone *Milestone `xorm:"-" json:"-"`
Priority int
AssigneeID int64
Assignee *User `xorm:"-"`
Assignee *User `xorm:"-" json:"-"`
IsClosed bool
IsRead bool `xorm:"-"`
IsRead bool `xorm:"-" json:"-"`
IsPull bool // Indicates whether is a pull request or not.
PullRequest *PullRequest `xorm:"-"`
PullRequest *PullRequest `xorm:"-" json:"-"`
NumComments int
Deadline time.Time `xorm:"-"`
Deadline time.Time `xorm:"-" json:"-"`
DeadlineUnix int64
Created time.Time `xorm:"-"`
Created time.Time `xorm:"-" json:"-"`
CreatedUnix int64
Updated time.Time `xorm:"-"`
Updated time.Time `xorm:"-" json:"-"`
UpdatedUnix int64
Attachments []*Attachment `xorm:"-"`
Comments []*Comment `xorm:"-"`
Attachments []*Attachment `xorm:"-" json:"-"`
Comments []*Comment `xorm:"-" json:"-"`
}
func (issue *Issue) BeforeInsert() {
@@ -160,8 +160,8 @@ func (issue *Issue) HTMLURL() string {
}
// State returns string representation of issue status.
func (i *Issue) State() api.StateType {
if i.IsClosed {
func (issue *Issue) State() api.StateType {
if issue.IsClosed {
return api.STATE_CLOSED
}
return api.STATE_OPEN
@@ -208,22 +208,22 @@ func (issue *Issue) APIFormat() *api.Issue {
}
// HashTag returns unique hash tag for issue.
func (i *Issue) HashTag() string {
return "issue-" + com.ToStr(i.ID)
func (issue *Issue) HashTag() string {
return "issue-" + com.ToStr(issue.ID)
}
// IsPoster returns true if given user by ID is the poster.
func (i *Issue) IsPoster(uid int64) bool {
return i.PosterID == uid
func (issue *Issue) IsPoster(uid int64) bool {
return issue.PosterID == uid
}
func (i *Issue) hasLabel(e Engine, labelID int64) bool {
return hasIssueLabel(e, i.ID, labelID)
func (issue *Issue) hasLabel(e Engine, labelID int64) bool {
return hasIssueLabel(e, issue.ID, labelID)
}
// HasLabel returns true if issue has been labeled by given ID.
func (i *Issue) HasLabel(labelID int64) bool {
return i.hasLabel(x, labelID)
func (issue *Issue) HasLabel(labelID int64) bool {
return issue.hasLabel(x, labelID)
}
func (issue *Issue) sendLabelUpdatedWebhook(doer *User) {
@@ -255,8 +255,8 @@ func (issue *Issue) sendLabelUpdatedWebhook(doer *User) {
}
}
func (i *Issue) addLabel(e *xorm.Session, label *Label) error {
return newIssueLabel(e, i, label)
func (issue *Issue) addLabel(e *xorm.Session, label *Label) error {
return newIssueLabel(e, issue, label)
}
// AddLabel adds a new label to the issue.
@@ -314,8 +314,13 @@ func (issue *Issue) clearLabels(e *xorm.Session) (err error) {
return fmt.Errorf("getLabels: %v", err)
}
// NOTE: issue.removeLabel slices issue.Labels, so we need to create another slice to be unaffected.
labels := make([]*Label, len(issue.Labels))
for i := range issue.Labels {
if err = issue.removeLabel(e, issue.Labels[i]); err != nil {
labels[i] = issue.Labels[i]
}
for i := range labels {
if err = issue.removeLabel(e, labels[i]); err != nil {
return fmt.Errorf("removeLabel: %v", err)
}
}
@@ -325,7 +330,7 @@ func (issue *Issue) clearLabels(e *xorm.Session) (err error) {
func (issue *Issue) ClearLabels(doer *User) (err error) {
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -370,7 +375,7 @@ func (issue *Issue) ClearLabels(doer *User) (err error) {
// ReplaceLabels removes all current labels and add new labels to the issue.
func (issue *Issue) ReplaceLabels(labels []*Label) (err error) {
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -384,12 +389,12 @@ func (issue *Issue) ReplaceLabels(labels []*Label) (err error) {
return sess.Commit()
}
func (i *Issue) GetAssignee() (err error) {
if i.AssigneeID == 0 || i.Assignee != nil {
func (issue *Issue) GetAssignee() (err error) {
if issue.AssigneeID == 0 || issue.Assignee != nil {
return nil
}
i.Assignee, err = GetUserByID(i.AssigneeID)
issue.Assignee, err = GetUserByID(issue.AssigneeID)
if errors.IsUserNotExist(err) {
return nil
}
@@ -397,12 +402,12 @@ func (i *Issue) GetAssignee() (err error) {
}
// ReadBy sets issue to be read by given user.
func (i *Issue) ReadBy(uid int64) error {
return UpdateIssueUserByRead(uid, i.ID)
func (issue *Issue) ReadBy(uid int64) error {
return UpdateIssueUserByRead(uid, issue.ID)
}
func updateIssueCols(e Engine, issue *Issue, cols ...string) error {
_, err := e.Id(issue.ID).Cols(cols...).Update(issue)
_, err := e.ID(issue.ID).Cols(cols...).Update(issue)
return err
}
@@ -411,41 +416,41 @@ func UpdateIssueCols(issue *Issue, cols ...string) error {
return updateIssueCols(x, issue, cols...)
}
func (i *Issue) changeStatus(e *xorm.Session, doer *User, repo *Repository, isClosed bool) (err error) {
func (issue *Issue) changeStatus(e *xorm.Session, doer *User, repo *Repository, isClosed bool) (err error) {
// Nothing should be performed if current status is same as target status
if i.IsClosed == isClosed {
if issue.IsClosed == isClosed {
return nil
}
i.IsClosed = isClosed
issue.IsClosed = isClosed
if err = updateIssueCols(e, i, "is_closed"); err != nil {
if err = updateIssueCols(e, issue, "is_closed"); err != nil {
return err
} else if err = updateIssueUsersByStatus(e, i.ID, isClosed); err != nil {
} else if err = updateIssueUsersByStatus(e, issue.ID, isClosed); err != nil {
return err
}
// Update issue count of labels
if err = i.getLabels(e); err != nil {
if err = issue.getLabels(e); err != nil {
return err
}
for idx := range i.Labels {
if i.IsClosed {
i.Labels[idx].NumClosedIssues++
for idx := range issue.Labels {
if issue.IsClosed {
issue.Labels[idx].NumClosedIssues++
} else {
i.Labels[idx].NumClosedIssues--
issue.Labels[idx].NumClosedIssues--
}
if err = updateLabel(e, i.Labels[idx]); err != nil {
if err = updateLabel(e, issue.Labels[idx]); err != nil {
return err
}
}
// Update issue count of milestone
if err = changeMilestoneIssueStats(e, i); err != nil {
if err = changeMilestoneIssueStats(e, issue); err != nil {
return err
}
// New action comment
if _, err = createStatusComment(e, doer, repo, i); err != nil {
if _, err = createStatusComment(e, doer, repo, issue); err != nil {
return err
}
@@ -455,7 +460,7 @@ func (i *Issue) changeStatus(e *xorm.Session, doer *User, repo *Repository, isCl
// ChangeStatus changes issue status to open or closed.
func (issue *Issue) ChangeStatus(doer *User, repo *Repository, isClosed bool) (err error) {
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -744,7 +749,7 @@ func newIssue(e *xorm.Session, opts NewIssueOptions) (err error) {
// NewIssue creates new issue with labels and attachments for repository.
func NewIssue(repo *Repository, issue *Issue, labelIDs []int64, uuids []string) (err error) {
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -799,9 +804,9 @@ func GetIssueByRef(ref string) (*Issue, error) {
return nil, errors.InvalidIssueReference{ref}
}
index, err := com.StrTo(ref[n+1:]).Int64()
if err != nil {
return nil, err
index := com.StrTo(ref[n+1:]).MustInt64()
if index == 0 {
return nil, errors.IssueNotExist{}
}
repo, err := GetRepositoryByRef(ref[:n])
@@ -843,7 +848,7 @@ func GetIssueByIndex(repoID, index int64) (*Issue, error) {
func getRawIssueByID(e Engine, id int64) (*Issue, error) {
issue := new(Issue)
has, err := e.Id(id).Get(issue)
has, err := e.ID(id).Get(issue)
if err != nil {
return nil, err
} else if !has {
@@ -1062,7 +1067,7 @@ func newIssueUsers(e *xorm.Session, repo *Repository, issue *Issue) error {
// NewIssueUsers adds new issue-user relations for new issue of repository.
func NewIssueUsers(repo *Repository, issue *Issue) (err error) {
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -1354,7 +1359,7 @@ func GetRepoIssueStats(repoID, userID int64, filterMode FilterMode, isPull bool)
}
func updateIssue(e Engine, issue *Issue) error {
_, err := e.Id(issue.ID).AllCols().Update(issue)
_, err := e.ID(issue.ID).AllCols().Update(issue)
return err
}
@@ -1391,7 +1396,7 @@ func updateIssueUserByAssignee(e *xorm.Session, issue *Issue) (err error) {
// UpdateIssueUserByAssignee updates issue-user relation for assignee.
func UpdateIssueUserByAssignee(issue *Issue) (err error) {
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -1423,7 +1428,7 @@ func updateIssueUsersByMentions(e Engine, issueID int64, uids []int64) error {
iu.IsMentioned = true
if has {
_, err = e.Id(iu.ID).AllCols().Update(iu)
_, err = e.ID(iu.ID).AllCols().Update(iu)
} else {
_, err = e.Insert(iu)
}

View File

@@ -13,9 +13,9 @@ import (
"github.com/go-xorm/xorm"
api "github.com/gogits/go-gogs-client"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/pkg/tool"
)
var labelColorPattern = regexp.MustCompile("#([a-fA-F0-9]{6})")
@@ -60,8 +60,8 @@ type Label struct {
Color string `xorm:"VARCHAR(7)"`
NumIssues int
NumClosedIssues int
NumOpenIssues int `xorm:"-"`
IsChecked bool `xorm:"-"`
NumOpenIssues int `xorm:"-" json:"-"`
IsChecked bool `xorm:"-" json:"-"`
}
func (label *Label) APIFormat() *api.Label {
@@ -196,7 +196,7 @@ func GetLabelsByIssueID(issueID int64) ([]*Label, error) {
}
func updateLabel(e Engine, l *Label) error {
_, err := e.Id(l.ID).AllCols().Update(l)
_, err := e.ID(l.ID).AllCols().Update(l)
return err
}
@@ -216,12 +216,12 @@ func DeleteLabel(repoID, labelID int64) error {
}
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
if _, err = sess.Id(labelID).Delete(new(Label)); err != nil {
if _, err = sess.ID(labelID).Delete(new(Label)); err != nil {
return err
} else if _, err = sess.Where("label_id = ?", labelID).Delete(new(IssueLabel)); err != nil {
return err
@@ -282,7 +282,7 @@ func NewIssueLabel(issue *Issue, label *Label) (err error) {
}
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -311,7 +311,7 @@ func newIssueLabels(e *xorm.Session, issue *Issue, labels []*Label) (err error)
// NewIssueLabels creates a list of issue-label relations.
func NewIssueLabels(issue *Issue, labels []*Label) (err error) {
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -361,7 +361,7 @@ func deleteIssueLabel(e *xorm.Session, issue *Issue, label *Label) (err error) {
// DeleteIssueLabel deletes issue-label relation.
func DeleteIssueLabel(issue *Issue, label *Label) (err error) {
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}

View File

@@ -10,9 +10,9 @@ import (
"github.com/Unknwon/com"
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/pkg/mailer"
"github.com/gogits/gogs/pkg/markup"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/mailer"
"github.com/gogs/gogs/pkg/markup"
"github.com/gogs/gogs/pkg/setting"
)
func (issue *Issue) MailSubject() string {
@@ -92,7 +92,7 @@ func NewMailerIssue(issue *Issue) mailer.Issue {
// mailIssueCommentToParticipants can be used for both new issue creation and comment.
// This functions sends two list of emails:
// 1. Repository watchers and users who are participated in comments.
// 1. Repository watchers, users who participated in comments and the assignee.
// 2. Users who are not in 1. but get mentioned in current issue/comment.
func mailIssueCommentToParticipants(issue *Issue, doer *User, mentions []string) error {
if !setting.Service.EnableNotifyMail {
@@ -142,6 +142,12 @@ func mailIssueCommentToParticipants(issue *Issue, doer *User, mentions []string)
tos = append(tos, participants[i].Email)
names = append(names, participants[i].Name)
}
if issue.Assignee != nil && issue.Assignee.ID != doer.ID {
if !com.IsSliceContainsStr(names, issue.Assignee.Name) {
tos = append(tos, issue.Assignee.Email)
names = append(names, issue.Assignee.Name)
}
}
mailer.SendIssueCommentMail(NewMailerIssue(issue), NewMailerRepo(issue.Repo), NewMailerUser(doer), tos)
// Mail mentioned people and exclude watchers.
@@ -155,7 +161,6 @@ func mailIssueCommentToParticipants(issue *Issue, doer *User, mentions []string)
tos = append(tos, mentions[i])
}
mailer.SendIssueMentionMail(NewMailerIssue(issue), NewMailerRepo(issue.Repo), NewMailerUser(doer), GetUserEmailsByNames(tos))
return nil
}
@@ -168,7 +173,7 @@ func (issue *Issue) MailParticipants() (err error) {
}
if err = mailIssueCommentToParticipants(issue, issue.Poster, mentions); err != nil {
log.Error(4, "mailIssueCommentToParticipants: %v", err)
log.Error(2, "mailIssueCommentToParticipants: %v", err)
}
return nil

View File

@@ -2,26 +2,33 @@
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
// FIXME: Put this file into its own package and separate into different files based on login sources.
package models
import (
"crypto/tls"
"encoding/json"
"fmt"
"net/smtp"
"net/textproto"
"os"
"path"
"strings"
"sync"
"time"
"github.com/Unknwon/com"
"github.com/go-macaron/binding"
"github.com/go-xorm/core"
"github.com/go-xorm/xorm"
"github.com/json-iterator/go"
log "gopkg.in/clog.v1"
"gopkg.in/ini.v1"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/auth/ldap"
"github.com/gogits/gogs/pkg/auth/pam"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/auth/github"
"github.com/gogs/gogs/pkg/auth/ldap"
"github.com/gogs/gogs/pkg/auth/pam"
"github.com/gogs/gogs/pkg/setting"
)
type LoginType int
@@ -34,13 +41,15 @@ const (
LOGIN_SMTP // 3
LOGIN_PAM // 4
LOGIN_DLDAP // 5
LOGIN_GITHUB // 6
)
var LoginNames = map[LoginType]string{
LOGIN_LDAP: "LDAP (via BindDN)",
LOGIN_DLDAP: "LDAP (simple auth)", // Via direct bind
LOGIN_SMTP: "SMTP",
LOGIN_PAM: "PAM",
LOGIN_LDAP: "LDAP (via BindDN)",
LOGIN_DLDAP: "LDAP (simple auth)", // Via direct bind
LOGIN_SMTP: "SMTP",
LOGIN_PAM: "PAM",
LOGIN_GITHUB: "GitHub",
}
var SecurityProtocolNames = map[ldap.SecurityProtocol]string{
@@ -54,18 +63,19 @@ var (
_ core.Conversion = &LDAPConfig{}
_ core.Conversion = &SMTPConfig{}
_ core.Conversion = &PAMConfig{}
_ core.Conversion = &GitHubConfig{}
)
type LDAPConfig struct {
*ldap.Source
*ldap.Source `ini:"config"`
}
func (cfg *LDAPConfig) FromDB(bs []byte) error {
return json.Unmarshal(bs, &cfg)
return jsoniter.Unmarshal(bs, &cfg)
}
func (cfg *LDAPConfig) ToDB() ([]byte, error) {
return json.Marshal(cfg)
return jsoniter.Marshal(cfg)
}
func (cfg *LDAPConfig) SecurityProtocolName() string {
@@ -77,28 +87,61 @@ type SMTPConfig struct {
Host string
Port int
AllowedDomains string `xorm:"TEXT"`
TLS bool
TLS bool `ini:"tls"`
SkipVerify bool
}
func (cfg *SMTPConfig) FromDB(bs []byte) error {
return json.Unmarshal(bs, cfg)
return jsoniter.Unmarshal(bs, cfg)
}
func (cfg *SMTPConfig) ToDB() ([]byte, error) {
return json.Marshal(cfg)
return jsoniter.Marshal(cfg)
}
type PAMConfig struct {
ServiceName string // pam service (e.g. system-auth)
ServiceName string // PAM service (e.g. system-auth)
}
func (cfg *PAMConfig) FromDB(bs []byte) error {
return json.Unmarshal(bs, &cfg)
return jsoniter.Unmarshal(bs, &cfg)
}
func (cfg *PAMConfig) ToDB() ([]byte, error) {
return json.Marshal(cfg)
return jsoniter.Marshal(cfg)
}
type GitHubConfig struct {
APIEndpoint string // GitHub service (e.g. https://api.github.com/)
}
func (cfg *GitHubConfig) FromDB(bs []byte) error {
return jsoniter.Unmarshal(bs, &cfg)
}
func (cfg *GitHubConfig) ToDB() ([]byte, error) {
return jsoniter.Marshal(cfg)
}
// AuthSourceFile contains information of an authentication source file.
type AuthSourceFile struct {
abspath string
file *ini.File
}
// SetGeneral sets new value to the given key in the general (default) section.
func (f *AuthSourceFile) SetGeneral(name, value string) {
f.file.Section("").Key(name).SetValue(value)
}
// SetConfig sets new values to the "config" section.
func (f *AuthSourceFile) SetConfig(cfg core.Conversion) error {
return f.file.Section("config").ReflectFrom(cfg)
}
// Save writes updates into file system.
func (f *AuthSourceFile) Save() error {
return f.file.SaveTo(f.abspath)
}
// LoginSource represents an external way for authorizing users.
@@ -107,12 +150,15 @@ type LoginSource struct {
Type LoginType
Name string `xorm:"UNIQUE"`
IsActived bool `xorm:"NOT NULL DEFAULT false"`
IsDefault bool `xorm:"DEFAULT false"`
Cfg core.Conversion `xorm:"TEXT"`
Created time.Time `xorm:"-"`
Created time.Time `xorm:"-" json:"-"`
CreatedUnix int64
Updated time.Time `xorm:"-"`
Updated time.Time `xorm:"-" json:"-"`
UpdatedUnix int64
LocalFile *AuthSourceFile `xorm:"-" json:"-"`
}
func (s *LoginSource) BeforeInsert() {
@@ -135,16 +181,18 @@ func Cell2Int64(val xorm.Cell) int64 {
return (*val).(int64)
}
func (source *LoginSource) BeforeSet(colName string, val xorm.Cell) {
func (s *LoginSource) BeforeSet(colName string, val xorm.Cell) {
switch colName {
case "type":
switch LoginType(Cell2Int64(val)) {
case LOGIN_LDAP, LOGIN_DLDAP:
source.Cfg = new(LDAPConfig)
s.Cfg = new(LDAPConfig)
case LOGIN_SMTP:
source.Cfg = new(SMTPConfig)
s.Cfg = new(SMTPConfig)
case LOGIN_PAM:
source.Cfg = new(PAMConfig)
s.Cfg = new(PAMConfig)
case LOGIN_GITHUB:
s.Cfg = new(GitHubConfig)
default:
panic("unrecognized login source type: " + com.ToStr(*val))
}
@@ -160,65 +208,74 @@ func (s *LoginSource) AfterSet(colName string, _ xorm.Cell) {
}
}
func (source *LoginSource) TypeName() string {
return LoginNames[source.Type]
func (s *LoginSource) TypeName() string {
return LoginNames[s.Type]
}
func (source *LoginSource) IsLDAP() bool {
return source.Type == LOGIN_LDAP
func (s *LoginSource) IsLDAP() bool {
return s.Type == LOGIN_LDAP
}
func (source *LoginSource) IsDLDAP() bool {
return source.Type == LOGIN_DLDAP
func (s *LoginSource) IsDLDAP() bool {
return s.Type == LOGIN_DLDAP
}
func (source *LoginSource) IsSMTP() bool {
return source.Type == LOGIN_SMTP
func (s *LoginSource) IsSMTP() bool {
return s.Type == LOGIN_SMTP
}
func (source *LoginSource) IsPAM() bool {
return source.Type == LOGIN_PAM
func (s *LoginSource) IsPAM() bool {
return s.Type == LOGIN_PAM
}
func (source *LoginSource) HasTLS() bool {
return ((source.IsLDAP() || source.IsDLDAP()) &&
source.LDAP().SecurityProtocol > ldap.SECURITY_PROTOCOL_UNENCRYPTED) ||
source.IsSMTP()
func (s *LoginSource) IsGitHub() bool {
return s.Type == LOGIN_GITHUB
}
func (source *LoginSource) UseTLS() bool {
switch source.Type {
func (s *LoginSource) HasTLS() bool {
return ((s.IsLDAP() || s.IsDLDAP()) &&
s.LDAP().SecurityProtocol > ldap.SECURITY_PROTOCOL_UNENCRYPTED) ||
s.IsSMTP()
}
func (s *LoginSource) UseTLS() bool {
switch s.Type {
case LOGIN_LDAP, LOGIN_DLDAP:
return source.LDAP().SecurityProtocol != ldap.SECURITY_PROTOCOL_UNENCRYPTED
return s.LDAP().SecurityProtocol != ldap.SECURITY_PROTOCOL_UNENCRYPTED
case LOGIN_SMTP:
return source.SMTP().TLS
return s.SMTP().TLS
}
return false
}
func (source *LoginSource) SkipVerify() bool {
switch source.Type {
func (s *LoginSource) SkipVerify() bool {
switch s.Type {
case LOGIN_LDAP, LOGIN_DLDAP:
return source.LDAP().SkipVerify
return s.LDAP().SkipVerify
case LOGIN_SMTP:
return source.SMTP().SkipVerify
return s.SMTP().SkipVerify
}
return false
}
func (source *LoginSource) LDAP() *LDAPConfig {
return source.Cfg.(*LDAPConfig)
func (s *LoginSource) LDAP() *LDAPConfig {
return s.Cfg.(*LDAPConfig)
}
func (source *LoginSource) SMTP() *SMTPConfig {
return source.Cfg.(*SMTPConfig)
func (s *LoginSource) SMTP() *SMTPConfig {
return s.Cfg.(*SMTPConfig)
}
func (source *LoginSource) PAM() *PAMConfig {
return source.Cfg.(*PAMConfig)
func (s *LoginSource) PAM() *PAMConfig {
return s.Cfg.(*PAMConfig)
}
func (s *LoginSource) GitHub() *GitHubConfig {
return s.Cfg.(*GitHubConfig)
}
func CreateLoginSource(source *LoginSource) error {
has, err := x.Get(&LoginSource{Name: source.Name})
if err != nil {
@@ -228,12 +285,31 @@ func CreateLoginSource(source *LoginSource) error {
}
_, err = x.Insert(source)
return err
if err != nil {
return err
} else if source.IsDefault {
return ResetNonDefaultLoginSources(source)
}
return nil
}
// LoginSources returns all login sources defined.
func LoginSources() ([]*LoginSource, error) {
auths := make([]*LoginSource, 0, 5)
return auths, x.Find(&auths)
sources := make([]*LoginSource, 0, 2)
if err := x.Find(&sources); err != nil {
return nil, err
}
return append(sources, localLoginSources.List()...), nil
}
// ActivatedLoginSources returns login sources that are currently activated.
func ActivatedLoginSources() ([]*LoginSource, error) {
sources := make([]*LoginSource, 0, 2)
if err := x.Where("is_actived = ?", true).Find(&sources); err != nil {
return nil, fmt.Errorf("find activated login sources: %v", err)
}
return append(sources, localLoginSources.ActivatedList()...), nil
}
// GetLoginSourceByID returns login source by given ID.
@@ -243,14 +319,53 @@ func GetLoginSourceByID(id int64) (*LoginSource, error) {
if err != nil {
return nil, err
} else if !has {
return nil, ErrLoginSourceNotExist{id}
return localLoginSources.GetLoginSourceByID(id)
}
return source, nil
}
func UpdateSource(source *LoginSource) error {
_, err := x.Id(source.ID).AllCols().Update(source)
return err
// ResetNonDefaultLoginSources clean other default source flag
func ResetNonDefaultLoginSources(source *LoginSource) error {
// update changes to DB
if _, err := x.NotIn("id", []int64{source.ID}).Cols("is_default").Update(&LoginSource{IsDefault: false}); err != nil {
return err
}
// write changes to local authentications
for i := range localLoginSources.sources {
if localLoginSources.sources[i].LocalFile != nil && localLoginSources.sources[i].ID != source.ID {
localLoginSources.sources[i].LocalFile.SetGeneral("is_default", "false")
if err := localLoginSources.sources[i].LocalFile.SetConfig(source.Cfg); err != nil {
return fmt.Errorf("LocalFile.SetConfig: %v", err)
} else if err = localLoginSources.sources[i].LocalFile.Save(); err != nil {
return fmt.Errorf("LocalFile.Save: %v", err)
}
}
}
// flush memory so that web page can show the same behaviors
localLoginSources.UpdateLoginSource(source)
return nil
}
// UpdateLoginSource updates information of login source to database or local file.
func UpdateLoginSource(source *LoginSource) error {
if source.LocalFile == nil {
if _, err := x.Id(source.ID).AllCols().Update(source); err != nil {
return err
} else {
return ResetNonDefaultLoginSources(source)
}
}
source.LocalFile.SetGeneral("name", source.Name)
source.LocalFile.SetGeneral("is_activated", com.ToStr(source.IsActived))
source.LocalFile.SetGeneral("is_default", com.ToStr(source.IsDefault))
if err := source.LocalFile.SetConfig(source.Cfg); err != nil {
return fmt.Errorf("LocalFile.SetConfig: %v", err)
} else if err = source.LocalFile.Save(); err != nil {
return fmt.Errorf("LocalFile.Save: %v", err)
}
return ResetNonDefaultLoginSources(source)
}
func DeleteSource(source *LoginSource) error {
@@ -264,10 +379,155 @@ func DeleteSource(source *LoginSource) error {
return err
}
// CountLoginSources returns number of login sources.
// CountLoginSources returns total number of login sources.
func CountLoginSources() int64 {
count, _ := x.Count(new(LoginSource))
return count
return count + int64(localLoginSources.Len())
}
// LocalLoginSources contains authentication sources configured and loaded from local files.
// Calling its methods is thread-safe; otherwise, please maintain the mutex accordingly.
type LocalLoginSources struct {
sync.RWMutex
sources []*LoginSource
}
func (s *LocalLoginSources) Len() int {
return len(s.sources)
}
// List returns full clone of login sources.
func (s *LocalLoginSources) List() []*LoginSource {
s.RLock()
defer s.RUnlock()
list := make([]*LoginSource, s.Len())
for i := range s.sources {
list[i] = &LoginSource{}
*list[i] = *s.sources[i]
}
return list
}
// ActivatedList returns clone of activated login sources.
func (s *LocalLoginSources) ActivatedList() []*LoginSource {
s.RLock()
defer s.RUnlock()
list := make([]*LoginSource, 0, 2)
for i := range s.sources {
if !s.sources[i].IsActived {
continue
}
source := &LoginSource{}
*source = *s.sources[i]
list = append(list, source)
}
return list
}
// GetLoginSourceByID returns a clone of login source by given ID.
func (s *LocalLoginSources) GetLoginSourceByID(id int64) (*LoginSource, error) {
s.RLock()
defer s.RUnlock()
for i := range s.sources {
if s.sources[i].ID == id {
source := &LoginSource{}
*source = *s.sources[i]
return source, nil
}
}
return nil, errors.LoginSourceNotExist{id}
}
// UpdateLoginSource updates in-memory copy of the authentication source.
func (s *LocalLoginSources) UpdateLoginSource(source *LoginSource) {
s.Lock()
defer s.Unlock()
source.Updated = time.Now()
for i := range s.sources {
if s.sources[i].ID == source.ID {
*s.sources[i] = *source
} else if source.IsDefault {
s.sources[i].IsDefault = false
}
}
}
var localLoginSources = &LocalLoginSources{}
// LoadAuthSources loads authentication sources from local files
// and converts them into login sources.
func LoadAuthSources() {
authdPath := path.Join(setting.CustomPath, "conf/auth.d")
if !com.IsDir(authdPath) {
return
}
paths, err := com.GetFileListBySuffix(authdPath, ".conf")
if err != nil {
log.Fatal(2, "Failed to list authentication sources: %v", err)
}
localLoginSources.sources = make([]*LoginSource, 0, len(paths))
for _, fpath := range paths {
authSource, err := ini.Load(fpath)
if err != nil {
log.Fatal(2, "Failed to load authentication source: %v", err)
}
authSource.NameMapper = ini.TitleUnderscore
// Set general attributes
s := authSource.Section("")
loginSource := &LoginSource{
ID: s.Key("id").MustInt64(),
Name: s.Key("name").String(),
IsActived: s.Key("is_activated").MustBool(),
IsDefault: s.Key("is_default").MustBool(),
LocalFile: &AuthSourceFile{
abspath: fpath,
file: authSource,
},
}
fi, err := os.Stat(fpath)
if err != nil {
log.Fatal(2, "Failed to load authentication source: %v", err)
}
loginSource.Updated = fi.ModTime()
// Parse authentication source file
authType := s.Key("type").String()
switch authType {
case "ldap_bind_dn":
loginSource.Type = LOGIN_LDAP
loginSource.Cfg = &LDAPConfig{}
case "ldap_simple_auth":
loginSource.Type = LOGIN_DLDAP
loginSource.Cfg = &LDAPConfig{}
case "smtp":
loginSource.Type = LOGIN_SMTP
loginSource.Cfg = &SMTPConfig{}
case "pam":
loginSource.Type = LOGIN_PAM
loginSource.Cfg = &PAMConfig{}
case "github":
loginSource.Type = LOGIN_GITHUB
loginSource.Cfg = &GitHubConfig{}
default:
log.Fatal(2, "Failed to load authentication source: unknown type '%s'", authType)
}
if err = authSource.Section("config").MapTo(loginSource.Cfg); err != nil {
log.Fatal(2, "Failed to parse authentication source 'config': %v", err)
}
localLoginSources.sources = append(localLoginSources.sources, loginSource)
}
}
// .____ ________ _____ __________
@@ -497,7 +757,42 @@ func LoginViaPAM(user *User, login, password string, sourceID int64, cfg *PAMCon
return user, CreateUser(user)
}
func ExternalUserLogin(user *User, login, password string, source *LoginSource, autoRegister bool) (*User, error) {
//________.__ __ ___ ___ ___.
/// _____/|__|/ |_ / | \ __ _\_ |__
/// \ ___| \ __\/ ~ \ | \ __ \
//\ \_\ \ || | \ Y / | / \_\ \
//\______ /__||__| \___|_ /|____/|___ /
//\/ \/ \/
func LoginViaGitHub(user *User, login, password string, sourceID int64, cfg *GitHubConfig, autoRegister bool) (*User, error) {
fullname, email, url, location, err := github.Authenticate(cfg.APIEndpoint, login, password)
if err != nil {
if strings.Contains(err.Error(), "401") {
return nil, errors.UserNotExist{0, login}
}
return nil, err
}
if !autoRegister {
return user, nil
}
user = &User{
LowerName: strings.ToLower(login),
Name: login,
FullName: fullname,
Email: email,
Website: url,
Passwd: password,
LoginType: LOGIN_GITHUB,
LoginSource: sourceID,
LoginName: login,
IsActive: true,
Location: location,
}
return user, CreateUser(user)
}
func remoteUserLogin(user *User, login, password string, source *LoginSource, autoRegister bool) (*User, error) {
if !source.IsActived {
return nil, errors.LoginSourceNotActivated{source.ID}
}
@@ -509,13 +804,16 @@ func ExternalUserLogin(user *User, login, password string, source *LoginSource,
return LoginViaSMTP(user, login, password, source.ID, source.Cfg.(*SMTPConfig), autoRegister)
case LOGIN_PAM:
return LoginViaPAM(user, login, password, source.ID, source.Cfg.(*PAMConfig), autoRegister)
case LOGIN_GITHUB:
return LoginViaGitHub(user, login, password, source.ID, source.Cfg.(*GitHubConfig), autoRegister)
}
return nil, errors.InvalidLoginSourceType{source.Type}
}
// UserSignIn validates user name and password.
func UserSignIn(username, password string) (*User, error) {
// UserLogin validates user name and password via given login source ID.
// If the loginSourceID is negative, it will abort login process if user is not found.
func UserLogin(username, password string, loginSourceID int64) (*User, error) {
var user *User
if strings.Contains(username, "@") {
user = &User{Email: strings.ToLower(username)}
@@ -525,44 +823,44 @@ func UserSignIn(username, password string) (*User, error) {
hasUser, err := x.Get(user)
if err != nil {
return nil, err
return nil, fmt.Errorf("get user record: %v", err)
}
if hasUser {
switch user.LoginType {
case LOGIN_NOTYPE, LOGIN_PLAIN:
// Note: This check is unnecessary but to reduce user confusion at login page
// and make it more consistent at user's perspective.
if loginSourceID >= 0 && user.LoginSource != loginSourceID {
return nil, errors.LoginSourceMismatch{loginSourceID, user.LoginSource}
}
// Validate password hash fetched from database for local accounts
if user.LoginType == LOGIN_NOTYPE ||
user.LoginType == LOGIN_PLAIN {
if user.ValidatePassword(password) {
return user, nil
}
return nil, errors.UserNotExist{user.ID, user.Name}
default:
var source LoginSource
hasSource, err := x.Id(user.LoginSource).Get(&source)
if err != nil {
return nil, err
} else if !hasSource {
return nil, ErrLoginSourceNotExist{user.LoginSource}
}
return ExternalUserLogin(user, user.LoginName, password, &source, false)
}
// Remote login to the login source the user is associated with
source, err := GetLoginSourceByID(user.LoginSource)
if err != nil {
return nil, err
}
return remoteUserLogin(user, user.LoginName, password, source, false)
}
sources := make([]*LoginSource, 0, 3)
if err = x.UseBool().Find(&sources, &LoginSource{IsActived: true}); err != nil {
// Non-local login source is always greater than 0
if loginSourceID <= 0 {
return nil, errors.UserNotExist{-1, username}
}
source, err := GetLoginSourceByID(loginSourceID)
if err != nil {
return nil, err
}
for _, source := range sources {
authUser, err := ExternalUserLogin(nil, username, password, source, true)
if err == nil {
return authUser, nil
}
log.Warn("Failed to login '%s' via '%s': %v", username, source.Name, err)
}
return nil, errors.UserNotExist{user.ID, user.Name}
return remoteUserLogin(nil, username, password, source, true)
}

View File

@@ -13,7 +13,7 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/pkg/tool"
)
const _MIN_DB_VER = 10
@@ -64,6 +64,10 @@ var migrations = []Migration{
NewMigration("update repository sizes", updateRepositorySizes),
// v16 -> v17:v0.10.31
NewMigration("remove invalid protect branch whitelist", removeInvalidProtectBranchWhitelist),
// v17 -> v18:v0.11.48
NewMigration("store long text in repository description field", updateRepositoryDescriptionField),
// v18 -> v19:v0.11.55
NewMigration("clean unlinked webhook and hook_tasks", cleanUnlinkedWebhookAndHookTasks),
}
// Migrate database to current version
@@ -98,9 +102,9 @@ You can migrate your older database using a previous release, then you can upgra
Please save following instructions to somewhere and start working:
- If you were using below 0.6.0 (e.g. 0.5.x), download last supported archive from following link:
https://github.com/gogits/gogs/releases/tag/v0.7.33
https://github.com/gogs/gogs/releases/tag/v0.7.33
- If you were using below 0.7.0 (e.g. 0.6.x), download last supported archive from following link:
https://github.com/gogits/gogs/releases/tag/v0.9.141
https://github.com/gogs/gogs/releases/tag/v0.9.141
Once finished downloading,
@@ -133,13 +137,6 @@ In case you're stilling getting this notice, go through instructions again until
return nil
}
func sessionRelease(sess *xorm.Session) {
if !sess.IsCommitedOrRollbacked {
sess.Rollback()
}
sess.Close()
}
func generateOrgRandsAndSalt(x *xorm.Engine) (err error) {
type User struct {
ID int64 `xorm:"pk autoincr"`
@@ -153,7 +150,7 @@ func generateOrgRandsAndSalt(x *xorm.Engine) (err error) {
}
sess := x.NewSession()
defer sessionRelease(sess)
defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -165,7 +162,7 @@ func generateOrgRandsAndSalt(x *xorm.Engine) (err error) {
if org.Salt, err = tool.RandomString(10); err != nil {
return err
}
if _, err = sess.Id(org.ID).Update(org); err != nil {
if _, err = sess.ID(org.ID).Update(org); err != nil {
return err
}
}

Some files were not shown because too many files have changed in this diff Show More