Compare commits

...

330 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
76f3497e3b Fix embedded Postgres configuration and initialization order
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
2026-02-06 01:48:00 +00:00
copilot-swe-agent[bot]
74d4d9a262 Fix trailing whitespace in code review feedback
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
2026-02-06 01:32:05 +00:00
deepsource-autofix[bot]
f5daceef55 style: format code with Go fmt and Gofumpt
This commit fixes the style issues introduced in 4616bd6 according to the output
from Go fmt and Gofumpt.

Details: https://github.com/gogs/gogs/pull/8150
2026-02-06 01:29:34 +00:00
copilot-swe-agent[bot]
4616bd64dd Add embedded PostgreSQL support via --embedded-postgres flag
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
2026-02-06 01:29:19 +00:00
copilot-swe-agent[bot]
39b27c3503 Initial plan 2026-02-06 01:18:32 +00:00
Joe Chen
ed5d02e036 chore: free up "docs/" subdir for Mintlify
[skip ci]
2026-02-01 23:15:47 -05:00
dependabot[bot]
5874791a57 mod: bump golang.org/x/crypto from 0.45.0 to 0.47.0 (#8141)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-01 09:20:24 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
17ad3d3425 pkgr: fix up install main package path (#8146) 2026-02-01 09:12:12 -05:00
dependabot[bot]
9b2a967e45 mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.6.3 to 2.6.4 (#8143)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-01 09:01:09 -05:00
dependabot[bot]
e80635a449 mod: bump github.com/go-ldap/ldap/v3 from 3.4.11 to 3.4.12 (#8144)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-01 09:00:50 -05:00
Joe Chen
47bccf292d pkgr: fix up install path
[skip ci]
2026-02-01 08:53:52 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
38def73489 Update security policy for version support and advisories
[skip ci]
2026-02-01 08:16:22 -05:00
Copilot
6cf6422b88 Remove codecov config and upload in CI (#8145)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
2026-02-01 08:10:55 -05:00
dependabot[bot]
8d8d66ec1d mod: bump github.com/olekukonko/tablewriter from 1.1.0 to 1.1.3 (#8140)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-01 07:45:08 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
7ea2c4093f refactor: move main package from root to cmd/gogs (#8139)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 23:28:48 -05:00
dependabot[bot]
7ebfb202e4 mod: bump github.com/olekukonko/tablewriter from 0.0.5 to 1.1.0 (#8039)
Co-authored-by: Joe Chen <jc@unknwon.io>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 23:11:08 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
7b8c560f15 ci(go): use tparse for test output in non-Windows jobs (#8138)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 22:58:41 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
a636dcf678 fix(release): remove "v" prefix from archive names (#8137)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 22:42:45 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
3dcb74be39 release: cut CHANGELOG entries for 0.14.1
[skip ci]
2026-01-31 22:23:09 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
7ad425025e fix(ssh): git clone via built-in SSH server hangs (#8135)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 22:20:43 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
85abee4b9b chore: update release templates (#8134)
[skip ci]
2026-01-31 20:08:38 -05:00
Joe Chen
997c3c5eab chore: take care of legacy code 2026-01-31 20:07:49 -05:00
Joe Chen
a5ddb2665e chore: bump dev version to 0.15
[skip ci]
2026-01-31 20:04:55 -05:00
Joe Chen
b68e6886c6 release: cut CHANGELOG entries for 0.14.0
[skip ci]
2026-01-31 16:29:15 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
ac7ba9c8a7 locale: sync from Crowdin (#8131) 2026-01-31 16:07:47 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
dd862ee058 ci(docker): auto-tag minor version for stable releases (#8129)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 15:50:42 -05:00
Joe Chen
f94042ce6f chore: update release templates
[skip ci]
2026-01-31 15:17:59 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
628216d588 security: require authentication for attachment uploads (#8128)
https://github.com/gogs/gogs/security/advisories/GHSA-fc3h-92p8-h36f

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 14:40:39 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
7306b955a9 ci: use external unknwon/send-email-on-failure action (#8127) 2026-01-31 13:29:30 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
fc6d1e2055 ci(release): add email notification on failure for main branch (#8126)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 13:13:51 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
3b01892d85 fix(docker): correct binary path in Dockerfiles(#8125)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 13:02:25 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
7b7e38c880 security: prevent deletion of protected and default branches via web UI (#8124)
https://github.com/gogs/gogs/security/advisories/GHSA-2c6v-8r3v-gh6p

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 12:51:07 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
bb68c0a042 security: fix cross-repository label modification vulnerability (#8123)
https://github.com/gogs/gogs/security/advisories/GHSA-cv22-72px-f4gh

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 12:28:30 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
68271e6af0 chore: update vulnerability reporting guidelines
[skip ci]
2026-01-31 12:01:23 -05:00
Copilot
4f5b00f8c4 Build artifacts for every commit on main (#8122)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 11:58:45 -05:00
Joe Chen
5d3ffd132b chore: bunch of minor tidy-ups
[skip ci]
2026-01-31 09:59:32 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
ee65aa89ca ci: add cross-compilation workflow for releases (#8121)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 09:40:32 -05:00
dependabot[bot]
a1a97de76f mod: bump modernc.org/sqlite from 1.38.2 to 1.39.0 (#8038)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-30 23:19:19 -05:00
Matthias Jobst
9963268267 docker: ignore proxy for healthcheck command (#7532)
Co-authored-by: Joe Chen <jc@unknwon.io>
2026-01-30 23:12:49 -05:00
dependabot[bot]
49a45290ae mod: bump gopkg.in/macaron.v1 from 1.5.0 to 1.5.1 (#8035)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
2026-01-30 23:10:14 -05:00
Yaroslav Halchenko
3cc8e7aa6d Fix typos throughout the codebase (#7514) 2026-01-30 23:03:05 -05:00
Rajat Jain
9f1499f3ab Support comparing tags in addition to branches (#6493)
Co-authored-by: Joe Chen <jc@unknwon.io>
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-30 22:45:03 -05:00
Jeff Li
77dba1b5ea repo: fix 500 error on watchers and stargazers pages using MSSQL (#6386)
Co-authored-by: Joe Chen <jc@unknwon.io>
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-30 22:24:43 -05:00
Georg Wicke-Arndt
f70f29fdb0 Show file name in browser tab title when viewing files (#5896) 2026-01-30 22:11:10 -05:00
Joe Chen
ed6109d35d chore: update AGENTS.md
[skip ci]
2026-01-30 22:01:02 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
54e08ba678 docker: add image versions instructions
[skip ci]
2026-01-30 21:52:31 -05:00
Sino
87c8faaf08 Standardize HTTP status codes (#7851)
Co-authored-by: Joe Chen <jc@unknwon.io>
2026-01-30 09:27:59 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
1b226ca48d repo: improve authz for resources (#8119)
https://github.com/gogs/gogs/security/advisories/GHSA-jj5m-h57j-5gv7
2026-01-29 20:56:09 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
e3bb4165dc database: impersonate pure-Go SQLite driver as the old "sqlite3" (#8118) 2026-01-29 14:49:36 -05:00
pikomonde
df3d945a2c config: validate and print warnings for invalid options (#7705)
Co-authored-by: Joe Chen <jc@unknwon.io>
2026-01-28 11:36:03 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
ae41bab5f2 repo: always list tree entries with verbatim (#8116)
Co-authored-by: Ali <alicse3@gmail.com>
2026-01-28 10:11:30 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
2316b09eaf database: fully switch over to pure-Go SQLite driver (#8115) 2026-01-27 22:45:50 -05:00
Copilot
3477bbac0e Add ED25519 test coverage and refactor SSH key parsing tests (#8107)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 14:04:12 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
bb3cab921b chore: update release template (#8110)
[skip ci]
2026-01-24 23:07:27 -05:00
Copilot
1cdeef2ce8 Replace tool.IsMaliciousPath with pathutil.Clean and move IsSameSite to urlutil (#8106) 2026-01-23 21:13:27 -05:00
Joe Chen
a7bc1637db chore: update AGENTS.md
[skip ci]
2026-01-23 12:20:51 -05:00
Joe Chen
f1102a7a7c release: cut CHANGELOG entries for 0.13.4
[skip ci]
2026-01-23 10:13:11 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
26ef07f60d repo: validate Git server hook name for editing (#8103) 2026-01-23 09:40:36 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
ca59e76a53 api: verify write access to update repo content (#8102) 2026-01-23 09:19:11 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
27f1250d00 api: verify owner access to delete repos (#8101) 2026-01-22 22:52:57 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
560f92ec5f two_factor: verify recovery code ownership upon using (#8100) 2026-01-22 22:30:27 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
1bbc36149a wiki: sanitize old wiki page name when editing (#8099) 2026-01-22 11:00:27 -05:00
Copilot
4ee706b2bf chore: replace pkg/errors with cockroachdb/errors (#8098)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
2026-01-22 08:20:53 -05:00
Copilot
ae59787ff5 chore: remove internal/database/errors package (#8096) 2026-01-22 07:17:34 -05:00
Copilot
389ec54b2c chore: rename osutil.IsExist to osutil.Exist (#8097) 2026-01-21 22:22:07 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
5544212adb wiki: auto-detect default branch (#8094) 2026-01-20 23:38:10 -05:00
Joe Chen
6e1e4cb848 chore: update AGENTS.md
[skip ci]
2026-01-19 22:13:49 -05:00
deepsource-autofix[bot]
8e08450182 style: format code with Go fmt and Gofumpt (#8092) 2026-01-19 14:54:13 -05:00
Shivam Kumar
beeeb64969 repo: check directory existence before creation (#8091)
Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
2026-01-19 14:36:38 -05:00
Mukaiu
3ef71a43d9 api: fix nil pointer dereference when listing user repos (#8069)
Co-authored-by: Joe Chen <jc@unknwon.io>
2026-01-18 21:01:03 -05:00
Joe Chen
e44284fada chore: add AGENTS.md
[skip ci]
2026-01-18 21:00:19 -05:00
Shivam Kumar
b7010084b7 auth: support redirecting to custom URL upon sign out (#8089)
Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
2026-01-16 15:44:26 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
b8ab712819 chore: update pull request template checklist
[skip ci]
2026-01-16 14:38:59 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
59e9fa191b chore: remove all MIT license file headers (#8083)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2026-01-08 19:32:15 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
553707f3fd repository: reject any updates that has symlink in path hierarchy (#8082)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-08 14:22:04 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
b6030ba713 docker-next: fix up Git user home directory and permission issue (#8081) 2026-01-07 10:33:27 -05:00
Élie Bouttier
e68949dd13 fix(Dockerfile.next): install curl (#8080) 2026-01-06 12:30:15 -05:00
Copilot
f813c17565 Add DigitalOcean container registry garbage collection workflow (#8073) 2025-12-20 18:29:32 +08:00
ᴊᴏᴇ ᴄʜᴇɴ
5e7c599755 chore: update security advisory reporting process
[skip ci]
2025-12-10 20:22:12 -05:00
Jakub Domeracki
2c88cd4d9f security: patch mermaid package version
Co-authored-by: Jakub Domeracki <jdomeracki.itsec@gmail.com>
Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
2025-12-04 14:58:06 +09:00
Copilot
04cc48339f chore: update Go version from 1.24 to 1.25 in CI and related files (#8066)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-12-03 20:11:14 -05:00
Neptunium93
3666718ec5 repo: fix potential null pointer dereference in mirror sync (#8065) 2025-12-03 18:04:42 -05:00
Joe Chen
4cc83c498b chore: fix up docker-next SSH instruction
[skip ci]
2025-11-30 10:26:58 -05:00
Copilot
332c0895e6 docker: add next-generation rootless image with Kubernetes security context support (#8061)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-11-29 23:01:12 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
16f466d1c1 CHANGELOG: add entry for #8057
[skip ci]
2025-11-25 22:40:48 -05:00
Joe Chen
5e3f45e7f5 ci: set timeout on deploy gogs-demo
[skip ci]
2025-11-25 20:31:33 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
994b769d9d ci: use kubeconfig of service account (#8060) 2025-11-25 19:07:24 -05:00
Copilot
3488e22a40 ci: pin all GitHub Actions to full SHA256 hashes (#8059) 2025-11-25 19:03:04 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
d0d4de70ca ci: deploy gogs-demo after image is built (#8058) 2025-11-24 11:05:25 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
79cc921892 conf: enable value mapping from env vars (#8057) 2025-11-23 20:59:52 -05:00
dependabot[bot]
1347c7802f mod: bump golang.org/x/crypto from 0.41.0 to 0.45.0 (#8056)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 21:46:39 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
89f0f86c7e locale: sync from Crowdin (#8040) 2025-10-02 23:10:06 -04:00
Dmitry Afanasiev
6a6364bb5d chore: update mermaid to 11.9.0 (#8009)
Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
2025-09-30 06:11:09 -04:00
dependabot[bot]
35c047dc9d mod: bump golang.org/x/net from 0.42.0 to 0.43.0 (#8022)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-02 20:20:15 -04:00
dependabot[bot]
e4923af32d mod: bump golang.org/x/text from 0.27.0 to 0.28.0 (#8027)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-02 20:18:18 -04:00
dependabot[bot]
0533fb7744 mod: bump golang.org/x/crypto from 0.40.0 to 0.41.0 (#8024)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-02 13:13:50 -04:00
dependabot[bot]
28810f7db7 mod: bump github.com/prometheus/client_golang from 1.22.0 to 1.23.0 (#8026)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-02 12:38:55 -04:00
ᴊᴏᴇ ᴄʜᴇɴ
cfe38e0a08 chore: update Debian and Ubuntu targets in .pkgr.yml
[skip ci]
2025-09-01 21:45:41 -04:00
dependabot[bot]
110da379c1 mod: bump github.com/stretchr/testify from 1.10.0 to 1.11.1 (#8025)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-01 21:19:47 -04:00
dependabot[bot]
37962fcc0b mod: bump github.com/niklasfasching/go-org from 1.8.0 to 1.9.1 (#8013)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-03 21:56:02 -04:00
dependabot[bot]
7265a7cd26 mod: bump golang.org/x/net from 0.40.0 to 0.42.0 (#8014)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-03 21:52:36 -04:00
dependabot[bot]
521fbe34f6 mod: bump golang.org/x/crypto from 0.39.0 to 0.40.0 (#8016)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-03 16:32:05 -04:00
dependabot[bot]
1375bc401a mod: bump modernc.org/sqlite from 1.37.1 to 1.38.2 (#8017)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-03 15:43:27 -04:00
dependabot[bot]
28f83626d4 mod: bump github.com/urfave/cli from 1.22.16 to 1.22.17 (#7995)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-02 20:17:59 -04:00
dependabot[bot]
dcf8d9340e mod: bump github.com/sergi/go-diff from 1.3.1 to 1.4.0 (#7996)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 13:10:47 -04:00
dependabot[bot]
76b5d75d79 mod: bump golang.org/x/crypto from 0.38.0 to 0.39.0 (#7997)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 13:10:13 -04:00
dependabot[bot]
454175ece2 mod: bump github.com/Masterminds/semver/v3 from 3.3.1 to 3.4.0 (#8000)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 13:09:19 -04:00
Joe Chen
d940e692ec chore: fix up links and add CTA in README
[skip ci]
2025-06-18 09:46:51 -04:00
Joe Chen
7fc19d094c chore: update dev_release_patch_version.md
[skip ci]
2025-06-08 23:13:35 -04:00
Joe Chen
4e3bf27fe2 chore: update dev_release_patch_version.md
[skip ci]
2025-06-08 21:30:40 -04:00
Joe Chen
16b8b0974e chore: update dev_release_patch_version
[skip ci]
2025-06-08 21:23:46 -04:00
Joe Chen
f004b5b472 CHANGELOG: cut entries for 0.13.3 (#7983)
[skip ci]
2025-06-08 18:53:03 -04:00
Joe Chen
591810e405 web_editor: prohibit CRUD to symbolic files (#7981)
Fixes
[GHSA-wj44-9vcg-wjq7](https://github.com/gogs/gogs/security/advisories/GHSA-wj44-9vcg-wjq7)

---------

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2025-06-08 18:28:28 -04:00
Joe Chen
3c2112215f ci: only run Docker job for the main repository (#7980) 2025-06-08 17:19:48 -04:00
dependabot[bot]
9db5c30c36 mod: bump github.com/pquerna/otp from 1.3.0 to 1.5.0 (#7972)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 12:58:19 -04:00
dependabot[bot]
49f4d4312b mod: bump github.com/niklasfasching/go-org from 1.7.0 to 1.8.0 (#7978)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 12:50:52 -04:00
dependabot[bot]
0cf12eccae mod: bump modernc.org/sqlite from 1.37.0 to 1.37.1 (#7977)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 12:50:32 -04:00
dependabot[bot]
495c38825a mod: bump gorm.io/driver/postgres from 1.5.11 to 1.6.0 (#7973)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-06-01 11:56:55 -04:00
dependabot[bot]
60b912ddda mod: bump golang.org/x/net from 0.39.0 to 0.40.0 (#7975)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 11:42:13 -04:00
Edoardo Ottavianelli
4d6a0ebaac security: patch for Stored XSS in PDF renderer (#7966) 2025-05-16 15:49:58 -04:00
dependabot[bot]
54fa465da5 mod: bump github.com/go-ldap/ldap/v3 from 3.4.10 to 3.4.11 (#7960)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 13:02:00 -04:00
dependabot[bot]
54cd8fd160 mod: bump golang.org/x/net from 0.36.0 to 0.38.0 (#7946)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-04-16 08:48:37 -04:00
dependabot[bot]
7abc81c4d2 mod: bump github.com/prometheus/client_golang from 1.21.0 to 1.21.1 (#7949)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-15 13:10:30 -04:00
dependabot[bot]
493834861d mod: bump golang.org/x/text from 0.22.0 to 0.23.0 (#7950)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-15 13:00:41 -04:00
dependabot[bot]
9a539393bd mod: bump github.com/editorconfig/editorconfig-core-go/v2 (#7948)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-14 18:05:48 -04:00
dependabot[bot]
139ea3ce7d mod: bump modernc.org/sqlite from 1.36.0 to 1.37.0 (#7947)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-04-14 18:00:07 -04:00
dependabot[bot]
4acaaac85a mod: bump golang.org/x/net from 0.34.0 to 0.36.0 (#7935)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-04 23:27:10 -05:00
dependabot[bot]
e93ced2163 mod: bump modernc.org/sqlite from 1.34.5 to 1.36.0 (#7929)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-04 23:18:23 -05:00
dependabot[bot]
9672b6dd6c mod: bump github.com/prometheus/client_golang from 1.20.5 to 1.21.0 (#7931)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-04 23:11:43 -05:00
dependabot[bot]
7a12c8418e mod: bump golang.org/x/text from 0.21.0 to 0.22.0 (#7933)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-04 23:11:08 -05:00
Joe Chen
2208f17e8e chore: update Trivy scan config (#7934) 2025-03-04 23:07:09 -05:00
宋子桓🌈
46a84fdad5 email: fix unable to override templates in custom directory (#7905)
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-02-12 21:52:18 -05:00
dependabot[bot]
9c80e6d922 mod: bump modernc.org/sqlite from 1.34.4 to 1.34.5 (#7906)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-01 23:24:18 -05:00
dependabot[bot]
3a952bd248 mod: bump golang.org/x/net from 0.33.0 to 0.34.0 (#7908)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-01 23:22:49 -05:00
Joe Chen
96d5d622b8 ci: update GitHub Actions version for Code QL 2025-01-01 19:46:13 -05:00
MarcUs7i
b59e943aa6 Set timeout to explicit 0 in gogs.js (#7890)
## Describe the pull request

A simple fix in public/js/gogs.js making bug upload not result in a
timeout (added just one line)

Link to the issue: closes https://github.com/gogs/gogs/issues/6149

## Test plan

- Set the max_size of `attachment` to a high number

```toml
[release.attachment]
ENABLED          = true
ALLOWED_TYPES    = */*
MAX_SIZE         = 512
MAX_FILES        = 20
```

- Upload a file to releases


![image](https://github.com/user-attachments/assets/8cf29c73-c8ec-42a3-9660-681a583b577a)

It doesn't randomly timeout!
2025-01-01 19:41:24 -05:00
dependabot[bot]
371a6092de mod: bump modernc.org/sqlite from 1.34.1 to 1.34.4 (#7893)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 11:18:34 -05:00
dependabot[bot]
e6896eb393 mod: bump gorm.io/driver/postgres from 1.5.7 to 1.5.11 (#7895)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-01-01 11:11:51 -05:00
dependabot[bot]
6c04a1ce7c mod: bump github.com/go-ldap/ldap/v3 from 3.4.8 to 3.4.10 (#7894)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 10:37:55 -05:00
Martin
6bdbb88fb8 gogs.service: Remove syslog.target (#7681)
Remove syslog.target from service file, this target hasn't existed for
over a decade.


6aa8d43ade/NEWS (L72-L73)
2024-12-26 11:55:46 -05:00
ngn
6b4e8668a1 Adding '|' to the releases page (#7631)
Adding '|' to the releases page `templates/repo/release/list.tmpl` 

i changed this:

![2023-12-22_16-41_1](https://github.com/gogs/gogs/assets/78868991/3d0f8572-b4de-458d-8bf2-dcd030c67757)
to this:

![2023-12-22_16-41](https://github.com/gogs/gogs/assets/78868991/43e2fe58-1019-40f5-b2fb-d011d1145be4)
(yes)
2024-12-26 11:15:44 -05:00
Joe Chen
d8f562b6ad docs: remove dev/release directory (#7884)
[skip ci]
2024-12-23 13:26:07 -05:00
Joe Chen
f1e64008fb cmd: always build with "cert" subcommand (#7883) 2024-12-23 12:10:43 -05:00
Joe Chen
cfde357824 release: pull back 0.13.1 and move CHANGELOG entries to 0.13.2 (#7881) 2024-12-23 10:56:57 -05:00
Joe Chen
3459f8df49 Dockerfile: fix up outdated s6-svscan path (#7880)
## Describe the pull request

Link to the issue: https://github.com/gogs/gogs/issues/7864
2024-12-23 10:53:40 -05:00
Joe Chen
c0332ff856 release: update templates (#7877)
[skip ci]
2024-12-22 21:44:17 -05:00
Joe Chen
e1042e7d47 release: cut CHANGELOG entries for 0.13.1 (#7874)
Part of https://github.com/gogs/gogs/issues/7873

[skip ci]
2024-12-22 17:50:59 -05:00
Joe Chen
76831d0d06 dep: update github.com/gogs/git-module to v1.8.4 (#7872)
## Describe the pull request

Fixes
https://github.com/gogs/gogs/security/advisories/GHSA-m27m-h5gj-wwmg by
including https://github.com/gogs/git-module/pull/110
2024-12-22 16:37:51 -05:00
Joe Chen
68b3c8f339 repo: ignore unintended Git options for diff preview (#7871)
## Describe the pull request

Fixes
https://github.com/gogs/gogs/security/advisories/GHSA-9pp6-wq8c-3w2c
2024-12-22 15:59:03 -05:00
Joe Chen
77a4a945ae repo: prevent preview and delete files in .git directories (#7870)
## Describe the pull request

Fixes
https://github.com/gogs/gogs/security/advisories/GHSA-ccqv-43vm-4f3w
2024-12-22 15:24:18 -05:00
Joe Chen
b09f317aa0 database: lock mock properly to avoid data race in tests (#7869)
Fixes tests data race found in
https://github.com/gogs/gogs/actions/runs/12457230279/job/34771555537
2024-12-22 15:09:42 -05:00
Joe Chen
009a1855aa ssh: make env command a passthrough (#7868)
## Describe the pull request

Fixes
https://github.com/gogs/gogs/security/advisories/GHSA-vm62-9jw3-c8w3
2024-12-22 14:56:31 -05:00
Alexandre Jacquin
fb7812b194 Fix s6-svscan path in Dockerfile (#7867)
Related to #7864

## Describe the pull request

Fix the path of the s6-svscan binary path in the Dockerfile. As
mentionned in the issue, it is probably to the alpine base image change
(from `3.17` to `3.21`).

Link to the issue:
https://github.com/gogs/gogs/issues/7864#issuecomment-2558323928

Credit to @cryptovaltt

## Test plan

Build the image and check if the application can be ran. E.g.:

```bash
docker build -t gogs:working-7864 -f Dockerfile .
docker run --name=gogs -p 10022:22 -p 10880:3000 -v gogs:working-7864 --rm
```
2024-12-22 10:53:00 -05:00
Joe Chen
00bd6081a5 chore: minor fixup on README (#7866)
[skip ci]
2024-12-21 10:58:38 -05:00
Joe Chen
5326b4113a chore: update minimum Go version to 1.23.4 (#7865) 2024-12-21 10:48:17 -05:00
Joe Chen
7adac94f1e Dockerfile: update base image to alpine3.21 and enable trivy scan (#7863)
## Describe the pull request

Link to the issue: fixes https://github.com/gogs/gogs/issues/6674
2024-12-20 22:33:46 -05:00
Joe Chen
c5dff8cdad chore: update vulnerability report and patch policy
[skip ci]
2024-12-16 19:05:53 -05:00
dependabot[bot]
8a39d529d0 mod: bump golang.org/x/crypto from 0.29.0 to 0.31.0 (#7861)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-14 23:36:29 -05:00
Joe Chen
740eba4f70 session: support TLS for Redis provider (#7860) 2024-12-14 23:18:46 -05:00
Joe Chen
9a9388ace2 api: clean file path for updating repo contents (#7859)
## Describe the pull request

Link to the issue: closes https://github.com/gogs/gogs/issues/7582
2024-12-14 21:30:34 -05:00
Joe Chen
8a3b8198af chore: update security policy 2024-12-10 22:23:01 -05:00
Joe Chen
c94baec9ca repo/editor: disallow editing symlink while changing file name (#7857)
## Describe the pull request

Link to the issue: https://github.com/gogs/gogs/issues/7582
2024-12-08 21:12:55 -05:00
dependabot[bot]
25a799ad63 mod: bump github.com/Masterminds/semver/v3 from 3.2.1 to 3.3.1 (#7854)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2024-12-01 11:08:42 -05:00
dependabot[bot]
f518abaff1 mod: bump golang.org/x/net from 0.30.0 to 0.31.0 (#7853)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 10:58:39 -05:00
dependabot[bot]
58fa30c7be mod: bump golang.org/x/text from 0.19.0 to 0.20.0 (#7856)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 10:49:39 -05:00
dependabot[bot]
a02d6a22d6 mod: bump modernc.org/sqlite from 1.33.1 to 1.34.1 (#7852)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 09:49:01 -05:00
Joe Chen
7a2dffa95a ci: push Docker images to DigitalOcean Container Registry (#7839) 2024-11-09 19:50:01 -05:00
dependabot[bot]
2541348408 mod: bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 (#7834)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-03 17:36:50 -05:00
dependabot[bot]
f037c58eee mod: bump golang.org/x/net from 0.29.0 to 0.30.0 (#7837)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-02 21:36:24 -04:00
dependabot[bot]
e5e03cba24 mod: bump github.com/urfave/cli from 1.22.15 to 1.22.16 (#7838)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 18:38:05 -04:00
Joe Chen
07380780c6 locale: sync from Crowdin (#7824) 2024-10-13 20:24:38 -04:00
dependabot[bot]
3a8bd73901 mod: bump github.com/prometheus/client_golang from 1.20.2 to 1.20.4 (#7818)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 21:52:08 -04:00
dependabot[bot]
79bd350ad6 mod: bump modernc.org/sqlite from 1.32.0 to 1.33.1 (#7816)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 08:23:28 -04:00
dependabot[bot]
0700cef63e mod: bump golang.org/x/net from 0.28.0 to 0.29.0 (#7814)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 20:44:05 -04:00
Mobile Mind
e34ebac459 install: fix SMTP password config name to save (#7807) 2024-09-12 22:10:02 -04:00
Joe Chen
03d26b0482 locale: sync from Crowdin (#7801) 2024-09-08 12:12:25 -04:00
Kyle Fawcett
e6d4db0b4c Fix spacing if BuildTime is missing. (#7800)
Co-authored-by: Gogs <gogs@fake.local>
Co-authored-by: Joe Chen <jc@unknwon.io>
2024-09-07 11:43:29 -04:00
dependabot[bot]
69d74485f0 mod: bump modernc.org/sqlite from 1.31.1 to 1.32.0 (#7795)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2024-09-04 08:46:26 -04:00
dependabot[bot]
9401784421 mod: bump github.com/prometheus/client_golang from 1.19.1 to 1.20.2 (#7793)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 08:43:26 -04:00
dependabot[bot]
93aba5a6b7 mod: bump golang.org/x/net from 0.27.0 to 0.28.0 (#7794)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 08:43:03 -04:00
dependabot[bot]
9108970e45 mod: bump golang.org/x/crypto from 0.25.0 to 0.26.0 (#7792)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2024-09-03 09:36:00 -04:00
dependabot[bot]
0965db473f mod: bump golang.org/x/net from 0.26.0 to 0.27.0 (#7780)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-02 01:14:46 -04:00
dependabot[bot]
f1f6d3f37d mod: bump golang.org/x/crypto from 0.24.0 to 0.25.0 (#7779)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-01 19:59:36 -04:00
dependabot[bot]
8e195067df mod: bump github.com/microcosm-cc/bluemonday from 1.0.25 to 1.0.27 (#7782)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-01 19:58:32 -04:00
dependabot[bot]
5d6bc5c9fd mod: bump modernc.org/sqlite from 1.29.2 to 1.31.1 (#7783)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-01 19:58:01 -04:00
Joe Chen
8869354d21 locale: sync from Crowdin (#7778) 2024-07-29 03:35:15 -04:00
dependabot[bot]
5bdf91e73c mod: bump golang.org/x/net from 0.25.0 to 0.26.0 (#7769)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 07:19:04 -04:00
dependabot[bot]
54776c776a mod: bump golang.org/x/text from 0.15.0 to 0.16.0 (#7770)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 07:11:59 -04:00
Joe Chen
f2ff885f33 locale: sync from Crowdin (#7764) 2024-06-28 23:17:41 -04:00
idnandre
6cb018df2f chore: remove duplicate error and fix typo error message (#7763) 2024-06-28 23:03:32 -04:00
Sergei Gnezdov
f4a78e5cfb chore: update version of mermaid to 10.9.1 (#7760) 2024-06-08 12:57:00 -04:00
dependabot[bot]
1815fd5c36 mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.6.1 to 2.6.2 (#7755)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 21:51:10 -04:00
dependabot[bot]
15d64e0f23 mod: bump github.com/prometheus/client_golang from 1.19.0 to 1.19.1 (#7758)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 21:50:13 -04:00
dependabot[bot]
15077b13e3 mod: bump golang.org/x/net from 0.24.0 to 0.25.0 (#7759)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 21:49:58 -04:00
alingse
87f47166ac chore: fix miss makezero bug (#7752) 2024-05-26 18:04:54 -04:00
dependabot[bot]
c8cd3e7125 mod: bump github.com/go-ldap/ldap/v3 from 3.4.6 to 3.4.8 (#7738)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 19:26:33 -04:00
dependabot[bot]
ce350e768a mod: bump golang.org/x/net from 0.23.0 to 0.24.0 (#7737)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 19:17:28 -04:00
dependabot[bot]
56a1712275 mod: bump github.com/urfave/cli from 1.22.14 to 1.22.15 (#7736)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 19:17:21 -04:00
dependabot[bot]
f8a3e7153f mod: bump golang.org/x/crypto from 0.21.0 to 0.22.0 (#7735)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 19:00:01 -04:00
Jiaxin Zhu
6f9b63517d fix(systemd script): define RestartSec as 2 (#7733) 2024-04-30 09:15:34 -04:00
Joe Chen
1eae0b2fce locale: sync from Crowdin (#7732) 2024-04-27 13:22:20 -04:00
dependabot[bot]
24f06bb088 mod: bump golang.org/x/net from 0.22.0 to 0.23.0 (#7730)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 19:56:17 -04:00
Jiaxin Zhu
015589cdd9 fix(.editorconfig): remove setting end_of_line and make Git track EOL changes on Windows (#7725) 2024-04-15 10:36:54 -04:00
Jiaxin Zhu
ba17b9b56b fix(templates): the green color is supposed to be purple (#7722)
Co-authored-by: jxzhu <zhujiaxin@gmail.com>
2024-04-11 10:13:46 -04:00
dependabot[bot]
3b8c9ba7ab mod: bump gorm.io/driver/postgres from 1.5.6 to 1.5.7 (#7712)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 21:18:44 -04:00
dependabot[bot]
f915eb3a40 mod: bump golang.org/x/net from 0.21.0 to 0.22.0 (#7713)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 21:17:38 -04:00
dependabot[bot]
c036214c45 mod: bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#7714)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 21:09:52 -04:00
dependabot[bot]
b8ed5d8d91 mod: bump golang.org/x/crypto from 0.20.0 to 0.21.0 (#7715)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 21:09:30 -04:00
Joe Chen
d9ecdcaef0 all: unwrap database.UsersStore interface (#7708) 2024-03-27 23:18:59 -04:00
Joe Chen
202012887a all: unwrap database.TwoFactorsStore interface (#7707) 2024-03-27 22:14:08 -04:00
Joe Chen
4d05804729 all: unwrap database.RepositoriesStore interface (#7706) 2024-03-26 23:34:31 -04:00
bitebyte
e1e75ed36b Fix issue: synchronize the section name[mailer/email] of app.ini (#7704) 2024-03-26 22:30:25 -04:00
Joe Chen
895e553e68 all: unwrap database.PublicKeysStore interface (#7702) 2024-03-23 20:55:45 -04:00
Joe Chen
5cf0189df1 all: unwrap database.PermissionsStore interface (#7701) 2024-03-23 20:46:32 -04:00
Joe Chen
8d2386b4db database: set Handle direcetly during initialization (#7699) 2024-03-20 19:02:57 -04:00
Joe Chen
dd49412edd all: unwrap database.OrganizationsStore interface (#7696) 2024-03-19 19:33:43 -04:00
Joe Chen
b89f20e02d all: unwrap database.NoticesStore interface (#7695) 2024-03-17 20:44:13 -04:00
Joe Chen
e634aa6277 all: unwrap database.LoginSourcesStore interface (#7694) 2024-03-17 20:14:54 -04:00
Joe Chen
3a5132b6f7 all: unwrap database.LFSStore interface (#7692) 2024-03-16 20:32:12 -04:00
dependabot[bot]
b9e41f28c3 mod: bump github.com/jackc/pgx/v5 from 5.4.3 to 5.5.4 (#7688)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-16 18:08:27 -04:00
Joe Chen
6d77d6204d all: unwrap database.ActionsStore interface (#7686) 2024-03-13 22:03:02 -04:00
dependabot[bot]
f73edbd172 mod: bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#7685)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-13 20:00:00 -04:00
Joe Chen
fa84482d98 chore: upgrade go-mockgen for 1.22 (#7683) 2024-03-12 19:25:30 -04:00
dependabot[bot]
6c63a88ef0 mod: bump modernc.org/sqlite from 1.28.0 to 1.29.2 (#7680)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 13:14:35 -05:00
dependabot[bot]
35c59d2c24 mod: bump github.com/prometheus/client_golang from 1.18.0 to 1.19.0 (#7679)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 09:24:38 -05:00
dependabot[bot]
6d77bcebaa mod: bump golang.org/x/crypto from 0.18.0 to 0.20.0 (#7677)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 09:23:29 -05:00
dependabot[bot]
605c751926 mod: bump gorm.io/driver/postgres from 1.5.4 to 1.5.6 (#7676)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 09:23:11 -05:00
Joe Chen
8054ffc12f all: unwrap database.AccessTokensStore interface (#7670) 2024-02-20 21:47:32 -05:00
Joe Chen
917c14f2ce internal/database: consistently use Store and s as receiver (#7669) 2024-02-19 20:00:13 -05:00
Joe Chen
dfe27ad556 database: use all tables to setup test suite (#7667) 2024-02-18 21:26:30 -05:00
Joe Chen
3616bc03c9 packager: use centos-9 and debian-12 (#7668) 2024-02-18 21:25:01 -05:00
Joe Chen
10cd022e08 ci: upgrade GitHub Actions versions (#7666) 2024-02-18 21:05:27 -05:00
Joe Chen
3650b32ec5 chore: rename internal/db to internal/database (#7665) 2024-02-18 19:39:41 -05:00
Joe Chen
cad79a31d8 locale: sync from Crowdin (#7664) 2024-02-18 19:05:22 -05:00
dependabot[bot]
077141d2ba mod: bump golang.org/x/net from 0.19.0 to 0.20.0 (#7657)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-02 18:05:38 -05:00
Joe Chen
cd3f132844 README: update sponsor list (#7661)
[skip ci]
2024-02-02 18:00:58 -05:00
dependabot[bot]
ff7dc29ad3 mod: bump golang.org/x/crypto from 0.17.0 to 0.18.0 (#7659)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-02 17:46:13 -05:00
dependabot[bot]
87a5ae3f61 mod: bump gorm.io/gorm from 1.25.5 to 1.25.6 (#7658)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 23:34:56 -05:00
dependabot[bot]
6bd09e75fe mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.6.0 to 2.6.1 (#7660)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 23:34:13 -05:00
dependabot[bot]
7b06bf642a mod: bump modernc.org/sqlite from 1.27.0 to 1.28.0 (#7637)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 13:51:32 -05:00
dependabot[bot]
b6e4b379c1 mod: bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 (#7638)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 13:51:15 -05:00
dependabot[bot]
5e96f64b83 mod: bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#7626)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-24 22:59:10 -05:00
Joe Chen
41d473e999 Taskfile: drop-test-db (#7623)
[skip ci]
2023-12-17 16:49:37 -05:00
Joe Chen
25fdeaac49 db: pass context to tests by default (#7622)
[skip ci]
2023-12-17 16:32:28 -05:00
Joe Chen
0c7b45ad1f locale: sync from Crowdin (#7621) 2023-12-16 21:31:21 -05:00
dependabot[bot]
5293781c0d mod: bump golang.org/x/net from 0.17.0 to 0.19.0 (#7609)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 12:31:22 -05:00
dependabot[bot]
7a2c691c5b mod: bump golang.org/x/text from 0.13.0 to 0.14.0 (#7608)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 12:25:35 -05:00
dependabot[bot]
dfc129ee98 mod: bump golang.org/x/crypto from 0.14.0 to 0.16.0 (#7607)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 12:25:21 -05:00
Joe Chen
1c711bc8d4 chore: move CODEOWNERS to .github/
[skip ci]
2023-11-17 19:20:20 -05:00
Joe Chen
31a0964e12 dbtest: properly close test connection (#7598) 2023-11-12 19:09:50 -05:00
Joe Chen
b644d797b4 chore: add CODEOWNERS 2023-11-12 19:08:26 -05:00
Joe Chen
61940ca879 chore: update security policy
[skip ci]
2023-11-09 22:10:42 -05:00
Joe Chen
16b185f97d build: remove support of Go 1.18 and 1.19 (#7590) 2023-11-01 23:06:24 -04:00
Athanasios Oikonomou
c531da02ca commit: fix matchUsersWithCommitEmails (#7561)
Co-authored-by: Joe Chen <jc@unknwon.io>
2023-11-01 11:58:48 -04:00
dependabot[bot]
bc1b5e52a9 mod: bump modernc.org/sqlite from 1.26.0 to 1.27.0 (#7587)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 08:56:17 -04:00
dependabot[bot]
0b5257425f mod: bump gorm.io/driver/postgres from 1.5.3 to 1.5.4 (#7588)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 08:55:58 -04:00
Joe Chen
7fb3dcb1eb locale: sync from Crowdin (#7584) 2023-10-29 21:38:20 -04:00
dependabot[bot]
5c3fde8531 mod: bump gorm.io/driver/postgres from 1.5.2 to 1.5.3 (#7573)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-20 20:26:53 -04:00
dependabot[bot]
7bffc0d0e3 mod: bump gorm.io/gorm from 1.25.4 to 1.25.5 (#7574)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-20 20:14:39 -04:00
Joe Chen
748c67df8b chore: slow down dep update to monthly
[ci skip]
2023-10-20 20:04:41 -04:00
dependabot[bot]
2d9be6c06b mod: bump gorm.io/driver/mysql from 1.5.1 to 1.5.2 (#7575)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-20 20:03:59 -04:00
dependabot[bot]
493a56b262 mod: bump golang.org/x/net from 0.15.0 to 0.17.0 (#7569)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-12 00:11:23 -04:00
dependabot[bot]
3350740563 mod: bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0 (#7560)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 22:51:35 -04:00
dependabot[bot]
89b123f9d1 mod: bump modernc.org/sqlite from 1.25.0 to 1.26.0 (#7559)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 22:51:11 -04:00
dependabot[bot]
4821e89780 mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.5.2 to 2.6.0 (#7558)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 22:50:52 -04:00
dependabot[bot]
e989093129 mod: bump github.com/msteinert/pam from 0.0.0-20190215180659-f29b9f28d6f9 to 1.2.0 (#7550)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-26 08:59:57 -04:00
dependabot[bot]
018337ddfb mod: bump github.com/go-ldap/ldap/v3 from 3.4.5 to 3.4.6 (#7548)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-18 11:42:16 -04:00
dependabot[bot]
fde10f1236 mod: bump golang.org/x/net from 0.14.0 to 0.15.0 (#7547)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-11 23:47:57 -04:00
dependabot[bot]
48710b9793 mod: bump golang.org/x/text from 0.12.0 to 0.13.0 (#7544)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 17:13:52 -04:00
Joe Chen
069f1ed9a4 db: migrate admin.go to notices.go with GORM (#7536) 2023-08-23 00:15:30 -04:00
dependabot[bot]
1112a71ea5 mod: bump gorm.io/gorm from 1.25.3 to 1.25.4 (#7535)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-21 10:40:39 -04:00
Joe Chen
9d86838fa7 ci: use Go 1.21 (#7528) 2023-08-14 22:24:26 -04:00
dependabot[bot]
f187005581 mod: bump gorm.io/gorm from 1.25.2 to 1.25.3 (#7526)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 10:39:53 -04:00
dependabot[bot]
7efda8e8fc mod: bump github.com/gogs/git-module from 1.8.2 to 1.8.3 (#7527)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 10:39:35 -04:00
dependabot[bot]
2620cc3e8d mod: bump golang.org/x/net from 0.12.0 to 0.14.0 (#7522)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 09:50:25 -04:00
dependabot[bot]
af77cbb759 mod: bump modernc.org/sqlite from 1.24.0 to 1.25.0 (#7521)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 09:30:19 -04:00
dependabot[bot]
65e14b18ec mod: bump golang.org/x/crypto from 0.11.0 to 0.12.0 (#7520)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 09:29:53 -04:00
dependabot[bot]
738ac3c03b mod: bump golang.org/x/text from 0.11.0 to 0.12.0 (#7519)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 09:29:34 -04:00
Joe Chen
7a0a07628d locale: sync from Crowdin (#7518) 2023-08-01 22:27:56 -04:00
dependabot[bot]
c373a92da6 mod: bump github.com/microcosm-cc/bluemonday from 1.0.24 to 1.0.25 (#7513)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-25 12:31:52 -04:00
dependabot[bot]
23ea4863f1 mod: bump github.com/niklasfasching/go-org from 1.6.6 to 1.7.0 (#7491)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 21:26:14 -04:00
dependabot[bot]
8940778bb8 mod: bump modernc.org/sqlite from 1.23.1 to 1.24.0 (#7508)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 21:25:18 -04:00
dependabot[bot]
53c009288c mod: bump golang.org/x/net from 0.11.0 to 0.12.0 (#7500)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-09 13:59:45 -04:00
Joe Chen
3be3ae500b ci: remove Codeball 2023-07-09 10:59:12 -04:00
dependabot[bot]
9ab8bd6785 mod: bump golang.org/x/crypto from 0.10.0 to 0.11.0 (#7501)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-09 10:58:12 -04:00
dependabot[bot]
9e91602b42 mod: bump golang.org/x/text from 0.10.0 to 0.11.0 (#7502)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-07 22:25:08 -04:00
dependabot[bot]
b13cb438d1 mod: bump gorm.io/gorm from 1.25.1 to 1.25.2 (#7497)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 22:22:31 -04:00
dependabot[bot]
69802f07b7 mod: bump golang.org/x/net from 0.10.0 to 0.11.0 (#7485)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 19:24:55 -04:00
dependabot[bot]
c426e9b8ad mod: bump golang.org/x/text from 0.9.0 to 0.10.0 (#7480)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-17 12:58:32 -04:00
dependabot[bot]
97ccf329b1 mod: bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0 (#7482)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-17 12:39:17 -04:00
dependabot[bot]
89b759e2ed mod: bump github.com/urfave/cli from 1.22.13 to 1.22.14 (#7481)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-17 12:39:08 -04:00
dependabot[bot]
1fb33bd586 mod: bump modernc.org/sqlite from 1.22.1 to 1.23.1 (#7475)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-17 12:38:53 -04:00
dependabot[bot]
0ca017d0a8 mod: bump github.com/go-ldap/ldap/v3 from 3.4.4 to 3.4.5 (#7476)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2023-06-17 12:17:06 -04:00
Joe Chen
75767078aa pkgr: remove debian-9 (#7472)
[skip ci]
2023-06-03 20:01:30 -04:00
dependabot[bot]
22bf85b6f5 mod: bump gorm.io/driver/mysql from 1.5.0 to 1.5.1 (#7458)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-03 19:44:28 -04:00
dependabot[bot]
b2ea82c8d8 mod: bump github.com/stretchr/testify from 1.8.2 to 1.8.3 (#7460)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-03 19:44:13 -04:00
dependabot[bot]
7fae076155 mod: bump github.com/microcosm-cc/bluemonday from 1.0.23 to 1.0.24 (#7459)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-03 19:43:57 -04:00
dependabot[bot]
ed825c6273 mod: bump gorm.io/driver/postgres from 1.5.0 to 1.5.2 (#7461)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-24 22:15:47 -04:00
dependabot[bot]
795cac1dd0 mod: bump github.com/gogs/git-module from 1.8.1 to 1.8.2 (#7455)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-15 07:42:45 -04:00
dependabot[bot]
ad3f9ac068 mod: bump golang.org/x/crypto from 0.8.0 to 0.9.0 (#7456)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-15 07:42:11 -04:00
Joe Chen
0721ef2399 refactor(db): migrate off user_email.go to users.go (#7452) 2023-05-14 20:15:47 -04:00
Joe Chen
9ac93067f6 ci: refurbish Docker job (#7446) 2023-05-09 23:02:57 -04:00
Joe Chen
167cdb09e3 chore: generate SCIP instead of LSIF (#7445) 2023-05-09 09:13:02 -04:00
Joe Chen
ada1083462 tests(db): fix data race (#7444)
[skip ci]
2023-05-08 23:02:45 -04:00
dependabot[bot]
5df9668063 mod: bump github.com/prometheus/client_golang from 1.15.0 to 1.15.1 (#7442)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-08 08:56:02 -04:00
dependabot[bot]
249668a2b9 mod: bump gorm.io/gorm from 1.25.0 to 1.25.1 (#7441)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-08 08:55:41 -04:00
dependabot[bot]
66364d9c02 mod: bump modernc.org/sqlite from 1.22.0 to 1.22.1 (#7439)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-01 07:21:10 -04:00
dependabot[bot]
077c80d258 mod: bump github.com/urfave/cli from 1.22.12 to 1.22.13 (#7438)
[skip ci]

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-01 07:20:48 -04:00
dependabot[bot]
79bda9df35 mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.5.1 to 2.5.2 (#7433)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 20:00:41 +08:00
dependabot[bot]
6e5f9e8a1b mod: bump modernc.org/sqlite from 1.21.1 to 1.22.0 (#7432)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 19:58:20 +08:00
dependabot[bot]
7e5db4ba42 mod: bump github.com/prometheus/client_golang from 1.14.0 to 1.15.0 (#7427)
Bumps
[github.com/prometheus/client_golang](https://github.com/prometheus/client_golang)
from 1.14.0 to 1.15.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/prometheus/client_golang/releases">github.com/prometheus/client_golang's
releases</a>.</em></p>
<blockquote>
<h2>v1.15.0</h2>
<h2>Changed</h2>
<p>[BUGFIX] Fix issue with atomic variables on ppc64le <a
href="https://redirect.github.com/prometheus/client_golang/issues/1171">#1171</a>
[BUGFIX] Support for multiple samples within same metric <a
href="https://redirect.github.com/prometheus/client_golang/issues/1181">#1181</a>
[BUGFIX] Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149 <a
href="https://redirect.github.com/prometheus/client_golang/issues/1187">#1187</a>
[ENHANCEMENT] Add exemplars and middleware examples <a
href="https://redirect.github.com/prometheus/client_golang/issues/1173">#1173</a>
[ENHANCEMENT] Add more context to &quot;duplicate label names&quot;
error to enable debugging <a
href="https://redirect.github.com/prometheus/client_golang/issues/1177">#1177</a>
[ENHANCEMENT] Add constrained labels and constrained variant for all
MetricVecs <a
href="https://redirect.github.com/prometheus/client_golang/issues/1151">#1151</a>
[ENHANCEMENT] Moved away from deprecated github.com/golang/protobuf
package <a
href="https://redirect.github.com/prometheus/client_golang/issues/1183">#1183</a>
[ENHANCEMENT] Add possibility to dynamically get label values for http
instrumentation <a
href="https://redirect.github.com/prometheus/client_golang/issues/1066">#1066</a>
[ENHANCEMENT] Add ability to Pusher to add custom headers <a
href="https://redirect.github.com/prometheus/client_golang/issues/1218">#1218</a>
[ENHANCEMENT] api: Extend and improve efficiency of json-iterator usage
<a
href="https://redirect.github.com/prometheus/client_golang/issues/1225">#1225</a>
[ENHANCEMENT] Added (official) support for go 1.20 <a
href="https://redirect.github.com/prometheus/client_golang/issues/1234">#1234</a>
[ENHANCEMENT] timer: Added support for exemplars <a
href="https://redirect.github.com/prometheus/client_golang/issues/1233">#1233</a>
[ENHANCEMENT] Filter expected metrics as well in CollectAndCompare <a
href="https://redirect.github.com/prometheus/client_golang/issues/1143">#1143</a>
[ENHANCEMENT] ⚠️ Only set start/end if time is not Zero. This breaks
compatibility in experimental api package. If you strictly depend on
empty time.Time as actual value, the behavior is now changed <a
href="https://redirect.github.com/prometheus/client_golang/issues/1238">#1238</a></p>
<!-- raw HTML omitted -->
<ul>
<li>Merge release 1.14 to main by <a
href="https://github.com/bwplotka"><code>@​bwplotka</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1164">prometheus/client_golang#1164</a></li>
<li>Fix typo in doc comment by <a
href="https://github.com/beorn7"><code>@​beorn7</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1166">prometheus/client_golang#1166</a></li>
<li>Fix issue with atomic variables on ppc64le by <a
href="https://github.com/beorn7"><code>@​beorn7</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1171">prometheus/client_golang#1171</a></li>
<li>examples: Add exemplars and middleware examples by <a
href="https://github.com/jessicalins"><code>@​jessicalins</code></a> in
<a
href="https://redirect.github.com/prometheus/client_golang/pull/1173">prometheus/client_golang#1173</a></li>
<li>Add context to &quot;duplicate label names&quot; to enable debugging
by <a
href="https://github.com/SpencerMalone"><code>@​SpencerMalone</code></a>
in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1177">prometheus/client_golang#1177</a></li>
<li>Add constrained labels and Constrained variant for all MetricVecs by
<a href="https://github.com/Okhoshi"><code>@​Okhoshi</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1151">prometheus/client_golang#1151</a></li>
<li>Support for multiple samples within same metric by <a
href="https://github.com/machadovilaca"><code>@​machadovilaca</code></a>
in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1181">prometheus/client_golang#1181</a></li>
<li>Replace deprecated github.com/golang/protobuf package by <a
href="https://github.com/zhsj"><code>@​zhsj</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1183">prometheus/client_golang#1183</a></li>
<li>Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149 by <a
href="https://github.com/b4bay"><code>@​b4bay</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1187">prometheus/client_golang#1187</a></li>
<li>typo fix by <a
href="https://github.com/ibreakthecloud"><code>@​ibreakthecloud</code></a>
in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1178">prometheus/client_golang#1178</a></li>
<li>Add possibility to dynamically get label values for http
instrumentation by <a
href="https://github.com/Okhoshi"><code>@​Okhoshi</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1066">prometheus/client_golang#1066</a></li>
<li>Bump github.com/cespare/xxhash/v2 from 2.1.2 to 2.2.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1199">prometheus/client_golang#1199</a></li>
<li>Bump github.com/prometheus/procfs from 0.8.0 to 0.9.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1198">prometheus/client_golang#1198</a></li>
<li>Bump golang.org/x/sys from 0.3.0 to 0.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1217">prometheus/client_golang#1217</a></li>
<li>Synchronize common files from prometheus/prometheus by <a
href="https://github.com/prombot"><code>@​prombot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1213">prometheus/client_golang#1213</a></li>
<li>Bump github.com/prometheus/common from 0.37.0 to 0.39.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1197">prometheus/client_golang#1197</a></li>
<li>Add <code>Header</code> method to Pusher for custom header by <a
href="https://github.com/songjiayang"><code>@​songjiayang</code></a> in
<a
href="https://redirect.github.com/prometheus/client_golang/pull/1218">prometheus/client_golang#1218</a></li>
<li>Synchronize common files from prometheus/prometheus by <a
href="https://github.com/prombot"><code>@​prombot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1224">prometheus/client_golang#1224</a></li>
<li>api: Extend and improve json-iterator usage by <a
href="https://github.com/beorn7"><code>@​beorn7</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1225">prometheus/client_golang#1225</a></li>
<li>Indent example in godoc consistently by <a
href="https://github.com/lamida"><code>@​lamida</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1226">prometheus/client_golang#1226</a></li>
<li>Remove unnecessary check if label is nil in observeWithExemplar by
<a href="https://github.com/dimonl"><code>@​dimonl</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1235">prometheus/client_golang#1235</a></li>
<li>README: Remove not working gocoverage images. by <a
href="https://github.com/bwplotka"><code>@​bwplotka</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1236">prometheus/client_golang#1236</a></li>
<li>Added support for go 1.20. by <a
href="https://github.com/bwplotka"><code>@​bwplotka</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1234">prometheus/client_golang#1234</a></li>
<li>timer: Added support for exemplars. by <a
href="https://github.com/bwplotka"><code>@​bwplotka</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1233">prometheus/client_golang#1233</a></li>
<li>Synchronize common files from prometheus/prometheus by <a
href="https://github.com/prombot"><code>@​prombot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1237">prometheus/client_golang#1237</a></li>
<li>Filter expected metrics as well in CollectAndCompare by <a
href="https://github.com/DariaKunoichi"><code>@​DariaKunoichi</code></a>
in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1143">prometheus/client_golang#1143</a></li>
<li>Only set start/end if time is not Zero by <a
href="https://github.com/jacksontj"><code>@​jacksontj</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1238">prometheus/client_golang#1238</a></li>
<li>Bump google.golang.org/protobuf from 1.28.1 to 1.30.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1243">prometheus/client_golang#1243</a></li>
<li>Bump golang.org/x/sys from 0.5.0 to 0.6.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1246">prometheus/client_golang#1246</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md">github.com/prometheus/client_golang's
changelog</a>.</em></p>
<blockquote>
<h2>1.15.0 / 2023-04-13</h2>
<h2>What's Changed</h2>
<ul>
<li>[BUGFIX] Fix issue with atomic variables on ppc64le <a
href="https://redirect.github.com/prometheus/client_golang/issues/1171">#1171</a></li>
<li>[BUGFIX] Support for multiple samples within same metric <a
href="https://redirect.github.com/prometheus/client_golang/issues/1181">#1181</a></li>
<li>[BUGFIX] Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149
<a
href="https://redirect.github.com/prometheus/client_golang/issues/1187">#1187</a></li>
<li>[ENHANCEMENT] Add exemplars and middleware examples <a
href="https://redirect.github.com/prometheus/client_golang/issues/1173">#1173</a></li>
<li>[ENHANCEMENT] Add more context to &quot;duplicate label names&quot;
error to enable debugging <a
href="https://redirect.github.com/prometheus/client_golang/issues/1177">#1177</a></li>
<li>[ENHANCEMENT] Add constrained labels and constrained variant for all
MetricVecs <a
href="https://redirect.github.com/prometheus/client_golang/issues/1151">#1151</a></li>
<li>[ENHANCEMENT] Moved away from deprecated github.com/golang/protobuf
package <a
href="https://redirect.github.com/prometheus/client_golang/issues/1183">#1183</a></li>
<li>[ENHANCEMENT] Add possibility to dynamically get label values for
http instrumentation <a
href="https://redirect.github.com/prometheus/client_golang/issues/1066">#1066</a></li>
<li>[ENHANCEMENT] Add ability to Pusher to add custom headers <a
href="https://redirect.github.com/prometheus/client_golang/issues/1218">#1218</a></li>
<li>[ENHANCEMENT] api: Extend and improve efficiency of json-iterator
usage <a
href="https://redirect.github.com/prometheus/client_golang/issues/1225">#1225</a></li>
<li>[ENHANCEMENT] Added (official) support for go 1.20 <a
href="https://redirect.github.com/prometheus/client_golang/issues/1234">#1234</a></li>
<li>[ENHANCEMENT] timer: Added support for exemplars <a
href="https://redirect.github.com/prometheus/client_golang/issues/1233">#1233</a></li>
<li>[ENHANCEMENT] Filter expected metrics as well in CollectAndCompare
<a
href="https://redirect.github.com/prometheus/client_golang/issues/1143">#1143</a></li>
<li>[ENHANCEMENT] ⚠️ Only set start/end if time is not Zero. This
breaks compatibility in experimental api package. If you strictly depend
on empty time.Time as actual value, the behavior is now changed <a
href="https://redirect.github.com/prometheus/client_golang/issues/1238">#1238</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d7896d4bd0"><code>d7896d4</code></a>
Cut v1.15.0 (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1249">#1249</a>)</li>
<li><a
href="bba12b5514"><code>bba12b5</code></a>
Bump github.com/prometheus/common from 0.41.0 to 0.42.0 (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1244">#1244</a>)</li>
<li><a
href="9015fcfc2c"><code>9015fcf</code></a>
Bump github.com/golang/protobuf from 1.5.2 to 1.5.3 (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1245">#1245</a>)</li>
<li><a
href="1bb8cf8306"><code>1bb8cf8</code></a>
Bump golang.org/x/sys from 0.5.0 to 0.6.0 (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1246">#1246</a>)</li>
<li><a
href="ff7efedd43"><code>ff7efed</code></a>
Merge pull request <a
href="https://redirect.github.com/prometheus/client_golang/issues/1243">#1243</a>
from prometheus/dependabot/go_modules/google.golang....</li>
<li><a
href="852a282f10"><code>852a282</code></a>
Bump google.golang.org/protobuf from 1.28.1 to 1.30.0</li>
<li><a
href="63a3955992"><code>63a3955</code></a>
Merge pull request <a
href="https://redirect.github.com/prometheus/client_golang/issues/1238">#1238</a>
from jacksontj/issue_621</li>
<li><a
href="eb339714f5"><code>eb33971</code></a>
Filter expected metrics as well in CollectAndCompare (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1143">#1143</a>)</li>
<li><a
href="5c7821d84a"><code>5c7821d</code></a>
Update common Prometheus files (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1237">#1237</a>)</li>
<li><a
href="603786389c"><code>6037863</code></a>
Only set start/end if time is not Zero</li>
<li>Additional commits viewable in <a
href="https://github.com/prometheus/client_golang/compare/v1.14.0...v1.15.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/prometheus/client_golang&package-manager=go_modules&previous-version=1.14.0&new-version=1.15.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-17 20:11:00 +08:00
dependabot[bot]
7be3ea194f mod: bump gorm.io/driver/mysql from 1.4.7 to 1.5.0 (#7424)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 18:35:54 +08:00
dependabot[bot]
d119526bde mod: bump github.com/Masterminds/semver/v3 from 3.2.0 to 3.2.1 (#7422)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 18:32:22 +08:00
dependabot[bot]
c3f1331a5e mod: bump gorm.io/gorm from 1.24.7-0.20230306060331-85eaf9eeda11 to 1.25.0 (#7423)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 18:32:02 +08:00
dependabot[bot]
8de873be86 mod: bump golang.org/x/crypto from 0.7.0 to 0.8.0 (#7421)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 18:19:23 +08:00
dependabot[bot]
eeb397a0ac mod: bump golang.org/x/net from 0.8.0 to 0.9.0 (#7419)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-10 21:20:59 +08:00
dependabot[bot]
5432293224 mod: bump modernc.org/sqlite from 1.21.0 to 1.21.1 (#7413) 2023-04-03 20:16:33 +08:00
Joe Chen
5da1e62426 locale: sync from Crowdin (#7401) 2023-03-19 22:34:04 +08:00
Joe Chen
057ae983a0 chore(ci): fix typo in docker.yml (#7398)
[skip ci]
2023-03-15 23:23:05 +08:00
dependabot[bot]
f473643d29 mod: bump github.com/niklasfasching/go-org from 1.6.5 to 1.6.6 (#7395)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-13 21:53:19 +08:00
dependabot[bot]
b96b8eb389 mod: bump gorm.io/driver/postgres from 1.4.8 to 1.5.0 (#7393)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-13 21:37:21 +08:00
dependabot[bot]
70777899f8 mod: bump github.com/microcosm-cc/bluemonday from 1.0.22 to 1.0.23 (#7394)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-13 21:36:38 +08:00
dependabot[bot]
cdde49978b mod: bump golang.org/x/crypto from 0.6.0 to 0.7.0 (#7388)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 19:10:56 +08:00
dependabot[bot]
0ddab94774 mod: bump gorm.io/gorm from 1.24.5 to 1.24.6 (#7387)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 19:08:13 +08:00
TheDarkUndoing
5483d97f73 gitutil: strip SSH port from submodule URL when rendering for HTML link (#7383)
Co-authored-by: Joe Chen <jc@unknwon.io>
2023-03-05 20:00:56 +08:00
dependabot[bot]
6fa552994a mod: bump gopkg.in/macaron.v1 from 1.4.0 to 1.5.0 (#7377)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-01 09:36:40 +08:00
dependabot[bot]
bd0ab704af mod: bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#7378)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-01 09:34:55 +08:00
dependabot[bot]
cd7b3cf971 mod: bump modernc.org/sqlite from 1.20.4 to 1.21.0 (#7380)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-01 09:34:08 +08:00
Joe Chen
fb6693f612 chore: update release playbook (#7376)
[skip ci]
2023-02-26 12:15:19 +08:00
Joe Chen
a98968436c chore: bump dev version to 0.14 (#7375)
[skip ci]
2023-02-26 12:13:11 +08:00
881 changed files with 171617 additions and 80601 deletions

View File

@@ -4,7 +4,6 @@ root = true
[*] [*]
charset = utf-8 charset = utf-8
end_of_line = lf
insert_final_newline = true insert_final_newline = true
trim_trailing_whitespace = true trim_trailing_whitespace = true

2
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,2 @@
# Default
* @unknwon

View File

@@ -1,6 +1,7 @@
--- ---
name: "Dev: Release a minor version" name: "Dev: Release a minor version"
about: ONLY USED BY MAINTAINERS. about: ONLY USED BY MAINTAINERS.
assignees: "unknwon"
title: "Release [VERSION]" title: "Release [VERSION]"
labels: 📸 release labels: 📸 release
--- ---
@@ -13,41 +14,33 @@ On the `main` branch:
- [ ] Close stale issues with the label [status: needs feedback](https://github.com/gogs/gogs/issues?q=is%3Aissue+is%3Aopen+label%3A%22status%3A+needs+feedback%22). - [ ] Close stale issues with the label [status: needs feedback](https://github.com/gogs/gogs/issues?q=is%3Aissue+is%3Aopen+label%3A%22status%3A+needs+feedback%22).
- [ ] [Sync locales from Crowdin](https://github.com/gogs/gogs/blob/main/docs/dev/import_locale.md). - [ ] [Sync locales from Crowdin](https://github.com/gogs/gogs/blob/main/docs/dev/import_locale.md).
- [ ] [Update CHANGELOG](https://github.com/gogs/gogs/commit/720cb5fcb169b9e026b5b47f57d50888b35fdb4b) to include entries for the current minor release. - [ ] [Update CHANGELOG](https://github.com/gogs/gogs/commit/f1102a7a7c545ec221d2906f02fa19170d96f96d) to include entries for the current minor release.
- [ ] Cut a new release branch `release/<MAJOR>.<MINOR>`, e.g. `release/0.12`. - Do not forget adding entries for GHSA patches.
- [ ] Cut a new release branch `release/<MAJOR>.<MINOR>`, e.g. `release/0.14`.
## During release ## During release
On the release branch: On the release branch:
- [ ] [Update the hard-coded version](https://github.com/gogs/gogs/commit/f17e7d5a2c36c52a1121d2315f3d75dcd8053b89) to the current release, e.g. `0.12.0+dev` -> `0.12.0`. - [ ] [Update the hard-coded version](https://github.com/gogs/gogs/commit/f0e3cd90f8d7695960eeef2e4e54b2e717302f6c) to the current release, e.g. `0.14.0+dev` -> `0.14.0`.
- [ ] Wait for GitHub Actions to complete and no failed jobs. - [ ] Wait for GitHub Actions to complete and no failed jobs.
- [ ] Publish new RC releases (e.g. `v0.12.0-rc.1`, `v0.12.0-rc.2`) to ensure Docker workflow succeeds. **Make sure the tag is created on the release branch**. - [ ] Publish new RC releases (e.g. `v0.14.0-rc.1`, `v0.14.0-rc.2`) ⚠️ **on the release branch** ⚠️ and ensure Docker and release workflows both succeed.
- [ ] Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
- [ ] Download one of the release archives and run through application setup to make sure nothing blows up.
- [ ] Publish a new [GitHub release](https://github.com/gogs/gogs/releases) ⚠️ **on the release branch** ⚠️ with entries from [CHANGELOG](https://github.com/gogs/gogs/blob/main/CHANGELOG.md) for the current minor release.
- [ ] [Wait for new image tags for the current release](https://github.com/gogs/gogs/actions/workflows/docker.yml?query=event%3Arelease) to be created automatically on both [Docker Hub](https://hub.docker.com/r/gogs/gogs/tags) and [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs).
- Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up. - Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
- [ ] Publish a new [GitHub release](https://github.com/gogs/gogs/releases) with entries from [CHANGELOG](https://github.com/gogs/gogs/blob/main/CHANGELOG.md) for the current minor release. **Make sure the tag is created on the release branch**. - [ ] Download all release archives and [generate SHA256 checksum](https://github.com/gogs/gogs/blob/main/docs/dev/release/sha256.sh) for all binaries to the file `checksum_sha256.txt`.
- [ ] [Wait for a new image tag for the current release](https://github.com/gogs/gogs/actions/workflows/docker.yml?query=event%3Arelease) to be created automatically on both [Docker Hub](https://hub.docker.com/r/gogs/gogs/tags) and [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs). - [ ] Upload all archives and `checksum_sha256.txt` to https://dl.gogs.io.
- [ ] [Push a new Docker image tag](https://github.com/gogs/gogs/blob/main/docs/dev/release/release_new_version.md#update-docker-image-tag) as `<MAJOR>.<MINOR>` to both [Docker Hub](https://hub.docker.com/r/gogs/gogs/tags) and [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs), e.g.:
- [ ] [Compile and pack binaries](https://github.com/gogs/gogs/blob/main/docs/dev/release/release_new_version.md#compile-and-pack-binaries) (all prefixed with `gogs_<MAJOR>.<MINOR>.<PATCH>_`, e.g. `gogs_0.12.0_`):
- [ ] macOS: `darwin_amd64.zip`, `darwin_arm64.zip`
- [ ] Linux: `linux_386.tar.gz`, `linux_386.zip`, `linux_amd64.tar.gz`, `linux_amd64.zip`
- [ ] ARM: `linux_armv7.tar.gz`, `linux_armv7.zip`, `linux_armv8.tar.gz`, `linux_armv8.zip`
- [ ] Windows: `windows_amd64.zip`, `windows_amd64_mws.zip`
- [ ] [Generate SHA256 checksum](https://github.com/gogs/gogs/blob/main/docs/dev/release/sha256.sh) for all binaries to the file `checksum_sha256.txt`.
- [ ] Upload all binaries and `checksum_sha256.txt` to:
- [ ] GitHub release
- [ ] https://dl.gogs.io
- [ ] Update content of [Install from binary](https://gogs.io/docs/installation/install_from_binary).
## After release ## After release
On the `main` branch: On the `main` branch:
- [ ] Publish [GitHub security advisories](https://github.com/gogs/gogs/security) for security patches included in the release.
- [ ] Update the repository mirror on [Gitee](https://gitee.com/unknwon/gogs). - [ ] Update the repository mirror on [Gitee](https://gitee.com/unknwon/gogs).
- [ ] Create a new release announcement in [Discussions](https://github.com/gogs/gogs/discussions/categories/announcements). - [ ] Create a new release announcement in [Discussions](https://github.com/gogs/gogs/discussions/categories/announcements).
- [ ] Send a tweet on the [official Twitter account](https://twitter.com/GogsHQ) for the minor release. - [ ] Send a tweet on the [official Twitter account](https://twitter.com/GogsHQ) for the minor release.
- [ ] Send out release announcement emails via [Mailchimp](https://mailchimp.com/). - [ ] Close the milestone for the minor release.
- [ ] Publish a new release article on [OSChina](http://my.oschina.net/Obahua/admin/releases). - [ ] [Bump the hard-coded version](https://github.com/gogs/gogs/commit/a98968436cd5841cf691bb0b80c54c81470d1676) to the new develop version, e.g. `0.14.0+dev` -> `0.15.0+dev`.
- [ ] Close the minor milestone.
- [ ] [Bump the hard-coded version](https://github.com/gogs/gogs/commit/05477f1d294dc43f36c4a3b3b9575a96aea66a67) to the new develop version, e.g. `0.12.0+dev` -> `0.13.0+dev`.
- [ ] Run `task legacy` to identify deprecated code that is aimed to be removed in current develop version. - [ ] Run `task legacy` to identify deprecated code that is aimed to be removed in current develop version.
- [ ] **After 14 days**, publish [GitHub security advisories](https://github.com/gogs/gogs/security) for security patches included in the release.

View File

@@ -1,6 +1,7 @@
--- ---
name: "Dev: Release a patch version" name: "Dev: Release a patch version"
about: ONLY USED BY MAINTAINERS. about: ONLY USED BY MAINTAINERS.
assignees: "unknwon"
title: "Release [VERSION]" title: "Release [VERSION]"
labels: 📸 release labels: 📸 release
--- ---
@@ -12,7 +13,8 @@ _This is generated from the [patch release template](https://github.com/gogs/gog
On the release branch: On the release branch:
- [ ] Make sure all commits are cherry-picked from the `main` branch by checking the patch milestone. - [ ] Make sure all commits are cherry-picked from the `main` branch by checking the patch milestone.
- [ ] [Update CHANGELOG on the `main` branch](https://github.com/gogs/gogs/commit/e6c5633f580399c8f4dfc07166a63a01c6c70346) to include entries for the current patch release. - Run `task build` for every cherry-picked commit to make sure there is no compilation error.
- [ ] [Update CHANGELOG on the `main` branch](https://github.com/gogs/gogs/commit/f1102a7a7c545ec221d2906f02fa19170d96f96d) to include entries for the current patch release.
## During release ## During release
@@ -20,36 +22,28 @@ On the release branch:
- [ ] [Update the hard-coded version](https://github.com/gogs/gogs/commit/f0e3cd90f8d7695960eeef2e4e54b2e717302f6c) to the current release, e.g. `0.12.0` -> `0.12.1`. - [ ] [Update the hard-coded version](https://github.com/gogs/gogs/commit/f0e3cd90f8d7695960eeef2e4e54b2e717302f6c) to the current release, e.g. `0.12.0` -> `0.12.1`.
- [ ] Wait for GitHub Actions to complete and no failed jobs. - [ ] Wait for GitHub Actions to complete and no failed jobs.
- [ ] Publish new RC releases (e.g. `v0.12.0-rc.1`, `v0.12.0-rc.2`) to ensure Docker workflow succeeds. **Make sure the tag is created on the release branch**. - [ ] Publish new RC releases in [GitHub release](https://github.com/gogs/gogs/releases) (e.g. `v0.12.0-rc.1`, `v0.12.0-rc.2`) ⚠️ **on the release branch** ⚠️ and ensure Docker workflow succeeds.
- Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up. - [ ] Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
- [ ] Publish a new [GitHub release](https://github.com/gogs/gogs/releases) with entries from [CHANGELOG](https://github.com/gogs/gogs/blob/main/CHANGELOG.md) for the current patch release and all previous releases with same minor version. **Make sure the tag is created on the release branch**. - [ ] Download one of the release archives and run through application setup to make sure nothing blows up.
- [ ] Publish a new [GitHub release](https://github.com/gogs/gogs/releases) ⚠️ **on the release branch** ⚠️ with entries from [CHANGELOG](https://github.com/gogs/gogs/blob/main/CHANGELOG.md) for the current patch release and all previous releases with same minor version.
- [ ] Update all previous GitHub releases with same minor version with the warning: - [ ] Update all previous GitHub releases with same minor version with the warning:
``` ```
** Heads up! There is a new patch release [0.12.1](https://github.com/gogs/gogs/releases/tag/v0.12.1) available, we recommend directly installing or upgrading to that version.** ** Heads up! There is a new patch release [0.12.1](https://github.com/gogs/gogs/releases/tag/v0.12.1) available, we recommend directly installing or upgrading to that version.**
``` ```
- [ ] [Wait for a new image tag for the current release](https://github.com/gogs/gogs/actions/workflows/docker.yml?query=event%3Arelease) to be created automatically on both [Docker Hub](https://hub.docker.com/r/gogs/gogs/tags) and [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs). - [ ] [Wait for new image tags for the current release](https://github.com/gogs/gogs/actions/workflows/docker.yml?query=event%3Arelease) to be created automatically on both [Docker Hub](https://hub.docker.com/r/gogs/gogs/tags) and [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs).
- [ ] [Update Docker image tag](https://github.com/gogs/gogs/blob/main/docs/dev/release/release_new_version.md#update-docker-image-tag) for the minor release `<MAJOR>.<MINOR>` on both [Docker Hub](https://hub.docker.com/r/gogs/gogs/tags) and [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs). - Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
- [ ] [Compile and pack binaries](https://github.com/gogs/gogs/blob/main/docs/dev/release/release_new_version.md#compile-and-pack-binaries) (all prefixed with `gogs_<MAJOR>.<MINOR>.<PATCH>_`, e.g. `gogs_0.12.0_`): - [ ] Download all release archives and [generate SHA256 checksum](https://github.com/gogs/gogs/blob/main/docs/dev/release/sha256.sh) for all binaries to the file `checksum_sha256.txt`.
- [ ] macOS: `darwin_amd64.zip`, `darwin_arm64.zip` - [ ] Upload all archives and `checksum_sha256.txt` to https://dl.gogs.io.
- [ ] Linux: `linux_386.tar.gz`, `linux_386.zip`, `linux_amd64.tar.gz`, `linux_amd64.zip`
- [ ] ARM: `linux_armv7.tar.gz`, `linux_armv7.zip`, `linux_armv8.tar.gz`, `linux_armv8.zip`
- [ ] Windows: `windows_amd64.zip`, `windows_amd64_mws.zip`
- [ ] [Generate SHA256 checksum](https://github.com/gogs/gogs/blob/main/docs/dev/release/sha256.sh) for all binaries to the file `checksum_sha256.txt`.
- [ ] Upload all binaries and `checksum_sha256.txt` to:
- [ ] GitHub release
- [ ] https://dl.gogs.io
- [ ] Update content of [Install from binary](https://gogs.io/docs/installation/install_from_binary).
## After release ## After release
On the `main` branch: On the `main` branch:
- [ ] Publish [GitHub security advisories](https://github.com/gogs/gogs/security) for security patches included in the release.
- [ ] Post the following message on issues that are included in the patch milestone: - [ ] Post the following message on issues that are included in the patch milestone:
``` ```
The <MAJOR>.<MINOR>.<PATCH> has been released that includes the patch of the reported issue. The <MAJOR>.<MINOR>.<PATCH> has been released that includes the patch of the reported issue.
``` ```
- [ ] Update the repository mirror on [Gitee](https://gitee.com/unknwon/gogs).
- [ ] Create a new release announcement in [Discussions](https://github.com/gogs/gogs/discussions/categories/announcements). - [ ] Create a new release announcement in [Discussions](https://github.com/gogs/gogs/discussions/categories/announcements).
- [ ] Send a tweet on the [official Twitter account](https://twitter.com/GogsHQ) for the patch release. - [ ] Send a tweet on the [official Twitter account](https://twitter.com/GogsHQ) for the patch release.
- [ ] Close the patch milestone. - [ ] Close the milestone for the patch release.
- [ ] **After 14 days**, publish [GitHub security advisories](https://github.com/gogs/gogs/security) for security patches included in the release.

View File

@@ -4,8 +4,6 @@ updates:
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/" directory: "/"
schedule: schedule:
interval: "weekly" interval: "monthly"
reviewers:
- "gogs/core"
commit-message: commit-message:
prefix: "mod:" prefix: "mod:"

View File

@@ -8,7 +8,8 @@ Link to the issue: <!-- paste the issue link here, or put "n/a" if not applicabl
- [ ] I agree to follow the [Code of Conduct](https://go.dev/conduct) by submitting this pull request. - [ ] I agree to follow the [Code of Conduct](https://go.dev/conduct) by submitting this pull request.
- [ ] I have read and acknowledge the [Contributing guide](https://github.com/gogs/gogs/blob/main/.github/CONTRIBUTING.md). - [ ] I have read and acknowledge the [Contributing guide](https://github.com/gogs/gogs/blob/main/.github/CONTRIBUTING.md).
- [ ] I have added test cases to cover the new code or have provided the test plan. - [ ] I have added test cases to cover the new code or have provided the test plan. (if applicable)
- [ ] I have added an entry to [CHANGELOG](https://github.com/gogs/gogs/blob/main/CHANGELOG.md). (if applicable)
## Test plan ## Test plan

View File

@@ -1,35 +0,0 @@
# Docs: https://github.com/sturdy-dev/codeball-action
name: Codeball
on: [ pull_request ]
permissions:
contents: read
issues: write
pull-requests: write
jobs:
codeball:
runs-on: ubuntu-latest
name: Codeball
steps:
# Start a new Codeball review job
# This step is asynchronous and will return a job id
- name: Trigger Codeball
id: codeball_baller
uses: sturdy-dev/codeball-action/baller@v2
# Wait for Codeball to return the status
- name: Get Status
id: codeball_status
uses: sturdy-dev/codeball-action/status@v2
with:
codeball-job-id: ${{ steps.codeball_baller.outputs.codeball-job-id }}
# If Codeball approved the contribution, approve the PR
- name: Approve PR
uses: sturdy-dev/codeball-action/approver@v2
if: ${{ steps.codeball_status.outputs.approved == 'true' }}
with:
message: "Codeball: LGTM! :+1:"

View File

@@ -39,7 +39,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with: with:
# We must fetch at least the immediate parents so that if this is # We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head. # a pull request then we can checkout the head.
@@ -47,7 +47,7 @@ jobs:
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v1 uses: github/codeql-action/init@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3.28.3
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file. # If you wish to specify custom queries, you can do so here or in a config file.
@@ -58,7 +58,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below) # If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@v1 uses: github/codeql-action/autobuild@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3.28.3
# Command-line programs to run using the OS shell. # Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl # 📚 https://git.io/JvXDl
@@ -72,4 +72,4 @@ jobs:
# make release # make release
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1 uses: github/codeql-action/analyze@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3.28.3

26
.github/workflows/digitalocean_gc.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: DigitalOcean
on:
workflow_dispatch:
workflow_call:
jobs:
garbage-collection:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Install doctl
uses: digitalocean/action-doctl@5727c67aa3c2c34ae9462d5a0ecfea8a1b31e5ce # v2
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- name: Run garbage collection
run: |
# --force: Required for CI to skip confirmation prompts
# --include-untagged-manifests: Deletes unreferenced manifests to maximize space
doctl registry garbage-collection start --force --include-untagged-manifests
- name: Send email on failure
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }}
with:
smtp_username: ${{ secrets.SMTP_USERNAME }}
smtp_password: ${{ secrets.SMTP_PASSWORD }}

View File

@@ -5,37 +5,36 @@ on:
- main - main
pull_request: pull_request:
paths: paths:
- '.trivy.yaml'
- 'Dockerfile' - 'Dockerfile'
- 'Dockerfile.next'
- 'docker/**' - 'docker/**'
- 'docker-next/**'
- '.github/workflows/docker.yml' - '.github/workflows/docker.yml'
release: release:
types: [ published ] types: [ published ]
jobs: jobs:
buildx: buildx:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
actions: write actions: write
contents: read contents: read
packages: write packages: write
steps: steps:
- name: Canel previous runs
uses: styfle/cancel-workflow-action@0.9.1
with:
all_but_latest: true
access_token: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v1 uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
with:
config-inline: |
[worker.oci]
max-parallelism = 2
- name: Inspect builder - name: Inspect builder
run: | run: |
echo "Name: ${{ steps.buildx.outputs.name }}" echo "Name: ${{ steps.buildx.outputs.name }}"
@@ -44,18 +43,18 @@ jobs:
echo "Flags: ${{ steps.buildx.outputs.flags }}" echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}" echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v1 uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container registry - name: Login to GitHub Container registry
uses: docker/login-action@v1 uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push images - name: Build and push images
uses: docker/build-push-action@v2 uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with: with:
context: . context: .
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64,linux/arm64,linux/arm/v7
@@ -63,22 +62,110 @@ jobs:
tags: | tags: |
gogs/gogs:latest gogs/gogs:latest
ghcr.io/gogs/gogs:latest ghcr.io/gogs/gogs:latest
- name: Scan for container vulnerabilities
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8 # 0.33.1
with:
image-ref: gogs/gogs:latest
exit-code: '1'
- name: Send email on failure - name: Send email on failure
uses: dawidd6/action-send-mail@v3 uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }} if: ${{ failure() }}
with: with:
server_address: smtp.mailgun.org smtp_username: ${{ secrets.SMTP_USERNAME }}
server_port: 465 smtp_password: ${{ secrets.SMTP_PASSWORD }}
username: ${{ secrets.SMTP_USERNAME }}
password: ${{ secrets.SMTP_PASSWORD }}
subject: GitHub Actions (${{ github.repository }}) job result
to: github-actions-8ce6454@unknwon.io
from: GitHub Actions (${{ github.repository }})
reply_to: noreply@unknwon.io
body: |
The job "${{ github.job }}" of ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }} completed with "${{ job.status }}".
View the job run at: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} buildx-next:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
concurrency:
group: ${{ github.workflow }}-next-${{ github.ref }}
cancel-in-progress: true
runs-on: ubuntu-latest
permissions:
actions: write
contents: read
packages: write
steps:
- name: Checkout code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
- name: Inspect builder
run: |
echo "Name: ${{ steps.buildx.outputs.name }}"
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
echo "Status: ${{ steps.buildx.outputs.status }}"
echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Login to Docker Hub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container registry
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to DigitalOcean Container registry
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: registry.digitalocean.com
username: ${{ secrets.DIGITALOCEAN_USERNAME }}
password: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- name: Build and push next-gen images
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: .
file: Dockerfile.next
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: |
gogs/gogs:next-latest
ghcr.io/gogs/gogs:next-latest
registry.digitalocean.com/gogs/gogs:next-latest
- name: Scan for container vulnerabilities
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8 # 0.33.1
with:
image-ref: gogs/gogs:next-latest
exit-code: '1'
- name: Send email on failure
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }}
with:
smtp_username: ${{ secrets.SMTP_USERNAME }}
smtp_password: ${{ secrets.SMTP_PASSWORD }}
deploy-demo:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
needs: buildx-next
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Configure kubectl
run: |
mkdir -p ~/.kube
echo "${KUBECONFIG}" | base64 -d > ~/.kube/config
env:
KUBECONFIG: ${{ secrets.DIGITALOCEAN_K8S_CLUSTER_KUBECONFIG }}
- name: Restart gogs-demo deployment
timeout-minutes: 5
run: |
set -ex
kubectl rollout restart deployment gogs-demo -n gogs
kubectl rollout status deployment gogs-demo -n gogs
- name: Send email on failure
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }}
with:
smtp_username: ${{ secrets.SMTP_USERNAME }}
smtp_password: ${{ secrets.SMTP_PASSWORD }}
buildx-pull-request: buildx-pull-request:
if: ${{ github.event_name == 'pull_request'}} if: ${{ github.event_name == 'pull_request'}}
@@ -87,10 +174,10 @@ jobs:
contents: read contents: read
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
with: with:
config-inline: | config-inline: |
[worker.oci] [worker.oci]
@@ -103,34 +190,33 @@ jobs:
echo "Flags: ${{ steps.buildx.outputs.flags }}" echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}" echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Compute short commit SHA - name: Compute short commit SHA
uses: benjlevesque/short-sha@v1.2 id: short-sha
uses: benjlevesque/short-sha@599815c8ee942a9616c92bcfb4f947a3b670ab0b # v3.0
- name: Build and push images - name: Build and push images
uses: docker/build-push-action@v2 uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with: with:
context: . context: .
platforms: linux/amd64 platforms: linux/amd64
push: true push: true
tags: | tags: |
ttl.sh/gogs/gogs-${{ env.SHA }}:1d ttl.sh/gogs/gogs-${{ steps.short-sha.outputs.sha }}:7d
- name: Scan for container vulnerabilities
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8 # 0.33.1
with:
image-ref: ttl.sh/gogs/gogs-${{ steps.short-sha.outputs.sha }}:7d
exit-code: '1'
# Updates to the following section needs to be synced to all release branches within their lifecycles. buildx-next-pull-request:
buildx-release: if: ${{ github.event_name == 'pull_request'}}
if: ${{ github.event_name == 'release' }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
actions: write
contents: read contents: read
packages: write
steps: steps:
- name: Compute image tag name
run: echo "IMAGE_TAG=$(echo $GITHUB_REF_NAME | cut -c 2-)" >> $GITHUB_ENV
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
with: with:
config-inline: | config-inline: |
[worker.oci] [worker.oci]
@@ -142,39 +228,175 @@ jobs:
echo "Status: ${{ steps.buildx.outputs.status }}" echo "Status: ${{ steps.buildx.outputs.status }}"
echo "Flags: ${{ steps.buildx.outputs.flags }}" echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}" echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Compute short commit SHA
id: short-sha
uses: benjlevesque/short-sha@599815c8ee942a9616c92bcfb4f947a3b670ab0b # v3.0
- name: Build and push next-gen images
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: .
file: Dockerfile.next
platforms: linux/amd64
push: true
tags: |
ttl.sh/gogs/gogs-next-${{ steps.short-sha.outputs.sha }}:7d
- name: Scan for container vulnerabilities
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8 # 0.33.1
with:
image-ref: ttl.sh/gogs/gogs-next-${{ steps.short-sha.outputs.sha }}:7d
exit-code: '1'
# Updates to the following section needs to be synced to all release branches within their lifecycles.
buildx-release:
if: ${{ github.event_name == 'release' }}
runs-on: ubuntu-latest
permissions:
actions: write
contents: read
packages: write
steps:
- name: Compute image tags
run: |
IMAGE_TAG=$(echo $GITHUB_REF_NAME | cut -c 2-)
echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV
TAGS="gogs/gogs:$IMAGE_TAG
ghcr.io/gogs/gogs:$IMAGE_TAG"
# Add minor version tag for stable releases (no prerelease suffix per semver).
if [[ ! "$IMAGE_TAG" =~ - ]]; then
MINOR_TAG=$(echo "$IMAGE_TAG" | cut -d. -f1,2)
TAGS="$TAGS
gogs/gogs:$MINOR_TAG
ghcr.io/gogs/gogs:$MINOR_TAG"
fi
echo "TAGS<<EOF" >> $GITHUB_ENV
echo "$TAGS" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Checkout code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
- name: Inspect builder
run: |
echo "Name: ${{ steps.buildx.outputs.name }}"
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
echo "Status: ${{ steps.buildx.outputs.status }}"
echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v1 uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container registry - name: Login to GitHub Container registry
uses: docker/login-action@v1 uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push images - name: Build and push images
uses: docker/build-push-action@v2 uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with: with:
context: . context: .
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true push: true
tags: | tags: ${{ env.TAGS }}
gogs/gogs:${{ env.IMAGE_TAG }}
ghcr.io/gogs/gogs:${{ env.IMAGE_TAG }}
- name: Send email on failure - name: Send email on failure
uses: dawidd6/action-send-mail@v3 uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }} if: ${{ failure() }}
with: with:
server_address: smtp.mailgun.org smtp_username: ${{ secrets.SMTP_USERNAME }}
server_port: 465 smtp_password: ${{ secrets.SMTP_PASSWORD }}
username: ${{ secrets.SMTP_USERNAME }}
password: ${{ secrets.SMTP_PASSWORD }}
subject: GitHub Actions (${{ github.repository }}) job result
to: github-actions-8ce6454@unknwon.io
from: GitHub Actions (${{ github.repository }})
reply_to: noreply@unknwon.io
body: |
The job "${{ github.job }}" of ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }} completed with "${{ job.status }}".
View the job run at: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} # Updates to the following section needs to be synced to all release branches within their lifecycles.
buildx-next-release:
if: ${{ github.event_name == 'release' }}
runs-on: ubuntu-latest
permissions:
actions: write
contents: read
packages: write
steps:
- name: Compute image tags
run: |
IMAGE_TAG=$(echo $GITHUB_REF_NAME | cut -c 2-)
echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV
TAGS="gogs/gogs:next-$IMAGE_TAG
ghcr.io/gogs/gogs:next-$IMAGE_TAG"
# Add minor version tag for stable releases (no prerelease suffix per semver).
if [[ ! "$IMAGE_TAG" =~ - ]]; then
MINOR_TAG=$(echo "$IMAGE_TAG" | cut -d. -f1,2)
TAGS="$TAGS
gogs/gogs:next-$MINOR_TAG
ghcr.io/gogs/gogs:next-$MINOR_TAG"
fi
echo "TAGS<<EOF" >> $GITHUB_ENV
echo "$TAGS" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Checkout code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
- name: Inspect builder
run: |
echo "Name: ${{ steps.buildx.outputs.name }}"
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
echo "Status: ${{ steps.buildx.outputs.status }}"
echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Login to Docker Hub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container registry
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push next-gen images
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: .
file: Dockerfile.next
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ env.TAGS }}
- name: Send email on failure
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }}
with:
smtp_username: ${{ secrets.SMTP_USERNAME }}
smtp_password: ${{ secrets.SMTP_PASSWORD }}
digitalocean-gc:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
needs: buildx-next
permissions:
contents: read
uses: ./.github/workflows/digitalocean_gc.yml
secrets: inherit
digitalocean-gc-pull-request:
if: ${{ github.event_name == 'pull_request' && github.repository == 'gogs/gogs' }}
needs: buildx-next-pull-request
permissions:
contents: read
uses: ./.github/workflows/digitalocean_gc.yml
secrets: inherit

View File

@@ -30,14 +30,13 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Run golangci-lint - name: Install Go
uses: golangci/golangci-lint-action@v2 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
version: latest go-version: 1.25.x
args: --timeout=30m
- name: Install Task - name: Install Task
uses: arduino/setup-task@v1 uses: arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 # v2.0.0
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Check Go module tidiness and generated files - name: Check Go module tidiness and generated files
@@ -52,90 +51,68 @@ jobs:
echo "Run 'go mod tidy' or 'task generate' commit them" echo "Run 'go mod tidy' or 'task generate' commit them"
exit 1 exit 1
fi fi
- name: Run golangci-lint
uses: golangci/golangci-lint-action@9fae48acfc02a90574d7c304a1758ef9895495fa # v7.0.1
with:
version: latest
args: --timeout=30m
test: test:
name: Test name: Test
strategy: strategy:
matrix: matrix:
go-version: [ 1.19.x, 1.20.x ] go-version: [ 1.25.x ]
platform: [ ubuntu-latest, macos-latest ] platform: [ ubuntu-latest, macos-latest ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:
- name: Checkout code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Install Go - name: Install Go
uses: actions/setup-go@v2 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
go-version: ${{ matrix.go-version }} go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v2
- name: Run tests with coverage - name: Run tests with coverage
run: go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic ./... run: |
- name: Upload coverage report to Codecov go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic -json ./... > test-report.json
uses: codecov/codecov-action@v1.5.0 go install github.com/mfridman/tparse@latest
with: tparse -all -file=test-report.json
file: ./coverage
flags: unittests
- name: Send email on failure - name: Send email on failure
uses: dawidd6/action-send-mail@v3 uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }} if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
with: with:
server_address: smtp.mailgun.org smtp_username: ${{ secrets.SMTP_USERNAME }}
server_port: 465 smtp_password: ${{ secrets.SMTP_PASSWORD }}
username: ${{ secrets.SMTP_USERNAME }}
password: ${{ secrets.SMTP_PASSWORD }}
subject: GitHub Actions (${{ github.repository }}) job result
to: github-actions-8ce6454@unknwon.io
from: GitHub Actions (${{ github.repository }})
reply_to: noreply@unknwon.io
body: |
The job "${{ github.job }}" of ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }} completed with "${{ job.status }}".
View the job run at: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
# Running tests with race detection consumes too much memory on Windows, # Running tests with race detection consumes too much memory on Windows,
# see https://github.com/golang/go/issues/46099 for details. # see https://github.com/golang/go/issues/46099 for details.
test-windows: test-windows:
name: Test name: Test Windows
strategy: strategy:
matrix: matrix:
go-version: [ 1.19.x, 1.20.x ] go-version: [ 1.25.x ]
platform: [ windows-latest ] platform: [ windows-latest ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:
- name: Checkout code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Install Go - name: Install Go
uses: actions/setup-go@v2 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
go-version: ${{ matrix.go-version }} go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v2
- name: Run tests with coverage - name: Run tests with coverage
run: go test -shuffle=on -v -coverprofile=coverage -covermode=atomic ./... run: go test -shuffle=on -v -coverprofile=coverage -covermode=atomic ./...
- name: Upload coverage report to Codecov
uses: codecov/codecov-action@v1.5.0
with:
file: ./coverage
flags: unittests
- name: Send email on failure - name: Send email on failure
uses: dawidd6/action-send-mail@v3 uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }} if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
with: with:
server_address: smtp.mailgun.org smtp_username: ${{ secrets.SMTP_USERNAME }}
server_port: 465 smtp_password: ${{ secrets.SMTP_PASSWORD }}
username: ${{ secrets.SMTP_USERNAME }}
password: ${{ secrets.SMTP_PASSWORD }}
subject: GitHub Actions (${{ github.repository }}) job result
to: github-actions-8ce6454@unknwon.io
from: GitHub Actions (${{ github.repository }})
reply_to: noreply@unknwon.io
body: |
The job "${{ github.job }}" of ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }} completed with "${{ job.status }}".
View the job run at: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
postgres: postgres:
name: Postgres name: Postgres
strategy: strategy:
matrix: matrix:
go-version: [ 1.19.x, 1.20.x ] go-version: [ 1.25.x ]
platform: [ ubuntu-latest ] platform: [ ubuntu-latest ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
services: services:
@@ -151,14 +128,17 @@ jobs:
ports: ports:
- 5432:5432 - 5432:5432
steps: steps:
- name: Checkout code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Install Go - name: Install Go
uses: actions/setup-go@v2 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
go-version: ${{ matrix.go-version }} go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v2
- name: Run tests with coverage - name: Run tests with coverage
run: go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic ./internal/db/... run: |
go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic -json ./internal/database/... > test-report.json
go install github.com/mfridman/tparse@latest
tparse -all -file=test-report.json
env: env:
GOGS_DATABASE_TYPE: postgres GOGS_DATABASE_TYPE: postgres
PGPORT: 5432 PGPORT: 5432
@@ -171,42 +151,26 @@ jobs:
name: MySQL name: MySQL
strategy: strategy:
matrix: matrix:
go-version: [ 1.19.x, 1.20.x ] go-version: [ 1.25.x ]
platform: [ ubuntu-18.04 ] platform: [ ubuntu-22.04 ] # Use the lowest version possible for backwards compatibility
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:
- name: Start MySQL server - name: Start MySQL server
run: sudo systemctl start mysql run: sudo systemctl start mysql
- name: Checkout code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Install Go - name: Install Go
uses: actions/setup-go@v2 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
go-version: ${{ matrix.go-version }} go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v2
- name: Run tests with coverage - name: Run tests with coverage
run: go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic ./internal/db/... run: |
go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic -json ./internal/database/... > test-report.json
go install github.com/mfridman/tparse@latest
tparse -all -file=test-report.json
env: env:
GOGS_DATABASE_TYPE: mysql GOGS_DATABASE_TYPE: mysql
MYSQL_USER: root MYSQL_USER: root
MYSQL_PASSWORD: root MYSQL_PASSWORD: root
MYSQL_HOST: localhost MYSQL_HOST: localhost
MYSQL_PORT: 3306 MYSQL_PORT: 3306
sqlite-go:
name: SQLite - Go
strategy:
matrix:
go-version: [ 1.19.x, 1.20.x ]
platform: [ ubuntu-latest ]
runs-on: ${{ matrix.platform }}
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v2
- name: Run tests with coverage
run: go test -shuffle=on -v -race -parallel=1 -coverprofile=coverage -covermode=atomic ./internal/db/...
env:
GOGS_DATABASE_TYPE: sqlite

View File

@@ -16,7 +16,7 @@ jobs:
action: action:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: dessant/lock-threads@v3 - uses: dessant/lock-threads@1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771 # v5.0.1
with: with:
github-token: ${{ github.token }} github-token: ${{ github.token }}
issue-inactive-days: '90' issue-inactive-days: '90'

View File

@@ -1,33 +0,0 @@
name: LSIF
on:
push:
paths:
- '**.go'
- 'go.mod'
- '.github/workflows/lsif.yml'
env:
GOPROXY: "https://proxy.golang.org"
jobs:
lsif-go:
if: github.repository == 'gogs/gogs'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Generate LSIF data
uses: sourcegraph/lsif-go-action@master
- name: Upload LSIF data to sourcegraph.com
continue-on-error: true
uses: docker://sourcegraph/src-cli:latest
with:
args: lsif upload -github-token=${{ secrets.GITHUB_TOKEN }}
- name: Upload LSIF data to S2
continue-on-error: true
uses: docker://sourcegraph/src-cli:latest
with:
args: -endpoint=https://sourcegraph.sourcegraph.com lsif upload -github-token=${{ secrets.GITHUB_TOKEN }}
- name: Upload LSIF data to cs.unknwon.dev
continue-on-error: true
uses: docker://sourcegraph/src-cli:latest
with:
args: -endpoint=https://cs.unknwon.dev lsif upload -github-token=${{ secrets.GITHUB_TOKEN }}

146
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,146 @@
name: Release
on:
release:
types: [published]
push:
branches:
- main
pull_request:
paths:
- '.github/workflows/release.yml'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
GOPROXY: "https://proxy.golang.org"
permissions:
contents: write
jobs:
build:
name: Build ${{ matrix.goos }}/${{ matrix.goarch }}${{ matrix.suffix }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- {goos: linux, goarch: amd64}
- {goos: linux, goarch: arm64}
- {goos: linux, goarch: "386"}
- {goos: darwin, goarch: amd64}
- {goos: darwin, goarch: arm64}
- {goos: windows, goarch: amd64}
- {goos: windows, goarch: arm64}
- {goos: windows, goarch: "386"}
- {goos: windows, goarch: amd64, suffix: "_mws", tags: minwinsvc}
- {goos: windows, goarch: arm64, suffix: "_mws", tags: minwinsvc}
- {goos: windows, goarch: "386", suffix: "_mws", tags: minwinsvc}
steps:
- name: Checkout code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.25.x
- name: Determine version
id: version
run: |
if [ "${{ github.event_name }}" = "release" ]; then
echo "version=${{ github.event.release.tag_name }}" | sed 's/version=v/version=/' >> "$GITHUB_OUTPUT"
echo "release_tag=${{ github.event.release.tag_name }}" >> "$GITHUB_OUTPUT"
elif [ "${{ github.event_name }}" = "push" ] && [ "${{ github.ref }}" = "refs/heads/main" ]; then
echo "version=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
echo "release_tag=latest-commit-build" >> "$GITHUB_OUTPUT"
else
echo "version=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
echo "release_tag=release-archive-testing" >> "$GITHUB_OUTPUT"
fi
- name: Build binary
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
CGO_ENABLED: "0"
run: |
BINARY_NAME="gogs"
if [ "${{ matrix.goos }}" = "windows" ]; then
BINARY_NAME="gogs.exe"
fi
TAGS_FLAG=""
if [ -n "${{ matrix.tags }}" ]; then
TAGS_FLAG="-tags ${{ matrix.tags }}"
fi
go build -v \
-ldflags "
-X \"gogs.io/gogs/internal/conf.BuildTime=$(date -u '+%Y-%m-%d %I:%M:%S %Z')\"
-X \"gogs.io/gogs/internal/conf.BuildCommit=$(git rev-parse HEAD)\"
" \
$TAGS_FLAG \
-trimpath -o "$BINARY_NAME" ./cmd/gogs
- name: Prepare archive contents
run: |
mkdir -p dist/gogs
BINARY_NAME="gogs"
if [ "${{ matrix.goos }}" = "windows" ]; then
BINARY_NAME="gogs.exe"
fi
cp "$BINARY_NAME" dist/gogs/
cp LICENSE README.md README_ZH.md dist/gogs/
cp -r scripts dist/gogs/
- name: Create archives
working-directory: dist
run: |
VERSION="${{ steps.version.outputs.version }}"
ARCHIVE_BASE="gogs_${VERSION}_${{ matrix.goos }}_${{ matrix.goarch }}${{ matrix.suffix }}"
zip -r "${ARCHIVE_BASE}.zip" gogs
if [ "${{ matrix.goos }}" = "linux" ]; then
tar -czvf "${ARCHIVE_BASE}.tar.gz" gogs
fi
- name: Upload to release
env:
GH_TOKEN: ${{ github.token }}
run: |
RELEASE_TAG="${{ steps.version.outputs.release_tag }}"
if [ "${{ github.event_name }}" != "release" ]; then
git tag -f "$RELEASE_TAG"
git push origin "$RELEASE_TAG" --force || true
RELEASE_TITLE="Release Archive Testing"
RELEASE_NOTES="Automated testing release for workflow development."
if [ "$RELEASE_TAG" = "latest-commit-build" ]; then
RELEASE_TITLE="Latest Commit Build"
RELEASE_NOTES="Automated build from the latest commit on main branch. This release is updated automatically with every push to main."
fi
gh release view "$RELEASE_TAG" || gh release create "$RELEASE_TAG" --title "$RELEASE_TITLE" --notes "$RELEASE_NOTES" --prerelease
fi
PATTERN="_${{ matrix.goos }}_${{ matrix.goarch }}${{ matrix.suffix }}\."
gh release view "$RELEASE_TAG" --json assets --jq ".assets[].name" | grep "$PATTERN" | while read -r asset; do
gh release delete-asset "$RELEASE_TAG" "$asset" --yes || true
done
gh release upload "$RELEASE_TAG" dist/gogs_*.zip --clobber
if [ "${{ matrix.goos }}" = "linux" ]; then
gh release upload "$RELEASE_TAG" dist/gogs_*.tar.gz --clobber
fi
notify-failure:
name: Notify on failure
runs-on: ubuntu-latest
needs: [build]
if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
steps:
- name: Send email on failure
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
with:
smtp_username: ${{ secrets.SMTP_USERNAME }}
smtp_password: ${{ secrets.SMTP_PASSWORD }}

View File

@@ -12,6 +12,6 @@ jobs:
name: Shellcheck name: Shellcheck
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Run ShellCheck - name: Run ShellCheck
uses: ludeeus/action-shellcheck@master uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # 2.0.0

24
.gitignore vendored
View File

@@ -1,18 +1,16 @@
.DS_Store # Build artifacts
*.db .bin/
*.log dist/
# Runtime data
log/ log/
custom/ custom/
data/ data/
# Configuration and application files
.idea/ .idea/
*.iml .task/
public/img/avatar/
*.exe
*.exe~
/gogs
profile/
*.pem
output*
/release
.task
.envrc .envrc
# System junk
.DS_Store

View File

@@ -1,24 +1,42 @@
linters-settings: version: "2"
staticcheck:
checks: [
"all",
"-SA1019" # There are valid use cases of strings.Title
]
nakedret:
max-func-lines: 0 # Disallow any unnamed return statement
linters: linters:
enable: enable:
- unused
- errcheck
- gosimple
- govet
- ineffassign
- staticcheck
- typecheck
- nakedret - nakedret
- gofmt
- rowserrcheck - rowserrcheck
- unconvert - unconvert
- goimports
- unparam - unparam
settings:
govet:
disable:
# printf: non-constant format string in call to fmt.Errorf (govet)
# showing up since golangci-lint version 1.60.1
- printf
staticcheck:
checks:
- all
- "-SA1019" # This project is under active refactoring and not all code is up to date.
- "-QF1001" # I'm a math noob
- "-ST1016" # Some legit code uses this pattern
nakedret:
max-func-lines: 0 # Disallow any unnamed return statement
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
paths:
- third_party$
- builtin$
- examples$
formatters:
enable:
- gofmt
- goimports
exclusions:
generated: lax
paths:
- third_party$
- builtin$
- examples$

View File

@@ -1,13 +1,15 @@
targets: targets:
debian-9: &debian debian-11: &debian
build_dependencies: build_dependencies:
- libpam0g-dev - libpam0g-dev
dependencies: dependencies:
- libpam0g - libpam0g
- git - git
debian-10: debian-12:
<<: *debian <<: *debian
debian-11: debian-13:
<<: *debian
debian-14:
<<: *debian <<: *debian
ubuntu-18.04: ubuntu-18.04:
<<: *debian <<: *debian
@@ -15,7 +17,9 @@ targets:
<<: *debian <<: *debian
ubuntu-22.04: ubuntu-22.04:
<<: *debian <<: *debian
centos-8: ubuntu-24.04:
<<: *debian
centos-9:
build_dependencies: build_dependencies:
- pam-devel - pam-devel
# required for Go buildpack # required for Go buildpack

32
AGENTS.md Normal file
View File

@@ -0,0 +1,32 @@
## Core principles
- Stop telling me "You're right", it just shows how incompetent you are. Do it right on your first try, fact-check and review after changes. If you are not sure, ask for help.
- When you see changes made outside your knowledge, use the current version as your new starting point. Do not blindly overwrite those changes or you suck. Even if you have to update the code, always respect the pattern in the surrounding context!
## Style and mechanics
This applies to all texts, including but not limited to UI, documentation, code comments.
- Use sentence case. Preserve original casing for brand names.
- End with a period for a full sentence.
- Do not add comments that repeat what the code is doing, always prefer more descriptive names. Do add comments for intentions that aren't obvious via reading the code alone. This rule takes precedence over matching existing patterns.
## Coding guidelines
- Use `github.com/cockroachdb/errors` for error handling.
- Use `github.com/stretchr/testify` for assertions in tests. Be mindful about the choice of `require` and `assert`, the former should be used when the test cannot proceed meaningfully after a failed assertion.
## Build instructions
- Prefer `task` command over vanilla `go` command when available. Use `--force` flag when necessary.
- Run `task lint` after every time you finish changing code, and fix all linter errors.
## Tool-use guidance
- Use `gh` CLI to access information on github.com that is not publicly available.
## Source code control
- When pushing changes to a pull request from a fork, use SSH address and do not add remote.
- Never automatically executes commands that touches Git history even if the session does not require approvals, including but not limited to `rebase`, `commit`, `push`, `pull`, `reset`, `amend`. Exceptions are only allowed case-by-case.
- Do not amend commits unless being explicitly asked to do so.

View File

@@ -2,7 +2,76 @@
All notable changes to Gogs are documented in this file. All notable changes to Gogs are documented in this file.
## 0.14.0+dev (`main`) ## 0.15.0+dev (`main`)
## 0.14.1
### Added
- Support comparing tags in addition to branches. [#6141](https://github.com/gogs/gogs/issues/6141)
- Show file name in browser tab title when viewing files. [#5896](https://github.com/gogs/gogs/pull/5896)
- Support using TLS for Redis session provider using `[session] PROVIDER_CONFIG = ...,tls=true`. [#7860](https://github.com/gogs/gogs/pull/7860)
- Support expanading values in `app.ini` from environment variables, e.g. `[database] PASSWORD = ${DATABASE_PASSWORD}`. [#8057](https://github.com/gogs/gogs/pull/8057)
- Support custom logout URL that users get redirected to after sign out using `[auth] CUSTOM_LOGOUT_URL`. [#8089](https://github.com/gogs/gogs/pull/8089)
- Start publishing next-generation, security-focused Docker image via `gogs/gogs:next-latest`, which will become the default image distribution (`gogs/gogs:latest`) starting 0.16.0. While not all container options support have been added in the next-generation image, the use of current legacy Docker image is deprecated, it will be published as `gogs/gogs:legacy-latest` starting 0.16.0, and be completely removed no earlier than 0.17.0. [#8061](https://github.com/gogs/gogs/pull/8061)
### Changed
- The required Go version to compile source code changed to 1.25.
- The build tag `cert` has been removed, and the `gogs cert` subcommand is now always available. [#7883](https://github.com/gogs/gogs/pull/7883)
- Switched to pure-Go SQLite driver, CGO is no longer required to compile Gogs. [#7882](https://github.com/gogs/gogs/issues/7882)
- Updated Mermaid JS to 11.9.0. [#8009](https://github.com/gogs/gogs/pull/8009)
- Halt the repository creation and leave the directory untouched if the repository root already exists. [#8091](https://github.com/gogs/gogs/pull/8091)
### Fixed
- _Security:_ Unauthenticated file upload. [#8128](https://github.com/gogs/gogs/pull/8128) - [GHSA-fc3h-92p8-h36f](https://github.com/gogs/gogs/security/advisories/GHSA-fc3h-92p8-h36f)
- _Security:_ Protected branch bypass in web UI. [#8124](https://github.com/gogs/gogs/pull/8124) - [GHSA-2c6v-8r3v-gh6p](https://github.com/gogs/gogs/security/advisories/GHSA-2c6v-8r3v-gh6p)
- _Security:_ Authorization bypass allows cross-repository label modification. [#8123](https://github.com/gogs/gogs/pull/8123) - [GHSA-cv22-72px-f4gh](https://github.com/gogs/gogs/security/advisories/GHSA-cv22-72px-f4gh)
- _Security:_ Cross-repository comment deletion. [#8119](https://github.com/gogs/gogs/pull/8119) - [GHSA-jj5m-h57j-5gv7](https://github.com/gogs/gogs/security/advisories/GHSA-jj5m-h57j-5gv7)
- 500 error on repository watchers and stargazers pages when using MSSQL. [#5482](https://github.com/gogs/gogs/issues/5482)
- Submodules using `ssh://` protocol and a port number are not rendered correctly. [#4941](https://github.com/gogs/gogs/issues/4941)
- Missing link to user profile on the first commit in commits history page. [#7404](https://github.com/gogs/gogs/issues/7404)
- Unable to delete or display files with special characters in their names. [#7596](https://github.com/gogs/gogs/issues/7596)
- Docker healthcheck fails when `HTTP_PROXY` or `HTTPS_PROXY` environment variables are set. [#7529](https://github.com/gogs/gogs/issues/7529)
## 0.13.4
### Fixed
- _Security:_ DoS in repository mirror sync. [#8065](https://github.com/gogs/gogs/pull/8065) - [GHSA-cr88-6mqm-4g57](https://github.com/gogs/gogs/security/advisories/GHSA-cr88-6mqm-4g57)
- _Security:_ RCE in repository put contents API. [#8082](https://github.com/gogs/gogs/pull/8082) - [GHSA-gg64-xxr9-qhjp](https://github.com/gogs/gogs/security/advisories/GHSA-gg64-xxr9-qhjp)
- _Security:_ Arbitrary file deletion via path traversal in wiki page update. [#8099](https://github.com/gogs/gogs/pull/8099) - [GHSA-jp7c-wj6q-3qf2](https://github.com/gogs/gogs/security/advisories/GHSA-jp7c-wj6q-3qf2)
- _Security:_ 2FA bypass via recovery code. [#8100](https://github.com/gogs/gogs/pull/8100) - [GHSA-p6x6-9mx6-26wj](https://github.com/gogs/gogs/security/advisories/GHSA-p6x6-9mx6-26wj)
- _Security:_ Authorization bypass in repository deletion API. [#8101](https://github.com/gogs/gogs/pull/8101) - [GHSA-rjv5-9px2-fqw6](https://github.com/gogs/gogs/security/advisories/GHSA-rjv5-9px2-fqw6)
- _Security:_ Update repository content via API with read-only permission. [#8102](https://github.com/gogs/gogs/pull/8102) - [GHSA-5qhx-gwfj-6jqr](https://github.com/gogs/gogs/security/advisories/GHSA-5qhx-gwfj-6jqr)
- _Security:_ Arbitrary file read/write via path traversal in Git hook editing. [#8103](https://github.com/gogs/gogs/pull/8103) - [GHSA-mrph-w4hh-gx3g](https://github.com/gogs/gogs/security/advisories/GHSA-mrph-w4hh-gx3g)
- _Security:_ Stored XSS via Mermaid diagrams. [`2c88cd4`](https://github.com/gogs/gogs/commit/2c88cd4d9fdc346d8e06d82f5368d657c10e79c2) - [GHSA-26gq-grmh-6xm6](https://github.com/gogs/gogs/security/advisories/GHSA-26gq-grmh-6xm6)
- Route `GET /api/v1/user/repos` responses 500 when accessible repositories contain forks. [#8069](https://github.com/gogs/gogs/pull/8069)
- Newer Git versions that uses default branch `main` cause wiki initialization to fail. [#8094](https://github.com/gogs/gogs/pull/8094)
## 0.13.3
### Fixed
- _Security:_ Stored XSS in PDF renderer. [GHSA-xh32-cx6c-cp4v](https://github.com/gogs/gogs/security/advisories/GHSA-xh32-cx6c-cp4v)
- _Security:_ Path Traversal in file editing UI. [GHSA-wj44-9vcg-wjq7](https://github.com/gogs/gogs/security/advisories/GHSA-wj44-9vcg-wjq7)
- Randomly timeout on repository file uploads. [#7890](https://github.com/gogs/gogs/pull/7890)
- Unable to override email templates in custom directory. [#7905](https://github.com/gogs/gogs/pull/7905)
## 0.13.2
### Fixed
- _Security:_ Path Traversal in file editing UI. [GHSA-r7j8-5h9c-f6fx](https://github.com/gogs/gogs/security/advisories/GHSA-r7j8-5h9c-f6fx)
- _Security:_ Path Traversal in file update API. [GHSA-qf5v-rp47-55gg](https://github.com/gogs/gogs/security/advisories/GHSA-qf5v-rp47-55gg)
- _Security:_ Argument Injection in the built-in SSH server. [GHSA-vm62-9jw3-c8w3](https://github.com/gogs/gogs/security/advisories/GHSA-vm62-9jw3-c8w3)
- _Security:_ Deletion of internal files. [GHSA-ccqv-43vm-4f3w](https://github.com/gogs/gogs/security/advisories/GHSA-ccqv-43vm-4f3w)
- _Security:_ Argument Injection during changes preview. [GHSA-9pp6-wq8c-3w2c](https://github.com/gogs/gogs/security/advisories/GHSA-9pp6-wq8c-3w2c)
- _Security:_ Argument Injection when tagging new releases. [GHSA-m27m-h5gj-wwmg](https://github.com/gogs/gogs/security/advisories/GHSA-m27m-h5gj-wwmg)
- Use the non-deprecated section name `[email]` during installation for email settings. [#7704](https://github.com/gogs/gogs/pull/7704)
- Use the non-deprecated section name `[email] PASSWORD` during installation for email password. [#7807](https://github.com/gogs/gogs/pull/7807)
- Make purple template label color to actually use the hexcode of purple. [#7722](https://github.com/gogs/gogs/pull/7722)
## 0.13.0 ## 0.13.0

1
CLAUDE.md Symbolic link
View File

@@ -0,0 +1 @@
AGENTS.md

2
CODEOWNERS Normal file
View File

@@ -0,0 +1,2 @@
# Default
* @gogs/core

View File

@@ -1,4 +1,4 @@
FROM golang:alpine3.17 AS binarybuilder FROM golang:alpine3.21 AS binarybuilder
RUN apk --no-cache --no-progress add --virtual \ RUN apk --no-cache --no-progress add --virtual \
build-deps \ build-deps \
build-base \ build-base \
@@ -11,7 +11,7 @@ COPY . .
RUN ./docker/build/install-task.sh RUN ./docker/build/install-task.sh
RUN TAGS="cert pam" task build RUN TAGS="cert pam" task build
FROM alpine:3.17 FROM alpine:3.21
RUN apk --no-cache --no-progress add \ RUN apk --no-cache --no-progress add \
bash \ bash \
ca-certificates \ ca-certificates \
@@ -25,20 +25,20 @@ RUN apk --no-cache --no-progress add \
tzdata \ tzdata \
rsync rsync
ENV GOGS_CUSTOM /data/gogs ENV GOGS_CUSTOM=/data/gogs
# Configure LibC Name Service # Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf COPY docker/nsswitch.conf /etc/nsswitch.conf
WORKDIR /app/gogs WORKDIR /app/gogs
COPY docker ./docker COPY docker ./docker
COPY --from=binarybuilder /gogs.io/gogs/gogs . COPY --from=binarybuilder /gogs.io/gogs/.bin/gogs .
RUN ./docker/build/finalize.sh RUN ./docker/build/finalize.sh
# Configure Docker Container # Configure Docker Container
VOLUME ["/data", "/backup"] VOLUME ["/data", "/backup"]
EXPOSE 22 3000 EXPOSE 22 3000
HEALTHCHECK CMD (curl -o /dev/null -sS http://localhost:3000/healthcheck) || exit 1 HEALTHCHECK CMD (curl --noproxy localhost -o /dev/null -sS http://localhost:3000/healthcheck) || exit 1
ENTRYPOINT ["/app/gogs/docker/start.sh"] ENTRYPOINT ["/app/gogs/docker/start.sh"]
CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"] CMD ["/usr/bin/s6-svscan", "/app/gogs/docker/s6/"]

50
Dockerfile.next Normal file
View File

@@ -0,0 +1,50 @@
FROM golang:alpine3.23 AS binarybuilder
RUN apk --no-cache --no-progress add --virtual \
build-deps \
build-base \
git \
linux-pam-dev
WORKDIR /gogs.io/gogs
COPY . .
RUN ./docker/build/install-task.sh
RUN TAGS="cert pam" task build
FROM alpine:3.23
# Create git user and group with fixed UID/GID at build time for better K8s security context support.
# Using 1000:1000 as it's a common non-root UID/GID that works well with most volume permission setups.
ARG GOGS_UID=1000
ARG GOGS_GID=1000
RUN addgroup -g ${GOGS_GID} -S git && \
adduser -u ${GOGS_UID} -G git -H -D -g 'Gogs Git User' -h /data/git -s /bin/sh git
RUN apk --no-cache --no-progress add \
bash \
ca-certificates \
curl \
git \
linux-pam \
openssh-keygen
ENV GOGS_CUSTOM=/data/gogs
WORKDIR /app/gogs
COPY --from=binarybuilder /gogs.io/gogs/.bin/gogs .
COPY docker-next/start.sh .
RUN chmod +x start.sh && \
mkdir -p /data && \
ln -s /data/git /home/git && \
chown -R git:git /app/gogs /data
# Configure Docker Container
VOLUME ["/data", "/backup"]
EXPOSE 22 3000
HEALTHCHECK CMD (curl --noproxy localhost -o /dev/null -sS http://localhost:3000/healthcheck) || exit 1
# Run as non-root user by default for better K8s security context support.
USER git:git
ENTRYPOINT ["/app/gogs/start.sh"]
CMD ["/app/gogs/gogs", "web"]

View File

@@ -1,8 +1,8 @@
![gogs-brand](https://user-images.githubusercontent.com/2946214/146899259-6a8b58ad-8d6e-40d2-ab02-79dc6aadabbf.png) ![gogs-brand](https://user-images.githubusercontent.com/2946214/146899259-6a8b58ad-8d6e-40d2-ab02-79dc6aadabbf.png)
[![GitHub Workflow Status](https://img.shields.io/github/checks-status/gogs/gogs/main?logo=github&style=for-the-badge)](https://github.com/gogs/gogs/actions?query=branch%3Amain) [![Discord](https://img.shields.io/discord/382595433060499458.svg?style=for-the-badge&logo=discord)](https://discord.gg/9aqdHU7) [![Sourcegraph](https://img.shields.io/badge/view%20on-Sourcegraph-brightgreen.svg?style=for-the-badge&logo=sourcegraph)](https://sourcegraph.com/github.com/gogs/gogs) [![GitHub Workflow Status](https://img.shields.io/github/checks-status/gogs/gogs/main?logo=github&style=for-the-badge)](https://github.com/gogs/gogs/actions?query=branch%3Amain) [![Sourcegraph](https://img.shields.io/badge/view%20on-Sourcegraph-brightgreen.svg?style=for-the-badge&logo=sourcegraph)](https://sourcegraph.com/github.com/gogs/gogs)
[简体中文](README_ZH.md) 👉 Deploy on DigitalOcean and [get $200 in free credits](https://m.do.co/c/5aeb02268b55)!
## 🔮 Vision ## 🔮 Vision
@@ -31,7 +31,7 @@ The Gogs (`/gɑgz/`) project aims to build a simple, stable and extensible self-
- Jupyter Notebook and PDF rendering. - Jupyter Notebook and PDF rendering.
- Authentication via SMTP, LDAP, reverse proxy, GitHub.com and GitHub Enterprise with 2FA. - Authentication via SMTP, LDAP, reverse proxy, GitHub.com and GitHub Enterprise with 2FA.
- Customize HTML templates, static files and many others. - Customize HTML templates, static files and many others.
- Rich database backend, including PostgreSQL, MySQL, SQLite3 and [TiDB](https://github.com/pingcap/tidb). - Rich database backend support, including PostgreSQL, MySQL, SQLite3 or any database backend that speaks one of those protocols.
- Have localization over [31 languages](https://crowdin.com/project/gogs). - Have localization over [31 languages](https://crowdin.com/project/gogs).
## 💾 Hardware requirements ## 💾 Hardware requirements
@@ -60,11 +60,7 @@ There are 6 ways to install Gogs:
### Deploy to cloud ### Deploy to cloud
- [Cloudron](https://www.cloudron.io/store/io.gogs.cloudronapp.html) - [Cloudron](https://www.cloudron.io/store/io.gogs.cloudronapp.html)
- [Sandstorm](https://github.com/cem/gogs-sandstorm)
- [sloppy.io](https://github.com/sloppyio/quickstarters/tree/master/gogs)
- [YunoHost](https://github.com/YunoHost-Apps/gogs_ynh) - [YunoHost](https://github.com/YunoHost-Apps/gogs_ynh)
- [DPlatform](https://github.com/DFabric/DPlatform-Shell)
- [LunaNode](https://github.com/LunaNode/launchgogs)
- [alwaysdata](https://www.alwaysdata.com/en/marketplace/gogs/) - [alwaysdata](https://www.alwaysdata.com/en/marketplace/gogs/)
### Tutorials ### Tutorials
@@ -81,7 +77,6 @@ There are 6 ways to install Gogs:
## 📦 Software, service and product support ## 📦 Software, service and product support
- [Fabric8](http://fabric8.io/) (DevOps)
- [Jenkins](https://plugins.jenkins.io/gogs-webhook/) (CI) - [Jenkins](https://plugins.jenkins.io/gogs-webhook/) (CI)
- [Puppet](https://forge.puppet.com/modules/Siteminds/gogs) (IT) - [Puppet](https://forge.puppet.com/modules/Siteminds/gogs) (IT)
- [Synology](https://www.synology.com) (Docker) - [Synology](https://www.synology.com) (Docker)
@@ -89,10 +84,17 @@ There are 6 ways to install Gogs:
## 🙇‍♂️ Acknowledgments ## 🙇‍♂️ Acknowledgments
<p>This project is proudly supported by:</p>
<p>
<a href="https://m.do.co/c/5aeb02268b55">
<img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" width="201px">
</a>
</p>
Other acknowledgments:
- Thanks [Egon Elbre](https://twitter.com/egonelbre) for designing the original version of the logo. - Thanks [Egon Elbre](https://twitter.com/egonelbre) for designing the original version of the logo.
- Thanks [Crowdin](https://crowdin.com/project/gogs) for sponsoring open source translation plan. - 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/), [BitLaunch](https://bitlaunch.io), and [MonoVM](https://monovm.com/linux-vps/) 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. - Thanks [Buildkite](https://buildkite.com) for sponsoring open source CI/CD plan.
## 👋 Contributors ## 👋 Contributors

View File

@@ -88,9 +88,8 @@ Gogs`/gɑgz/`)项目旨在打造一个以最简便的方式搭建简单、
## 特别鸣谢 ## 特别鸣谢
- 感谢 [Egon Elbre](https://twitter.com/egonelbre) 设计的 Logo。 - 感谢 [Egon Elbre](https://twitter.com/egonelbre) 设计的 Logo。
- 感谢 [DigitalOcean](https://www.digitalocean.com) 和 [MonoVM](https://monovm.com) 提供服务器赞助。
- 感谢 [Crowdin](https://crowdin.com/project/gogs) 提供免费的开源项目本地化支持。 - 感谢 [Crowdin](https://crowdin.com/project/gogs) 提供免费的开源项目本地化支持。
- 感谢 [DigitalOcean](https://www.digitalocean.com)、[VPSServer](https://www.vpsserver.com/)、[Hosted.nl](https://www.hosted.nl/)、[MonoVM](https://monovm.com) 和 [BitLaunch](https://bitlaunch.io) 提供服务器赞助。
- 感谢 [KeyCDN](https://www.keycdn.com/) 提供 CDN 服务赞助。
- 感谢 [Buildkite](https://buildkite.com) 提供免费的开源项目 CI/CD 支持。 - 感谢 [Buildkite](https://buildkite.com) 提供免费的开源项目 CI/CD 支持。
## 贡献成员 ## 贡献成员

View File

@@ -2,22 +2,26 @@
## Supported versions ## Supported versions
Only lastest two minor version releases are supported (>= 0.12) for accepting vulnerability reports and patching fixes. Only the latest minor version releases are supported (e.g., 0.14) for patching vulnerabilities. You can find the latest minor version in the [GitHub releases](https://github.com/gogs/gogs/releases) page.
Existing vulnerability reports are being tracked in [Gogs Vulnerability Reports](https://jcunknwon.notion.site/Gogs-Vulnerability-Reports-81d7df52e45c4f159274e46ba48ed1b9). Existing vulnerability reports are being tracked in [GitHub Security Advisories](https://github.com/gogs/gogs/security/advisories). Not all accepted GHSA are published.
## Vulnerability lifecycle ## Vulnerability lifecycle
1. Report a vulnerability: > [!important]
- We strongly enourage to use https://huntr.dev/ for submitting and managing status of vulnerability reports. > Starting **Nov 9, 2023 00:00 UTC**, only security vulnerabilities reported through [GitHub Security Advisories](https://github.com/gogs/gogs/security/advisories/new) are accepted.
- Alternatively, you may send vulnerability reports through emails to [security@gogs.io](mailto:security@gogs.io). > Pre-existing vulnerability reported through https://huntr.dev/ or email (`security@gogs.io`) will continue to be worked through.
1. Create a [dummy issue](https://github.com/gogs/gogs/issues/6901) with high-level description of the security vulnerability for credibility and tracking purposes.
1. Project maintainers review the report and either: 1. Report an advisory for the vulnerability.
- Please be aware that **only advisories reported in plain English** will be reviewed.
- We DO NOT accept vulnerabilities cannot be reproduced on the latest `main` commit.
1. Project maintainers review the advisory:
- Ask clarifying questions - Ask clarifying questions
- Make sure there was no prior advisory exists for the same vulnerability
- Confirm or deny the vulnerability - Confirm or deny the vulnerability
1. Once the vulnerability is confirmed, the reporter may submit a patch or wait for project maintainers to patch. 1. Once the advisory is accepted, the reporter may submit a patch or wait for project maintainers to patch.
- The latter is usually significantly slower. - The latter is usually significantly slower.
1. Patch releases will be made for the supported versions. 1. Patch releases will be made for the supported versions.
1. Publish the original vulnerability report and a new [GitHub security advisory](https://github.com/gogs/gogs/security/advisories). 1. After 14 days of the release, publish the corresponding advisory on [GitHub Security Advisories](https://github.com/gogs/gogs/security/advisories).
Thank you! Thank you for making open source community a better place!

View File

@@ -10,8 +10,10 @@ tasks:
web: web:
desc: Build the binary and start the web server desc: Build the binary and start the web server
deps: [build] deps: [build]
env:
GOGS_WORK_DIR: '{{.ROOT_DIR}}'
cmds: cmds:
- ./gogs web - .bin/gogs web
build: build:
desc: Build the binary desc: Build the binary
@@ -22,7 +24,7 @@ tasks:
-X "{{.PKG_PATH}}.BuildCommit={{.BUILD_COMMIT}}" -X "{{.PKG_PATH}}.BuildCommit={{.BUILD_COMMIT}}"
' '
-tags '{{.TAGS}}' -tags '{{.TAGS}}'
-trimpath -o gogs{{.BINARY_EXT}} -trimpath -o .bin/gogs{{.BINARY_EXT}} ./cmd/gogs
vars: vars:
PKG_PATH: gogs.io/gogs/internal/conf PKG_PATH: gogs.io/gogs/internal/conf
BUILD_TIME: BUILD_TIME:
@@ -31,7 +33,7 @@ tasks:
sh: git rev-parse HEAD sh: git rev-parse HEAD
sources: sources:
- go.mod - go.mod
- gogs.go - cmd/gogs/*.go
- internal/**/*.go - internal/**/*.go
- conf/**/* - conf/**/*
- public/**/* - public/**/*
@@ -42,7 +44,7 @@ tasks:
generate-schemadoc: generate-schemadoc:
desc: Generate database schema documentation desc: Generate database schema documentation
cmds: cmds:
- go generate ./internal/db/schemadoc - go generate ./internal/database/schemadoc
generate: generate:
desc: Run all go:generate commands desc: Run all go:generate commands
@@ -59,18 +61,6 @@ tasks:
cmds: cmds:
- find . -name "*.DS_Store" -type f -delete - find . -name "*.DS_Store" -type f -delete
release:
desc: Build the binary and pack resources to a ZIP file
deps: [build]
cmds:
- rm -rf {{.RELEASE_GOGS}}
- mkdir -p {{.RELEASE_GOGS}}
- cp -r gogs{{.BINARY_EXT}} LICENSE README.md README_ZH.md scripts {{.RELEASE_GOGS}}
- cd {{.RELEASE_ROOT}} && zip -r gogs.zip "gogs"
vars:
RELEASE_ROOT: release
RELEASE_GOGS: release/gogs
less: less:
desc: Generate CSS from LESS files desc: Generate CSS from LESS files
cmds: cmds:
@@ -90,3 +80,17 @@ tasks:
desc: Identify legacy and deprecated lines desc: Identify legacy and deprecated lines
cmds: cmds:
- grep -rnw "\(LEGACY\|Deprecated\)" internal - grep -rnw "\(LEGACY\|Deprecated\)" internal
drop-test-db:
desc: Drop the test database
cmds:
- |
for dbname in $(psql -Xc "copy (select datname from pg_database where datname like 'gogs-%') to stdout"); do
dropdb "$dbname"
echo "dropped $dbname"
done
lint:
desc: Run all linters
cmds:
- golangci-lint run

View File

@@ -1,8 +1,4 @@
// Copyright 2016 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"context" "context"
@@ -10,15 +6,15 @@ import (
"reflect" "reflect"
"runtime" "runtime"
"github.com/pkg/errors" "github.com/cockroachdb/errors"
"github.com/urfave/cli" "github.com/urfave/cli"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
) )
var ( var (
Admin = cli.Command{ adminCommand = cli.Command{
Name: "admin", Name: "admin",
Usage: "Perform admin operations on command line", Usage: "Perform admin operations on command line",
Description: `Allow using internal logic of Gogs without hacking into the source code Description: `Allow using internal logic of Gogs without hacking into the source code
@@ -52,7 +48,7 @@ to make automatic initialization process more smoothly`,
Name: "delete-inactive-users", Name: "delete-inactive-users",
Usage: "Delete all inactive accounts", Usage: "Delete all inactive accounts",
Action: adminDashboardOperation( Action: adminDashboardOperation(
func() error { return db.Users.DeleteInactivated() }, func() error { return database.Handle.Users().DeleteInactivated() },
"All inactivated accounts have been deleted successfully", "All inactivated accounts have been deleted successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -64,7 +60,7 @@ to make automatic initialization process more smoothly`,
Name: "delete-repository-archives", Name: "delete-repository-archives",
Usage: "Delete all repositories archives", Usage: "Delete all repositories archives",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.DeleteRepositoryArchives, database.DeleteRepositoryArchives,
"All repositories archives have been deleted successfully", "All repositories archives have been deleted successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -76,7 +72,7 @@ to make automatic initialization process more smoothly`,
Name: "delete-missing-repositories", Name: "delete-missing-repositories",
Usage: "Delete all repository records that lost Git files", Usage: "Delete all repository records that lost Git files",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.DeleteMissingRepositories, database.DeleteMissingRepositories,
"All repositories archives have been deleted successfully", "All repositories archives have been deleted successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -88,7 +84,7 @@ to make automatic initialization process more smoothly`,
Name: "collect-garbage", Name: "collect-garbage",
Usage: "Do garbage collection on repositories", Usage: "Do garbage collection on repositories",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.GitGcRepos, database.GitGcRepos,
"All repositories have done garbage collection successfully", "All repositories have done garbage collection successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -100,7 +96,7 @@ to make automatic initialization process more smoothly`,
Name: "rewrite-authorized-keys", Name: "rewrite-authorized-keys",
Usage: "Rewrite '.ssh/authorized_keys' file (caution: non-Gogs keys will be lost)", Usage: "Rewrite '.ssh/authorized_keys' file (caution: non-Gogs keys will be lost)",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.RewriteAuthorizedKeys, database.RewriteAuthorizedKeys,
"All public keys have been rewritten successfully", "All public keys have been rewritten successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -112,7 +108,7 @@ to make automatic initialization process more smoothly`,
Name: "resync-hooks", Name: "resync-hooks",
Usage: "Resync pre-receive, update and post-receive hooks", Usage: "Resync pre-receive, update and post-receive hooks",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.SyncRepositoryHooks, database.SyncRepositoryHooks,
"All repositories' pre-receive, update and post-receive hooks have been resynced successfully", "All repositories' pre-receive, update and post-receive hooks have been resynced successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -124,7 +120,7 @@ to make automatic initialization process more smoothly`,
Name: "reinit-missing-repositories", Name: "reinit-missing-repositories",
Usage: "Reinitialize all repository records that lost Git files", Usage: "Reinitialize all repository records that lost Git files",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.ReinitMissingRepositories, database.ReinitMissingRepositories,
"All repository records that lost Git files have been reinitialized successfully", "All repository records that lost Git files have been reinitialized successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -148,15 +144,15 @@ func runCreateUser(c *cli.Context) error {
} }
conf.InitLogging(true) conf.InitLogging(true)
if _, err = db.SetEngine(); err != nil { if _, err = database.SetEngine(); err != nil {
return errors.Wrap(err, "set engine") return errors.Wrap(err, "set engine")
} }
user, err := db.Users.Create( user, err := database.Handle.Users().Create(
context.Background(), context.Background(),
c.String("name"), c.String("name"),
c.String("email"), c.String("email"),
db.CreateUserOptions{ database.CreateUserOptions{
Password: c.String("password"), Password: c.String("password"),
Activated: true, Activated: true,
Admin: c.Bool("admin"), Admin: c.Bool("admin"),
@@ -178,13 +174,13 @@ func adminDashboardOperation(operation func() error, successMessage string) func
} }
conf.InitLogging(true) conf.InitLogging(true)
if _, err = db.SetEngine(); err != nil { if _, err = database.SetEngine(); err != nil {
return errors.Wrap(err, "set engine") return errors.Wrap(err, "set engine")
} }
if err := operation(); err != nil { if err := operation(); err != nil {
functionName := runtime.FuncForPC(reflect.ValueOf(operation).Pointer()).Name() functionName := runtime.FuncForPC(reflect.ValueOf(operation).Pointer()).Name()
return fmt.Errorf("%s: %v", functionName, err) return errors.Newf("%s: %v", functionName, err)
} }
fmt.Printf("%s\n", successMessage) fmt.Printf("%s\n", successMessage)

View File

@@ -1,8 +1,4 @@
// Copyright 2017 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"context" "context"
@@ -13,18 +9,18 @@ import (
"strconv" "strconv"
"time" "time"
"github.com/pkg/errors" "github.com/cockroachdb/errors"
"github.com/unknwon/cae/zip" "github.com/unknwon/cae/zip"
"github.com/urfave/cli" "github.com/urfave/cli"
"gopkg.in/ini.v1" "gopkg.in/ini.v1"
log "unknwon.dev/clog/v2" log "unknwon.dev/clog/v2"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
"gogs.io/gogs/internal/osutil" "gogs.io/gogs/internal/osutil"
) )
var Backup = cli.Command{ var backupCommand = cli.Command{
Name: "backup", Name: "backup",
Usage: "Backup files and database", Usage: "Backup files and database",
Description: `Backup dumps and compresses all related files and database into zip file, Description: `Backup dumps and compresses all related files and database into zip file,
@@ -57,13 +53,13 @@ func runBackup(c *cli.Context) error {
} }
conf.InitLogging(true) conf.InitLogging(true)
conn, err := db.SetEngine() conn, err := database.SetEngine()
if err != nil { if err != nil {
return errors.Wrap(err, "set engine") return errors.Wrap(err, "set engine")
} }
tmpDir := c.String("tempdir") tmpDir := c.String("tempdir")
if !osutil.IsExist(tmpDir) { if !osutil.Exist(tmpDir) {
log.Fatal("'--tempdir' does not exist: %s", tmpDir) log.Fatal("'--tempdir' does not exist: %s", tmpDir)
} }
rootDir, err := os.MkdirTemp(tmpDir, "gogs-backup-") rootDir, err := os.MkdirTemp(tmpDir, "gogs-backup-")
@@ -95,7 +91,7 @@ func runBackup(c *cli.Context) error {
// Database // Database
dbDir := filepath.Join(rootDir, "db") dbDir := filepath.Join(rootDir, "db")
if err = db.DumpDatabase(context.Background(), conn, dbDir, c.Bool("verbose")); err != nil { if err = database.DumpDatabase(context.Background(), conn, dbDir, c.Bool("verbose")); err != nil {
log.Fatal("Failed to dump database: %v", err) log.Fatal("Failed to dump database: %v", err)
} }
if err = z.AddDir(archiveRootDir+"/db", dbDir); err != nil { if err = z.AddDir(archiveRootDir+"/db", dbDir); err != nil {
@@ -127,7 +123,7 @@ func runBackup(c *cli.Context) error {
reposDump := filepath.Join(rootDir, "repositories.zip") reposDump := filepath.Join(rootDir, "repositories.zip")
log.Info("Dumping repositories in %q", conf.Repository.Root) log.Info("Dumping repositories in %q", conf.Repository.Root)
if c.Bool("exclude-mirror-repos") { if c.Bool("exclude-mirror-repos") {
repos, err := db.GetNonMirrorRepositories() repos, err := database.GetNonMirrorRepositories()
if err != nil { if err != nil {
log.Fatal("Failed to get non-mirror repositories: %v", err) log.Fatal("Failed to get non-mirror repositories: %v", err)
} }

View File

@@ -1,11 +1,8 @@
//go:build cert
// Copyright 2009 The Go Authors. All rights reserved. // Copyright 2009 The Go Authors. All rights reserved.
// Copyright 2014 The Gogs Authors. All rights reserved. // Use of this source code is governed by a BSD-style
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
package cmd package main
import ( import (
"crypto/ecdsa" "crypto/ecdsa"
@@ -25,7 +22,7 @@ import (
"github.com/urfave/cli" "github.com/urfave/cli"
) )
var Cert = cli.Command{ var certCommand = cli.Command{
Name: "cert", Name: "cert",
Usage: "Generate self-signed certificate", Usage: "Generate self-signed certificate",
Description: `Generate a self-signed X.509 certificate for a TLS server. Description: `Generate a self-signed X.509 certificate for a TLS server.
@@ -147,17 +144,28 @@ func runCert(ctx *cli.Context) error {
if err != nil { if err != nil {
log.Fatalf("Failed to open cert.pem for writing: %s", err) log.Fatalf("Failed to open cert.pem for writing: %s", err)
} }
pem.Encode(certOut, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes}) err = pem.Encode(certOut, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes})
certOut.Close() if err != nil {
log.Fatalf("Failed to encode data to cert.pem: %s", err)
}
err = certOut.Close()
if err != nil {
log.Fatalf("Failed to close writing to cert.pem: %s", err)
}
log.Println("Written cert.pem") log.Println("Written cert.pem")
keyOut, err := os.OpenFile("key.pem", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600) keyOut, err := os.OpenFile("key.pem", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0o600)
if err != nil { if err != nil {
log.Fatalf("Failed to open key.pem for writing: %v\n", err) log.Fatalf("Failed to open key.pem for writing: %v\n", err)
} }
pem.Encode(keyOut, pemBlockForKey(priv)) err = pem.Encode(keyOut, pemBlockForKey(priv))
keyOut.Close() if err != nil {
log.Fatalf("Failed to encode data to key.pem: %s", err)
}
err = keyOut.Close()
if err != nil {
log.Fatalf("Failed to close writing to key.pem: %s", err)
}
log.Println("Written key.pem") log.Println("Written key.pem")
return nil return nil
} }

View File

@@ -1,8 +1,4 @@
// Copyright 2015 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"time" "time"
@@ -25,7 +21,6 @@ func boolFlag(name, usage string) cli.BoolFlag {
} }
} }
//nolint:deadcode,unused
func intFlag(name string, value int, usage string) cli.IntFlag { func intFlag(name string, value int, usage string) cli.IntFlag {
return cli.IntFlag{ return cli.IntFlag{
Name: name, Name: name,
@@ -34,7 +29,6 @@ func intFlag(name string, value int, usage string) cli.IntFlag {
} }
} }
//nolint:deadcode,unused
func durationFlag(name string, value time.Duration, usage string) cli.DurationFlag { func durationFlag(name string, value time.Duration, usage string) cli.DurationFlag {
return cli.DurationFlag{ return cli.DurationFlag{
Name: name, Name: name,

View File

@@ -1,8 +1,4 @@
// Copyright 2014 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"bufio" "bufio"
@@ -22,13 +18,13 @@ import (
"github.com/gogs/git-module" "github.com/gogs/git-module"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
"gogs.io/gogs/internal/email" "gogs.io/gogs/internal/email"
"gogs.io/gogs/internal/httplib" "gogs.io/gogs/internal/httplib"
) )
var ( var (
Hook = cli.Command{ hookCommand = cli.Command{
Name: "hook", Name: "hook",
Usage: "Delegate commands to corresponding Git hooks", Usage: "Delegate commands to corresponding Git hooks",
Description: "All sub-commands should only be called by Git", Description: "All sub-commands should only be called by Git",
@@ -68,7 +64,7 @@ func runHookPreReceive(c *cli.Context) error {
} }
setup(c, "pre-receive.log", true) setup(c, "pre-receive.log", true)
isWiki := strings.Contains(os.Getenv(db.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/") isWiki := strings.Contains(os.Getenv(database.EnvRepoCustomHooksPath), ".wiki.git/")
buf := bytes.NewBuffer(nil) buf := bytes.NewBuffer(nil)
scanner := bufio.NewScanner(os.Stdin) scanner := bufio.NewScanner(os.Stdin)
@@ -89,10 +85,10 @@ func runHookPreReceive(c *cli.Context) error {
branchName := git.RefShortName(string(fields[2])) branchName := git.RefShortName(string(fields[2]))
// Branch protection // Branch protection
repoID := com.StrTo(os.Getenv(db.ENV_REPO_ID)).MustInt64() repoID := com.StrTo(os.Getenv(database.EnvRepoID)).MustInt64()
protectBranch, err := db.GetProtectBranchOfRepoByName(repoID, branchName) protectBranch, err := database.GetProtectBranchOfRepoByName(repoID, branchName)
if err != nil { if err != nil {
if db.IsErrBranchNotExist(err) { if database.IsErrBranchNotExist(err) {
continue continue
} }
fail("Internal error", "GetProtectBranchOfRepoByName [repo_id: %d, branch: %s]: %v", repoID, branchName, err) fail("Internal error", "GetProtectBranchOfRepoByName [repo_id: %d, branch: %s]: %v", repoID, branchName, err)
@@ -105,9 +101,9 @@ func runHookPreReceive(c *cli.Context) error {
bypassRequirePullRequest := false bypassRequirePullRequest := false
// Check if user is in whitelist when enabled // Check if user is in whitelist when enabled
userID := com.StrTo(os.Getenv(db.ENV_AUTH_USER_ID)).MustInt64() userID := com.StrTo(os.Getenv(database.EnvAuthUserID)).MustInt64()
if protectBranch.EnableWhitelist { if protectBranch.EnableWhitelist {
if !db.IsUserInProtectBranchWhitelist(repoID, userID, branchName) { if !database.IsUserInProtectBranchWhitelist(repoID, userID, branchName) {
fail(fmt.Sprintf("Branch '%s' is protected and you are not in the push whitelist", branchName), "") fail(fmt.Sprintf("Branch '%s' is protected and you are not in the push whitelist", branchName), "")
} }
@@ -126,7 +122,7 @@ func runHookPreReceive(c *cli.Context) error {
// Check force push // Check force push
output, err := git.NewCommand("rev-list", "--max-count=1", oldCommitID, "^"+newCommitID). output, err := git.NewCommand("rev-list", "--max-count=1", oldCommitID, "^"+newCommitID).
RunInDir(db.RepoPath(os.Getenv(db.ENV_REPO_OWNER_NAME), os.Getenv(db.ENV_REPO_NAME))) RunInDir(database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName)))
if err != nil { if err != nil {
fail("Internal error", "Failed to detect force push: %v", err) fail("Internal error", "Failed to detect force push: %v", err)
} else if len(output) > 0 { } else if len(output) > 0 {
@@ -134,7 +130,7 @@ func runHookPreReceive(c *cli.Context) error {
} }
} }
customHooksPath := filepath.Join(os.Getenv(db.ENV_REPO_CUSTOM_HOOKS_PATH), "pre-receive") customHooksPath := filepath.Join(os.Getenv(database.EnvRepoCustomHooksPath), "pre-receive")
if !com.IsFile(customHooksPath) { if !com.IsFile(customHooksPath) {
return nil return nil
} }
@@ -145,7 +141,7 @@ func runHookPreReceive(c *cli.Context) error {
} else { } else {
hookCmd = exec.Command(customHooksPath) hookCmd = exec.Command(customHooksPath)
} }
hookCmd.Dir = db.RepoPath(os.Getenv(db.ENV_REPO_OWNER_NAME), os.Getenv(db.ENV_REPO_NAME)) hookCmd.Dir = database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName))
hookCmd.Stdout = os.Stdout hookCmd.Stdout = os.Stdout
hookCmd.Stdin = buf hookCmd.Stdin = buf
hookCmd.Stderr = os.Stderr hookCmd.Stderr = os.Stderr
@@ -168,7 +164,7 @@ func runHookUpdate(c *cli.Context) error {
fail("First argument 'refName' is empty", "First argument 'refName' is empty") fail("First argument 'refName' is empty", "First argument 'refName' is empty")
} }
customHooksPath := filepath.Join(os.Getenv(db.ENV_REPO_CUSTOM_HOOKS_PATH), "update") customHooksPath := filepath.Join(os.Getenv(database.EnvRepoCustomHooksPath), "update")
if !com.IsFile(customHooksPath) { if !com.IsFile(customHooksPath) {
return nil return nil
} }
@@ -179,7 +175,7 @@ func runHookUpdate(c *cli.Context) error {
} else { } else {
hookCmd = exec.Command(customHooksPath, args...) hookCmd = exec.Command(customHooksPath, args...)
} }
hookCmd.Dir = db.RepoPath(os.Getenv(db.ENV_REPO_OWNER_NAME), os.Getenv(db.ENV_REPO_NAME)) hookCmd.Dir = database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName))
hookCmd.Stdout = os.Stdout hookCmd.Stdout = os.Stdout
hookCmd.Stdin = os.Stdin hookCmd.Stdin = os.Stdin
hookCmd.Stderr = os.Stderr hookCmd.Stderr = os.Stderr
@@ -199,7 +195,7 @@ func runHookPostReceive(c *cli.Context) error {
// so we need to setup additional services for email notifications. // so we need to setup additional services for email notifications.
email.NewContext() email.NewContext()
isWiki := strings.Contains(os.Getenv(db.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/") isWiki := strings.Contains(os.Getenv(database.EnvRepoCustomHooksPath), ".wiki.git/")
buf := bytes.NewBuffer(nil) buf := bytes.NewBuffer(nil)
scanner := bufio.NewScanner(os.Stdin) scanner := bufio.NewScanner(os.Stdin)
@@ -217,24 +213,24 @@ func runHookPostReceive(c *cli.Context) error {
continue continue
} }
options := db.PushUpdateOptions{ options := database.PushUpdateOptions{
OldCommitID: string(fields[0]), OldCommitID: string(fields[0]),
NewCommitID: string(fields[1]), NewCommitID: string(fields[1]),
FullRefspec: string(fields[2]), FullRefspec: string(fields[2]),
PusherID: com.StrTo(os.Getenv(db.ENV_AUTH_USER_ID)).MustInt64(), PusherID: com.StrTo(os.Getenv(database.EnvAuthUserID)).MustInt64(),
PusherName: os.Getenv(db.ENV_AUTH_USER_NAME), PusherName: os.Getenv(database.EnvAuthUserName),
RepoUserName: os.Getenv(db.ENV_REPO_OWNER_NAME), RepoUserName: os.Getenv(database.EnvRepoOwnerName),
RepoName: os.Getenv(db.ENV_REPO_NAME), RepoName: os.Getenv(database.EnvRepoName),
} }
if err := db.PushUpdate(options); err != nil { if err := database.PushUpdate(options); err != nil {
log.Error("PushUpdate: %v", err) log.Error("PushUpdate: %v", err)
} }
// Ask for running deliver hook and test pull request tasks // Ask for running deliver hook and test pull request tasks
q := make(url.Values) q := make(url.Values)
q.Add("branch", git.RefShortName(options.FullRefspec)) q.Add("branch", git.RefShortName(options.FullRefspec))
q.Add("secret", os.Getenv(db.ENV_REPO_OWNER_SALT_MD5)) q.Add("secret", os.Getenv(database.EnvRepoOwnerSaltMd5))
q.Add("pusher", os.Getenv(db.ENV_AUTH_USER_ID)) q.Add("pusher", os.Getenv(database.EnvAuthUserID))
reqURL := fmt.Sprintf("%s%s/%s/tasks/trigger?%s", conf.Server.LocalRootURL, options.RepoUserName, options.RepoName, q.Encode()) reqURL := fmt.Sprintf("%s%s/%s/tasks/trigger?%s", conf.Server.LocalRootURL, options.RepoUserName, options.RepoName, q.Encode())
log.Trace("Trigger task: %s", reqURL) log.Trace("Trigger task: %s", reqURL)
@@ -252,7 +248,7 @@ func runHookPostReceive(c *cli.Context) error {
} }
} }
customHooksPath := filepath.Join(os.Getenv(db.ENV_REPO_CUSTOM_HOOKS_PATH), "post-receive") customHooksPath := filepath.Join(os.Getenv(database.EnvRepoCustomHooksPath), "post-receive")
if !com.IsFile(customHooksPath) { if !com.IsFile(customHooksPath) {
return nil return nil
} }
@@ -263,7 +259,7 @@ func runHookPostReceive(c *cli.Context) error {
} else { } else {
hookCmd = exec.Command(customHooksPath) hookCmd = exec.Command(customHooksPath)
} }
hookCmd.Dir = db.RepoPath(os.Getenv(db.ENV_REPO_OWNER_NAME), os.Getenv(db.ENV_REPO_NAME)) hookCmd.Dir = database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName))
hookCmd.Stdout = os.Stdout hookCmd.Stdout = os.Stdout
hookCmd.Stdin = buf hookCmd.Stdin = buf
hookCmd.Stderr = os.Stderr hookCmd.Stderr = os.Stderr

View File

@@ -1,8 +1,4 @@
// Copyright 2016 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"bufio" "bufio"
@@ -12,7 +8,7 @@ import (
"path/filepath" "path/filepath"
"time" "time"
"github.com/pkg/errors" "github.com/cockroachdb/errors"
"github.com/unknwon/com" "github.com/unknwon/com"
"github.com/urfave/cli" "github.com/urfave/cli"
@@ -20,7 +16,7 @@ import (
) )
var ( var (
Import = cli.Command{ importCommand = cli.Command{
Name: "import", Name: "import",
Usage: "Import portable data as local Gogs data", Usage: "Import portable data as local Gogs data",
Description: `Allow user import data from other Gogs installations to local instance Description: `Allow user import data from other Gogs installations to local instance
@@ -49,9 +45,9 @@ func runImportLocale(c *cli.Context) error {
return errors.New("target directory is not specified") return errors.New("target directory is not specified")
} }
if !com.IsDir(c.String("source")) { if !com.IsDir(c.String("source")) {
return fmt.Errorf("source directory %q does not exist or is not a directory", c.String("source")) return errors.Newf("source directory %q does not exist or is not a directory", c.String("source"))
} else if !com.IsDir(c.String("target")) { } else if !com.IsDir(c.String("target")) {
return fmt.Errorf("target directory %q does not exist or is not a directory", c.String("target")) return errors.Newf("target directory %q does not exist or is not a directory", c.String("target"))
} }
err := conf.Init(c.String("config")) err := conf.Init(c.String("config"))
@@ -78,14 +74,12 @@ func runImportLocale(c *cli.Context) error {
// this breaks INI parser, we need to fix that. // this breaks INI parser, we need to fix that.
sr, err := os.Open(source) sr, err := os.Open(source)
if err != nil { if err != nil {
return fmt.Errorf("Open: %v", err) return errors.Newf("open: %v", err)
} }
tw, err := os.Create(target) tw, err := os.Create(target)
if err != nil { if err != nil {
if err != nil { return errors.Newf("create: %v", err)
return fmt.Errorf("Open: %v", err)
}
} }
scanner := bufio.NewScanner(sr) scanner := bufio.NewScanner(sr)

View File

@@ -1,9 +1,3 @@
//go:build go1.18
// Copyright 2014 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
// Gogs is a painless self-hosted Git Service. // Gogs is a painless self-hosted Git Service.
package main package main
@@ -13,12 +7,11 @@ import (
"github.com/urfave/cli" "github.com/urfave/cli"
log "unknwon.dev/clog/v2" log "unknwon.dev/clog/v2"
"gogs.io/gogs/internal/cmd"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
) )
func init() { func init() {
conf.App.Version = "0.13.0+dev" conf.App.Version = "0.15.0+dev"
} }
func main() { func main() {
@@ -27,14 +20,14 @@ func main() {
app.Usage = "A painless self-hosted Git service" app.Usage = "A painless self-hosted Git service"
app.Version = conf.App.Version app.Version = conf.App.Version
app.Commands = []cli.Command{ app.Commands = []cli.Command{
cmd.Web, webCommand,
cmd.Serv, servCommand,
cmd.Hook, hookCommand,
cmd.Cert, certCommand,
cmd.Admin, adminCommand,
cmd.Import, importCommand,
cmd.Backup, backupCommand,
cmd.Restore, restoreCommand,
} }
if err := app.Run(os.Args); err != nil { if err := app.Run(os.Args); err != nil {
log.Fatal("Failed to start application: %v", err) log.Fatal("Failed to start application: %v", err)

View File

@@ -1,8 +1,4 @@
// Copyright 2017 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"context" "context"
@@ -10,19 +6,19 @@ import (
"path" "path"
"path/filepath" "path/filepath"
"github.com/pkg/errors" "github.com/cockroachdb/errors"
"github.com/unknwon/cae/zip" "github.com/unknwon/cae/zip"
"github.com/urfave/cli" "github.com/urfave/cli"
"gopkg.in/ini.v1" "gopkg.in/ini.v1"
log "unknwon.dev/clog/v2" log "unknwon.dev/clog/v2"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
"gogs.io/gogs/internal/osutil" "gogs.io/gogs/internal/osutil"
"gogs.io/gogs/internal/semverutil" "gogs.io/gogs/internal/semverutil"
) )
var Restore = cli.Command{ var restoreCommand = cli.Command{
Name: "restore", Name: "restore",
Usage: "Restore files and database from backup", Usage: "Restore files and database from backup",
Description: `Restore imports all related files and database from a backup archive. Description: `Restore imports all related files and database from a backup archive.
@@ -108,14 +104,14 @@ func runRestore(c *cli.Context) error {
} }
conf.InitLogging(true) conf.InitLogging(true)
conn, err := db.SetEngine() conn, err := database.SetEngine()
if err != nil { if err != nil {
return errors.Wrap(err, "set engine") return errors.Wrap(err, "set engine")
} }
// Database // Database
dbDir := path.Join(archivePath, "db") dbDir := path.Join(archivePath, "db")
if err = db.ImportDatabase(context.Background(), conn, dbDir, c.Bool("verbose")); err != nil { if err = database.ImportDatabase(context.Background(), conn, dbDir, c.Bool("verbose")); err != nil {
log.Fatal("Failed to import database: %v", err) log.Fatal("Failed to import database: %v", err)
} }

View File

@@ -1,8 +1,4 @@
// Copyright 2014 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"context" "context"
@@ -18,14 +14,14 @@ import (
log "unknwon.dev/clog/v2" log "unknwon.dev/clog/v2"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
) )
const ( const (
_ACCESS_DENIED_MESSAGE = "Repository does not exist or you do not have access" accessDeniedMessage = "Repository does not exist or you do not have access"
) )
var Serv = cli.Command{ var servCommand = cli.Command{
Name: "serv", Name: "serv",
Usage: "This command should only be called by SSH shell", Usage: "This command should only be called by SSH shell",
Description: `Serv provide access auth for repositories`, Description: `Serv provide access auth for repositories`,
@@ -95,7 +91,7 @@ func setup(c *cli.Context, logFile string, connectDB bool) {
_ = os.Chdir(conf.WorkDir()) _ = os.Chdir(conf.WorkDir())
} }
if _, err := db.SetEngine(); err != nil { if _, err := database.SetEngine(); err != nil {
fail("Internal error", "Failed to set database engine: %v", err) fail("Internal error", "Failed to set database engine: %v", err)
} }
} }
@@ -108,28 +104,28 @@ func parseSSHCmd(cmd string) (string, string) {
return ss[0], strings.Replace(ss[1], "'/", "'", 1) return ss[0], strings.Replace(ss[1], "'/", "'", 1)
} }
func checkDeployKey(key *db.PublicKey, repo *db.Repository) { func checkDeployKey(key *database.PublicKey, repo *database.Repository) {
// Check if this deploy key belongs to current repository. // Check if this deploy key belongs to current repository.
if !db.HasDeployKey(key.ID, repo.ID) { if !database.HasDeployKey(key.ID, repo.ID) {
fail("Key access denied", "Deploy key access denied: [key_id: %d, repo_id: %d]", key.ID, repo.ID) fail("Key access denied", "Deploy key access denied: [key_id: %d, repo_id: %d]", key.ID, repo.ID)
} }
// Update deploy key activity. // Update deploy key activity.
deployKey, err := db.GetDeployKeyByRepo(key.ID, repo.ID) deployKey, err := database.GetDeployKeyByRepo(key.ID, repo.ID)
if err != nil { if err != nil {
fail("Internal error", "GetDeployKey: %v", err) fail("Internal error", "GetDeployKey: %v", err)
} }
deployKey.Updated = time.Now() deployKey.Updated = time.Now()
if err = db.UpdateDeployKey(deployKey); err != nil { if err = database.UpdateDeployKey(deployKey); err != nil {
fail("Internal error", "UpdateDeployKey: %v", err) fail("Internal error", "UpdateDeployKey: %v", err)
} }
} }
var allowedCommands = map[string]db.AccessMode{ var allowedCommands = map[string]database.AccessMode{
"git-upload-pack": db.AccessModeRead, "git-upload-pack": database.AccessModeRead,
"git-upload-archive": db.AccessModeRead, "git-upload-archive": database.AccessModeRead,
"git-receive-pack": db.AccessModeWrite, "git-receive-pack": database.AccessModeWrite,
} }
func runServ(c *cli.Context) error { func runServ(c *cli.Context) error {
@@ -162,18 +158,18 @@ func runServ(c *cli.Context) error {
repoName := strings.TrimSuffix(strings.ToLower(repoFields[1]), ".git") repoName := strings.TrimSuffix(strings.ToLower(repoFields[1]), ".git")
repoName = strings.TrimSuffix(repoName, ".wiki") repoName = strings.TrimSuffix(repoName, ".wiki")
owner, err := db.Users.GetByUsername(ctx, ownerName) owner, err := database.Handle.Users().GetByUsername(ctx, ownerName)
if err != nil { if err != nil {
if db.IsErrUserNotExist(err) { if database.IsErrUserNotExist(err) {
fail("Repository owner does not exist", "Unregistered owner: %s", ownerName) fail("Repository owner does not exist", "Unregistered owner: %s", ownerName)
} }
fail("Internal error", "Failed to get repository owner '%s': %v", ownerName, err) fail("Internal error", "Failed to get repository owner '%s': %v", ownerName, err)
} }
repo, err := db.GetRepositoryByName(owner.ID, repoName) repo, err := database.GetRepositoryByName(owner.ID, repoName)
if err != nil { if err != nil {
if db.IsErrRepoNotExist(err) { if database.IsErrRepoNotExist(err) {
fail(_ACCESS_DENIED_MESSAGE, "Repository does not exist: %s/%s", owner.Name, repoName) fail(accessDeniedMessage, "Repository does not exist: %s/%s", owner.Name, repoName)
} }
fail("Internal error", "Failed to get repository: %v", err) fail("Internal error", "Failed to get repository: %v", err)
} }
@@ -185,19 +181,19 @@ func runServ(c *cli.Context) error {
} }
// Prohibit push to mirror repositories. // Prohibit push to mirror repositories.
if requestMode > db.AccessModeRead && repo.IsMirror { if requestMode > database.AccessModeRead && repo.IsMirror {
fail("Mirror repository is read-only", "") fail("Mirror repository is read-only", "")
} }
// Allow anonymous (user is nil) clone for public repositories. // Allow anonymous (user is nil) clone for public repositories.
var user *db.User var user *database.User
key, err := db.GetPublicKeyByID(com.StrTo(strings.TrimPrefix(c.Args()[0], "key-")).MustInt64()) key, err := database.GetPublicKeyByID(com.StrTo(strings.TrimPrefix(c.Args()[0], "key-")).MustInt64())
if err != nil { if err != nil {
fail("Invalid key ID", "Invalid key ID '%s': %v", c.Args()[0], err) fail("Invalid key ID", "Invalid key ID '%s': %v", c.Args()[0], err)
} }
if requestMode == db.AccessModeWrite || repo.IsPrivate { if requestMode == database.AccessModeWrite || repo.IsPrivate {
// Check deploy key or user key. // Check deploy key or user key.
if key.IsDeployKey() { if key.IsDeployKey() {
if key.Mode < requestMode { if key.Mode < requestMode {
@@ -205,20 +201,20 @@ func runServ(c *cli.Context) error {
} }
checkDeployKey(key, repo) checkDeployKey(key, repo)
} else { } else {
user, err = db.Users.GetByKeyID(ctx, key.ID) user, err = database.Handle.Users().GetByKeyID(ctx, key.ID)
if err != nil { if err != nil {
fail("Internal error", "Failed to get user by key ID '%d': %v", key.ID, err) fail("Internal error", "Failed to get user by key ID '%d': %v", key.ID, err)
} }
mode := db.Perms.AccessMode(ctx, user.ID, repo.ID, mode := database.Handle.Permissions().AccessMode(ctx, user.ID, repo.ID,
db.AccessModeOptions{ database.AccessModeOptions{
OwnerID: repo.OwnerID, OwnerID: repo.OwnerID,
Private: repo.IsPrivate, Private: repo.IsPrivate,
}, },
) )
if mode < requestMode { if mode < requestMode {
clientMessage := _ACCESS_DENIED_MESSAGE clientMessage := accessDeniedMessage
if mode >= db.AccessModeRead { if mode >= database.AccessModeRead {
clientMessage = "You do not have sufficient authorization for this action" clientMessage = "You do not have sufficient authorization for this action"
} }
fail(clientMessage, fail(clientMessage,
@@ -238,13 +234,13 @@ func runServ(c *cli.Context) error {
// Update user key activity. // Update user key activity.
if key.ID > 0 { if key.ID > 0 {
key, err := db.GetPublicKeyByID(key.ID) key, err := database.GetPublicKeyByID(key.ID)
if err != nil { if err != nil {
fail("Internal error", "GetPublicKeyByID: %v", err) fail("Internal error", "GetPublicKeyByID: %v", err)
} }
key.Updated = time.Now() key.Updated = time.Now()
if err = db.UpdatePublicKey(key); err != nil { if err = database.UpdatePublicKey(key); err != nil {
fail("Internal error", "UpdatePublicKey: %v", err) fail("Internal error", "UpdatePublicKey: %v", err)
} }
} }
@@ -261,8 +257,8 @@ func runServ(c *cli.Context) error {
} else { } else {
gitCmd = exec.Command(verb, repoFullName) gitCmd = exec.Command(verb, repoFullName)
} }
if requestMode == db.AccessModeWrite { if requestMode == database.AccessModeWrite {
gitCmd.Env = append(os.Environ(), db.ComposeHookEnvs(db.ComposeHookEnvsOptions{ gitCmd.Env = append(os.Environ(), database.ComposeHookEnvs(database.ComposeHookEnvsOptions{
AuthUser: user, AuthUser: user,
OwnerName: owner.Name, OwnerName: owner.Name,
OwnerSalt: owner.Salt, OwnerSalt: owner.Salt,

View File

@@ -1,8 +1,4 @@
// Copyright 2014 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"crypto/tls" "crypto/tls"
@@ -33,7 +29,8 @@ import (
"gogs.io/gogs/internal/app" "gogs.io/gogs/internal/app"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/context" "gogs.io/gogs/internal/context"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
"gogs.io/gogs/internal/embeddedpg"
"gogs.io/gogs/internal/form" "gogs.io/gogs/internal/form"
"gogs.io/gogs/internal/osutil" "gogs.io/gogs/internal/osutil"
"gogs.io/gogs/internal/route" "gogs.io/gogs/internal/route"
@@ -49,7 +46,7 @@ import (
"gogs.io/gogs/templates" "gogs.io/gogs/templates"
) )
var Web = cli.Command{ var webCommand = cli.Command{
Name: "web", Name: "web",
Usage: "Start web server", Usage: "Start web server",
Description: `Gogs web server is the only thing you need to run, Description: `Gogs web server is the only thing you need to run,
@@ -58,6 +55,7 @@ and it takes care of all the other things for you`,
Flags: []cli.Flag{ Flags: []cli.Flag{
stringFlag("port, p", "3000", "Temporary port number to prevent conflict"), stringFlag("port, p", "3000", "Temporary port number to prevent conflict"),
stringFlag("config, c", "", "Custom configuration file path"), stringFlag("config, c", "", "Custom configuration file path"),
boolFlag("embedded-postgres", "Use embedded PostgreSQL database"),
}, },
} }
@@ -107,19 +105,20 @@ func newMacaron() *macaron.Macaron {
conf.Picture.RepositoryAvatarUploadPath, conf.Picture.RepositoryAvatarUploadPath,
macaron.StaticOptions{ macaron.StaticOptions{
ETag: true, ETag: true,
Prefix: db.REPO_AVATAR_URL_PREFIX, Prefix: database.RepoAvatarURLPrefix,
SkipLogging: conf.Server.DisableRouterLog, SkipLogging: conf.Server.DisableRouterLog,
}, },
)) ))
customDir := filepath.Join(conf.CustomDir(), "templates")
renderOpt := macaron.RenderOptions{ renderOpt := macaron.RenderOptions{
Directory: filepath.Join(conf.WorkDir(), "templates"), Directory: filepath.Join(conf.WorkDir(), "templates"),
AppendDirectories: []string{filepath.Join(conf.CustomDir(), "templates")}, AppendDirectories: []string{customDir},
Funcs: template.FuncMap(), Funcs: template.FuncMap(),
IndentJSON: macaron.Env != macaron.PROD, IndentJSON: macaron.Env != macaron.PROD,
} }
if !conf.Server.LoadAssetsFromDisk { if !conf.Server.LoadAssetsFromDisk {
renderOpt.TemplateFileSystem = templates.NewTemplateFileSystem("", renderOpt.AppendDirectories[0]) renderOpt.TemplateFileSystem = templates.NewTemplateFileSystem("", customDir)
} }
m.Use(macaron.Renderer(renderOpt)) m.Use(macaron.Renderer(renderOpt))
@@ -155,7 +154,7 @@ func newMacaron() *macaron.Macaron {
HealthCheckFuncs: []*toolbox.HealthCheckFuncDesc{ HealthCheckFuncs: []*toolbox.HealthCheckFuncDesc{
{ {
Desc: "Database connection", Desc: "Database connection",
Func: db.Ping, Func: database.Ping,
}, },
}, },
})) }))
@@ -163,7 +162,29 @@ func newMacaron() *macaron.Macaron {
} }
func runWeb(c *cli.Context) error { func runWeb(c *cli.Context) error {
err := route.GlobalInit(c.String("config")) // Initialize configuration first to get WorkDir
err := conf.Init(c.String("config"))
if err != nil {
log.Fatal("Failed to initialize configuration: %v", err)
}
conf.InitLogging(false)
var localPg *embeddedpg.LocalPostgres
if c.Bool("embedded-postgres") {
localPg = embeddedpg.Initialize(conf.WorkDir())
if err := localPg.Launch(); err != nil {
log.Fatal("Failed to launch embedded postgres: %v", err)
}
defer func() {
if err := localPg.Shutdown(); err != nil {
log.Error("Failed to shutdown embedded postgres: %v", err)
}
}()
localPg.ConfigureGlobalDatabase()
}
err = route.GlobalInit(c.String("config"))
if err != nil { if err != nil {
log.Fatal("Failed to initialize application: %v", err) log.Fatal("Failed to initialize application: %v", err)
} }
@@ -237,9 +258,11 @@ func runWeb(c *cli.Context) error {
m.Get("", user.SettingsOrganizations) m.Get("", user.SettingsOrganizations)
m.Post("/leave", user.SettingsLeaveOrganization) m.Post("/leave", user.SettingsLeaveOrganization)
}) })
m.Combo("/applications").Get(user.SettingsApplications).
Post(bindIgnErr(form.NewAccessToken{}), user.SettingsApplicationsPost) settingsHandler := user.NewSettingsHandler(user.NewSettingsStore())
m.Post("/applications/delete", user.SettingsDeleteApplication) m.Combo("/applications").Get(settingsHandler.Applications()).
Post(bindIgnErr(form.NewAccessToken{}), settingsHandler.ApplicationsPost())
m.Post("/applications/delete", settingsHandler.DeleteApplication())
m.Route("/delete", "GET,POST", user.SettingsDelete) m.Route("/delete", "GET,POST", user.SettingsDelete)
}, reqSignIn, func(c *context.Context) { }, reqSignIn, func(c *context.Context) {
c.Data["PageIsUserSettings"] = true c.Data["PageIsUserSettings"] = true
@@ -305,7 +328,7 @@ func runWeb(c *cli.Context) error {
}, context.InjectParamsUser()) }, context.InjectParamsUser())
m.Get("/attachments/:uuid", func(c *context.Context) { m.Get("/attachments/:uuid", func(c *context.Context) {
attach, err := db.GetAttachmentByUUID(c.Params(":uuid")) attach, err := database.GetAttachmentByUUID(c.Params(":uuid"))
if err != nil { if err != nil {
c.NotFoundOrError(err, "get attachment by UUID") c.NotFoundOrError(err, "get attachment by UUID")
return return
@@ -330,9 +353,12 @@ func runWeb(c *cli.Context) error {
return return
} }
}) })
}, ignSignIn)
m.Group("", func() {
m.Post("/issues/attachments", repo.UploadIssueAttachment) m.Post("/issues/attachments", repo.UploadIssueAttachment)
m.Post("/releases/attachments", repo.UploadReleaseAttachment) m.Post("/releases/attachments", repo.UploadReleaseAttachment)
}, ignSignIn) }, reqSignIn)
m.Group("/:username", func() { m.Group("/:username", func() {
m.Post("/action/:action", user.Action) m.Post("/action/:action", user.Action)
@@ -477,7 +503,7 @@ func runWeb(c *cli.Context) error {
m.Get("/milestones", repo.Milestones) m.Get("/milestones", repo.Milestones)
}, ignSignIn, context.RepoAssignment(true)) }, ignSignIn, context.RepoAssignment(true))
m.Group("/:username/:reponame", func() { m.Group("/:username/:reponame", func() {
// FIXME: should use different URLs but mostly same logic for comments of issue and pull reuqest. // FIXME: should use different URLs but mostly same logic for comments of issue and pull request.
// So they can apply their own enable/disable logic on routers. // So they can apply their own enable/disable logic on routers.
m.Group("/issues", func() { m.Group("/issues", func() {
m.Combo("/new", repo.MustEnableIssues).Get(context.RepoRef(), repo.NewIssue). m.Combo("/new", repo.MustEnableIssues).Get(context.RepoRef(), repo.NewIssue).
@@ -502,7 +528,7 @@ func runWeb(c *cli.Context) error {
}, ignSignIn, context.RepoAssignment(false, true)) }, ignSignIn, context.RepoAssignment(false, true))
m.Group("/:username/:reponame", func() { m.Group("/:username/:reponame", func() {
// FIXME: should use different URLs but mostly same logic for comments of issue and pull reuqest. // FIXME: should use different URLs but mostly same logic for comments of issue and pull request.
// So they can apply their own enable/disable logic on routers. // So they can apply their own enable/disable logic on routers.
m.Group("/issues", func() { m.Group("/issues", func() {
m.Group("/:index", func() { m.Group("/:index", func() {
@@ -652,7 +678,7 @@ func runWeb(c *cli.Context) error {
SetCookie: true, SetCookie: true,
Secure: conf.Server.URL.Scheme == "https", Secure: conf.Server.URL.Scheme == "https",
}), }),
context.Contexter(), context.Contexter(context.NewStore()),
) )
// *************************** // ***************************
@@ -666,7 +692,7 @@ func runWeb(c *cli.Context) error {
lfs.RegisterRoutes(m.Router) lfs.RegisterRoutes(m.Router)
}) })
m.Route("/*", "GET,POST,OPTIONS", context.ServeGoGet(), repo.HTTPContexter(), repo.HTTP) m.Route("/*", "GET,POST,OPTIONS", context.ServeGoGet(), repo.HTTPContexter(repo.NewStore()), repo.HTTP)
}) })
// *************************** // ***************************
@@ -748,7 +774,7 @@ func runWeb(c *cli.Context) error {
err = fcgi.Serve(nil, m) err = fcgi.Serve(nil, m)
case "unix": case "unix":
if osutil.IsExist(listenAddr) { if osutil.Exist(listenAddr) {
err = os.Remove(listenAddr) err = os.Remove(listenAddr)
if err != nil { if err != nil {
log.Fatal("Failed to remove existing Unix domain socket: %v", err) log.Fatal("Failed to remove existing Unix domain socket: %v", err)

View File

@@ -1,16 +0,0 @@
coverage:
range: "60...95"
status:
project:
default:
threshold: 1%
informational: true
patch:
default:
only_pulls: true
informational: true
comment:
layout: 'diff'
github_checks: false

View File

@@ -247,7 +247,7 @@ PROVIDER = memory
; The configuration for respective provider: ; The configuration for respective provider:
; - memory: does not need any config yet ; - memory: does not need any config yet
; - file: session file path, e.g. `data/sessions` ; - file: session file path, e.g. `data/sessions`
; - redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180 ; - redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180,tls=true
PROVIDER_CONFIG = data/sessions PROVIDER_CONFIG = data/sessions
; The cookie name to store the session identifier. ; The cookie name to store the session identifier.
COOKIE_NAME = i_like_gogs COOKIE_NAME = i_like_gogs

View File

@@ -1,7 +1,3 @@
// Copyright 2022 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 conf package conf
import ( import (

View File

@@ -1,7 +1,3 @@
// Copyright 2022 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 conf package conf
import ( import (

View File

@@ -44,21 +44,21 @@ issues=Задачи
cancel=Отказ cancel=Отказ
[status] [status]
page_not_found=Page Not Found page_not_found=Страницата не е намерена
internal_server_error=Internal Server Error internal_server_error=Вътрешна грешка в сървър
[install] [install]
install=Инсталация install=Инсталация
title=Стъпки за инсталиране при първоначално стартиране title=Стъпки за инсталиране при първоначално стартиране
docker_helper=Ако Gogs е стартиран в Docker контейнер, моля прочетете <a target="_blank" href="%s">нашите указания</a> внимателно, преди да правите промени по настройките на тази страница! docker_helper=Ако Gogs е стартиран в Docker контейнер, моля прочетете <a target="_blank" href="%s">нашите указания</a> внимателно, преди да правите промени по настройките на тази страница!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs изисква MySQL, PostgreSQL, SQLite3 или TiDB (през MySQL протокол).
db_title=Настройки на базата данни db_title=Настройки на базата данни
db_type=Тип на база данни db_type=Тип на база данни
host=Сървър host=Сървър
user=Потребител user=Потребител
password=Парола password=Парола
db_name=Име на база данни db_name=Име на база данни
db_schema=Schema db_schema=Схема
db_helper=Моля, използвайте INNODB engine с utf8_general_ci кодиране на знаци за MySQL. db_helper=Моля, използвайте INNODB engine с utf8_general_ci кодиране на знаци за MySQL.
ssl_mode=Режим SSL ssl_mode=Режим SSL
path=Път path=Път
@@ -88,6 +88,7 @@ log_root_path=Път към журналите
log_root_path_helper=Директория в която се записват журналите. log_root_path_helper=Директория в която се записват журналите.
enable_console_mode=Включване на конзолен режим enable_console_mode=Включване на конзолен режим
enable_console_mode_popup=Изписване на логовете в конзолата, в допълнение към файловият режим. enable_console_mode_popup=Изписване на логовете в конзолата, в допълнение към файловият режим.
default_branch=Клон по подразбиране
optional_title=Опционални настройки optional_title=Опционални настройки
email_title=Настройки на пощенска услуга email_title=Настройки на пощенска услуга
@@ -126,7 +127,7 @@ run_user_not_match=Потребителският контекст на прил
smtp_host_missing_port=Липсва порт в зададения SMTP адрес. smtp_host_missing_port=Липсва порт в зададения SMTP адрес.
invalid_smtp_from=Невалидно поле От: %v invalid_smtp_from=Невалидно поле От: %v
save_config_failed=Неуспешно запазване на конфигурация: %v save_config_failed=Неуспешно запазване на конфигурация: %v
init_failed=Failed to initialize application: %v init_failed=Грешка при инициализация на приложение: %v
invalid_admin_setting=Настройките на профил на администратора са невалидни: %v invalid_admin_setting=Настройките на профил на администратора са невалидни: %v
install_success=Добре дошли! Радваме се, че избрахте Gogs, и Ви пожелаваме приятна работа и сърдечни поздрави! install_success=Добре дошли! Радваме се, че избрахте Gogs, и Ви пожелаваме приятна работа и сърдечни поздрави!
invalid_log_root_path=Основният път към журналите е невалиден: %v invalid_log_root_path=Основният път към журналите е невалиден: %v
@@ -156,8 +157,8 @@ register_hepler_msg=Вече имате профил? Впишете се сег
social_register_hepler_msg=Вече имате профил? Свържете се сега! social_register_hepler_msg=Вече имате профил? Свържете се сега!
disable_register_prompt=За съжаление създаването на нови регистрации е изключено. Обърнете се към администратора на сайта. disable_register_prompt=За съжаление създаването на нови регистрации е изключено. Обърнете се към администратора на сайта.
disable_register_mail=За съжаление потвърждението на регистрации е изключено. disable_register_mail=За съжаление потвърждението на регистрации е изключено.
auth_source=Authentication Source auth_source=Източник за удостоверяване
local=Local local=Локален
remember_me=Запомни ме remember_me=Запомни ме
forgot_password=Забравена парола forgot_password=Забравена парола
forget_password=Забравена парола? forget_password=Забравена парола?
@@ -178,10 +179,10 @@ non_local_account=Нелокални потребители не могат да
login_two_factor=Двуфакторно удостоверяване login_two_factor=Двуфакторно удостоверяване
login_two_factor_passcode=Парола за удостоверяване login_two_factor_passcode=Парола за удостоверяване
login_two_factor_enter_recovery_code=Enter a two-factor recovery code login_two_factor_enter_recovery_code=Въведете двуфакторен код за възстановяване
login_two_factor_recovery=Two-factor Recovery login_two_factor_recovery=Двуфакторно възстановяване
login_two_factor_recovery_code=Код за възстановяване login_two_factor_recovery_code=Код за възстановяване
login_two_factor_enter_passcode=Enter a two-factor passcode login_two_factor_enter_passcode=Въведете двуфакторен код
login_two_factor_invalid_recovery_code=Този код за възстановяване вече е бил използван или не е валиден. login_two_factor_invalid_recovery_code=Този код за възстановяване вече е бил използван или не е валиден.
[mail] [mail]
@@ -316,6 +317,7 @@ delete_email=Изтрий
email_deletion=Изтрий ел. поща email_deletion=Изтрий ел. поща
email_deletion_desc=При изтриване на тази ел. поща ще се премахне свързаната информация от Вашия профил. Желаете ли да продължите? email_deletion_desc=При изтриване на тази ел. поща ще се премахне свързаната информация от Вашия профил. Желаете ли да продължите?
email_deletion_success=Ел. пощата беше изтрита успешно! email_deletion_success=Ел. пощата беше изтрита успешно!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Добавяне на нов адрес на ел. поща add_new_email=Добавяне на нов адрес на ел. поща
add_email=Добави ел. поща add_email=Добави ел. поща
add_email_confirmation_sent=Ново писмо за потвърждение е изпратено до '%s'. Моля проверете пощенската си кутия в рамките на следващите %d часа, за да завършите процеса на регистрация. add_email_confirmation_sent=Ново писмо за потвърждение е изпратено до '%s'. Моля проверете пощенската си кутия в рамките на следващите %d часа, за да завършите процеса на регистрация.
@@ -370,6 +372,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=Управление на индивидуални API ключове за достъп manage_access_token=Управление на индивидуални API ключове за достъп
generate_new_token=Генериране на нов API ключ generate_new_token=Генериране на нов API ключ
tokens_desc=Генерирани API ключове, които могат да се използват за достъп до API на Gogs. tokens_desc=Генерирани API ключове, които могат да се използват за достъп до API на Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Всеки API ключ ще има пълен достъп до Вашия профил. new_token_desc=Всеки API ключ ще има пълен достъп до Вашия профил.
token_name=Име на API ключ token_name=Име на API ключ
generate_token=Генериране на API ключ generate_token=Генериране на API ключ
@@ -491,6 +494,8 @@ branches.stale_branches=Застинали клонове
branches.all=Всички клонове branches.all=Всички клонове
branches.updated_by=Актуализирани %[1]s от %[2]s branches.updated_by=Актуализирани %[1]s от %[2]s
branches.change_default_branch=Промяна на клон по подразбиране branches.change_default_branch=Промяна на клон по подразбиране
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Нов файл editor.new_file=Нов файл
editor.upload_file=Качи файл editor.upload_file=Качи файл
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Конфигурация на хранилище config.repo_config=Конфигурация на хранилище
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=Adresář systémových záznamů
log_root_path_helper=Adresář, kam se budou zapisovat soubory se systémovými záznamy. log_root_path_helper=Adresář, kam se budou zapisovat soubory se systémovými záznamy.
enable_console_mode=Povolit režim konzole enable_console_mode=Povolit režim konzole
enable_console_mode_popup=Mimo zápisu do souboru vytisknout systémové záznamy i do konzole. enable_console_mode_popup=Mimo zápisu do souboru vytisknout systémové záznamy i do konzole.
default_branch=Default Branch
optional_title=Dodatečná nastavení optional_title=Dodatečná nastavení
email_title=Nastavení e-mailové služby email_title=Nastavení e-mailové služby
@@ -316,6 +317,7 @@ delete_email=Smazat
email_deletion=Smazání e-mailové adresy email_deletion=Smazání e-mailové adresy
email_deletion_desc=Smazání této e-mailové adresy odstraní návazné informace z vašeho účtu. Chcete pokračovat? email_deletion_desc=Smazání této e-mailové adresy odstraní návazné informace z vašeho účtu. Chcete pokračovat?
email_deletion_success=E-mailová adresa byla smazána! email_deletion_success=E-mailová adresa byla smazána!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Přidat novou e-mailovou adresu add_new_email=Přidat novou e-mailovou adresu
add_email=Přidat e-mailovou adresu add_email=Přidat e-mailovou adresu
add_email_confirmation_sent=Nový potvrzovací e-mail byl odeslán na adresu '%s', prosím zkontrolujte si vaši doručenou poštu během následujících %d hodin pro dokončení procesu potvrzení. add_email_confirmation_sent=Nový potvrzovací e-mail byl odeslán na adresu '%s', prosím zkontrolujte si vaši doručenou poštu během následujících %d hodin pro dokončení procesu potvrzení.
@@ -370,6 +372,7 @@ two_factor_disable_success=Dvoufaktorové ověření bylo zakázáno!
manage_access_token=Správa osobních přístupových poukázek manage_access_token=Správa osobních přístupových poukázek
generate_new_token=Vygenerovat novou poukázku generate_new_token=Vygenerovat novou poukázku
tokens_desc=Poukázky, které jste vygeneroval, mohou být použity pro přístup k Gogs API. tokens_desc=Poukázky, které jste vygeneroval, mohou být použity pro přístup k Gogs API.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Každá poukázka má úplný přístup k vašemu účtu. new_token_desc=Každá poukázka má úplný přístup k vašemu účtu.
token_name=Název poukázky token_name=Název poukázky
generate_token=Vygenerovat poukázku generate_token=Vygenerovat poukázku
@@ -491,6 +494,8 @@ branches.stale_branches=Zastaralé větve
branches.all=Všechny větve branches.all=Všechny větve
branches.updated_by=%[2]s změnil %[1]s branches.updated_by=%[2]s změnil %[1]s
branches.change_default_branch=Změnit výchozí větev branches.change_default_branch=Změnit výchozí větev
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nový soubor editor.new_file=Nový soubor
editor.upload_file=Nahrát soubor editor.upload_file=Nahrát soubor
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Serverové šifry config.ssh.server_ciphers=Serverové šifry
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Nastavení repositáře config.repo_config=Nastavení repositáře
config.repo.root_path=Kořenová cesta config.repo.root_path=Kořenová cesta
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -50,8 +50,8 @@ internal_server_error=Interner Serverfehler
[install] [install]
install=Installation install=Installation
title=Installationsschritte für den ersten Start title=Installationsschritte für den ersten Start
docker_helper=Wenn Gogs innerhalb von Docker läuft, lesen Sie sich bitte den <a target="_blank" href="%s">Leitfaden</a> genau durch, bevor Sie irgendwas auf dieser Seite ändern! docker_helper=Wenn Gogs innerhalb von Docker läuft, lesen Sie sich bitte den <a target="_blank" href="%s">Leitfaden</a> genau durch, bevor Sie etwas auf dieser Seite ändern!
requite_db_desc=Gogs benötigt MySQL, PostgreSQL, SQLite3 oder TiDB (per MySQL-Protokoll) requite_db_desc=Gogs benötigt MySQL, PostgreSQL, SQLite3 oder TiDB (mit MySQL-Protokoll)
db_title=Datenbankeinstellungen db_title=Datenbankeinstellungen
db_type=Datenbanktyp db_type=Datenbanktyp
host=Host host=Host
@@ -88,6 +88,7 @@ log_root_path=Logdateipfad
log_root_path_helper=Verzeichnis in das Logdateien geschrieben werden. log_root_path_helper=Verzeichnis in das Logdateien geschrieben werden.
enable_console_mode=Konsolen-Modus einschalten enable_console_mode=Konsolen-Modus einschalten
enable_console_mode_popup=Zusätzlich zum Datei-Modus, zeige Logs auch in der Konsole. enable_console_mode_popup=Zusätzlich zum Datei-Modus, zeige Logs auch in der Konsole.
default_branch=Standard Branch
optional_title=Optionale Einstellungen optional_title=Optionale Einstellungen
email_title=E-Mail-Service Einstellungen email_title=E-Mail-Service Einstellungen
@@ -316,6 +317,7 @@ delete_email=Löschen
email_deletion=E-Mail löschen email_deletion=E-Mail löschen
email_deletion_desc=Das Löschen dieser E-Mail Adresse wird alle Informationen entfernen, die mit dieser E-Mail Adresse verknüpft sind. Wollen Sie fortfahren? email_deletion_desc=Das Löschen dieser E-Mail Adresse wird alle Informationen entfernen, die mit dieser E-Mail Adresse verknüpft sind. Wollen Sie fortfahren?
email_deletion_success=E-Mail-Adresse wurde erfolgreich gelöscht! email_deletion_success=E-Mail-Adresse wurde erfolgreich gelöscht!
email_deletion_primary=Die primäre E-Mail-Adresse kann nicht gelöscht werden.
add_new_email=Neue E-Mail-Adresse hinzufügen add_new_email=Neue E-Mail-Adresse hinzufügen
add_email=E-Mail-Adresse hinzufügen add_email=E-Mail-Adresse hinzufügen
add_email_confirmation_sent=Eine neue Bestätigungsmail wurde an '%s' gesendet, bitte überprüfen Sie Ihren Posteingang innerhalb von %d Stunden um die Bestätigung abzuschließen. add_email_confirmation_sent=Eine neue Bestätigungsmail wurde an '%s' gesendet, bitte überprüfen Sie Ihren Posteingang innerhalb von %d Stunden um die Bestätigung abzuschließen.
@@ -370,6 +372,7 @@ two_factor_disable_success=Die Zwei-Faktor-Authentifizierung wurde erfolgreich d
manage_access_token=Verwaltung persönlicher Zugangs-Token manage_access_token=Verwaltung persönlicher Zugangs-Token
generate_new_token=Neues Token erzeugen generate_new_token=Neues Token erzeugen
tokens_desc=Die von Ihnen erzeugten Token können zum Zugriff auf die Gogs-API verwendet werden. tokens_desc=Die von Ihnen erzeugten Token können zum Zugriff auf die Gogs-API verwendet werden.
access_token_tips=Der persönliche Zugangs-Token kann entweder als Benutzername oder als Passwort verwendet werden. Es wird empfohlen den "x-access-token" als Benutzernamen und den persönlichen Zugangs-Token als Passwort für Git-Anwendungen zu verwenden.
new_token_desc=Jeder Token erlaubt vollen Zugriff auf ihr Konto. new_token_desc=Jeder Token erlaubt vollen Zugriff auf ihr Konto.
token_name=Token-Name token_name=Token-Name
generate_token=Token generieren generate_token=Token generieren
@@ -491,6 +494,8 @@ branches.stale_branches=Alte Branches
branches.all=Alle Branches branches.all=Alle Branches
branches.updated_by=Aktualisiert %[1]s von %[2]s branches.updated_by=Aktualisiert %[1]s von %[2]s
branches.change_default_branch=Ändere Standard-Branch branches.change_default_branch=Ändere Standard-Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Neue Datei editor.new_file=Neue Datei
editor.upload_file=Datei hochladen editor.upload_file=Datei hochladen
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen-Host
config.ssh.listen_port=Listen-Port config.ssh.listen_port=Listen-Port
config.ssh.server_ciphers=Serverchiffren config.ssh.server_ciphers=Serverchiffren
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server-Algorithmen
config.repo_config=Repository-Konfiguration config.repo_config=Repository-Konfiguration
config.repo.root_path=Wurzelpfad config.repo.root_path=Wurzelpfad
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Fehler beim Senden der Test-E-Mail an '%s': %v
config.email.test_mail_sent=Test-E-Mail wurde an '%s ' gesendet. config.email.test_mail_sent=Test-E-Mail wurde an '%s ' gesendet.
config.auth_config=Authentifizierungskonfiguration config.auth_config=Authentifizierungskonfiguration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Aktivierungscode Lebensdauer config.auth.activate_code_lives=Aktivierungscode Lebensdauer
config.auth.reset_password_code_lives=Gültigkeitsdauer Zurücksetzungs-Code config.auth.reset_password_code_lives=Gültigkeitsdauer Zurücksetzungs-Code
config.auth.require_email_confirm=E-Mail-Bestätigung erforderlich config.auth.require_email_confirm=E-Mail-Bestätigung erforderlich

View File

@@ -88,6 +88,7 @@ log_root_path=Log Path
log_root_path_helper=Directory to write log files to. log_root_path_helper=Directory to write log files to.
enable_console_mode=Enable Console Mode enable_console_mode=Enable Console Mode
enable_console_mode_popup=In addition to file mode, also print logs to console. enable_console_mode_popup=In addition to file mode, also print logs to console.
default_branch=Default Branch
optional_title=Optional Settings optional_title=Optional Settings
email_title=Email Service Settings email_title=Email Service Settings
@@ -318,6 +319,7 @@ delete_email=Delete
email_deletion=Email Deletion email_deletion=Email Deletion
email_deletion_desc=Deleting this email address will remove related information from your account. Do you want to continue? email_deletion_desc=Deleting this email address will remove related information from your account. Do you want to continue?
email_deletion_success=Email has been deleted successfully! email_deletion_success=Email has been deleted successfully!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Add new email address add_new_email=Add new email address
add_email=Add email add_email=Add email
add_email_confirmation_sent=A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process. add_email_confirmation_sent=A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process.
@@ -373,6 +375,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=Manage Personal Access Tokens manage_access_token=Manage Personal Access Tokens
generate_new_token=Generate New Token generate_new_token=Generate New Token
tokens_desc=Tokens you have generated that can be used to access the Gogs APIs. tokens_desc=Tokens you have generated that can be used to access the Gogs APIs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Each token will have full access to your account. new_token_desc=Each token will have full access to your account.
token_name=Token Name token_name=Token Name
generate_token=Generate Token generate_token=Generate Token
@@ -498,6 +501,8 @@ branches.stale_branches=Stale Branches
branches.all=All Branches branches.all=All Branches
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Change Default Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=New file editor.new_file=New file
editor.upload_file=Upload file editor.upload_file=Upload file
@@ -1260,6 +1265,7 @@ config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository Configuration config.repo_config=Repository Configuration
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1342,6 +1348,7 @@ config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives

View File

@@ -317,6 +317,7 @@ delete_email = Delete
email_deletion = Email Deletion email_deletion = Email Deletion
email_deletion_desc = Deleting this email address will remove related information from your account. Do you want to continue? email_deletion_desc = Deleting this email address will remove related information from your account. Do you want to continue?
email_deletion_success = Email has been deleted successfully! email_deletion_success = Email has been deleted successfully!
email_deletion_primary = Cannot delete primary email address.
add_new_email = Add new email address add_new_email = Add new email address
add_email = Add Email add_email = Add Email
add_email_confirmation_sent = A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process. add_email_confirmation_sent = A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process.
@@ -493,6 +494,8 @@ branches.stale_branches = Stale Branches
branches.all = All Branches branches.all = All Branches
branches.updated_by = Updated %[1]s by %[2]s branches.updated_by = Updated %[1]s by %[2]s
branches.change_default_branch = Change Default Branch branches.change_default_branch = Change Default Branch
branches.default_deletion_not_allowed = Cannot delete the default branch.
branches.protected_deletion_not_allowed = Cannot delete a protected branch.
editor.new_file = New file editor.new_file = New file
editor.upload_file = Upload file editor.upload_file = Upload file
@@ -1273,6 +1276,7 @@ config.email.test_mail_failed = Failed to send test email to '%s': %v
config.email.test_mail_sent = Test email has been sent to '%s'. config.email.test_mail_sent = Test email has been sent to '%s'.
config.auth_config = Authentication configuration config.auth_config = Authentication configuration
config.auth_custom_logout_url = Custom logout URL
config.auth.activate_code_lives = Activate code lives config.auth.activate_code_lives = Activate code lives
config.auth.reset_password_code_lives = Reset password code lives config.auth.reset_password_code_lives = Reset password code lives
config.auth.require_email_confirm = Require email confirmation config.auth.require_email_confirm = Require email confirmation

View File

@@ -51,14 +51,14 @@ internal_server_error=Error Interno del Servidor
install=Instalación install=Instalación
title=Pasos de la instalación por primera vez title=Pasos de la instalación por primera vez
docker_helper=Si está ejecutando Gogs usando Docker, ¡por favor lea <a target="_blank" href="%s"> estas pautas</a> antes de cambiar nada en esta página! docker_helper=Si está ejecutando Gogs usando Docker, ¡por favor lea <a target="_blank" href="%s"> estas pautas</a> antes de cambiar nada en esta página!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs requiere MySQL, PostgreSQL, SQLite3 o TiDB (a través del protocolo MySQL).
db_title=Configuración de base de datos db_title=Configuración de base de datos
db_type=Tipo de base de datos db_type=Tipo de base de datos
host=Host host=Host
user=Usuario user=Usuario
password=Contraseña password=Contraseña
db_name=Nombre de la base de datos db_name=Nombre de la base de datos
db_schema=Schema db_schema=Esquema
db_helper=Por favor utilice el motor INNODB con la configuración de caracteres utf8_general_ci para MySQL. db_helper=Por favor utilice el motor INNODB con la configuración de caracteres utf8_general_ci para MySQL.
ssl_mode=Modo SSL ssl_mode=Modo SSL
path=Ruta path=Ruta
@@ -88,6 +88,7 @@ log_root_path=Ruta del registro
log_root_path_helper=Directorio donde almacenar los registros. log_root_path_helper=Directorio donde almacenar los registros.
enable_console_mode=Activar Modo Consola enable_console_mode=Activar Modo Consola
enable_console_mode_popup=Además del modo archivo, también imprime los registros en consola. enable_console_mode_popup=Además del modo archivo, también imprime los registros en consola.
default_branch=Rama por defecto
optional_title=Configuración opcional optional_title=Configuración opcional
email_title=Configuración del servicio de correo email_title=Configuración del servicio de correo
@@ -118,7 +119,7 @@ admin_password=Contraseña
confirm_password=Confirmar Contraseña confirm_password=Confirmar Contraseña
admin_email=Correo electrónico del administrador admin_email=Correo electrónico del administrador
install_gogs=Instalar Gogs install_gogs=Instalar Gogs
test_git_failed=Fallo al probar el comando 'git': %v test_git_failed=Error al probar el comando 'git': %v
sqlite3_not_available=Tu versión no soporta SQLite3, por favor descarga el binario oficial desde %s, NO la versión de gobuild. sqlite3_not_available=Tu versión no soporta SQLite3, por favor descarga el binario oficial desde %s, NO la versión de gobuild.
invalid_db_setting=La configuración de la base de datos no es correcta: %v invalid_db_setting=La configuración de la base de datos no es correcta: %v
invalid_repo_path=La ruta de la raíz del repositorio es inválida: %v invalid_repo_path=La ruta de la raíz del repositorio es inválida: %v
@@ -126,7 +127,7 @@ run_user_not_match=El usuario que está ejecutando la aplicación no es el usuar
smtp_host_missing_port=No se ha definido el puerto para el host SMTP. smtp_host_missing_port=No se ha definido el puerto para el host SMTP.
invalid_smtp_from=El campo SMTP no es válido: %v invalid_smtp_from=El campo SMTP no es válido: %v
save_config_failed=Error al guardar la configuración: %v save_config_failed=Error al guardar la configuración: %v
init_failed=Failed to initialize application: %v init_failed=Error al inicializar la aplicación: %v
invalid_admin_setting=La configuración de la cuenta de administración es inválida: %v invalid_admin_setting=La configuración de la cuenta de administración es inválida: %v
install_success=Bienvenido! Estamos encantados de que hayas escogido Gogs, diviértete y cuídate. install_success=Bienvenido! Estamos encantados de que hayas escogido Gogs, diviértete y cuídate.
invalid_log_root_path=La ruta para los registros es inválida: %v invalid_log_root_path=La ruta para los registros es inválida: %v
@@ -264,7 +265,7 @@ following=Siguiendo
follow=Seguir follow=Seguir
unfollow=Dejar de seguir unfollow=Dejar de seguir
form.name_not_allowed=User name or pattern %q is not allowed. form.name_not_allowed=El nombre de usuario o patrón %q no está permitido.
[settings] [settings]
profile=Perfil profile=Perfil
@@ -316,6 +317,7 @@ delete_email=Eliminar
email_deletion=Eliminar correo electrónico email_deletion=Eliminar correo electrónico
email_deletion_desc=Al eliminar esta dirección de correo electrónico se eliminará toda la información asociada a esta. ¿Deseas continuar? email_deletion_desc=Al eliminar esta dirección de correo electrónico se eliminará toda la información asociada a esta. ¿Deseas continuar?
email_deletion_success=¡El correo electrónico ha sido eliminado correctamente! email_deletion_success=¡El correo electrónico ha sido eliminado correctamente!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Añadir nueva dirección de correo electrónico add_new_email=Añadir nueva dirección de correo electrónico
add_email=Añadir correo electrónico add_email=Añadir correo electrónico
add_email_confirmation_sent=Un nuevo correo de confirmación ha sido enviado a '%s'. Por favor, comprueba tu bandeja de entrada en las próximas %d horas para completar el proceso. add_email_confirmation_sent=Un nuevo correo de confirmación ha sido enviado a '%s'. Por favor, comprueba tu bandeja de entrada en las próximas %d horas para completar el proceso.
@@ -370,6 +372,7 @@ two_factor_disable_success=¡La autenticación en dos pasos ha sido deshabilitad
manage_access_token=Gestionar los Tokens de Acceso personales manage_access_token=Gestionar los Tokens de Acceso personales
generate_new_token=Generar nuevo Token generate_new_token=Generar nuevo Token
tokens_desc=Tokens usados para acceder al API de Gogs. tokens_desc=Tokens usados para acceder al API de Gogs.
access_token_tips=El token de acceso personal puede utilizarse como nombre de usuario o como contraseña. Se recomienda utilizar el "x-access-token" como nombre de usuario y el token de acceso personal como contraseña para las aplicaciones Git.
new_token_desc=Desde ahora, todos los tokens tendrán acceso completo a tu cuenta. new_token_desc=Desde ahora, todos los tokens tendrán acceso completo a tu cuenta.
token_name=Nombre del Token token_name=Nombre del Token
generate_token=Generar Token generate_token=Generar Token
@@ -378,7 +381,7 @@ delete_token=Eliminar
access_token_deletion=Borrado de Token de Acceso Personal access_token_deletion=Borrado de Token de Acceso Personal
access_token_deletion_desc=Si elimina este token de acceso personal la aplicación asociada perderá el permiso de acceso. ¿Desea continuar? access_token_deletion_desc=Si elimina este token de acceso personal la aplicación asociada perderá el permiso de acceso. ¿Desea continuar?
delete_token_success=¡El token de acceso personal ha sido eliminado con éxito! No se olvide de actualizar también las aplicaciones asociadas. delete_token_success=¡El token de acceso personal ha sido eliminado con éxito! No se olvide de actualizar también las aplicaciones asociadas.
token_name_exists=Token with same name already exists. token_name_exists=Ya existe un token con el mismo nombre.
orgs.none=No eres un miembro de ninguna organización. orgs.none=No eres un miembro de ninguna organización.
orgs.leave_title=Salir de una organización orgs.leave_title=Salir de una organización
@@ -400,9 +403,9 @@ owner=Propietario
repo_name=Nombre del repositorio repo_name=Nombre del repositorio
repo_name_helper=Los grandes nombres de repositorios son cortos, memorables y <strong>únicos</strong>. repo_name_helper=Los grandes nombres de repositorios son cortos, memorables y <strong>únicos</strong>.
visibility=Visibilidad visibility=Visibilidad
unlisted=Unlisted unlisted=Sin listar
visiblity_helper=Este repositorio es <span class="ui red text">privado</span> visiblity_helper=Este repositorio es <span class="ui red text">privado</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=Este repositorio <span class="ui red text">no está en la lista</span>
visiblity_helper_forced=El administrador web ha obligado a todos los repositorios nuevos a ser <span class="ui red text"> privados</span> visiblity_helper_forced=El administrador web ha obligado a todos los repositorios nuevos a ser <span class="ui red text"> privados</span>
visiblity_fork_helper=(Este cambio afectará a todos los forks) visiblity_fork_helper=(Este cambio afectará a todos los forks)
clone_helper=¿Necesitas ayuda con el clone? ¡Consulta la <a target="_blank" href="%s">Ayuda</a>! clone_helper=¿Necesitas ayuda con el clone? ¡Consulta la <a target="_blank" href="%s">Ayuda</a>!
@@ -420,7 +423,7 @@ auto_init=Inicializar los archivos seleccionados y plantillas de este repositori
create_repo=Crear repositorio create_repo=Crear repositorio
default_branch=Rama por defecto default_branch=Rama por defecto
mirror_prune=Purgar mirror_prune=Purgar
mirror_prune_desc=Remover referencias remotas que no existan remotamente mirror_prune_desc=Elimina cualquier referencia de seguimiento remoto que ya no exista en el remoto
mirror_interval=Intervalo de la réplica (en horas) mirror_interval=Intervalo de la réplica (en horas)
mirror_address=Dirección de la réplica mirror_address=Dirección de la réplica
mirror_address_desc=Por favor, incluya las credenciales de usuario necesarias en la dirección. mirror_address_desc=Por favor, incluya las credenciales de usuario necesarias en la dirección.
@@ -432,7 +435,7 @@ repo_description_helper=Descripción del repositorio. Longitud máxima de 512 ca
repo_description_length=Caracteres disponibles repo_description_length=Caracteres disponibles
form.reach_limit_of_creation=El propietario ha alcanzado el límite máximo de %d repositorios creados. form.reach_limit_of_creation=El propietario ha alcanzado el límite máximo de %d repositorios creados.
form.name_not_allowed=Repository name or pattern %q is not allowed. form.name_not_allowed=El nombre de repositorio o patrón %q no está permitido.
need_auth=Requiere autorización need_auth=Requiere autorización
migrate_type=Tipo de migración migrate_type=Tipo de migración
@@ -443,7 +446,7 @@ migrate.clone_address_desc=Esto puede ser una dirección URL HTTP/HTTPS/GIT.
migrate.clone_address_desc_import_local=También se le permite migrar un repositorio por la ruta del servidor local. migrate.clone_address_desc_import_local=También se le permite migrar un repositorio por la ruta del servidor local.
migrate.permission_denied=No te está permitido importar repositorios locales. migrate.permission_denied=No te está permitido importar repositorios locales.
migrate.invalid_local_path=Rutal local inválida, no existe o no es un directorio. migrate.invalid_local_path=Rutal local inválida, no existe o no es un directorio.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=La dirección de clonado se ha resuelto a una dirección de red local que está implícitamente bloqueada.
migrate.failed=Migración fallida: %v migrate.failed=Migración fallida: %v
mirror_from=espejo de mirror_from=espejo de
@@ -491,6 +494,8 @@ branches.stale_branches=Ramas Viejas
branches.all=Todas las Ramas branches.all=Todas las Ramas
branches.updated_by=%[1]s actualizado por %[2]s branches.updated_by=%[1]s actualizado por %[2]s
branches.change_default_branch=Cambiar la Rama por Defecto branches.change_default_branch=Cambiar la Rama por Defecto
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nuevo archivo editor.new_file=Nuevo archivo
editor.upload_file=Subir archivo editor.upload_file=Subir archivo
@@ -793,8 +798,8 @@ settings.remove_collaborator_success=El colaborador ha sido eliminado.
settings.search_user_placeholder=Buscar usuario... settings.search_user_placeholder=Buscar usuario...
settings.org_not_allowed_to_be_collaborator=Las organizaciones no tiene permitido ser añadidas como colaboradores. settings.org_not_allowed_to_be_collaborator=Las organizaciones no tiene permitido ser añadidas como colaboradores.
settings.hooks_desc=Los Webhooks permiten a servicios externos recibir notificaciones cuando sucedan ciertos eventos en Gogs. Cuando sucedan los eventos especificados, enviaremos una petición POST a cada una de las URLs indicadas. Para obtener más información, consulta nuestra <a target="_blank" href="%s">Guía de Webhooks</a>. settings.hooks_desc=Los Webhooks permiten a servicios externos recibir notificaciones cuando sucedan ciertos eventos en Gogs. Cuando sucedan los eventos especificados, enviaremos una petición POST a cada una de las URLs indicadas. Para obtener más información, consulta nuestra <a target="_blank" href="%s">Guía de Webhooks</a>.
settings.webhooks.add_new=Add a new webhook: settings.webhooks.add_new=Añadir un nuevo webhook:
settings.webhooks.choose_a_type=Choose a type... settings.webhooks.choose_a_type=Elige un tipo...
settings.add_webhook=Añadir Webhook settings.add_webhook=Añadir Webhook
settings.webhook_deletion=Eliminar Webhook settings.webhook_deletion=Eliminar Webhook
settings.webhook_deletion_desc=Al borrar este webhook se eliminará su información y todo su historial. ¿Desea continuar? settings.webhook_deletion_desc=Al borrar este webhook se eliminará su información y todo su historial. ¿Desea continuar?
@@ -809,8 +814,8 @@ settings.webhook.response=Respuesta
settings.webhook.headers=Encabezado settings.webhook.headers=Encabezado
settings.webhook.payload=Payload settings.webhook.payload=Payload
settings.webhook.body=Cuerpo del mensaje settings.webhook.body=Cuerpo del mensaje
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v settings.webhook.err_cannot_parse_payload_url=No se puede analizar la URL de payload: %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=La URL de payload se ha resuelto a una dirección de red local que está implícitamente bloqueada.
settings.githooks_desc=Los Git Hooks son una funcionalidad del propio Git, puedes editar los ficheros de los hooks soportados en la siguiente lista para aplicar operaciones personalizadas. settings.githooks_desc=Los Git Hooks son una funcionalidad del propio Git, puedes editar los ficheros de los hooks soportados en la siguiente lista para aplicar operaciones personalizadas.
settings.githook_edit_desc=Si el hook no está activo, se mostrará contenido de ejemplo. Dejar el contenido vacío deshabilitará este hook. settings.githook_edit_desc=Si el hook no está activo, se mostrará contenido de ejemplo. Dejar el contenido vacío deshabilitará este hook.
settings.githook_name=Nombre del Hook settings.githook_name=Nombre del Hook
@@ -937,8 +942,8 @@ team_name_helper=Utiliza este nombre para mencionar a este equipo en las convers
team_desc_helper=¿En qué consiste este equipo? team_desc_helper=¿En qué consiste este equipo?
team_permission_desc=¿Qué nivel de permisos debería tener este equipo? team_permission_desc=¿Qué nivel de permisos debería tener este equipo?
form.name_not_allowed=Organization name or pattern %q is not allowed. form.name_not_allowed=El nombre de la organización o patrón %q no está permitido.
form.team_name_not_allowed=Team name or pattern %q is not allowed. form.team_name_not_allowed=El nombre del equipo o patrón %q no está permitido.
settings=Configuración settings=Configuración
settings.options=Opciones settings.options=Opciones
@@ -1011,7 +1016,7 @@ last_page=Última
total=Total: %d total=Total: %d
dashboard.build_info=Build Information dashboard.build_info=Build Information
dashboard.app_ver=Application version dashboard.app_ver=Versión de la aplicación
dashboard.git_version=Versión de Git dashboard.git_version=Versión de Git
dashboard.go_version=Versión de Go dashboard.go_version=Versión de Go
dashboard.build_time=Tiempo de compilación dashboard.build_time=Tiempo de compilación
@@ -1168,21 +1173,21 @@ auths.delete_auth_desc=Esta autenticación será eliminada. ¿Deseas continuar?
auths.still_in_used=Este método de autentificación aún es utilizado por algunos usuarios, por favor elimine o convierta estos usuarios a otro tipo de autentificación. auths.still_in_used=Este método de autentificación aún es utilizado por algunos usuarios, por favor elimine o convierta estos usuarios a otro tipo de autentificación.
auths.deletion_success=¡La autenticación ha sido eliminada con éxito! auths.deletion_success=¡La autenticación ha sido eliminada con éxito!
auths.login_source_exist=El origen de autenticación '%s' ya existe. auths.login_source_exist=El origen de autenticación '%s' ya existe.
auths.github_api_endpoint=API Endpoint auths.github_api_endpoint=Endpoint de la API
config.not_set=(sin definir) config.not_set=(sin definir)
config.server_config=Configuración del servidor config.server_config=Configuración del servidor
config.brand_name=Brand name config.brand_name=Nombre de la marca
config.run_user=Ejecutada como Usuario config.run_user=Ejecutada como Usuario
config.run_mode=Modo de ejecución config.run_mode=Modo de ejecución
config.server.external_url=External URL config.server.external_url=URL externa
config.server.domain=Domain config.server.domain=Dominio
config.server.protocol=Protocol config.server.protocol=Protocolo
config.server.http_addr=Dirección HTTP config.server.http_addr=Dirección HTTP
config.server.http_port=Puerto HTTP config.server.http_port=Puerto HTTP
config.server.cert_file=Certificate file config.server.cert_file=Archivo de certificado
config.server.key_file=Key file config.server.key_file=Archivo de claves
config.server.tls_min_version=Minimum TLS version config.server.tls_min_version=Versión mínima de TLS
config.server.unix_socket_permission=Unix socket permission config.server.unix_socket_permission=Unix socket permission
config.server.local_root_url=Local root URL config.server.local_root_url=Local root URL
config.server.offline_mode=Offline mode config.server.offline_mode=Offline mode
@@ -1193,28 +1198,29 @@ config.server.load_assets_from_disk=Load assets from disk
config.server.landing_url=Landing URL config.server.landing_url=Landing URL
config.ssh_config=Configuración SSH config.ssh_config=Configuración SSH
config.ssh.enabled=Enabled config.ssh.enabled=Activado
config.ssh.domain=Exposed domain config.ssh.domain=Dominio expuesto
config.ssh.port=Exposed port config.ssh.port=Puerto expuesto
config.ssh.root_path=Root path config.ssh.root_path=Root path
config.ssh.keygen_path=Keygen path config.ssh.keygen_path=Ruta del generador de claves
config.ssh.key_test_path=Key test path config.ssh.key_test_path=Ruta de la clave de prueba
config.ssh.minimum_key_size_check=Minimum key size check config.ssh.minimum_key_size_check=Comprobación del tamaño mínimo de la clave
config.ssh.minimum_key_sizes=Minimum key sizes config.ssh.minimum_key_sizes=Tamaño mínimo de las claves
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start config.ssh.rewrite_authorized_keys_at_start=Reescribir "authorized_keys" al inicio
config.ssh.start_builtin_server=Iniciar servidor integrado config.ssh.start_builtin_server=Iniciar servidor integrado
config.ssh.listen_host=Listen host config.ssh.listen_host=Host de escucha
config.ssh.listen_port=Listen port config.ssh.listen_port=Puerto de escucha
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Cifrados del servidor
config.ssh.server_macs=Server MACs config.ssh.server_macs=MACs del servidor
config.ssh.server_algorithms=Algoritmos del servidor
config.repo_config=Configuración del repositorio config.repo_config=Configuración del repositorio
config.repo.root_path=Root path config.repo.root_path=Ruta raíz
config.repo.script_type=Script type config.repo.script_type=Script type
config.repo.ansi_chatset=ANSI charset config.repo.ansi_chatset=ANSI charset
config.repo.force_private=Force private config.repo.force_private=Force private
config.repo.max_creation_limit=Max creation limit config.repo.max_creation_limit=Max creation limit
config.repo.preferred_licenses=Preferred licenses config.repo.preferred_licenses=Licencias preferidas
config.repo.disable_http_git=Disable HTTP Git config.repo.disable_http_git=Disable HTTP Git
config.repo.enable_local_path_migration=Enable local path migration config.repo.enable_local_path_migration=Enable local path migration
config.repo.enable_raw_file_render_mode=Enable raw file render mode config.repo.enable_raw_file_render_mode=Enable raw file render mode
@@ -1228,18 +1234,18 @@ config.repo.upload.file_max_size=Upload file size limit
config.repo.upload.max_files=Upload files limit config.repo.upload.max_files=Upload files limit
config.db_config=Configuración de la Base de Datos config.db_config=Configuración de la Base de Datos
config.db.type=Type config.db.type=Tipo
config.db.host=Host config.db.host=Host
config.db.name=Name config.db.name=Nombre
config.db.schema=Schema config.db.schema=Esquema
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(sólo para "postgres")
config.db.user=User config.db.user=Usuario
config.db.ssl_mode=SSL mode config.db.ssl_mode=SSL mode
config.db.ssl_mode_helper=(for "postgres" only) config.db.ssl_mode_helper=(sólo para "postgres")
config.db.path=Path config.db.path=Ruta
config.db.path_helper=(for "sqlite3"only) config.db.path_helper=(sólo para "sqlite3")
config.db.max_open_conns=Maximum open connections config.db.max_open_conns=Número máximo de conexiones abiertas
config.db.max_idle_conns=Maximum idle connections config.db.max_idle_conns=Número máximo de conexiones inactivas
config.security_config=Security configuration config.security_config=Security configuration
config.security.login_remember_days=Login remember days config.security.login_remember_days=Login remember days
@@ -1262,14 +1268,15 @@ config.email.helo_hostname=HELO hostname
config.email.skip_verify=Skip certificate verify config.email.skip_verify=Skip certificate verify
config.email.use_certificate=Use custom certificate config.email.use_certificate=Use custom certificate
config.email.cert_file=Certificate file config.email.cert_file=Certificate file
config.email.key_file=Key file config.email.key_file=Archivo de claves
config.email.use_plain_text=Use plain text config.email.use_plain_text=Use plain text
config.email.add_plain_text_alt=Add plain text alternative config.email.add_plain_text_alt=Add plain text alternative
config.email.send_test_mail=Send test email config.email.send_test_mail=Enviar correo de prueba
config.email.test_mail_failed=Failed to send test email to '%s': %v config.email.test_mail_failed=Error al enviar correo electrónico de prueba a '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation
@@ -1321,7 +1328,7 @@ config.picture.disable_gravatar=Disable Gravatar
config.picture.enable_federated_avatar=Enable federated avatars config.picture.enable_federated_avatar=Enable federated avatars
config.mirror_config=Mirror configuration config.mirror_config=Mirror configuration
config.mirror.default_interval=Default interval config.mirror.default_interval=Intervalo por defecto
config.webhook_config=Configuración de Webhooks config.webhook_config=Configuración de Webhooks
config.webhook.types=Types config.webhook.types=Types

View File

@@ -88,6 +88,7 @@ log_root_path=مسیر گزارش‌ها
log_root_path_helper=پوشه‌ای برای نوشتن فایل گزارش. log_root_path_helper=پوشه‌ای برای نوشتن فایل گزارش.
enable_console_mode=فعال کردن حالت کنسول enable_console_mode=فعال کردن حالت کنسول
enable_console_mode_popup=لاگ‌ها علاوه بر ذخیره در فایل، در کنسول نیز به نمایش در آید. enable_console_mode_popup=لاگ‌ها علاوه بر ذخیره در فایل، در کنسول نیز به نمایش در آید.
default_branch=Default Branch
optional_title=تنظیمات اختیاری optional_title=تنظیمات اختیاری
email_title=تنظیمات سرویس ایمیل email_title=تنظیمات سرویس ایمیل
@@ -316,6 +317,7 @@ delete_email=حذف
email_deletion=حذف ایمیل email_deletion=حذف ایمیل
email_deletion_desc=حذف این آدرس ایمیل دیگر اطلاعات مربوط به آن را هم از حساب شما حذف می‌کند. آیا مایلید ادامه دهید؟ email_deletion_desc=حذف این آدرس ایمیل دیگر اطلاعات مربوط به آن را هم از حساب شما حذف می‌کند. آیا مایلید ادامه دهید؟
email_deletion_success=ایمیل با موفقیت حذف شد! email_deletion_success=ایمیل با موفقیت حذف شد!
email_deletion_primary=Cannot delete primary email address.
add_new_email=اضافه کردن آدرس ایمیل جدید add_new_email=اضافه کردن آدرس ایمیل جدید
add_email=اضافه کردن ایمیل add_email=اضافه کردن ایمیل
add_email_confirmation_sent=یک ایمیل تایید به آدرس %s ارسال شد, لطفا صندوق خود را حداکثر تا %d ساعت دیگر برای تکمیل فرایند تایید بررسی کنید. add_email_confirmation_sent=یک ایمیل تایید به آدرس %s ارسال شد, لطفا صندوق خود را حداکثر تا %d ساعت دیگر برای تکمیل فرایند تایید بررسی کنید.
@@ -372,6 +374,7 @@ two_factor_disable_success=احراز هویت دوعاملی با موفقیت
manage_access_token=مدیریت توکن دسترسی شخصی manage_access_token=مدیریت توکن دسترسی شخصی
generate_new_token=تولید توکن جدید generate_new_token=تولید توکن جدید
tokens_desc=نشانه ایجاد شده که می تواند برای دسترسی به رابط های برنامه کاربردی Gogs مورد استفاده قرار گیرد. tokens_desc=نشانه ایجاد شده که می تواند برای دسترسی به رابط های برنامه کاربردی Gogs مورد استفاده قرار گیرد.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=هر توکن می تواند دسترسی کامل به حساب شما داشته باشد. new_token_desc=هر توکن می تواند دسترسی کامل به حساب شما داشته باشد.
token_name=نام توکن token_name=نام توکن
generate_token=تولید توکن generate_token=تولید توکن
@@ -493,6 +496,8 @@ branches.stale_branches=شاخه های قدیمی
branches.all=همه شاخه branches.all=همه شاخه
branches.updated_by=%[1]s به روزشده توسط %[2]s branches.updated_by=%[1]s به روزشده توسط %[2]s
branches.change_default_branch=تغییر شاخه ی پیش فرض branches.change_default_branch=تغییر شاخه ی پیش فرض
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=پرونده جدید editor.new_file=پرونده جدید
editor.upload_file=بارگذاری پرونده editor.upload_file=بارگذاری پرونده
@@ -1209,6 +1214,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=پیکربندی مخزن config.repo_config=پیکربندی مخزن
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1272,6 +1278,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -22,13 +22,13 @@ password=Salasana
re_type=Kirjoita uudelleen re_type=Kirjoita uudelleen
captcha=Captcha captcha=Captcha
repository=Repository repository=Tietosäilö
organization=Organisaatio organization=Organisaatio
mirror=Peili mirror=Peili
new_repo=Uusi repository new_repo=Uusi tietosäilö
new_migrate=Uusi migraatio new_migrate=Uusi migraatio
new_mirror=Uusi peilaus new_mirror=Uusi peilaus
new_fork=Uusi fork-repository new_fork=Uusi tietosäilö haarautuksesta
new_org=Uusi organisaatio new_org=Uusi organisaatio
manage_org=Ylläpidä organisaatioita manage_org=Ylläpidä organisaatioita
admin_panel=Ylläpito paneeli admin_panel=Ylläpito paneeli
@@ -38,8 +38,8 @@ your_profile=Profiilisi
your_settings=Asetuksesi your_settings=Asetuksesi
activities=Toimet activities=Toimet
pull_requests=Pull requestit pull_requests=Vetopyynnöt
issues=Ongelmat issues=Esitykset
cancel=Peruuta cancel=Peruuta
@@ -51,14 +51,14 @@ internal_server_error=Sisäinen palvelinvirhe
install=Asennus install=Asennus
title=Asennusvaiheet ottaessa ensi kertaa käyttöön title=Asennusvaiheet ottaessa ensi kertaa käyttöön
docker_helper=Jos käytät Gogsia Dockerin sisällä, ole hyvä ja lue <a target="_blank" href="%s">ohjeet</a> huolellisesti ennen kuin muutat mitään tältä sivulta! docker_helper=Jos käytät Gogsia Dockerin sisällä, ole hyvä ja lue <a target="_blank" href="%s">ohjeet</a> huolellisesti ennen kuin muutat mitään tältä sivulta!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs tarvitsee tietokannakseen MySQL, PostgreSQL, SQLite3 tai TiDB (MySQL-protkollan kautta).
db_title=Tietokannan asetukset db_title=Tietokannan asetukset
db_type=Tietokannan tyyppi db_type=Tietokannan tyyppi
host=Isäntä host=Isäntä
user=Käyttäjä user=Käyttäjä
password=Salasana password=Salasana
db_name=Tietokannan nimi db_name=Tietokannan nimi
db_schema=Schema db_schema=Skeema
db_helper=Ole hyvä ja käytä INNODB moottoria ja utf8_general_ci merkistöä MySQLssä. db_helper=Ole hyvä ja käytä INNODB moottoria ja utf8_general_ci merkistöä MySQLssä.
ssl_mode=SSL-tila ssl_mode=SSL-tila
path=Polku path=Polku
@@ -70,8 +70,8 @@ err_empty_admin_password=Ylläpito salasana ei voi olla tyhjä.
general_title=Sovellus yleiset asetukset general_title=Sovellus yleiset asetukset
app_name=Sovelluksen nimi app_name=Sovelluksen nimi
app_name_helper=Laita organisaatiosi nimi tähän isolla ja kovaäänisesti! app_name_helper=Laita organisaatiosi nimi tähän isolla ja kovaäänisesti!
repo_path=Repon juuren polku repo_path=Tietosäilön juurihakemisto
repo_path_helper=Kaikki Git-etärepot tullaan tallentamaan tähän hakemistoon. repo_path_helper=Kaikki Git-etätietosäilöt tullaan tallentamaan tähän hakemistoon.
run_user=Suorita käyttäjänä run_user=Suorita käyttäjänä
run_user_helper=Käyttäjällä täytyy olla oikeus repositoryn juuripolkuun. Käyttäjällä täytyy myös olla oikeus suorittaa Gogs. run_user_helper=Käyttäjällä täytyy olla oikeus repositoryn juuripolkuun. Käyttäjällä täytyy myös olla oikeus suorittaa Gogs.
domain=Verkkotunnus domain=Verkkotunnus
@@ -88,6 +88,7 @@ log_root_path=Lokin polku
log_root_path_helper=Lokien tallennushakemisto. log_root_path_helper=Lokien tallennushakemisto.
enable_console_mode=Ota käyttöön konsoli tila enable_console_mode=Ota käyttöön konsoli tila
enable_console_mode_popup=Tiedosto tilan lisäksi tulosta logit konsoliin. enable_console_mode_popup=Tiedosto tilan lisäksi tulosta logit konsoliin.
default_branch=Oletus haara
optional_title=Valinnaiset asetukset optional_title=Valinnaiset asetukset
email_title=Sähköposti palvelu asetukset email_title=Sähköposti palvelu asetukset
@@ -121,7 +122,7 @@ install_gogs=Asenna Gogs
test_git_failed=Epäonnistui testata 'git' komentoa: %v test_git_failed=Epäonnistui testata 'git' komentoa: %v
sqlite3_not_available=Julkaisuversiosi ei tue SQLite3:a, ole hyvä ja lataa virallinen binääriversio osoitteesta %s, EI gobuild-versiota. sqlite3_not_available=Julkaisuversiosi ei tue SQLite3:a, ole hyvä ja lataa virallinen binääriversio osoitteesta %s, EI gobuild-versiota.
invalid_db_setting=Tietokanta asetus ei ole oikea: %v invalid_db_setting=Tietokanta asetus ei ole oikea: %v
invalid_repo_path=Repo juuri polku on virheellinen: %v invalid_repo_path=Tietosäilön juurihakemisto on virheellinen: %v
run_user_not_match=Suoritus käyttäjä ei ole nykyinen käyttäjä: %s -> %s run_user_not_match=Suoritus käyttäjä ei ole nykyinen käyttäjä: %s -> %s
smtp_host_missing_port=SMTP-isännältä puuttuu portin osoite. smtp_host_missing_port=SMTP-isännältä puuttuu portin osoite.
invalid_smtp_from=SMTP From kenttä ei ole kelvollinen: %v invalid_smtp_from=SMTP From kenttä ei ole kelvollinen: %v
@@ -135,17 +136,17 @@ invalid_log_root_path=Loki juurihakemisto ei kelpaa: %v
uname_holder=Käyttäjätunnus tai sähköposti uname_holder=Käyttäjätunnus tai sähköposti
password_holder=Salasana password_holder=Salasana
switch_dashboard_context=Vaihda kojelaudan kontekstia switch_dashboard_context=Vaihda kojelaudan kontekstia
my_repos=Reponi my_repos=Minun tietosäilöt
show_more_repos=Näytä lisää repoja... show_more_repos=Näytä lisää tietosäilöjä...
collaborative_repos=Yhteistyörepot collaborative_repos=Yhteistyötietosäilöt
my_orgs=Organisaationi my_orgs=Organisaationi
my_mirrors=Peilini my_mirrors=Peilaukseni
view_home=Näytä %s view_home=Näytä %s
issues.in_your_repos=Repoissasi issues.in_your_repos=Sinun tietosäilöissäsi
[explore] [explore]
repos=Repot repos=Tietosäilöt
users=Käyttäjät users=Käyttäjät
organizations=Organisaatiot organizations=Organisaatiot
search=Hae search=Hae
@@ -198,7 +199,7 @@ modify=Muokkaa
[form] [form]
UserName=Käyttäjätunnus UserName=Käyttäjätunnus
RepoName=Repon nimi RepoName=Tietosäilön nimi
Email=Sähköpostiosoite Email=Sähköpostiosoite
Password=Salasana Password=Salasana
Retype=Kirjoita salasana uudelleen Retype=Kirjoita salasana uudelleen
@@ -210,8 +211,8 @@ AuthName=Luvan nimi
AdminEmail=Ylläpito sähköposti AdminEmail=Ylläpito sähköposti
NewBranchName=Uuden haaran nimi NewBranchName=Uuden haaran nimi
CommitSummary=Commitin yhteenveto CommitSummary=Sitoutuksen yhteenveto
CommitMessage=Commitin viesti CommitMessage=Sitoutuksen viesti
CommitChoice=Commitin valinta CommitChoice=Commitin valinta
TreeName=Tiedostopolku TreeName=Tiedostopolku
Content=Sisältö Content=Sisältö
@@ -231,13 +232,13 @@ captcha_incorrect=Captcha ei ollut oikein.
password_not_match=Salasana ja salasanan varmistus eivät ole samoja. password_not_match=Salasana ja salasanan varmistus eivät ole samoja.
username_been_taken=Käyttäjätunnus on jo käytössä. username_been_taken=Käyttäjätunnus on jo käytössä.
repo_name_been_taken=Repon nimi on jo käytössä. repo_name_been_taken=Tietosäilön nimi on jo käytössä.
org_name_been_taken=Organisaation nimi on jo käytössä. org_name_been_taken=Organisaation nimi on jo käytössä.
team_name_been_taken=Tiimin 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ä. email_been_used=Sähköpostiosoite on jo käytössä.
username_password_incorrect=Käyttäjätunnus tai salasana ei ole oikein. username_password_incorrect=Käyttäjätunnus tai salasana ei ole oikein.
auth_source_mismatch=Valittua todennuslähdettä ei liitetä käyttäjään. auth_source_mismatch=Valittua todennuslähdettä ei liitetä käyttäjään.
enterred_invalid_repo_name=Ole hyvä ja varmista että kirjoittamasi repon nimi on oikein. enterred_invalid_repo_name=Ole hyvä ja varmista että kirjoittamasi tietosäilön nimi on oikein.
enterred_invalid_owner_name=Ole hyvä ja varmista että kirjoittamasi omistajan 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. enterred_invalid_password=Ole hyvä ja varmista että kirjoittamasi salasana on oikein.
user_not_exist=Käyttäjää ei ole olemassa. user_not_exist=Käyttäjää ei ole olemassa.
@@ -247,16 +248,16 @@ invalid_ssh_key=Pahoittelut, emme pystyneet varmistamaan SSH-avainta: %s
unable_verify_ssh_key=Gogs ei voi varmistaa SSH-avaintasi, mutta oletamme että se on toimiva, ole hyvä ja tarkista se. unable_verify_ssh_key=Gogs ei voi varmistaa SSH-avaintasi, mutta oletamme että se on toimiva, ole hyvä ja tarkista se.
auth_failed=Todennus epäonnistui: %v auth_failed=Todennus epäonnistui: %v
still_own_repo=Tililläsi on yhä omistajuus ainakin yhteen repoon, sinun täytyy poistaa tai siirtää ne ensin. still_own_repo=Tililläsi on yhä omistajuus ainakin yhteen tietosäilöön, sinun täytyy poistaa tai siirtää ne ensin.
still_has_org=Tililläsi on yhä jäsenyys ainakin yhteen organisaatioon, sinun täytyy jäädä pois tai poistaa jäsenyyksiä ensin. still_has_org=Tililläsi on yhä jäsenyys ainakin yhteen organisaatioon, sinun täytyy jäädä pois tai poistaa jäsenyyksiä ensin.
org_still_own_repo=Tällä organisaatiolla on yhä omistajuus repoon, sinun täytyy poistaa tai siirtää ne ensin. org_still_own_repo=Tällä organisaatiolla on yhä omistajuus tietosäilöön, sinun täytyy poistaa tai siirtää ne ensin.
target_branch_not_exist=Kohde branchia ei ole olemassa. target_branch_not_exist=Kohde haaraa ei ole olemassa.
[user] [user]
change_avatar=Vaihda profiilikuvasi change_avatar=Vaihda profiilikuvasi
join_on=Liitytty join_on=Liitytty
repositories=Repot repositories=Tietosäilöt
activity=Julkinen toiminta activity=Julkinen toiminta
followers=Seuraajat followers=Seuraajat
starred=Äänestetty starred=Äänestetty
@@ -272,7 +273,7 @@ password=Salasana
avatar=Profiilikuva avatar=Profiilikuva
ssh_keys=SSH avaimet ssh_keys=SSH avaimet
security=Turvallisuus security=Turvallisuus
repos=Repot repos=Tietosäilö
orgs=Organisaatiot orgs=Organisaatiot
applications=Sovellukset applications=Sovellukset
delete=Poista tili delete=Poista tili
@@ -316,6 +317,7 @@ delete_email=Poista
email_deletion=Sähköpostin poistaminen email_deletion=Sähköpostin poistaminen
email_deletion_desc=Tämän sähköpostiosoitteen poistaminen poistaa siihen liittyvät tiedot tililtäsi. Haluatko jatkaa? email_deletion_desc=Tämän sähköpostiosoitteen poistaminen poistaa siihen liittyvät tiedot tililtäsi. Haluatko jatkaa?
email_deletion_success=Sähköposti on poistettu onnistuneesti! email_deletion_success=Sähköposti on poistettu onnistuneesti!
email_deletion_primary=Pääsähköpostin poistaminen ei onnistu.
add_new_email=Lisää uusi sähköpostiosoite add_new_email=Lisää uusi sähköpostiosoite
add_email=Lisää sähköposti add_email=Lisää sähköposti
add_email_confirmation_sent=Uusi varmistussähköposti on lähetetty osoitteeseen '%s', ole hyvä ja tarkista saapuneet seuraavan %d tunnin sisällä saadaksesi rekisteröintiprosessin valmiiksi. add_email_confirmation_sent=Uusi varmistussähköposti on lähetetty osoitteeseen '%s', ole hyvä ja tarkista saapuneet seuraavan %d tunnin sisällä saadaksesi rekisteröintiprosessin valmiiksi.
@@ -370,6 +372,7 @@ two_factor_disable_success=Kaksivaiheinen todennus on poistettu käytöstä onni
manage_access_token=Hallitse henkilökohtaisia pääsymerkkejä manage_access_token=Hallitse henkilökohtaisia pääsymerkkejä
generate_new_token=Luo uusi pääsymerkki generate_new_token=Luo uusi pääsymerkki
tokens_desc=Luomiasi pääsymerkkejä voidaan käyttää Gogs APIn kanssa. tokens_desc=Luomiasi pääsymerkkejä voidaan käyttää Gogs APIn kanssa.
access_token_tips=Henkilökohtaista pääsytunnusta voidaan käyttää joko käyttäjätunnuksena tai salasanana. On suositeltavaa käyttää "x-access-token" käyttäjätunnuksena ja henkilökohtaista pääsytunnusta Git-sovellusten salasanana.
new_token_desc=Joka pääsymerkillä on täysi pääsy tiliisi. new_token_desc=Joka pääsymerkillä on täysi pääsy tiliisi.
token_name=Pääsymerkin nimi token_name=Pääsymerkin nimi
generate_token=Luo pääsymerkki generate_token=Luo pääsymerkki
@@ -385,9 +388,9 @@ orgs.leave_title=Poistu organisaatiosta
orgs.leave_desc=Menetät oikeudet kaikkiin niihin repoihin ja tiimeihin joihin organisaatio on sinulle oikeudet antanut. Haluatko varmasti jatkaa? orgs.leave_desc=Menetät oikeudet kaikkiin niihin repoihin ja tiimeihin joihin organisaatio on sinulle oikeudet antanut. Haluatko varmasti jatkaa?
repos.leave=Poistu repos.leave=Poistu
repos.leave_title=Poistu reposta repos.leave_title=Poistu tietosäilöstä
repos.leave_desc=Menetät pääsyn repoon kun poistut. Haluatko jatkaa? repos.leave_desc=Menetät pääsyn tietosäilöön poistuessasi. Haluatko jatkaa?
repos.leave_success=Olet poistunut reposta '%s' onnistuneesti! repos.leave_success=Olet poistunut tietosäilöstä '%s' onnistuneesti!
delete_account=Poista tilisi delete_account=Poista tilisi
delete_prompt=Toiminto poistaa tilisi pysyvästi ja tätä <strong>EI VOI</strong> peruuttaa myöhemmin! delete_prompt=Toiminto poistaa tilisi pysyvästi ja tätä <strong>EI VOI</strong> peruuttaa myöhemmin!
@@ -397,18 +400,18 @@ delete_account_desc=Tämä tili poistetaan lopullisesti, haluatko jatkaa?
[repo] [repo]
owner=Omistaja owner=Omistaja
repo_name=Repon nimi repo_name=Tietosäilön nimi
repo_name_helper=Hyvä repon nimi yleensä koostuu lyhyistä, mieleenpainuvista ja ainutlaatuisista avainsanoista. repo_name_helper=Hyvä tietosäilönimi yleensä koostuu lyhyistä, mieleenpainuvista ja ainutlaatuisista avainsanoista.
visibility=Näkyvyys visibility=Näkyvyys
unlisted=Unlisted unlisted=Listaamaton
visiblity_helper=Tämä repo on <span class="ui red text">yksityinen</span> visiblity_helper=Tämä tietosäilö on <span class="ui red text">yksityinen</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=Tämä tietosäilö on <span class="ui red text">listaamaton</span>
visiblity_helper_forced=Sivuston ylläpito on pakottanut kaikkien uusien repojen olevan <span class="ui red text">yksityisiä</span> visiblity_helper_forced=Sivuston ylläpito on pakottanut kaikkien uusien tietosäilöjen olevan <span class="ui red text">yksityisiä</span>
visiblity_fork_helper=(Arvon vaihtaminen vaikuttaa kaikkiin forkkeihin) visiblity_fork_helper=(Arvon vaihtaminen vaikuttaa kaikkiin haarautuksiin)
clone_helper=Tarvitsetko apua kloonauksessa? Vieraile osoitteessa <a target="_blank" href="%s">Apua</a>! clone_helper=Tarvitsetko apua kloonauksessa? Vieraile osoitteessa <a target="_blank" href="%s">Apua</a>!
fork_repo=Forkkaa repo fork_repo=Haarauta tietosäilö
fork_from=Forkkaa lähteestä fork_from=Haarauta lähteestä
fork_visiblity_helper=Et voi muuttaa forkatun repon näkyvyyttä. fork_visiblity_helper=Et voi muuttaa haarautetun tietosäilön näkyvyyttä.
repo_desc=Kuvaus repo_desc=Kuvaus
repo_lang=Kieli repo_lang=Kieli
repo_gitignore_helper=Valitse .gitignore malli repo_gitignore_helper=Valitse .gitignore malli
@@ -416,9 +419,9 @@ license=Lisenssi
license_helper=Valitse lisenssitiedosto license_helper=Valitse lisenssitiedosto
readme=Lueminut-tiedosto readme=Lueminut-tiedosto
readme_helper=Valitse Lueminut-malli readme_helper=Valitse Lueminut-malli
auto_init=Alusta tämä repo valituilla tiedostoilla ja mallilla auto_init=Alusta tämä tietosäilö valituilla tiedostoilla ja mallilla
create_repo=Luo repo create_repo=Luo tietosäilö
default_branch=Oletus branch default_branch=Oletus haara
mirror_prune=Karsi mirror_prune=Karsi
mirror_prune_desc=Poista kaikki paikalliset seurantahaarat joiden vastaavia etähaaroja ei ole enää olemassa mirror_prune_desc=Poista kaikki paikalliset seurantahaarat joiden vastaavia etähaaroja ei ole enää olemassa
mirror_interval=Peili aikaväli (tuntia) mirror_interval=Peili aikaväli (tuntia)
@@ -427,7 +430,7 @@ mirror_address_desc=Ole hyvä ja liitä osoitteeseen tarvittavat käyttäjätunn
mirror_last_synced=Synkronoitu viimeksi mirror_last_synced=Synkronoitu viimeksi
watchers=Tarkkailijat watchers=Tarkkailijat
stargazers=Tähtiharrastajat stargazers=Tähtiharrastajat
forks=Haarat forks=Haarautukset
repo_description_helper=Repon kuvaus. Enintään 512 merkkiä. repo_description_helper=Repon kuvaus. Enintään 512 merkkiä.
repo_description_length=Käytettävissä olevat merkit repo_description_length=Käytettävissä olevat merkit
@@ -438,16 +441,16 @@ need_auth=Tarvitaan lupa
migrate_type=Siirtotyyppi migrate_type=Siirtotyyppi
migrate_type_helper=Tämä repo tulee olemaan <span class="text blue">peili</span> migrate_type_helper=Tämä repo tulee olemaan <span class="text blue">peili</span>
migrate_repo=Siirrä repo migrate_repo=Siirrä repo
migrate.clone_address=Kloonaa osoite migrate.clone_address=Monistuksen osoite
migrate.clone_address_desc=Tämä voi olla HTTP/HTTPS/GIT URL. migrate.clone_address_desc=Tämä voi olla HTTP/HTTPS/GIT URL.
migrate.clone_address_desc_import_local=Paikallisen palvelimen kansiopolun käyttö repon migraatiossa on myös salittua. migrate.clone_address_desc_import_local=Paikallisen palvelimen kansiopolun käyttö repon migraatiossa on myös salittua.
migrate.permission_denied=Sinun ei sallita tuovan paikallisia repoja. migrate.permission_denied=Sinun ei sallita tuovan paikallisia repoja.
migrate.invalid_local_path=Virheellinen paikallinen polku, ei ole olemassa tai ei ole hakemisto. migrate.invalid_local_path=Virheellinen paikallinen polku, ei ole olemassa tai ei ole hakemisto.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=Kloonausosoite ratkeaa paikallisverkko-osoitteeksi joka on täysin estetty.
migrate.failed=Siirto epäonnistui: %v migrate.failed=Siirto epäonnistui: %v
mirror_from=peilaus alkaen mirror_from=peilaus alkaen
forked_from=forkattu lähteestä forked_from=haarautettu lähteestä
copy_link=Kopioi copy_link=Kopioi
copy_link_success=Kopioitu! copy_link_success=Kopioitu!
copy_link_error=Paina ⌘-C tai Ctrl-C kopioidaksesi copy_link_error=Paina ⌘-C tai Ctrl-C kopioidaksesi
@@ -456,26 +459,26 @@ unwatch=Lopeta tarkkailu
watch=Tarkkaile watch=Tarkkaile
unstar=Peru ääni unstar=Peru ääni
star=Äänestä star=Äänestä
fork=Fork fork=Haarauta
no_desc=Ei kuvausta no_desc=Ei kuvausta
quick_guide=Pikaopas quick_guide=Pikaopas
clone_this_repo=Kloonaa tämä repo clone_this_repo=Kloonaa tämä repo
create_new_repo_command=Luo uusi repo komentoriviltä create_new_repo_command=Luo uusi repo komentoriviltä
push_exist_repo=Työnnä olemassaoleva repo komentoriviltä push_exist_repo=Työnnä olemassa oleva tietosäilö komentoriviltä
bare_message=Tässä repossa ei ole mitään sisältöä vielä. bare_message=Tässä repossa ei ole mitään sisältöä vielä.
files=Tiedostot files=Tiedostot
branch=Haara branch=Haara
tree=Puu tree=Puu
filter_branch_and_tag=Suodata haara tai tagi filter_branch_and_tag=Suodata haara tai tunniste
branches=Haarat branches=Haarat
tags=Tagit tags=Tunnisteet
issues=Ongelmat issues=Esitykset
pulls=Pull-pyynnöt pulls=Vetopyynnöt
labels=Tunnisteet labels=Leimat
milestones=Merkkipaalut milestones=Merkkipaalut
commits=Commitit commits=Sitoutukset
git_branches=Haarat git_branches=Haarat
releases=Julkaisut releases=Julkaisut
file_raw=Raaka file_raw=Raaka
@@ -483,14 +486,16 @@ file_history=Historia
file_view_raw=Näytä raaka file_view_raw=Näytä raaka
file_permalink=Pysyvä linkki file_permalink=Pysyvä linkki
file_too_large=Tämä tiedosto on liian suuri näytettäväksi file_too_large=Tämä tiedosto on liian suuri näytettäväksi
video_not_supported_in_browser=Selaimesi ei tue HTML5 video-tagia. video_not_supported_in_browser=Selaimesi ei tue HTML5 video-avainsanaa.
branches.overview=Yleiskatsaus branches.overview=Yleiskatsaus
branches.active_branches=Aktiiviset haarat branches.active_branches=Aktiiviset haarat
branches.stale_branches=Vanhentuneet haarat branches.stale_branches=Passivoituneet haarat
branches.all=Kaikki haarat branches.all=Kaikki haarat
branches.updated_by=Päivitetty %[1]s %[2]s branches.updated_by=Päivitetty %[1]s %[2]s
branches.change_default_branch=Muuta oletushaaraa branches.change_default_branch=Muuta oletushaaraa
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Uusi tiedosto editor.new_file=Uusi tiedosto
editor.upload_file=Liitä tiedosto editor.upload_file=Liitä tiedosto
@@ -499,7 +504,7 @@ editor.preview_changes=Muutosten esikatselu
editor.cannot_edit_non_text_files=Voit editoida vain tekstitiedostoja editor.cannot_edit_non_text_files=Voit editoida vain tekstitiedostoja
editor.edit_this_file=Muokkaa tätä tiedostoa editor.edit_this_file=Muokkaa tätä tiedostoa
editor.must_be_on_a_branch=Haara täytyy olla valittuna jotta voit tehdä tai ehdottaa muutoksia tähän tiedostoon editor.must_be_on_a_branch=Haara täytyy olla valittuna jotta voit tehdä tai ehdottaa muutoksia tähän tiedostoon
editor.fork_before_edit=Sinun täytyy forkata tämä repo ennenkuin voit muokata tiedostoa editor.fork_before_edit=Sinun täytyy haarautaa tästä tietosäilöstä ennen tiedoston muokkaamista
editor.delete_this_file=Poista tämä tiedosto editor.delete_this_file=Poista tämä tiedosto
editor.must_have_write_access=Sinulla on kirjoitusoikeus tai ehdottaa muutoksia tiedostoon editor.must_have_write_access=Sinulla on kirjoitusoikeus tai ehdottaa muutoksia tiedostoon
editor.file_delete_success=Tiedosto "%s" on poistettu onnistuneesti! editor.file_delete_success=Tiedosto "%s" on poistettu onnistuneesti!
@@ -507,14 +512,14 @@ editor.name_your_file=Nimeä tiedostosi...
editor.filename_help=Lisää hakemisto, kirjoita se ja paina /. Poista hakemisto, siirry kentän alkuun ja paina ASKELPALAUTINTA. editor.filename_help=Lisää hakemisto, kirjoita se ja paina /. Poista hakemisto, siirry kentän alkuun ja paina ASKELPALAUTINTA.
editor.or=tai editor.or=tai
editor.cancel_lower=peruuta editor.cancel_lower=peruuta
editor.commit_changes=Vahvista muutokset editor.commit_changes=Sitouta muutokset
editor.add_tmpl=Lisää '%s/<filename>' editor.add_tmpl=Lisää '%s/<filename>'
editor.add=Lisää "%s" editor.add=Lisää "%s"
editor.update=Päivitä '%s' editor.update=Päivitä '%s'
editor.delete=Poista "%s" editor.delete=Poista "%s"
editor.commit_message_desc=Lisää pidennetty selite (valinnainen)... editor.commit_message_desc=Lisää valinnainen pidennetty kuvaus...
editor.commit_directly_to_this_branch=Committaa suoraan haaraan <strong class="branch-name">%s</strong>. editor.commit_directly_to_this_branch=Sitouta suoraan haaraan <strong class="branch-name">%s</strong>.
editor.create_new_branch=Luo <strong>uusi haara</strong> tälle commitille tai aloita pull-pyyntö. editor.create_new_branch=Luo <strong>uusi kehityshaara</strong> tälle sitoutukselle tai tee vetopyyntö.
editor.new_branch_name_desc=Uuden haaran nimi... editor.new_branch_name_desc=Uuden haaran nimi...
editor.cancel=Peruuta editor.cancel=Peruuta
editor.filename_cannot_be_empty=Tiedostonimi ei voi olla tyhjä. editor.filename_cannot_be_empty=Tiedostonimi ei voi olla tyhjä.
@@ -523,7 +528,7 @@ editor.directory_is_a_file=Annettu nimi '%s' on tiedosto, ei kansio.
editor.file_is_a_symlink=Tiedosto '%s' on symlinkki jota ei voi muokata web-selaimesta. editor.file_is_a_symlink=Tiedosto '%s' on symlinkki jota ei voi muokata web-selaimesta.
editor.filename_is_a_directory=Kansio nimeltä '%s' on jo olemassa tässä repossa. editor.filename_is_a_directory=Kansio nimeltä '%s' on jo olemassa tässä repossa.
editor.file_editing_no_longer_exists=Tiedostoa '%s' jota olet muokkaamassa ei ole enää olemassa tässä repossa. editor.file_editing_no_longer_exists=Tiedostoa '%s' jota olet muokkaamassa ei ole enää olemassa tässä repossa.
editor.file_changed_while_editing=Tiedoston sisältöä on muutettu aloittamisesi jälkeen. <a target="_blank" href="%s">Napsauta tästä</a> nähdäksesi mitä on muutettu tai <strong>paina commit uudelleen</strong> ylikirjoittaaksesi muutokset. editor.file_changed_while_editing=Tiedoston sisältöä on muutettu aloittamisesi jälkeen. <a target="_blank" href="%s">Napsauta tästä</a> nähdäksesi mitä on muutettu tai <strong>paina sitouta uudelleen</strong> kirjoittaaksesi muutosten päälle.
editor.file_already_exists=Tiedosto '%s' on jo olemassa tässä repossa. editor.file_already_exists=Tiedosto '%s' on jo olemassa tässä repossa.
editor.no_changes_to_show=Ei muutoksia näytettäväksi. 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_update_file=Tiedoston '%s' päivitys/luonti epäonnistui virheeseen: %v
@@ -532,9 +537,9 @@ editor.add_subdir=Lisää alikansio...
editor.unable_to_upload_files=Tiedostojen lataus epäonnistui kansioon '%s' virheellä: %v editor.unable_to_upload_files=Tiedostojen lataus epäonnistui kansioon '%s' virheellä: %v
editor.upload_files_to_dir=Lataa tiedostoja kansioon '%s' editor.upload_files_to_dir=Lataa tiedostoja kansioon '%s'
commits.commit_history=Commitin historia commits.commit_history=Sitoutushistoria
commits.commits=Commitit commits.commits=Sitoutukset
commits.search=Etsi commiteista commits.search=Etsi sitoutuksista
commits.find=Etsi commits.find=Etsi
commits.author=Tekijä commits.author=Tekijä
commits.message=Viesti commits.message=Viesti
@@ -542,10 +547,10 @@ commits.date=Päivämäärä
commits.older=Vanhemmat commits.older=Vanhemmat
commits.newer=Uudemmat commits.newer=Uudemmat
issues.new=Uusi ongelma issues.new=Uusi esitys
issues.new.labels=Tunnisteet issues.new.labels=Leimat
issues.new.no_label=Ei tunnistetta issues.new.no_label=Ei leimaa
issues.new.clear_labels=Tyhjennä tunnisteet issues.new.clear_labels=Tyhjennä leimavalinta
issues.new.milestone=Merkkipaalu issues.new.milestone=Merkkipaalu
issues.new.no_milestone=Ei merkkipaalua issues.new.no_milestone=Ei merkkipaalua
issues.new.clear_milestone=Tyhjennä merkkipaalu issues.new.clear_milestone=Tyhjennä merkkipaalu
@@ -554,25 +559,25 @@ issues.new.closed_milestone=Suljetut merkkipaalut
issues.new.assignee=Osoitettu issues.new.assignee=Osoitettu
issues.new.clear_assignee=Tyhjennä osoitettu issues.new.clear_assignee=Tyhjennä osoitettu
issues.new.no_assignee=Ei osoitettua issues.new.no_assignee=Ei osoitettua
issues.create=Ilmoita ongelma issues.create=Luo esitys
issues.new_label=Uusi tunniste issues.new_label=Uusi leima
issues.new_label_placeholder=Tunnisteen nimi... issues.new_label_placeholder=Leiman nimi...
issues.create_label=Luo tunniste issues.create_label=Luo leima
issues.label_templates.title=Lataa ennaltamääritelty tarrajoukko issues.label_templates.title=Lataa ennaltamääritelty leimajoukko
issues.label_templates.info=Tarroja ei ole. Voit luoda uuden napsauttamalla "Uusi tarra" tai käyttää ennaltamääriteltyä tarrajoukkoa alta. issues.label_templates.info=Täällä ei ole vielä leimoja. Voit luoda uuden napsauttamalla "Uusi leima" tai käyttää ennaltamääriteltyä leimajoukkoa alta.
issues.label_templates.helper=Valitse tarrajoukko issues.label_templates.helper=Valitse leimajoukko
issues.label_templates.use=Käytä tätä tarrajoukkoa issues.label_templates.use=Käytä tätä leimajoukkoa
issues.label_templates.fail_to_load_file=Tarramallin lataus epäonnistui tiedostosta '%s': %v issues.label_templates.fail_to_load_file=Leimamallin lataus epäonnistui tiedostosta '%s': %v
issues.open_tab=%d avoinna issues.open_tab=%d avoinna
issues.close_tab=%d suljettu issues.close_tab=%d suljettu
issues.filter_label=Tunniste issues.filter_label=Leima
issues.filter_label_no_select=Ei valittua tunnistetta issues.filter_label_no_select=Ei leimaa valittuna
issues.filter_milestone=Merkkipaalu issues.filter_milestone=Merkkipaalu
issues.filter_milestone_no_select=Ei valittua merkkipaalua issues.filter_milestone_no_select=Ei valittua merkkipaalua
issues.filter_assignee=Osoitettu issues.filter_assignee=Osoitettu
issues.filter_assginee_no_select=Ei valittua osoitettua issues.filter_assginee_no_select=Ei valittua osoitettua
issues.filter_type=Tyyppi issues.filter_type=Tyyppi
issues.filter_type.all_issues=Kaikki ongelmat issues.filter_type.all_issues=Kaikki esitykset
issues.filter_type.assigned_to_you=Osoitettu sinulle issues.filter_type.assigned_to_you=Osoitettu sinulle
issues.filter_type.created_by_you=Ilmoittamasi issues.filter_type.created_by_you=Ilmoittamasi
issues.filter_type.mentioning_you=Jotka mainitsee sinut issues.filter_type.mentioning_you=Jotka mainitsee sinut
@@ -600,7 +605,7 @@ issues.reopen_comment_issue=Kommentoi ja avaa uudelleen
issues.create_comment=Kommentoi issues.create_comment=Kommentoi
issues.closed_at=`suljettu <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`suljettu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`avattu uudelleen <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`avattu uudelleen <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`viittasi tähän ongelmaan commitissa <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`viittasi tähän esitykseen sitoutuksesta <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.poster=Tekijä issues.poster=Tekijä
issues.collaborator=Yhteistyökumppani issues.collaborator=Yhteistyökumppani
issues.owner=Omistaja issues.owner=Omistaja
@@ -608,51 +613,51 @@ issues.sign_in_require_desc=<a href="%s">Kirjaudu sisään</a> osallistuaksesi t
issues.edit=Muokkaa issues.edit=Muokkaa
issues.cancel=Peruuta issues.cancel=Peruuta
issues.save=Tallenna issues.save=Tallenna
issues.label_title=Tunnisteen nimi issues.label_title=Leiman nimi
issues.label_color=Tunnisteen väri issues.label_color=Leiman väri
issues.label_count=%d tunnistetta issues.label_count=%d leimaa
issues.label_open_issues=%d avointa ongelmaa issues.label_open_issues=%d avointa esitystä
issues.label_edit=Muokkaa issues.label_edit=Muokkaa
issues.label_delete=Poista issues.label_delete=Poista
issues.label_modify=Tunnisteen muokkaus issues.label_modify=Leiman muokkaus
issues.label_deletion=Tunnisteen poistaminen issues.label_deletion=Leiman poistaminen
issues.label_deletion_desc=Tämän tunnisteen poistaminen poistaa sen tiedot kaikista siihen liittyvistä ongelmista. Haluatko jatkaa? issues.label_deletion_desc=Tämän leiman poistaminen kadottaa sen kaikista esityksistä. Haluatko jatkaa?
issues.label_deletion_success=Tunniste on poistettu onnistuneesti! issues.label_deletion_success=Leima on poistettu onnistuneesti!
issues.num_participants=%d osallistujaa issues.num_participants=%d osallistujaa
issues.attachment.open_tab=`Napsauta nähdäksesi "%s" uudessa välilehdessä` issues.attachment.open_tab=`Napsauta nähdäksesi "%s" uudessa välilehdessä`
issues.attachment.download=`Napsauta ladataksesi "%s"` issues.attachment.download=`Napsauta ladataksesi "%s"`
pulls.new=Uusi pull pyyntö pulls.new=Uusi vetopyyntö
pulls.compare_changes=Vertaa muutoksia pulls.compare_changes=Vertaa muutoksia
pulls.compare_changes_desc=Vertaa kahta branchia ja tee pull-pyyntö muutoksista. pulls.compare_changes_desc=Vertaa kahta haaraa ja tee vetopyyntö muutoksista.
pulls.compare_base=base pulls.compare_base=pohja
pulls.compare_compare=vertaa pulls.compare_compare=vertaa
pulls.filter_branch=Suodata haara pulls.filter_branch=Suodata haara
pulls.no_results=Tuloksia ei löytynyt. 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_to_compare=Ei ole mitään verrattavaa koska base ja head branchit ovat tasoissa.
pulls.nothing_merge_base=Ei ole mitään verrattavaa, koska kahdella haaralla on täysin erilainen historia. pulls.nothing_merge_base=Ei ole mitään verrattavaa, koska kahdella haaralla on täysin erilainen historia.
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.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.create=Luo vetopyyntö
pulls.title_desc=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code> pulls.title_desc=haluaa liittää %[1]d sitoutusta lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code>
pulls.merged_title_desc=yhdistetty %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code> %[4]s pulls.merged_title_desc=liitetty %[1]d sitoutusta lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code> %[4]s
pulls.tab_conversation=Keskustelu pulls.tab_conversation=Keskustelu
pulls.tab_commits=Commitit pulls.tab_commits=Sitoutukset
pulls.tab_files=Muuttuneet tiedostot pulls.tab_files=Muutetut tiedostot
pulls.reopen_to_merge=Ole hyvä ja avaa uudelleen tämä pull-pyyntö suorittaaksesi yhdistämisen. pulls.reopen_to_merge=Ole hyvä ja avaa tämä vetopyyntö uudelleen liittääksesi.
pulls.merged=Yhdistetty pulls.merged=Liitetty
pulls.has_merged=Tämä pull-pyyntö on yhdistetty onnistuneesti! pulls.has_merged=Tämä vetopyyntö on liitetty onnistuneesti!
pulls.data_broken=Tämän pull-pyynnön tiedot ovat rikkoutuneet koska fork tiedot on poistettu. pulls.data_broken=Tämän vetopyynnön tiedot ovat hajonneet poistettujen haarautustietojen vuoksi.
pulls.is_checking=Konfliktin tarkistus on yhä meneillään, ole hyvä ja päivitä sivu hetken kuluttua. pulls.is_checking=Konfliktin tarkistus on yhä meneillään, ole hyvä ja päivitä sivu hetken kuluttua.
pulls.can_auto_merge_desc=Tämä pull-pyyntö voidaan yhdistää automaattisesti. pulls.can_auto_merge_desc=Tämä vetopyyntö voidaan yhdistää automaattisesti.
pulls.cannot_auto_merge_desc=Tätä pull-pyyntöä ei voi yhdistää automaattisesti koska on konflikteja. pulls.cannot_auto_merge_desc=Tätä vetopyyntöä ei voi liittää automaattisesti konfliktien takia.
pulls.cannot_auto_merge_helper=Ole hyvä ja yhdistä manuaalisesti konfliktien ratkaisemiseksi. pulls.cannot_auto_merge_helper=Ole hyvä ja liitä manuaalisesti konfliktien ratkaisemiseksi.
pulls.create_merge_commit=Luo yhdistämistoiminto pulls.create_merge_commit=Luo liitossitoutus
pulls.rebase_before_merging=Rebase ennen yhdistämistä pulls.rebase_before_merging=Sulauta ennen yhdistämistä
pulls.commit_description=Toimituksen kuvaus pulls.commit_description=Sitoutuksen kuvaus
pulls.merge_pull_request=Yhdistä Pull-pyyntö pulls.merge_pull_request=Liitä vetopyyntö
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.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 pulls.delete_branch=Poista haara
pulls.delete_branch_has_new_commits=Haaraa ei voida poistaa koska siinä on uusia committeja mergen jälkeen. pulls.delete_branch_has_new_commits=Kehityshaaraa ei voida poistaa, koska siihen on tullut uusia sitoutuksia liitoksen jälkeen.
milestones.new=Uusi merkkipaalu milestones.new=Uusi merkkipaalu
milestones.open_tab=%d avoinna milestones.open_tab=%d avoinna
@@ -685,7 +690,7 @@ wiki.create_first_page=Luo ensimmäinen sivu
wiki.page=Sivu wiki.page=Sivu
wiki.filter_page=Suodatin sivu wiki.filter_page=Suodatin sivu
wiki.new_page=Luo uusi sivu wiki.new_page=Luo uusi sivu
wiki.default_commit_message=Kirjoita huomautus tähän päivitykseen (valinnainen). wiki.default_commit_message=Kirjoita viesti tästä päivityksestä (valinnainen).
wiki.save_page=Tallenna sivu wiki.save_page=Tallenna sivu
wiki.last_commit_info=%s muokkasi tätä sivua %s wiki.last_commit_info=%s muokkasi tätä sivua %s
wiki.edit_page_button=Muokkaa wiki.edit_page_button=Muokkaa
@@ -706,21 +711,21 @@ settings.collaboration.undefined=Määrittelemätön
settings.branches=Haarat settings.branches=Haarat
settings.branches_bare=Et voi hallita haaroja tyhjässä repossa. Lisää jotain sisältöä ensin. settings.branches_bare=Et voi hallita haaroja tyhjässä repossa. Lisää jotain sisältöä ensin.
settings.default_branch=Oletushaara settings.default_branch=Oletushaara
settings.default_branch_desc=Oletushaaraa käytetään "pohjahaarana" commiteille, pull-pyynnöille ja sivustolla toteutetuille muokkauksille. settings.default_branch_desc=Oletushaaraa käytetään "pohjahaarana" sitoutuksille, vetopyynnöille ja sivustolla toteutetuille muokkauksille.
settings.update=Päivitä settings.update=Päivitä
settings.update_default_branch_unsupported=Palvelimella oleva Git-versio ei tue oletushaaran vaihtamista. settings.update_default_branch_unsupported=Palvelimella oleva Git-versio ei tue oletushaaran vaihtamista.
settings.update_default_branch_success=Repositoryn oletushaara päivitetty! settings.update_default_branch_success=Repositoryn oletushaara päivitetty!
settings.protected_branches=Suojatut haarat settings.protected_branches=Suojatut haarat
settings.protected_branches_desc=Suojaa haaroja pakotetulta push-operaatiolta, vahinkopoistamisilta ja sallitun listan committereilta. settings.protected_branches_desc=Suojaa kehityshaaroja pakkotyönnöiltä, vahinkopoistamisilta ja sallituilta sitouttajilta.
settings.choose_a_branch=Valitse haara... settings.choose_a_branch=Valitse haara...
settings.branch_protection=Haaran suojaus settings.branch_protection=Haaran suojaus
settings.branch_protection_desc=Valitse suojausasetus haaralle <b>%s</b>. settings.branch_protection_desc=Valitse suojausasetus haaralle <b>%s</b>.
settings.protect_this_branch=Suojaa tämä haara settings.protect_this_branch=Suojaa tämä haara
settings.protect_this_branch_desc=Kiellä pakoteut push-operaatiot ja estä poistaminen. settings.protect_this_branch_desc=Kiellä pakoteut push-operaatiot ja estä poistaminen.
settings.protect_require_pull_request=Vaadi pull-pyyntö suoran push-operaation sijaan settings.protect_require_pull_request=Vaadi pull-pyyntö suoran push-operaation sijaan
settings.protect_require_pull_request_desc=Estä suorat push-operaatiot tähän haaraan. Commitit täytyy pushata ei-suojattuun haaraan ja yhdistää tähän haaraan pull-pyynnön kautta. settings.protect_require_pull_request_desc=Ota tämä asetus käyttöön estääksesi suorat työnnöt tähän kehityshaaraan. Sitoutukset täytyy työntää ei-suojattuun kehityshaaraan ja liittää tähän kehityshaaraan vetopyynnön kautta.
settings.protect_whitelist_committers=Lista sallituista, jotka voivat pushata tähän haaraan settings.protect_whitelist_committers=Lista sallituista, jotka voivat työntää tähän kehityshaaraan
settings.protect_whitelist_committers_desc=Lisää käyttäjiä tai tiimejä sallittuihin jotka saavat pushata tähän haaraan. Sallitut käyttäjät voivat ohittaa vaatimuksen pull requestien tekemisestä. settings.protect_whitelist_committers_desc=Lisää käyttäjiä tai tiimejä sallittuihin jotka saavat työntää tähän kehityshaaraan. Sallitut käyttäjät voivat ohittaa vaatimuksen vetopyyntöjen tekemisestä.
settings.protect_whitelist_users=Käyttäjät jotka voivat pushata tähän haaraan settings.protect_whitelist_users=Käyttäjät jotka voivat pushata tähän haaraan
settings.protect_whitelist_search_users=Etsi käyttäjiä settings.protect_whitelist_search_users=Etsi käyttäjiä
settings.protect_whitelist_teams=Tiimit joiden jäsenet voivat pushata tähän haaraan settings.protect_whitelist_teams=Tiimit joiden jäsenet voivat pushata tähän haaraan
@@ -742,22 +747,22 @@ settings.allow_public_wiki_desc=Salli julkinen pääsy wikiin kun repo on yksity
settings.use_external_wiki=Käytä ulkoista wikiä settings.use_external_wiki=Käytä ulkoista wikiä
settings.external_wiki_url=Ulkoisen wikin osoite settings.external_wiki_url=Ulkoisen wikin osoite
settings.external_wiki_url_desc=Vierailijat uudelleenohjataan URL-osoitteeseen kun he napsauttavat välilehteä. settings.external_wiki_url_desc=Vierailijat uudelleenohjataan URL-osoitteeseen kun he napsauttavat välilehteä.
settings.issues_desc=Ota virheenseuranta käyttöön settings.issues_desc=Ota esitystenseuranta käyttöön
settings.use_internal_issue_tracker=Käytä sisäänrakennettua kevyttä virheenseurantaa settings.use_internal_issue_tracker=Käytä kevyttä, sisäänrakennettua esitystenseurantaa
settings.allow_public_issues_desc=Salli julkinen pääsy ongelmiin kun repo on yksityinen settings.allow_public_issues_desc=Salli julkinen pääsy esityksiin tietosäilön ollessa yksityinen
settings.use_external_issue_tracker=Käytä ulkoista vikaseurantaa settings.use_external_issue_tracker=Käytä ulkoista esitystenseurantaa
settings.external_tracker_url=Ulkoisen virheenseurannan URL settings.external_tracker_url=Ulkoisen virheenseurannan URL
settings.external_tracker_url_desc=Vierailijat ohjataan URL-osoitteeseen kun he napsauttavat välilehteä. settings.external_tracker_url_desc=Vierailijat ohjataan URL-osoitteeseen kun he napsauttavat välilehteä.
settings.tracker_url_format=Ulkoisen vikaseurannan osoitteen muoto settings.tracker_url_format=Ulkoisen vikaseurannan osoitteen muoto
settings.tracker_issue_style=Ulkoisen virheenseurannan nimeämistyyli: settings.tracker_issue_style=Ulkoisen esitystenseurannan nimeämistyyli:
settings.tracker_issue_style.numeric=Numeerinen settings.tracker_issue_style.numeric=Numeerinen
settings.tracker_issue_style.alphanumeric=Aakkosnumeerinen 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.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 hyväksyäksesi vastaanotettua koodia repojen ja haarojen välillä settings.pulls_desc=Ota käyttöön pull-pyynnöt hyväksyäksesi vastaanotettua koodia repojen ja haarojen välillä
settings.pulls.ignore_whitespace=Ohita tyhjämerkkien muutokset settings.pulls.ignore_whitespace=Ohita tyhjämerkkien muutokset
settings.pulls.allow_rebase_merge=Salli rebase yhdistäessä committeja settings.pulls.allow_rebase_merge=Salli sitoutusten sulauttaminen
settings.danger_zone=Vaaravyöhyke settings.danger_zone=Vaaravyöhyke
settings.cannot_fork_to_same_owner=Et voi forkata repoa alkuperäiselle omistajalleen. settings.cannot_fork_to_same_owner=Et voi haarauttaa tietosäilöä alkuperäiselle omistajalle.
settings.new_owner_has_same_repo=Uudella omistajalla on jo samanniminen repo. Ole hyvä ja valitse toinen nimi. settings.new_owner_has_same_repo=Uudella omistajalla on jo samanniminen repo. Ole hyvä ja valitse toinen nimi.
settings.convert=Muunna tavalliseksi repoksi settings.convert=Muunna tavalliseksi repoksi
settings.convert_desc=Voit muuntaa tämän peilin tavalliseksi repoksi. Tätä ei voi peruuttaa. settings.convert_desc=Voit muuntaa tämän peilin tavalliseksi repoksi. Tätä ei voi peruuttaa.
@@ -777,7 +782,7 @@ 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_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_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=- Tämä toiminto poistaa pysyvästi kaikki tästä reposta, mukaanlukien Git tiedot, ongelmat, kommentit ja yhteistyökumppanien pääsyoikeudet.
settings.delete_notices_fork_1=- Kaikki haarat muuttuvat itsenäisiksi poiston jälkeen. settings.delete_notices_fork_1=- Kaikki haarautukset muuttuvat itsenäisiksi poiston jälkeen.
settings.deletion_success=Repo on poistettu onnistuneesti! settings.deletion_success=Repo on poistettu onnistuneesti!
settings.update_settings_success=Repon asetukset on päivitetty onnistuneesti. settings.update_settings_success=Repon asetukset on päivitetty onnistuneesti.
settings.transfer_owner=Uusi omistaja settings.transfer_owner=Uusi omistaja
@@ -810,7 +815,7 @@ settings.webhook.headers=Otsikot
settings.webhook.payload=Payload settings.webhook.payload=Payload
settings.webhook.body=Body settings.webhook.body=Body
settings.webhook.err_cannot_parse_payload_url=Ei voida jäsentää hyötykuorman URL: %v settings.webhook.err_cannot_parse_payload_url=Ei voida jäsentää hyötykuorman URL: %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=Tietokuorman URL-osoite ratkaistiin paikallisverkko-osoitteeksi, joka on erityisesti estetty.
settings.githooks_desc=Git koukkujen voimanlähteenä on Git itse, voit muokata tuettujen koukkujen tiedostoja allaolevassa luettelossa suorittaaksesi mukautettuja toimintoja. settings.githooks_desc=Git koukkujen voimanlähteenä on Git itse, voit muokata tuettujen koukkujen tiedostoja allaolevassa luettelossa suorittaaksesi mukautettuja toimintoja.
settings.githook_edit_desc=Jos koukku ei ole käytössä, esitellään esimerkkisisältö. Sisällön jättäminen tyhjäksi arvoksi poistaa tämän koukun käytöstä. settings.githook_edit_desc=Jos koukku ei ole käytössä, esitellään esimerkkisisältö. Sisällön jättäminen tyhjäksi arvoksi poistaa tämän koukun käytöstä.
settings.githook_name=Koukun nimi settings.githook_name=Koukun nimi
@@ -825,21 +830,21 @@ settings.slack_username=Käyttäjätunnus
settings.slack_icon_url=Kuvakkeen URL settings.slack_icon_url=Kuvakkeen URL
settings.slack_color=Väri settings.slack_color=Väri
settings.event_desc=Milloin pitäisi tämän webkoukun laueta? settings.event_desc=Milloin pitäisi tämän webkoukun laueta?
settings.event_push_only=Vain <code>push</code>-tilanteessa. settings.event_push_only=Vain <code>push</code>-komennolla.
settings.event_send_everything=Tarvitsen <strong>kaiken</strong>. settings.event_send_everything=Tarvitsen <strong>kaiken</strong>.
settings.event_choose=Haluan valita, mitä tarvitsen. settings.event_choose=Haluan valita, mitä tarvitsen.
settings.event_create=Luo settings.event_create=Luo
settings.event_create_desc=Branch, tai tagi luotu settings.event_create_desc=Kehityshaara tai tunniste luotu
settings.event_delete=Poista settings.event_delete=Poista
settings.event_delete_desc=Branch, tai tagi luotu settings.event_delete_desc=Kehityshaara tai tunniste poistettu
settings.event_fork=Fork settings.event_fork=Haarautus
settings.event_fork_desc=Repo forkattu settings.event_fork_desc=Tietosäilö haarautettu
settings.event_push=Push settings.event_push=Työntö
settings.event_push_desc=Git push repoon settings.event_push_desc=Git työntö tietosäilöön
settings.event_issues=Ongelmat settings.event_issues=Esitykset
settings.event_issues_desc=Ongelma avattu, suljettu, uudelleenavattu, muokattu, annettu, anto vedottu, tarra päivitetty, tarra poistettu, merkkipaalutettu, tai poistettu merkkipaalu. settings.event_issues_desc=Esitys avattu, suljettu, uudelleenavattu, muokattu, annettu, anto vedottu, leima päivitetty, leima poistettu, merkkipaalutettu, tai merkkipaalutus vedottu.
settings.event_pull_request=Pull-pyyntö 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_pull_request_desc=Vetopyyntö avattu, suljettu, uudelleenavattu, muokattu, annettu, anto vedottu, leima päivitetty, leima poistettu, merkkipaalutettu, merkkipaalutus vedottu, tai synkronoitu.
settings.event_issue_comment=Ongelman kommentti settings.event_issue_comment=Ongelman kommentti
settings.event_issue_comment_desc=Ongelman kommentti luotu, muokattu, tai poistettu. settings.event_issue_comment_desc=Ongelman kommentti luotu, muokattu, tai poistettu.
settings.event_release=Julkaisu settings.event_release=Julkaisu
@@ -876,7 +881,7 @@ settings.description_length=Käytettävissä olevat merkit
diff.browse_source=Selaa lähdekoodia diff.browse_source=Selaa lähdekoodia
diff.parent=vanhempi diff.parent=vanhempi
diff.commit=commit diff.commit=sitoutus
diff.data_not_available=Diff tiedot eivät ole saatavilla. diff.data_not_available=Diff tiedot eivät ole saatavilla.
diff.show_diff_stats=Näytä diff tilastot diff.show_diff_stats=Näytä diff tilastot
diff.show_split_view=Jaettu näkymä diff.show_split_view=Jaettu näkymä
@@ -892,13 +897,13 @@ release.new_release=Uusi julkaisu
release.draft=Työversio release.draft=Työversio
release.prerelease=Esiversio release.prerelease=Esiversio
release.edit=muokkaa release.edit=muokkaa
release.ahead=<strong>%d</strong> committia kohteeseen %s version jälkeen release.ahead=<strong>%d</strong> sitoutusta kehityshaaraan %s tämän julkaisun jälkeen
release.source_code=Lähdekoodi release.source_code=Lähdekoodi
release.new_subheader=Julkaise versioita iteroidaksesi tuotetta. release.new_subheader=Julkaise versioita iteroidaksesi tuotetta.
release.edit_subheader=Yksityskohtainen muutosloki auttaa käyttäjiä ymmärtämään mitä on parannettu. release.edit_subheader=Yksityskohtainen muutosloki auttaa käyttäjiä ymmärtämään mitä on parannettu.
release.tag_name=Taginimi release.tag_name=Tunnisteen nimi
release.target=Kohde release.target=Kohde
release.tag_helper=Valitse olemassaoleva tagi, tai luo uusi tagi julkaistaessa. release.tag_helper=Valitse olemassa oleva tunniste, tai luo uusi tunniste julkaistaessa.
release.title=Otsikko release.title=Otsikko
release.content=Sisältö release.content=Sisältö
release.write=Kirjoita release.write=Kirjoita
@@ -912,10 +917,10 @@ release.save_draft=Tallenna luonnos
release.edit_release=Muokkaa versiota release.edit_release=Muokkaa versiota
release.delete_release=Poista tämä versio release.delete_release=Poista tämä versio
release.deletion=Version poisto release.deletion=Version poisto
release.deletion_desc=Tämän julkaisun poistaminen poistaa vastaavan Git-tagin. Haluatko jatkaa? release.deletion_desc=Tämän julkaisun poistaminen poistaa vastaavan Git-tunnisteen. Haluatko jatkaa?
release.deletion_success=Versio on poistettu onnistuneesti! release.deletion_success=Versio on poistettu onnistuneesti!
release.tag_name_already_exist=Versio tällä taginimellä on jo olemassa. release.tag_name_already_exist=Julkaisu tällä tunniste nimellä on jo olemassa.
release.tag_name_invalid=Tagin nimi ei kelpaa release.tag_name_invalid=Tunnisteen nimi ei kelpaa.
release.downloads=Lataukset release.downloads=Lataukset
[org] [org]
@@ -1015,7 +1020,7 @@ dashboard.app_ver=Sovellus versio
dashboard.git_version=Git-versio dashboard.git_version=Git-versio
dashboard.go_version=Go-versio dashboard.go_version=Go-versio
dashboard.build_time=Rakentamisaika dashboard.build_time=Rakentamisaika
dashboard.build_commit=Rakentamis committi dashboard.build_commit=Koontisitoutus
dashboard.statistic=Statistiikka dashboard.statistic=Statistiikka
dashboard.operations=Toiminnot dashboard.operations=Toiminnot
dashboard.system_status=Järjestelmänvalvonnan tila dashboard.system_status=Järjestelmänvalvonnan tila
@@ -1206,7 +1211,8 @@ config.ssh.start_builtin_server=Käynnistä sisäänrakennettu palvelin
config.ssh.listen_host=Kuuntele porttia config.ssh.listen_host=Kuuntele porttia
config.ssh.listen_port=Kuuntele porttia config.ssh.listen_port=Kuuntele porttia
config.ssh.server_ciphers=Palvelimen cipherit config.ssh.server_ciphers=Palvelimen cipherit
config.ssh.server_macs=Server MACs config.ssh.server_macs=Serverin MAC-osoite
config.ssh.server_algorithms=Palvelinalgoritmit
config.repo_config=Repositoryn asetukset config.repo_config=Repositoryn asetukset
config.repo.root_path=Juuripolku config.repo.root_path=Juuripolku
@@ -1218,7 +1224,7 @@ config.repo.preferred_licenses=Ensisijaiset lisenssit
config.repo.disable_http_git=Poista käytöstä HTTP Git config.repo.disable_http_git=Poista käytöstä HTTP Git
config.repo.enable_local_path_migration=Ota käyttöön paikallisen polun migraatio config.repo.enable_local_path_migration=Ota käyttöön paikallisen polun migraatio
config.repo.enable_raw_file_render_mode=Ota käyttöön raakatiedoston renderöinti tila config.repo.enable_raw_file_render_mode=Ota käyttöön raakatiedoston renderöinti tila
config.repo.commits_fetch_concurrency=Committien noudon samanaikaisuus config.repo.commits_fetch_concurrency=Sitoutus noudon samanaikaisuus
config.repo.editor.line_wrap_extensions=Muokkaimen rivityksen laajennukset config.repo.editor.line_wrap_extensions=Muokkaimen rivityksen laajennukset
config.repo.editor.previewable_file_modes=Muokkaimen tiedostomuodot joita voi esikatsella config.repo.editor.previewable_file_modes=Muokkaimen tiedostomuodot joita voi esikatsella
config.repo.upload.enabled=Tiedoston liittäminen käytössä config.repo.upload.enabled=Tiedoston liittäminen käytössä
@@ -1231,8 +1237,8 @@ config.db_config=Tietokannan asetukset
config.db.type=Tyyppi config.db.type=Tyyppi
config.db.host=Isäntä config.db.host=Isäntä
config.db.name=Nimi config.db.name=Nimi
config.db.schema=Schema config.db.schema=Skeema
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(koskee vain "postgresia")
config.db.user=Käyttäjä config.db.user=Käyttäjä
config.db.ssl_mode=SSL-tila config.db.ssl_mode=SSL-tila
config.db.ssl_mode_helper=(vain "postgres") config.db.ssl_mode_helper=(vain "postgres")
@@ -1249,7 +1255,7 @@ config.security.cookie_secure=Ota käyttöön turvallinen eväste
config.security.reverse_proxy_auth_user=Käänteinen välityspalvelimen todennusotsikko config.security.reverse_proxy_auth_user=Käänteinen välityspalvelimen todennusotsikko
config.security.enable_login_status_cookie=Ota käyttöön kirjautumisen tilaeväste config.security.enable_login_status_cookie=Ota käyttöön kirjautumisen tilaeväste
config.security.login_status_cookie_name=Kirjautumisen tila eväste config.security.login_status_cookie_name=Kirjautumisen tila eväste
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Paikallisverkkopääsylista
config.email_config=Sähköpostiasetukset config.email_config=Sähköpostiasetukset
config.email.enabled=Käytössä config.email.enabled=Käytössä
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Testisähköpostin lähettäminen vastaanottajalle
config.email.test_mail_sent=Testi sähköposti on lähetetty vastaanottajalle '%s'. config.email.test_mail_sent=Testi sähköposti on lähetetty vastaanottajalle '%s'.
config.auth_config=Todennuksen asetukset config.auth_config=Todennuksen asetukset
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Aktiivinen koodi elämät ennen vanhenemista config.auth.activate_code_lives=Aktiivinen koodi elämät ennen vanhenemista
config.auth.reset_password_code_lives=Nollaa salasana koodi elämät config.auth.reset_password_code_lives=Nollaa salasana koodi elämät
config.auth.require_email_confirm=Vaadi sähköpostivahvistus config.auth.require_email_confirm=Vaadi sähköpostivahvistus
@@ -1377,23 +1384,23 @@ notices.delete_success=Järjestelmän ilmoitukset on poistettu onnistuneesti.
[action] [action]
create_repo=luotu repo <a href="%s">%s</a> create_repo=luotu repo <a href="%s">%s</a>
rename_repo=uudelleennimetty repo <code>%[1]s</code> nimelle <a href="%[2]s">%[3]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> commit_repo=työnnetty kehityshaara <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 compare_commits=Näytä vertailu näille %d sitoutuksille
transfer_repo=siirretty repo <code>%s</code> kohteeseen <a href="%s">%s</a> transfer_repo=siirretty repo <code>%s</code> kohteeseen <a href="%s">%s</a>
create_issue=`avasi ongelman <a href="%s/issues/%s">%s#%[2]s</a>` create_issue=`loi esityksen <a href="%s/issues/%s">%s#%[2]s</a>`
close_issue=`sulki ongelman <a href="%s/issues/%s">%s#%[2]s</a>` close_issue=`käsitteli esityksen <a href="%s/issues/%s">%s#%[2]s</a>`
reopen_issue=`avasi uudelleen ongelman <a href="%s/issues/%s">%s#%[2]s</a>` reopen_issue=`uudelleenavasi esityksen <a href="%s/issues/%s">%s#%[2]s</a>`
comment_issue=`kommentoi ongelmaa <a href="%s/issues/%s">%s#%[2]s</a>` comment_issue=`kommentoi esitystä <a href="%s/issues/%s">%s#%[2]s</a>`
create_pull_request=`luotu pull-pyyntö <a href="%s/pulls/%s">%s#%[2]s</a>` create_pull_request=`luotu pull-pyyntö <a href="%s/pulls/%s">%s#%[2]s</a>`
close_pull_request=`sulki pull-pyynnön <a href="%s/pulls/%s">%s#%[2]s</a>` close_pull_request=`sulki pull-pyynnön <a href="%s/pulls/%s">%s#%[2]s</a>`
reopen_pull_request=`avasi uudelleen pull-pyynnön <a href="%s/pulls/%s">%s#%[2]s</a>` reopen_pull_request=`avasi uudelleen pull-pyynnön <a href="%s/pulls/%s">%s#%[2]s</a>`
merge_pull_request=`yhdistetty pull-pyyntö <a href="%s/pulls/%s">%s#%[2]s</a>` merge_pull_request=`yhdistetty vetopyyntö <a href="%s/pulls/%s">%s#%[2]s</a>`
create_branch=luotu uusi haara <a href="%[1]s/src/%[2]s">%[3]s</a> kohteeseen <a href="%[1]s">%[4]s</a> create_branch=luotu uusi haara <a href="%[1]s/src/%[2]s">%[3]s</a> kohteeseen <a href="%[1]s">%[4]s</a>
delete_branch=poistettu haara <code>%[2]s</code> kohteesta <a href="%[1]s">%[3]s</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> push_tag=työnnettiin tunniste <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> delete_tag=poistettiin tunniste <code>%[2]s</code> kohteesta <a href="%[1]s">%[3]s</a>
fork_repo=forkattu repo kohteeseen <a href="%s"> %s</a> fork_repo=haarautettiin tietosäilö kohteeseen <a href="%s"> %s</a>
mirror_sync_push=synkattu commitit kohteeseen <a href="%[1]s/src/%[2]s">%[3]s</a> paikassa <a href="%[1]s">%[4]s</a> peilistä mirror_sync_push=synkronoitiin sitoutukset kohteeseen <a href="%[1]s/src/%[2]s">%[3]s</a> paikassa <a href="%[1]s">%[4]s</a> peilauksesta
mirror_sync_create=synkattu uusi viite <a href="%s/src/%s">%[2]s</a> kohteeseen <a href="%[1]s">%[3]s</a> peilistä mirror_sync_create=synkattu uusi viite <a href="%s/src/%s">%[2]s</a> kohteeseen <a href="%[1]s">%[3]s</a> peilistä
mirror_sync_delete=synkattu ja poistettu viite <code>%[2]s</code> paikassa <a href="%[1]s">%[3]s</a> peilistä mirror_sync_delete=synkattu ja poistettu viite <code>%[2]s</code> paikassa <a href="%[1]s">%[3]s</a> peilistä

View File

@@ -1,4 +1,4 @@
app_desc=Un service Git auto-hébergé sans prise de tête app_desc=Un service Git auto-hébergé et indolore.
home=Accueil home=Accueil
dashboard=Tableau de bord dashboard=Tableau de bord
@@ -28,7 +28,7 @@ mirror=Miroir
new_repo=Nouveau dépôt new_repo=Nouveau dépôt
new_migrate=Nouvelle migration new_migrate=Nouvelle migration
new_mirror=Nouveau miroir new_mirror=Nouveau miroir
new_fork=Nouveau fork new_fork=Nouveau dépôt séparé
new_org=Nouvelle organisation new_org=Nouvelle organisation
manage_org=Gérer les organisations manage_org=Gérer les organisations
admin_panel=Administration admin_panel=Administration
@@ -38,7 +38,7 @@ your_profile=Votre profil
your_settings=Vos paramètres your_settings=Vos paramètres
activities=Activités activities=Activités
pull_requests=Pull Requests pull_requests=Demandes d'admission
issues=Tickets issues=Tickets
cancel=Annuler cancel=Annuler
@@ -50,8 +50,8 @@ internal_server_error=Erreur interne du serveur
[install] [install]
install=Installation install=Installation
title=Instructions pour la première exécution title=Instructions pour la première exécution
docker_helper=Si vous exécutez Gogs grâce à Docker, merci de lire la <a target="_blank" href="%s">procédure</a> attentivement avant de modifier quoi que ce soit sur cette page ! docker_helper=Si vous exécutez Gogs au sein de Docker, lisez la <a target="_blank" href="%s">procédure</a> attentivement avant toute altération de cette page !
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs exige MySQL, PostgreSQL, SQLite3 or TiDB (via le protocole MySQL)
db_title=Paramètres de la base de données db_title=Paramètres de la base de données
db_type=Type de base de données db_type=Type de base de données
host=Hôte host=Hôte
@@ -59,7 +59,7 @@ user=Utilisateur
password=Mot de passe password=Mot de passe
db_name=Nom de base de données db_name=Nom de base de données
db_schema=Schéma db_schema=Schéma
db_helper=Veuillez utiliser le moteur INNODB avec le jeu de caractères utf8_general_ci pour MySQL. db_helper=Employez le moteur INNODB pour MySQL avec l'encodage utf8_general_ci.
ssl_mode=Mode SSL ssl_mode=Mode SSL
path=Emplacement path=Emplacement
sqlite_helper=Le chemin du fichier de base de données SQLite3. <br>Utilisez un chemin absolu lorsque vous démarrez en tant que service. sqlite_helper=Le chemin du fichier de base de données SQLite3. <br>Utilisez un chemin absolu lorsque vous démarrez en tant que service.
@@ -67,13 +67,13 @@ err_empty_db_path=Le chemin de la base de données SQLite3 ne peut être vide.
no_admin_and_disable_registration=Vous ne pouvez pas désactiver l'enregistrement sans créer un compte administrateur. no_admin_and_disable_registration=Vous ne pouvez pas désactiver l'enregistrement sans créer un compte administrateur.
err_empty_admin_password=Le mot de passe du compte administrateur ne peut être vide. err_empty_admin_password=Le mot de passe du compte administrateur ne peut être vide.
general_title=Paramètres généraux de Gogs general_title=Réglages Généraux d'Application
app_name=Nom de l'application app_name=Nom de l'application
app_name_helper=Inscrivez fièrement le nom de votre organisation ici ! app_name_helper=Inscrivez fièrement le nom de votre organisation ici !
repo_path=Emplacement racine des dépôts repo_path=Chemin Racine des Dépôts
repo_path_helper=Tous les dépôts Git distants seront sauvegardés ici. repo_path_helper=Tous les dépôts Git distants seront sauvegardés ici.
run_user=Utilisateur système run_user=Utilisateur
run_user_helper=L'utilisateur doit avoir accès à la racine des dépôts et exécuter Gogs. run_user_helper=L'utilisateur doit avoir accès à la Racine des Dépôts et exécuter Gogs.
domain=Domaine domain=Domaine
domain_helper=Cela affecte les doublons d'URL SSH. domain_helper=Cela affecte les doublons d'URL SSH.
ssh_port=Port SSH ssh_port=Port SSH
@@ -88,6 +88,7 @@ log_root_path=Chemin des fichiers log
log_root_path_helper=Répertoire d'écriture des fichiers de log. log_root_path_helper=Répertoire d'écriture des fichiers de log.
enable_console_mode=Activer le mode Console enable_console_mode=Activer le mode Console
enable_console_mode_popup=En plus du mode fichier, également imprimer des journaux à la console. enable_console_mode_popup=En plus du mode fichier, également imprimer des journaux à la console.
default_branch=Branchepar défaut
optional_title=Paramètres facultatifs optional_title=Paramètres facultatifs
email_title=Paramètres du service de messagerie email_title=Paramètres du service de messagerie
@@ -316,6 +317,7 @@ delete_email=Supprimer
email_deletion=Suppression de l'adresse e-mail email_deletion=Suppression de l'adresse e-mail
email_deletion_desc=Supprimer cette adresse e-mail supprimera les informations associées à votre compte. Voulez-vous continuer ? email_deletion_desc=Supprimer cette adresse e-mail supprimera les informations associées à votre compte. Voulez-vous continuer ?
email_deletion_success=L'adresse e-mail a été supprimée avec succès ! email_deletion_success=L'adresse e-mail a été supprimée avec succès !
email_deletion_primary=Impossible de supprimer l'adresse de courrier principale
add_new_email=Ajouter une nouvelle adresse e-mail add_new_email=Ajouter une nouvelle adresse e-mail
add_email=Ajouter un e-mail add_email=Ajouter un e-mail
add_email_confirmation_sent=Une nouvelle confirmation d'adresse e-mail a été envoyé à '%s', veuillez vérifier votre boîte de réception dans un délai de %d heures pour terminer le processus de confirmation. add_email_confirmation_sent=Une nouvelle confirmation d'adresse e-mail a été envoyé à '%s', veuillez vérifier votre boîte de réception dans un délai de %d heures pour terminer le processus de confirmation.
@@ -370,6 +372,7 @@ two_factor_disable_success=L'authentification à deux facteurs a été désactiv
manage_access_token=Gérer les jetons d'accès personnels manage_access_token=Gérer les jetons d'accès personnels
generate_new_token=Générer le nouveau jeton generate_new_token=Générer le nouveau jeton
tokens_desc=Jetons, que vous avez généré, qui peuvent être utilisés pour accéder à l'API Gogs. tokens_desc=Jetons, que vous avez généré, qui peuvent être utilisés pour accéder à l'API Gogs.
access_token_tips=Le jeton d'accès personnel est employé soit comme nom d'utilisateur soit comme mot de passe. L'emploi du «x-access-token» comme nom d'utilisateur et le jeton d'accès personnel comme mot de passe est recommandé pour les applications Git
new_token_desc=Chaque Jeton donnera un accès complet à votre compte. new_token_desc=Chaque Jeton donnera un accès complet à votre compte.
token_name=Nom du jeton token_name=Nom du jeton
generate_token=Générer le jeton generate_token=Générer le jeton
@@ -443,7 +446,7 @@ migrate.clone_address_desc=Cela peut être une URL HTTP/HTTPS/GIT.
migrate.clone_address_desc_import_local=Vous êtes aussi autorisé à migrer un dépôt via un chemin local du serveur. migrate.clone_address_desc_import_local=Vous êtes aussi autorisé à migrer un dépôt via un chemin local du serveur.
migrate.permission_denied=Vous n'êtes pas autorisé à importer des dépôts locaux. migrate.permission_denied=Vous n'êtes pas autorisé à importer des dépôts locaux.
migrate.invalid_local_path=Chemin local non valide, non existant ou n'étant pas un dossier. migrate.invalid_local_path=Chemin local non valide, non existant ou n'étant pas un dossier.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=L'adresse de clonage correspond à une adresse réseau locale, qui est bloquée implicitement.
migrate.failed=Echec de migration: %v migrate.failed=Echec de migration: %v
mirror_from=miroir de mirror_from=miroir de
@@ -491,6 +494,8 @@ branches.stale_branches=Branches stagnantes
branches.all=Toutes les Branches branches.all=Toutes les Branches
branches.updated_by=Mise à jour %[1]s par %[2]s branches.updated_by=Mise à jour %[1]s par %[2]s
branches.change_default_branch=Changer la Branche par Défaut branches.change_default_branch=Changer la Branche par Défaut
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nouveau fichier editor.new_file=Nouveau fichier
editor.upload_file=Téléverser un fichier editor.upload_file=Téléverser un fichier
@@ -810,7 +815,7 @@ settings.webhook.headers=Entêtes 
settings.webhook.payload=Payload settings.webhook.payload=Payload
settings.webhook.body=Corps settings.webhook.body=Corps
settings.webhook.err_cannot_parse_payload_url=Impossible d'analyser l'URL : %v settings.webhook.err_cannot_parse_payload_url=Impossible d'analyser l'URL : %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=L'URL du contenu correspond à une adresse réseau locale qui est bloquée implicitement.
settings.githooks_desc=Les Hooks Git sont alimentés par Git lui même. Les Hooks compatibles sont modifiables dans la liste ci-dessous pour effectuer des opérations personnalisées. settings.githooks_desc=Les Hooks Git sont alimentés par Git lui même. Les Hooks compatibles sont modifiables dans la liste ci-dessous pour effectuer des opérations personnalisées.
settings.githook_edit_desc=Si un Hook est inactif, un exemple de contenu vous sera proposé. Un contenu laissé vide signifie un Hook inactif. settings.githook_edit_desc=Si un Hook est inactif, un exemple de contenu vous sera proposé. Un contenu laissé vide signifie un Hook inactif.
settings.githook_name=Nom du Hook settings.githook_name=Nom du Hook
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Hôte en écoute
config.ssh.listen_port=Port d'écoute config.ssh.listen_port=Port d'écoute
config.ssh.server_ciphers=Suites de chiffrement config.ssh.server_ciphers=Suites de chiffrement
config.ssh.server_macs=Adresses MAC du serveur config.ssh.server_macs=Adresses MAC du serveur
config.ssh.server_algorithms=Algorithmes de serveur
config.repo_config=Configuration du dépôt config.repo_config=Configuration du dépôt
config.repo.root_path=Emplacement racine config.repo.root_path=Emplacement racine
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Impossible d'envoyer un e-mail de test à '%s' :
config.email.test_mail_sent=Un e-mail de test à été envoyé à '%s'. config.email.test_mail_sent=Un e-mail de test à été envoyé à '%s'.
config.auth_config=Configuration de l'authentification config.auth_config=Configuration de l'authentification
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activer les vies sur les codes config.auth.activate_code_lives=Activer les vies sur les codes
config.auth.reset_password_code_lives=Vies sur les codes de réinitialisation des mots de passes config.auth.reset_password_code_lives=Vies sur les codes de réinitialisation des mots de passes
config.auth.require_email_confirm=Nécessite une confirmation par e-mail config.auth.require_email_confirm=Nécessite une confirmation par e-mail

View File

@@ -88,6 +88,7 @@ log_root_path=Ruta do rexistro
log_root_path_helper=Directorio onde almacenar os rexistros. log_root_path_helper=Directorio onde almacenar os rexistros.
enable_console_mode=Habilitar Modo Consola enable_console_mode=Habilitar Modo Consola
enable_console_mode_popup=Ademáis do modo de ficheiro, tamén imprime os rexistros para a consola. enable_console_mode_popup=Ademáis do modo de ficheiro, tamén imprime os rexistros para a consola.
default_branch=Default Branch
optional_title=Configuración opcional optional_title=Configuración opcional
email_title=Configuración do servizo de correo email_title=Configuración do servizo de correo
@@ -317,6 +318,7 @@ delete_email=Eliminar
email_deletion=Eliminar correo electrónico email_deletion=Eliminar correo electrónico
email_deletion_desc=Ao eliminar este enderezo de correo electrónico eliminarase toda a información asociada a esta. Desexas continuar? email_deletion_desc=Ao eliminar este enderezo de correo electrónico eliminarase toda a información asociada a esta. Desexas continuar?
email_deletion_success=O correo electrónico foi eliminado correctamente! email_deletion_success=O correo electrónico foi eliminado correctamente!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Engadir novo enderezo de correo electrónico add_new_email=Engadir novo enderezo de correo electrónico
add_email=Engadir correo electrónico add_email=Engadir correo electrónico
add_email_confirmation_sent=Un novo correo de confirmación foi enviado a '%s'. Por favor, comproba a túa bandexa de entrada nas próximas %d horas para completar o proceso. add_email_confirmation_sent=Un novo correo de confirmación foi enviado a '%s'. Por favor, comproba a túa bandexa de entrada nas próximas %d horas para completar o proceso.
@@ -371,6 +373,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=Xestionar os tokens de acceso persoais manage_access_token=Xestionar os tokens de acceso persoais
generate_new_token=Xerar novo token generate_new_token=Xerar novo token
tokens_desc=Tokens usados para acceder ao API de Gogs. tokens_desc=Tokens usados para acceder ao API de Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Dende agora, todos os tokens terán acceso completo á túa conta. new_token_desc=Dende agora, todos os tokens terán acceso completo á túa conta.
token_name=Nome do token token_name=Nome do token
generate_token=Xerar token generate_token=Xerar token
@@ -492,6 +495,8 @@ branches.stale_branches=Stale Branches
branches.all=All Branches branches.all=All Branches
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Change Default Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Novo arquivo editor.new_file=Novo arquivo
editor.upload_file=Subir arquivo editor.upload_file=Subir arquivo
@@ -1208,6 +1213,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository configuration config.repo_config=Repository configuration
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1271,6 +1277,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=Naplófájl elérési útja
log_root_path_helper=Naplófájlok könyvtára. log_root_path_helper=Naplófájlok könyvtára.
enable_console_mode=Konzol-üzemmód engedélyezése enable_console_mode=Konzol-üzemmód engedélyezése
enable_console_mode_popup=Naplófájl írása mellett a naplóbejegyzések nyomtatása a konzolra. enable_console_mode_popup=Naplófájl írása mellett a naplóbejegyzések nyomtatása a konzolra.
default_branch=Default Branch
optional_title=További beállítások optional_title=További beállítások
email_title=E-mail szolgáltatás beállításai email_title=E-mail szolgáltatás beállításai
@@ -316,6 +317,7 @@ delete_email=Törlés
email_deletion=E-mail cím törlése email_deletion=E-mail cím törlése
email_deletion_desc=Az e-mail cím törlése kapcsolódó adatokat is eltávolít a fiókjából. Biztosan folytatja? email_deletion_desc=Az e-mail cím törlése kapcsolódó adatokat is eltávolít a fiókjából. Biztosan folytatja?
email_deletion_success=Az e-mail címet töröltük! email_deletion_success=Az e-mail címet töröltük!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Új email cím felvétele add_new_email=Új email cím felvétele
add_email=Email felvétele add_email=Email felvétele
add_email_confirmation_sent=Egy új megerősítő e-mailt küldtünk a(z) '%s' címre. Kérlek ellenőrizd a beérkező üzeneteidet %d órán belül, hogy befejezd a megerősítési folyamatot. add_email_confirmation_sent=Egy új megerősítő e-mailt küldtünk a(z) '%s' címre. Kérlek ellenőrizd a beérkező üzeneteidet %d órán belül, hogy befejezd a megerősítési folyamatot.
@@ -370,6 +372,7 @@ two_factor_disable_success=Kétlépcsős hitelesítés sikeresen letiltva a fió
manage_access_token=Személyes hozzáférési jegyek kezelése manage_access_token=Személyes hozzáférési jegyek kezelése
generate_new_token=Új jegy generálása generate_new_token=Új jegy generálása
tokens_desc=A generált jegyekkel hozzáférhetsz a Gogs API-hoz. tokens_desc=A generált jegyekkel hozzáférhetsz a Gogs API-hoz.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Minden jegy teljes hozzáférést ad a fiókodhoz. new_token_desc=Minden jegy teljes hozzáférést ad a fiókodhoz.
token_name=Jegy neve token_name=Jegy neve
generate_token=Jegy generálása generate_token=Jegy generálása
@@ -491,6 +494,8 @@ branches.stale_branches=Elavult ágak
branches.all=Minden ág branches.all=Minden ág
branches.updated_by=Frissítve ekkor: %[1]s %[2]s által branches.updated_by=Frissítve ekkor: %[1]s %[2]s által
branches.change_default_branch=Alapértelmezett ág megváltoztatása branches.change_default_branch=Alapértelmezett ág megváltoztatása
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Új fájl editor.new_file=Új fájl
editor.upload_file=Fájl feltöltése editor.upload_file=Fájl feltöltése
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Hallgatási cím
config.ssh.listen_port=Hallgatási port config.ssh.listen_port=Hallgatási port
config.ssh.server_ciphers=Kiszolgáló titkosítás módszerei config.ssh.server_ciphers=Kiszolgáló titkosítás módszerei
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Tároló konfiguráció config.repo_config=Tároló konfiguráció
config.repo.root_path=Gyökér elérési útvonal config.repo.root_path=Gyökér elérési útvonal
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Nem sikerült kiküldeni a teszt e-mailt '%s'-nek:
config.email.test_mail_sent=Teszt e-mail kiküldve '%s'-nek. config.email.test_mail_sent=Teszt e-mail kiküldve '%s'-nek.
config.auth_config=Hitelesítési beállítások config.auth_config=Hitelesítési beállítások
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Jelszó visszaállítási kód élettartama config.auth.reset_password_code_lives=Jelszó visszaállítási kód élettartama
config.auth.require_email_confirm=E-mail megerősítés szükségessé tétele config.auth.require_email_confirm=E-mail megerősítés szükségessé tétele

View File

@@ -44,21 +44,21 @@ issues=Masalah
cancel=Batal cancel=Batal
[status] [status]
page_not_found=Page Not Found page_not_found=Halaman tidak ditemukan
internal_server_error=Internal Server Error internal_server_error=Kesalahan Server Internal
[install] [install]
install=Instalasi install=Instalasi
title=Langkah-langkah untuk Menjalankan Pertama Kali title=Langkah-langkah untuk Menjalankan Pertama Kali
docker_helper=Jika Anda menjalankan Gogs dalam Docker, silakan baca <a target="_blank" href="%s"> Petunjuk</a> dengan hati-hati sebelum Anda mengubah sesuatu di Halaman ini! docker_helper=Jika Anda menjalankan Gogs dalam Docker, silakan baca <a target="_blank" href="%s"> Petunjuk</a> dengan hati-hati sebelum Anda mengubah sesuatu di Halaman ini!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs memerlukan MySQL, PostgreSQL, SQLite3 atau TiDB.
db_title=Pengaturan Basisdata db_title=Pengaturan Basisdata
db_type=Tipe Basisdata db_type=Tipe Basisdata
host=Host host=Host
user=Pengguna user=Pengguna
password=Sandi password=Sandi
db_name=Nama Basisdata db_name=Nama Basisdata
db_schema=Schema db_schema=Skema
db_helper=Harap menggunakan INNODB engine dengan charset utf8_general_ci untuk MySQL. db_helper=Harap menggunakan INNODB engine dengan charset utf8_general_ci untuk MySQL.
ssl_mode=Mode SSL ssl_mode=Mode SSL
path=Path path=Path
@@ -88,6 +88,7 @@ log_root_path=Path log
log_root_path_helper=Direktori untuk menulis berkas log. log_root_path_helper=Direktori untuk menulis berkas log.
enable_console_mode=Mengaktifkan Mode Konsol enable_console_mode=Mengaktifkan Mode Konsol
enable_console_mode_popup=Selain mode file, juga mencetak log ke konsol. enable_console_mode_popup=Selain mode file, juga mencetak log ke konsol.
default_branch=Default Branch
optional_title=Pengaturan opsional optional_title=Pengaturan opsional
email_title=Pengaturan layanan email email_title=Pengaturan layanan email
@@ -126,7 +127,7 @@ run_user_not_match=Pengguna yang sedang menjalankan bukanlah pengguna saat ini:
smtp_host_missing_port=Alamat Host SMTP hilang di alamat. smtp_host_missing_port=Alamat Host SMTP hilang di alamat.
invalid_smtp_from=SMTP Dari lapangan tidak sesuai: %v invalid_smtp_from=SMTP Dari lapangan tidak sesuai: %v
save_config_failed=Gagal untuk menyimpan konfigurasi: %v save_config_failed=Gagal untuk menyimpan konfigurasi: %v
init_failed=Failed to initialize application: %v init_failed=Gagal melakukan inisialiasi aplikasi: %v
invalid_admin_setting=Pengaturan akun admin tidak valid: %v invalid_admin_setting=Pengaturan akun admin tidak valid: %v
install_success=Selamat datang! Kami senang bahwa Anda memilih Gogs, bersenang-senang dan berhati-hatilah. install_success=Selamat datang! Kami senang bahwa Anda memilih Gogs, bersenang-senang dan berhati-hatilah.
invalid_log_root_path=Path akar log tidak valid: %v invalid_log_root_path=Path akar log tidak valid: %v
@@ -264,7 +265,7 @@ following=Mengikuti
follow=Ikuti follow=Ikuti
unfollow=Berhenti mengikuti unfollow=Berhenti mengikuti
form.name_not_allowed=User name or pattern %q is not allowed. form.name_not_allowed=Nama pengguna atau pola %q tidak diizinkan.
[settings] [settings]
profile=Profil profile=Profil
@@ -316,6 +317,7 @@ delete_email=Hapus
email_deletion=Penghapusan email email_deletion=Penghapusan email
email_deletion_desc=Menghapus alamat email ini akan menghapus informasi yang berhubungan dengan akun Anda. Lanjutkan? email_deletion_desc=Menghapus alamat email ini akan menghapus informasi yang berhubungan dengan akun Anda. Lanjutkan?
email_deletion_success=Email telah berhasil diperbarui! email_deletion_success=Email telah berhasil diperbarui!
email_deletion_primary=Tidak bisa menghapus email utama
add_new_email=Menambah alamat email baru add_new_email=Menambah alamat email baru
add_email=Tambahkan email add_email=Tambahkan email
add_email_confirmation_sent=Email konfirmasi baru telah dikirim ke '%s', silakan cek inboxmu dalam waktu %d jam untuk menyelesaikan proses konfirmasi. add_email_confirmation_sent=Email konfirmasi baru telah dikirim ke '%s', silakan cek inboxmu dalam waktu %d jam untuk menyelesaikan proses konfirmasi.
@@ -370,6 +372,7 @@ two_factor_disable_success=Autentikasi dua faktor telah berhasil dilakukan!
manage_access_token=Kelola Akses Token pribadi manage_access_token=Kelola Akses Token pribadi
generate_new_token=Buat Token Baru generate_new_token=Buat Token Baru
tokens_desc=Token yang Anda buat dapat digunakan untuk mengakses API-nya Gogs. tokens_desc=Token yang Anda buat dapat digunakan untuk mengakses API-nya Gogs.
access_token_tips=Personal access token mungkin digunakan sebagai username atau password. Sangatn direkomendasikan untuk menggunakan "x-access-token" sebagai username atau personal access token sebagai password untuk aplikasi git.
new_token_desc=Setiap token akan memiliki akses penuh ke akunmu. new_token_desc=Setiap token akan memiliki akses penuh ke akunmu.
token_name=Nama Token token_name=Nama Token
generate_token=Buat Token generate_token=Buat Token
@@ -378,7 +381,7 @@ delete_token=Hapus
access_token_deletion=Penghapusan Akses Token Pribadi access_token_deletion=Penghapusan Akses Token Pribadi
access_token_deletion_desc=Hapus token akses pribadi ini akan menghapus semua akses aplikasi yang terkait. Apakah Anda ingin melanjutkan? access_token_deletion_desc=Hapus token akses pribadi ini akan menghapus semua akses aplikasi yang terkait. Apakah Anda ingin melanjutkan?
delete_token_success=Token akses pribadi telah berhasil dihapus! Jangan lupa untuk mengupdate aplikasi anda juga. delete_token_success=Token akses pribadi telah berhasil dihapus! Jangan lupa untuk mengupdate aplikasi anda juga.
token_name_exists=Token with same name already exists. token_name_exists=Token dengan nama yang sama telah digunakan.
orgs.none=Anda bukan anggota organisasi manapun. orgs.none=Anda bukan anggota organisasi manapun.
orgs.leave_title=Meninggalkan organisasi orgs.leave_title=Meninggalkan organisasi
@@ -400,7 +403,7 @@ owner=Pemilik
repo_name=Nama Repositori repo_name=Nama Repositori
repo_name_helper=Nama repositori yang baik biasanya terdiri dari kata kunci yang pendek, mudah diingat dan unik. repo_name_helper=Nama repositori yang baik biasanya terdiri dari kata kunci yang pendek, mudah diingat dan unik.
visibility=Visibilitas visibility=Visibilitas
unlisted=Unlisted unlisted=Tidak terdaftar
visiblity_helper=Repositori ini <span class="ui red text">Pribadi</span> visiblity_helper=Repositori ini <span class="ui red text">Pribadi</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
visiblity_helper_forced=Situs admin telah memaksa semua repositori baru menjadi <span class="ui red text">Pribadi</span> visiblity_helper_forced=Situs admin telah memaksa semua repositori baru menjadi <span class="ui red text">Pribadi</span>
@@ -432,7 +435,7 @@ repo_description_helper=Deskripsi repositori maksimal 512 karakter.
repo_description_length=Karakter tersedia repo_description_length=Karakter tersedia
form.reach_limit_of_creation=Pemiliknya telah mencapai batas pembuatan maksimum %d repositori. form.reach_limit_of_creation=Pemiliknya telah mencapai batas pembuatan maksimum %d repositori.
form.name_not_allowed=Repository name or pattern %q is not allowed. form.name_not_allowed=Nama atau pola repositori %q tidak diizinkan.
need_auth=Butuh Otorisasi need_auth=Butuh Otorisasi
migrate_type=Jenis migrasi migrate_type=Jenis migrasi
@@ -491,6 +494,8 @@ branches.stale_branches=Cabang Basi
branches.all=Semua Cabang branches.all=Semua Cabang
branches.updated_by=Diperbarui %[1]s oleh %[2]s branches.updated_by=Diperbarui %[1]s oleh %[2]s
branches.change_default_branch=Ubah Cabang Default branches.change_default_branch=Ubah Cabang Default
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Berkas baru editor.new_file=Berkas baru
editor.upload_file=Unggah Berkas editor.upload_file=Unggah Berkas
@@ -794,7 +799,7 @@ settings.search_user_placeholder=Cari pengguna...
settings.org_not_allowed_to_be_collaborator=Organisasi tidak diperbolehkan untuk ditambahkan sebagai kolaborator. settings.org_not_allowed_to_be_collaborator=Organisasi tidak diperbolehkan untuk ditambahkan sebagai kolaborator.
settings.hooks_desc=Webhooks seperti pemicu peristiwa HTTP POST dasar. Kapan pun terjadi sesuatu di Gog, kami akan menangani pemberitahuan tersebut ke host target yang Anda tentukan. Pelajari lebih lanjut di <a target="_blank" href=" %s "> Panduan Webhooks </a> ini. settings.hooks_desc=Webhooks seperti pemicu peristiwa HTTP POST dasar. Kapan pun terjadi sesuatu di Gog, kami akan menangani pemberitahuan tersebut ke host target yang Anda tentukan. Pelajari lebih lanjut di <a target="_blank" href=" %s "> Panduan Webhooks </a> ini.
settings.webhooks.add_new=Add a new webhook: settings.webhooks.add_new=Add a new webhook:
settings.webhooks.choose_a_type=Choose a type... settings.webhooks.choose_a_type=Pilih jenis...
settings.add_webhook=Tambahkan Webhook settings.add_webhook=Tambahkan Webhook
settings.webhook_deletion=Hapus Webhook settings.webhook_deletion=Hapus Webhook
settings.webhook_deletion_desc=Hapus halaman web ini akan menghapus informasinya dan semua riwayat pengiriman. Apakah Anda ingin melanjutkan? settings.webhook_deletion_desc=Hapus halaman web ini akan menghapus informasinya dan semua riwayat pengiriman. Apakah Anda ingin melanjutkan?
@@ -1010,19 +1015,19 @@ first_page=Pertama
last_page=Terakhir last_page=Terakhir
total=Total: %d total=Total: %d
dashboard.build_info=Build Information dashboard.build_info=Informasi build
dashboard.app_ver=Application version dashboard.app_ver=Versi aplikasi
dashboard.git_version=Git version dashboard.git_version=Versi Git
dashboard.go_version=Go version dashboard.go_version=Versi Go (Golang)
dashboard.build_time=Build time dashboard.build_time=Durasi
dashboard.build_commit=Build commit dashboard.build_commit=Setuju Membangun
dashboard.statistic=Statistik dashboard.statistic=Statistik
dashboard.operations=Operasi dashboard.operations=Operasi
dashboard.system_status=Status Monitor Sistem dashboard.system_status=Status Monitor Sistem
dashboard.statistic_info=GogsDatabase memiliki <b>%d</b> pengguna, <b>%d</b> organisasi, <b>%d</b> kunci publik, <b>%d</b> repositori, <b>%d</b> jamtangan, <b>%d</b> bintang, <b>%d</b>actions, <b>%d</b> akses, <b>%d</b> isu, <b>%d</b> komentar, <b>%d</b> akun sosial, <b>%d</b> berikut, <b>%d<b> mirror, <b>%d</b> rilis, <b>%d</b> sumber masuk, <b>%d</b> webhooks, <b>%d</b> tonggak,<b>%d</b> label, <b>%d</b> tugas hook, <b>%d</b> tim, <b>%d</b> memperbarui tugas, <b>%d</b> lampiran. dashboard.statistic_info=GogsDatabase memiliki <b>%d</b> pengguna, <b>%d</b> organisasi, <b>%d</b> kunci publik, <b>%d</b> repositori, <b>%d</b> jamtangan, <b>%d</b> bintang, <b>%d</b>actions, <b>%d</b> akses, <b>%d</b> isu, <b>%d</b> komentar, <b>%d</b> akun sosial, <b>%d</b> berikut, <b>%d<b> mirror, <b>%d</b> rilis, <b>%d</b> sumber masuk, <b>%d</b> webhooks, <b>%d</b> tonggak,<b>%d</b> label, <b>%d</b> tugas hook, <b>%d</b> tim, <b>%d</b> memperbarui tugas, <b>%d</b> lampiran.
dashboard.operation_name=Nama operasi dashboard.operation_name=Nama operasi
dashboard.operation_switch=Beralih dashboard.operation_switch=Beralih
dashboard.select_operation_to_run=Please select operation to run dashboard.select_operation_to_run=Harap menentukan operasi yang dijalankan
dashboard.operation_run=Menjalankan dashboard.operation_run=Menjalankan
dashboard.clean_unbind_oauth=Bersihkan OAuth yang tidak terikat dashboard.clean_unbind_oauth=Bersihkan OAuth yang tidak terikat
dashboard.clean_unbind_oauth_success=Semua unbind OAuthes telah berhasil dihapus. dashboard.clean_unbind_oauth_success=Semua unbind OAuthes telah berhasil dihapus.
@@ -1146,7 +1151,7 @@ auths.user_attribute_listed_in_group=Atribut Pengguna Terdaftar di Grup
auths.attributes_in_bind=Ambil atribut dalam konteks Bind DN auths.attributes_in_bind=Ambil atribut dalam konteks Bind DN
auths.filter=Pengguna saringan auths.filter=Pengguna saringan
auths.admin_filter=Filter Admin auths.admin_filter=Filter Admin
auths.ms_ad_sa=Ms Ad SA auths.ms_ad_sa=Otentifikasi sistem
auths.smtp_auth=Autentikasi tipe SMTP auths.smtp_auth=Autentikasi tipe SMTP
auths.smtphost=Host SMTP auths.smtphost=Host SMTP
auths.smtpport=Port SMTP auths.smtpport=Port SMTP
@@ -1168,51 +1173,52 @@ auths.delete_auth_desc=Autentikasi ini akan dihapus, apakah Anda ingin melanjutk
auths.still_in_used=Autentikasi ini masih digunakan oleh pengguna lain, silakan hapus atau ubah pengguna tersebut ke tipe masuk lainnya. auths.still_in_used=Autentikasi ini masih digunakan oleh pengguna lain, silakan hapus atau ubah pengguna tersebut ke tipe masuk lainnya.
auths.deletion_success=Autentikasi berhasil dihapus! auths.deletion_success=Autentikasi berhasil dihapus!
auths.login_source_exist=Sumber masuk %s sudah tersedia. auths.login_source_exist=Sumber masuk %s sudah tersedia.
auths.github_api_endpoint=API Endpoint auths.github_api_endpoint=Titik akhir API
config.not_set=(tidak diterapkan) config.not_set=(tidak diterapkan)
config.server_config=Konfigurasi Server config.server_config=Konfigurasi Server
config.brand_name=Brand name config.brand_name=Nama Merek/Logo/Perusahaan
config.run_user=Menjalankan penggunaa config.run_user=Menjalankan penggunaa
config.run_mode=Run mode config.run_mode=Run mode
config.server.external_url=External URL config.server.external_url=URL eksternal
config.server.domain=Domain config.server.domain=Domain
config.server.protocol=Protocol config.server.protocol=Protokol
config.server.http_addr=HTTP address config.server.http_addr=Alamat HTTP
config.server.http_port=HTTP port config.server.http_port=Port HTTP
config.server.cert_file=Certificate file config.server.cert_file=Berkas Sertifikat
config.server.key_file=Key file config.server.key_file=Berkas baru
config.server.tls_min_version=Minimum TLS version config.server.tls_min_version=Minimum versi TLS
config.server.unix_socket_permission=Unix socket permission config.server.unix_socket_permission=Aturan unix socket
config.server.local_root_url=Local root URL config.server.local_root_url=Lokal root url
config.server.offline_mode=Offline mode config.server.offline_mode=mode luring
config.server.disable_router_log=Disable router log config.server.disable_router_log=Menonaktifkan router log
config.server.enable_gzip=Enable Gzip config.server.enable_gzip=aktifkan gzip
config.server.app_data_path=Application data path config.server.app_data_path=target data aplikasi
config.server.load_assets_from_disk=Load assets from disk config.server.load_assets_from_disk=memanggil asset dari disk
config.server.landing_url=Landing URL config.server.landing_url=Landing URL
config.ssh_config=Konfigurasi SSH config.ssh_config=Konfigurasi SSH
config.ssh.enabled=Enabled config.ssh.enabled=Diaktifkan
config.ssh.domain=Exposed domain config.ssh.domain=Exposed domain
config.ssh.port=Exposed port config.ssh.port=Exposed port
config.ssh.root_path=Root path config.ssh.root_path=Path akar
config.ssh.keygen_path=Keygen path config.ssh.keygen_path=Path keygen
config.ssh.key_test_path=Key test path config.ssh.key_test_path=Key test path
config.ssh.minimum_key_size_check=Minimum key size check config.ssh.minimum_key_size_check=Minimum key size check
config.ssh.minimum_key_sizes=Minimum key sizes config.ssh.minimum_key_sizes=Ukuran kunci minimum
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start config.ssh.rewrite_authorized_keys_at_start=Tulis ulang "authorized_keys" saat memulai
config.ssh.start_builtin_server=Start builtin server config.ssh.start_builtin_server=Start builtin server
config.ssh.listen_host=Listen host config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Cipher server
config.ssh.server_macs=Server MACs config.ssh.server_macs=MAC server
config.ssh.server_algorithms=Algoritma server
config.repo_config=Konfigurasi Repositori config.repo_config=Konfigurasi Repositori
config.repo.root_path=Root path config.repo.root_path=Path akar
config.repo.script_type=Script type config.repo.script_type=Jenis skrip
config.repo.ansi_chatset=ANSI charset config.repo.ansi_chatset=Set karakter ANSI
config.repo.force_private=Force private config.repo.force_private=Paksa pribadi
config.repo.max_creation_limit=Max creation limit config.repo.max_creation_limit=Max creation limit
config.repo.preferred_licenses=Preferred licenses config.repo.preferred_licenses=Preferred licenses
config.repo.disable_http_git=Disable HTTP Git config.repo.disable_http_git=Disable HTTP Git
@@ -1221,80 +1227,81 @@ config.repo.enable_raw_file_render_mode=Enable raw file render mode
config.repo.commits_fetch_concurrency=Commits fetch concurrency config.repo.commits_fetch_concurrency=Commits fetch concurrency
config.repo.editor.line_wrap_extensions=Editor line wrap extensions config.repo.editor.line_wrap_extensions=Editor line wrap extensions
config.repo.editor.previewable_file_modes=Editor previewable file modes config.repo.editor.previewable_file_modes=Editor previewable file modes
config.repo.upload.enabled=Upload enabled config.repo.upload.enabled=Pengunggahan diaktifkan
config.repo.upload.temp_path=Upload temporary path config.repo.upload.temp_path=Path unggah sementara
config.repo.upload.allowed_types=Upload allowed types config.repo.upload.allowed_types=Tipe unggah yang diizinkan
config.repo.upload.file_max_size=Upload file size limit config.repo.upload.file_max_size=Batas ukuran unggah berkas
config.repo.upload.max_files=Upload files limit config.repo.upload.max_files=Batas unggah berkas
config.db_config=Konfigurasi Basis Data config.db_config=Konfigurasi Basis Data
config.db.type=Type config.db.type=Tipe
config.db.host=Host config.db.host=Host
config.db.name=Name config.db.name=Nama
config.db.schema=Schema config.db.schema=Skema
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(hanya untuk "postgres")
config.db.user=User config.db.user=Pengguna
config.db.ssl_mode=SSL mode config.db.ssl_mode=Modus SSL
config.db.ssl_mode_helper=(for "postgres" only) config.db.ssl_mode_helper=(hanya untuk "postgres")
config.db.path=Path config.db.path=Path
config.db.path_helper=(for "sqlite3"only) config.db.path_helper=(hanya untuk "sqlite3")
config.db.max_open_conns=Maximum open connections config.db.max_open_conns=Maksimum koneksi yang terbuka
config.db.max_idle_conns=Maximum idle connections config.db.max_idle_conns=Maksimum koneksi menganggur
config.security_config=Security configuration config.security_config=Konfigurasi keamanan
config.security.login_remember_days=Login remember days config.security.login_remember_days=Berapa hari mengingat log masuk
config.security.cookie_remember_name=Remember cookie config.security.cookie_remember_name=Ingat cookie
config.security.cookie_username=Username cookie config.security.cookie_username=Cookie pengguna
config.security.cookie_secure=Enable secure cookie config.security.cookie_secure=Aktifkan cookie aman
config.security.reverse_proxy_auth_user=Reverse proxy authentication header config.security.reverse_proxy_auth_user=Reverse proxy authentication header
config.security.enable_login_status_cookie=Enable login status cookie config.security.enable_login_status_cookie=Enable login status cookie
config.security.login_status_cookie_name=Login status cookie config.security.login_status_cookie_name=Login status cookie
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Local network allowlist
config.email_config=Email configuration config.email_config=Konfigurasi surel
config.email.enabled=Enabled config.email.enabled=Enabled
config.email.subject_prefix=Subject prefix config.email.subject_prefix=Subject prefix
config.email.host=Host config.email.host=Host
config.email.from=From config.email.from=Dari
config.email.user=User config.email.user=Pengguna
config.email.disable_helo=Disable HELO config.email.disable_helo=Disable HELO
config.email.helo_hostname=HELO hostname config.email.helo_hostname=HELO hostname
config.email.skip_verify=Skip certificate verify config.email.skip_verify=Lewati verifikasi sertifikat
config.email.use_certificate=Use custom certificate config.email.use_certificate=Pakai sertifikat ubahan
config.email.cert_file=Certificate file config.email.cert_file=Berkas sertifikat
config.email.key_file=Key file config.email.key_file=Berkas kunci
config.email.use_plain_text=Use plain text config.email.use_plain_text=Gunakan teks polos
config.email.add_plain_text_alt=Add plain text alternative config.email.add_plain_text_alt=Tambahkan alternatif teks polos
config.email.send_test_mail=Send test email config.email.send_test_mail=Kirim surel uji
config.email.test_mail_failed=Failed to send test email to '%s': %v config.email.test_mail_failed=Gagal mengirim surel uji ke '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Surel uji telah dikirim ke '%s'.
config.auth_config=Authentication configuration config.auth_config=Konfigurasi otentikasi
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Perlu konfirmasi surel
config.auth.require_sign_in_view=Require sign in view config.auth.require_sign_in_view=Require sign in view
config.auth.disable_registration=Disable registration config.auth.disable_registration=Nonaktifkan pendaftaran
config.auth.enable_registration_captcha=Enable registration captcha config.auth.enable_registration_captcha=Aktifkan captcha pendaftaran
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication config.auth.enable_reverse_proxy_authentication=Aktifkan otentikasi proksi balik
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration config.auth.enable_reverse_proxy_auto_registration=Aktifkan pendaftaran otomatis proksi balik
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
config.user_config=User configuration config.user_config=Konfigurasi pengguna
config.user.enable_email_notify=Enable email notification config.user.enable_email_notify=Aktifkan notifikasi surel
config.session_config=Konfigurasi Sesi config.session_config=Konfigurasi Sesi
config.session.provider=Provider config.session.provider=Penyedia
config.session.provider_config=Provider config config.session.provider_config=Konfigurasi penyedia
config.session.cookie_name=Cookie config.session.cookie_name=Cookie
config.session.https_only=HTTPS only config.session.https_only=Hanya HTTPS
config.session.gc_interval=GC interval config.session.gc_interval=Interval GC
config.session.max_life_time=Max life time config.session.max_life_time=Max life time
config.session.csrf_cookie_name=CSRF cookie config.session.csrf_cookie_name=CSRF cookie
config.cache_config=Konfigurasi Cache config.cache_config=Konfigurasi Cache
config.cache.adapter=Adapter config.cache.adapter=Adaptor
config.cache.interval=GC interval config.cache.interval=Interval GC
config.cache.host=Host config.cache.host=Host
config.http_config=Konfigurasi HTTP config.http_config=Konfigurasi HTTP
@@ -1304,27 +1311,27 @@ config.attachment_config=Attachment configuration
config.attachment.enabled=Enabled config.attachment.enabled=Enabled
config.attachment.path=Path config.attachment.path=Path
config.attachment.allowed_types=Allowed types config.attachment.allowed_types=Allowed types
config.attachment.max_size=Size limit config.attachment.max_size=Batas ukuran
config.attachment.max_files=Files limit config.attachment.max_files=Batas berkas
config.release_config=Release configuration config.release_config=Release configuration
config.release.attachment.enabled=Attachment enabled config.release.attachment.enabled=Lampiran diaktifkan
config.release.attachment.allowed_types=Attachment allowed types config.release.attachment.allowed_types=Jens lampiran yang diizinkan
config.release.attachment.max_size=Attachment size limit config.release.attachment.max_size=Batas ukuran lampiran
config.release.attachment.max_files=Attachment files limit config.release.attachment.max_files=Batas berkas lampiran
config.picture_config=Konfigurasi Gambar config.picture_config=Konfigurasi Gambar
config.picture.avatar_upload_path=User avatar upload path config.picture.avatar_upload_path=Path unggah avatar pengguna
config.picture.repo_avatar_upload_path=Repository avatar upload path config.picture.repo_avatar_upload_path=Path unggah avatar repositori
config.picture.gravatar_source=Gravatar source config.picture.gravatar_source=Sumber gravatar
config.picture.disable_gravatar=Disable Gravatar config.picture.disable_gravatar=Nonaktifkan Gravatar
config.picture.enable_federated_avatar=Enable federated avatars config.picture.enable_federated_avatar=Enable federated avatars
config.mirror_config=Mirror configuration config.mirror_config=Konfigurasi cermin
config.mirror.default_interval=Default interval config.mirror.default_interval=Interval baku
config.webhook_config=Webhook Konfigurasi config.webhook_config=Webhook Konfigurasi
config.webhook.types=Types config.webhook.types=Tipe
config.webhook.deliver_timeout=Deliver timeout config.webhook.deliver_timeout=Deliver timeout
config.webhook.skip_tls_verify=Skip TLS verify config.webhook.skip_tls_verify=Skip TLS verify
@@ -1336,16 +1343,16 @@ config.git.max_diff_files=Diff files limit (for a single diff)
config.git.gc_args=GC arguments config.git.gc_args=GC arguments
config.git.migrate_timeout=Migration timeout config.git.migrate_timeout=Migration timeout
config.git.mirror_timeout=Mirror fetch timeout config.git.mirror_timeout=Mirror fetch timeout
config.git.clone_timeout=Clone timeout config.git.clone_timeout=Tenggat waktu klon
config.git.pull_timeout=Pull timeout config.git.pull_timeout=Tenggat waktu pull
config.git.gc_timeout=GC timeout config.git.gc_timeout=Tenggat waktu GC
config.lfs_config=LFS configuration config.lfs_config=Konfigurasi LFS
config.lfs.storage=Storage config.lfs.storage=Penyimpanan
config.lfs.objects_path=Objects path config.lfs.objects_path=Path obyek
config.log_config=Log configuration config.log_config=Konfigurasi log
config.log_file_root_path=Log file root path config.log_file_root_path=Path akar berkas log
config.log_mode=Mode config.log_mode=Mode
config.log_options=Pilihan config.log_options=Pilihan
@@ -1417,7 +1424,7 @@ months=%d bulan %s
years=%d tahun %s years=%d tahun %s
raw_seconds=detik raw_seconds=detik
raw_minutes=menit raw_minutes=menit
raw_hours=hours raw_hours=jam
[dropzone] [dropzone]
default_message=Jatuhkan berkas disini atau klik untuk mengunggah. default_message=Jatuhkan berkas disini atau klik untuk mengunggah.

View File

@@ -88,6 +88,7 @@ log_root_path=Percorso dei log
log_root_path_helper=Directory in cui scrivere i file di log. log_root_path_helper=Directory in cui scrivere i file di log.
enable_console_mode=Abilita modalità Terminale enable_console_mode=Abilita modalità Terminale
enable_console_mode_popup=In aggiunta alla modalità file, invia i log anche al terminale. enable_console_mode_popup=In aggiunta alla modalità file, invia i log anche al terminale.
default_branch=Default Branch
optional_title=Impostazioni Facoltative optional_title=Impostazioni Facoltative
email_title=Impostazioni E-mail email_title=Impostazioni E-mail
@@ -316,6 +317,7 @@ delete_email=Elimina
email_deletion=Eliminazione e-mail email_deletion=Eliminazione e-mail
email_deletion_desc=La procedura di rimozione indirizzo email eliminerà tutte le informazioni correlate dal tuo account. Si desidera continuare? email_deletion_desc=La procedura di rimozione indirizzo email eliminerà tutte le informazioni correlate dal tuo account. Si desidera continuare?
email_deletion_success=Indirizzo e-mail eliminato con successo! email_deletion_success=Indirizzo e-mail eliminato con successo!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Aggiungi un nuovo indirizzo E-mail add_new_email=Aggiungi un nuovo indirizzo E-mail
add_email=Aggiungi E-mail add_email=Aggiungi E-mail
add_email_confirmation_sent=Una nuova email di conferma è stata inviata a '%s', per favore controlla la tua posta in arrivo nelle prossime %d ore per completare il processo di registrazione. add_email_confirmation_sent=Una nuova email di conferma è stata inviata a '%s', per favore controlla la tua posta in arrivo nelle prossime %d ore per completare il processo di registrazione.
@@ -370,6 +372,7 @@ two_factor_disable_success=L'autenticazione a due fattori è stata disabilitata!
manage_access_token=Gestisci i Token di Accesso Personale manage_access_token=Gestisci i Token di Accesso Personale
generate_new_token=Genera Nuovo Token generate_new_token=Genera Nuovo Token
tokens_desc=I Token che hai generato e che possono essere utilizzati per accedere alle API Gogs. tokens_desc=I Token che hai generato e che possono essere utilizzati per accedere alle API Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Da questo momento, ogni token avrà pieno accesso al tuo account. new_token_desc=Da questo momento, ogni token avrà pieno accesso al tuo account.
token_name=Nome Token token_name=Nome Token
generate_token=Genera Token generate_token=Genera Token
@@ -491,6 +494,8 @@ branches.stale_branches=Stale Branches
branches.all=Tutti i rami (branch) branches.all=Tutti i rami (branch)
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Cambia branch di default branches.change_default_branch=Cambia branch di default
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nuovo file editor.new_file=Nuovo file
editor.upload_file=Carica File editor.upload_file=Carica File
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Configurazione Repository config.repo_config=Configurazione Repository
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -51,7 +51,7 @@ internal_server_error=サーバ内部エラー
install=インストール install=インストール
title=インストールをする前に必要な準備をしましょう title=インストールをする前に必要な準備をしましょう
docker_helper=DockerでGogsを稼動する場合は、このページに変更を加える前に、 <a target="_blank" href="%s">ガイドライン</a>をよく読んでください! docker_helper=DockerでGogsを稼動する場合は、このページに変更を加える前に、 <a target="_blank" href="%s">ガイドライン</a>をよく読んでください!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs は、MySQLPostgreSQLSQLite3 または TiDB が必要です。
db_title=データベース設定 db_title=データベース設定
db_type=データベースの種類 db_type=データベースの種類
host=ホスト host=ホスト
@@ -88,6 +88,7 @@ log_root_path=ログのパス
log_root_path_helper=ログファイルを書き込むディレクトリ。 log_root_path_helper=ログファイルを書き込むディレクトリ。
enable_console_mode=コンソールモードの有効化 enable_console_mode=コンソールモードの有効化
enable_console_mode_popup=ファイルモードに加えて、コンソールにもログを表示します。 enable_console_mode_popup=ファイルモードに加えて、コンソールにもログを表示します。
default_branch=Default Branch
optional_title=オプション設定 optional_title=オプション設定
email_title=メールサービス設定 email_title=メールサービス設定
@@ -316,6 +317,7 @@ delete_email=削除
email_deletion=電子メールの削除 email_deletion=電子メールの削除
email_deletion_desc=このメールアドレスを削除すると、あなたのアカウントの関連情報も削除されます。続行しますか? email_deletion_desc=このメールアドレスを削除すると、あなたのアカウントの関連情報も削除されます。続行しますか?
email_deletion_success=電子メールが正常に削除されました。 email_deletion_success=電子メールが正常に削除されました。
email_deletion_primary=Cannot delete primary email address.
add_new_email=新しいメールアドレスを追加 add_new_email=新しいメールアドレスを追加
add_email=メールアドレスの追加 add_email=メールアドレスの追加
add_email_confirmation_sent='%s' に新しい確認メールを送信しました。%d 時間以内に受信トレイを確認し、確認プロセスを完了してください。 add_email_confirmation_sent='%s' に新しい確認メールを送信しました。%d 時間以内に受信トレイを確認し、確認プロセスを完了してください。
@@ -370,6 +372,7 @@ two_factor_disable_success=2段階認証があなたのアカウントで無効
manage_access_token=パーソナルアクセス トークンを管理 manage_access_token=パーソナルアクセス トークンを管理
generate_new_token=新しいトークンを生成 generate_new_token=新しいトークンを生成
tokens_desc=生成したトークンを利用して Gogs の API にアクセスすることができます。 tokens_desc=生成したトークンを利用して Gogs の API にアクセスすることができます。
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=今のところ、全てのトークンはあなたのアカウントにフルアクセスできます。 new_token_desc=今のところ、全てのトークンはあなたのアカウントにフルアクセスできます。
token_name=トークン名 token_name=トークン名
generate_token=トークンを生成 generate_token=トークンを生成
@@ -491,6 +494,8 @@ branches.stale_branches=古いブランチ
branches.all=すべてのブランチ branches.all=すべてのブランチ
branches.updated_by=%[1]s が %[2]s によって更新されました branches.updated_by=%[1]s が %[2]s によって更新されました
branches.change_default_branch=デフォルトブランチの変更 branches.change_default_branch=デフォルトブランチの変更
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=新規ファイル editor.new_file=新規ファイル
editor.upload_file=ファイルをアップロード editor.upload_file=ファイルをアップロード
@@ -915,7 +920,7 @@ release.deletion=リリースの削除
release.deletion_desc=このリリースを削除すると、対応するGitのタグも削除されます。よろしいですか release.deletion_desc=このリリースを削除すると、対応するGitのタグも削除されます。よろしいですか
release.deletion_success=リリースが正常に削除されました。 release.deletion_success=リリースが正常に削除されました。
release.tag_name_already_exist=このタグ名には既にリリースが存在します。 release.tag_name_already_exist=このタグ名には既にリリースが存在します。
release.tag_name_invalid=使用できないタグ名です。 release.tag_name_invalid=タグ名が不正です。
release.downloads=ダウンロード release.downloads=ダウンロード
[org] [org]
@@ -1193,7 +1198,7 @@ config.server.load_assets_from_disk=Load assets from disk
config.server.landing_url=Landing URL config.server.landing_url=Landing URL
config.ssh_config=SSH設定 config.ssh_config=SSH設定
config.ssh.enabled=Enabled config.ssh.enabled=有効
config.ssh.domain=Exposed domain config.ssh.domain=Exposed domain
config.ssh.port=Exposed port config.ssh.port=Exposed port
config.ssh.root_path=Root path config.ssh.root_path=Root path
@@ -1207,9 +1212,10 @@ config.ssh.listen_host=待受ホスト
config.ssh.listen_port=待受ポート config.ssh.listen_port=待受ポート
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=リポジトリの設定 config.repo_config=リポジトリの設定
config.repo.root_path=Root path config.repo.root_path=ルートパス
config.repo.script_type=Script type config.repo.script_type=Script type
config.repo.ansi_chatset=ANSI 文字コード config.repo.ansi_chatset=ANSI 文字コード
config.repo.force_private=非公開にする config.repo.force_private=非公開にする
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -51,14 +51,14 @@ internal_server_error=내부 서버 오류
install=설치 install=설치
title=첫 실행을 위한 설치단계 title=첫 실행을 위한 설치단계
docker_helper=Gogs를 Docker에서 운영하고 있다면 <a target="_blank" href="%s">안내</a>를 읽고 변경해 주세요! docker_helper=Gogs를 Docker에서 운영하고 있다면 <a target="_blank" href="%s">안내</a>를 읽고 변경해 주세요!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs MySQL, PostgreSQL, SQLite3, TiDB (MySQL protocol)을 필요로 합니다.
db_title=데이터베이스 설정 db_title=데이터베이스 설정
db_type=데이터베이스 유형 db_type=데이터베이스 유형
host=호스트 host=호스트
user=사용자 user=사용자
password=비밀번호 password=비밀번호
db_name=데이터베이스 이름 db_name=데이터베이스 이름
db_schema=Schema db_schema=스키마
db_helper=MySQL에서는 utf8_general_ci 캐릭터셋으로 INNODB엔진을 이용해 주세요 db_helper=MySQL에서는 utf8_general_ci 캐릭터셋으로 INNODB엔진을 이용해 주세요
ssl_mode=SSL 모드 ssl_mode=SSL 모드
path=경로 path=경로
@@ -88,6 +88,7 @@ log_root_path=로그 경로
log_root_path_helper=로그 파일을 쓸 디렉터리. log_root_path_helper=로그 파일을 쓸 디렉터리.
enable_console_mode=콘솔 모드 활성화 enable_console_mode=콘솔 모드 활성화
enable_console_mode_popup=파일 모드 외에 콘솔에 로그를 인쇄하세요. enable_console_mode_popup=파일 모드 외에 콘솔에 로그를 인쇄하세요.
default_branch=기본 브랜치
optional_title=추가설정 optional_title=추가설정
email_title=이메일 서비스 설정 email_title=이메일 서비스 설정
@@ -316,6 +317,7 @@ delete_email=삭제
email_deletion=이메일 삭제 email_deletion=이메일 삭제
email_deletion_desc=이메일 주소를 삭제하면 당신의 계정과 연관된 정보도 함께 삭제됩니다. 계속 하시겠습니까? email_deletion_desc=이메일 주소를 삭제하면 당신의 계정과 연관된 정보도 함께 삭제됩니다. 계속 하시겠습니까?
email_deletion_success=이메일 주소를 성공적으로 삭제되하였습니다! email_deletion_success=이메일 주소를 성공적으로 삭제되하였습니다!
email_deletion_primary=기본 이메일 주소를 삭제할 수 없습니다.
add_new_email=새 이메일 주소 추가 add_new_email=새 이메일 주소 추가
add_email=이메일 추가 add_email=이메일 추가
add_email_confirmation_sent=새로운 이메일 주소 인증이 '%s'로 발송되었습니다. %d시간 안에 확인 절차를 완료하셔야 합니다. add_email_confirmation_sent=새로운 이메일 주소 인증이 '%s'로 발송되었습니다. %d시간 안에 확인 절차를 완료하셔야 합니다.
@@ -370,6 +372,8 @@ two_factor_disable_success=2단계 인증이 성공적으로 비활성화되었
manage_access_token=개인 액세스 토큰 관리 manage_access_token=개인 액세스 토큰 관리
generate_new_token=새 토큰을 생성 generate_new_token=새 토큰을 생성
tokens_desc=Gogs Api에 액세스 하는 데 사용할 수 있는 토큰입니다. tokens_desc=Gogs Api에 액세스 하는 데 사용할 수 있는 토큰입니다.
access_token_tips=개인 액세스 토큰은 사용자 이름 또는 비밀번호로 사용할 수 있습니다. Git 애플리케이션에서는 'x-access-token'을 사용자 이름으로 사용하고, 개인 액세스 토큰을 비밀번호로 사용하는 것이 권장됩니다.
new_token_desc=각 토큰은 당신의 모든 권한을 행사할 수 있습니다. new_token_desc=각 토큰은 당신의 모든 권한을 행사할 수 있습니다.
token_name=토큰 이름 token_name=토큰 이름
generate_token=토큰 생성 generate_token=토큰 생성
@@ -400,9 +404,9 @@ owner=소유자
repo_name=저장소 이름 repo_name=저장소 이름
repo_name_helper=좋은 저장소 이름은 짧고 기억하기 좋은 유니크한 키워드로 이루어 집니다. repo_name_helper=좋은 저장소 이름은 짧고 기억하기 좋은 유니크한 키워드로 이루어 집니다.
visibility=가시성 visibility=가시성
unlisted=Unlisted unlisted=비공개
visiblity_helper=이 저장소는 <span class="ui red text">비공개</span> 저장소입니다 visiblity_helper=이 저장소는 <span class="ui red text">비공개</span> 저장소입니다
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=이 저장소는 <span class="ui red text">비공개</span> 저장소입니다.
visiblity_helper_forced=사이트 관리자가 모든 저장소를 <span class="ui red text">비공개</span>로 변경하였습니다. visiblity_helper_forced=사이트 관리자가 모든 저장소를 <span class="ui red text">비공개</span>로 변경하였습니다.
visiblity_fork_helper=(이 값의 변경은 모든 포크에 영향을 줍니다) visiblity_fork_helper=(이 값의 변경은 모든 포크에 영향을 줍니다)
clone_helper=클론하는데에 도움이 필요하면 <a target="_blank" href="%s">Help</a>에 방문하세요. clone_helper=클론하는데에 도움이 필요하면 <a target="_blank" href="%s">Help</a>에 방문하세요.
@@ -443,7 +447,7 @@ migrate.clone_address_desc=HTTP/HTTPS/GIT URL일 수 있습니다.
migrate.clone_address_desc_import_local=로컬 서버 경로를 기준으로 저장소를 마이그레이션 할 수도 있습니다. migrate.clone_address_desc_import_local=로컬 서버 경로를 기준으로 저장소를 마이그레이션 할 수도 있습니다.
migrate.permission_denied=로컬 저장소는 가져오기를 할 수 없습니다. migrate.permission_denied=로컬 저장소는 가져오기를 할 수 없습니다.
migrate.invalid_local_path=잘못된 로컬 경로입니다. 존재하지 않는 경로거나 폴더가 아닙니다. migrate.invalid_local_path=잘못된 로컬 경로입니다. 존재하지 않는 경로거나 폴더가 아닙니다.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=복제 주소는 암묵적으로 차단된 로컬 네트워크 주소로 확인되었습니다.
migrate.failed=마이그레이션 실패: %v migrate.failed=마이그레이션 실패: %v
mirror_from=의 미러 mirror_from=의 미러
@@ -491,6 +495,8 @@ branches.stale_branches=오래된 브랜치
branches.all=모든 브랜치 branches.all=모든 브랜치
branches.updated_by=%[2]s이 %[1]s를 업데이트 branches.updated_by=%[2]s이 %[1]s를 업데이트
branches.change_default_branch=기본 브랜치 변경 branches.change_default_branch=기본 브랜치 변경
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=파일 생성 editor.new_file=파일 생성
editor.upload_file=파일 업로드 editor.upload_file=파일 업로드
@@ -707,9 +713,9 @@ settings.collaboration.undefined=미정의
settings.branches=브랜치 settings.branches=브랜치
settings.branches_bare=당신은 빈 저장소에 대한 브런치를 관리할수 없습니다. 먼저 저장소에 내용을 푸쉬하십시오. settings.branches_bare=당신은 빈 저장소에 대한 브런치를 관리할수 없습니다. 먼저 저장소에 내용을 푸쉬하십시오.
settings.default_branch=기본 브랜치 settings.default_branch=기본 브랜치
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing. settings.default_branch_desc=기본 브랜치는 코드 커밋, 풀 리퀘스트 및 온라인 편집을 위한 "기본" 브랜치로 간주됩니다.
settings.update=업데이트 settings.update=업데이트
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server. settings.update_default_branch_unsupported=서버의 Git 버전에서는 기본 브랜치 변경이 지원되지 않습니다.
settings.update_default_branch_success=이 레포지토리의 기본 브랜치가 성공적으로 설정되었습니다! settings.update_default_branch_success=이 레포지토리의 기본 브랜치가 성공적으로 설정되었습니다!
settings.protected_branches=보호된 브랜치 settings.protected_branches=보호된 브랜치
settings.protected_branches_desc=보호된 브랜치는 force 푸시, 실수로 인한 코드 삭제를 방지하며 코드 커미터를 화이트리스트 합니다. settings.protected_branches_desc=보호된 브랜치는 force 푸시, 실수로 인한 코드 삭제를 방지하며 코드 커미터를 화이트리스트 합니다.
@@ -721,12 +727,12 @@ settings.protect_this_branch_desc=Force 푸시와 삭제를 비활성화합니
settings.protect_require_pull_request=직접 push 를 하지 않고 Pull Request 를 필요로 하도록 합니다. settings.protect_require_pull_request=직접 push 를 하지 않고 Pull Request 를 필요로 하도록 합니다.
settings.protect_require_pull_request_desc=이 브랜치에 직접 푸시를 하는 것을 막고 싶다면 이 옵션을 활성화하세요. 커밋은 다른 비보호 브랜치에 푸시되어야 하며 이 브랜치에는 Pull Request 를 통해 병합될 것입니다. settings.protect_require_pull_request_desc=이 브랜치에 직접 푸시를 하는 것을 막고 싶다면 이 옵션을 활성화하세요. 커밋은 다른 비보호 브랜치에 푸시되어야 하며 이 브랜치에는 Pull Request 를 통해 병합될 것입니다.
settings.protect_whitelist_committers=이 브랜치에 푸시할 수 있는 유저 settings.protect_whitelist_committers=이 브랜치에 푸시할 수 있는 유저
settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check. settings.protect_whitelist_committers_desc=이 브랜치에 직접 푸시할 수 있는 허용 목록에 사람 또는 팀을 추가합니다. 허용 목록에 있는 사용자는 풀 리퀘스트 확인을 거치지 않습니다.
settings.protect_whitelist_users=이 브랜치에 푸시를 할 수 있는 유저 settings.protect_whitelist_users=이 브랜치에 푸시를 할 수 있는 유저
settings.protect_whitelist_search_users=유저 검색 settings.protect_whitelist_search_users=유저 검색
settings.protect_whitelist_teams=Teams for which members of them can push to this branch settings.protect_whitelist_teams=이 브랜치에 푸시할 수 있는 팀의 멤버들
settings.protect_whitelist_search_teams=팀 검색 settings.protect_whitelist_search_teams=팀 검색
settings.update_protect_branch_success=Protect options for this branch has been updated successfully! settings.update_protect_branch_success=브랜치의 보호 옵션이 성공적으로 업데이트되었습니다!
settings.hooks=Webhooks settings.hooks=Webhooks
settings.githooks=Git Hooks settings.githooks=Git Hooks
settings.basic_settings=기본 설정 settings.basic_settings=기본 설정
@@ -745,7 +751,7 @@ settings.external_wiki_url=외부 위키 URL
settings.external_wiki_url_desc=탭을 클릭하면 URL로 리다이렉트됩니다. settings.external_wiki_url_desc=탭을 클릭하면 URL로 리다이렉트됩니다.
settings.issues_desc=이슈 추적기를 사용하도록 설정 settings.issues_desc=이슈 추적기를 사용하도록 설정
settings.use_internal_issue_tracker=내장된 경량 이슈 트레커를 사용 settings.use_internal_issue_tracker=내장된 경량 이슈 트레커를 사용
settings.allow_public_issues_desc=Allow public access to issues when repository is private settings.allow_public_issues_desc=저장소가 비공개인 경우 이슈에 공개적으로 접속할 수 있도록 허용하기
settings.use_external_issue_tracker=외부 이슈 트래커 사용하기 settings.use_external_issue_tracker=외부 이슈 트래커 사용하기
settings.external_tracker_url=외부 이슈 트래커 URL settings.external_tracker_url=외부 이슈 트래커 URL
settings.external_tracker_url_desc=방문자는 탭을 클릭하면 URL로 리다이렉트 됩니다. settings.external_tracker_url_desc=방문자는 탭을 클릭하면 URL로 리다이렉트 됩니다.
@@ -754,9 +760,9 @@ settings.tracker_issue_style=외부 이슈 트래커 명명 스타일:
settings.tracker_issue_style.numeric=숫자 settings.tracker_issue_style.numeric=숫자
settings.tracker_issue_style.alphanumeric=문자 숫자 settings.tracker_issue_style.alphanumeric=문자 숫자
settings.tracker_url_format_desc=<code>{user} {repo} {index}</code> 사용자 명, 저장소 명, 이슈 인덱스를 사용하여 표시자를 사용할 수 있습니다. settings.tracker_url_format_desc=<code>{user} {repo} {index}</code> 사용자 명, 저장소 명, 이슈 인덱스를 사용하여 표시자를 사용할 수 있습니다.
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches settings.pulls_desc=다른 저장소와 브랜치 간의 기여를 수용할 수 있도록 풀 리퀘스트 활성화
settings.pulls.ignore_whitespace=Ignore changes in whitespace settings.pulls.ignore_whitespace=공백 변경 무시
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits settings.pulls.allow_rebase_merge=커밋을 머지하기 위해 리베이스 사용 허용
settings.danger_zone=위험 설정 settings.danger_zone=위험 설정
settings.cannot_fork_to_same_owner=본인 소유의 저장소를 본인 명의로 포크할 수 없습니다. settings.cannot_fork_to_same_owner=본인 소유의 저장소를 본인 명의로 포크할 수 없습니다.
settings.new_owner_has_same_repo=새로운 소유자가 같은 이름의 저장소를 이미 가지고 있습니다. 다른 이름을 선택해주세요. settings.new_owner_has_same_repo=새로운 소유자가 같은 이름의 저장소를 이미 가지고 있습니다. 다른 이름을 선택해주세요.
@@ -777,7 +783,7 @@ settings.wiki_deletion_success=저장소의 Wiki 데이터가 성공적으로
settings.delete=이 저장소 삭제 settings.delete=이 저장소 삭제
settings.delete_desc=저장소를 지우고 나면 되돌릴 수 없습니다. 다시 한번 확인하세요. settings.delete_desc=저장소를 지우고 나면 되돌릴 수 없습니다. 다시 한번 확인하세요.
settings.delete_notices_1=- 이 작업은 취소할 수 <strong>없습니다.</strong> settings.delete_notices_1=- 이 작업은 취소할 수 <strong>없습니다.</strong>
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access. settings.delete_notices_2=- 이 작업을 수행하면 Git 데이터, 이슈, 댓글, 협업자 액세스 등 이 저장소의 모든 내용이 영구적으로 삭제됩니다.
settings.delete_notices_fork_1=- 모든 포크들은 삭제 후에도 독립적으로 유지됩니다. settings.delete_notices_fork_1=- 모든 포크들은 삭제 후에도 독립적으로 유지됩니다.
settings.deletion_success=저장소가 성공적으로 삭제 되었습니다! settings.deletion_success=저장소가 성공적으로 삭제 되었습니다!
settings.update_settings_success=저장소 옵션이 성공적으로 업데이트 되었습니다. settings.update_settings_success=저장소 옵션이 성공적으로 업데이트 되었습니다.
@@ -794,8 +800,8 @@ settings.remove_collaborator_success=공동작업자가 삭제 되었습니다.
settings.search_user_placeholder=사용자 검색... settings.search_user_placeholder=사용자 검색...
settings.org_not_allowed_to_be_collaborator=조직을 공동 작업자로 추가할 수 없습니다. settings.org_not_allowed_to_be_collaborator=조직을 공동 작업자로 추가할 수 없습니다.
settings.hooks_desc=웹후크는 기본적인 HTTP POST 이벤트 트리거입니다. Gogs에서 무슨 일이 발생할 때마다, 지정한 대상 호스트에 알림을 보냅니다. <a target="_blank" href="%s">웹후크 안내서</a>에서 자세히 알아보십시오. settings.hooks_desc=웹후크는 기본적인 HTTP POST 이벤트 트리거입니다. Gogs에서 무슨 일이 발생할 때마다, 지정한 대상 호스트에 알림을 보냅니다. <a target="_blank" href="%s">웹후크 안내서</a>에서 자세히 알아보십시오.
settings.webhooks.add_new=Add a new webhook: settings.webhooks.add_new=새 웹훅 추가
settings.webhooks.choose_a_type=Choose a type... settings.webhooks.choose_a_type=유형 선택...
settings.add_webhook=Webhook 추가 settings.add_webhook=Webhook 추가
settings.webhook_deletion=Webhook 삭제 settings.webhook_deletion=Webhook 삭제
settings.webhook_deletion_desc=이 웹훅을 삭제하면 정보와 모든 전송기록이 제거됩니다. 계속 하시겠습니까? settings.webhook_deletion_desc=이 웹훅을 삭제하면 정보와 모든 전송기록이 제거됩니다. 계속 하시겠습니까?
@@ -804,14 +810,14 @@ settings.webhook.test_delivery=전달 시험
settings.webhook.test_delivery_desc=가짜 푸시 이벤트 전달하여 웹훅 설정을 테스트합니다. settings.webhook.test_delivery_desc=가짜 푸시 이벤트 전달하여 웹훅 설정을 테스트합니다.
settings.webhook.test_delivery_success=Webhook 테스트가 delivery 큐에 추가되었습니다. delivery 기록에서 나오기까지 몇 초의 시간이 걸릴 것입니다. settings.webhook.test_delivery_success=Webhook 테스트가 delivery 큐에 추가되었습니다. delivery 기록에서 나오기까지 몇 초의 시간이 걸릴 것입니다.
settings.webhook.redelivery=재전송 settings.webhook.redelivery=재전송
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history. settings.webhook.redelivery_success=웹훅 작업 '%s'이(가) 다시 전달 큐에 추가되었습니다. 전달 상태는 이력에서 잠시 후 반영됩니다.
settings.webhook.request=요청 settings.webhook.request=요청
settings.webhook.response=응답 settings.webhook.response=응답
settings.webhook.headers=제목 settings.webhook.headers=제목
settings.webhook.payload=페이로드 settings.webhook.payload=페이로드
settings.webhook.body=본문 settings.webhook.body=본문
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v settings.webhook.err_cannot_parse_payload_url=페이로드 URL을 구문 분석할 수 없습니다: %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=로컬 네트워크 주소로 확인된 페이로드 URL이 암묵적으로 차단되었습니다.
settings.githooks_desc=Git Hooks는 Git 자체에서 제공되며, 아래 목록에서 지원되는 후크 파일을 편집하여 사용자 정의 작업을 수행 할 수 있습니다. settings.githooks_desc=Git Hooks는 Git 자체에서 제공되며, 아래 목록에서 지원되는 후크 파일을 편집하여 사용자 정의 작업을 수행 할 수 있습니다.
settings.githook_edit_desc=후크가 비활성인 경우 샘플 콘텐츠가 표시됩니다. 내용을 빈 값으로 두면 이 훅은 비활성화됩니다. settings.githook_edit_desc=후크가 비활성인 경우 샘플 콘텐츠가 표시됩니다. 내용을 빈 값으로 두면 이 훅은 비활성화됩니다.
settings.githook_name=Hook 이름 settings.githook_name=Hook 이름
@@ -821,7 +827,7 @@ settings.add_webhook_desc=Gogs는 발생한 이벤트와 관련하여 지정한
settings.payload_url=페이로드 URL settings.payload_url=페이로드 URL
settings.content_type=컨텐츠 타입 settings.content_type=컨텐츠 타입
settings.secret=비밀 settings.secret=비밀
settings.secret_desc=Secret will be sent as SHA256 HMAC hex digest of payload via <code>X-Gogs-Signature</code> header. settings.secret_desc=시크릿은 <code>X-Gogs-Signature</code> 헤더를 통해 페이로드의 SHA256 HMAC 16진수 다이제스트로 전송됩니다.
settings.slack_username=사용자 이름 settings.slack_username=사용자 이름
settings.slack_icon_url=아이콘 URL settings.slack_icon_url=아이콘 URL
settings.slack_color= settings.slack_color=
@@ -838,7 +844,7 @@ settings.event_fork_desc=저장소 포크됨
settings.event_push=푸시 settings.event_push=푸시
settings.event_push_desc=깃 저장소로 푸시 settings.event_push_desc=깃 저장소로 푸시
settings.event_issues=이슈 settings.event_issues=이슈
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned. settings.event_issues_desc=이슈가 생성됨, 닫힘, 다시 열림, 편집됨, 담당자 지정 또는 해제, 라벨 업데이트 또는 제거, 마일스톤 지정 또는 해제됨.
settings.event_pull_request=끌어오기 요청 settings.event_pull_request=끌어오기 요청
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized. settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
settings.event_issue_comment=이슈 댓글 settings.event_issue_comment=이슈 댓글
@@ -1208,6 +1214,7 @@ config.ssh.listen_host=수신 대기 호스트
config.ssh.listen_port=수신 대기 포트 config.ssh.listen_port=수신 대기 포트
config.ssh.server_ciphers=서버 암호화 config.ssh.server_ciphers=서버 암호화
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=저장소 설정 config.repo_config=저장소 설정
config.repo.root_path=최상위 경로 config.repo.root_path=최상위 경로
@@ -1232,8 +1239,8 @@ config.db_config=데이터베이스 설정
config.db.type=유형 config.db.type=유형
config.db.host=호스트 config.db.host=호스트
config.db.name=이름 config.db.name=이름
config.db.schema=Schema config.db.schema=스키마
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=("postgres" 전용)
config.db.user=사용자 config.db.user=사용자
config.db.ssl_mode=SSL 모드 config.db.ssl_mode=SSL 모드
config.db.ssl_mode_helper=("postgres" 전용) config.db.ssl_mode_helper=("postgres" 전용)
@@ -1271,18 +1278,19 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent='%s'로 테스트 이메일을 보냈습니다. config.email.test_mail_sent='%s'로 테스트 이메일을 보냈습니다.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=이메일 인증 필요
config.auth.require_sign_in_view=Require sign in view config.auth.require_sign_in_view=Require sign in view
config.auth.disable_registration=Disable registration config.auth.disable_registration=등록 비활성화
config.auth.enable_registration_captcha=Enable registration captcha config.auth.enable_registration_captcha=등록시 CAPTCHA 사용
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
config.user_config=User configuration config.user_config=User configuration
config.user.enable_email_notify=Enable email notification config.user.enable_email_notify=이메일 알림 활성화
config.session_config=세션 설정 config.session_config=세션 설정
config.session.provider=공급자 config.session.provider=공급자
@@ -1301,7 +1309,7 @@ config.cache.host=호스트
config.http_config=HTTP 설정 config.http_config=HTTP 설정
config.http.access_control_allow_origin=Access control allow origin config.http.access_control_allow_origin=Access control allow origin
config.attachment_config=Attachment configuration config.attachment_config=첨부 파일 설정
config.attachment.enabled=활성화됨 config.attachment.enabled=활성화됨
config.attachment.path=경로 config.attachment.path=경로
config.attachment.allowed_types=허용 유형 config.attachment.allowed_types=허용 유형
@@ -1318,10 +1326,10 @@ config.picture_config=이미지 설정
config.picture.avatar_upload_path=사용자 아바타 업로드 경로 config.picture.avatar_upload_path=사용자 아바타 업로드 경로
config.picture.repo_avatar_upload_path=Repository avatar upload path config.picture.repo_avatar_upload_path=Repository avatar upload path
config.picture.gravatar_source=Gravatar source config.picture.gravatar_source=Gravatar source
config.picture.disable_gravatar=Disable Gravatar config.picture.disable_gravatar=Gravatar 비활성화
config.picture.enable_federated_avatar=Enable federated avatars config.picture.enable_federated_avatar=Enable federated avatars
config.mirror_config=Mirror configuration config.mirror_config=미러 설정
config.mirror.default_interval=기본 간격 config.mirror.default_interval=기본 간격
config.webhook_config=웹훅 설정 config.webhook_config=웹훅 설정
@@ -1341,8 +1349,8 @@ config.git.clone_timeout=클론 제한 시간
config.git.pull_timeout=풀 제한 시간 config.git.pull_timeout=풀 제한 시간
config.git.gc_timeout=GC 제한 시간 config.git.gc_timeout=GC 제한 시간
config.lfs_config=LFS configuration config.lfs_config=LFS 구성
config.lfs.storage=Storage config.lfs.storage=저장소
config.lfs.objects_path=Objects path config.lfs.objects_path=Objects path
config.log_config=로그 설정 config.log_config=로그 설정

View File

@@ -88,6 +88,7 @@ log_root_path=Žurnalizēšanas direktorija
log_root_path_helper=Direktorija, kurā tiks glabāti žurnāla faili. log_root_path_helper=Direktorija, kurā tiks glabāti žurnāla faili.
enable_console_mode=Iespējot konsoles režīmu enable_console_mode=Iespējot konsoles režīmu
enable_console_mode_popup=Papildus faila režīmam, papildus rakstīt žurnāla ierakstus konsolē. enable_console_mode_popup=Papildus faila režīmam, papildus rakstīt žurnāla ierakstus konsolē.
default_branch=Default Branch
optional_title=Neobligātie iestatījumi optional_title=Neobligātie iestatījumi
email_title=E-pasta pakalpojuma iestatījumi email_title=E-pasta pakalpojuma iestatījumi
@@ -316,6 +317,7 @@ delete_email=Dzēst
email_deletion=E-pasta dzēšana email_deletion=E-pasta dzēšana
email_deletion_desc=Dzēšot šo e-pasta adresi, tiks dzēsta arī visa ar to saistītā informācija no Jūsu konta. Vai vēlaties turpināt? email_deletion_desc=Dzēšot šo e-pasta adresi, tiks dzēsta arī visa ar to saistītā informācija no Jūsu konta. Vai vēlaties turpināt?
email_deletion_success=E-pasta adrese ir veiksmīgi izdzēsta! email_deletion_success=E-pasta adrese ir veiksmīgi izdzēsta!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Pievienot jaunu e-pasta adresi add_new_email=Pievienot jaunu e-pasta adresi
add_email=Pievienot e-pastu add_email=Pievienot e-pastu
add_email_confirmation_sent=Jauns apstiprinājuma e-pasts tika nosūtīts uz '%s', pārbaudiet savu e-pastu tuvāko %d stundu laikā, lai pabeigtu apstiprināšanas procesu. add_email_confirmation_sent=Jauns apstiprinājuma e-pasts tika nosūtīts uz '%s', pārbaudiet savu e-pastu tuvāko %d stundu laikā, lai pabeigtu apstiprināšanas procesu.
@@ -370,6 +372,7 @@ two_factor_disable_success=Divu faktoru autentificēšana ir atspējota!
manage_access_token=Pārvaldīt personīgos piekļuves talonus manage_access_token=Pārvaldīt personīgos piekļuves talonus
generate_new_token=Ģenerēt jaunu talonu generate_new_token=Ģenerēt jaunu talonu
tokens_desc=Taloni, kurus esat uzģenerējuši, kas var tikt izmantoti, lai piekļūtu Gogs API. tokens_desc=Taloni, kurus esat uzģenerējuši, kas var tikt izmantoti, lai piekļūtu Gogs API.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Pašlaik visiem taloniem ir pilna piekļuve Jūsu kontam. new_token_desc=Pašlaik visiem taloniem ir pilna piekļuve Jūsu kontam.
token_name=Talona nosaukums token_name=Talona nosaukums
generate_token=Ģenerēt talonu generate_token=Ģenerēt talonu
@@ -491,6 +494,8 @@ branches.stale_branches=Pamests atzars
branches.all=Visi atzari branches.all=Visi atzari
branches.updated_by=%[2]s atjaunoja %[1]s branches.updated_by=%[2]s atjaunoja %[1]s
branches.change_default_branch=Mainīt noklusēto atzaru branches.change_default_branch=Mainīt noklusēto atzaru
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Jauns fails editor.new_file=Jauns fails
editor.upload_file=Augšupielādēt failu editor.upload_file=Augšupielādēt failu
@@ -1012,8 +1017,8 @@ total=Kopā: %d
dashboard.build_info=Build Information dashboard.build_info=Build Information
dashboard.app_ver=Application version dashboard.app_ver=Application version
dashboard.git_version=Git version dashboard.git_version=Git versija
dashboard.go_version=Go version dashboard.go_version=Go versija
dashboard.build_time=Build time dashboard.build_time=Build time
dashboard.build_commit=Build commit dashboard.build_commit=Build commit
dashboard.statistic=Statistika dashboard.statistic=Statistika
@@ -1176,24 +1181,24 @@ config.brand_name=Brand name
config.run_user=Izpildes lietotājs config.run_user=Izpildes lietotājs
config.run_mode=Izpildes režīms config.run_mode=Izpildes režīms
config.server.external_url=External URL config.server.external_url=External URL
config.server.domain=Domain config.server.domain=Domēns
config.server.protocol=Protocol config.server.protocol=Protokols
config.server.http_addr=HTTP address config.server.http_addr=HTTP adrese
config.server.http_port=HTTP port config.server.http_port=HTTP ports
config.server.cert_file=Certificate file config.server.cert_file=Sertifikāta fails
config.server.key_file=Key file config.server.key_file=Privātais kriptogrāfijas atslēgas fails
config.server.tls_min_version=Minimum TLS version config.server.tls_min_version=Minimālā TLS versija
config.server.unix_socket_permission=Unix socket permission config.server.unix_socket_permission=Unix socket permission
config.server.local_root_url=Local root URL config.server.local_root_url=Local root URL
config.server.offline_mode=Offline mode config.server.offline_mode=Offline mode
config.server.disable_router_log=Disable router log config.server.disable_router_log=Disable router log
config.server.enable_gzip=Enable Gzip config.server.enable_gzip=Iespējot Gzip
config.server.app_data_path=Application data path config.server.app_data_path=Application data path
config.server.load_assets_from_disk=Load assets from disk config.server.load_assets_from_disk=Load assets from disk
config.server.landing_url=Landing URL config.server.landing_url=Landing URL
config.ssh_config=SSH konfigurācija config.ssh_config=SSH konfigurācija
config.ssh.enabled=Enabled config.ssh.enabled=Iespējots
config.ssh.domain=Exposed domain config.ssh.domain=Exposed domain
config.ssh.port=Exposed port config.ssh.port=Exposed port
config.ssh.root_path=Root path config.ssh.root_path=Root path
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repozitorija konfigurācija config.repo_config=Repozitorija konfigurācija
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1228,12 +1234,12 @@ config.repo.upload.file_max_size=Upload file size limit
config.repo.upload.max_files=Upload files limit config.repo.upload.max_files=Upload files limit
config.db_config=Datu bāzes konfigurācija config.db_config=Datu bāzes konfigurācija
config.db.type=Type config.db.type=Tips
config.db.host=Host config.db.host=Host
config.db.name=Name config.db.name=Datubāzes nosaukums
config.db.schema=Schema config.db.schema=Schema
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(for "postgres" only)
config.db.user=User config.db.user=Datubāzes lietotājs
config.db.ssl_mode=SSL mode config.db.ssl_mode=SSL mode
config.db.ssl_mode_helper=(for "postgres" only) config.db.ssl_mode_helper=(for "postgres" only)
config.db.path=Path config.db.path=Path
@@ -1251,12 +1257,12 @@ config.security.enable_login_status_cookie=Enable login status cookie
config.security.login_status_cookie_name=Login status cookie config.security.login_status_cookie_name=Login status cookie
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Local network allowlist
config.email_config=Email configuration config.email_config=E-pasta iestatījumi
config.email.enabled=Enabled config.email.enabled=Iespējots
config.email.subject_prefix=Subject prefix config.email.subject_prefix=Subject prefix
config.email.host=Host config.email.host=Host
config.email.from=From config.email.from=Sūtītājs
config.email.user=User config.email.user=Lietotājs
config.email.disable_helo=Disable HELO config.email.disable_helo=Disable HELO
config.email.helo_hostname=HELO hostname config.email.helo_hostname=HELO hostname
config.email.skip_verify=Skip certificate verify config.email.skip_verify=Skip certificate verify
@@ -1265,11 +1271,12 @@ config.email.cert_file=Certificate file
config.email.key_file=Key file config.email.key_file=Key file
config.email.use_plain_text=Use plain text config.email.use_plain_text=Use plain text
config.email.add_plain_text_alt=Add plain text alternative config.email.add_plain_text_alt=Add plain text alternative
config.email.send_test_mail=Send test email config.email.send_test_mail=Nosūtīt pārbaudes e-pastu
config.email.test_mail_failed=Failed to send test email to '%s': %v config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation
@@ -1287,7 +1294,7 @@ config.session_config=Sesijas konfigurācja
config.session.provider=Provider config.session.provider=Provider
config.session.provider_config=Provider config config.session.provider_config=Provider config
config.session.cookie_name=Cookie config.session.cookie_name=Cookie
config.session.https_only=HTTPS only config.session.https_only=Tikai HTTPS
config.session.gc_interval=GC interval config.session.gc_interval=GC interval
config.session.max_life_time=Max life time config.session.max_life_time=Max life time
config.session.csrf_cookie_name=CSRF cookie config.session.csrf_cookie_name=CSRF cookie
@@ -1301,17 +1308,17 @@ config.http_config=HTTP konfigurācija
config.http.access_control_allow_origin=Access control allow origin config.http.access_control_allow_origin=Access control allow origin
config.attachment_config=Attachment configuration config.attachment_config=Attachment configuration
config.attachment.enabled=Enabled config.attachment.enabled=Iespējots
config.attachment.path=Path config.attachment.path=Path
config.attachment.allowed_types=Allowed types config.attachment.allowed_types=Atļautie tipi
config.attachment.max_size=Size limit config.attachment.max_size=Maksimālais izmērs
config.attachment.max_files=Files limit config.attachment.max_files=Maksimālais failu skaits
config.release_config=Release configuration config.release_config=Release configuration
config.release.attachment.enabled=Attachment enabled config.release.attachment.enabled=Pielikums iespējots
config.release.attachment.allowed_types=Attachment allowed types config.release.attachment.allowed_types=Atļautie pielikuma tipi
config.release.attachment.max_size=Attachment size limit config.release.attachment.max_size=Pielikuma maksimālais izmērs
config.release.attachment.max_files=Attachment files limit config.release.attachment.max_files=Maksimālais pielikuma failu skaits
config.picture_config=Attēlu konfigurācija config.picture_config=Attēlu konfigurācija
config.picture.avatar_upload_path=User avatar upload path config.picture.avatar_upload_path=User avatar upload path
@@ -1321,7 +1328,7 @@ config.picture.disable_gravatar=Disable Gravatar
config.picture.enable_federated_avatar=Enable federated avatars config.picture.enable_federated_avatar=Enable federated avatars
config.mirror_config=Mirror configuration config.mirror_config=Mirror configuration
config.mirror.default_interval=Default interval config.mirror.default_interval=Noklusētais intervāls
config.webhook_config=Tīkla āķu konfigurācija config.webhook_config=Tīkla āķu konfigurācija
config.webhook.types=Types config.webhook.types=Types

View File

@@ -88,6 +88,7 @@ log_root_path=Log Path
log_root_path_helper=Directory to write log files to. log_root_path_helper=Directory to write log files to.
enable_console_mode=Enable Console Mode enable_console_mode=Enable Console Mode
enable_console_mode_popup=In addition to file mode, also print logs to console. enable_console_mode_popup=In addition to file mode, also print logs to console.
default_branch=Default Branch
optional_title=Optional Settings optional_title=Optional Settings
email_title=Email Service Settings email_title=Email Service Settings
@@ -316,6 +317,7 @@ delete_email=Устгах
email_deletion=Имэйл устгах email_deletion=Имэйл устгах
email_deletion_desc=Энэ имэйл хаягийг устгаснаар холбогдох мэдээллийг таны данснаас устгах болно. Та үргэлжлүүлэхийг хүсч байна уу? email_deletion_desc=Энэ имэйл хаягийг устгаснаар холбогдох мэдээллийг таны данснаас устгах болно. Та үргэлжлүүлэхийг хүсч байна уу?
email_deletion_success=Имэйлийг амжилттай устгалаа! email_deletion_success=Имэйлийг амжилттай устгалаа!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Шинэ имэйл хаяг нэмэх add_new_email=Шинэ имэйл хаяг нэмэх
add_email=Имэйл нэмэх add_email=Имэйл нэмэх
add_email_confirmation_sent=Шинэ баталгаажуулах имэйлийг '%s' хаяг руу илгээлээ. Баталгаажуулах процессыг дуусгахын тулд имэйл нээж дараагийн %d цагийн дотор баталгаажуулна уу. add_email_confirmation_sent=Шинэ баталгаажуулах имэйлийг '%s' хаяг руу илгээлээ. Баталгаажуулах процессыг дуусгахын тулд имэйл нээж дараагийн %d цагийн дотор баталгаажуулна уу.
@@ -370,6 +372,7 @@ two_factor_disable_success=Хоёр давхар баталгаажуулалт
manage_access_token=Хувийн хандалтын токенуудыг удирдах manage_access_token=Хувийн хандалтын токенуудыг удирдах
generate_new_token=Шинэ токен үүсгэх generate_new_token=Шинэ токен үүсгэх
tokens_desc=Таны үүсгэсэн токенуудыг Gogs API-д нэвтрэхэд ашиглаж болно. tokens_desc=Таны үүсгэсэн токенуудыг Gogs API-д нэвтрэхэд ашиглаж болно.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Токен бүр таны дансанд бүрэн нэвтрэх боломжтой болно. new_token_desc=Токен бүр таны дансанд бүрэн нэвтрэх боломжтой болно.
token_name=Токены нэр token_name=Токены нэр
generate_token=Токены үүсгэх generate_token=Токены үүсгэх
@@ -491,6 +494,8 @@ branches.stale_branches=Хуучирсан салаанууд
branches.all=Бүх салаанууд branches.all=Бүх салаанууд
branches.updated_by=Шинэчлэгдсэн %[1]s by %[2]s branches.updated_by=Шинэчлэгдсэн %[1]s by %[2]s
branches.change_default_branch=Анхны салаа өөрчлөх branches.change_default_branch=Анхны салаа өөрчлөх
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Шинэ файл editor.new_file=Шинэ файл
editor.upload_file=Файл хуулах editor.upload_file=Файл хуулах
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Сонсох хост
config.ssh.listen_port=Сонсох порт config.ssh.listen_port=Сонсох порт
config.ssh.server_ciphers=Серверийн шифр config.ssh.server_ciphers=Серверийн шифр
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Хадгалах сангийн тохиргоо config.repo_config=Хадгалах сангийн тохиргоо
config.repo.root_path=Root буюу эх зам config.repo.root_path=Root буюу эх зам
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Туршилтын имэйлийг '%s': %v рү
config.email.test_mail_sent=Туршилтын имэйл '%s' рүү илгээгдлээ. config.email.test_mail_sent=Туршилтын имэйл '%s' рүү илгээгдлээ.
config.auth_config=Authentication тохиргоо config.auth_config=Authentication тохиргоо
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Кодын ашиглалтыг идэвхжүүлэх config.auth.activate_code_lives=Кодын ашиглалтыг идэвхжүүлэх
config.auth.reset_password_code_lives=Нууц үгийн кодыг шинэчлэх config.auth.reset_password_code_lives=Нууц үгийн кодыг шинэчлэх
config.auth.require_email_confirm=Имэйлээр баталгаажуулахыг шаардана config.auth.require_email_confirm=Имэйлээр баталгаажуулахыг шаардана

View File

@@ -45,13 +45,13 @@ cancel=Annuleren
[status] [status]
page_not_found=Pagina niet gevonden page_not_found=Pagina niet gevonden
internal_server_error=Internal Server Error internal_server_error=Interne Server Fout
[install] [install]
install=Installatie install=Installatie
title=Installatiestappen voor de eerste keer opstarten title=Installatiestappen voor de eerste keer opstarten
docker_helper=Als u gebruik maakt Gogs binnen Docker, lees dan de <a target="_blank" href="%s">richtlijnen</a> voordat u iets veranderen op deze pagina! docker_helper=Als u gebruik maakt Gogs binnen Docker, lees dan de <a target="_blank" href="%s">richtlijnen</a> voordat u iets veranderen op deze pagina!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs heeft MySQL, PostgreSQL, SQLite3 of TiDB (via het MySQL protocool) nodig.
db_title=Database-instellingen db_title=Database-instellingen
db_type=Database-type db_type=Database-type
host=Host host=Host
@@ -88,6 +88,7 @@ log_root_path=Log-pad
log_root_path_helper=Directory waar logbestanden opgeslagen worden. log_root_path_helper=Directory waar logbestanden opgeslagen worden.
enable_console_mode=Schakel Console modus in enable_console_mode=Schakel Console modus in
enable_console_mode_popup=Naast de bestand modus print het ook de logs naar de console. enable_console_mode_popup=Naast de bestand modus print het ook de logs naar de console.
default_branch=Standaard branch
optional_title=Optionele instellingen optional_title=Optionele instellingen
email_title=E-mail service instellingen email_title=E-mail service instellingen
@@ -126,7 +127,7 @@ run_user_not_match=De uitvoerende gebruiker is niet de huidig gebruiker: %s -> %
smtp_host_missing_port=SMTP-Host mist een poort in het adres. smtp_host_missing_port=SMTP-Host mist een poort in het adres.
invalid_smtp_from=SMTP-van-veld is niet geldig: %v invalid_smtp_from=SMTP-van-veld is niet geldig: %v
save_config_failed=Kan de configuratie niet opslaan: %v save_config_failed=Kan de configuratie niet opslaan: %v
init_failed=Failed to initialize application: %v init_failed=Programma initialiseren mislukt: %v
invalid_admin_setting=Uw admin-instellingen zijn niet geldig: %v invalid_admin_setting=Uw admin-instellingen zijn niet geldig: %v
install_success=Welkom! Wij zijn veheugd dat u voor Gogs heeft gekozen, veel plezier en tot ziens install_success=Welkom! Wij zijn veheugd dat u voor Gogs heeft gekozen, veel plezier en tot ziens
invalid_log_root_path=Ongeldig log-pad: %v invalid_log_root_path=Ongeldig log-pad: %v
@@ -182,7 +183,7 @@ login_two_factor_enter_recovery_code=Voer de two-factor herstelcode in
login_two_factor_recovery=Two-factor herstel login_two_factor_recovery=Two-factor herstel
login_two_factor_recovery_code=Herstel code login_two_factor_recovery_code=Herstel code
login_two_factor_enter_passcode=Voer een two-factor wachtwoord in login_two_factor_enter_passcode=Voer een two-factor wachtwoord in
login_two_factor_invalid_recovery_code=Recovery code already used or invalid. login_two_factor_invalid_recovery_code=Herstelcode is al gebruikt of ongeldig.
[mail] [mail]
activate_account=Activeer uw account activate_account=Activeer uw account
@@ -219,7 +220,7 @@ Content=Inhoud
require_error=kan niet leeg zijn. require_error=kan niet leeg zijn.
alpha_dash_error=moet een valide alfanumeriek of dash(-_) karakter zijn. alpha_dash_error=moet een valide alfanumeriek of dash(-_) karakter zijn.
alpha_dash_dot_error=moet een valide alfanumeriek, dash(-_) of (.) punt karakter zijn. alpha_dash_dot_error=moet een valide alfanumeriek, dash(-_) of (.) punt karakter zijn.
alpha_dash_dot_slash_error=` must be alphanumeric, dash (-_), dot or slash characters.` alpha_dash_dot_slash_error=` moet een geldige alfanumeriek, (lage) streepje (-_), punt of een schuin karakter zijn.`
size_error=moet groter zijn dan %s size_error=moet groter zijn dan %s
min_size_error=moet minimaal %s karakters bevatten. min_size_error=moet minimaal %s karakters bevatten.
max_size_error=mag maximaal %s karakters bevatten. max_size_error=mag maximaal %s karakters bevatten.
@@ -236,7 +237,7 @@ org_name_been_taken=Organisatie naam is al in gebruik.
team_name_been_taken=Team naam is al in gebruik. team_name_been_taken=Team naam is al in gebruik.
email_been_used=e-mailadres is al in gebruik. email_been_used=e-mailadres is al in gebruik.
username_password_incorrect=Gebruikersnaam of wachtwoord is niet correct. username_password_incorrect=Gebruikersnaam of wachtwoord is niet correct.
auth_source_mismatch=The authentication source selected is not associated with the user. auth_source_mismatch=De geselecteerde authenticatiebron is niet gekoppeld aan de gebruiker.
enterred_invalid_repo_name=U heeft een onjuiste repositorie naam ingevoerd. enterred_invalid_repo_name=U heeft een onjuiste repositorie naam ingevoerd.
enterred_invalid_owner_name=U heeft een onjuiste eigenaar ingevoerd. enterred_invalid_owner_name=U heeft een onjuiste eigenaar ingevoerd.
enterred_invalid_password=U heeft een onjuiste wachtwoord ingevoerd. enterred_invalid_password=U heeft een onjuiste wachtwoord ingevoerd.
@@ -316,6 +317,7 @@ delete_email=Verwijder
email_deletion=E-mail Verwijderen email_deletion=E-mail Verwijderen
email_deletion_desc=Dit e-mailadres verwijdert, worden gerelateerde informatie van uw account te verwijderen. Wil je verdergaan? email_deletion_desc=Dit e-mailadres verwijdert, worden gerelateerde informatie van uw account te verwijderen. Wil je verdergaan?
email_deletion_success=E-mail is succesvol verwijderd! email_deletion_success=E-mail is succesvol verwijderd!
email_deletion_primary=Kan het primaire e-mailadres niet verwijderen.
add_new_email=Nieuw e-mailadres toevoegen add_new_email=Nieuw e-mailadres toevoegen
add_email=E-mailadres toevoegen add_email=E-mailadres toevoegen
add_email_confirmation_sent=Een nieuwe bevestiging e-mail werd verstuurd naar '%s', gelieve uw inbox in de komende %d uren te controleren om het bevestigingsproces te voltooien. add_email_confirmation_sent=Een nieuwe bevestiging e-mail werd verstuurd naar '%s', gelieve uw inbox in de komende %d uren te controleren om het bevestigingsproces te voltooien.
@@ -341,7 +343,7 @@ no_activity=Geen recente activiteiten
key_state_desc=Deze sleutel werd gebruikt in de laatste 7 dagen key_state_desc=Deze sleutel werd gebruikt in de laatste 7 dagen
token_state_desc=Deze token is de laatste 7 dagen gebruikt token_state_desc=Deze token is de laatste 7 dagen gebruikt
two_factor=Two-factor Authentication two_factor=Twee-factor authenticatie
two_factor_status=Status: two_factor_status=Status:
two_factor_on=Aan two_factor_on=Aan
two_factor_off=Uit two_factor_off=Uit
@@ -349,9 +351,9 @@ two_factor_enable=Inschakelen
two_factor_disable=Uitschakelen two_factor_disable=Uitschakelen
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application. two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>. two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
two_factor_enable_title=Enable Two-factor Authentication two_factor_enable_title=Tweestapsverificatie inschakelen
two_factor_scan_qr=Please use your authentication application to scan the image: two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret: two_factor_or_enter_secret=Of voer het geheim in:
two_factor_then_enter_passcode=Then enter passcode: two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verifiëren two_factor_verify=Verifiëren
two_factor_invalid_passcode=The passcode you entered is not valid, please try again! two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
@@ -370,6 +372,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=Persoonlijke toegangstokens beheren manage_access_token=Persoonlijke toegangstokens beheren
generate_new_token=Nieuwe Token genereren generate_new_token=Nieuwe Token genereren
tokens_desc=Tokens die u hebt gegenereerd om toegang tot de Gogs APIs te verkrijgen. tokens_desc=Tokens die u hebt gegenereerd om toegang tot de Gogs APIs te verkrijgen.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Zoals voor nu, moet elke token zal hebben volledige toegang tot uw account. new_token_desc=Zoals voor nu, moet elke token zal hebben volledige toegang tot uw account.
token_name=Symbolische naam token_name=Symbolische naam
generate_token=Token genereren generate_token=Token genereren
@@ -491,6 +494,8 @@ branches.stale_branches=Stale Branches
branches.all=All Branches branches.all=All Branches
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Change Default Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nieuw bestand editor.new_file=Nieuw bestand
editor.upload_file=Bestand uploaden editor.upload_file=Bestand uploaden
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository configuration config.repo_config=Repository configuration
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=Ścieżka dla logów
log_root_path_helper=Katalog do zapisu logów. log_root_path_helper=Katalog do zapisu logów.
enable_console_mode=Włącz tryb konsolowy enable_console_mode=Włącz tryb konsolowy
enable_console_mode_popup=Oprócz zapisywania do pliku wyświetlaj logi także w konsoli. enable_console_mode_popup=Oprócz zapisywania do pliku wyświetlaj logi także w konsoli.
default_branch=Default Branch
optional_title=Ustawienia opcjonalne optional_title=Ustawienia opcjonalne
email_title=Ustawienia serwera e-mail email_title=Ustawienia serwera e-mail
@@ -316,6 +317,7 @@ delete_email=Usuń
email_deletion=Usunięcie wiadomości e-mail email_deletion=Usunięcie wiadomości e-mail
email_deletion_desc=Usunięcie tego adresu e-mail spowoduje usunięcie innych informacji związanych z Twoim kontem. Czy chcesz kontynuować? email_deletion_desc=Usunięcie tego adresu e-mail spowoduje usunięcie innych informacji związanych z Twoim kontem. Czy chcesz kontynuować?
email_deletion_success=E-mail został usunięty pomyślnie! email_deletion_success=E-mail został usunięty pomyślnie!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Dodaj nowy e-mail add_new_email=Dodaj nowy e-mail
add_email=Dodaj e-mail add_email=Dodaj e-mail
add_email_confirmation_sent=Nowa wiadomość e-mail z potwierdzeniem została wysłana do '%s', proszę sprawdzić swoją skrzynkę odbiorczą w ciągu %d godzin, aby dokończyć proces potwierdzania. add_email_confirmation_sent=Nowa wiadomość e-mail z potwierdzeniem została wysłana do '%s', proszę sprawdzić swoją skrzynkę odbiorczą w ciągu %d godzin, aby dokończyć proces potwierdzania.
@@ -370,6 +372,7 @@ two_factor_disable_success=Uwierzytelnianie dwuetapowe wyłączono pomyślnie!
manage_access_token=Zarządzaj osobistymi tokenami dostępu manage_access_token=Zarządzaj osobistymi tokenami dostępu
generate_new_token=Wygeneruj nowy token generate_new_token=Wygeneruj nowy token
tokens_desc=Tokeny, które wygenerowałeś, mogą być użyte do dostępu do API Gogs. tokens_desc=Tokeny, które wygenerowałeś, mogą być użyte do dostępu do API Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Jak na razie, każdy token zapewnia pełen dostęp do Twojego konta. new_token_desc=Jak na razie, każdy token zapewnia pełen dostęp do Twojego konta.
token_name=Nazwa tokena token_name=Nazwa tokena
generate_token=Wygeneruj token generate_token=Wygeneruj token
@@ -491,6 +494,8 @@ branches.stale_branches=Stare gałęzie
branches.all=Wszystkie gałęzie branches.all=Wszystkie gałęzie
branches.updated_by=Zaktualizowano %[1]s przez %[2]s branches.updated_by=Zaktualizowano %[1]s przez %[2]s
branches.change_default_branch=Zmiana domyślnej gałęzi branches.change_default_branch=Zmiana domyślnej gałęzi
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nowy plik editor.new_file=Nowy plik
editor.upload_file=Załaduj plik editor.upload_file=Załaduj plik
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Port nasłuchu config.ssh.listen_port=Port nasłuchu
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Konfiguracja repozytorium config.repo_config=Konfiguracja repozytorium
config.repo.root_path=Ścieżka katalogu głównego config.repo.root_path=Ścieżka katalogu głównego
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Nie udało się wysłać wiadomości testowej do '
config.email.test_mail_sent=Wiadomość testowa została wysłana do '%s'. config.email.test_mail_sent=Wiadomość testowa została wysłana do '%s'.
config.auth_config=Konfiguracja uwierzytelniania config.auth_config=Konfiguracja uwierzytelniania
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Wymagaj potwierdzenia adresu e-mail config.auth.require_email_confirm=Wymagaj potwierdzenia adresu e-mail

View File

@@ -88,6 +88,7 @@ log_root_path=Caminho do log
log_root_path_helper=Pasta dos arquivos de log. log_root_path_helper=Pasta dos arquivos de log.
enable_console_mode=Ativar o modo de console enable_console_mode=Ativar o modo de console
enable_console_mode_popup=Além do modo de arquivo, exibir registros (log) no console. enable_console_mode_popup=Além do modo de arquivo, exibir registros (log) no console.
default_branch=Default Branch
optional_title=Configurações opcionais optional_title=Configurações opcionais
email_title=Configurações do serviço de e-mail email_title=Configurações do serviço de e-mail
@@ -316,6 +317,7 @@ delete_email=Deletar
email_deletion=Exclusão do email email_deletion=Exclusão do email
email_deletion_desc=Ao Excluir este endereço de e-mail será removido informações relacionadas com a sua conta. Você deseja continuar? email_deletion_desc=Ao Excluir este endereço de e-mail será removido informações relacionadas com a sua conta. Você deseja continuar?
email_deletion_success=O E-mail foi excluído com sucesso! email_deletion_success=O E-mail foi excluído com sucesso!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Adicionar novo endereço de e-mail add_new_email=Adicionar novo endereço de e-mail
add_email=Adicionar e-mail add_email=Adicionar e-mail
add_email_confirmation_sent=Um novo e-mail de confirmação foi enviado para '%s'. Por favor, verifique sua Caixa de Entrada dentro das próximas %d horas, para concluir o processo de confirmação. add_email_confirmation_sent=Um novo e-mail de confirmação foi enviado para '%s'. Por favor, verifique sua Caixa de Entrada dentro das próximas %d horas, para concluir o processo de confirmação.
@@ -370,6 +372,7 @@ two_factor_disable_success=A autenticação de dois fatores foi desativada com s
manage_access_token=Gerenciar tokens de acesso pessoal manage_access_token=Gerenciar tokens de acesso pessoal
generate_new_token=Gerar novo token generate_new_token=Gerar novo token
tokens_desc=Tokens gerados por você que podem ser usados para acessar a API do Gogs. tokens_desc=Tokens gerados por você que podem ser usados para acessar a API do Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Por enquanto, todo token terá acesso completo à sua conta. new_token_desc=Por enquanto, todo token terá acesso completo à sua conta.
token_name=Nome do token token_name=Nome do token
generate_token=Gerar token generate_token=Gerar token
@@ -491,6 +494,8 @@ branches.stale_branches=Branches obsoletos
branches.all=Todos os branches branches.all=Todos os branches
branches.updated_by=Atualizado %[1]s por %[2]s branches.updated_by=Atualizado %[1]s por %[2]s
branches.change_default_branch=Modificar branch padrão branches.change_default_branch=Modificar branch padrão
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Novo arquivo editor.new_file=Novo arquivo
editor.upload_file=Enviar arquivo editor.upload_file=Enviar arquivo
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Configuração do Repositório config.repo_config=Configuração do Repositório
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -51,14 +51,14 @@ internal_server_error=Erro do servidor interno
install=Instalação install=Instalação
title=Procedimentos para a instalação inicial title=Procedimentos para a instalação inicial
docker_helper=Se estiver a executar o Gogs dentro de uma instância Docker, por favor leia as<a target="_blank" href="%s">Orientações</a> com atenção, antes de alterar algo nesta página! docker_helper=Se estiver a executar o Gogs dentro de uma instância Docker, por favor leia as<a target="_blank" href="%s">Orientações</a> com atenção, antes de alterar algo nesta página!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs requer uma destas base de dados: MySQL, PostgreSQL, SQLite3 ou TiDB (usando o protocolo MySQL).
db_title=Configurações da Base de Dados db_title=Configurações da Base de Dados
db_type=Tipo de Base de Dados db_type=Tipo de Base de Dados
host=Servidor host=Servidor
user=Utilizador user=Utilizador
password=Palavra-Chave password=Palavra-Chave
db_name=Nome da base de dados db_name=Nome da base de dados
db_schema=Schema db_schema=Esquema
db_helper=Por favor, utilize o motor INNODB do MySQL, com suporte para o mapa de caracteres utf8_general_ci. db_helper=Por favor, utilize o motor INNODB do MySQL, com suporte para o mapa de caracteres utf8_general_ci.
ssl_mode=Modo SSL ssl_mode=Modo SSL
path=Directoria path=Directoria
@@ -88,6 +88,7 @@ log_root_path=Caminho dos Logs
log_root_path_helper=Directoria para aonde gravar os Logs. log_root_path_helper=Directoria para aonde gravar os Logs.
enable_console_mode=Ativar o Modo Consola enable_console_mode=Ativar o Modo Consola
enable_console_mode_popup=Para além de guardar logs num ficheiro, mostrá-los na consola. enable_console_mode_popup=Para além de guardar logs num ficheiro, mostrá-los na consola.
default_branch=Ramo por omissão
optional_title=Configurações opcionais optional_title=Configurações opcionais
email_title=Configurações do serviço de e-mail email_title=Configurações do serviço de e-mail
@@ -264,7 +265,7 @@ following=Seguindo
follow=Seguir follow=Seguir
unfollow=Deixar de seguir unfollow=Deixar de seguir
form.name_not_allowed=User name or pattern %q is not allowed. form.name_not_allowed=Não é permitido usar o padrão '%s' para o nome do utilizador.
[settings] [settings]
profile=Perfil profile=Perfil
@@ -316,6 +317,7 @@ delete_email=Eliminar
email_deletion=Eliminação de e-mail email_deletion=Eliminação de e-mail
email_deletion_desc=Eliminar este endereço de e-mail irá remover todas as informações relacionadas da sua conta. Pretende continuar? email_deletion_desc=Eliminar este endereço de e-mail irá remover todas as informações relacionadas da sua conta. Pretende continuar?
email_deletion_success=O e-mail foi eliminado com sucesso! email_deletion_success=O e-mail foi eliminado com sucesso!
email_deletion_primary=Não é possível remover o endereço de e-mail primário.
add_new_email=Adicionar um novo endereço de e-mail add_new_email=Adicionar um novo endereço de e-mail
add_email=Adicionar e-mail add_email=Adicionar e-mail
add_email_confirmation_sent=Um novo e-mail de confirmação foi enviado para '%s', por favor verifique a sua caixa de correio dento das próximas %d horas para completar o processo de confirmação. add_email_confirmation_sent=Um novo e-mail de confirmação foi enviado para '%s', por favor verifique a sua caixa de correio dento das próximas %d horas para completar o processo de confirmação.
@@ -370,6 +372,7 @@ two_factor_disable_success=A autenticação de dois fatores foi desativada com s
manage_access_token=Gerir Tokens de Acesso Pessoal manage_access_token=Gerir Tokens de Acesso Pessoal
generate_new_token=Gerar Novo Token generate_new_token=Gerar Novo Token
tokens_desc=Tokens que gerou que podem ser usadas para aceder as APIs do Gogs. tokens_desc=Tokens que gerou que podem ser usadas para aceder as APIs do Gogs.
access_token_tips=O token de acesso pessoal pode ser usado tanto como nome do utilizador ou senha de acesso. É recomendado usar o "x-access-token" como o nome do utilizador e o token de acesso pessoal como a senha para aplicações Git.
new_token_desc=Cada token vai ter acesso completo à sua conta. new_token_desc=Cada token vai ter acesso completo à sua conta.
token_name=Nome do Token token_name=Nome do Token
generate_token=Gerar Token generate_token=Gerar Token
@@ -400,9 +403,9 @@ owner=Proprietário
repo_name=Nome do Repositório repo_name=Nome do Repositório
repo_name_helper=Um Bom nome de repositório e pequeno, memorável e único. repo_name_helper=Um Bom nome de repositório e pequeno, memorável e único.
visibility=Visibilidade visibility=Visibilidade
unlisted=Unlisted unlisted=Não listado
visiblity_helper=Este repositório é <span class="ui red text">Privado</span> visiblity_helper=Este repositório é <span class="ui red text">Privado</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=Este repositório <span class="ui red text">não está listado</span>
visiblity_helper_forced=Administrador do site forçou todos os novos repositórios para<span class="ui red text">Privado</span> visiblity_helper_forced=Administrador do site forçou todos os novos repositórios para<span class="ui red text">Privado</span>
visiblity_fork_helper=(Alterar desse valor irá afetar todos os forks) visiblity_fork_helper=(Alterar desse valor irá afetar todos os forks)
clone_helper=Precisa de ajuda com o clone? Visite a <a target="_blank" href="%s">Ajuda</a>! clone_helper=Precisa de ajuda com o clone? Visite a <a target="_blank" href="%s">Ajuda</a>!
@@ -432,7 +435,7 @@ repo_description_helper=Descrição do repositório. Máximo de 512 caracteres.
repo_description_length=Caracteres disponíveis repo_description_length=Caracteres disponíveis
form.reach_limit_of_creation=O criador chegou ao limite de criação de %d repositórios. form.reach_limit_of_creation=O criador chegou ao limite de criação de %d repositórios.
form.name_not_allowed=Repository name or pattern %q is not allowed. form.name_not_allowed=Não é permitido utilizar o padrão '%s' para o nome do repositório.
need_auth=Autorização necessária need_auth=Autorização necessária
migrate_type=Tipo de migração migrate_type=Tipo de migração
@@ -443,7 +446,7 @@ migrate.clone_address_desc=Isto pode ser um URL de HTTP/HTTPS/GIT.
migrate.clone_address_desc_import_local=Você também pode migrar um repositório pelo caminho do servidor local. migrate.clone_address_desc_import_local=Você também pode migrar um repositório pelo caminho do servidor local.
migrate.permission_denied=Não está autorizado a importar repositórios locais. migrate.permission_denied=Não está autorizado a importar repositórios locais.
migrate.invalid_local_path=Caminho local inválido, o caminho não existe ou não é um directório. migrate.invalid_local_path=Caminho local inválido, o caminho não existe ou não é um directório.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=Clonar endereço resolvido para um endereço de rede local implicitamente bloqueado.
migrate.failed=Migração falhada: %v migrate.failed=Migração falhada: %v
mirror_from=mirror de mirror_from=mirror de
@@ -491,6 +494,8 @@ branches.stale_branches=Ramificações Obsoletas
branches.all=Todas as Ramificações branches.all=Todas as Ramificações
branches.updated_by=Atualizado %[1]s por %[2]s branches.updated_by=Atualizado %[1]s por %[2]s
branches.change_default_branch=Mudar Ramificação Predefinida branches.change_default_branch=Mudar Ramificação Predefinida
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Novo Ficheiro editor.new_file=Novo Ficheiro
editor.upload_file=Enviar ficheiro editor.upload_file=Enviar ficheiro
@@ -794,7 +799,7 @@ settings.search_user_placeholder=Procurar utilizador...
settings.org_not_allowed_to_be_collaborator=A organização não tem permissão para ser adicionada como colaboradora. settings.org_not_allowed_to_be_collaborator=A organização não tem permissão para ser adicionada como colaboradora.
settings.hooks_desc=Webhooks são muito parecidos com triggers básicos de eventos HTTP POST. Sempre que algo ocorre no Gogs, vamos lidar com a notificação para o host de destino especificado. Saiba mais no nosso <a target="_blank" href="%s"> Guia de Webhooks</a>. settings.hooks_desc=Webhooks são muito parecidos com triggers básicos de eventos HTTP POST. Sempre que algo ocorre no Gogs, vamos lidar com a notificação para o host de destino especificado. Saiba mais no nosso <a target="_blank" href="%s"> Guia de Webhooks</a>.
settings.webhooks.add_new=Add a new webhook: settings.webhooks.add_new=Add a new webhook:
settings.webhooks.choose_a_type=Choose a type... settings.webhooks.choose_a_type=Escolha um tipo...
settings.add_webhook=Adicionar Webhook settings.add_webhook=Adicionar Webhook
settings.webhook_deletion=Apagar um Webhook settings.webhook_deletion=Apagar um Webhook
settings.webhook_deletion_desc=Apagar este Webhook vai remover sua informação e todo o histórico de entrega. Deseja continuar? settings.webhook_deletion_desc=Apagar este Webhook vai remover sua informação e todo o histórico de entrega. Deseja continuar?
@@ -1022,7 +1027,7 @@ dashboard.system_status=Monitorização de estado do sistema
dashboard.statistic_info=A base de dados do Gogs contém <b>%d</b> utilizadores, <b>%d</b> organizações, <b>%d</b> chaves públicas, <b>%d</b> repositórios, <b>%d</b> observadores, <b>%d</b> estrelas, <b>%d</b> ações, <b>%d</b> acessos, <b>%d</b> questões, <b>%d</b> comentários, <b>%d</b> contas sociais, <b>%d</b> seguidores, <b>%d</b> mirrors, <b>%d</b> versões, <b>%d</b> origens de login, <b>%d</b> Hooks da Web, <b>%d</b> milestones, <b>%d</b> labels, <b>%d</b> tarefas hook, <b>%d</b> equipas, <b>%d</b> tarefas de atualização, <b>%d</b> anexos. dashboard.statistic_info=A base de dados do Gogs contém <b>%d</b> utilizadores, <b>%d</b> organizações, <b>%d</b> chaves públicas, <b>%d</b> repositórios, <b>%d</b> observadores, <b>%d</b> estrelas, <b>%d</b> ações, <b>%d</b> acessos, <b>%d</b> questões, <b>%d</b> comentários, <b>%d</b> contas sociais, <b>%d</b> seguidores, <b>%d</b> mirrors, <b>%d</b> versões, <b>%d</b> origens de login, <b>%d</b> Hooks da Web, <b>%d</b> milestones, <b>%d</b> labels, <b>%d</b> tarefas hook, <b>%d</b> equipas, <b>%d</b> tarefas de atualização, <b>%d</b> anexos.
dashboard.operation_name=Nome de operação dashboard.operation_name=Nome de operação
dashboard.operation_switch=Mudar dashboard.operation_switch=Mudar
dashboard.select_operation_to_run=Please select operation to run dashboard.select_operation_to_run=Seleccione a operação para executar
dashboard.operation_run=Executar dashboard.operation_run=Executar
dashboard.clean_unbind_oauth=Limpar OAuthes desvinculados dashboard.clean_unbind_oauth=Limpar OAuthes desvinculados
dashboard.clean_unbind_oauth_success=Todos OAuthes desvinculados foram excluídos com sucesso. dashboard.clean_unbind_oauth_success=Todos OAuthes desvinculados foram excluídos com sucesso.
@@ -1199,118 +1204,120 @@ config.ssh.port=Porta exposta
config.ssh.root_path=Caminho para a raíz config.ssh.root_path=Caminho para a raíz
config.ssh.keygen_path=Localização do gerador de chaves criptográficas config.ssh.keygen_path=Localização do gerador de chaves criptográficas
config.ssh.key_test_path=Localização do teste das chaves criptográficas config.ssh.key_test_path=Localização do teste das chaves criptográficas
config.ssh.minimum_key_size_check=Minimum key size check config.ssh.minimum_key_size_check=Verificação de tamanho mínimo da chave
config.ssh.minimum_key_sizes=Minimum key sizes config.ssh.minimum_key_sizes=Tamanhos mínimos de chaves
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
config.ssh.start_builtin_server=Start builtin server config.ssh.start_builtin_server=Iniciar servidor embutido
config.ssh.listen_host=Listen host config.ssh.listen_host=Servidor
config.ssh.listen_port=Listen port config.ssh.listen_port=Porta do servidor
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Cifras do servidor
config.ssh.server_macs=Server MACs config.ssh.server_macs=MACs do servidor
config.ssh.server_algorithms=Algoritmos do servidor
config.repo_config=Configuração de repositório config.repo_config=Configuração de repositório
config.repo.root_path=Root path config.repo.root_path=Localização base
config.repo.script_type=Script type config.repo.script_type=Tipo de script
config.repo.ansi_chatset=ANSI charset config.repo.ansi_chatset=ANSI charset
config.repo.force_private=Force private config.repo.force_private=Forçar privado
config.repo.max_creation_limit=Max creation limit config.repo.max_creation_limit=Limite máximo de criação
config.repo.preferred_licenses=Preferred licenses config.repo.preferred_licenses=Licenças preferidas
config.repo.disable_http_git=Disable HTTP Git config.repo.disable_http_git=Desativar Git HTTP
config.repo.enable_local_path_migration=Enable local path migration config.repo.enable_local_path_migration=Ativar a migração de caminho local
config.repo.enable_raw_file_render_mode=Enable raw file render mode config.repo.enable_raw_file_render_mode=Ativar o modo de renderização do ficheiro bruto
config.repo.commits_fetch_concurrency=Commits fetch concurrency config.repo.commits_fetch_concurrency=Commits fetch concurrency
config.repo.editor.line_wrap_extensions=Editor line wrap extensions config.repo.editor.line_wrap_extensions=Extensões de quebra automática de linha do editor
config.repo.editor.previewable_file_modes=Editor previewable file modes config.repo.editor.previewable_file_modes=Editor previewable file modes
config.repo.upload.enabled=Upload enabled config.repo.upload.enabled=Envio ativado
config.repo.upload.temp_path=Upload temporary path config.repo.upload.temp_path=Caminho temporário para envios
config.repo.upload.allowed_types=Upload allowed types config.repo.upload.allowed_types=Tipos de envios permitidos
config.repo.upload.file_max_size=Upload file size limit config.repo.upload.file_max_size=Tamanho limite de ficheiros enviados
config.repo.upload.max_files=Upload files limit config.repo.upload.max_files=Quantidade limite de ficheiros enviados
config.db_config=Configuração da base de dados config.db_config=Configuração da base de dados
config.db.type=Type config.db.type=Tipo
config.db.host=Host config.db.host=Anfitrião
config.db.name=Name config.db.name=Nome
config.db.schema=Schema config.db.schema=Esquema
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(apenas para "postgres")
config.db.user=User config.db.user=Utilizador
config.db.ssl_mode=SSL mode config.db.ssl_mode=Modo SSL
config.db.ssl_mode_helper=(for "postgres" only) config.db.ssl_mode_helper=(apenas para "postgres")
config.db.path=Path config.db.path=Caminho
config.db.path_helper=(for "sqlite3"only) config.db.path_helper=(apenas para "sqlite3")
config.db.max_open_conns=Maximum open connections config.db.max_open_conns=Máximo de conexões abertas
config.db.max_idle_conns=Maximum idle connections config.db.max_idle_conns=Máximo de conexões ociosas
config.security_config=Security configuration config.security_config=Configuração da segurança
config.security.login_remember_days=Login remember days config.security.login_remember_days=Dias lembrados de login
config.security.cookie_remember_name=Remember cookie config.security.cookie_remember_name=Lembrar do cookie
config.security.cookie_username=Username cookie config.security.cookie_username=Cookie do nome do utilizador
config.security.cookie_secure=Enable secure cookie config.security.cookie_secure=Ativar cookie seguro
config.security.reverse_proxy_auth_user=Reverse proxy authentication header config.security.reverse_proxy_auth_user=Cabeçalho de autenticação de proxy reverso
config.security.enable_login_status_cookie=Enable login status cookie config.security.enable_login_status_cookie=Enable login status cookie
config.security.login_status_cookie_name=Login status cookie config.security.login_status_cookie_name=Login status cookie
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Local network allowlist
config.email_config=Email configuration config.email_config=Configuração de E-mail
config.email.enabled=Enabled config.email.enabled=Ativado
config.email.subject_prefix=Subject prefix config.email.subject_prefix=Prefixo do assunto
config.email.host=Host config.email.host=Anfitrião
config.email.from=From config.email.from=De
config.email.user=User config.email.user=Utilizador
config.email.disable_helo=Disable HELO config.email.disable_helo=Desativar HELO
config.email.helo_hostname=HELO hostname config.email.helo_hostname=Nome de anfitrião HELO
config.email.skip_verify=Skip certificate verify config.email.skip_verify=Skip certificate verify
config.email.use_certificate=Use custom certificate config.email.use_certificate=Usar certificado personalizado
config.email.cert_file=Certificate file config.email.cert_file=Ficheiro de certificado criptográfico
config.email.key_file=Key file config.email.key_file=Ficheiro da chave criptográfica
config.email.use_plain_text=Use plain text config.email.use_plain_text=Usar texto simples
config.email.add_plain_text_alt=Add plain text alternative config.email.add_plain_text_alt=Adicionar alternativa de texto simples
config.email.send_test_mail=Send test email config.email.send_test_mail=Enviar e-mail de teste
config.email.test_mail_failed=Failed to send test email to '%s': %v config.email.test_mail_failed=Falhou o envio do e-mail de teste para '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=O e-mail de teste foi enviado para '%s'.
config.auth_config=Authentication configuration config.auth_config=Configuração da autenticação
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Exigir confirmação por e-mail
config.auth.require_sign_in_view=Require sign in view config.auth.require_sign_in_view=Exigir login para ver
config.auth.disable_registration=Disable registration config.auth.disable_registration=Desativar registo
config.auth.enable_registration_captcha=Enable registration captcha config.auth.enable_registration_captcha=Ativar captcha para registar
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication config.auth.enable_reverse_proxy_authentication=Ativar autenticação do proxy reverso
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration config.auth.enable_reverse_proxy_auto_registration=Ativar o registo automático do proxy reverso
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header config.auth.reverse_proxy_authentication_header=Cabeçalho de autenticação de proxy reverso
config.user_config=User configuration config.user_config=Configuração do utilizador
config.user.enable_email_notify=Enable email notification config.user.enable_email_notify=Ativar a notificação por e-mail
config.session_config=Configuração de sessão config.session_config=Configuração de sessão
config.session.provider=Provider config.session.provider=Provedor
config.session.provider_config=Provider config config.session.provider_config=Configuração do provedor
config.session.cookie_name=Cookie config.session.cookie_name=Cookie
config.session.https_only=HTTPS only config.session.https_only=Somente HTTPS
config.session.gc_interval=GC interval config.session.gc_interval=GC interval
config.session.max_life_time=Max life time config.session.max_life_time=Max life time
config.session.csrf_cookie_name=CSRF cookie config.session.csrf_cookie_name=CSRF cookie
config.cache_config=Configuração de cache config.cache_config=Configuração de cache
config.cache.adapter=Adapter config.cache.adapter=Adaptador
config.cache.interval=GC interval config.cache.interval=Intervalo de GC
config.cache.host=Host config.cache.host=Anfitrião
config.http_config=Configuração HTTP config.http_config=Configuração HTTP
config.http.access_control_allow_origin=Access control allow origin config.http.access_control_allow_origin=Access control allow origin
config.attachment_config=Attachment configuration config.attachment_config=Configuração de anexos
config.attachment.enabled=Enabled config.attachment.enabled=Ativado
config.attachment.path=Path config.attachment.path=Caminho
config.attachment.allowed_types=Allowed types config.attachment.allowed_types=Tipos permitidos
config.attachment.max_size=Size limit config.attachment.max_size=Limite de tamanho
config.attachment.max_files=Files limit config.attachment.max_files=Limite de ficheiros
config.release_config=Release configuration config.release_config=Release configuration
config.release.attachment.enabled=Attachment enabled config.release.attachment.enabled=Attachment enabled
config.release.attachment.allowed_types=Attachment allowed types config.release.attachment.allowed_types=Attachment allowed types
config.release.attachment.max_size=Attachment size limit config.release.attachment.max_size=Tamanho máximo dos anexos
config.release.attachment.max_files=Attachment files limit config.release.attachment.max_files=Attachment files limit
config.picture_config=Configuração de imagem config.picture_config=Configuração de imagem
@@ -1321,10 +1328,10 @@ config.picture.disable_gravatar=Disable Gravatar
config.picture.enable_federated_avatar=Enable federated avatars config.picture.enable_federated_avatar=Enable federated avatars
config.mirror_config=Mirror configuration config.mirror_config=Mirror configuration
config.mirror.default_interval=Default interval config.mirror.default_interval=Intervalo predefinido
config.webhook_config=Configuração de WebHook config.webhook_config=Configuração de WebHook
config.webhook.types=Types config.webhook.types=Tipos
config.webhook.deliver_timeout=Deliver timeout config.webhook.deliver_timeout=Deliver timeout
config.webhook.skip_tls_verify=Skip TLS verify config.webhook.skip_tls_verify=Skip TLS verify

View File

@@ -88,6 +88,7 @@ log_root_path=Calea de jurnal
log_root_path_helper=Director în care să scrie fișiere jurnal. log_root_path_helper=Director în care să scrie fișiere jurnal.
enable_console_mode=Activați modul consolă enable_console_mode=Activați modul consolă
enable_console_mode_popup=În plus față de modul fișier, imprimați și jurnalele pentru consolă. enable_console_mode_popup=În plus față de modul fișier, imprimați și jurnalele pentru consolă.
default_branch=Sucursala implicită
optional_title=Setări opționale optional_title=Setări opționale
email_title=Setări servicii de e-mail email_title=Setări servicii de e-mail
@@ -316,6 +317,7 @@ delete_email=Șterge
email_deletion=Ștergere e-mail email_deletion=Ștergere e-mail
email_deletion_desc=Ștergerea acestei adrese de e-mail va elimina informațiile aferente din contul dumneavoastră. Doriți să continuați? email_deletion_desc=Ștergerea acestei adrese de e-mail va elimina informațiile aferente din contul dumneavoastră. Doriți să continuați?
email_deletion_success=Emailul a fost șters cu succes! email_deletion_success=Emailul a fost șters cu succes!
email_deletion_primary=Nu se poate șterge adresa principală de e-mail.
add_new_email=Adăugați o nouă adresă de e-mail add_new_email=Adăugați o nouă adresă de e-mail
add_email=Adăugați E-mail add_email=Adăugați E-mail
add_email_confirmation_sent=Un nou e-mail de confirmare a fost trimis la "%s", vă rugăm să vă verificați căsuța poștală în următoarele %d ore pentru a finaliza procesul de confirmare. add_email_confirmation_sent=Un nou e-mail de confirmare a fost trimis la "%s", vă rugăm să vă verificați căsuța poștală în următoarele %d ore pentru a finaliza procesul de confirmare.
@@ -370,6 +372,7 @@ two_factor_disable_success=Autentificarea cu doi factori a fost dezactivată cu
manage_access_token=Gestionează tokenurile de acces personale manage_access_token=Gestionează tokenurile de acces personale
generate_new_token=Generarea unui nou token generate_new_token=Generarea unui nou token
tokens_desc=Token-urile pe care le-ați generat și care pot fi utilizate pentru a accesa API-urile Gogs. tokens_desc=Token-urile pe care le-ați generat și care pot fi utilizate pentru a accesa API-urile Gogs.
access_token_tips=Token-ul personal de acces poate fi folosit ca nume de utilizator sau parolă. Este recomandat să utilizaţi "x-access-token" ca nume de utilizator şi token personal de acces ca parolă pentru aplicaţiile Git.
new_token_desc=Fiecare token va avea acces deplin la contul dumneavoastră. new_token_desc=Fiecare token va avea acces deplin la contul dumneavoastră.
token_name=Nume token token_name=Nume token
generate_token=Generează Token generate_token=Generează Token
@@ -491,6 +494,8 @@ branches.stale_branches=Ramuri vechi
branches.all=Toate ramurile branches.all=Toate ramurile
branches.updated_by=Actualizat %[1]s prin %[2]s branches.updated_by=Actualizat %[1]s prin %[2]s
branches.change_default_branch=Schimbarea ramurii implicite branches.change_default_branch=Schimbarea ramurii implicite
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Fișier nou editor.new_file=Fișier nou
editor.upload_file=Încărcați fișier editor.upload_file=Încărcați fișier
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Ascultați gazda
config.ssh.listen_port=Ascultați portul config.ssh.listen_port=Ascultați portul
config.ssh.server_ciphers=Cifre server config.ssh.server_ciphers=Cifre server
config.ssh.server_macs=MAC-uri server config.ssh.server_macs=MAC-uri server
config.ssh.server_algorithms=Algoritmi de server
config.repo_config=Configurarea depozitului config.repo_config=Configurarea depozitului
config.repo.root_path=Calea root-ului config.repo.root_path=Calea root-ului
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Nu a reușit să trimită un e-mail de test către
config.email.test_mail_sent=E-mailul de test a fost trimis la '%s'. config.email.test_mail_sent=E-mailul de test a fost trimis la '%s'.
config.auth_config=Configurația de autentificare config.auth_config=Configurația de autentificare
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activați viețile de cod config.auth.activate_code_lives=Activați viețile de cod
config.auth.reset_password_code_lives=Resetează viețile codului parolei config.auth.reset_password_code_lives=Resetează viețile codului parolei
config.auth.require_email_confirm=Solicită confirmarea prin e-mail config.auth.require_email_confirm=Solicită confirmarea prin e-mail

View File

@@ -88,6 +88,7 @@ log_root_path=Путь к журналу
log_root_path_helper=Каталог для записи файлов журнала. log_root_path_helper=Каталог для записи файлов журнала.
enable_console_mode=Включите режим консоли enable_console_mode=Включите режим консоли
enable_console_mode_popup=В дополнение к файловому режиму, выводить лог в консоль. enable_console_mode_popup=В дополнение к файловому режиму, выводить лог в консоль.
default_branch=Ветка по умолчанию
optional_title=Расширенные настройки optional_title=Расширенные настройки
email_title=Настройки службы электронной почты email_title=Настройки службы электронной почты
@@ -316,6 +317,7 @@ delete_email=Удалить
email_deletion=Удаление адреса электронной почты email_deletion=Удаление адреса электронной почты
email_deletion_desc=Удаление этого адреса электронной почты, приведет к удалению связанной с вашим аккаунтом, информации. Вы точно хотите продолжить? email_deletion_desc=Удаление этого адреса электронной почты, приведет к удалению связанной с вашим аккаунтом, информации. Вы точно хотите продолжить?
email_deletion_success=Адрес электронной почты успешно удален. email_deletion_success=Адрес электронной почты успешно удален.
email_deletion_primary=Невозможно удалить основной адрес эл. почты.
add_new_email=Добавить новый адрес электронной почты add_new_email=Добавить новый адрес электронной почты
add_email=Добавить электронную почту add_email=Добавить электронную почту
add_email_confirmation_sent=Новое подтверждение по электронной почте было отправлено '%s', пожалуйста, проверьте свой почтовый ящик в течение следующих %d часов, чтобы завершить процесс подтверждения. add_email_confirmation_sent=Новое подтверждение по электронной почте было отправлено '%s', пожалуйста, проверьте свой почтовый ящик в течение следующих %d часов, чтобы завершить процесс подтверждения.
@@ -370,6 +372,7 @@ two_factor_disable_success=Двухфакторная аутентификаци
manage_access_token=Управление Токенами Персонального Доступа manage_access_token=Управление Токенами Персонального Доступа
generate_new_token=Создать новый token generate_new_token=Создать новый token
tokens_desc=Созданные вами токены могут использоваться для доступа к Gogs API. tokens_desc=Созданные вами токены могут использоваться для доступа к Gogs API.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Пока что каждый токен будет иметь полный доступ к вашей учетной записи. new_token_desc=Пока что каждый токен будет иметь полный доступ к вашей учетной записи.
token_name=Имя маркера token_name=Имя маркера
generate_token=Генерировать маркер generate_token=Генерировать маркер
@@ -491,6 +494,8 @@ branches.stale_branches=Устаревшие ветки
branches.all=Все ветки branches.all=Все ветки
branches.updated_by=Обновлено %[1]s пользователем %[2]s branches.updated_by=Обновлено %[1]s пользователем %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Change Default Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Новый файл editor.new_file=Новый файл
editor.upload_file=Загрузить файл editor.upload_file=Загрузить файл
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Прослушиваемый хост
config.ssh.listen_port=Прослушиваемый порт config.ssh.listen_port=Прослушиваемый порт
config.ssh.server_ciphers=Серверные шифры config.ssh.server_ciphers=Серверные шифры
config.ssh.server_macs=MAC-серверы config.ssh.server_macs=MAC-серверы
config.ssh.server_algorithms=Серверные алгоритмы
config.repo_config=Настройка репозитория config.repo_config=Настройка репозитория
config.repo.root_path=Корневой путь config.repo.root_path=Корневой путь
@@ -1222,8 +1228,8 @@ config.repo.commits_fetch_concurrency=Commits fetch concurrency
config.repo.editor.line_wrap_extensions=Расширения переноса строки редактора config.repo.editor.line_wrap_extensions=Расширения переноса строки редактора
config.repo.editor.previewable_file_modes=Editor previewable file modes config.repo.editor.previewable_file_modes=Editor previewable file modes
config.repo.upload.enabled=Загрузка включена config.repo.upload.enabled=Загрузка включена
config.repo.upload.temp_path=Upload temporary path config.repo.upload.temp_path=Загрузить временный путь
config.repo.upload.allowed_types=Upload allowed types config.repo.upload.allowed_types=Загрузить разрешённые типы
config.repo.upload.file_max_size=Ограничение размера файлов для загрузки config.repo.upload.file_max_size=Ограничение размера файлов для загрузки
config.repo.upload.max_files=Ограничение файлов для загрузки config.repo.upload.max_files=Ограничение файлов для загрузки
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Не удалось отправить тесто
config.email.test_mail_sent=Тестовое письмо было отправлено на %s config.email.test_mail_sent=Тестовое письмо было отправлено на %s
config.auth_config=Конфигурация аутентификации config.auth_config=Конфигурация аутентификации
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Срок действия кода сброса пароля config.auth.reset_password_code_lives=Срок действия кода сброса пароля
config.auth.require_email_confirm=Требовать подтверждение по электронной почте config.auth.require_email_confirm=Требовать подтверждение по электронной почте
@@ -1290,7 +1297,7 @@ config.session.cookie_name=Файл cookie
config.session.https_only=Только HTTPS config.session.https_only=Только HTTPS
config.session.gc_interval=GC interval config.session.gc_interval=GC interval
config.session.max_life_time=Максимальный срок действия config.session.max_life_time=Максимальный срок действия
config.session.csrf_cookie_name=CSRF cookie config.session.csrf_cookie_name=CSRF-куки
config.cache_config=Настройки кеша config.cache_config=Настройки кеша
config.cache.adapter=Адаптер config.cache.adapter=Адаптер

View File

@@ -88,6 +88,7 @@ log_root_path=Cesta k log súborom
log_root_path_helper=Adresár pre zápis log súborov. log_root_path_helper=Adresár pre zápis log súborov.
enable_console_mode=Zapnúť režim konzoly enable_console_mode=Zapnúť režim konzoly
enable_console_mode_popup=Okrem zápisu do súboru, vytlačiť systémové záznamy aj do konzoly. enable_console_mode_popup=Okrem zápisu do súboru, vytlačiť systémové záznamy aj do konzoly.
default_branch=Default Branch
optional_title=Nepovinné nastavenia optional_title=Nepovinné nastavenia
email_title=Nastavenie e-mailovej služby email_title=Nastavenie e-mailovej služby
@@ -316,6 +317,7 @@ delete_email=Odstrániť
email_deletion=Odstránenie e-mailu email_deletion=Odstránenie e-mailu
email_deletion_desc=Vymazaním tejto emailovej adresy sa odstránia súvisiace informácie z vášho účtu. Chcete pokračovať? email_deletion_desc=Vymazaním tejto emailovej adresy sa odstránia súvisiace informácie z vášho účtu. Chcete pokračovať?
email_deletion_success=Email bol úspešne odstránený! email_deletion_success=Email bol úspešne odstránený!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Pridať novú e-mailovú adresu add_new_email=Pridať novú e-mailovú adresu
add_email=Pridať email add_email=Pridať email
add_email_confirmation_sent=Nový email s potvrdením bol odoslaný na '%s', v priebehu nasledovných '%d' hodín si prosím skontrolujte vašu schránku pre dokončenie procesu potvrdenia. add_email_confirmation_sent=Nový email s potvrdením bol odoslaný na '%s', v priebehu nasledovných '%d' hodín si prosím skontrolujte vašu schránku pre dokončenie procesu potvrdenia.
@@ -370,6 +372,7 @@ two_factor_disable_success=Dvojfaktorové overenie bolo zakázané!
manage_access_token=Spravovať osobné prístupové tokeny manage_access_token=Spravovať osobné prístupové tokeny
generate_new_token=Vygenerovať nový token generate_new_token=Vygenerovať nový token
tokens_desc=Tokeny, ktoré ste vygenerovali je možné použiť na prístup ku Gogs API. tokens_desc=Tokeny, ktoré ste vygenerovali je možné použiť na prístup ku Gogs API.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Každý token bude mať plný prístup ku vašemu účtu. new_token_desc=Každý token bude mať plný prístup ku vašemu účtu.
token_name=Názov tokenu token_name=Názov tokenu
generate_token=Vygenerovať token generate_token=Vygenerovať token
@@ -491,6 +494,8 @@ branches.stale_branches=Zastaralé vetvy
branches.all=Všetky vetvy branches.all=Všetky vetvy
branches.updated_by=%[2]s zmenil %[1]s branches.updated_by=%[2]s zmenil %[1]s
branches.change_default_branch=Zmeniť základnú vetvu branches.change_default_branch=Zmeniť základnú vetvu
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nový súbor editor.new_file=Nový súbor
editor.upload_file=Nahrať súbor editor.upload_file=Nahrať súbor
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Nastavenie repozitára config.repo_config=Nastavenie repozitára
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=Пут до журнала
log_root_path_helper=Директоријум где ће бити снимане датотеке журнала. log_root_path_helper=Директоријум где ће бити снимане датотеке журнала.
enable_console_mode=Омогући конзол начин enable_console_mode=Омогући конзол начин
enable_console_mode_popup=Поред начин датотеке, пошаљи системске извештаје и конзолу. enable_console_mode_popup=Поред начин датотеке, пошаљи системске извештаје и конзолу.
default_branch=Default Branch
optional_title=Напредна подешавања optional_title=Напредна подешавања
email_title=Подешавања сервиса е-поште email_title=Подешавања сервиса е-поште
@@ -316,6 +317,7 @@ delete_email=Уклони
email_deletion=Брисање адресе е-поште email_deletion=Брисање адресе е-поште
email_deletion_desc=Брисање ове адресе ће довести до уклањања података. Да ли желите да наставите? email_deletion_desc=Брисање ове адресе ће довести до уклањања података. Да ли желите да наставите?
email_deletion_success=Адреса је успешно избрисана! email_deletion_success=Адреса је успешно избрисана!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Додај нови адресу е-поште add_new_email=Додај нови адресу е-поште
add_email=Додај адресу add_email=Додај адресу
add_email_confirmation_sent=Послан је нова потврда на '%s', молимо вас проверите ваше поруке унутар %d сата да бисте завршили поступак потврде. add_email_confirmation_sent=Послан је нова потврда на '%s', молимо вас проверите ваше поруке унутар %d сата да бисте завршили поступак потврде.
@@ -370,6 +372,7 @@ two_factor_disable_success=Двострука аутентификација ј
manage_access_token=Управљање токенима особном приступу manage_access_token=Управљање токенима особном приступу
generate_new_token=Генериши нови токен generate_new_token=Генериши нови токен
tokens_desc=Tокени се могу користити за приступ на API за Gogs. tokens_desc=Tокени се могу користити за приступ на API за Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Сваки API токен ће имати пун приступ вашем налогу. new_token_desc=Сваки API токен ће имати пун приступ вашем налогу.
token_name=Име токена token_name=Име токена
generate_token=Генериши токен generate_token=Генериши токен
@@ -491,6 +494,8 @@ branches.stale_branches=Застареле гране
branches.all=Све гране branches.all=Све гране
branches.updated_by=Ажуриран %[1]s од %[2]s branches.updated_by=Ажуриран %[1]s од %[2]s
branches.change_default_branch=Промените подразумевану грану branches.change_default_branch=Промените подразумевану грану
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Нова датотека editor.new_file=Нова датотека
editor.upload_file=Отпреми датотеку editor.upload_file=Отпреми датотеку
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Конфигурација спремишта config.repo_config=Конфигурација спремишта
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=Loggsökväg
log_root_path_helper=Katalog till vilken loggfiler skrivs. log_root_path_helper=Katalog till vilken loggfiler skrivs.
enable_console_mode=Aktivera Konsolläge enable_console_mode=Aktivera Konsolläge
enable_console_mode_popup=Utöver fil-läge, skriver även ut loggar till konsol. enable_console_mode_popup=Utöver fil-läge, skriver även ut loggar till konsol.
default_branch=Default Branch
optional_title=Övriga inställningar optional_title=Övriga inställningar
email_title=E-post tjänstens inställningar email_title=E-post tjänstens inställningar
@@ -316,6 +317,7 @@ delete_email=Radera
email_deletion=Borttagning Av Epostaddress email_deletion=Borttagning Av Epostaddress
email_deletion_desc=Borttagning av denna epostaddress kommer att ta bort relaterad information. Vill du fortsätta? email_deletion_desc=Borttagning av denna epostaddress kommer att ta bort relaterad information. Vill du fortsätta?
email_deletion_success=Epostaddressen har tagits bort! email_deletion_success=Epostaddressen har tagits bort!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Lägg till ny e-postadress add_new_email=Lägg till ny e-postadress
add_email=Lägga till e-post add_email=Lägga till e-post
add_email_confirmation_sent=Ett nytt bekräftelsemail har skickats till '%s', kontrollera vänligen din inbox inom dom närmsta %d timmarna för att slutföra bekräftelsen. add_email_confirmation_sent=Ett nytt bekräftelsemail har skickats till '%s', kontrollera vänligen din inbox inom dom närmsta %d timmarna för att slutföra bekräftelsen.
@@ -370,6 +372,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=Hantera personliga åtkomst-tokens manage_access_token=Hantera personliga åtkomst-tokens
generate_new_token=Generera Nya Tokens generate_new_token=Generera Nya Tokens
tokens_desc=Tokens som du har genererat kan användas för åtkomst av Gogs APIer. tokens_desc=Tokens som du har genererat kan användas för åtkomst av Gogs APIer.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Varje token har full tillgång till ditt konto. new_token_desc=Varje token har full tillgång till ditt konto.
token_name=Tokennamn token_name=Tokennamn
generate_token=Generera Token generate_token=Generera Token
@@ -476,21 +479,23 @@ pulls=Pull-förfrågningar
labels=Etiketter labels=Etiketter
milestones=Milstenar milestones=Milstenar
commits=Incheckningar commits=Incheckningar
git_branches=Branches git_branches=Brancher
releases=Släpp releases=Släpp
file_raw= file_raw=
file_history=Historik file_history=Historik
file_view_raw=Visa i råformat file_view_raw=Visa i råformat
file_permalink=Permalänk file_permalink=Permalänk
file_too_large=Denna fil är för stor för att visas file_too_large=Denna fil är för stor för att visas
video_not_supported_in_browser=Your browser doesn't support HTML5 video tag. video_not_supported_in_browser=Din webbläsare stöder inte HTML5 video-tagg.
branches.overview=Overview branches.overview=Översikt
branches.active_branches=Active Branches branches.active_branches=Aktiva brancher
branches.stale_branches=Stale Branches branches.stale_branches=Djärva brancher
branches.all=All Branches branches.all=Alla brancher
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Uppdaterade %[1]s med %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Ändra standard branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Ny fil editor.new_file=Ny fil
editor.upload_file=Ladda upp fil editor.upload_file=Ladda upp fil
@@ -520,19 +525,19 @@ editor.cancel=Avbryt
editor.filename_cannot_be_empty=Filnamnet får inte vara tomt. editor.filename_cannot_be_empty=Filnamnet får inte vara tomt.
editor.branch_already_exists=Grenen '%s' finns redan i förrådet. editor.branch_already_exists=Grenen '%s' finns redan i förrådet.
editor.directory_is_a_file=Komponenten '%s' i föräldrasökvägen är en fil, inte en katalog i detta förråd. editor.directory_is_a_file=Komponenten '%s' i föräldrasökvägen är en fil, inte en katalog i detta förråd.
editor.file_is_a_symlink=The file '%s' is a symlink that cannot be modified from the web editor. editor.file_is_a_symlink=Filen '%s' är en symbolisk länk som inte kan editeras i webbläsaren.
editor.filename_is_a_directory=Filnmanet '%s' är en existerande katalog i detta förråd. editor.filename_is_a_directory=Filnmanet '%s' är en existerande katalog i detta förråd.
editor.file_editing_no_longer_exists=Filen '%s' som du redigerar finns inte lägre i förrådet. editor.file_editing_no_longer_exists=Filen '%s' som du redigerar finns inte lägre i förrådet.
editor.file_changed_while_editing=Filinnhållet har ändrats sedan du började redigera. <a target="_blank" href="%s">Klicka här</a> för att se vad som ändrats eller <strong>tryck checka in igen</strong> för att skriva över dessa ändringar. editor.file_changed_while_editing=Filinnhållet har ändrats sedan du började redigera. <a target="_blank" href="%s">Klicka här</a> för att se vad som ändrats eller <strong>tryck checka in igen</strong> för att skriva över dessa ändringar.
editor.file_already_exists=En fil med namnet '%s' finns redan i förrådet. 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.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_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.fail_to_delete_file=Det gick inte att ta bort filen '%s' med fel: %v.
editor.add_subdir=Lägg till underkatalog... editor.add_subdir=Lägg till underkatalog...
editor.unable_to_upload_files=Uppladdning av filen '%s' misslyckades med felet: %v editor.unable_to_upload_files=Uppladdning av filen '%s' misslyckades med felet: %v
editor.upload_files_to_dir=Ladda upp filer till '%s' editor.upload_files_to_dir=Ladda upp filer till '%s'
commits.commit_history=Commit History commits.commit_history=Commit historia
commits.commits=Incheckningar commits.commits=Incheckningar
commits.search=Sök bland incheckningar commits.search=Sök bland incheckningar
commits.find=Sök commits.find=Sök
@@ -630,7 +635,7 @@ pulls.compare_compare=jämför
pulls.filter_branch=Filtrera gren pulls.filter_branch=Filtrera gren
pulls.no_results=Inga resultat hittades. 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_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.nothing_merge_base=Det finns inget att jämföra eftersom två branch har helt olika historia.
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.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.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> pulls.title_desc=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code>%[3]s</code>
@@ -646,13 +651,13 @@ 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.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_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.cannot_auto_merge_helper=Vänligen sammanfoga manuellt för att lösa konflikter.
pulls.create_merge_commit=Create a merge commit pulls.create_merge_commit=Skapa en merge commit
pulls.rebase_before_merging=Rebase before merging pulls.rebase_before_merging=Rebase innan merge
pulls.commit_description=Commit Description pulls.commit_description=Commit beskrivning
pulls.merge_pull_request=Sammanfoga Pull-förfrågan 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.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 pulls.delete_branch=Ta bort gren
pulls.delete_branch_has_new_commits=Branch cannot be deleted because it has new commits after mergence. pulls.delete_branch_has_new_commits=Branch kan inte tas bort eftersom den har nya commits efter merge.
milestones.new=Ny milstolpe milestones.new=Ny milstolpe
milestones.open_tab=%d Öppna milestones.open_tab=%d Öppna
@@ -703,8 +708,8 @@ settings.collaboration.admin=Adminstrera
settings.collaboration.write=Skriva settings.collaboration.write=Skriva
settings.collaboration.read=Läsa settings.collaboration.read=Läsa
settings.collaboration.undefined=Odefinierad settings.collaboration.undefined=Odefinierad
settings.branches=Branches settings.branches=Brancher
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first. settings.branches_bare=Du kan inte hantera brancher för kala repository. Vänligen push innehåll först.
settings.default_branch=Default Branch 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.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
settings.update=Update settings.update=Update
@@ -724,7 +729,7 @@ settings.protect_whitelist_committers_desc=Add people or teams to whitelist of d
settings.protect_whitelist_users=Users who can push to this branch settings.protect_whitelist_users=Users who can push to this branch
settings.protect_whitelist_search_users=Sök användare 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_teams=Teams for which members of them can push to this branch
settings.protect_whitelist_search_teams=Search teams settings.protect_whitelist_search_teams=Sök team
settings.update_protect_branch_success=Protect options for this branch has been updated successfully! settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
settings.hooks=Webbhookar settings.hooks=Webbhookar
settings.githooks=Githookar settings.githooks=Githookar
@@ -793,8 +798,8 @@ settings.remove_collaborator_success=Deltagare har tagits bort.
settings.search_user_placeholder=Sök användare... settings.search_user_placeholder=Sök användare...
settings.org_not_allowed_to_be_collaborator=Organisationen kan inte läggas till som en deltagare. settings.org_not_allowed_to_be_collaborator=Organisationen kan inte läggas till som en deltagare.
settings.hooks_desc=Webbhookar påminner mycket om vanliga HTTP POST-händelseutlösare. När något inträffar i Gogs, kommer vi att meddela måldatorn som du anger. Läs mera i <a target="_blank" href="%s">Webbhook Guide</a>. settings.hooks_desc=Webbhookar påminner mycket om vanliga HTTP POST-händelseutlösare. När något inträffar i Gogs, kommer vi att meddela måldatorn som du anger. Läs mera i <a target="_blank" href="%s">Webbhook Guide</a>.
settings.webhooks.add_new=Add a new webhook: settings.webhooks.add_new=Lägg till en ny webhook:
settings.webhooks.choose_a_type=Choose a type... settings.webhooks.choose_a_type=Välj en typ...
settings.add_webhook=Lägg Till Webbhook settings.add_webhook=Lägg Till Webbhook
settings.webhook_deletion=Ta Bort Webbhook settings.webhook_deletion=Ta Bort Webbhook
settings.webhook_deletion_desc=Borttagning av denna webbhook kommer att ta bort all dess information och all leveranshistorik. Är du säker på att du vill fortsätta? settings.webhook_deletion_desc=Borttagning av denna webbhook kommer att ta bort all dess information och all leveranshistorik. Är du säker på att du vill fortsätta?
@@ -802,7 +807,7 @@ settings.webhook_deletion_success=Webbhook har tagits bort!
settings.webhook.test_delivery=Testa Leverans settings.webhook.test_delivery=Testa Leverans
settings.webhook.test_delivery_desc=Skicka en falsk pushhändelse för att testa dina webbhook-inställningar settings.webhook.test_delivery_desc=Skicka en falsk pushhändelse för att testa dina webbhook-inställningar
settings.webhook.test_delivery_success=Testwebbhook har lagts till leveranskön. Det kan ta några sekunder innan den visas i leveranshistoriken. settings.webhook.test_delivery_success=Testwebbhook har lagts till leveranskön. Det kan ta några sekunder innan den visas i leveranshistoriken.
settings.webhook.redelivery=Redelivery settings.webhook.redelivery=Återleverans
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 task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history.
settings.webhook.request=Begäran settings.webhook.request=Begäran
settings.webhook.response=Svar settings.webhook.response=Svar
@@ -830,10 +835,10 @@ settings.event_send_everything=Jag behöver <strong>allt</strong>.
settings.event_choose=Låt mig välja. settings.event_choose=Låt mig välja.
settings.event_create=Skapa settings.event_create=Skapa
settings.event_create_desc=Branch eller tagg skapad settings.event_create_desc=Branch eller tagg skapad
settings.event_delete=Delete settings.event_delete=Ta bort
settings.event_delete_desc=Branch or tag deleted settings.event_delete_desc=Branch eller tagg borttagen
settings.event_fork=Fork settings.event_fork=Fork
settings.event_fork_desc=Repository forked settings.event_fork_desc=Repository forkad
settings.event_push=Pusha settings.event_push=Pusha
settings.event_push_desc=Uppladdning till ett förråd settings.event_push_desc=Uppladdning till ett förråd
settings.event_issues=Issues settings.event_issues=Issues
@@ -843,7 +848,7 @@ settings.event_pull_request_desc=Pull request opened, closed, reopened, edited,
settings.event_issue_comment=Issue Comment settings.event_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted. settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Release settings.event_release=Release
settings.event_release_desc=Release published in a repository. settings.event_release_desc=Release publicerat i ett repository.
settings.active=Aktiv settings.active=Aktiv
settings.active_helper=Detaljer kring händelsen som triggade kroken kommer också levereras. settings.active_helper=Detaljer kring händelsen som triggade kroken kommer också levereras.
settings.add_hook_success=Ny webbkrok har lagts till. settings.add_hook_success=Ny webbkrok har lagts till.
@@ -853,7 +858,7 @@ settings.delete_webhook=Tag bort webbkrok
settings.recent_deliveries=Färska leveranser settings.recent_deliveries=Färska leveranser
settings.hook_type=Kroktyp 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_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_discord_hook_desc=
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</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_token=Pollett
settings.slack_domain=Domän settings.slack_domain=Domän
@@ -872,7 +877,7 @@ 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_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.deploy_key_deletion_success=Distributionsnyckeln har tagits bort!
settings.description_desc=Description of repository. Maximum 512 characters length. settings.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Available characters settings.description_length=Tillgängliga tecken
diff.browse_source=Bläddra i källkod diff.browse_source=Bläddra i källkod
diff.parent=förälder diff.parent=förälder
@@ -1012,9 +1017,9 @@ total=Totalt: %d
dashboard.build_info=Build Information dashboard.build_info=Build Information
dashboard.app_ver=Application version dashboard.app_ver=Application version
dashboard.git_version=Git version dashboard.git_version=Git Version
dashboard.go_version=Go version dashboard.go_version=Go version
dashboard.build_time=Build time dashboard.build_time=Build tid
dashboard.build_commit=Build commit dashboard.build_commit=Build commit
dashboard.statistic=Statistik dashboard.statistic=Statistik
dashboard.operations=Operationer dashboard.operations=Operationer
@@ -1022,13 +1027,13 @@ dashboard.system_status=Systemstatus
dashboard.statistic_info=Gogs-databasen innehåller <b>%d</b> användare, <b>%d</b> organisationer, <b>%d</b> publika nyckar, <b>%d</b> förråd, <b>%d</b> vakter, <b>%d</b> stjärnor, <b>%d</b> handlingar, <b>%d</b> åtkomster, <b>%d</b> ärenden, <b>%d</b> kommentarer, <b>%d</b> sociala konton, <b>%d</b> följbegäran, <b>%d</b> speglingar, <b>%d</b> släpp, <b>%d</b> inloggningskällor, <b>%d</b> webbkrokar, <b>%d</b> milstolpar, <b>%d</b> etiketter, <b>%d</b> krokuppgifter, <b>%d</b> team, <b>%d</b> uppdateringsuppgifter, <b>%d</b> bilagor. dashboard.statistic_info=Gogs-databasen innehåller <b>%d</b> användare, <b>%d</b> organisationer, <b>%d</b> publika nyckar, <b>%d</b> förråd, <b>%d</b> vakter, <b>%d</b> stjärnor, <b>%d</b> handlingar, <b>%d</b> åtkomster, <b>%d</b> ärenden, <b>%d</b> kommentarer, <b>%d</b> sociala konton, <b>%d</b> följbegäran, <b>%d</b> speglingar, <b>%d</b> släpp, <b>%d</b> inloggningskällor, <b>%d</b> webbkrokar, <b>%d</b> milstolpar, <b>%d</b> etiketter, <b>%d</b> krokuppgifter, <b>%d</b> team, <b>%d</b> uppdateringsuppgifter, <b>%d</b> bilagor.
dashboard.operation_name=Operationsnamn dashboard.operation_name=Operationsnamn
dashboard.operation_switch=Byt till dashboard.operation_switch=Byt till
dashboard.select_operation_to_run=Please select operation to run dashboard.select_operation_to_run=Välj åtgärd att köra
dashboard.operation_run=Kör dashboard.operation_run=Kör
dashboard.clean_unbind_oauth=Rensa obundna OAuth-begäran dashboard.clean_unbind_oauth=Rensa obundna OAuth-begäran
dashboard.clean_unbind_oauth_success=Alla obundna OAuth-begäran har tagit dashboard.clean_unbind_oauth_success=Alla obundna OAuth-begäran har tagit
dashboard.delete_inactivate_accounts=Ta bort alla inaktiva konton dashboard.delete_inactivate_accounts=Ta bort alla inaktiva konton
dashboard.delete_inactivate_accounts_success=All inactivate accounts have been deleted successfully. dashboard.delete_inactivate_accounts_success=
dashboard.delete_repo_archives=Delete all repositories archives dashboard.delete_repo_archives=
dashboard.delete_repo_archives_success=All repositories archives have been deleted successfully. dashboard.delete_repo_archives_success=All repositories archives have been deleted successfully.
dashboard.delete_missing_repos=Delete all repository records that lost Git files dashboard.delete_missing_repos=Delete all repository records that lost Git files
dashboard.delete_missing_repos_success=All repository records that lost Git files have been deleted successfully. dashboard.delete_missing_repos_success=All repository records that lost Git files have been deleted successfully.
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository configuration config.repo_config=Repository configuration
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=Günlük Dosyaları Yolu
log_root_path_helper=Günlük dosyalarının yazılacağı dizin. log_root_path_helper=Günlük dosyalarının yazılacağı dizin.
enable_console_mode=Konsol Modunu Etkinleştir enable_console_mode=Konsol Modunu Etkinleştir
enable_console_mode_popup=Dosya moduna ek olarak , ayrıca konsolun günlüklerini yazdır. enable_console_mode_popup=Dosya moduna ek olarak , ayrıca konsolun günlüklerini yazdır.
default_branch=Default Branch
optional_title=İsteğe Bağlı Ayarlar optional_title=İsteğe Bağlı Ayarlar
email_title=E-Posta Servisi Ayarları email_title=E-Posta Servisi Ayarları
@@ -316,6 +317,7 @@ delete_email=Sil
email_deletion=E-Posta Silme email_deletion=E-Posta Silme
email_deletion_desc=Bu e-posta adresini silerseniz hesabınıza ilişkin tüm bilgileriniz de silinecektir. Devam etmek istiyor musunuz? email_deletion_desc=Bu e-posta adresini silerseniz hesabınıza ilişkin tüm bilgileriniz de silinecektir. Devam etmek istiyor musunuz?
email_deletion_success=E-posta adresi başarıyla silindi! email_deletion_success=E-posta adresi başarıyla silindi!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Yeni e-posta adresi ekle add_new_email=Yeni e-posta adresi ekle
add_email=E-posta ekle add_email=E-posta ekle
add_email_confirmation_sent='%s' adresine yeni bir doğrulama e-postası gönderildi. Doğrulama aşamalarını tamamlamak için lütfen %d saat içinde gelen kutunuzu kontrol edin. add_email_confirmation_sent='%s' adresine yeni bir doğrulama e-postası gönderildi. Doğrulama aşamalarını tamamlamak için lütfen %d saat içinde gelen kutunuzu kontrol edin.
@@ -370,6 +372,7 @@ two_factor_disable_success=İki faktörlü kimli doğrulama başarıyla devre d
manage_access_token=Kişisel Erişim Anahtarlarını Yönet manage_access_token=Kişisel Erişim Anahtarlarını Yönet
generate_new_token=Yeni Erişim Anahtarı Üret generate_new_token=Yeni Erişim Anahtarı Üret
tokens_desc=Ürettiğiniz erişim anahtarları, Gogs API'lerine erişimde kullanılabilir. tokens_desc=Ürettiğiniz erişim anahtarları, Gogs API'lerine erişimde kullanılabilir.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Her bir erişim anahtarının hesabınıza tam erişim yetkisi olacaktır. new_token_desc=Her bir erişim anahtarının hesabınıza tam erişim yetkisi olacaktır.
token_name=Erişim Anahtarı İsmi token_name=Erişim Anahtarı İsmi
generate_token=Erişim Anahtarı Üret generate_token=Erişim Anahtarı Üret
@@ -491,6 +494,8 @@ branches.stale_branches=Eskimiş Bölümler
branches.all=Bütün Bölümler branches.all=Bütün Bölümler
branches.updated_by=%[2]s tarafından %[1]s güncellendi branches.updated_by=%[2]s tarafından %[1]s güncellendi
branches.change_default_branch=Varsayılan Bölümü Değiştir branches.change_default_branch=Varsayılan Bölümü Değiştir
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Yeni dosya editor.new_file=Yeni dosya
editor.upload_file=Dosyayı yükle editor.upload_file=Dosyayı yükle
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Ana makineyi dinle
config.ssh.listen_port=Port'u dinle config.ssh.listen_port=Port'u dinle
config.ssh.server_ciphers=Sunucu şifreleri config.ssh.server_ciphers=Sunucu şifreleri
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Depo Yapılandırması config.repo_config=Depo Yapılandırması
config.repo.root_path=Kök yolu config.repo.root_path=Kök yolu
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -1,14 +1,14 @@
app_desc=Зручний сервіс власного Git хостінгу app_desc=Зручний сервіс власного Git хостингу
home=Головна сторінка home=Головна сторінка
dashboard=Щиток dashboard=Панель керування
explore=Огляд explore=Огляд
help=Довідка help=Довідка
sign_in=Увійти sign_in=Увійти
sign_out=Вийти sign_out=Вийти
sign_up=Реєстрація sign_up=Реєстрація
register=Реєстрація register=Реєстрація
website=Веб-сторінка website=Вебсторінка
page=Сторінка page=Сторінка
template=Шаблон template=Шаблон
language=Мова language=Мова
@@ -32,7 +32,7 @@ new_fork=Нове відгалудження
new_org=Нова організація new_org=Нова організація
manage_org=Керування організаціями manage_org=Керування організаціями
admin_panel=Панель адміністратора admin_panel=Панель адміністратора
account_settings=Нашалштування облікового запису account_settings=Налаштування облікового запису
settings=Налаштування settings=Налаштування
your_profile=Ваш профіль your_profile=Ваш профіль
your_settings=Ваші налаштування your_settings=Ваші налаштування
@@ -51,7 +51,7 @@ internal_server_error=Внутрішня помилка серверу
install=Установка install=Установка
title=Кроки установки перед першим запуском title=Кроки установки перед першим запуском
docker_helper=Якщо ви запускаєте Gogs всередені Docker, уважно прочитайте <a target="_blank" href="%s">гайдлайни</a> перш ніж змінювати щось! docker_helper=Якщо ви запускаєте Gogs всередені Docker, уважно прочитайте <a target="_blank" href="%s">гайдлайни</a> перш ніж змінювати щось!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs потребує MySQL, PostgreSQL, SQLite3 або TiDB (за допомогою MySQL протоколу).
db_title=Налаштування бази даних db_title=Налаштування бази даних
db_type=Тип бази данних db_type=Тип бази данних
host=Хост host=Хост
@@ -83,17 +83,18 @@ use_builtin_ssh_server_popup=Запустити вбудований SSH сер
http_port=Порт HTTP http_port=Порт HTTP
http_port_helper=Номер порту який программа буде слухати. http_port_helper=Номер порту який программа буде слухати.
app_url=Адреса програми app_url=Адреса програми
app_url_helper=Це впливає на клонування через HTTP/HTTPS та десь у електроній пошті. app_url_helper=Це впливає на клонування URL через HTTP/HTTPS та десь в електронній пошті.
log_root_path=Шлях до лог файлу log_root_path=Шлях до лог файлу
log_root_path_helper=Каталог для файлів журналу. log_root_path_helper=Каталог для файлів журналу.
enable_console_mode=Увімкнути консольний режим enable_console_mode=Увімкнути консольний режим
enable_console_mode_popup=На додаток до файлового режиму писати логи також і до консолі. enable_console_mode_popup=На додаток до файлового режиму писати логи також і до консолі.
default_branch=Гілка за замовчуванням
optional_title=Додаткові налаштування optional_title=Додаткові налаштування
email_title=Параметри електронної пошти email_title=Налаштування електронної пошти
smtp_host=SMTP хост smtp_host=SMTP хост
smtp_from=Від smtp_from=Від
smtp_from_helper=Поле "Від" адреси, RFC 5322. Це може бути просто адреса електронної пошти або адреса у форматі «Ім'я» <email@example.com>. smtp_from_helper=Поле "Від" адреси, згідно RFC 5322. Це може бути просто адреса електронної пошти або адреса у форматі "Ім'я" <email@example.com>.
mailer_user=Відправник електронної пошти mailer_user=Відправник електронної пошти
mailer_password=Відправник паролю mailer_password=Відправник паролю
register_confirm=Увімкнути підтвердження реєстрації register_confirm=Увімкнути підтвердження реєстрації
@@ -155,7 +156,7 @@ create_new_account=Створити новий обліковий запис
register_hepler_msg=Вже зареєстровані? Увійдіть зараз! register_hepler_msg=Вже зареєстровані? Увійдіть зараз!
social_register_hepler_msg=Вже зареєстровані? Прив'яжіть зараз! social_register_hepler_msg=Вже зареєстровані? Прив'яжіть зараз!
disable_register_prompt=Вибачте, реєстрація відключена. Будь ласка, зв'яжіться з адміністратором сайту. disable_register_prompt=Вибачте, реєстрація відключена. Будь ласка, зв'яжіться з адміністратором сайту.
disable_register_mail=На жаль, підтвердження реєстрації на електрону пошту було відключено. disable_register_mail=На жаль, підтвердження реєстрації на електрону пошту вимкнено адміністратором.
auth_source=Джерело автентифікації auth_source=Джерело автентифікації
local=Локальний local=Локальний
remember_me=Запам'ятати мене remember_me=Запам'ятати мене
@@ -177,7 +178,7 @@ password_too_short=Довжина пароля не може бути меншо
non_local_account=Нелокальні облікові записи не можуть змінити пароль через Gogs. non_local_account=Нелокальні облікові записи не можуть змінити пароль через Gogs.
login_two_factor=Двофакторна автентифікація login_two_factor=Двофакторна автентифікація
login_two_factor_passcode=Код автентифікації login_two_factor_passcode=Код аутентифікації
login_two_factor_enter_recovery_code=Введіть двофакторний код відновлення login_two_factor_enter_recovery_code=Введіть двофакторний код відновлення
login_two_factor_recovery=Двофакторне відновлення login_two_factor_recovery=Двофакторне відновлення
login_two_factor_recovery_code=Код відновлення login_two_factor_recovery_code=Код відновлення
@@ -223,7 +224,7 @@ alpha_dash_dot_slash_error=` мусить бути валідною буквою
size_error=` має мати розмір %s.` size_error=` має мати розмір %s.`
min_size_error=' має містити принаймні %s символів.' min_size_error=' має містити принаймні %s символів.'
max_size_error=' має містити принаймні %s символів.' max_size_error=' має містити принаймні %s символів.'
email_error=це не дійсна електронна поштова адреса. email_error=`це не дійсна електронна поштова адреса.`
url_error='не є припустимою URL-Адресою.' url_error='не є припустимою URL-Адресою.'
include_error=`повинен містити текст '%s'` include_error=`повинен містити текст '%s'`
unknown_error=Невідома помилка: unknown_error=Невідома помилка:
@@ -234,7 +235,7 @@ username_been_taken=Ім'я користувача вже зайнято.
repo_name_been_taken=Назва сховища вже використовується. repo_name_been_taken=Назва сховища вже використовується.
org_name_been_taken=Назва організаціі вже використовується. org_name_been_taken=Назва організаціі вже використовується.
team_name_been_taken=Назва команди вже використовується. team_name_been_taken=Назва команди вже використовується.
email_been_used=Адреса електронної пошти вже використовується. email_been_used=Ця адреса електронної пошти вже використовується.
username_password_incorrect=Ім'я користувача або пароль помилкові. username_password_incorrect=Ім'я користувача або пароль помилкові.
auth_source_mismatch=Обране джерело автентифікації не асоційовано з користувачем. auth_source_mismatch=Обране джерело автентифікації не асоційовано з користувачем.
enterred_invalid_repo_name=Переконайтеся, що ви ввели назву сховища правильно. enterred_invalid_repo_name=Переконайтеся, що ви ввели назву сховища правильно.
@@ -316,8 +317,9 @@ delete_email=Видалити
email_deletion=Видалення електронної пошти email_deletion=Видалення електронної пошти
email_deletion_desc=Видалення цієї електронної адреси призведе до вилучення інформації, пов'язаної з вашим обліковим записом. Ви бажаєте продовжити? email_deletion_desc=Видалення цієї електронної адреси призведе до вилучення інформації, пов'язаної з вашим обліковим записом. Ви бажаєте продовжити?
email_deletion_success=Електронну адресу успішно видалено! email_deletion_success=Електронну адресу успішно видалено!
email_deletion_primary=Не вдається видалити основну адресу електронної пошти.
add_new_email=Додати нову адресу електронної пошти add_new_email=Додати нову адресу електронної пошти
add_email=Додати адресу електроної пошти add_email=Додати адресу електронної пошти
add_email_confirmation_sent=Новий електронний лист із підтвердженням було направлено на '%s', будь ласка, перевірте вашу поштову скриньку протягом наступних %d годин, щоб завершити процес підтвердження. add_email_confirmation_sent=Новий електронний лист із підтвердженням було направлено на '%s', будь ласка, перевірте вашу поштову скриньку протягом наступних %d годин, щоб завершити процес підтвердження.
add_email_success=Вашу нову адресу електронної пошти було успішно додано. add_email_success=Вашу нову адресу електронної пошти було успішно додано.
@@ -339,7 +341,7 @@ add_on=Додано
last_used=Останнє використання last_used=Останнє використання
no_activity=Жодної діяльності no_activity=Жодної діяльності
key_state_desc=Цей ключ використовувався в останні 7 днів key_state_desc=Цей ключ використовувався в останні 7 днів
token_state_desc=Цей токен використовувався в останні 7 днів token_state_desc=Цей жетон використовувався в останні 7 днів
two_factor=Двофакторна автентифікація two_factor=Двофакторна автентифікація
two_factor_status=Статус: two_factor_status=Статус:
@@ -348,7 +350,7 @@ two_factor_off=Викл.
two_factor_enable=Увімкнути two_factor_enable=Увімкнути
two_factor_disable=Вимкнути two_factor_disable=Вимкнути
two_factor_view_recovery_codes=Перегляньте й збережіть <a href="%s%s">ваші ключі відновлення</a> у безпечному місці. Ви можете використовувати іх як паролі якщо втратите доступ до вашої програми автентифікації. 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_http=Для HTTP/HTTPS операцій, ви більше не можете використовувати звичайні ім'я та пароль. Будь ласка створіть та використовуйте <a href="%[1]s%[2]s">персональний жетон доступу</a> як ваші облікові дані, наприклад <code>%[3]s</code>.
two_factor_enable_title=Увімкнути двофакторну автентифікацію two_factor_enable_title=Увімкнути двофакторну автентифікацію
two_factor_scan_qr=Будь ласка, використовуйте ваш додаток автентифікації для сканування зображення: two_factor_scan_qr=Будь ласка, використовуйте ваш додаток автентифікації для сканування зображення:
two_factor_or_enter_secret=Або введіть секрет: two_factor_or_enter_secret=Або введіть секрет:
@@ -367,18 +369,19 @@ two_factor_disable_title=Вимкнути двофакторну автенти
two_factor_disable_desc=Рівень безпеки вашого акаунту знизиться після вимикання двофакторної автентифікаціЇ. Бажаєте продовжити? two_factor_disable_desc=Рівень безпеки вашого акаунту знизиться після вимикання двофакторної автентифікаціЇ. Бажаєте продовжити?
two_factor_disable_success=Двофакторну автентифікацію було успішно вимкнено! two_factor_disable_success=Двофакторну автентифікацію було успішно вимкнено!
manage_access_token=Керувати токенами особистого доступу manage_access_token=Керувати жетонами особистого доступу
generate_new_token=Генерувати новий жетон generate_new_token=Генерувати новий жетон
tokens_desc=Створені вами токени для доступу до Gogs API. tokens_desc=Створені вами жетони для доступу до Gogs API.
new_token_desc=На даний момент будь-який жетон має повний доступ до вашого облікового запису. access_token_tips=Персональний жетон доступу може бути використаний як ім'я користувача або пароль. Рекомендується використовувати "x-access-token" як ім'я користувача та персональний жетон доступу, що є паролем для додатків gt.
new_token_desc=На цей час будь-який жетон має повний доступ до вашого облікового запису.
token_name=Назва жетону token_name=Назва жетону
generate_token=Створити жетон generate_token=Створити жетон
generate_token_succees=Новий жетон було створено успішно! Переконайтеся, що Ви скопіювали Ваш новий жетон доступу. Ви не зможете побачити його знову! generate_token_succees=Новий жетон було створено успішно! Переконайтеся, що Ви скопіювали Ваш новий жетон доступу, бо Ви не зможете побачити його знову!
delete_token=Видалити delete_token=Видалити
access_token_deletion=Видалення токену персонального доступу access_token_deletion=Видалення жетону персонального доступу
access_token_deletion_desc=Видалення цього токену призведе до неможливості доступу усіх пов’язаних додатків. Продовжити? access_token_deletion_desc=Видалення цього жетону призведе до неможливості доступу усіх пов’язаних додатків. Продовжити?
delete_token_success=Персональний токен було видалено. Не забудьте перевірити ваш додаток. delete_token_success=Персональний жетон було видалено. Не забудьте перевірити ваш додаток.
token_name_exists=Токен з таким ім'ям вже існує. token_name_exists=Жетон з таким ім'ям вже існує.
orgs.none=Ви не є членом будь-якої організації. orgs.none=Ви не є членом будь-якої організації.
orgs.leave_title=Залишити організацію orgs.leave_title=Залишити організацію
@@ -443,7 +446,7 @@ migrate.clone_address_desc=Це може бути URL-адресою HTTP, HTTPS
migrate.clone_address_desc_import_local=Ви також можете змігрувати репозиторій з локального шляху на сервері. migrate.clone_address_desc_import_local=Ви також можете змігрувати репозиторій з локального шляху на сервері.
migrate.permission_denied=Вам не дозволено імпортувати локальні репозиторії. migrate.permission_denied=Вам не дозволено імпортувати локальні репозиторії.
migrate.invalid_local_path=Невірний локальний шлях, він не існує або не є каталогом. migrate.invalid_local_path=Невірний локальний шлях, він не існує або не є каталогом.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=Адреса клону розв’язана на адресу локальної мережі, яка неявно заблокована.
migrate.failed=Перенесення не вдалось: %v migrate.failed=Перенесення не вдалось: %v
mirror_from=дзеркало mirror_from=дзеркало
@@ -491,6 +494,8 @@ branches.stale_branches=Застарілі гілки
branches.all=Усі гілки branches.all=Усі гілки
branches.updated_by=Оновлено %[1]s з %[2]s branches.updated_by=Оновлено %[1]s з %[2]s
branches.change_default_branch=Гілку за замовчуванням змінено branches.change_default_branch=Гілку за замовчуванням змінено
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Новий файл editor.new_file=Новий файл
editor.upload_file=Завантажити файл editor.upload_file=Завантажити файл
@@ -810,7 +815,7 @@ settings.webhook.headers=Заголовки
settings.webhook.payload=Зміст settings.webhook.payload=Зміст
settings.webhook.body=Тіло settings.webhook.body=Тіло
settings.webhook.err_cannot_parse_payload_url=Неможливо розібрати payload URL: %v settings.webhook.err_cannot_parse_payload_url=Неможливо розібрати payload URL: %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=URL-адреса корисного навантаження розв’язана з адресою у локальної мережі, яка неявно заблокована.
settings.githooks_desc=Git хуки керуються самим Git, ви можете редагувати файли хуків, що підтримуються згідно списку нище, щоб виконувати будь-які операції. settings.githooks_desc=Git хуки керуються самим Git, ви можете редагувати файли хуків, що підтримуються згідно списку нище, щоб виконувати будь-які операції.
settings.githook_edit_desc=Якщо хук неактивний, буде представлено зразок вмісту. Порожнє значення у цьому полі призведе до вимкнення хуку. settings.githook_edit_desc=Якщо хук неактивний, буде представлено зразок вмісту. Порожнє значення у цьому полі призведе до вимкнення хуку.
settings.githook_name=Ім'я хуку settings.githook_name=Ім'я хуку
@@ -855,7 +860,7 @@ settings.hook_type=Тип хуку
settings.add_slack_hook_desc=Додати <a href="%s">Slack</a>-інтеграцію до вашого репозиторію. settings.add_slack_hook_desc=Додати <a href="%s">Slack</a>-інтеграцію до вашого репозиторію.
settings.add_discord_hook_desc=Додати <a href="%s">Discord</a>-інтеграцію до репозиторію. settings.add_discord_hook_desc=Додати <a href="%s">Discord</a>-інтеграцію до репозиторію.
settings.add_dingtalk_hook_desc=Додати інтеграцію <a href="%s">Dingtalk</a> до вашого репозиторію. settings.add_dingtalk_hook_desc=Додати інтеграцію <a href="%s">Dingtalk</a> до вашого репозиторію.
settings.slack_token=Токен settings.slack_token=Жетон
settings.slack_domain=Домен settings.slack_domain=Домен
settings.slack_channel=Канал settings.slack_channel=Канал
settings.deploy_keys=Ключи для розгортування settings.deploy_keys=Ключи для розгортування
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Слухати хост
config.ssh.listen_port=Слухати порт config.ssh.listen_port=Слухати порт
config.ssh.server_ciphers=Серверні шифри config.ssh.server_ciphers=Серверні шифри
config.ssh.server_macs=MAC-адреси сервера config.ssh.server_macs=MAC-адреси сервера
config.ssh.server_algorithms=Алгоритми сервера
config.repo_config=Налаштування репозиторія config.repo_config=Налаштування репозиторія
config.repo.root_path=Кореневий шлях config.repo.root_path=Кореневий шлях
@@ -1218,9 +1224,9 @@ config.repo.preferred_licenses=Бажані ліцензії
config.repo.disable_http_git=Вимкнути HTTP Git config.repo.disable_http_git=Вимкнути HTTP Git
config.repo.enable_local_path_migration=Увімкнути міграцію з локального шляху config.repo.enable_local_path_migration=Увімкнути міграцію з локального шляху
config.repo.enable_raw_file_render_mode=Вмикає режим візуалізації неформатованого файлу config.repo.enable_raw_file_render_mode=Вмикає режим візуалізації неформатованого файлу
config.repo.commits_fetch_concurrency=Commits fetch concurrency config.repo.commits_fetch_concurrency=Запросити коміти конкурентно
config.repo.editor.line_wrap_extensions=Editor line wrap extensions config.repo.editor.line_wrap_extensions=Розширення редактора для перенесення рядків
config.repo.editor.previewable_file_modes=Editor previewable file modes config.repo.editor.previewable_file_modes=Режим редактора попереднього перегляду файлів
config.repo.upload.enabled=Вивантаження увімкнено config.repo.upload.enabled=Вивантаження увімкнено
config.repo.upload.temp_path=Завантажити тимчасовий шлях config.repo.upload.temp_path=Завантажити тимчасовий шлях
config.repo.upload.allowed_types=Дозволені типи вивантаження config.repo.upload.allowed_types=Дозволені типи вивантаження
@@ -1232,7 +1238,7 @@ config.db.type=Тип
config.db.host=Хост config.db.host=Хост
config.db.name=Ім'я config.db.name=Ім'я
config.db.schema=Схема config.db.schema=Схема
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(тільки для "postgres")
config.db.user=Користувач config.db.user=Користувач
config.db.ssl_mode=Режим SSL config.db.ssl_mode=Режим SSL
config.db.ssl_mode_helper=(тільки для "postgres") config.db.ssl_mode_helper=(тільки для "postgres")
@@ -1242,72 +1248,73 @@ config.db.max_open_conns=Максимальна кількість відкри
config.db.max_idle_conns=Максимальна кількість бездіяльних з'єднань config.db.max_idle_conns=Максимальна кількість бездіяльних з'єднань
config.security_config=Налаштування безпеки config.security_config=Налаштування безпеки
config.security.login_remember_days=Login remember days config.security.login_remember_days=Кількість днів запам'ятовування входу
config.security.cookie_remember_name=Запам'ятати куки config.security.cookie_remember_name=Запам'ятати куки
config.security.cookie_username=Username cookie config.security.cookie_username=Куки імені користувача
config.security.cookie_secure=Enable secure cookie config.security.cookie_secure=Увімкнути захищені файли куки
config.security.reverse_proxy_auth_user=Reverse proxy authentication header config.security.reverse_proxy_auth_user=Заголовок аутентифікації на зворотному проксі
config.security.enable_login_status_cookie=Enable login status cookie config.security.enable_login_status_cookie=Увімкнути файли куки стану при вході
config.security.login_status_cookie_name=Login status cookie config.security.login_status_cookie_name=Куки статусу входу
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Дозволений список у локальної мережі
config.email_config=Налаштування пошти config.email_config=Налаштування електронної пошти
config.email.enabled=Увімкнено config.email.enabled=Увімкнено
config.email.subject_prefix=Subject prefix config.email.subject_prefix=Префікс теми
config.email.host=Хост config.email.host=Хост
config.email.from=From config.email.from=Від
config.email.user=Користувач config.email.user=Користувач
config.email.disable_helo=Disable HELO config.email.disable_helo=Вимкнути HELO
config.email.helo_hostname=HELO hostname config.email.helo_hostname=Ім'я хосту HELO
config.email.skip_verify=Skip certificate verify config.email.skip_verify=Пропустити перевірку сертифіката
config.email.use_certificate=Use custom certificate config.email.use_certificate=Використовувати користувальницький сертифікат
config.email.cert_file=Certificate file config.email.cert_file=Файл сертифікату
config.email.key_file=Key file config.email.key_file=Ключовий файл
config.email.use_plain_text=Use plain text config.email.use_plain_text=Використовувати звичайний текст
config.email.add_plain_text_alt=Add plain text alternative config.email.add_plain_text_alt=Додайте простий текст у якості альтернативи
config.email.send_test_mail=Send test email config.email.send_test_mail=Надіслати пробний лист
config.email.test_mail_failed=Failed to send test email to '%s': %v config.email.test_mail_failed=Помилка відправлення пробного листа до '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Пробного листа було відправлено до '%s'.
config.auth_config=Authentication configuration config.auth_config=Налаштування аутентифікації
config.auth.activate_code_lives=Activate code lives config.auth_custom_logout_url=Custom logout URL
config.auth.reset_password_code_lives=Reset password code lives config.auth.activate_code_lives=Активувати код підтвердження
config.auth.require_email_confirm=Require email confirmation config.auth.reset_password_code_lives=Термін придатності кода при скиданні пароля
config.auth.require_sign_in_view=Require sign in view config.auth.require_email_confirm=Вимагає підтвердження електронною поштою
config.auth.disable_registration=Disable registration config.auth.require_sign_in_view=Необхідно авторизуватися для перегляду
config.auth.enable_registration_captcha=Enable registration captcha config.auth.disable_registration=Вимкнути реєстрацію
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication config.auth.enable_registration_captcha=Включити реєстрацію з капчею
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration config.auth.enable_reverse_proxy_authentication=Увімкнути аутентифікацію на зворотному проксі
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header config.auth.enable_reverse_proxy_auto_registration=Увімкнути автоматичну реєстрацію на зворотному проксі
config.auth.reverse_proxy_authentication_header=Заголовок аутентифікації на зворотному проксі
config.user_config=Налаштування користувача config.user_config=Налаштування користувача
config.user.enable_email_notify=Enable email notification config.user.enable_email_notify=Увімкнути сповіщення електронною поштою
config.session_config=Налаштування сесії config.session_config=Налаштування сесії
config.session.provider=Provider config.session.provider=Постачальник
config.session.provider_config=Provider config config.session.provider_config=Налаштування постачальника
config.session.cookie_name=Cookie config.session.cookie_name=Файл куки
config.session.https_only=HTTPS only config.session.https_only=Виключно по HTTPS
config.session.gc_interval=GC interval config.session.gc_interval=Інтервал GC
config.session.max_life_time=Max life time config.session.max_life_time=Максимальний час дії
config.session.csrf_cookie_name=CSRF cookie config.session.csrf_cookie_name=Кука CSRF
config.cache_config=Конфігурація кешу config.cache_config=Конфігурація кешу
config.cache.adapter=Adapter config.cache.adapter=Адаптер
config.cache.interval=GC interval config.cache.interval=GC Інтервал
config.cache.host=Host config.cache.host=Хост
config.http_config=Налаштування HTTP config.http_config=Налаштування HTTP
config.http.access_control_allow_origin=Access control allow origin config.http.access_control_allow_origin=Контроль доступу дозволяє походження
config.attachment_config=Attachment configuration config.attachment_config=Налаштування вкладення
config.attachment.enabled=Увімкнено config.attachment.enabled=Увімкнено
config.attachment.path=Шлях config.attachment.path=Шлях
config.attachment.allowed_types=Дозволені типи config.attachment.allowed_types=Дозволені типи
config.attachment.max_size=Ліміт розміру config.attachment.max_size=Ліміт розміру
config.attachment.max_files=Ліміт файлів config.attachment.max_files=Ліміт файлів
config.release_config=Release configuration config.release_config=Налаштування випуску
config.release.attachment.enabled=Вкладення увімкнено config.release.attachment.enabled=Вкладення увімкнено
config.release.attachment.allowed_types=Дозволені типи вкладень config.release.attachment.allowed_types=Дозволені типи вкладень
config.release.attachment.max_size=Ліміт розміру вкладення config.release.attachment.max_size=Ліміт розміру вкладення
@@ -1325,19 +1332,19 @@ config.mirror.default_interval=Інтервал за замовчуванням
config.webhook_config=Налаштування web-хуків config.webhook_config=Налаштування web-хуків
config.webhook.types=Типи config.webhook.types=Типи
config.webhook.deliver_timeout=Deliver timeout config.webhook.deliver_timeout=Час для доставки вичерпано
config.webhook.skip_tls_verify=Skip TLS verify config.webhook.skip_tls_verify=Пропустити перевірку TLS
config.git_config=Налаштування git config.git_config=Налаштування git
config.git.disable_diff_highlight=Disable diff syntax highlight config.git.disable_diff_highlight=Вимкнути підсвітку синтаксису порівняння
config.git.max_diff_lines=Diff lines limit (for a single file) config.git.max_diff_lines=Обмеження рядків порівнюючи (для одного файлу)
config.git.max_diff_line_characters=Diff characters limit (for a single line) config.git.max_diff_line_characters=Обмеження символів порівнюючи (для одного файлу)
config.git.max_diff_files=Diff files limit (for a single diff) config.git.max_diff_files=Обмеження на порівняння файлів (для одного порівняння)
config.git.gc_args=Аргументи GC config.git.gc_args=Аргументи GC
config.git.migrate_timeout=Migration timeout config.git.migrate_timeout=Час для міграції вичерпано
config.git.mirror_timeout=Mirror fetch timeout config.git.mirror_timeout=Час для отримання дзеркала вичерпано
config.git.clone_timeout=Clone timeout config.git.clone_timeout=Час для клонування вичерпано
config.git.pull_timeout=Pull timeout config.git.pull_timeout=Час для витягання вичерпано
config.git.gc_timeout=Затримка GC config.git.gc_timeout=Затримка GC
config.lfs_config=Налаштування LFS config.lfs_config=Налаштування LFS

View File

@@ -88,6 +88,7 @@ log_root_path=Đường dẫn Log
log_root_path_helper=Thư mục để viết vào tập tin Log. log_root_path_helper=Thư mục để viết vào tập tin Log.
enable_console_mode=Bật chế độ console enable_console_mode=Bật chế độ console
enable_console_mode_popup=Ngoài chế độ tập tin, còn có in logs vào console. enable_console_mode_popup=Ngoài chế độ tập tin, còn có in logs vào console.
default_branch=Default Branch
optional_title=Cài đặt tùy chọn optional_title=Cài đặt tùy chọn
email_title=Cài đặt dịch vụ email email_title=Cài đặt dịch vụ email
@@ -316,6 +317,7 @@ delete_email=Xóa
email_deletion=Xóa email email_deletion=Xóa email
email_deletion_desc=Xóa địa chỉ email này sẽ xóa các thông tin liên quan đến tài khoản của bạn. Bạn có muốn tiếp tục? email_deletion_desc=Xóa địa chỉ email này sẽ xóa các thông tin liên quan đến tài khoản của bạn. Bạn có muốn tiếp tục?
email_deletion_success=Đã xóa email thành công! email_deletion_success=Đã xóa email thành công!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Thêm địa chỉ email mới add_new_email=Thêm địa chỉ email mới
add_email=Thêm email add_email=Thêm email
add_email_confirmation_sent=Một email xác nhận mới đã được gửi đến '%s', xin vui lòng kiểm tra hộp thư của bạn trong vòng giờ %d tiếp theo để hoàn tất quá trình xác nhận. add_email_confirmation_sent=Một email xác nhận mới đã được gửi đến '%s', xin vui lòng kiểm tra hộp thư của bạn trong vòng giờ %d tiếp theo để hoàn tất quá trình xác nhận.
@@ -370,6 +372,7 @@ two_factor_disable_success=Xác thực 2 yếu tố đã vô hiệu hoá thành
manage_access_token=Quản lý mã truy cập cá nhân manage_access_token=Quản lý mã truy cập cá nhân
generate_new_token=Tạo token mới generate_new_token=Tạo token mới
tokens_desc=Thẻ bạn đã tạo ra mà có thể được sử dụng để truy cập vào các API Gogs. tokens_desc=Thẻ bạn đã tạo ra mà có thể được sử dụng để truy cập vào các API Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Mỗi token sẽ có thể truy cập vào tài khoản của bạn. new_token_desc=Mỗi token sẽ có thể truy cập vào tài khoản của bạn.
token_name=Token Name token_name=Token Name
generate_token=Tạo mã generate_token=Tạo mã
@@ -491,6 +494,8 @@ branches.stale_branches=Các nhánh cũ
branches.all=Tất cả các nhánh branches.all=Tất cả các nhánh
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Thay đổi nhánh mặc định branches.change_default_branch=Thay đổi nhánh mặc định
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Tập tin mới editor.new_file=Tập tin mới
editor.upload_file=Tải tập tin lên editor.upload_file=Tải tập tin lên
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Máy chủ lắng nghe
config.ssh.listen_port=Cổng lắng nghe config.ssh.listen_port=Cổng lắng nghe
config.ssh.server_ciphers=Mật mã máy chủ config.ssh.server_ciphers=Mật mã máy chủ
config.ssh.server_macs=Địa chỉ MACs máy chủ config.ssh.server_macs=Địa chỉ MACs máy chủ
config.ssh.server_algorithms=Server algorithms
config.repo_config=Cấu hình kho config.repo_config=Cấu hình kho
config.repo.root_path=Đường dẫn Root config.repo.root_path=Đường dẫn Root
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Gửi email kiểm tra đến '%s':%v thất bại
config.email.test_mail_sent=Email kiểm tra đã được gửi đến '%s'. config.email.test_mail_sent=Email kiểm tra đã được gửi đến '%s'.
config.auth_config=Cấu hình xác thực config.auth_config=Cấu hình xác thực
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Yêu cầu xác nhận email config.auth.require_email_confirm=Yêu cầu xác nhận email

View File

@@ -88,6 +88,7 @@ log_root_path=日志路径
log_root_path_helper=存放日志文件的目录 log_root_path_helper=存放日志文件的目录
enable_console_mode=启用控制台模式 enable_console_mode=启用控制台模式
enable_console_mode_popup=除了使用文件模式外,还将日志输出到控制台 enable_console_mode_popup=除了使用文件模式外,还将日志输出到控制台
default_branch=默认分支
optional_title=可选设置 optional_title=可选设置
email_title=邮件服务设置 email_title=邮件服务设置
@@ -316,6 +317,7 @@ delete_email=删除
email_deletion=邮箱删除操作 email_deletion=邮箱删除操作
email_deletion_desc=删除该邮箱地址将会移除所有相关的信息。是否继续? email_deletion_desc=删除该邮箱地址将会移除所有相关的信息。是否继续?
email_deletion_success=邮箱删除成功! email_deletion_success=邮箱删除成功!
email_deletion_primary=无法删除默认邮箱。
add_new_email=添加新的邮箱地址 add_new_email=添加新的邮箱地址
add_email=添加邮箱 add_email=添加邮箱
add_email_confirmation_sent=一封待确认的电子邮件已发送到 '%s',请在 %d 小时内检查您的收件箱,并完成确认过程。 add_email_confirmation_sent=一封待确认的电子邮件已发送到 '%s',请在 %d 小时内检查您的收件箱,并完成确认过程。
@@ -370,6 +372,7 @@ two_factor_disable_success=两步验证登录关闭成功!
manage_access_token=管理个人操作令牌 manage_access_token=管理个人操作令牌
generate_new_token=生成新的令牌 generate_new_token=生成新的令牌
tokens_desc=您可以使用这些已生成的令牌来操作 Gogs API。 tokens_desc=您可以使用这些已生成的令牌来操作 Gogs API。
access_token_tips=个人访问令牌可以用作用户名或密码。建议使用 "x-access-token" 作为 Git 应用程序的用户名并使用个人访问令牌作为密码。
new_token_desc=目前为止,任何令牌都对您的帐户拥有完整的操作权限。 new_token_desc=目前为止,任何令牌都对您的帐户拥有完整的操作权限。
token_name=令牌名称 token_name=令牌名称
generate_token=生成令牌 generate_token=生成令牌
@@ -491,6 +494,8 @@ branches.stale_branches=陈旧分支
branches.all=所有分支 branches.all=所有分支
branches.updated_by=由 %[2]s 更新于 %[1]s branches.updated_by=由 %[2]s 更新于 %[1]s
branches.change_default_branch=更改默认分支 branches.change_default_branch=更改默认分支
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=新的文件 editor.new_file=新的文件
editor.upload_file=上传文件 editor.upload_file=上传文件
@@ -1208,6 +1213,7 @@ config.ssh.listen_host=监听主机
config.ssh.listen_port=监听端口 config.ssh.listen_port=监听端口
config.ssh.server_ciphers=服务端加密套件 config.ssh.server_ciphers=服务端加密套件
config.ssh.server_macs=服务器 MAC 地址 config.ssh.server_macs=服务器 MAC 地址
config.ssh.server_algorithms=服务器算法
config.repo_config=仓库配置 config.repo_config=仓库配置
config.repo.root_path=根目录 config.repo.root_path=根目录
@@ -1271,6 +1277,7 @@ config.email.test_mail_failed=发送测试邮件至 '%s' 时失败:%v
config.email.test_mail_sent=测试邮件已经发送至 '%s'。 config.email.test_mail_sent=测试邮件已经发送至 '%s'。
config.auth_config=认证配置 config.auth_config=认证配置
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=激活用户链接有效期 config.auth.activate_code_lives=激活用户链接有效期
config.auth.reset_password_code_lives=重置密码链接有效期 config.auth.reset_password_code_lives=重置密码链接有效期
config.auth.require_email_confirm=注册邮件确认 config.auth.require_email_confirm=注册邮件确认

View File

@@ -88,6 +88,7 @@ log_root_path=日誌路徑
log_root_path_helper=寫入日誌檔目錄 log_root_path_helper=寫入日誌檔目錄
enable_console_mode=Enable Console Mode enable_console_mode=Enable Console Mode
enable_console_mode_popup=In addition to file mode, also print logs to console. enable_console_mode_popup=In addition to file mode, also print logs to console.
default_branch=Default Branch
optional_title=可選設置 optional_title=可選設置
email_title=電子郵件服務設定 email_title=電子郵件服務設定
@@ -316,6 +317,7 @@ delete_email=刪除
email_deletion=刪除郵箱 email_deletion=刪除郵箱
email_deletion_desc=刪除該郵箱地址將會移除所有相關的信息。是否繼續? email_deletion_desc=刪除該郵箱地址將會移除所有相關的信息。是否繼續?
email_deletion_success=成功刪除郵箱! email_deletion_success=成功刪除郵箱!
email_deletion_primary=Cannot delete primary email address.
add_new_email=添加新的電子郵件地址 add_new_email=添加新的電子郵件地址
add_email=添加電子郵件 add_email=添加電子郵件
add_email_confirmation_sent=一封待確認的電子郵件已發送到 '%s',請在%d 小時內檢查您的收件箱,並完成確認過程。 add_email_confirmation_sent=一封待確認的電子郵件已發送到 '%s',請在%d 小時內檢查您的收件箱,並完成確認過程。
@@ -370,6 +372,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=管理個人操作令牌 manage_access_token=管理個人操作令牌
generate_new_token=生成新的令牌 generate_new_token=生成新的令牌
tokens_desc=您所產生的token將被用來存取Gogs APIs tokens_desc=您所產生的token將被用來存取Gogs APIs
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=目前為止,任何令牌都對您的帳戶擁有完整的操作權限。 new_token_desc=目前為止,任何令牌都對您的帳戶擁有完整的操作權限。
token_name=令牌名稱 token_name=令牌名稱
generate_token=生成令牌 generate_token=生成令牌
@@ -491,6 +494,8 @@ branches.stale_branches=Stale Branches
branches.all=All Branches branches.all=All Branches
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Change Default Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=New file editor.new_file=New file
editor.upload_file=Upload file editor.upload_file=Upload file
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository configuration config.repo_config=Repository configuration
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=日誌路徑
log_root_path_helper=寫入日誌檔目錄 log_root_path_helper=寫入日誌檔目錄
enable_console_mode=開啟主控台模式 enable_console_mode=開啟主控台模式
enable_console_mode_popup=除了使用檔案模式之外, 還要將日誌列印到控制台。 enable_console_mode_popup=除了使用檔案模式之外, 還要將日誌列印到控制台。
default_branch=Default Branch
optional_title=可選設置 optional_title=可選設置
email_title=電子郵件服務設定 email_title=電子郵件服務設定
@@ -316,6 +317,7 @@ delete_email=刪除
email_deletion=刪除郵箱 email_deletion=刪除郵箱
email_deletion_desc=刪除該郵箱地址將會移除所有相關的信息。是否繼續? email_deletion_desc=刪除該郵箱地址將會移除所有相關的信息。是否繼續?
email_deletion_success=成功刪除郵箱! email_deletion_success=成功刪除郵箱!
email_deletion_primary=Cannot delete primary email address.
add_new_email=添加新的電子郵件地址 add_new_email=添加新的電子郵件地址
add_email=添加電子郵件 add_email=添加電子郵件
add_email_confirmation_sent=一封待確認的電子郵件已發送到 '%s',請在%d 小時內檢查您的收件箱,並完成確認過程。 add_email_confirmation_sent=一封待確認的電子郵件已發送到 '%s',請在%d 小時內檢查您的收件箱,並完成確認過程。
@@ -370,6 +372,7 @@ two_factor_disable_success=您帳戶的兩步驗證已成功停用!
manage_access_token=管理個人操作令牌 manage_access_token=管理個人操作令牌
generate_new_token=生成新的令牌 generate_new_token=生成新的令牌
tokens_desc=您產生的令牌可以用來存取 Gogs API。 tokens_desc=您產生的令牌可以用來存取 Gogs API。
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=目前為止,任何令牌都對您的帳戶擁有完整的操作權限。 new_token_desc=目前為止,任何令牌都對您的帳戶擁有完整的操作權限。
token_name=令牌名稱 token_name=令牌名稱
generate_token=生成令牌 generate_token=生成令牌
@@ -491,6 +494,8 @@ branches.stale_branches=陳舊分支
branches.all=所有分支 branches.all=所有分支
branches.updated_by=%[2]s 更新了 %[1]s branches.updated_by=%[2]s 更新了 %[1]s
branches.change_default_branch=變更預設分支 branches.change_default_branch=變更預設分支
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=開新檔案 editor.new_file=開新檔案
editor.upload_file=上傳檔案 editor.upload_file=上傳檔案
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository 設定 config.repo_config=Repository 設定
config.repo.root_path=根路徑 config.repo.root_path=根路徑
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=發送測試郵件至 '%s' 時失敗:%v
config.email.test_mail_sent=測試電子郵件已發送到 '%s'。 config.email.test_mail_sent=測試電子郵件已發送到 '%s'。
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

129
docker-next/README.md Normal file
View File

@@ -0,0 +1,129 @@
# Docker for Gogs (Next Generation)
> [!NOTE]
> This is the next-generation, security-focused Docker image. This will become the default image distribution (`gogs/gogs:latest`) starting 0.16.0.
![Docker pulls](https://img.shields.io/docker/pulls/gogs/gogs?logo=docker&style=for-the-badge)
Visit [Docker Hub](https://hub.docker.com/u/gogs) or [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs) to see all available images and tags.
## Security-first design
This Docker image is designed with Kubernetes security best practices in mind:
- **Runs as non-root by default** - uses UID 1000 and GID 1000
- **Minimal image** - only have essential packages installed
- **Direct execution** - no process supervisor, just runs `gogs web`
- **Supports restrictive security contexts** - ready for Kubernetes
### Kubernetes Security Context example
In the deployment YAML, make sure the following snippets exist:
```yaml
spec:
template:
spec:
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
containers:
- name: gogs
securityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
allowPrivilegeEscalation: false
seccompProfile:
type: RuntimeDefault
capabilities:
drop:
- ALL
```
### Custom UID/GID at build time
If you need a different UID/GID, build the image with custom arguments:
```zsh
docker build -f Dockerfile.next --build-arg GOGS_UID=1001 --build-arg GOGS_GID=1001 -t my-gogs .
```
## Usage
```zsh
$ docker pull gogs/gogs:next-latest
# Create local directory for volume.
$ mkdir -p /var/gogs
$ chown 1000:1000 /var/gogs
# Use `docker run` for the first time.
$ docker run --name=gogs -p 10022:2222 -p 10880:3000 -v /var/gogs:/data gogs/gogs:next-latest
# Use `docker start` if you have stopped it.
$ docker start gogs
```
Files will be stored in local path `/var/gogs`.
Directory `/var/gogs` keeps Git repositories and Gogs data:
```zsh
/var/gogs
|-- git
|-- gogs-repositories
|-- gogs
|-- conf
|-- data
|-- log
|-- ssh
```
### Using Docker volumes
```zsh
$ docker volume create --name gogs-data
$ docker run --name=gogs -p 10022:2222 -p 10880:3000 -v gogs-data:/data gogs/gogs:next-latest
```
## Settings
### Application
Most of the settings are obvious and easy to understand, but there are some settings can be confusing by running Gogs inside Docker:
- **Repository Root Path**: either `/data/git/gogs-repositories` or `/home/git/gogs-repositories` works.
- **Run User**: default `git` (UID 1000)
- **Domain**: fill in with Docker container IP (e.g. `192.168.99.100`). But if you want to access your Gogs instance from a different physical machine, please fill in with the hostname or IP address of the Docker host machine.
- **SSH Port**: Use the exposed port from Docker container. For example, your SSH server listens on `2222` inside Docker, **but** you expose it by `10022:2222`, then use `10022` for this value.
- **HTTP Port**: Use port you want Gogs to listen on inside Docker container. For example, your Gogs listens on `3000` inside Docker, **and** you expose it by `10880:3000`, but you still use `3000` for this value.
- **Application URL**: Use combination of **Domain** and **exposed HTTP Port** values (e.g. `http://192.168.99.100:10880/`).
Full documentation of application settings can be found in the [default `app.ini`](https://github.com/gogs/gogs/blob/main/conf/app.ini).
### Git over SSH
>[!IMPORTANT]
> Enable and disable of the builtin SSH server requires restart of the container to take effect.
To enable Git over SSH access, the use of builtin SSH server is required as follows in your `app.ini`:
```ini
[server]
START_SSH_SERVER = true
SSH_PORT = 10022 # The port shown in the clone URL
SSH_LISTEN_PORT = 2222 # The port that builtin server listens on
```
## Upgrade
> [!CAUTION]
> Make sure you have volumed data to somewhere outside Docker container!
Steps to upgrade Gogs with Docker:
- `docker pull gogs/gogs:next-latest`
- `docker stop gogs`
- `docker rm gogs`
- Create a container for the first time and don't forget to do the same for the volume and port mapping.

8
docker-next/start.sh Normal file
View File

@@ -0,0 +1,8 @@
#!/bin/sh
set -ex
# Create data directories at runtime (needed when /data is a mounted volume)
mkdir -p /data/gogs /data/git
# Execute the main command
exec "$@"

View File

@@ -1,5 +1,15 @@
# Docker for Gogs # Docker for Gogs
> [!WARNING]
> This is now the legacy Docker image that lacks modern security best practices. It will be published as `gogs/gogs:legacy-latest` starting 0.16.0, and be completely removed no earlier than 0.17.0.
>
> To use the next-generation, security-focused Docker image, see [docker-next/README.md](../docker-next/README.md).
> [!IMPORTANT]
> Image versions:
> - Every released version has its own tag , e.g., `gogs/gogs:0.13.4`, and a tag points to the latest patch of the minor version, e.g., `gogs/gogs:0.13`.
> - The `latest` tag is the image version built from the latest `main` branch.
![Docker pulls](https://img.shields.io/docker/pulls/gogs/gogs?logo=docker&style=for-the-badge) ![Docker pulls](https://img.shields.io/docker/pulls/gogs/gogs?logo=docker&style=for-the-badge)
Visit [Docker Hub](https://hub.docker.com/u/gogs) or [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs) to see all available images and tags. Visit [Docker Hub](https://hub.docker.com/u/gogs) or [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs) to see all available images and tags.
@@ -9,7 +19,6 @@ Visit [Docker Hub](https://hub.docker.com/u/gogs) or [GitHub Container registry]
To keep your data out of Docker container, we do a volume (`/var/gogs` -> `/data`) here, and you can change it based on your situation. To keep your data out of Docker container, we do a volume (`/var/gogs` -> `/data`) here, and you can change it based on your situation.
```sh ```sh
# Pull image from Docker Hub.
$ docker pull gogs/gogs $ docker pull gogs/gogs
# Create local directory for volume. # Create local directory for volume.
@@ -22,7 +31,7 @@ $ docker run --name=gogs -p 10022:22 -p 10880:3000 -v /var/gogs:/data gogs/gogs
$ docker start gogs $ docker start gogs
``` ```
Note: It is important to map the SSH service from the container to the host and set the appropriate SSH Port and URI settings when setting up Gogs for the first time. To access and clone Git repositories with the above configuration you would use: `git clone ssh://git@hostname:10022/username/myrepo.git` for example. > [!NOTE] It is important to map the SSH service from the container to the host and set the appropriate SSH Port and URI settings when setting up Gogs for the first time. To access and clone Git repositories with the above configuration you would use: `git clone ssh://git@hostname:10022/username/myrepo.git` for example.
Files will be store in local path `/var/gogs` in my case. Files will be store in local path `/var/gogs` in my case.
@@ -138,14 +147,15 @@ Automated backups with retention policy:
## Upgrade ## Upgrade
:exclamation::exclamation::exclamation:<span style="color: red">**Make sure you have volumed data to somewhere outside Docker container**</span>:exclamation::exclamation::exclamation: > [!CAUTION]
> Make sure you have volumed data to somewhere outside Docker container!
Steps to upgrade Gogs with Docker: Steps to upgrade Gogs with Docker:
- `docker pull gogs/gogs` - `docker pull gogs/gogs`
- `docker stop gogs` - `docker stop gogs`
- `docker rm gogs` - `docker rm gogs`
- Finally, create a container for the first time and don't forget to do the same for the volume and port mapping. - Create a container for the first time and don't forget to do the same for the volume and port mapping.
## Known issues ## Known issues

View File

@@ -5,16 +5,16 @@ set -xe
# Install gosu # Install gosu
if [ "$(uname -m)" = "aarch64" ]; then if [ "$(uname -m)" = "aarch64" ]; then
export arch='arm64' export arch='arm64'
export checksum='73244a858f5514a927a0f2510d533b4b57169b64d2aa3f9d98d92a7a7df80cea' export checksum='c3805a85d17f4454c23d7059bcb97e1ec1af272b90126e79ed002342de08389b'
elif [ "$(uname -m)" = "armv7l" ]; then elif [ "$(uname -m)" = "armv7l" ]; then
export arch='armhf' export arch='armhf'
export checksum='abb1489357358b443789571d52b5410258ddaca525ee7ac3ba0dd91d34484589' export checksum='e5866286277ff2a2159fb9196fea13e0a59d3f1091ea46ddb985160b94b6841b'
else else
export arch='amd64' export arch='amd64'
export checksum='bd8be776e97ec2b911190a82d9ab3fa6c013ae6d3121eea3d0bfd5c82a0eaf8c' export checksum='bbc4136d03ab138b1ad66fa4fc051bafc6cc7ffae632b069a53657279a450de3'
fi fi
wget --quiet https://github.com/tianon/gosu/releases/download/1.14/gosu-${arch} -O /usr/sbin/gosu wget --quiet https://github.com/tianon/gosu/releases/download/1.17/gosu-${arch} -O /usr/sbin/gosu
echo "${checksum} /usr/sbin/gosu" | sha256sum -cs echo "${checksum} /usr/sbin/gosu" | sha256sum -cs
chmod +x /usr/sbin/gosu chmod +x /usr/sbin/gosu

View File

@@ -4,16 +4,16 @@ set -xe
if [ "$(uname -m)" = "aarch64" ]; then if [ "$(uname -m)" = "aarch64" ]; then
export arch='arm64' export arch='arm64'
export checksum='44fad3d61ad39d0abff33f90fdbb99a666524dbeab08dc9d138d5d3a532ff68a' export checksum='17f325293d08f6f964e0530842e9ef1410dd5f83ee6475b493087391032b0cfd'
elif [ "$(uname -m)" = "armv7l" ]; then elif [ "$(uname -m)" = "armv7l" ]; then
export arch='arm' export arch='arm'
export checksum='b10ae7d85749025740097b0c349b946fbabd417c7ee4d2df8ccc5604750accd9' export checksum='e5b0261e9f6563ce3ace9e038520eb59d2c77c8d85f2b47ab41e1fe7cf321528'
else else
export arch='amd64' export arch='amd64'
export checksum='b9c5986f33a53094751b5e22ccc33e050b4a0a485658442121331cbb724e631e' export checksum='a35462ec71410cccfc428072de830e4478bc57a919d0131ef7897759270dff8f'
fi fi
wget --quiet https://github.com/go-task/task/releases/download/v3.12.1/task_linux_${arch}.tar.gz -O task_linux_${arch}.tar.gz wget --quiet https://github.com/go-task/task/releases/download/v3.40.1/task_linux_${arch}.tar.gz -O task_linux_${arch}.tar.gz
echo "${checksum} task_linux_${arch}.tar.gz" | sha256sum -cs echo "${checksum} task_linux_${arch}.tar.gz" | sha256sum -cs
tar -xzf task_linux_${arch}.tar.gz tar -xzf task_linux_${arch}.tar.gz

View File

@@ -79,5 +79,5 @@ fi
if [ $# -gt 0 ];then if [ $# -gt 0 ];then
exec "$@" exec "$@"
else else
exec /bin/s6-svscan /app/gogs/docker/s6/ exec /usr/bin/s6-svscan /app/gogs/docker/s6/
fi fi

View File

@@ -0,0 +1,131 @@
# Table "access"
```
Field | Column | PostgreSQL | MySQL | SQLite3
--------+---------+-----------------+-----------------------+-----------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER AUTOINCREMENT
UserID | user_id | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
RepoID | repo_id | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
Mode | mode | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
Primary keys: id
Indexes:
"access_user_repo_unique" UNIQUE (user_id, repo_id)
```
# Table "access_token"
```
Field | Column | PostgreSQL | MySQL | SQLite3
-------------+--------------+-----------------------------+-----------------------------+-----------------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER AUTOINCREMENT
UserID | uid | BIGINT | BIGINT | INTEGER
Name | name | TEXT | LONGTEXT | TEXT
Sha1 | sha1 | VARCHAR(40) UNIQUE | VARCHAR(40) UNIQUE | VARCHAR(40) UNIQUE
SHA256 | sha256 | VARCHAR(64) NOT NULL UNIQUE | VARCHAR(64) NOT NULL UNIQUE | VARCHAR(64) NOT NULL UNIQUE
CreatedUnix | created_unix | BIGINT | BIGINT | INTEGER
UpdatedUnix | updated_unix | BIGINT | BIGINT | INTEGER
Primary keys: id
Indexes:
"idx_access_token_user_id" (uid)
```
# Table "action"
```
Field | Column | PostgreSQL | MySQL | SQLite3
--------------+----------------+--------------------------------+--------------------------------+--------------------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER AUTOINCREMENT
UserID | user_id | BIGINT | BIGINT | INTEGER
OpType | op_type | BIGINT | BIGINT | INTEGER
ActUserID | act_user_id | BIGINT | BIGINT | INTEGER
ActUserName | act_user_name | TEXT | LONGTEXT | TEXT
RepoID | repo_id | BIGINT | BIGINT | INTEGER
RepoUserName | repo_user_name | TEXT | LONGTEXT | TEXT
RepoName | repo_name | TEXT | LONGTEXT | TEXT
RefName | ref_name | TEXT | LONGTEXT | TEXT
IsPrivate | is_private | BOOLEAN NOT NULL DEFAULT FALSE | BOOLEAN NOT NULL DEFAULT FALSE | NUMERIC NOT NULL DEFAULT FALSE
Content | content | TEXT | LONGTEXT | TEXT
CreatedUnix | created_unix | BIGINT | BIGINT | INTEGER
Primary keys: id
Indexes:
"idx_action_repo_id" (repo_id)
"idx_action_user_id" (user_id)
```
# Table "email_address"
```
Field | Column | PostgreSQL | MySQL | SQLite3
-------------+--------------+--------------------------------+--------------------------------+--------------------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER AUTOINCREMENT
UserID | uid | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
Email | email | VARCHAR(254) NOT NULL | VARCHAR(254) NOT NULL | TEXT NOT NULL
IsActivated | is_activated | BOOLEAN NOT NULL DEFAULT FALSE | BOOLEAN NOT NULL DEFAULT FALSE | NUMERIC NOT NULL DEFAULT FALSE
Primary keys: id
Indexes:
"email_address_user_email_unique" UNIQUE (uid, email)
"idx_email_address_user_id" (uid)
```
# Table "follow"
```
Field | Column | PostgreSQL | MySQL | SQLite3
----------+-----------+-----------------+-----------------------+-----------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER AUTOINCREMENT
UserID | user_id | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
FollowID | follow_id | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
Primary keys: id
Indexes:
"follow_user_follow_unique" UNIQUE (user_id, follow_id)
```
# Table "lfs_object"
```
Field | Column | PostgreSQL | MySQL | SQLite3
-----------+------------+----------------------+----------------------+-------------------
RepoID | repo_id | BIGINT | BIGINT | INTEGER
OID | oid | TEXT | VARCHAR(191) | TEXT
Size | size | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
Storage | storage | TEXT NOT NULL | LONGTEXT NOT NULL | TEXT NOT NULL
CreatedAt | created_at | TIMESTAMPTZ NOT NULL | DATETIME(3) NOT NULL | DATETIME NOT NULL
Primary keys: repo_id, oid
```
# Table "login_source"
```
Field | Column | PostgreSQL | MySQL | SQLite3
-------------+--------------+------------------+-----------------------+-----------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER AUTOINCREMENT
Type | type | BIGINT | BIGINT | INTEGER
Name | name | TEXT UNIQUE | VARCHAR(191) UNIQUE | TEXT UNIQUE
IsActived | is_actived | BOOLEAN NOT NULL | BOOLEAN NOT NULL | NUMERIC NOT NULL
IsDefault | is_default | BOOLEAN | BOOLEAN | NUMERIC
Config | cfg | TEXT | TEXT | TEXT
CreatedUnix | created_unix | BIGINT | BIGINT | INTEGER
UpdatedUnix | updated_unix | BIGINT | BIGINT | INTEGER
Primary keys: id
```
# Table "notice"
```
Field | Column | PostgreSQL | MySQL | SQLite3
-------------+--------------+------------+-----------------------+-----------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER AUTOINCREMENT
Type | type | BIGINT | BIGINT | INTEGER
Description | description | TEXT | TEXT | TEXT
CreatedUnix | created_unix | BIGINT | BIGINT | INTEGER
Primary keys: id
```

View File

@@ -1,11 +1,12 @@
# Import locales from Crowdin # Import locales from Crowdin
1. Download the ZIP archive from [Crowdin](https://crowdin.gogs.io/) and unzip it. 1. Upload the latest version of [`locale_en-US.ini`](https://github.com/gogs/gogs/blob/main/conf/locale/locale_en-US.ini) to the [Crowdin](https://crowdin.gogs.io/project/gogs/sources/files).
1. [Build and download](https://crowdin.gogs.io/project/gogs/translations) the ZIP archive and unzip it.
1. Go to root directory of the repository. 1. Go to root directory of the repository.
1. Run the `import` subcommand: 1. Run the `import` subcommand:
``` ```
$ ./gogs import locale --source <path to the unzipped directory> --target ./conf/locale $ ./.bin/gogs import locale --source <path to the unzipped directory> --target ./conf/locale
Locale files has been successfully imported! Locale files has been successfully imported!
``` ```

View File

@@ -21,7 +21,7 @@ Gogs is built and runs as a single binary and meant to be cross platform. Theref
Gogs has the following dependencies: Gogs has the following dependencies:
- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) (v1.8.3 or higher) - [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) (v1.8.3 or higher)
- [Go](https://golang.org/doc/install) (v1.18 or higher) - [Go](https://golang.org/doc/install) (v1.20 or higher)
- [Less.js](http://lesscss.org/usage/#command-line-usage-installing) - [Less.js](http://lesscss.org/usage/#command-line-usage-installing)
- [Task](https://github.com/go-task/task) (v3) - [Task](https://github.com/go-task/task) (v3)
- [goimports](https://pkg.go.dev/golang.org/x/tools/cmd/goimports) - [goimports](https://pkg.go.dev/golang.org/x/tools/cmd/goimports)

View File

@@ -1,102 +0,0 @@
# Table "access"
```
FIELD | COLUMN | POSTGRESQL | MYSQL | SQLITE3
---------+---------+-----------------+-----------------------+-------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER
UserID | user_id | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
RepoID | repo_id | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
Mode | mode | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
Primary keys: id
Indexes:
"access_user_repo_unique" UNIQUE (user_id, repo_id)
```
# Table "access_token"
```
FIELD | COLUMN | POSTGRESQL | MYSQL | SQLITE3
--------------+--------------+-----------------------------+-----------------------------+------------------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER
UserID | uid | BIGINT | BIGINT | INTEGER
Name | name | TEXT | LONGTEXT | TEXT
Sha1 | sha1 | VARCHAR(40) UNIQUE | VARCHAR(40) UNIQUE | VARCHAR(40) UNIQUE
SHA256 | sha256 | VARCHAR(64) NOT NULL UNIQUE | VARCHAR(64) NOT NULL UNIQUE | VARCHAR(64) NOT NULL UNIQUE
CreatedUnix | created_unix | BIGINT | BIGINT | INTEGER
UpdatedUnix | updated_unix | BIGINT | BIGINT | INTEGER
Primary keys: id
Indexes:
"idx_access_token_user_id" (uid)
```
# Table "action"
```
FIELD | COLUMN | POSTGRESQL | MYSQL | SQLITE3
---------------+----------------+--------------------------------+--------------------------------+---------------------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER
UserID | user_id | BIGINT | BIGINT | INTEGER
OpType | op_type | BIGINT | BIGINT | INTEGER
ActUserID | act_user_id | BIGINT | BIGINT | INTEGER
ActUserName | act_user_name | TEXT | LONGTEXT | TEXT
RepoID | repo_id | BIGINT | BIGINT | INTEGER
RepoUserName | repo_user_name | TEXT | LONGTEXT | TEXT
RepoName | repo_name | TEXT | LONGTEXT | TEXT
RefName | ref_name | TEXT | LONGTEXT | TEXT
IsPrivate | is_private | BOOLEAN NOT NULL DEFAULT FALSE | BOOLEAN NOT NULL DEFAULT FALSE | NUMERIC NOT NULL DEFAULT FALSE
Content | content | TEXT | LONGTEXT | TEXT
CreatedUnix | created_unix | BIGINT | BIGINT | INTEGER
Primary keys: id
Indexes:
"idx_action_repo_id" (repo_id)
"idx_action_user_id" (user_id)
```
# Table "follow"
```
FIELD | COLUMN | POSTGRESQL | MYSQL | SQLITE3
-----------+-----------+-----------------+-----------------------+-------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER
UserID | user_id | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
FollowID | follow_id | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
Primary keys: id
Indexes:
"follow_user_follow_unique" UNIQUE (user_id, follow_id)
```
# Table "lfs_object"
```
FIELD | COLUMN | POSTGRESQL | MYSQL | SQLITE3
------------+------------+----------------------+----------------------+--------------------
RepoID | repo_id | BIGINT | BIGINT | INTEGER
OID | oid | TEXT | VARCHAR(191) | TEXT
Size | size | BIGINT NOT NULL | BIGINT NOT NULL | INTEGER NOT NULL
Storage | storage | TEXT NOT NULL | LONGTEXT NOT NULL | TEXT NOT NULL
CreatedAt | created_at | TIMESTAMPTZ NOT NULL | DATETIME(3) NOT NULL | DATETIME NOT NULL
Primary keys: repo_id, oid
```
# Table "login_source"
```
FIELD | COLUMN | POSTGRESQL | MYSQL | SQLITE3
--------------+--------------+------------------+-----------------------+-------------------
ID | id | BIGSERIAL | BIGINT AUTO_INCREMENT | INTEGER
Type | type | BIGINT | BIGINT | INTEGER
Name | name | TEXT UNIQUE | VARCHAR(191) UNIQUE | TEXT UNIQUE
IsActived | is_actived | BOOLEAN NOT NULL | BOOLEAN NOT NULL | NUMERIC NOT NULL
IsDefault | is_default | BOOLEAN | BOOLEAN | NUMERIC
Config | cfg | TEXT | TEXT | TEXT
CreatedUnix | created_unix | BIGINT | BIGINT | INTEGER
UpdatedUnix | updated_unix | BIGINT | BIGINT | INTEGER
Primary keys: id
```

View File

@@ -1,80 +0,0 @@
# Release a new version
- To release a new minor version, use the GitHub issue template [Dev: Release a minor version](https://github.com/gogs/gogs/issues/new?title=Release+<MAJOR>.<MINOR>.0&labels=%F0%9F%93%B8%20release&template=dev_release_minor_version.md).
- To release a new patch version, use the GitHub issue template [Dev: Release a patch version](https://github.com/gogs/gogs/issues/new?title=Release+<MAJOR>.<MINOR>.<PATCH>&labels=%F0%9F%93%B8%20release&template=dev_release_patch_version.md).
## Playbooks
### Update Docker image tag
1. Pull down images and create a manifest:
```sh
$ export VERSION=0.12.4
$ export MINOR_RELEASE=0.12
$ docker pull --platform linux/amd64 gogs/gogs:${VERSION}
$ docker tag gogs/gogs:${VERSION} gogs/gogs:${MINOR_RELEASE}-amd64
$ docker push gogs/gogs:${MINOR_RELEASE}-amd64
$ docker pull --platform linux/arm64 gogs/gogs:${VERSION}
$ docker tag gogs/gogs:${VERSION} gogs/gogs:${MINOR_RELEASE}-arm64
$ docker push gogs/gogs:${MINOR_RELEASE}-arm64
$ docker pull --platform linux/arm/v7 gogs/gogs:${VERSION}
$ docker tag gogs/gogs:${VERSION} gogs/gogs:${MINOR_RELEASE}-armv7
$ docker push gogs/gogs:${MINOR_RELEASE}-armv7
$ docker manifest rm gogs/gogs:${MINOR_RELEASE}
$ docker manifest create \
gogs/gogs:${MINOR_RELEASE} \
gogs/gogs:${MINOR_RELEASE}-amd64 \
gogs/gogs:${MINOR_RELEASE}-arm64 \
gogs/gogs:${MINOR_RELEASE}-armv7
$ docker manifest push gogs/gogs:${MINOR_RELEASE}
# Only push "linux/amd64" for now
$ echo ${GITHUB_CR_PAT} | docker login ghcr.io -u <USERNAME> --password-stdin
$ docker tag gogs/gogs:${MINOR_RELEASE}-amd64 ghcr.io/gogs/gogs:${MINOR_RELEASE}
$ docker push ghcr.io/gogs/gogs:${MINOR_RELEASE}
```
2. Delete ephemeral tags from the [Docker Hub](https://hub.docker.com/repository/docker/gogs/gogs/tags).
### Compile and pack binaries
All commands are starting at the repository root.
- macOS:
```sh
# Produce the ZIP archive
$ TAGS=cert task release
```
- Linux:
```sh
# Produce the ZIP archive
$ TAGS="cert pam" task release
# Produce the Tarball
$ export VERSION=0.12.4
$ cd release && tar czf gogs_${VERSION}_linux_$(go env GOARCH).tar.gz gogs
```
- ARMv7:
```sh
# Produce the ZIP archive
$ TAGS="cert pam" task release
# Produce the Tarball
$ export VERSION=0.12.4
$ cd release && tar czf gogs_${VERSION}_linux_armv7.tar.gz gogs
```
- ARMv8:
```sh
# Produce the ZIP archive
$ TAGS="cert pam" task release
# Produce the Tarball
$ export VERSION=0.12.4
$ cd release && tar czf gogs_${VERSION}_linux_armv8.tar.gz gogs
```
- Windows:
```sh
$ TAGS=cert task release
$ TAGS="cert minwinsvc" task release --force
```

View File

@@ -1,9 +0,0 @@
#!/bin/sh
cd gogs || exit # "gogs" is the directory that stores all release archives
for file in *
do
if [ -f "$file" ]; then
shasum -a 256 "$file" >> checksum_sha256.txt
fi
done

8
gen.go
View File

@@ -1,8 +0,0 @@
// Copyright 2022 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 main
//go:generate go install golang.org/x/tools/cmd/goimports@v0.1.10
//go:generate go run github.com/derision-test/go-mockgen/cmd/go-mockgen@v1.3.3

151
go.mod
View File

@@ -1,61 +1,62 @@
module gogs.io/gogs module gogs.io/gogs
go 1.18 go 1.25.0
require ( require (
github.com/Masterminds/semver/v3 v3.2.0 github.com/Masterminds/semver/v3 v3.4.0
github.com/derision-test/go-mockgen v1.3.7 github.com/cockroachdb/errors v1.12.0
github.com/editorconfig/editorconfig-core-go/v2 v2.5.1 github.com/derision-test/go-mockgen/v2 v2.1.1
github.com/go-ldap/ldap/v3 v3.4.4 github.com/editorconfig/editorconfig-core-go/v2 v2.6.4
github.com/fergusstrange/embedded-postgres v1.33.0
github.com/glebarez/go-sqlite v1.21.2
github.com/glebarez/sqlite v1.11.0
github.com/go-ldap/ldap/v3 v3.4.12
github.com/go-macaron/binding v1.2.0 github.com/go-macaron/binding v1.2.0
github.com/go-macaron/cache v0.0.0-20190810181446-10f7c57e2196 github.com/go-macaron/cache v0.0.0-20190810181446-10f7c57e2196
github.com/go-macaron/captcha v0.2.0 github.com/go-macaron/captcha v0.2.0
github.com/go-macaron/csrf v0.0.0-20190812063352-946f6d303a4c github.com/go-macaron/csrf v0.0.0-20190812063352-946f6d303a4c
github.com/go-macaron/gzip v0.0.0-20160222043647-cad1c6580a07 github.com/go-macaron/gzip v0.0.0-20160222043647-cad1c6580a07
github.com/go-macaron/i18n v0.6.0 github.com/go-macaron/i18n v0.6.0
github.com/go-macaron/session v0.0.0-20190805070824-1a3cdc6f5659 github.com/go-macaron/session v1.0.3
github.com/go-macaron/toolbox v0.0.0-20190813233741-94defb8383c6 github.com/go-macaron/toolbox v0.0.0-20190813233741-94defb8383c6
github.com/gogs/chardet v0.0.0-20150115103509-2404f7772561 github.com/gogs/chardet v0.0.0-20150115103509-2404f7772561
github.com/gogs/cron v0.0.0-20171120032916-9f6c956d3e14 github.com/gogs/cron v0.0.0-20171120032916-9f6c956d3e14
github.com/gogs/git-module v1.8.1 github.com/gogs/git-module v1.8.6
github.com/gogs/go-gogs-client v0.0.0-20200128182646-c69cb7680fd4 github.com/gogs/go-gogs-client v0.0.0-20200128182646-c69cb7680fd4
github.com/gogs/go-libravatar v0.0.0-20191106065024-33a75213d0a0 github.com/gogs/go-libravatar v0.0.0-20191106065024-33a75213d0a0
github.com/gogs/minwinsvc v0.0.0-20170301035411-95be6356811a github.com/gogs/minwinsvc v0.0.0-20170301035411-95be6356811a
github.com/google/go-github v17.0.0+incompatible github.com/google/go-github v17.0.0+incompatible
github.com/inbucket/html2text v1.0.0
github.com/issue9/identicon v1.2.1 github.com/issue9/identicon v1.2.1
github.com/jaytaylor/html2text v0.0.0-20190408195923-01ec452cbe43
github.com/json-iterator/go v1.1.12 github.com/json-iterator/go v1.1.12
github.com/microcosm-cc/bluemonday v1.0.22 github.com/microcosm-cc/bluemonday v1.0.27
github.com/msteinert/pam v0.0.0-20190215180659-f29b9f28d6f9 github.com/msteinert/pam v1.2.0
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
github.com/niklasfasching/go-org v1.6.5 github.com/niklasfasching/go-org v1.9.1
github.com/olekukonko/tablewriter v0.0.5 github.com/olekukonko/tablewriter v1.1.3
github.com/pkg/errors v0.9.1 github.com/pquerna/otp v1.5.0
github.com/pquerna/otp v1.3.0 github.com/prometheus/client_golang v1.23.0
github.com/prometheus/client_golang v1.14.0
github.com/russross/blackfriday v1.6.0 github.com/russross/blackfriday v1.6.0
github.com/satori/go.uuid v1.2.0 github.com/satori/go.uuid v1.2.0
github.com/sergi/go-diff v1.3.1 github.com/sergi/go-diff v1.4.0
github.com/sourcegraph/run v0.12.0 github.com/sourcegraph/run v0.12.0
github.com/stretchr/testify v1.8.1 github.com/stretchr/testify v1.11.1
github.com/unknwon/cae v1.0.2 github.com/unknwon/cae v1.0.2
github.com/unknwon/com v1.0.1 github.com/unknwon/com v1.0.1
github.com/unknwon/i18n v0.0.0-20190805065654-5c6446a380b6 github.com/unknwon/i18n v0.0.0-20190805065654-5c6446a380b6
github.com/unknwon/paginater v0.0.0-20170405233947-45e5d631308e github.com/unknwon/paginater v0.0.0-20170405233947-45e5d631308e
github.com/urfave/cli v1.22.12 github.com/urfave/cli v1.22.17
golang.org/x/crypto v0.6.0 golang.org/x/crypto v0.47.0
golang.org/x/net v0.7.0 golang.org/x/net v0.48.0
golang.org/x/text v0.7.0 golang.org/x/text v0.33.0
gopkg.in/DATA-DOG/go-sqlmock.v2 v2.0.0-20180914054222-c19298f520d0 gopkg.in/DATA-DOG/go-sqlmock.v2 v2.0.0-20180914054222-c19298f520d0
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
gopkg.in/ini.v1 v1.67.0 gopkg.in/ini.v1 v1.67.0
gopkg.in/macaron.v1 v1.4.0 gopkg.in/macaron.v1 v1.5.1
gorm.io/driver/mysql v1.4.7 gorm.io/driver/mysql v1.5.2
gorm.io/driver/postgres v1.4.8 gorm.io/driver/postgres v1.6.0
gorm.io/driver/sqlite v1.4.2
gorm.io/driver/sqlserver v1.4.1 gorm.io/driver/sqlserver v1.4.1
gorm.io/gorm v1.24.5 gorm.io/gorm v1.25.12
modernc.org/sqlite v1.20.4
unknwon.dev/clog/v2 v2.2.0 unknwon.dev/clog/v2 v2.2.0
xorm.io/builder v0.3.6 xorm.io/builder v0.3.6
xorm.io/core v0.7.2 xorm.io/core v0.7.2
@@ -64,83 +65,91 @@ require (
require ( require (
bitbucket.org/creachadair/shell v0.0.7 // indirect bitbucket.org/creachadair/shell v0.0.7 // indirect
github.com/Azure/go-ntlmssp v0.0.0-20220621081337-cb9428e4ac1e // indirect github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect
github.com/aymerick/douceur v0.2.0 // indirect github.com/aymerick/douceur v0.2.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect
github.com/bgentry/speakeasy v0.1.0 // indirect
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect
github.com/bradfitz/gomemcache v0.0.0-20190329173943-551aad21a668 // indirect github.com/bradfitz/gomemcache v0.0.0-20190329173943-551aad21a668 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/clipperhouse/displaywidth v0.6.2 // indirect
github.com/clipperhouse/stringish v0.1.1 // indirect
github.com/clipperhouse/uax29/v2 v2.3.0 // indirect
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
github.com/cockroachdb/redact v1.1.5 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect
github.com/denisenkom/go-mssqldb v0.12.0 // indirect github.com/denisenkom/go-mssqldb v0.12.0 // indirect
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
github.com/djherbis/buffer v1.2.0 // indirect github.com/djherbis/buffer v1.2.0 // indirect
github.com/djherbis/nio/v3 v3.0.1 // indirect github.com/djherbis/nio/v3 v3.0.1 // indirect
github.com/dustin/go-humanize v1.0.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect
github.com/fatih/color v1.13.0 // indirect github.com/fatih/color v1.18.0 // indirect
github.com/go-asn1-ber/asn1-ber v1.5.4 // indirect github.com/getsentry/sentry-go v0.27.0 // indirect
github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 // indirect
github.com/go-logr/logr v1.2.3 // indirect github.com/go-logr/logr v1.2.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-macaron/inject v0.0.0-20160627170012-d8a0b8677191 // indirect github.com/go-macaron/inject v0.0.0-20200308113650-138e5925c53b // indirect
github.com/go-redis/redis/v8 v8.11.5 // indirect
github.com/go-sql-driver/mysql v1.7.0 // indirect github.com/go-sql-driver/mysql v1.7.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect
github.com/golang-sql/sqlexp v0.1.0 // indirect github.com/golang-sql/sqlexp v0.1.0 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/google/go-querystring v1.0.0 // indirect github.com/google/go-querystring v1.0.0 // indirect
github.com/google/uuid v1.3.0 // indirect github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/css v1.0.0 // indirect github.com/gorilla/css v1.0.1 // indirect
github.com/hashicorp/errwrap v1.0.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/itchyny/gojq v0.12.11 // indirect github.com/itchyny/gojq v0.12.11 // indirect
github.com/itchyny/timefmt-go v0.1.5 // indirect github.com/itchyny/timefmt-go v0.1.5 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
github.com/jackc/pgx/v5 v5.3.0 // indirect github.com/jackc/pgx/v5 v5.6.0 // indirect
github.com/jackc/puddle/v2 v2.2.2 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect github.com/jinzhu/now v1.1.5 // indirect
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/klauspost/compress v1.18.0 // indirect
github.com/klauspost/compress v1.8.6 // indirect github.com/kr/pretty v0.3.1 // indirect
github.com/klauspost/cpuid v1.2.1 // indirect github.com/kr/text v0.2.0 // indirect
github.com/lib/pq v1.10.2 // indirect github.com/lib/pq v1.10.9 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.16 // indirect github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.14 // indirect github.com/mattn/go-runewidth v0.0.19 // indirect
github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect github.com/mattn/go-sqlite3 v1.14.24 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect
github.com/microsoft/go-mssqldb v0.17.0 // indirect github.com/microsoft/go-mssqldb v0.17.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/ncruces/go-strftime v0.1.9 // indirect
github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6 // indirect
github.com/olekukonko/errors v1.1.0 // indirect
github.com/olekukonko/ll v0.1.4-0.20260115111900-9e59c2286df0 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/common v0.65.0 // indirect
github.com/prometheus/procfs v0.8.0 // indirect github.com/prometheus/procfs v0.16.1 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rivo/uniseg v0.2.0 // indirect github.com/rogpeppe/go-internal v1.10.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca // indirect github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca // indirect
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
go.bobheadxi.dev/streamline v1.2.1 // indirect go.bobheadxi.dev/streamline v1.2.1 // indirect
go.opentelemetry.io/otel v1.11.0 // indirect go.opentelemetry.io/otel v1.11.0 // indirect
go.opentelemetry.io/otel/trace v1.11.0 // indirect go.opentelemetry.io/otel/trace v1.11.0 // indirect
golang.org/x/mod v0.7.0 // indirect golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b // indirect
golang.org/x/sys v0.5.0 // indirect golang.org/x/mod v0.31.0 // indirect
golang.org/x/tools v0.4.0 // indirect golang.org/x/sync v0.19.0 // indirect
google.golang.org/protobuf v1.28.1 // indirect golang.org/x/sys v0.40.0 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
gopkg.in/bufio.v1 v1.0.0-20140618132640-567b2bfa514e // indirect gopkg.in/bufio.v1 v1.0.0-20140618132640-567b2bfa514e // indirect
gopkg.in/redis.v2 v2.3.2 // indirect gopkg.in/redis.v2 v2.3.2 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
lukechampine.com/uint128 v1.2.0 // indirect modernc.org/libc v1.66.3 // indirect
modernc.org/cc/v3 v3.40.0 // indirect modernc.org/mathutil v1.7.1 // indirect
modernc.org/ccgo/v3 v3.16.13 // indirect modernc.org/memory v1.11.0 // indirect
modernc.org/libc v1.22.2 // indirect modernc.org/sqlite v1.39.0 // indirect
modernc.org/mathutil v1.5.0 // indirect
modernc.org/memory v1.4.0 // indirect
modernc.org/opt v0.1.3 // indirect
modernc.org/strutil v1.1.3 // indirect
modernc.org/token v1.0.1 // indirect
) )
// +heroku goVersion go1.18 // +heroku goVersion go1.25
// +heroku install ./ // +heroku install ./cmd/gogs

739
go.sum

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,3 @@
// Copyright 2020 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 app package app
import ( import (

View File

@@ -1,7 +1,3 @@
// Copyright 2020 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 app package app
import ( import (

View File

@@ -1,7 +1,3 @@
// Copyright 2020 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 app package app
import ( import (

View File

@@ -1,13 +1,9 @@
// Copyright 2014 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package auth package auth
import ( import (
"fmt" "fmt"
"github.com/pkg/errors" "github.com/cockroachdb/errors"
"gogs.io/gogs/internal/errutil" "gogs.io/gogs/internal/errutil"
) )
@@ -23,6 +19,8 @@ const (
PAM // 4 PAM // 4
DLDAP // 5 DLDAP // 5
GitHub // 6 GitHub // 6
Mock Type = 999
) )
// Name returns the human-readable name for given authentication type. // Name returns the human-readable name for given authentication type.
@@ -45,8 +43,7 @@ type ErrBadCredentials struct {
// IsErrBadCredentials returns true if the underlying error has the type // IsErrBadCredentials returns true if the underlying error has the type
// ErrBadCredentials. // ErrBadCredentials.
func IsErrBadCredentials(err error) bool { func IsErrBadCredentials(err error) bool {
_, ok := errors.Cause(err).(ErrBadCredentials) return errors.As(err, &ErrBadCredentials{})
return ok
} }
func (err ErrBadCredentials) Error() string { func (err ErrBadCredentials) Error() string {

View File

@@ -1,7 +1,3 @@
// Copyright 2020 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 github package github
import ( import (
@@ -10,8 +6,8 @@ import (
"net/http" "net/http"
"strings" "strings"
"github.com/cockroachdb/errors"
"github.com/google/go-github/github" "github.com/google/go-github/github"
"github.com/pkg/errors"
) )
// Config contains configuration for GitHub authentication. // Config contains configuration for GitHub authentication.

View File

@@ -1,7 +1,3 @@
// Copyright 2020 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 github package github
import ( import (

View File

@@ -1,7 +1,3 @@
// Copyright 2014 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
// Package ldap provide functions & structure to query a LDAP ldap directory. // Package ldap provide functions & structure to query a LDAP ldap directory.
// For now, it's mainly tested again an MS Active Directory service, see README.md for more information. // For now, it's mainly tested again an MS Active Directory service, see README.md for more information.
package ldap package ldap
@@ -11,7 +7,8 @@ import (
"fmt" "fmt"
"strings" "strings"
ldap "github.com/go-ldap/ldap/v3" "github.com/cockroachdb/errors"
"github.com/go-ldap/ldap/v3"
log "unknwon.dev/clog/v2" log "unknwon.dev/clog/v2"
) )
@@ -166,13 +163,13 @@ func dial(ls *Config) (*ldap.Conn, error) {
conn, err := ldap.Dial("tcp", fmt.Sprintf("%s:%d", ls.Host, ls.Port)) conn, err := ldap.Dial("tcp", fmt.Sprintf("%s:%d", ls.Host, ls.Port))
if err != nil { if err != nil {
return nil, fmt.Errorf("Dial: %v", err) return nil, errors.Newf("dial: %v", err)
} }
if ls.SecurityProtocol == SecurityProtocolStartTLS { if ls.SecurityProtocol == SecurityProtocolStartTLS {
if err = conn.StartTLS(tlsCfg); err != nil { if err = conn.StartTLS(tlsCfg); err != nil {
conn.Close() conn.Close()
return nil, fmt.Errorf("StartTLS: %v", err) return nil, errors.Newf("StartTLS: %v", err)
} }
} }

View File

@@ -1,7 +1,3 @@
// Copyright 2020 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 ldap package ldap
import ( import (

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