Compare commits

...

230 commits

Author SHA1 Message Date
bdf5ba7a7c Merge remote-tracking branch 'upstream/forgejo' into forgejo
Some checks failed
testing / backend-checks (push) Failing after 1h8m47s
testing / frontend-checks (push) Successful in 2m48s
testing / test-unit (push) Has been skipped
testing / test-e2e (push) Has been skipped
testing / test-mysql (push) Has been skipped
testing / test-pgsql (push) Has been skipped
testing / test-sqlite (push) Has been skipped
testing / test-remote-cacher (map[image:docker.io/bitnami/redis:7.2 port:6379]) (push) Has been skipped
testing / test-remote-cacher (map[image:docker.io/bitnami/valkey:7.2 port:6379]) (push) Has been skipped
testing / test-remote-cacher (map[image:ghcr.io/microsoft/garnet-alpine:1.0.14 port:6379]) (push) Has been skipped
testing / test-remote-cacher (map[image:registry.redict.io/redict:7.3.0-scratch port:6379]) (push) Has been skipped
testing / security-check (push) Has been skipped
Integration tests for the release process / release-simulation (push) Has been cancelled
/ release (push) Has been cancelled
2024-10-11 07:53:02 -05:00
Earl Warren
4cb01ba5da Merge pull request 'Fix bug when a token is given public only' (#5515) from earl-warren/forgejo:wip-public-scope into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5515
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-10-11 02:08:03 +00:00
Earl Warren
27ff75857e Merge pull request 'Update module google.golang.org/grpc to v1.67.1 (forgejo)' (#5370) from renovate/forgejo-google.golang.org-grpc-1.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5370
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-10-11 01:47:39 +00:00
Earl Warren
14d85597f8
chore(lint): Fix bug when a token is given public only 2024-10-10 16:00:16 +03:00
Earl Warren
9b63e3e88d
chore(release-note): Fix bug when a token is given public only 2024-10-10 16:00:16 +03:00
Renovate Bot
283f94c85f Update module google.golang.org/grpc to v1.67.1 2024-10-10 08:03:23 +00:00
Lunny Xiao
a052d2b602
Fix bug when a token is given public only
Port of https://github.com/go-gitea/gitea/pull/32204

(cherry picked from commit d6d3c96e6555fc91b3e2ef21f4d8d7475564bb3e)

Conflicts:
  routers/api/v1/api.go
	services/context/api.go
  trivial context conflicts
2024-10-10 10:41:42 +03:00
Earl Warren
6f7aee2b3e Merge pull request 'Update module google.golang.org/protobuf to v1.35.1 (forgejo)' (#5510) from renovate/forgejo-google.golang.org-protobuf-1.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5510
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-10-10 07:27:29 +00:00
forgejo-renovate-action
67549e2d94 Merge pull request 'Update x/tools to v0.26.0 (forgejo)' (#5511) from renovate/forgejo-xtools into forgejo 2024-10-10 07:08:05 +00:00
Earl Warren
a5cee8d380 Merge pull request 'Update module golang.org/x/net to v0.30.0 (forgejo)' (#5508) from renovate/forgejo-golang.org-x-net-0.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5508
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-10-10 06:56:04 +00:00
Earl Warren
75e3a9a7b0 Merge pull request 'Update module golang.org/x/sys to v0.26.0 (forgejo)' (#5509) from renovate/forgejo-golang.org-x-sys-0.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5509
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-10-10 06:53:13 +00:00
Renovate Bot
dc93b843cd Update x/tools to v0.26.0 2024-10-10 06:03:14 +00:00
Codeberg Translate
90182a6204 i18n: update of translations from Codeberg Translate (#5471)
Co-authored-by: 413x1nkp <413x1nkp@users.noreply.translate.codeberg.org>
Co-authored-by: 0ko <0ko@users.noreply.translate.codeberg.org>
Co-authored-by: Juno Takano <jutty@users.noreply.translate.codeberg.org>
Co-authored-by: feroli <feroli@users.noreply.translate.codeberg.org>
Co-authored-by: pgmtx <pgmtx@users.noreply.translate.codeberg.org>
Co-authored-by: kwoot <kwoot@users.noreply.translate.codeberg.org>
Co-authored-by: atarwn <atarwn@users.noreply.translate.codeberg.org>
Co-authored-by: Benny <Benny@users.noreply.translate.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: JoseDouglas26 <JoseDouglas26@users.noreply.translate.codeberg.org>
Co-authored-by: Outbreak2096 <Outbreak2096@users.noreply.translate.codeberg.org>
Co-authored-by: whitecold <whitecold@users.noreply.translate.codeberg.org>
Co-authored-by: sinsky <sinsky@users.noreply.translate.codeberg.org>
Co-authored-by: William_Weber_Berrutti <William_Weber_Berrutti@users.noreply.translate.codeberg.org>
Co-authored-by: eldyj <eldyj@users.noreply.translate.codeberg.org>
Co-authored-by: CDN18 <CDN18@users.noreply.translate.codeberg.org>
Co-authored-by: jaahas <jaahas@users.noreply.translate.codeberg.org>
Co-authored-by: aleksi <aleksi@users.noreply.translate.codeberg.org>
Co-authored-by: stevenroose <stevenroose@users.noreply.translate.codeberg.org>
Co-authored-by: lumi200 <lumi200@users.noreply.translate.codeberg.org>
Co-authored-by: marcoaraujojunior <marcoaraujojunior@users.noreply.translate.codeberg.org>
Co-authored-by: SmolLemon <SmolLemon@users.noreply.translate.codeberg.org>
Co-authored-by: timedin <timedin@users.noreply.translate.codeberg.org>
Co-authored-by: Vaclovas Intas <Gateway_31@protonmail.com>
Co-authored-by: thodorisl <thodorisl@users.noreply.translate.codeberg.org>
Co-authored-by: SerikaFrame <SerikaFrame@users.noreply.translate.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5471
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@noreply.codeberg.org>
Co-committed-by: Codeberg Translate <translate@noreply.codeberg.org>
2024-10-10 05:22:07 +00:00
Renovate Bot
b1dcd28b7e Update module google.golang.org/protobuf to v1.35.1 2024-10-10 02:04:07 +00:00
Renovate Bot
4252035f78 Update module golang.org/x/sys to v0.26.0 2024-10-10 00:03:34 +00:00
Renovate Bot
ba5ec66182 Update module golang.org/x/net to v0.30.0 2024-10-10 00:03:17 +00:00
Otto
fd3bff3181 Merge pull request 'fix: Small fixes and rename for #5482' (#5505) from timedin/forgejo:forgejo into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5505
Reviewed-by: Otto <otto@codeberg.org>
2024-10-09 20:13:51 +00:00
Otto
ca2c850122 Merge pull request 'fix: correct Discord webhook JSON for issue events' (#5492) from kidsan/forgejo:discord-api-conformance into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5492
Reviewed-by: Otto <otto@codeberg.org>
2024-10-09 16:02:49 +00:00
TimedIn
e988a25237 Small fixes and rename for #5482
- New Issue Fixed assign me being hidden after assignees were cleared https://codeberg.org/forgejo/forgejo/pulls/5482/files#issuecomment-2365431
- Test for verifying the above
- Removed wait for network idle from e2e test
- Renamed templ key assigneeId to assigneeIds
2024-10-09 14:17:41 +02:00
ehshi
82b1ab56de update git book link to v2 (#5503)
## Checklist

The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).

### Tests

- I added test coverage for Go changes...
  - [ ] in their respective `*_test.go` for unit tests.
  - [ ] in the `tests/integration` directory if it involves interactions with a live Forgejo server.
- I added test coverage for JavaScript changes...
  - [ ] in `web_src/js/*.test.js` if it can be unit tested.
  - [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)).

### Documentation

- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [x] I did not document these changes and I do not expect someone else to do it.

### Release notes

- [ ] I do not want this change to show in the release notes.
- [ ] I want the title to show in the release notes with a link to this pull request.
- [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title.

Co-authored-by: Ehsan Shirvanian <ehsan@duck.com>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5503
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: ehshi <ehshi@noreply.codeberg.org>
Co-committed-by: ehshi <ehshi@noreply.codeberg.org>
2024-10-09 09:28:37 +00:00
Earl Warren
f06d6e6c19 Merge pull request 'Update module golang.org/x/image to v0.21.0 (forgejo)' (#5502) from renovate/forgejo-golang.org-x-image-0.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5502
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-10-09 05:13:37 +00:00
forgejo-renovate-action
170986f9f2 Merge pull request 'Update dependency @playwright/test to v1.48.0 (forgejo)' (#5501) from renovate/forgejo-playwright-monorepo into forgejo 2024-10-09 05:10:04 +00:00
Earl Warren
31fc0f66b7 Merge pull request '[gitea] week 2024-41 cherry pick (gitea/main -> forgejo)' (#5477) from earl-warren/wcp/2024-41 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5477
Reviewed-by: Otto <otto@codeberg.org>
2024-10-09 05:02:20 +00:00
JakobDev
1fc5e41592 [Feat]Add link to show all Issues/PullRequests (#4125)
The Issue and PullRequest list has 3 states:
- open: This lists all open Issues/PullRequests
- closed: This lists all closed Issues/PullRequests
- all: This lists all open and closed Issues/PullRequests

If you want to get to the all state, you need to click Open while in open state or Closed while in closed state, which is very unintuitive. This PR adss a third button to get to this state.

![grafik](/attachments/4ff59e4c-e318-40f0-80ba-f921ce098919)

I'm not sure if the eye icon fits well, but I couldn't find a better one.

Tests will be added once #4124 is merged.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4125
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: JakobDev <jakobdev@gmx.de>
Co-committed-by: JakobDev <jakobdev@gmx.de>
2024-10-09 04:56:40 +00:00
Renovate Bot
80d41ee2e1 Update actions/cache action to v4.1.1 (forgejo) (#5498)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5498
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2024-10-09 04:54:02 +00:00
Renovate Bot
5b25a882e0 Update module golang.org/x/image to v0.21.0 2024-10-09 02:03:22 +00:00
Renovate Bot
89aa9c30c0 Update dependency @playwright/test to v1.48.0 2024-10-09 02:02:53 +00:00
Kidsan
6ea6f224b8 fix: improve discord webhook api conformance
This commit corrects some cases in the discord webhook payload that do
not align with the discord documentation
2024-10-08 22:43:28 +02:00
Otto
e68cecf48d Merge pull request 'feat: "Assign to me" button on PR and Issues #5215' (#5482) from timedin/forgejo:forgejo into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5482
Reviewed-by: Otto <otto@codeberg.org>
2024-10-08 19:43:40 +00:00
TimedIn
2feb3d03d7 feat: "assign to me" button on PRs and issues
includes:
Tests for assignees on issues
Move assignees selector of new Issue to assignees.tmpl
2024-10-08 18:36:37 +02:00
Kidsan
cf3ebab4ba fix: add length limit to discord webhook icon_url 2024-10-08 17:22:27 +02:00
forgejo-renovate-action
b5b9cc1c38 Merge pull request 'Update dependency vue to v3.5.11 (forgejo)' (#5458) from renovate/forgejo-patch-vue-monorepo into forgejo 2024-10-08 06:59:17 +00:00
Renovate Bot
2bf9618768 Update dependency vue to v3.5.11 2024-10-08 04:04:20 +00:00
forgejo-renovate-action
e34fe94d8c Merge pull request 'Update dependency eslint-plugin-wc to v2.2.0 (forgejo)' (#5495) from renovate/forgejo-linters into forgejo 2024-10-08 03:50:43 +00:00
forgejo-renovate-action
f5b804748a Merge pull request 'Update dependency @vitest/eslint-plugin to v1.1.7 (forgejo)' (#5494) from renovate/forgejo-vitest-eslint-plugin-1.x into forgejo 2024-10-08 03:49:52 +00:00
Earl Warren
54f0203584 Merge pull request 'Update actions/git-backporting action to v4.8.2 (forgejo)' (#5493) from renovate/forgejo-actions-git-backporting-4.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5493
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-10-08 03:49:27 +00:00
Renovate Bot
b1901acd3a Update dependency eslint-plugin-wc to v2.2.0 2024-10-08 02:02:56 +00:00
Renovate Bot
39f6da1a83 Update dependency @vitest/eslint-plugin to v1.1.7 2024-10-08 00:03:27 +00:00
Renovate Bot
b23217fb3e Update actions/git-backporting action to v4.8.2 2024-10-08 00:02:57 +00:00
voltagex
d17db93fbf i18n: improve 'Verify' error message, stopgap for #2809 (#5479)
Signed-off-by: Adam Baxter <codeberg@voltagex.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5479
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: voltagex <voltagex@noreply.codeberg.org>
Co-committed-by: voltagex <voltagex@noreply.codeberg.org>
2024-10-07 16:11:07 +00:00
Earl Warren
c82e5d1a1a Merge pull request 'chore(ci): update changed-files actions URL for consistency' (#5485) from fnetx/changed-files-action-url into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5485
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-10-07 05:34:33 +00:00
forgejo-renovate-action
fd69556450 Merge pull request 'Update renovate to v38.110.2 (forgejo)' (#5483) from renovate/forgejo-renovate into forgejo 2024-10-07 05:27:35 +00:00
Otto Richter
36c384246c chore(ci): update changed-files actions URL for consistency
mirrored actions are typically created under the name of the original author; additionally this moves the action to Forgejo's control
2024-10-07 03:21:45 +02:00
Renovate Bot
e9040fafec Update renovate to v38.110.2 2024-10-07 00:03:30 +00:00
Earl Warren
6488d15860
Fix the logic of finding the latest pull review commit ID (#32139) (followup)
Adjust the tests for review deletion to ignore a newly inserted
fixture. It is a review request and cannot be deleted.
2024-10-06 10:00:09 +02:00
Earl Warren
1bee6fa839
Add support for searching users by email (#30908) (testifylint) 2024-10-06 08:29:19 +02:00
Earl Warren
122baf4de8
chore(release-notes): weekly cherry-pick week 2024-41 2024-10-06 08:21:41 +02:00
yp05327
af901ac7bb
Add support for searching users by email (#30908)
Fix #30898

we have an option `SearchByEmail`, so enable it, then we can search user
by email.
Also added a test for it.

(cherry picked from commit 5d6d025c9b8d2abca9ec2bfdc795d1f0c1c6592d)
2024-10-06 08:10:22 +02:00
Job
1dfe58ad11
Fix PR creation on forked repositories (#31863)
Resolves #20475

(cherry picked from commit 7e68bc88238104d2ee8b5a877fc1ad437f1778a4)

Conflicts:
	tests/integration/pull_create_test.go
  add missing testPullCreateDirectly from
  c63060b130d34e3f03f28f4dccbf04d381a95c17 Fix code owners will not be mentioned when a pull request comes from a forked repository (#30476)
2024-10-06 08:08:40 +02:00
Bruno Sofiato
a681daaca2
Fixed race condition when deleting documents by repoId in ElasticSearch (#32185)
Resolves #32184

---------

Signed-off-by: Bruno Sofiato <bruno.sofiato@gmail.com>
(cherry picked from commit d266d190bd744b7b6f572bf69a42013e21b9be62)
2024-10-06 07:59:42 +02:00
Zettat123
b67b7c1238
Fix the logic of finding the latest pull review commit ID (#32139)
Fix #31423

(cherry picked from commit f4b8f6fc40ce2869135372a5c6ec6418d27ebfba)

Conflicts:
	models/fixtures/comment.yml
  comment fixtures have to be shifted because there is one more in Forgejo
2024-10-06 07:44:28 +02:00
Earl Warren
388e7c9719
Ensure GetCSRF doesn't return an empty token (#32130) (followup)
Modifies the calls to createAttachment() for tests that do not exist
in Gitea.
2024-10-06 07:35:19 +02:00
Jason Song
2bc47e81a3
Ensure GetCSRF doesn't return an empty token (#32130)
Since page templates keep changing, some pages that contained forms with
CSRF token no longer have them.

It leads to some calls of `GetCSRF` returning an empty string, which
fails the tests. Like

3269b04d61/tests/integration/attachment_test.go (L62-L63)

The test did try to get the CSRF token and provided it, but it was
empty.

(cherry picked from commit 13283873e9d523d5a5557f55d64f702c1a9f76ec)

Conflicts:
	tests/integration/integration_test.go
  trivial context conflict
2024-10-06 07:29:45 +02:00
forgejo-renovate-action
4337b8321b Merge pull request 'Update dependency @stylistic/eslint-plugin-js to v2.9.0 (forgejo)' (#5476) from renovate/forgejo-linters into forgejo 2024-10-06 04:58:42 +00:00
Earl Warren
506e5d6058 Merge pull request 'Update actions/cache action to v4.1.0 (forgejo)' (#5474) from renovate/forgejo-actions-cache-4.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5474
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-10-06 04:56:35 +00:00
Earl Warren
58545a3586 Merge pull request 'Update module github.com/mattn/go-sqlite3 to v1.14.24 (forgejo)' (#5473) from renovate/forgejo-github.com-mattn-go-sqlite3-1.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5473
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-10-06 04:52:13 +00:00
Renovate Bot
0875dbf3d7 Update dependency @stylistic/eslint-plugin-js to v2.9.0 2024-10-06 02:07:00 +00:00
Otto
c28011c4ea Merge pull request 'fix: "forked from" note alignment on 404 error pages #5324' (#5472) from timedin/forgejo:forgejo into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5472
Reviewed-by: Otto <otto@codeberg.org>
2024-10-06 01:56:32 +00:00
Renovate Bot
e4866d9c9a Update actions/cache action to v4.1.0 2024-10-06 00:04:15 +00:00
Renovate Bot
aad9e21f57 Update module github.com/mattn/go-sqlite3 to v1.14.24 2024-10-06 00:03:58 +00:00
TimedIn
8cbb9f3116 #5324 Fix centered fork note 2024-10-06 00:14:30 +02:00
forgejo-renovate-action
1806e336fc Merge pull request 'Update dependency @vitest/eslint-plugin to v1.1.6 (forgejo)' (#5467) from renovate/forgejo-vitest-eslint-plugin-1.x into forgejo 2024-10-05 06:52:18 +00:00
forgejo-renovate-action
52a133fad1 Merge pull request 'Update dependency @stylistic/stylelint-plugin to v3.1.1 (forgejo)' (#5466) from renovate/forgejo-stylistic-stylelint-plugin-3.x into forgejo 2024-10-05 06:51:59 +00:00
Renovate Bot
d7e2bb6b94 Update dependency @vitest/eslint-plugin to v1.1.6 2024-10-05 00:03:15 +00:00
Renovate Bot
983919153b Update dependency @stylistic/stylelint-plugin to v3.1.1 2024-10-05 00:02:50 +00:00
Otto
f7f7800460 Merge pull request 'feat: support regexp in git-grep search' (#4968) from yoctozepto/git-grep-regexp into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4968
Reviewed-by: Shiny Nematoda <snematoda@noreply.codeberg.org>
2024-10-04 17:10:14 +00:00
Otto
cb91e5a4dc Merge pull request 'Makefile: support gotestsum' (#5249) from yoctozepto/gotestsum into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5249
Reviewed-by: Otto <otto@codeberg.org>
2024-10-04 14:24:12 +00:00
Otto
2c4a3d6641 Merge pull request 'Remove some Windows-specific files' (#5353) from 0ko/forgejo:no-windows into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5353
Reviewed-by: Otto <otto@codeberg.org>
2024-10-04 14:03:07 +00:00
Otto
386e3d17cd Merge pull request 'ci/tests(e2e): always run e2e tests, but only on changed files' (#5450) from fnetx/e2e-on-changes into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5450
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-10-04 13:43:18 +00:00
Otto Richter
88f653b583 docs(e2e): Update e2e test instructions for changed file patterns
chore: let fnetx review e2e tests
2024-10-04 15:15:10 +02:00
Otto Richter
72749bcf70 ci: (always|only) run e2e tests based on changes
- detect changed files for the run
- let e2e files specify which related files they "watch"
- only run e2e tests based on pattern matching or when generic files
  change
- fallback to full runs if env not specified
2024-10-04 15:14:45 +02:00
Otto Richter
7765153b40 tests(e2e): Allow tests to run only on file changes
- supports glob patterns in testfiles
- only runs tests on changes
- always runs tests without specified patterns

tests(e2e): refactor global watch patterns

tests(e2e): add watch patterns to test files
2024-10-04 15:14:45 +02:00
Otto Richter
f2a23c962a ci: merge e2e workflow into testing.yml
ci: cache frontend build across jobs

ci: ensure caches are saved with zstd

work around https://github.com/actions/cache/issues/1169

ci: require unit tests for remote cacher

- prevents unnecessary runs in case the unit tests already fail
- starts the integration tests about 2 minutes earlier
- should give some overall speedup to the CI run, because the long integration tests are run and finish earlier, and the cacher tests should still usually finish in time
- does not save any computing resources, just provides quicker results when runners are not under high load
2024-10-04 15:14:28 +02:00
Gusted
14b6f26aab Merge pull request 'log concise repo names in lfs doctor' (#5456) from kwonunn/fix-lfs-log-output into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5456
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-10-04 12:44:18 +00:00
Earl Warren
ad54c72b90 Merge pull request 'Update dependency mermaid to v11.3.0 (forgejo)' (#5459) from renovate/forgejo-mermaid-11.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5459
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-10-04 07:23:47 +00:00
Earl Warren
3d97c0f941
chore(release-notes): Update dependency mermaid to v11.3.0 2024-10-04 08:53:11 +02:00
Renovate Bot
14ea872f1e Update dependency mermaid to v11.3.0 2024-10-04 00:03:47 +00:00
Codeberg Translate
aca00fa346 i18n: update of translations from Codeberg Translate (#5413)
Translations update from [Codeberg Translate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/).

Current translation status:

![Weblate translation status](https://translate.codeberg.org/widget/forgejo/forgejo/horizontal-auto.svg)

Co-authored-by: 0ko <0ko@users.noreply.translate.codeberg.org>
Co-authored-by: fnetX <otto@codeberg.org>
Co-authored-by: be4zad <be4zad@users.noreply.translate.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: hankskyjames777 <hankskyjames777@users.noreply.translate.codeberg.org>
Co-authored-by: kwoot <kwoot@users.noreply.translate.codeberg.org>
Co-authored-by: emansije <emansije@users.noreply.translate.codeberg.org>
Co-authored-by: xtex <xtexchooser@duck.com>
Co-authored-by: Outbreak2096 <Outbreak2096@users.noreply.translate.codeberg.org>
Co-authored-by: WithLithum <WithLithum@users.noreply.translate.codeberg.org>
Co-authored-by: yeziruo <yeziruo@users.noreply.translate.codeberg.org>
Co-authored-by: kecrily <kecrily@users.noreply.translate.codeberg.org>
Co-authored-by: overloop <overloop@users.noreply.translate.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5413
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Codeberg Translate <translate@noreply.codeberg.org>
Co-committed-by: Codeberg Translate <translate@noreply.codeberg.org>
2024-10-03 21:23:07 +00:00
Kwonunn
15a407a617
log concise repo names in lfs doctor
the old log prints the entire repo object
2024-10-03 16:15:08 +02:00
forgejo-renovate-action
44bf8305d4 Merge pull request 'Update dependency @vitest/eslint-plugin to v1.1.5 (forgejo)' (#5452) from renovate/forgejo-vitest-eslint-plugin-1.x into forgejo 2024-10-03 06:30:36 +00:00
Renovate Bot
56bcbbaa31 Update dependency @vitest/eslint-plugin to v1.1.5 2024-10-03 06:02:29 +00:00
forgejo-renovate-action
c8859c5df1 Merge pull request 'Update vitest monorepo to v2.1.2 (forgejo)' (#5454) from renovate/forgejo-vitest-monorepo into forgejo 2024-10-03 05:26:20 +00:00
Renovate Bot
94f04e6fd8 Update vitest monorepo to v2.1.2 2024-10-03 02:02:46 +00:00
Otto
55d9c1bad3 Merge pull request 'ci: move composite workflow location' (#5421) from fnetx/dry-workflow-cleanup into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5421
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-10-01 15:20:28 +00:00
Otto Richter
e6b84f9191 ci: move composite workflow location
otherwise, they unfortunately display in the Forgejo UI with an error message
2024-10-01 16:51:02 +02:00
Otto
de99a9c93e Merge pull request 'Update actions/setup-go action to v5 (forgejo)' (#5441) from renovate/forgejo-actions-setup-go-5.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5441
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: Otto <otto@codeberg.org>
2024-10-01 14:17:19 +00:00
forgejo-renovate-action
36f2b8656e Merge pull request 'Update ghcr.io/devcontainers/features/git-lfs Docker tag to v1.2.3 (forgejo)' (#5437) from renovate/forgejo-devcontainer-packages into forgejo 2024-10-01 13:54:58 +00:00
Renovate Bot
be373e948e Update actions/setup-go action to v5 2024-10-01 10:02:16 +00:00
Renovate Bot
f79d2fba07 Update ghcr.io/devcontainers/features/git-lfs Docker tag to v1.2.3 2024-10-01 10:02:11 +00:00
forgejo-renovate-action
d2eac83f6a Merge pull request 'Update dependency eslint-plugin-sonarjs to v2.0.3 (forgejo)' (#5436) from renovate/forgejo-linters into forgejo 2024-10-01 08:53:47 +00:00
Earl Warren
df0e50a08f Merge pull request 'Update dependency @github/text-expander-element to v2.7.2 (forgejo)' (#5396) from renovate/forgejo-github-text-expander-element-2.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5396
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-10-01 08:38:55 +00:00
Earl Warren
d25a3709d9 Merge pull request 'chore: remove spurious comment in tests' (#5434) from earl-warren/forgejo:wip-container-cleanup into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5434
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-10-01 08:37:36 +00:00
Renovate Bot
e28a1e1d38 Update dependency eslint-plugin-sonarjs to v2.0.3 2024-10-01 08:05:28 +00:00
Earl Warren
aec55ac1b6 Merge pull request '[gitea] week 2024-40 cherry pick (gitea/main -> forgejo)' (#5416) from earl-warren/wcp/2024-40 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5416
Reviewed-by: Shiny Nematoda <snematoda@noreply.codeberg.org>
2024-10-01 07:52:05 +00:00
Earl Warren
9a7fc2e55e Merge pull request 'Update actions/cache action to v4 (forgejo)' (#5426) from renovate/forgejo-actions-cache-4.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5426
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-10-01 07:50:24 +00:00
Earl Warren
2099c2af7c
chore: remove spurious comment in tests 2024-09-30 18:47:30 +02:00
Earl Warren
c4d2635839 Merge pull request 'fix: referenced sha256:* container images may be deleted' (#5430) from earl-warren/forgejo:wip-container-cleanup into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5430
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-09-30 16:45:09 +00:00
Earl Warren
08999e8189 Merge pull request 'Lock file maintenance (forgejo)' (#5424) from renovate/forgejo-lock-file-maintenance into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5424
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-09-30 15:31:34 +00:00
Earl Warren
0a5fd7fdb8
fix: referenced sha256:* container images may be deleted
The inventory of the sha256:* images and the manifest index that
reference them is incomplete because it does not take into account any
image older than the expiration limit. As a result some sha256:* will
be considered orphaned although they are referenced from a manifest
index that was created more recently than the expiration limit.

There must not be any filtering based on the creation time when
building the inventory. The expiration limit must only be taken into
account when deleting orphaned images: those that are more recent than
the expiration limit must not be deleted.

This limit is specially important because it protects against a race
between a cleanup task and an ongoing mirroring task. A mirroring
task (such as skopeo sync) will first upload sha256:* images and then
create the corresponding manifest index. If a cleanup races against
it, the sha256:* images that are not yet referenced will be deleted
without skopeo noticing and the published index manifest that happens
at a later time will contain references to non-existent images.
2024-09-30 16:56:21 +02:00
Renovate Bot
e3eaa284bb Update actions/checkout action to v4 (forgejo) (#5427)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5427
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2024-09-30 13:08:26 +00:00
Renovate Bot
92305933b1 Update actions/setup-node action to v4 (forgejo) (#5428)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5428
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2024-09-30 12:56:08 +00:00
Renovate Bot
502a6a4461 Update actions/cache action to v4 2024-09-30 12:06:49 +00:00
forgejo-renovate-action
b2aa644859 Merge pull request 'Update renovate to v38.101.1 (forgejo)' (#5422) from renovate/forgejo-renovate into forgejo 2024-09-30 06:25:46 +00:00
Renovate Bot
0c993085e0 Lock file maintenance 2024-09-30 02:03:35 +00:00
Renovate Bot
1b06287fe3 Update renovate to v38.101.1 2024-09-30 00:08:52 +00:00
Otto
c37732d1ae Merge pull request 'ci: use custom action for Go caching' (#5328) from fnetx/custom-go-caching into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5328
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-09-29 23:53:33 +00:00
Otto Richter
a56c000f60 Replace setup-go with a custom action
To maximize the caching efficiency, all build jobs are executed as
forgejo user.
Hash is explicitly specified to avoid breaking changes.
2024-09-30 01:16:54 +02:00
Otto
3a38dbac17 Merge pull request 'ci: Move preparations to local actions' (#5410) from fnetx/ci-boilerplate into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5410
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-09-29 23:16:13 +00:00
Earl Warren
cf56beb3f9 Merge pull request 'Update citation-js monorepo (forgejo)' (#5395) from renovate/forgejo-citation-js-monorepo into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5395
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-09-29 10:02:41 +00:00
Earl Warren
c9ea78eb1c
chore(release-notes): weekly cherry-pick week 2024-40 2024-09-29 11:35:18 +02:00
Earl Warren
ffed8ac7b4 Merge pull request 'Update module github.com/minio/minio-go/v7 to v7.0.77 (forgejo)' (#5398) from renovate/forgejo-github.com-minio-minio-go-v7-7.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5398
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-09-29 09:26:54 +00:00
Radosław Piliszek
19672407f0 ui(git-grep): adapt the hint per the comments 2024-09-29 11:10:50 +02:00
Bruno Sofiato
8178d6eaba
Change the code search to sort results by relevance (#32134)
Resolves #32129

Signed-off-by: Bruno Sofiato <bruno.sofiato@gmail.com>
(cherry picked from commit 99d0510cb69c3c53cee05ef0e83ed02389925a90)
2024-09-29 11:00:25 +02:00
forgejo-renovate-action
1a90067754 Merge pull request 'Update dependency vue to v3.5.9 (forgejo)' (#5402) from renovate/forgejo-patch-vue-monorepo into forgejo 2024-09-29 08:52:40 +00:00
yp05327
36af3348bc
Fix wrong status of Set up Job when first step is skipped (#32120)
Fix #32089

(cherry picked from commit 6fa962f409c84477a7a4cf35b4a38a4a93fc3224)
2024-09-29 10:38:49 +02:00
Lunny Xiao
b496317b5a
Fix bug when deleting a migrated branch (#32075)
After migrating a repository with pull request, the branch is missed and
after the pull request merged, the branch cannot be deleted.

(cherry picked from commit 5a8568459d22e57cac506465463660526ca6a08f)

Conflicts:
	services/repository/branch.go
  conflict because of [GITEA] Fix typo in formatting error e71b5a038e
2024-09-29 10:37:39 +02:00
Lunny Xiao
5ccf79d05c
Include collaboration repositories on dashboard source/forks/mirrors list (#31946)
Fix #13489

In the original implementation, only `All` will display your owned and
collaborated repositories. For other filters like `Source`, `Mirrors`
and etc. will only display your owned repositories.

This PR removed the limitations. Now except `collbrations`, other
filters will always display your owned and collaborated repositories.

(cherry picked from commit 4947bec8360c152daca23e120eae1732d3848492)
2024-09-29 10:28:08 +02:00
Kemal Zebari
30b8b45e5e
Truncate commit message during Discord webhook push events (#31970)
Resolves #31668.

(cherry picked from commit aadbe0488f454b9f7f5a56765f4530f9d1e2c6ec)
2024-09-29 10:25:52 +02:00
Lunny Xiao
65b3136261
Fix panic when cloning with wrong ssh format. (#32076)
(cherry picked from commit 3f2d8f873035b614b4cdb447d8e16f5af82cefe8)
2024-09-29 10:22:01 +02:00
cloudchamb3r
ff65d34f03
Fix Bug in Issue/pulls list (#32081)
fix #32080

## After
### for opened issues
<img width="1199" alt="Screenshot 2024-09-19 at 6 29 31 PM"
src="https://github.com/user-attachments/assets/86cf48ad-5e4b-4dcb-8abe-4d7fd74e0aec">

### for closed issues
<img width="1208" alt="Screenshot 2024-09-19 at 6 29 37 PM"
src="https://github.com/user-attachments/assets/a16bc545-bfcf-49a4-be52-3e7334910482">

### for all issues
<img width="1340" alt="Screenshot 2024-09-20 at 12 07 12 PM"
src="https://github.com/user-attachments/assets/b2309c8f-e59d-44e9-ae3b-bf54e1196169">

(cherry picked from commit e1f0598c8f5af5ac95f5e13b74fbab99506762db)
2024-09-29 10:08:30 +02:00
Renovate Bot
1d5f8e5488 Update dependency vue to v3.5.10 2024-09-29 08:03:13 +00:00
Earl Warren
a226064711
Fix artifact v4 upload above 8MB (#31664) (fix lint errors) 2024-09-29 09:58:47 +02:00
ChristopherHX
8f0a05a7e4
Fix artifact v4 upload above 8MB (#31664)
Multiple chunks are uploaded with type "block" without using
"appendBlock" and eventually out of order for bigger uploads.
8MB seems to be the chunk size

This change parses the blockList uploaded after all blocks to get the
final artifact size and order them correctly before calculating the
sha256 checksum over all blocks

Fixes #31354

(cherry picked from commit b594cec2bda6f861effedb2e8e0a7ebba191c0e9)

Conflicts:
	routers/api/actions/artifactsv4.go
  conflict because of Refactor AppURL usage (#30885) 67c1a07285008cc00036a87cef966c3bd519a50c
    that was not cherry-picked in Forgejo
    the resolution consist of removing the extra ctx argument
2024-09-29 09:24:15 +02:00
Earl Warren
76a0dcd372 Merge pull request 'Update dependency webpack to v5.95.0 (forgejo)' (#5411) from renovate/forgejo-webpack-5.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5411
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-09-29 06:46:03 +00:00
Otto Richter
1fa09d1621 Split Git package installation 2024-09-28 12:08:30 +02:00
Codeberg Translate
e40554f89b i18n: update of translations from Codeberg Translate (#5355)
Co-authored-by: earl-warren <earl-warren@users.noreply.translate.codeberg.org>
Co-authored-by: Vaclovas Intas <Gateway_31@protonmail.com>
Co-authored-by: Zughy <Zughy@users.noreply.translate.codeberg.org>
Co-authored-by: aleksi <aleksi@users.noreply.translate.codeberg.org>
Co-authored-by: Application-Maker <Application-Maker@users.noreply.translate.codeberg.org>
Co-authored-by: Salif Mehmed <mail@salif.eu>
Co-authored-by: 0ko <0ko@users.noreply.translate.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Panagiotis \"Ivory\" Vasilopoulos <git@n0toose.net>
Co-authored-by: claudep <claudep@users.noreply.translate.codeberg.org>
Co-authored-by: vri <vri@users.noreply.translate.codeberg.org>
Co-authored-by: nicokaiser <nicokaiser@users.noreply.translate.codeberg.org>
Co-authored-by: Outbreak2096 <Outbreak2096@users.noreply.translate.codeberg.org>
Co-authored-by: robines <robines@users.noreply.translate.codeberg.org>
Co-authored-by: nazrin <nazrin@users.noreply.translate.codeberg.org>
Co-authored-by: Kaede Fujisaki <ledyba@users.noreply.translate.codeberg.org>

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5355
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@noreply.codeberg.org>
Co-committed-by: Codeberg Translate <translate@noreply.codeberg.org>
2024-09-28 09:40:29 +00:00
Renovate Bot
735bcf978f Update dependency webpack to v5.95.0 2024-09-28 00:02:39 +00:00
Otto Richter
c0b17a06ef Split backend building boilerplate 2024-09-27 20:47:35 +02:00
Otto Richter
5b84756137 Split env preparation boilerplate 2024-09-27 20:47:35 +02:00
Exploding Dragon
89742c4913 feat: add architecture-specific removal support for arch package (#5351)
- [x] add architecture-specific removal support
- [x] Fix upload competition
- [x] Fix not checking input when downloading

docs: https://codeberg.org/forgejo/docs/pulls/874

### Release notes

- [ ] I do not want this change to show in the release notes.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5351
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Exploding Dragon <explodingfkl@gmail.com>
Co-committed-by: Exploding Dragon <explodingfkl@gmail.com>
2024-09-27 08:21:22 +00:00
Earl Warren
89d9307d56 Merge pull request '[gitea] week 2024-39 cherry pick (gitea/main -> forgejo)' (#5372) from earl-warren/wcp/2024-39 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5372
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-09-27 08:12:43 +00:00
forgejo-renovate-action
40a68aa8f8 Merge pull request 'Update dependency markdownlint-cli to v0.42.0 (forgejo)' (#5405) from renovate/forgejo-markdownlint-cli-0.x into forgejo 2024-09-27 08:09:55 +00:00
forgejo-renovate-action
84b96a7343 Merge pull request 'Update dependency @stylistic/stylelint-plugin to v3.1.0 (forgejo)' (#5403) from renovate/forgejo-stylistic-stylelint-plugin-3.x into forgejo 2024-09-27 08:09:26 +00:00
forgejo-renovate-action
9ec57761f9 Merge pull request 'Update dependency @vitest/eslint-plugin to v1.1.4 (forgejo)' (#5404) from renovate/forgejo-vitest-eslint-plugin-1.x into forgejo 2024-09-27 08:08:53 +00:00
Earl Warren
e3deb88a8d
chore(release-notes): weekly cherry-pick week 2024-39 2024-09-27 08:47:23 +02:00
Lunny Xiao
2ffb08bb88
Use camo.Always instead of camo.Allways (#32097)
Fix #31575

https://gitea.com/gitea/docs/pulls/73
(cherry picked from commit 8e2dd5d3ddfb442937c79f05df88d18b856952cb)
2024-09-27 08:45:55 +02:00
Jamie Schouten
9d34731198
Add bin to Composer Metadata (#32099)
This PR addresses the missing `bin` field in Composer metadata, which
currently causes vendor-provided binaries to not be symlinked to
`vendor/bin` during installation.

In the current implementation, running `composer install` does not
publish the binaries, leading to issues where expected binaries are not
available.

By properly declaring the `bin` field, this PR ensures that binaries are
correctly symlinked upon installation, as described in the [Composer
documentation](https://getcomposer.org/doc/articles/vendor-binaries.md).

(cherry picked from commit d351a42494e71b5e2da63302c2f9b46c78e6dbde)
2024-09-27 08:42:48 +02:00
Lunny Xiao
f709de2403
Fix wrong last modify time (#32102)
(cherry picked from commit a802508f88e546bf18990559e44bf27a09c869ee)
2024-09-27 08:42:48 +02:00
Timon van der Berg
2675a24649
Repo Activity: count new issues that were closed (#31776)
I'm new to go and contributing to gitea, your guidance is much
appreciated.

This is meant to solve https://github.com/go-gitea/gitea/issues/13309

Previously, closed issues would not be shown under new issues in the
activity tab, even if they were newly created.

changes:
* Split out newlyCreatedIssues from issuesForActivityStatement to count
  both currently open and closed issues.
* Use a seperate function to count active issues to prevent
double-counting issues after the above change.

Result is that new issues that have been closed are shown both under
"new" and "closed".

Signed-off-by: Timon van der Berg <tmnvanderberg@gmail.com>
(cherry picked from commit ebfde845294cc681de6b1fe1adcf27e35f61b89b)
2024-09-27 08:42:48 +02:00
KN4CK3R
526054332a
Fix incorrect /tokens api (#32085)
Fixes #32078

- Add missing scopes output.
- Disallow empty scope.

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
(cherry picked from commit 08adbc468f8875fd4763c3656b334203c11adc0a)
2024-09-27 08:42:48 +02:00
Earl Warren
6275d1bc50
Refactor CSRF protector (#32057) (fix forgejo tests)
Fix the tests unique to Forgejo that are impacted by the refactor.
2024-09-27 08:42:48 +02:00
wxiaoguang
1ae3b127fc
Refactor CSRF protector (#32057)
Remove unused CSRF options, decouple "new csrf protector" and "prepare"
logic, do not redirect to home page if CSRF validation falis (it
shouldn't happen in daily usage, if it happens, redirecting to home
doesn't help either but just makes the problem more complex for "fetch")

(cherry picked from commit 1fede04b83288d8a91304a83b7601699bb5cba04)

Conflicts:
	options/locale/locale_en-US.ini
	tests/integration/repo_branch_test.go
  trivial context conflicts
2024-09-27 08:42:48 +02:00
Earl Warren
1bdf334844
feat: add IfZero utility function
(cherry picked from commit 43de021ac1ca017212ec75fd88a8a80a9db27c4c)
2024-09-27 08:42:48 +02:00
Renovate Bot
70014a7bc9 Update dependency markdownlint-cli to v0.42.0 2024-09-27 02:03:21 +00:00
Renovate Bot
757080addd Update dependency @vitest/eslint-plugin to v1.1.4 2024-09-27 02:03:09 +00:00
Renovate Bot
d000993905 Update dependency @stylistic/stylelint-plugin to v3.1.0 2024-09-27 00:04:48 +00:00
Gusted
5e342c6fa7 Merge pull request 'Update module github.com/klauspost/compress to v1.17.10 (forgejo)' (#5397) from renovate/forgejo-github.com-klauspost-compress-1.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5397
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-09-26 14:55:51 +00:00
Earl Warren
5e06b0c0ec Merge pull request 'Update dependency monaco-editor to v0.51.0 (forgejo)' (#5374) from renovate/forgejo-monaco-editor-0.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5374
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-09-26 07:23:14 +00:00
Renovate Bot
76c6b34270 Update module github.com/minio/minio-go/v7 to v7.0.77 2024-09-26 02:03:56 +00:00
Renovate Bot
7fbe6b4dc3 Update module github.com/klauspost/compress to v1.17.10 2024-09-26 02:03:41 +00:00
Renovate Bot
ed656ca0f3 Update dependency @github/text-expander-element to v2.7.2 2024-09-26 00:05:12 +00:00
Renovate Bot
a9f9b94478 Update citation-js monorepo 2024-09-26 00:04:54 +00:00
Earl Warren
cd7f92797b
start of the v10.0 development branch 2024-09-25 11:11:41 +02:00
Renovate Bot
f0dab9cc05 Update module code.forgejo.org/forgejo/act to v1.21.3 (forgejo) (#5333)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5333
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2024-09-25 09:10:00 +00:00
Renovate Bot
68cade5b1d Update dependency @vitejs/plugin-vue to v5.1.4 (forgejo) (#5350)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5350
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2024-09-25 09:04:07 +00:00
Renovate Bot
e1566d2a1f Update dependency mermaid to v11.2.1 (forgejo) (#5338)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5338
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2024-09-25 09:03:29 +00:00
Renovate Bot
e1a9ad600b Update dependency tailwindcss to v3.4.13 (forgejo) (#5345)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5345
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2024-09-25 09:03:00 +00:00
forgejo-renovate-action
db016e0652 Merge pull request 'Update dependency vue to v3.5.7 (forgejo)' (#5364) from renovate/forgejo-patch-vue-monorepo into forgejo 2024-09-25 08:58:38 +00:00
Michael Kriese
6490fc2b99 Merge pull request 'Lock file maintenance (forgejo)' (#5334) from renovate/forgejo-lock-file-maintenance into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5334
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-09-25 08:53:48 +00:00
Michael Kriese
1e5f7d2116
chore: fix lint error 2024-09-25 10:15:02 +02:00
Renovate Bot
69b01eb911
Lock file maintenance 2024-09-25 10:15:02 +02:00
Renovate Bot
c2797ecfc1 Update dependency vue to v3.5.8 2024-09-25 08:03:04 +00:00
forgejo-renovate-action
b79e465092 Merge pull request 'Replace dependency eslint-plugin-vitest with @vitest/eslint-plugin 1.0.0 (forgejo)' (#5377) from renovate/forgejo-eslint-plugin-vitest-replacement into forgejo 2024-09-25 07:16:17 +00:00
Michael Kriese
a8f141f6d1
chore: migrate eslint config 2024-09-25 08:34:57 +02:00
Renovate Bot
c54ebb8bc7 Replace dependency eslint-plugin-vitest with @vitest/eslint-plugin 1.0.0 2024-09-24 22:02:34 +00:00
Otto
8b62d3d5da Merge pull request 'i18n: UX improvements: Team permissions and issue closing' (#5383) from fnetx/team-permissions-i18n into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5383
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-09-24 21:16:40 +00:00
Earl Warren
1b528a7874 Merge pull request 'feat(ui): add more emoji and code block rendering in issues' (#4541) from bramh/forgejo:consistent-title-formatting into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4541
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-09-24 20:47:26 +00:00
Otto Richter
dc9a268d3c i18n: UX improvements: Team permissions and issue closing
Change word order for issue comment actions
-  An attempt to address https://codeberg.org/forgejo/forgejo/issues/2650

Org team permissions improvements

- consistency: added missing dot
- clarity: explain what external units mean
- use dedicated keys to explain the permissions.
- split in read/write permissions
- use explicit labels for accessibility
- ext_wiki.desc and ext_issues.desc are no longer in use.
2024-09-24 19:03:30 +02:00
Bram Hagens
4a74113dee
feat(ui): add more emoji and code block rendering in issues 2024-09-24 14:20:33 +02:00
forgejo-renovate-action
60bcdc8bc3 Merge pull request 'Update renovate to v38.93.1 (forgejo)' (#5373) from renovate/forgejo-renovate into forgejo 2024-09-23 06:42:04 +00:00
Renovate Bot
15ec27e658 Update renovate to v38.93.2 2024-09-23 02:02:04 +00:00
Renovate Bot
ed6fef9844 Update dependency monaco-editor to v0.51.0 2024-09-23 00:04:43 +00:00
Exploding Dragon
a6508f5b03 Fix: database not updated when using git push --tags --force (#5319)
Closes #4274

link: https://github.com/go-gitea/gitea/pull/32040

### Release notes

- [ ] I do not want this change to show in the release notes.

<!--start release-notes-assistant-->

## Draft release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Bug fixes
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/5319): <!--number 5319 --><!--line 0 --><!--description Rml4OiBkYXRhYmFzZSBub3QgdXBkYXRlZCB3aGVuIHVzaW5nIGBnaXQgcHVzaCAtLXRhZ3MgLS1mb3JjZWA=-->Fix: database not updated when using `git push --tags --force`<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5319
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Exploding Dragon <explodingfkl@gmail.com>
Co-committed-by: Exploding Dragon <explodingfkl@gmail.com>
2024-09-22 07:35:25 +00:00
hiifong
9d5f409a5a
Lazy load avatar images (#32051)
(cherry picked from commit f38e1014483b84f4541ffb354cd5dfdd7e000e2c)
2024-09-22 09:11:06 +02:00
KN4CK3R
0cafec4c7a
Do not escape relative path in RPM primary index (#32038)
Fixes #32021

Do not escape the relative path.

(cherry picked from commit f528df944bb9436afcb9272add2ee0cccefbdb55)
2024-09-22 09:07:45 +02:00
Zettat123
961766744b
Check if the due_date is nil when editing issues (#32035)
(cherry picked from commit 3a51c37672d2fbad1f222922e75ce704d5a1ac71)
2024-09-22 09:05:15 +02:00
forgejo-renovate-action
565084925a Merge pull request 'Update dependency @stoplight/spectral-cli to v6.13.1 (forgejo)' (#5368) from renovate/forgejo-stoplight-spectral-cli-6.x into forgejo 2024-09-22 06:40:45 +00:00
Renovate Bot
6745603edd Update dependency @stoplight/spectral-cli to v6.13.1 2024-09-22 00:02:33 +00:00
Earl Warren
e806a6efae Merge pull request 'Update module connectrpc.com/connect to v1.17.0 (forgejo)' (#5365) from renovate/forgejo-connectrpc.com-connect-1.x into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5365
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-09-21 06:27:43 +00:00
forgejo-renovate-action
c071848aa6 Merge pull request 'Update dependency eslint to v8.57.1 (forgejo)' (#5337) from renovate/forgejo-linters into forgejo 2024-09-21 06:24:08 +00:00
forgejo-renovate-action
56d5d3df3e Merge pull request 'Update dependency @playwright/test to v1.47.2 (forgejo)' (#5363) from renovate/forgejo-playwright-monorepo into forgejo 2024-09-21 06:23:39 +00:00
Renovate Bot
e1ee45ee85 Update module connectrpc.com/connect to v1.17.0 2024-09-21 02:02:43 +00:00
Renovate Bot
fad920940f Update dependency eslint to v8.57.1 2024-09-21 00:02:47 +00:00
Renovate Bot
74383be05e Update dependency @playwright/test to v1.47.2 2024-09-21 00:02:32 +00:00
Earl Warren
9c504be9ee Merge pull request '[gitea] week 2024-38 cherry pick (gitea/main -> forgejo) (release notes)' (#5359) from earl-warren/forgejo:wip-release-notes into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5359
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-09-20 22:01:20 +00:00
Earl Warren
4aab2a5c8e
[gitea] week 2024-38 cherry pick (gitea/main -> forgejo) (release notes) 2024-09-20 07:11:08 +02:00
Earl Warren
64d3fcd403 Merge pull request '[gitea] week 2024-38 cherry pick (gitea/main -> forgejo)' (#5325) from algernon/wcp/2024-38 into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5325
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-09-20 05:06:42 +00:00
Earl Warren
712d78984c Merge pull request 'chore(renovate): disable renovate self-updates on release branches' (#5335) from viceice/forgejo:chore/renovate into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5335
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-09-20 04:07:02 +00:00
0ko
d7aa109dc6 chore: remove some Windows-specific files 2024-09-19 20:39:55 +05:00
Renovate Bot
b4e88cb0b7 Update dependency vue to v3.5.6 (forgejo) (#5339)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5339
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
2024-09-19 08:44:10 +00:00
Codeberg Translate
6d57cbe5c8 i18n: update of translations from Codeberg Translate (#5309)
Translations update from [Codeberg Translate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/).

Current translation status:

![Weblate translation status](https://translate.codeberg.org/widget/forgejo/forgejo/horizontal-auto.svg)

<!--start release-notes-assistant-->

## Draft release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Localization
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/5309): <!--number 5309 --><!--line 0 --><!--description aTE4bjogdXBkYXRlIG9mIHRyYW5zbGF0aW9ucyBmcm9tIENvZGViZXJnIFRyYW5zbGF0ZQ==-->i18n: update of translations from Codeberg Translate<!--description-->
<!--end release-notes-assistant-->

Co-authored-by: 0ko <0ko@users.noreply.translate.codeberg.org>
Co-authored-by: Outbreak2096 <Outbreak2096@users.noreply.translate.codeberg.org>
Co-authored-by: aleksi <aleksi@users.noreply.translate.codeberg.org>
Co-authored-by: Vaclovas Intas <Gateway_31@protonmail.com>
Co-authored-by: toasterbirb <toasterbirb@users.noreply.translate.codeberg.org>
Co-authored-by: Salif Mehmed <mail@salif.eu>
Co-authored-by: Zughy <Zughy@users.noreply.translate.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5309
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@noreply.codeberg.org>
Co-committed-by: Codeberg Translate <translate@noreply.codeberg.org>
2024-09-19 06:08:33 +00:00
Otto
a0c11f58dd Merge pull request 'Fix milestone assignment in new issue' (#5180) from esainane/forgejo:five-hundred-more into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5180
Reviewed-by: Otto <otto@codeberg.org>
2024-09-17 16:50:42 +00:00
Otto
652c2ee49b Merge pull request 'ui: Improve commit graph layout' (#5214) from 0ko/forgejo:ui-graph-layout into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5214
Reviewed-by: Otto <otto@codeberg.org>
2024-09-17 16:50:31 +00:00
Sai Nane
1e54e211ca Fix milestone assignment in New Issue
Avoids the use of HTMX on milestone assignment within a New Issue form.

The New Issue form doesn't have an issue ID to send to a milestone change URL,
which the backend expects in order to construct a proper reply. The frontend
template was also not built to use the new HTMX response. This resulted in a
backend error and a large warning whenever anyone tried to set a milestone
from within the New Issue form (new pull requests were also affected), rather
than from a View Issue page.

This introduces a new parameter into the `issue/milestone/select_menu`
template, "NewIssuePage".

When unset, the template produces the same results as before. Selection uses
`hx-post` to notify the server immediately, using the updated htmx fragment
from the reply.

When set to a truthy value, the old style of form is used. Selection uses
`data-id` and `data-href` to update the selected milestone locally, via
`selectItem` in `repo-legacy.js`, recreating the selected element and updating
the hidden form value.

Fixes #5176.
2024-09-17 17:45:02 +02:00
Sai Nane
b42ca2ed0c Revert repo-legacy.js to pre-#4542
The New Issue form should not use the new HTMX system. This first requires
we restore the ability to locally assign the milestone ID.
2024-09-17 17:45:02 +02:00
Sai Nane
7f02f4722c Test: Milestone assignment in new issue
This test currently fails, as expected, given this functionality is currently
broken.
2024-09-17 17:45:02 +02:00
0ko
dbe2846e3b ui: improve commit graph layout 2024-09-17 17:33:00 +02:00
Otto Richter
61314f05fc tests(e2e): Test overflow in commit graph 2024-09-17 17:33:00 +02:00
Radosław Piliszek
cd62d0f5e8 git-grep: add comments on highlighting support 2024-09-16 16:20:55 +02:00
Shiny Nematoda
9c70c7a8ea test(code-search): fix oops 2024-09-16 16:20:55 +02:00
Radosław Piliszek
a98cf0e68e code-search: make linters happy again 2024-09-16 16:20:55 +02:00
Radosław Piliszek
d2efdda911 ui(code-search): fix to use CodeSearchMode
Drop unused IsFuzzy and IsRegExp
2024-09-16 16:20:55 +02:00
Radosław Piliszek
7068456d20 noop(ui): remove some unused CodeIndexerDisabled 2024-09-16 16:20:55 +02:00
Shiny Nematoda
30d07c3ba3 test(code-search): add for options dropdown 2024-09-16 16:20:55 +02:00
Shiny Nematoda
663e957d3d ui(git-grep): expose regexp mode in dropdown 2024-09-16 16:20:55 +02:00
Radosław Piliszek
6d6116857c git-grep: support regexp 2024-09-16 16:20:40 +02:00
Michael Kriese
cfbcd7f60f
chore(renovate): disable renovate self-updates on release branches 2024-09-16 08:39:26 +02:00
forgejo-renovate-action
0ccefbebfc Merge pull request 'Update renovate to v38.80.0 (forgejo)' (#5332) from renovate/forgejo-renovate into forgejo 2024-09-16 03:42:22 +00:00
Renovate Bot
4cff39c4d9 Update renovate to v38.80.0 2024-09-16 00:02:10 +00:00
Michael Kriese
8f501b6b1a Merge pull request 'Update dependency postcss to v8.4.47 (forgejo)' (#5327) from renovate/forgejo-postcss into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5327
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-09-15 13:50:22 +00:00
Otto
1ca29a7db8 Merge pull request 'tests(e2e): long search result overflow' (#5326) from fnetx/e2e-wiki-overflow into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5326
Reviewed-by: Shiny Nematoda <snematoda@noreply.codeberg.org>
2024-09-15 11:08:36 +00:00
Renovate Bot
94ec8a25bc Update dependency postcss to v8.4.47 2024-09-15 00:02:14 +00:00
Otto Richter
804ca6590f tests(e2e): long search result overflow
Test fails before https://codeberg.org/forgejo/forgejo/pulls/5260
2024-09-14 22:28:24 +02:00
Otto
d78598ef0d Merge pull request 'ui: wiki/code search fixes' (#5260) from snematoda/search-ui-fix into forgejo
closes forgejo/forgejo#5259 (leftover arrowhead in Safari)
Fixes long results in wiki search overflowing the page

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5260
Reviewed-by: Otto <otto@codeberg.org>
2024-09-14 19:38:35 +00:00
forgejo-renovate-action
07a1328671 Merge pull request 'Update dependency @stoplight/spectral-cli to v6.12.0 (forgejo)' (#5313) from renovate/forgejo-stoplight-spectral-cli-6.x into forgejo 2024-09-14 19:08:46 +00:00
Otto
f93d8e8a45 Merge pull request 'docs(e2e): Add parametric viewport example test' (#5322) from fnetx/e2e-example into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5322
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-09-14 19:05:47 +00:00
forgejo-renovate-action
1f91664e82 Merge pull request 'Update dependency vue to v3.5.5 (forgejo)' (#5318) from renovate/forgejo-patch-vue-monorepo into forgejo 2024-09-14 18:59:02 +00:00
Gergely Nagy
cd87c4fee6
[DEADCODE] update
Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-09-14 18:58:51 +02:00
Kemal Zebari
eb765dabfd
Handle invalid target when creating releases using API (#31841)
A 500 status code was thrown when passing a non-existent target to the
create release API. This snapshot handles this error and instead throws
a 404 status code.

Discovered while working on #31840.

(cherry picked from commit f05d9c98c4cb95e3a8a71bf3e2f8f4529e09f96f)
2024-09-14 18:45:18 +02:00
Daniel
5c7b85a981
Failed authentications are logged to level Warning (#32016)
PR for issue #31968
Replaces PR #31983 to comply with gitea's error definition

Failed authentications are now logged to level `Warning` instead of
`Info`.

(cherry picked from commit 64298dcb9e72a5a87a4680563d91fae5b90e0160)
2024-09-14 17:55:25 +02:00
charles-plutohealth
5af168fb92
Fix /repos/{owner}/{repo}/pulls/{index}/files endpoint not populating previous_filename (#32017)
---
`status == "rename"` should have read `status == "renamed"`. The typo
means that file.PreviousFilename would never be populated, which e.g.
breaks usage of the Github Action at
https://github.com/dorny/paths-filter.

(cherry picked from commit 7c6edf1ba06d4c3269eaa78f4039c9123b006c51)
2024-09-14 17:53:55 +02:00
Jason Song
2da0ebbd23
Support allowed hosts for migrations to work with proxy (#32025)
(cherry picked from commit 125679f2e14cdc8a26a147f7e8fd0e5f174fb5cb)
2024-09-14 17:52:54 +02:00
Jason Song
5b1990b3b2
Increase cacheContextLifetime to reduce false reports (#32011)
Replace #32001.

To prevent the context cache from being misused for long-term work
(which would result in using invalid cache without awareness), the
context cache is designed to exist for a maximum of 10 seconds. This
leads to many false reports, especially in the case of slow SQL.

This PR increases it to 5 minutes to reduce false reports.

5 minutes is not a very safe value, as a lot of changes may have
occurred within that time frame. However, as far as I know, there has
not been a case of misuse of context cache discovered so far, so I think
5 minutes should be OK.

Please note that after this PR, if warning logs are found again, it
should get attention, at that time it can be almost 100% certain that it
is a misuse.

(cherry picked from commit a323a82ec4bde6ae39b97200439829bf67c0d31e)
2024-09-14 17:09:03 +02:00
GiteaBot
af3fbb397a
[skip ci] Updated licenses and gitignores
(cherry picked from commit 972eae358db0c20bda23833ca94b4324d6d343cb)
2024-09-14 17:05:52 +02:00
Shiny Nematoda
5365ca76ce ui(code-search): webkit hack to hide marker for summary tags
closes forgejo/forgejo#5259
2024-09-14 14:22:13 +00:00
Shiny Nematoda
0a30f00263 ui(wiki): fix search result overflow for long lines 2024-09-14 14:22:01 +00:00
Otto Richter
ef473d34f5 docs(e2e): Add parametric viewport example test 2024-09-14 12:49:57 +02:00
Renovate Bot
191d4963ce Update dependency @stoplight/spectral-cli to v6.13.0 2024-09-14 10:02:26 +00:00
Renovate Bot
23602e5d9e Update dependency vue to v3.5.5 2024-09-14 10:02:19 +00:00
Radosław Piliszek
e4134f0a81 Makefile: support gotestsum
gotestsum [1] is a tool that brings sanity to human-powered
analysis of test results, supporting handy summaries of results
and more.

This implementation allows for the use of `USE_GOTESTSUM=yes`
to switch the implementation from raw `go test` to `gotestsum`.
It also gives general flexibility in choice of go tests runner.

The PREFIX-SUFFIX play is needed for compiled tests and may
be subject to modification depending on the outcome of #5248

[1] https://pkg.go.dev/gotest.tools/gotestsum
2024-09-06 11:54:14 +00:00
235 changed files with 6683 additions and 3719 deletions

View file

@ -163,6 +163,9 @@ code.gitea.io/gitea/modules/graceful
code.gitea.io/gitea/modules/hcaptcha
WithHTTP
code.gitea.io/gitea/modules/hostmatcher
HostMatchList.AppendPattern
code.gitea.io/gitea/modules/json
StdJSON.Marshal
StdJSON.Unmarshal

View file

@ -6,7 +6,7 @@
"ghcr.io/devcontainers/features/node:1": {
"version": "20"
},
"ghcr.io/devcontainers/features/git-lfs:1.2.1": {},
"ghcr.io/devcontainers/features/git-lfs:1.2.3": {},
"ghcr.io/devcontainers-contrib/features/poetry:2": {},
"ghcr.io/devcontainers/features/python:1": {
"version": "3.12"

View file

@ -13,6 +13,7 @@ parserOptions:
plugins:
- "@eslint-community/eslint-plugin-eslint-comments"
- "@stylistic/eslint-plugin-js"
- "@vitest"
- eslint-plugin-array-func
- eslint-plugin-github
- eslint-plugin-i
@ -21,7 +22,6 @@ plugins:
- eslint-plugin-regexp
- eslint-plugin-sonarjs
- eslint-plugin-unicorn
- eslint-plugin-vitest
- eslint-plugin-vitest-globals
- eslint-plugin-wc
@ -50,55 +50,55 @@ overrides:
env:
vitest-globals/env: true
rules:
vitest/consistent-test-filename: [0]
vitest/consistent-test-it: [0]
vitest/expect-expect: [0]
vitest/max-expects: [0]
vitest/max-nested-describe: [0]
vitest/no-alias-methods: [0]
vitest/no-commented-out-tests: [0]
vitest/no-conditional-expect: [0]
vitest/no-conditional-in-test: [0]
vitest/no-conditional-tests: [0]
vitest/no-disabled-tests: [0]
vitest/no-done-callback: [0]
vitest/no-duplicate-hooks: [0]
vitest/no-focused-tests: [0]
vitest/no-hooks: [0]
vitest/no-identical-title: [2]
vitest/no-interpolation-in-snapshots: [0]
vitest/no-large-snapshots: [0]
vitest/no-mocks-import: [0]
vitest/no-restricted-matchers: [0]
vitest/no-restricted-vi-methods: [0]
vitest/no-standalone-expect: [0]
vitest/no-test-prefixes: [0]
vitest/no-test-return-statement: [0]
vitest/prefer-called-with: [0]
vitest/prefer-comparison-matcher: [0]
vitest/prefer-each: [0]
vitest/prefer-equality-matcher: [0]
vitest/prefer-expect-resolves: [0]
vitest/prefer-hooks-in-order: [0]
vitest/prefer-hooks-on-top: [2]
vitest/prefer-lowercase-title: [0]
vitest/prefer-mock-promise-shorthand: [0]
vitest/prefer-snapshot-hint: [0]
vitest/prefer-spy-on: [0]
vitest/prefer-strict-equal: [0]
vitest/prefer-to-be: [0]
vitest/prefer-to-be-falsy: [0]
vitest/prefer-to-be-object: [0]
vitest/prefer-to-be-truthy: [0]
vitest/prefer-to-contain: [0]
vitest/prefer-to-have-length: [0]
vitest/prefer-todo: [0]
vitest/require-hook: [0]
vitest/require-to-throw-message: [0]
vitest/require-top-level-describe: [0]
vitest/valid-describe-callback: [2]
vitest/valid-expect: [2]
vitest/valid-title: [2]
"@vitest/consistent-test-filename": [0]
"@vitest/consistent-test-it": [0]
"@vitest/expect-expect": [0]
"@vitest/max-expects": [0]
"@vitest/max-nested-describe": [0]
"@vitest/no-alias-methods": [0]
"@vitest/no-commented-out-tests": [0]
"@vitest/no-conditional-expect": [0]
"@vitest/no-conditional-in-test": [0]
"@vitest/no-conditional-tests": [0]
"@vitest/no-disabled-tests": [0]
"@vitest/no-done-callback": [0]
"@vitest/no-duplicate-hooks": [0]
"@vitest/no-focused-tests": [0]
"@vitest/no-hooks": [0]
"@vitest/no-identical-title": [2]
"@vitest/no-interpolation-in-snapshots": [0]
"@vitest/no-large-snapshots": [0]
"@vitest/no-mocks-import": [0]
"@vitest/no-restricted-matchers": [0]
"@vitest/no-restricted-vi-methods": [0]
"@vitest/no-standalone-expect": [0]
"@vitest/no-test-prefixes": [0]
"@vitest/no-test-return-statement": [0]
"@vitest/prefer-called-with": [0]
"@vitest/prefer-comparison-matcher": [0]
"@vitest/prefer-each": [0]
"@vitest/prefer-equality-matcher": [0]
"@vitest/prefer-expect-resolves": [0]
"@vitest/prefer-hooks-in-order": [0]
"@vitest/prefer-hooks-on-top": [2]
"@vitest/prefer-lowercase-title": [0]
"@vitest/prefer-mock-promise-shorthand": [0]
"@vitest/prefer-snapshot-hint": [0]
"@vitest/prefer-spy-on": [0]
"@vitest/prefer-strict-equal": [0]
"@vitest/prefer-to-be": [0]
"@vitest/prefer-to-be-falsy": [0]
"@vitest/prefer-to-be-object": [0]
"@vitest/prefer-to-be-truthy": [0]
"@vitest/prefer-to-contain": [0]
"@vitest/prefer-to-have-length": [0]
"@vitest/prefer-todo": [0]
"@vitest/require-hook": [0]
"@vitest/require-to-throw-message": [0]
"@vitest/require-top-level-describe": [0]
"@vitest/valid-describe-callback": [2]
"@vitest/valid-expect": [2]
"@vitest/valid-title": [2]
- files: ["web_src/js/modules/fetch.js", "web_src/js/standalone/**/*"]
rules:
no-restricted-syntax: [2, WithStatement, ForInStatement, LabeledStatement, SequenceExpression]

View file

@ -0,0 +1,29 @@
inputs:
packages:
description: 'Packages to install'
required: true
release:
description: 'Release to install from'
default: testing
runs:
using: "composite"
steps:
- name: setup apt package source
run: |
export DEBIAN_FRONTEND=noninteractive
echo "deb http://deb.debian.org/debian/ ${RELEASE} main" > "/etc/apt/sources.list.d/${RELEASE}.list"
env:
RELEASE: ${{inputs.release}}
- name: install packages
run: |
apt-get update -qq
apt-get -q install -qq -y ${PACKAGES}
env:
PACKAGES: ${{inputs.packages}}
- name: remove temporary package list to prevent using it in other steps
run: |
rm "/etc/apt/sources.list.d/${RELEASE}.list"
apt-get update -qq
env:
RELEASE: ${{inputs.release}}

View file

@ -0,0 +1,15 @@
runs:
using: "composite"
steps:
- run: |
su forgejo -c 'make deps-backend'
- uses: actions/cache@v4
id: cache-backend
with:
path: ${{github.workspace}}/gitea
key: backend-build-${{ github.sha }}
- if: steps.cache-backend.outputs.cache-hit != 'true'
run: |
su forgejo -c 'make backend'
env:
TAGS: bindata

View file

@ -0,0 +1,12 @@
runs:
using: "composite"
steps:
- name: setup user and permissions
run: |
git config --add safe.directory '*'
# ignore if the user already exists (like with the playwright image)
adduser --quiet --comment forgejo --disabled-password forgejo || true
chown -R forgejo:forgejo .
- uses: https://codeberg.org/fnetx/setup-cache-go@b2214eaf6fb44c7e8512c0f462a2c3ec31f86a73
with:
username: forgejo

View file

@ -45,7 +45,7 @@ jobs:
cat <<'EOF'
${{ toJSON(github) }}
EOF
- uses: https://code.forgejo.org/actions/git-backporting@v4.8.0
- uses: https://code.forgejo.org/actions/git-backporting@v4.8.2
with:
target-branch-pattern: "^backport/(?<target>(v.*))$"
strategy: ort

View file

@ -25,7 +25,7 @@ jobs:
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- id: forgejo
uses: https://code.forgejo.org/actions/setup-forgejo@v1

View file

@ -27,7 +27,7 @@ jobs:
# root is used for testing, allow it
if: vars.ROLE == 'forgejo-integration' || github.repository_owner == 'root'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
@ -37,11 +37,11 @@ jobs:
repository="${{ github.repository }}"
echo "value=${repository##*/}" >> "$GITHUB_OUTPUT"
- uses: https://code.forgejo.org/actions/setup-node@v3
- uses: https://code.forgejo.org/actions/setup-node@v4
with:
node-version: 20
- uses: https://code.forgejo.org/actions/setup-go@v4
- uses: https://code.forgejo.org/actions/setup-go@v5
with:
go-version-file: "go.mod"
@ -87,7 +87,7 @@ jobs:
- name: cache node_modules
id: node
uses: https://code.forgejo.org/actions/cache@v3
uses: https://code.forgejo.org/actions/cache@v4
with:
path: |
node_modules

View file

@ -1,37 +0,0 @@
name: e2e
on:
pull_request:
paths:
- Makefile
- playwright.config.js
- .forgejo/workflows/e2e.yml
- tests/e2e/**
- web_src/js/**
- web_src/css/form.css
- templates/webhook/shared-settings.tmpl
- templates/org/team/new.tmpl
jobs:
test-e2e:
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
runs-on: docker
container:
image: 'code.forgejo.org/oci/playwright:latest'
steps:
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: https://code.forgejo.org/actions/setup-go@v4
with:
go-version-file: "go.mod"
- run: |
git config --add safe.directory '*'
chown -R forgejo:forgejo .
- run: |
su forgejo -c 'make deps-frontend frontend deps-backend'
- run: |
su forgejo -c 'make backend'
- run: |
su forgejo -c 'make generate test-e2e-sqlite'
timeout-minutes: 40
env:
USE_REPO_TEST_DIR: 1

View file

@ -39,7 +39,7 @@ jobs:
runs-on: self-hosted
if: vars.DOER != '' && vars.FORGEJO != '' && vars.TO_OWNER != '' && vars.FROM_OWNER != '' && secrets.TOKEN != ''
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: copy & sign
uses: https://code.forgejo.org/forgejo/forgejo-build-publish/publish@v5
@ -72,7 +72,7 @@ jobs:
- name: set up go for the DNS update below
if: vars.ROLE == 'forgejo-experimental' && secrets.OVH_APP_KEY != ''
uses: https://code.forgejo.org/actions/setup-go@v4
uses: https://code.forgejo.org/actions/setup-go@v5
with:
go-version-file: "go.mod"
- name: update the _release.experimental DNS record

View file

@ -11,9 +11,9 @@ jobs:
container:
image: 'code.forgejo.org/oci/node:20-bookworm'
steps:
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: https://code.forgejo.org/actions/setup-go@v4
- uses: https://code.forgejo.org/actions/setup-go@v5
with:
go-version-file: "go.mod"
cache: false

View file

@ -12,7 +12,7 @@ jobs:
container:
image: 'code.forgejo.org/oci/node:20-bookworm'
steps:
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/checkout@v4
- name: event
run: |
@ -23,7 +23,7 @@ jobs:
${{ toJSON(github.event) }}
EOF
- uses: https://code.forgejo.org/actions/setup-go@v4
- uses: https://code.forgejo.org/actions/setup-go@v5
with:
go-version-file: "go.mod"
cache: false

View file

@ -23,11 +23,11 @@ jobs:
runs-on: docker
container:
image: code.forgejo.org/forgejo-contrib/renovate:38.77.2
image: code.forgejo.org/forgejo-contrib/renovate:38.110.2
steps:
- name: Load renovate repo cache
uses: https://code.forgejo.org/actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
uses: https://code.forgejo.org/actions/cache/restore@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4.1.1
with:
path: |
.tmp/cache/renovate/repository
@ -60,7 +60,7 @@ jobs:
- name: Save renovate repo cache
if: always() && env.RENOVATE_DRY_RUN != 'full'
uses: https://code.forgejo.org/actions/cache/save@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
uses: https://code.forgejo.org/actions/cache/save@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4.1.1
with:
path: |
.tmp/cache/renovate/repository

View file

@ -19,32 +19,34 @@ jobs:
cat <<'EOF'
${{ toJSON(github) }}
EOF
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/setup-go@v4
with:
go-version-file: "go.mod"
- run: make deps-backend deps-tools
- run: make --always-make -j$(nproc) lint-backend tidy-check swagger-check fmt-check swagger-validate # ensure the "go-licenses" make target runs
- run: |
make backend
env:
TAGS: bindata
- uses: actions/cache@v4
with:
path: '/workspace/forgejo/forgejo/gitea'
key: backend-build-${{ github.sha }}
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/workflows-composite/setup-env
- run: su forgejo -c 'make deps-backend deps-tools'
- run: su forgejo -c 'make --always-make -j$(nproc) lint-backend tidy-check swagger-check fmt-check swagger-validate' # ensure the "go-licenses" make target runs
- uses: ./.forgejo/workflows-composite/build-backend
frontend-checks:
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
runs-on: docker
container:
image: 'code.forgejo.org/oci/node:20-bookworm'
steps:
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/checkout@v4
- run: make deps-frontend
- run: make lint-frontend
- run: make checks-frontend
- run: make test-frontend-coverage
- run: make frontend
- name: Install zstd for cache saving
# works around https://github.com/actions/cache/issues/1169, because the
# consuming job has zstd and doesn't restore the cache otherwise
run: |
apt-get update -qq
apt-get -q install -qq -y zstd
- name: "Cache frontend build for playwright testing"
uses: actions/cache/save@v4
with:
path: ${{github.workspace}}/public/assets
key: frontend-build-${{ github.sha }}
test-unit:
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
runs-on: docker
@ -66,38 +68,17 @@ jobs:
MINIO_ROOT_USER: 123456
MINIO_ROOT_PASSWORD: 12345678
steps:
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/setup-go@v4
with:
go-version-file: "go.mod"
- run: |
git config --add safe.directory '*'
adduser --quiet --comment forgejo --disabled-password forgejo
chown -R forgejo:forgejo .
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/workflows-composite/setup-env
- name: install git >= 2.42
run: |
export DEBIAN_FRONTEND=noninteractive
echo deb http://deb.debian.org/debian/ testing main > /etc/apt/sources.list.d/testing.list
apt-get update -qq
apt-get -q install -qq -y git
rm /etc/apt/sources.list.d/testing.list
apt-get update -qq
uses: ./.forgejo/workflows-composite/apt-install-from
with:
packages: git
- name: test release-notes-assistant.sh
run: |
apt-get -q install -qq -y jq
./release-notes-assistant.sh test_main
- run: |
su forgejo -c 'make deps-backend'
- uses: actions/cache/restore@v4
id: cache-backend
with:
path: '/workspace/forgejo/forgejo/gitea'
key: backend-build-${{ github.sha }}
- if: steps.cache-backend.outputs.cache-hit != 'true'
run: |
su forgejo -c 'make backend'
env:
TAGS: bindata
- uses: ./.forgejo/workflows-composite/build-backend
- run: |
su forgejo -c 'make test-backend test-check'
timeout-minutes: 50
@ -105,10 +86,43 @@ jobs:
RACE_ENABLED: 'true'
TAGS: bindata
TEST_ELASTICSEARCH_URL: http://elasticsearch:9200
test-remote-cacher:
test-e2e:
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
runs-on: docker
needs: [backend-checks, frontend-checks]
container:
image: 'code.forgejo.org/oci/playwright:latest'
steps:
- uses: https://code.forgejo.org/actions/checkout@v4
with:
fetch-depth: 20
- uses: ./.forgejo/workflows-composite/setup-env
- name: "Restore frontend build"
uses: actions/cache/restore@v4
id: cache-frontend
with:
path: ${{github.workspace}}/public/assets
key: frontend-build-${{ github.sha }}
- name: "Build frontend (if not cached)"
if: steps.cache-frontend.outputs.cache-hit != 'true'
run: |
su forgejo -c 'make deps-frontend frontend'
- uses: ./.forgejo/workflows-composite/build-backend
- name: Get changed files
id: changed-files
uses: https://code.forgejo.org/tj-actions/changed-files@v45
with:
separator: '\n'
- run: |
su forgejo -c 'make generate test-e2e-sqlite'
timeout-minutes: 40
env:
USE_REPO_TEST_DIR: 1
CHANGED_FILES: ${{steps.changed-files.outputs.all_changed_files}}
test-remote-cacher:
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
runs-on: docker
needs: [backend-checks, frontend-checks, test-unit]
container:
image: 'code.forgejo.org/oci/node:20-bookworm'
strategy:
@ -131,34 +145,13 @@ jobs:
image: ${{ matrix.cacher.image }}
options: ${{ matrix.cacher.options }}
steps:
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/setup-go@v4
with:
go-version-file: "go.mod"
- run: |
git config --add safe.directory '*'
adduser --quiet --comment forgejo --disabled-password forgejo
chown -R forgejo:forgejo .
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/workflows-composite/setup-env
- name: install git >= 2.42
run: |
export DEBIAN_FRONTEND=noninteractive
echo deb http://deb.debian.org/debian/ testing main > /etc/apt/sources.list.d/testing.list
apt-get update -qq
apt-get -q install -qq -y git
rm /etc/apt/sources.list.d/testing.list
apt-get update -qq
- run: |
su forgejo -c 'make deps-backend'
- uses: actions/cache/restore@v4
id: cache-backend
uses: ./.forgejo/workflows-composite/apt-install-from
with:
path: '/workspace/forgejo/forgejo/gitea'
key: backend-build-${{ github.sha }}
- if: steps.cache-backend.outputs.cache-hit != 'true'
run: |
su forgejo -c 'make backend'
env:
TAGS: bindata
packages: git
- uses: ./.forgejo/workflows-composite/build-backend
- run: |
su forgejo -c 'make test-remote-cacher test-check'
timeout-minutes: 50
@ -183,35 +176,13 @@ jobs:
#
MYSQL_EXTRA_FLAGS: --innodb-adaptive-flushing=OFF --innodb-buffer-pool-size=4G --innodb-log-buffer-size=128M --innodb-flush-log-at-trx-commit=0 --innodb-flush-log-at-timeout=30 --innodb-flush-method=nosync --innodb-fsync-threshold=1000000000
steps:
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/setup-go@v4
with:
go-version-file: "go.mod"
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/workflows-composite/setup-env
- name: install dependencies & git >= 2.42
run: |
export DEBIAN_FRONTEND=noninteractive
echo deb http://deb.debian.org/debian/ testing main > /etc/apt/sources.list.d/testing.list
apt-get update -qq
apt-get install --no-install-recommends -qq -y git git-lfs
rm /etc/apt/sources.list.d/testing.list
apt-get update -qq
- name: setup user and permissions
run: |
git config --add safe.directory '*'
adduser --quiet --comment forgejo --disabled-password forgejo
chown -R forgejo:forgejo .
- run: |
su forgejo -c 'make deps-backend'
- uses: actions/cache/restore@v4
id: cache-backend
uses: ./.forgejo/workflows-composite/apt-install-from
with:
path: '/workspace/forgejo/forgejo/gitea'
key: backend-build-${{ github.sha }}
- if: steps.cache-backend.outputs.cache-hit != 'true'
run: |
su forgejo -c 'make backend'
env:
TAGS: bindata
packages: git git-lfs
- uses: ./.forgejo/workflows-composite/build-backend
- run: |
su forgejo -c 'make test-mysql-migration test-mysql'
timeout-minutes: 50
@ -237,35 +208,13 @@ jobs:
POSTGRES_DB: test
POSTGRES_PASSWORD: postgres
steps:
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/setup-go@v4
with:
go-version-file: "go.mod"
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/workflows-composite/setup-env
- name: install dependencies & git >= 2.42
run: |
export DEBIAN_FRONTEND=noninteractive
echo deb http://deb.debian.org/debian/ testing main > /etc/apt/sources.list.d/testing.list
apt-get update -qq
apt-get install --no-install-recommends -qq -y git git-lfs
rm /etc/apt/sources.list.d/testing.list
apt-get update -qq
- name: setup user and permissions
run: |
git config --add safe.directory '*'
adduser --quiet --comment forgejo --disabled-password forgejo
chown -R forgejo:forgejo .
- run: |
su forgejo -c 'make deps-backend'
- uses: actions/cache/restore@v4
id: cache-backend
uses: ./.forgejo/workflows-composite/apt-install-from
with:
path: '/workspace/forgejo/forgejo/gitea'
key: backend-build-${{ github.sha }}
- if: steps.cache-backend.outputs.cache-hit != 'true'
run: |
su forgejo -c 'make backend'
env:
TAGS: bindata
packages: git git-lfs
- uses: ./.forgejo/workflows-composite/build-backend
- run: |
su forgejo -c 'make test-pgsql-migration test-pgsql'
timeout-minutes: 50
@ -280,35 +229,13 @@ jobs:
container:
image: 'code.forgejo.org/oci/node:20-bookworm'
steps:
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/setup-go@v4
with:
go-version-file: "go.mod"
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/workflows-composite/setup-env
- name: install dependencies & git >= 2.42
run: |
export DEBIAN_FRONTEND=noninteractive
echo deb http://deb.debian.org/debian/ testing main > /etc/apt/sources.list.d/testing.list
apt-get update -qq
apt-get install --no-install-recommends -qq -y git git-lfs
rm /etc/apt/sources.list.d/testing.list
apt-get update -qq
- name: setup user and permissions
run: |
git config --add safe.directory '*'
adduser --quiet --comment forgejo --disabled-password forgejo
chown -R forgejo:forgejo .
- run: |
su forgejo -c 'make deps-backend'
- uses: actions/cache/restore@v4
id: cache-backend
uses: ./.forgejo/workflows-composite/apt-install-from
with:
path: '/workspace/forgejo/forgejo/gitea'
key: backend-build-${{ github.sha }}
- if: steps.cache-backend.outputs.cache-hit != 'true'
run: |
su forgejo -c 'make backend'
env:
TAGS: bindata sqlite sqlite_unlock_notify
packages: git git-lfs
- uses: ./.forgejo/workflows-composite/build-backend
- run: |
su forgejo -c 'make test-sqlite-migration test-sqlite'
timeout-minutes: 50
@ -329,9 +256,7 @@ jobs:
container:
image: 'code.forgejo.org/oci/node:20-bookworm'
steps:
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/setup-go@v4
with:
go-version-file: "go.mod"
- run: make deps-backend deps-tools
- run: make security-check
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/workflows-composite/setup-env
- run: su forgejo -c 'make deps-backend deps-tools'
- run: su forgejo -c 'make security-check'

View file

@ -16,6 +16,9 @@ templates/.* @caesar @crystal @gusted
## the issue sidebar was touched by fnetx
templates/repo/issue/view_content/sidebar.* @fnetx
# Playwright tests
tests/e2e/.* @fnetx
# Files related to Go development.
# The modules usually don't require much knowledge about Forgejo and could

View file

@ -24,6 +24,16 @@ HAS_GO := $(shell hash $(GO) > /dev/null 2>&1 && echo yes)
COMMA := ,
DIFF ?= diff --unified
ifeq ($(USE_GOTESTSUM), yes)
GOTEST ?= gotestsum --
GOTESTCOMPILEDRUNPREFIX ?= gotestsum --raw-command -- go tool test2json -t
GOTESTCOMPILEDRUNSUFFIX ?= -test.v=test2json
else
GOTEST ?= $(GO) test
GOTESTCOMPILEDRUNPREFIX ?=
GOTESTCOMPILEDRUNSUFFIX ?=
endif
XGO_VERSION := go-1.21.x
AIR_PACKAGE ?= github.com/air-verse/air@v1 # renovate: datasource=go
@ -36,10 +46,10 @@ SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.31.0 # renova
XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest
GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1.6.0 # renovate: datasource=go
GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1 # renovate: datasource=go
DEADCODE_PACKAGE ?= golang.org/x/tools/cmd/deadcode@v0.25.0 # renovate: datasource=go
DEADCODE_PACKAGE ?= golang.org/x/tools/cmd/deadcode@v0.26.0 # renovate: datasource=go
GOMOCK_PACKAGE ?= go.uber.org/mock/mockgen@v0.4.0 # renovate: datasource=go
GOPLS_PACKAGE ?= golang.org/x/tools/gopls@v0.16.2 # renovate: datasource=go
RENOVATE_NPM_PACKAGE ?= renovate@38.77.2 # renovate: datasource=docker packageName=code.forgejo.org/forgejo-contrib/renovate
RENOVATE_NPM_PACKAGE ?= renovate@38.110.2 # renovate: datasource=docker packageName=code.forgejo.org/forgejo-contrib/renovate
ifeq ($(HAS_GO), yes)
CGO_EXTRA_CFLAGS := -DSQLITE_MAX_VARIABLE_NUMBER=32766
@ -534,12 +544,12 @@ test: test-frontend test-backend
.PHONY: test-backend
test-backend:
@echo "Running go test with $(GOTESTFLAGS) -tags '$(TEST_TAGS)'..."
@$(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' $(GO_TEST_PACKAGES)
@$(GOTEST) $(GOTESTFLAGS) -tags='$(TEST_TAGS)' $(GO_TEST_PACKAGES)
.PHONY: test-remote-cacher
test-remote-cacher:
@echo "Running go test with $(GOTESTFLAGS) -tags '$(TEST_TAGS)'..."
@$(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' $(GO_TEST_REMOTE_CACHER_PACKAGES)
@$(GOTEST) $(GOTESTFLAGS) -tags='$(TEST_TAGS)' $(GO_TEST_REMOTE_CACHER_PACKAGES)
.PHONY: test-frontend
test-frontend: node_modules
@ -564,7 +574,7 @@ test-check:
.PHONY: test\#%
test\#%:
@echo "Running go test with -tags '$(TEST_TAGS)'..."
@$(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' -run $(subst .,/,$*) $(GO_TEST_PACKAGES)
@$(GOTEST) $(GOTESTFLAGS) -tags='$(TEST_TAGS)' -run $(subst .,/,$*) $(GO_TEST_PACKAGES)
.PHONY: coverage
coverage:
@ -575,7 +585,7 @@ coverage:
.PHONY: unit-test-coverage
unit-test-coverage:
@echo "Running unit-test-coverage $(GOTESTFLAGS) -tags '$(TEST_TAGS)'..."
@$(GO) test $(GOTESTFLAGS) -timeout=20m -tags='$(TEST_TAGS)' -cover -coverprofile coverage.out $(GO_TEST_PACKAGES) && echo "\n==>\033[32m Ok\033[m\n" || exit 1
@$(GOTEST) $(GOTESTFLAGS) -timeout=20m -tags='$(TEST_TAGS)' -cover -coverprofile coverage.out $(GO_TEST_PACKAGES) && echo "\n==>\033[32m Ok\033[m\n" || exit 1
.PHONY: tidy
tidy:
@ -608,11 +618,11 @@ generate-ini-sqlite:
.PHONY: test-sqlite
test-sqlite: integrations.sqlite.test generate-ini-sqlite
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./integrations.sqlite.test
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GOTESTCOMPILEDRUNPREFIX) ./integrations.sqlite.test $(GOTESTCOMPILEDRUNSUFFIX)
.PHONY: test-sqlite\#%
test-sqlite\#%: integrations.sqlite.test generate-ini-sqlite
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./integrations.sqlite.test -test.run $(subst .,/,$*)
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GOTESTCOMPILEDRUNPREFIX) ./integrations.sqlite.test $(GOTESTCOMPILEDRUNSUFFIX) -test.run $(subst .,/,$*)
.PHONY: test-sqlite-migration
test-sqlite-migration: migrations.sqlite.test migrations.individual.sqlite.test
@ -629,11 +639,11 @@ generate-ini-mysql:
.PHONY: test-mysql
test-mysql: integrations.mysql.test generate-ini-mysql
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./integrations.mysql.test
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GOTESTCOMPILEDRUNPREFIX) ./integrations.mysql.test $(GOTESTCOMPILEDRUNSUFFIX)
.PHONY: test-mysql\#%
test-mysql\#%: integrations.mysql.test generate-ini-mysql
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./integrations.mysql.test -test.run $(subst .,/,$*)
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GOTESTCOMPILEDRUNPREFIX) ./integrations.mysql.test $(GOTESTCOMPILEDRUNSUFFIX) -test.run $(subst .,/,$*)
.PHONY: test-mysql-migration
test-mysql-migration: migrations.mysql.test migrations.individual.mysql.test
@ -651,11 +661,11 @@ generate-ini-pgsql:
.PHONY: test-pgsql
test-pgsql: integrations.pgsql.test generate-ini-pgsql
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini ./integrations.pgsql.test
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini $(GOTESTCOMPILEDRUNPREFIX) ./integrations.pgsql.test $(GOTESTCOMPILEDRUNSUFFIX)
.PHONY: test-pgsql\#%
test-pgsql\#%: integrations.pgsql.test generate-ini-pgsql
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini ./integrations.pgsql.test -test.run $(subst .,/,$*)
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini $(GOTESTCOMPILEDRUNPREFIX) ./integrations.pgsql.test $(GOTESTCOMPILEDRUNSUFFIX) -test.run $(subst .,/,$*)
.PHONY: test-pgsql-migration
test-pgsql-migration: migrations.pgsql.test migrations.individual.pgsql.test
@ -674,31 +684,31 @@ test-e2e: test-e2e-sqlite
.PHONY: test-e2e-sqlite
test-e2e-sqlite: playwright e2e.sqlite.test generate-ini-sqlite
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./e2e.sqlite.test -test.run TestE2e
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GOTESTCOMPILEDRUNPREFIX) ./e2e.sqlite.test $(GOTESTCOMPILEDRUNSUFFIX) -test.run TestE2e
.PHONY: test-e2e-sqlite\#%
test-e2e-sqlite\#%: playwright e2e.sqlite.test generate-ini-sqlite
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./e2e.sqlite.test -test.run TestE2e/$*
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GOTESTCOMPILEDRUNPREFIX) ./e2e.sqlite.test $(GOTESTCOMPILEDRUNSUFFIX) -test.run TestE2e/$*
.PHONY: test-e2e-sqlite-firefox\#%
test-e2e-sqlite-firefox\#%: playwright e2e.sqlite.test generate-ini-sqlite
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini PLAYWRIGHT_PROJECT=firefox ./e2e.sqlite.test -test.run TestE2e/$*
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini PLAYWRIGHT_PROJECT=firefox $(GOTESTCOMPILEDRUNPREFIX) ./e2e.sqlite.test $(GOTESTCOMPILEDRUNSUFFIX) -test.run TestE2e/$*
.PHONY: test-e2e-mysql
test-e2e-mysql: playwright e2e.mysql.test generate-ini-mysql
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./e2e.mysql.test -test.run TestE2e
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GOTESTCOMPILEDRUNPREFIX) ./e2e.mysql.test $(GOTESTCOMPILEDRUNSUFFIX) -test.run TestE2e
.PHONY: test-e2e-mysql\#%
test-e2e-mysql\#%: playwright e2e.mysql.test generate-ini-mysql
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./e2e.mysql.test -test.run TestE2e/$*
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GOTESTCOMPILEDRUNPREFIX) ./e2e.mysql.test $(GOTESTCOMPILEDRUNSUFFIX) -test.run TestE2e/$*
.PHONY: test-e2e-pgsql
test-e2e-pgsql: playwright e2e.pgsql.test generate-ini-pgsql
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini ./e2e.pgsql.test -test.run TestE2e
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini $(GOTESTCOMPILEDRUNPREFIX) ./e2e.pgsql.test $(GOTESTCOMPILEDRUNSUFFIX) -test.run TestE2e
.PHONY: test-e2e-pgsql\#%
test-e2e-pgsql\#%: playwright e2e.pgsql.test generate-ini-pgsql
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini ./e2e.pgsql.test -test.run TestE2e/$*
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini $(GOTESTCOMPILEDRUNPREFIX) ./e2e.pgsql.test $(GOTESTCOMPILEDRUNSUFFIX) -test.run TestE2e/$*
.PHONY: test-e2e-debugserver
test-e2e-debugserver: e2e.sqlite.test generate-ini-sqlite
@ -726,73 +736,73 @@ integration-test-coverage-sqlite: integrations.cover.sqlite.test generate-ini-sq
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./integrations.cover.sqlite.test -test.coverprofile=integration.coverage.out
integrations.mysql.test: git-check $(GO_SOURCES)
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration -o integrations.mysql.test
$(GOTEST) $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration -o integrations.mysql.test
integrations.pgsql.test: git-check $(GO_SOURCES)
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration -o integrations.pgsql.test
$(GOTEST) $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration -o integrations.pgsql.test
integrations.sqlite.test: git-check $(GO_SOURCES)
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration -o integrations.sqlite.test -tags '$(TEST_TAGS)'
$(GOTEST) $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration -o integrations.sqlite.test -tags '$(TEST_TAGS)'
integrations.cover.test: git-check $(GO_SOURCES)
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration -coverpkg $(shell echo $(GO_TEST_PACKAGES) | tr ' ' ',') -o integrations.cover.test
$(GOTEST) $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration -coverpkg $(shell echo $(GO_TEST_PACKAGES) | tr ' ' ',') -o integrations.cover.test
integrations.cover.sqlite.test: git-check $(GO_SOURCES)
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration -coverpkg $(shell echo $(GO_TEST_PACKAGES) | tr ' ' ',') -o integrations.cover.sqlite.test -tags '$(TEST_TAGS)'
$(GOTEST) $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration -coverpkg $(shell echo $(GO_TEST_PACKAGES) | tr ' ' ',') -o integrations.cover.sqlite.test -tags '$(TEST_TAGS)'
.PHONY: migrations.mysql.test
migrations.mysql.test: $(GO_SOURCES) generate-ini-mysql
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration/migration-test -o migrations.mysql.test
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./migrations.mysql.test
$(GOTEST) $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration/migration-test -o migrations.mysql.test
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GOTESTCOMPILEDRUNPREFIX) ./migrations.mysql.test $(GOTESTCOMPILEDRUNSUFFIX)
.PHONY: migrations.pgsql.test
migrations.pgsql.test: $(GO_SOURCES) generate-ini-pgsql
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration/migration-test -o migrations.pgsql.test
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini ./migrations.pgsql.test
$(GOTEST) $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration/migration-test -o migrations.pgsql.test
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini $(GOTESTCOMPILEDRUNPREFIX) ./migrations.pgsql.test $(GOTESTCOMPILEDRUNSUFFIX)
.PHONY: migrations.sqlite.test
migrations.sqlite.test: $(GO_SOURCES) generate-ini-sqlite
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration/migration-test -o migrations.sqlite.test -tags '$(TEST_TAGS)'
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./migrations.sqlite.test
$(GOTEST) $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration/migration-test -o migrations.sqlite.test -tags '$(TEST_TAGS)'
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GOTESTCOMPILEDRUNPREFIX) ./migrations.sqlite.test $(GOTESTCOMPILEDRUNSUFFIX)
.PHONY: migrations.individual.mysql.test
migrations.individual.mysql.test: $(GO_SOURCES)
for pkg in $(MIGRATION_PACKAGES); do \
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' $$pkg || exit 1; \
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GOTEST) $(GOTESTFLAGS) -tags '$(TEST_TAGS)' $$pkg || exit 1; \
done
.PHONY: migrations.individual.sqlite.test\#%
migrations.individual.sqlite.test\#%: $(GO_SOURCES) generate-ini-sqlite
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GOTEST) $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
.PHONY: migrations.individual.pgsql.test
migrations.individual.pgsql.test: $(GO_SOURCES)
for pkg in $(MIGRATION_PACKAGES); do \
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' $$pkg || exit 1;\
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini $(GOTEST) $(GOTESTFLAGS) -tags '$(TEST_TAGS)' $$pkg || exit 1;\
done
.PHONY: migrations.individual.pgsql.test\#%
migrations.individual.pgsql.test\#%: $(GO_SOURCES) generate-ini-pgsql
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini $(GOTEST) $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
.PHONY: migrations.individual.sqlite.test
migrations.individual.sqlite.test: $(GO_SOURCES) generate-ini-sqlite
for pkg in $(MIGRATION_PACKAGES); do \
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' $$pkg || exit 1; \
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GOTEST) $(GOTESTFLAGS) -tags '$(TEST_TAGS)' $$pkg || exit 1; \
done
.PHONY: migrations.individual.sqlite.test\#%
migrations.individual.sqlite.test\#%: $(GO_SOURCES) generate-ini-sqlite
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GOTEST) $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
e2e.mysql.test: $(GO_SOURCES)
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/e2e -o e2e.mysql.test
$(GOTEST) $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/e2e -o e2e.mysql.test
e2e.pgsql.test: $(GO_SOURCES)
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/e2e -o e2e.pgsql.test
$(GOTEST) $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/e2e -o e2e.pgsql.test
e2e.sqlite.test: $(GO_SOURCES)
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/e2e -o e2e.sqlite.test -tags '$(TEST_TAGS)'
$(GOTEST) $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/e2e -o e2e.sqlite.test -tags '$(TEST_TAGS)'
.PHONY: check
check: test

View file

@ -1,4 +1,3 @@
<div align="center">
<img src="./assets/logo.svg" alt="" width="192" align="center" />
<h1 align="center">Welcome to Forgejo</h1>

View file

@ -147,6 +147,12 @@ func runServ(c *cli.Context) error {
return nil
}
defer func() {
if err := recover(); err != nil {
_ = fail(ctx, "Internal Server Error", "Panic: %v\n%s", err, log.Stack(2))
}
}()
keys := strings.Split(c.Args().First(), "-")
if len(keys) != 2 || keys[0] != "key" {
return fail(ctx, "Key ID format error", "Invalid key argument: %s", c.Args().First())
@ -193,10 +199,7 @@ func runServ(c *cli.Context) error {
}
verb := words[0]
repoPath := words[1]
if repoPath[0] == '/' {
repoPath = repoPath[1:]
}
repoPath := strings.TrimPrefix(words[1], "/")
var lfsVerb string
if verb == lfsAuthenticateVerb {

View file

@ -529,7 +529,8 @@ INTERNAL_TOKEN =
;; HMAC to encode urls with, it **is required** if camo is enabled.
;HMAC_KEY =
;; Set to true to use camo for https too lese only non https urls are proxyed
;ALLWAYS = false
;; ALLWAYS is deprecated and will be removed in the future
;ALWAYS = false
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

33
go.mod
View file

@ -13,7 +13,7 @@ require (
code.gitea.io/gitea-vet v0.2.3
code.gitea.io/sdk/gitea v0.17.1
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570
connectrpc.com/connect v1.16.2
connectrpc.com/connect v1.17.0
gitea.com/go-chi/binding v0.0.0-20240430071103-39a851e106ed
gitea.com/lunny/levelqueue v0.4.2-0.20230414023320-3c0159fe0fe4
github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121
@ -66,16 +66,16 @@ require (
github.com/jhillyerd/enmime v1.3.0
github.com/json-iterator/go v1.1.12
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
github.com/klauspost/compress v1.17.9
github.com/klauspost/compress v1.17.10
github.com/klauspost/cpuid/v2 v2.2.8
github.com/lib/pq v1.10.9
github.com/markbates/goth v1.80.0
github.com/mattn/go-isatty v0.0.20
github.com/mattn/go-sqlite3 v1.14.22
github.com/mattn/go-sqlite3 v1.14.24
github.com/meilisearch/meilisearch-go v0.28.0
github.com/mholt/archiver/v3 v3.5.1
github.com/microcosm-cc/bluemonday v1.0.27
github.com/minio/minio-go/v7 v7.0.74
github.com/minio/minio-go/v7 v7.0.77
github.com/msteinert/pam v1.2.0
github.com/nektos/act v0.2.52
github.com/niklasfasching/go-org v1.7.0
@ -84,7 +84,6 @@ require (
github.com/opencontainers/image-spec v1.1.0
github.com/pquerna/otp v1.4.0
github.com/prometheus/client_golang v1.18.0
github.com/quasoft/websspi v1.1.2
github.com/redis/go-redis/v9 v9.6.1
github.com/robfig/cron/v3 v3.0.1
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1
@ -101,15 +100,15 @@ require (
github.com/yuin/goldmark v1.7.4
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc
go.uber.org/mock v0.4.0
golang.org/x/crypto v0.27.0
golang.org/x/image v0.20.0
golang.org/x/net v0.29.0
golang.org/x/crypto v0.28.0
golang.org/x/image v0.21.0
golang.org/x/net v0.30.0
golang.org/x/oauth2 v0.23.0
golang.org/x/sys v0.25.0
golang.org/x/text v0.18.0
golang.org/x/tools v0.25.0
google.golang.org/grpc v1.66.2
google.golang.org/protobuf v1.34.1
golang.org/x/sys v0.26.0
golang.org/x/text v0.19.0
golang.org/x/tools v0.26.0
google.golang.org/grpc v1.67.1
google.golang.org/protobuf v1.35.1
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
gopkg.in/ini.v1 v1.67.0
gopkg.in/yaml.v3 v3.0.1
@ -119,7 +118,7 @@ require (
)
require (
cloud.google.com/go/compute/metadata v0.3.0 // indirect
cloud.google.com/go/compute/metadata v0.5.0 // indirect
dario.cat/mergo v1.0.0 // indirect
filippo.io/edwards25519 v1.1.0 // indirect
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 // indirect
@ -250,7 +249,7 @@ require (
github.com/rhysd/actionlint v1.6.27 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.12.0 // indirect
github.com/rs/xid v1.5.0 // indirect
github.com/rs/xid v1.6.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
@ -283,7 +282,7 @@ require (
golang.org/x/mod v0.21.0 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/time v0.5.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
@ -293,6 +292,6 @@ replace github.com/hashicorp/go-version => github.com/6543/go-version v1.3.1
replace github.com/shurcooL/vfsgen => github.com/lunny/vfsgen v0.0.0-20220105142115-2c99e1ffdfa0
replace github.com/nektos/act => code.forgejo.org/forgejo/act v1.21.2
replace github.com/nektos/act => code.forgejo.org/forgejo/act v1.21.3
replace github.com/mholt/archiver/v3 => code.forgejo.org/forgejo/archiver/v3 v3.5.1

73
go.sum
View file

@ -1,11 +1,11 @@
cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc=
cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY=
cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY=
code.forgejo.org/f3/gof3/v3 v3.7.0 h1:ZfuCP8CGm8ZJbWmL+V0pUu3E0X4FCAA7GfRDy/y5/K4=
code.forgejo.org/f3/gof3/v3 v3.7.0/go.mod h1:oNhOeqD4DZYjVcNjQXIOdDX9b/1tqxi9ITLS8H9/Csw=
code.forgejo.org/forgejo-contrib/go-libravatar v0.0.0-20191008002943-06d1c002b251 h1:HTZl3CBk3ABNYtFI6TPLvJgGKFIhKT5CBk0sbOtkDKU=
code.forgejo.org/forgejo-contrib/go-libravatar v0.0.0-20191008002943-06d1c002b251/go.mod h1:PphB88CPbx601QrWPMZATeorACeVmQlyv3u+uUMbSaM=
code.forgejo.org/forgejo/act v1.21.2 h1:LERMtDNZDFXOYYYSU7Yduyyz7sN0t/Xnc1wFlupweiE=
code.forgejo.org/forgejo/act v1.21.2/go.mod h1:+PcvJ9iv+NTFeJSh79ra9Jbk9l0vvyA9D9me5/dbxYM=
code.forgejo.org/forgejo/act v1.21.3 h1:EeJbrz0aar2QhIcBlOW5gjK1rjrQxcAvQSPpG/R1h5w=
code.forgejo.org/forgejo/act v1.21.3/go.mod h1:+PcvJ9iv+NTFeJSh79ra9Jbk9l0vvyA9D9me5/dbxYM=
code.forgejo.org/forgejo/archiver/v3 v3.5.1 h1:UmmbA7D5550uf71SQjarmrn6yKwOGxtEjb3jaYYtmSE=
code.forgejo.org/forgejo/archiver/v3 v3.5.1/go.mod h1:e3dqJ7H78uzsRSEACH1joayhuSyhnonssnDhppzS1L4=
code.forgejo.org/forgejo/reply v1.0.2 h1:dMhQCHV6/O3L5CLWNTol+dNzDAuyCK88z4J/lCdgFuQ=
@ -24,8 +24,8 @@ code.gitea.io/sdk/gitea v0.17.1 h1:3jCPOG2ojbl8AcfaUCRYLT5MUcBMFwS0OSK2mA5Zok8=
code.gitea.io/sdk/gitea v0.17.1/go.mod h1:aCnBqhHpoEWA180gMbaCtdX9Pl6BWBAuuP2miadoTNM=
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570 h1:TXbikPqa7YRtfU9vS6QJBg77pUvbEb6StRdZO8t1bEY=
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570/go.mod h1:IIAjsijsd8q1isWX8MACefDEgTQslQ4stk2AeeTt3kM=
connectrpc.com/connect v1.16.2 h1:ybd6y+ls7GOlb7Bh5C8+ghA6SvCBajHwxssO2CGFjqE=
connectrpc.com/connect v1.16.2/go.mod h1:n2kgwskMHXC+lVqb18wngEpF95ldBHXjZYJussz5FRc=
connectrpc.com/connect v1.17.0 h1:W0ZqMhtVzn9Zhn2yATuUokDLO5N+gIuBWMOnsQrfmZk=
connectrpc.com/connect v1.17.0/go.mod h1:0292hj1rnx8oFrStN7cB4jjVBeqs+Yx5yDIC2prWDO8=
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
@ -379,10 +379,8 @@ github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
github.com/gorilla/pat v0.0.0-20180118222023-199c85a7f6d1 h1:LqbZZ9sNMWVjeXS4NN5oVvhMjDyLhmA1LG86oSo+IqY=
github.com/gorilla/pat v0.0.0-20180118222023-199c85a7f6d1/go.mod h1:YeAe0gNeiNT5hoiZRI4yiOky6jVdNvfO2N6Kav/HmxY=
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
github.com/gorilla/securecookie v1.1.2 h1:YCIWL56dvtr73r6715mJs5ZvhtnY73hBvEF8kXD8ePA=
github.com/gorilla/securecookie v1.1.2/go.mod h1:NfCASbcHqRSY+3a8tlWJwsQap2VX5pwzwo4h3eOamfo=
github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
github.com/gorilla/sessions v1.2.2 h1:lqzMYz6bOfvn2WriPUjNByzeXIlVzURcPmgMczkmTjY=
github.com/gorilla/sessions v1.2.2/go.mod h1:ePLdVu+jbEgHH+KWw8I1z2wqd0BAdAQh/8LRvBeoNcQ=
github.com/h2non/gock v1.2.0 h1:K6ol8rfrRkUOefooBC8elXoaNGYkpp7y2qcxGG6BzUE=
@ -448,8 +446,8 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
github.com/klauspost/compress v1.11.4/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/klauspost/compress v1.17.10 h1:oXAz+Vh0PMUvJczoi+flxpnBEPxoER1IaAnU/NMPtT0=
github.com/klauspost/compress v1.17.10/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
@ -490,8 +488,8 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM=
github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/meilisearch/meilisearch-go v0.28.0 h1:f3XJ66ZM+R8bANAOLqsjvoq/HhQNpVJPYoNt6QgNzME=
github.com/meilisearch/meilisearch-go v0.28.0/go.mod h1:Szcc9CaDiKIfjdgdt49jlmDKpEzjD+x+b6Y6heMdlQ0=
github.com/mholt/acmez/v2 v2.0.1 h1:3/3N0u1pLjMK4sNEAFSI+bcvzbPhRpY383sy1kLHJ6k=
@ -502,8 +500,8 @@ github.com/miekg/dns v1.1.59 h1:C9EXc/UToRwKLhK5wKU/I4QVsBUc8kE6MkHBkeypWZs=
github.com/miekg/dns v1.1.59/go.mod h1:nZpewl5p6IvctfgrckopVx2OlSEHPRO/U4SYkRklrEk=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
github.com/minio/minio-go/v7 v7.0.74 h1:fTo/XlPBTSpo3BAMshlwKL5RspXRv9us5UeHEGYCFe0=
github.com/minio/minio-go/v7 v7.0.74/go.mod h1:qydcVzV8Hqtj1VtEocfxbmVFa2siu6HGa+LDEPogjD8=
github.com/minio/minio-go/v7 v7.0.77 h1:GaGghJRg9nwDVlNbwYjSDJT1rqltQkBFDsypWX1v3Bw=
github.com/minio/minio-go/v7 v7.0.77/go.mod h1:AVM3IUN6WwKzmwBxVdjzhH8xq+f57JSbbvzqvUzR6eg=
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
@ -581,8 +579,6 @@ github.com/prometheus/common v0.46.0 h1:doXzt5ybi1HBKpsZOL0sSkaNHJJqkyfEWZGGqqSc
github.com/prometheus/common v0.46.0/go.mod h1:Tp0qkxpb9Jsg54QMe+EAmqXkSV7Evdy1BTn+g2pa/hQ=
github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
github.com/quasoft/websspi v1.1.2 h1:/mA4w0LxWlE3novvsoEL6BBA1WnjJATbjkh1kFrTidw=
github.com/quasoft/websspi v1.1.2/go.mod h1:HmVdl939dQ0WIXZhyik+ARdI03M6bQzaSEKcgpFmewk=
github.com/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4=
github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA=
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
@ -599,8 +595,8 @@ github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc=
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/rs/xid v1.6.0 h1:fV591PaemRlL6JfRxGDEPl69wICngIQ3shQtzfy2gxU=
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
@ -734,12 +730,12 @@ golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2Uz
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
golang.org/x/exp v0.0.0-20240119083558-1b970713d09a h1:Q8/wZp0KX97QFTc2ywcOE0YRjZPVIx+MXInMzdvQqcA=
golang.org/x/exp v0.0.0-20240119083558-1b970713d09a/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08=
golang.org/x/image v0.20.0 h1:7cVCUjQwfL18gyBJOmYvptfSHS8Fb3YUDtfLIZ7Nbpw=
golang.org/x/image v0.20.0/go.mod h1:0a88To4CYVBAHp5FXJm8o7QbUl37Vd85ply1vyD8auM=
golang.org/x/image v0.21.0 h1:c5qV36ajHpdj4Qi0GnE0jUc/yuo33OLFaa0d+crTD5s=
golang.org/x/image v0.21.0/go.mod h1:vUbsLavqK/W303ZroQQVKQ+Af3Yl6Uz1Ppu5J/cLz78=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
@ -761,8 +757,8 @@ golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -779,7 +775,6 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -803,8 +798,8 @@ golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
@ -814,8 +809,8 @@ golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@ -827,8 +822,8 @@ golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@ -839,16 +834,16 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE=
golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg=
golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ=
golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo=
google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@ -857,8 +852,8 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View file

@ -34,6 +34,7 @@ type ActivityStats struct {
OpenedPRAuthorCount int64
MergedPRs issues_model.PullRequestList
MergedPRAuthorCount int64
ActiveIssues issues_model.IssueList
OpenedIssues issues_model.IssueList
OpenedIssueAuthorCount int64
ClosedIssues issues_model.IssueList
@ -172,7 +173,7 @@ func (stats *ActivityStats) MergedPRPerc() int {
// ActiveIssueCount returns total active issue count
func (stats *ActivityStats) ActiveIssueCount() int {
return stats.OpenedIssueCount() + stats.ClosedIssueCount()
return len(stats.ActiveIssues)
}
// OpenedIssueCount returns open issue count
@ -285,13 +286,21 @@ func (stats *ActivityStats) FillIssues(ctx context.Context, repoID int64, fromTi
stats.ClosedIssueAuthorCount = count
// New issues
sess = issuesForActivityStatement(ctx, repoID, fromTime, false, false)
sess = newlyCreatedIssues(ctx, repoID, fromTime)
sess.OrderBy("issue.created_unix ASC")
stats.OpenedIssues = make(issues_model.IssueList, 0)
if err = sess.Find(&stats.OpenedIssues); err != nil {
return err
}
// Active issues
sess = activeIssues(ctx, repoID, fromTime)
sess.OrderBy("issue.created_unix ASC")
stats.ActiveIssues = make(issues_model.IssueList, 0)
if err = sess.Find(&stats.ActiveIssues); err != nil {
return err
}
// Opened issue authors
sess = issuesForActivityStatement(ctx, repoID, fromTime, false, false)
if _, err = sess.Select("count(distinct issue.poster_id) as `count`").Table("issue").Get(&count); err != nil {
@ -317,6 +326,23 @@ func (stats *ActivityStats) FillUnresolvedIssues(ctx context.Context, repoID int
return sess.Find(&stats.UnresolvedIssues)
}
func newlyCreatedIssues(ctx context.Context, repoID int64, fromTime time.Time) *xorm.Session {
sess := db.GetEngine(ctx).Where("issue.repo_id = ?", repoID).
And("issue.is_pull = ?", false). // Retain the is_pull check to exclude pull requests
And("issue.created_unix >= ?", fromTime.Unix()) // Include all issues created after fromTime
return sess
}
func activeIssues(ctx context.Context, repoID int64, fromTime time.Time) *xorm.Session {
sess := db.GetEngine(ctx).Where("issue.repo_id = ?", repoID).
And("issue.is_pull = ?", false).
And("issue.created_unix >= ?", fromTime.Unix()).
Or("issue.closed_unix >= ?", fromTime.Unix())
return sess
}
func issuesForActivityStatement(ctx context.Context, repoID int64, fromTime time.Time, closed, unresolved bool) *xorm.Session {
sess := db.GetEngine(ctx).Where("issue.repo_id = ?", repoID).
And("issue.is_closed = ?", closed)

View file

@ -94,3 +94,22 @@
content: "test markup light/dark-mode-only ![GitHub-Mark-Light](https://user-images.githubusercontent.com/3369400/139447912-e0f43f33-6d9f-45f8-be46-2df5bbc91289.png#gh-dark-mode-only)![GitHub-Mark-Dark](https://user-images.githubusercontent.com/3369400/139448065-39a229ba-4b06-434b-bc67-616e2ed80c8f.png#gh-light-mode-only)"
created_unix: 946684813
updated_unix: 946684813
-
id: 11
type: 22 # review
poster_id: 5
issue_id: 3 # in repo_id 1
content: "reviewed by user5"
review_id: 21
created_unix: 946684816
-
id: 12
type: 27 # review request
poster_id: 2
issue_id: 3 # in repo_id 1
content: "review request for user5"
review_id: 22
assignee_id: 5
created_unix: 946684817

View file

@ -179,3 +179,22 @@
content: "Review Comment"
updated_unix: 946684810
created_unix: 946684810
-
id: 21
type: 2
reviewer_id: 5
issue_id: 3
content: "reviewed by user5"
commit_id: 4a357436d925b5c974181ff12a994538ddc5a269
updated_unix: 946684816
created_unix: 946684816
-
id: 22
type: 4
reviewer_id: 5
issue_id: 3
content: "review request for user5"
updated_unix: 946684817
created_unix: 946684817

View file

@ -15,13 +15,13 @@ import (
// IssueStats represents issue statistic information.
type IssueStats struct {
OpenCount, ClosedCount int64
YourRepositoriesCount int64
AssignCount int64
CreateCount int64
MentionCount int64
ReviewRequestedCount int64
ReviewedCount int64
OpenCount, ClosedCount, AllCount int64
YourRepositoriesCount int64
AssignCount int64
CreateCount int64
MentionCount int64
ReviewRequestedCount int64
ReviewedCount int64
}
// Filter modes.
@ -104,6 +104,7 @@ func GetIssueStats(ctx context.Context, opts *IssuesOptions) (*IssueStats, error
}
accum.OpenCount += stats.OpenCount
accum.ClosedCount += stats.ClosedCount
accum.AllCount += stats.AllCount
accum.YourRepositoriesCount += stats.YourRepositoriesCount
accum.AssignCount += stats.AssignCount
accum.CreateCount += stats.CreateCount
@ -131,7 +132,13 @@ func getIssueStatsChunk(ctx context.Context, opts *IssuesOptions, issueIDs []int
stats.ClosedCount, err = applyIssuesOptions(sess, opts, issueIDs).
And("issue.is_closed = ?", true).
Count(new(Issue))
return stats, err
if err != nil {
return stats, err
}
stats.AllCount = stats.OpenCount + stats.ClosedCount
return stats, nil
}
func applyIssuesOptions(sess *xorm.Session, opts *IssuesOptions, issueIDs []int64) *xorm.Session {

View file

@ -25,6 +25,7 @@ func TestGetIssueStats(t *testing.T) {
assert.Equal(t, int64(4), stats.OpenCount)
assert.Equal(t, int64(1), stats.ClosedCount)
assert.Equal(t, int64(5), stats.AllCount)
assert.Equal(t, int64(0), stats.YourRepositoriesCount)
assert.Equal(t, int64(0), stats.AssignCount)
assert.Equal(t, int64(0), stats.CreateCount)

View file

@ -408,7 +408,7 @@ func (pr *PullRequest) getReviewedByLines(ctx context.Context, writer io.Writer)
// Note: This doesn't page as we only expect a very limited number of reviews
reviews, err := FindLatestReviews(ctx, FindReviewOptions{
Type: ReviewTypeApprove,
Types: []ReviewType{ReviewTypeApprove},
IssueID: pr.IssueID,
OfficialOnly: setting.Repository.PullRequest.DefaultMergeMessageOfficialApproversOnly,
})

View file

@ -364,7 +364,7 @@ func GetCurrentReview(ctx context.Context, reviewer *user_model.User, issue *Iss
return nil, nil
}
reviews, err := FindReviews(ctx, FindReviewOptions{
Type: ReviewTypePending,
Types: []ReviewType{ReviewTypePending},
IssueID: issue.ID,
ReviewerID: reviewer.ID,
})

View file

@ -92,7 +92,7 @@ func (reviews ReviewList) LoadIssues(ctx context.Context) error {
// FindReviewOptions represent possible filters to find reviews
type FindReviewOptions struct {
db.ListOptions
Type ReviewType
Types []ReviewType
IssueID int64
ReviewerID int64
OfficialOnly bool
@ -107,8 +107,8 @@ func (opts *FindReviewOptions) toCond() builder.Cond {
if opts.ReviewerID > 0 {
cond = cond.And(builder.Eq{"reviewer_id": opts.ReviewerID})
}
if opts.Type != ReviewTypeUnknown {
cond = cond.And(builder.Eq{"type": opts.Type})
if len(opts.Types) > 0 {
cond = cond.And(builder.In("type", opts.Types))
}
if opts.OfficialOnly {
cond = cond.And(builder.Eq{"official": true})

View file

@ -64,7 +64,7 @@ func TestReviewType_Icon(t *testing.T) {
func TestFindReviews(t *testing.T) {
require.NoError(t, unittest.PrepareTestDatabase())
reviews, err := issues_model.FindReviews(db.DefaultContext, issues_model.FindReviewOptions{
Type: issues_model.ReviewTypeApprove,
Types: []issues_model.ReviewType{issues_model.ReviewTypeApprove},
IssueID: 2,
ReviewerID: 1,
})
@ -76,7 +76,7 @@ func TestFindReviews(t *testing.T) {
func TestFindLatestReviews(t *testing.T) {
require.NoError(t, unittest.PrepareTestDatabase())
reviews, err := issues_model.FindLatestReviews(db.DefaultContext, issues_model.FindReviewOptions{
Type: issues_model.ReviewTypeApprove,
Types: []issues_model.ReviewType{issues_model.ReviewTypeApprove},
IssueID: 11,
})
require.NoError(t, err)

View file

@ -245,6 +245,7 @@ func (u *Type) CanBeDefault() bool {
// Unit is a section of one repository
type Unit struct {
Type Type
Name string
NameKey string
URI string
DescKey string
@ -272,6 +273,7 @@ func (u Unit) MaxPerm() perm.AccessMode {
var (
UnitCode = Unit{
TypeCode,
"code",
"repo.code",
"/",
"repo.code.desc",
@ -281,6 +283,7 @@ var (
UnitIssues = Unit{
TypeIssues,
"issues",
"repo.issues",
"/issues",
"repo.issues.desc",
@ -290,6 +293,7 @@ var (
UnitExternalTracker = Unit{
TypeExternalTracker,
"ext_issues",
"repo.ext_issues",
"/issues",
"repo.ext_issues.desc",
@ -299,6 +303,7 @@ var (
UnitPullRequests = Unit{
TypePullRequests,
"pulls",
"repo.pulls",
"/pulls",
"repo.pulls.desc",
@ -308,6 +313,7 @@ var (
UnitReleases = Unit{
TypeReleases,
"releases",
"repo.releases",
"/releases",
"repo.releases.desc",
@ -317,6 +323,7 @@ var (
UnitWiki = Unit{
TypeWiki,
"wiki",
"repo.wiki",
"/wiki",
"repo.wiki.desc",
@ -326,6 +333,7 @@ var (
UnitExternalWiki = Unit{
TypeExternalWiki,
"ext_wiki",
"repo.ext_wiki",
"/wiki",
"repo.ext_wiki.desc",
@ -335,6 +343,7 @@ var (
UnitProjects = Unit{
TypeProjects,
"projects",
"repo.projects",
"/projects",
"repo.projects.desc",
@ -344,6 +353,7 @@ var (
UnitPackages = Unit{
TypePackages,
"packages",
"repo.packages",
"/packages",
"packages.desc",
@ -353,6 +363,7 @@ var (
UnitActions = Unit{
TypeActions,
"actions",
"repo.actions",
"/actions",
"actions.unit.desc",

View file

@ -69,7 +69,19 @@ func (opts *SearchUserOptions) toSearchQueryBase(ctx context.Context) *xorm.Sess
builder.Like{"LOWER(full_name)", lowerKeyword},
)
if opts.SearchByEmail {
keywordCond = keywordCond.Or(builder.Like{"LOWER(email)", lowerKeyword})
var emailCond builder.Cond
emailCond = builder.Like{"LOWER(email)", lowerKeyword}
if opts.Actor == nil {
emailCond = emailCond.And(builder.Eq{"keep_email_private": false})
} else if !opts.Actor.IsAdmin {
emailCond = emailCond.And(
builder.Or(
builder.Eq{"keep_email_private": false},
builder.Eq{"id": opts.Actor.ID},
),
)
}
keywordCond = keywordCond.Or(emailCond)
}
cond = cond.And(keywordCond)

View file

@ -421,6 +421,10 @@ func (u *User) IsIndividual() bool {
return u.Type == UserTypeIndividual
}
func (u *User) IsUser() bool {
return u.Type == UserTypeIndividual || u.Type == UserTypeBot
}
// IsBot returns whether or not the user is of type bot
func (u *User) IsBot() bool {
return u.Type == UserTypeBot

View file

@ -18,8 +18,32 @@ func FullSteps(task *actions_model.ActionTask) []*actions_model.ActionTaskStep {
return fullStepsOfEmptySteps(task)
}
firstStep := task.Steps[0]
// firstStep is the first step that has run or running, not include preStep.
// For example,
// 1. preStep(Success) -> step1(Success) -> step2(Running) -> step3(Waiting) -> postStep(Waiting): firstStep is step1.
// 2. preStep(Success) -> step1(Skipped) -> step2(Success) -> postStep(Success): firstStep is step2.
// 3. preStep(Success) -> step1(Running) -> step2(Waiting) -> postStep(Waiting): firstStep is step1.
// 4. preStep(Success) -> step1(Skipped) -> step2(Skipped) -> postStep(Skipped): firstStep is nil.
// 5. preStep(Success) -> step1(Cancelled) -> step2(Cancelled) -> postStep(Cancelled): firstStep is nil.
var firstStep *actions_model.ActionTaskStep
// lastHasRunStep is the last step that has run.
// For example,
// 1. preStep(Success) -> step1(Success) -> step2(Running) -> step3(Waiting) -> postStep(Waiting): lastHasRunStep is step1.
// 2. preStep(Success) -> step1(Success) -> step2(Success) -> step3(Success) -> postStep(Success): lastHasRunStep is step3.
// 3. preStep(Success) -> step1(Success) -> step2(Failure) -> step3 -> postStep(Waiting): lastHasRunStep is step2.
// So its Stopped is the Started of postStep when there are no more steps to run.
var lastHasRunStep *actions_model.ActionTaskStep
var logIndex int64
for _, step := range task.Steps {
if firstStep == nil && (step.Status.HasRun() || step.Status.IsRunning()) {
firstStep = step
}
if step.Status.HasRun() {
lastHasRunStep = step
}
logIndex += step.LogLength
}
preStep := &actions_model.ActionTaskStep{
Name: preStepName,
@ -28,32 +52,17 @@ func FullSteps(task *actions_model.ActionTask) []*actions_model.ActionTaskStep {
Status: actions_model.StatusRunning,
}
if firstStep.Status.HasRun() || firstStep.Status.IsRunning() {
// No step has run or is running, so preStep is equal to the task
if firstStep == nil {
preStep.Stopped = task.Stopped
preStep.Status = task.Status
} else {
preStep.LogLength = firstStep.LogIndex
preStep.Stopped = firstStep.Started
preStep.Status = actions_model.StatusSuccess
} else if task.Status.IsDone() {
preStep.Stopped = task.Stopped
preStep.Status = actions_model.StatusFailure
if task.Status.IsSkipped() {
preStep.Status = actions_model.StatusSkipped
}
}
logIndex += preStep.LogLength
// lastHasRunStep is the last step that has run.
// For example,
// 1. preStep(Success) -> step1(Success) -> step2(Running) -> step3(Waiting) -> postStep(Waiting): lastHasRunStep is step1.
// 2. preStep(Success) -> step1(Success) -> step2(Success) -> step3(Success) -> postStep(Success): lastHasRunStep is step3.
// 3. preStep(Success) -> step1(Success) -> step2(Failure) -> step3 -> postStep(Waiting): lastHasRunStep is step2.
// So its Stopped is the Started of postStep when there are no more steps to run.
var lastHasRunStep *actions_model.ActionTaskStep
for _, step := range task.Steps {
if step.Status.HasRun() {
lastHasRunStep = step
}
logIndex += step.LogLength
}
if lastHasRunStep == nil {
lastHasRunStep = preStep
}

View file

@ -137,6 +137,25 @@ func TestFullSteps(t *testing.T) {
{Name: postStepName, Status: actions_model.StatusSkipped, LogIndex: 0, LogLength: 0, Started: 0, Stopped: 0},
},
},
{
name: "first step is skipped",
task: &actions_model.ActionTask{
Steps: []*actions_model.ActionTaskStep{
{Status: actions_model.StatusSkipped, LogIndex: 0, LogLength: 0, Started: 0, Stopped: 0},
{Status: actions_model.StatusSuccess, LogIndex: 10, LogLength: 80, Started: 10010, Stopped: 10090},
},
Status: actions_model.StatusSuccess,
Started: 10000,
Stopped: 10100,
LogLength: 100,
},
want: []*actions_model.ActionTaskStep{
{Name: preStepName, Status: actions_model.StatusSuccess, LogIndex: 0, LogLength: 10, Started: 10000, Stopped: 10010},
{Status: actions_model.StatusSkipped, LogIndex: 0, LogLength: 0, Started: 0, Stopped: 0},
{Status: actions_model.StatusSuccess, LogIndex: 10, LogLength: 80, Started: 10010, Stopped: 10090},
{Name: postStepName, Status: actions_model.StatusSuccess, LogIndex: 90, LogLength: 10, Started: 10090, Stopped: 10100},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {

View file

@ -63,9 +63,9 @@ func (cc *cacheContext) isDiscard() bool {
}
// cacheContextLifetime is the max lifetime of cacheContext.
// Since cacheContext is used to cache data in a request level context, 10s is enough.
// If a cacheContext is used more than 10s, it's probably misuse.
const cacheContextLifetime = 10 * time.Second
// Since cacheContext is used to cache data in a request level context, 5 minutes is enough.
// If a cacheContext is used more than 5 minutes, it's probably misuse.
const cacheContextLifetime = 5 * time.Minute
var timeNow = time.Now
@ -133,7 +133,7 @@ func GetContextData(ctx context.Context, tp, key any) any {
if c.Expired() {
// The warning means that the cache context is misused for long-life task,
// it can be resolved with WithNoCacheContext(ctx).
log.Warn("cache context is expired, may be misused for long-life tasks: %v", c)
log.Warn("cache context is expired, is highly likely to be misused for long-life tasks: %v", c)
return nil
}
return c.Get(tp, key)
@ -146,7 +146,7 @@ func SetContextData(ctx context.Context, tp, key, value any) {
if c.Expired() {
// The warning means that the cache context is misused for long-life task,
// it can be resolved with WithNoCacheContext(ctx).
log.Warn("cache context is expired, may be misused for long-life tasks: %v", c)
log.Warn("cache context is expired, is highly likely to be misused for long-life tasks: %v", c)
return
}
c.Put(tp, key, value)
@ -159,7 +159,7 @@ func RemoveContextData(ctx context.Context, tp, key any) {
if c.Expired() {
// The warning means that the cache context is misused for long-life task,
// it can be resolved with WithNoCacheContext(ctx).
log.Warn("cache context is expired, may be misused for long-life tasks: %v", c)
log.Warn("cache context is expired, is highly likely to be misused for long-life tasks: %v", c)
return
}
c.Delete(tp, key)

View file

@ -46,7 +46,7 @@ func TestWithCacheContext(t *testing.T) {
timeNow = now
}()
timeNow = func() time.Time {
return now().Add(10 * time.Second)
return now().Add(5 * time.Minute)
}
v = GetContextData(ctx, field, "my_config1")
assert.Nil(t, v)

View file

@ -97,12 +97,12 @@ func SetExecutablePath(path string) error {
}
if gitVersion.LessThan(versionRequired) {
moreHint := "get git: https://git-scm.com/download/"
moreHint := "get git: https://git-scm.com/downloads"
if runtime.GOOS == "linux" {
// there are a lot of CentOS/RHEL users using old git, so we add a special hint for them
if _, err = os.Stat("/etc/redhat-release"); err == nil {
// ius.io is the recommended official(git-scm.com) method to install git
moreHint = "get git: https://git-scm.com/download/linux and https://ius.io"
moreHint = "get git: https://git-scm.com/downloads/linux and https://ius.io"
}
}
return fmt.Errorf("installed git version %q is not supported, Gitea requires git version >= %q, %s", gitVersion.Original(), RequiredVersion, moreHint)

View file

@ -27,12 +27,20 @@ type GrepResult struct {
HighlightedRanges [][3]int
}
type grepMode int
const (
FixedGrepMode grepMode = iota
FixedAnyGrepMode
RegExpGrepMode
)
type GrepOptions struct {
RefName string
MaxResultLimit int
MatchesPerFile int
ContextLineNumber int
IsFuzzy bool
Mode grepMode
PathSpec []setting.Glob
}
@ -74,12 +82,20 @@ func GrepSearch(ctx context.Context, repo *Repository, search string, opts GrepO
var results []*GrepResult
// -I skips binary files
cmd := NewCommand(ctx, "grep",
"-I", "--null", "--break", "--heading", "--column",
"--fixed-strings", "--line-number", "--ignore-case", "--full-name")
"-I", "--null", "--break", "--heading",
"--line-number", "--ignore-case", "--full-name")
if opts.Mode == RegExpGrepMode {
// No `--column` -- regexp mode does not support highlighting in the
// current implementation as the length of the match is unknown from
// `grep` but required for highlighting.
cmd.AddArguments("--perl-regexp")
} else {
cmd.AddArguments("--fixed-strings", "--column")
}
cmd.AddOptionValues("--context", fmt.Sprint(opts.ContextLineNumber))
cmd.AddOptionValues("--max-count", fmt.Sprint(opts.MatchesPerFile))
words := []string{search}
if opts.IsFuzzy {
if opts.Mode == FixedAnyGrepMode {
words = strings.Fields(search)
}
for _, word := range words {
@ -148,6 +164,7 @@ func GrepSearch(ctx context.Context, repo *Repository, search string, opts GrepO
if lineNum, lineCode, ok := strings.Cut(line, "\x00"); ok {
lineNumInt, _ := strconv.Atoi(lineNum)
res.LineNumbers = append(res.LineNumbers, lineNumInt)
// We support highlighting only when `--column` parameter is used.
if lineCol, lineCode2, ok := strings.Cut(lineCode, "\x00"); ok {
lineColInt, _ := strconv.Atoi(lineCol)
start := lineColInt - 1

View file

@ -201,3 +201,34 @@ func TestGrepRefs(t *testing.T) {
assert.Len(t, res, 1)
assert.Equal(t, "A", res[0].LineCodes[0])
}
func TestGrepCanHazRegexOnDemand(t *testing.T) {
tmpDir := t.TempDir()
err := InitRepository(DefaultContext, tmpDir, false, Sha1ObjectFormat.Name())
require.NoError(t, err)
gitRepo, err := openRepositoryWithDefaultContext(tmpDir)
require.NoError(t, err)
defer gitRepo.Close()
require.NoError(t, os.WriteFile(path.Join(tmpDir, "matching"), []byte("It's a match!"), 0o666))
require.NoError(t, os.WriteFile(path.Join(tmpDir, "not-matching"), []byte("Orisitamatch?"), 0o666))
err = AddChanges(tmpDir, true)
require.NoError(t, err)
err = CommitChanges(tmpDir, CommitChangesOptions{Message: "Add fixtures for regexp test"})
require.NoError(t, err)
// should find nothing by default...
res, err := GrepSearch(context.Background(), gitRepo, "\\bmatch\\b", GrepOptions{})
require.NoError(t, err)
assert.Empty(t, res)
// ... unless configured explicitly
res, err = GrepSearch(context.Background(), gitRepo, "\\bmatch\\b", GrepOptions{Mode: RegExpGrepMode})
require.NoError(t, err)
assert.Len(t, res, 1)
assert.Equal(t, "matching", res[0].Filename)
}

View file

@ -1,190 +0,0 @@
// Copyright 2019 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
// This code is heavily inspired by the archived gofacebook/gracenet/net.go handler
//go:build windows
package graceful
import (
"os"
"runtime/pprof"
"strconv"
"time"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"golang.org/x/sys/windows/svc"
"golang.org/x/sys/windows/svc/debug"
)
// WindowsServiceName is the name of the Windows service
var WindowsServiceName = "gitea"
const (
hammerCode = 128
hammerCmd = svc.Cmd(hammerCode)
acceptHammerCode = svc.Accepted(hammerCode)
)
func (g *Manager) start() {
// Now label this and all goroutines created by this goroutine with the gracefulLifecycle manager
pprof.SetGoroutineLabels(g.managerCtx)
defer pprof.SetGoroutineLabels(g.ctx)
if skip, _ := strconv.ParseBool(os.Getenv("SKIP_MINWINSVC")); skip {
log.Trace("Skipping SVC check as SKIP_MINWINSVC is set")
return
}
// Make SVC process
run := svc.Run
//lint:ignore SA1019 We use IsAnInteractiveSession because IsWindowsService has a different permissions profile
isAnInteractiveSession, err := svc.IsAnInteractiveSession() //nolint:staticcheck
if err != nil {
log.Error("Unable to ascertain if running as an Windows Service: %v", err)
return
}
if isAnInteractiveSession {
log.Trace("Not running a service ... using the debug SVC manager")
run = debug.Run
}
go func() {
_ = run(WindowsServiceName, g)
}()
}
// Execute makes Manager implement svc.Handler
func (g *Manager) Execute(args []string, changes <-chan svc.ChangeRequest, status chan<- svc.Status) (svcSpecificEC bool, exitCode uint32) {
if setting.StartupTimeout > 0 {
status <- svc.Status{State: svc.StartPending, WaitHint: uint32(setting.StartupTimeout / time.Millisecond)}
} else {
status <- svc.Status{State: svc.StartPending}
}
log.Trace("Awaiting server start-up")
// Now need to wait for everything to start...
if !g.awaitServer(setting.StartupTimeout) {
log.Trace("... start-up failed ... Stopped")
return false, 1
}
log.Trace("Sending Running state to SVC")
// We need to implement some way of svc.AcceptParamChange/svc.ParamChange
status <- svc.Status{
State: svc.Running,
Accepts: svc.AcceptStop | svc.AcceptShutdown | acceptHammerCode,
}
log.Trace("Started")
waitTime := 30 * time.Second
loop:
for {
select {
case <-g.ctx.Done():
log.Trace("Shutting down")
g.DoGracefulShutdown()
waitTime += setting.GracefulHammerTime
break loop
case <-g.shutdownRequested:
log.Trace("Shutting down")
waitTime += setting.GracefulHammerTime
break loop
case change := <-changes:
switch change.Cmd {
case svc.Interrogate:
log.Trace("SVC sent interrogate")
status <- change.CurrentStatus
case svc.Stop, svc.Shutdown:
log.Trace("SVC requested shutdown - shutting down")
g.DoGracefulShutdown()
waitTime += setting.GracefulHammerTime
break loop
case hammerCode:
log.Trace("SVC requested hammer - shutting down and hammering immediately")
g.DoGracefulShutdown()
g.DoImmediateHammer()
break loop
default:
log.Debug("Unexpected control request: %v", change.Cmd)
}
}
}
log.Trace("Sending StopPending state to SVC")
status <- svc.Status{
State: svc.StopPending,
WaitHint: uint32(waitTime / time.Millisecond),
}
hammerLoop:
for {
select {
case change := <-changes:
switch change.Cmd {
case svc.Interrogate:
log.Trace("SVC sent interrogate")
status <- change.CurrentStatus
case svc.Stop, svc.Shutdown, hammerCmd:
log.Trace("SVC requested hammer - hammering immediately")
g.DoImmediateHammer()
break hammerLoop
default:
log.Debug("Unexpected control request: %v", change.Cmd)
}
case <-g.hammerCtx.Done():
break hammerLoop
}
}
log.Trace("Stopped")
return false, 0
}
func (g *Manager) awaitServer(limit time.Duration) bool {
c := make(chan struct{})
go func() {
g.createServerCond.L.Lock()
for {
if g.createdServer >= numberOfServersToCreate {
g.createServerCond.L.Unlock()
close(c)
return
}
select {
case <-g.IsShutdown():
g.createServerCond.L.Unlock()
return
default:
}
g.createServerCond.Wait()
}
}()
var tc <-chan time.Time
if limit > 0 {
tc = time.After(limit)
}
select {
case <-c:
return true // completed normally
case <-tc:
return false // timed out
case <-g.IsShutdown():
g.createServerCond.Signal()
return false
}
}
func (g *Manager) notify(msg systemdNotifyMsg) {
// Windows doesn't use systemd to notify
}
func KillParent() {
// Windows doesn't need to "kill parent" because there is no graceful restart
}

View file

@ -1,19 +0,0 @@
// Copyright 2019 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
// This code is heavily inspired by the archived gofacebook/gracenet/net.go handler
//go:build windows
package graceful
import "net"
// DefaultGetListener obtains a listener for the local network address.
// On windows this is basically just a shim around net.Listen.
func DefaultGetListener(network, address string) (net.Listener, error) {
// Add a deferral to say that we've tried to grab a listener
defer GetManager().InformCleanup()
return net.Listen(network, address)
}

View file

@ -13,11 +13,7 @@ import (
)
// NewDialContext returns a DialContext for Transport, the DialContext will do allow/block list check
func NewDialContext(usage string, allowList, blockList *HostMatchList) func(ctx context.Context, network, addr string) (net.Conn, error) {
return NewDialContextWithProxy(usage, allowList, blockList, nil)
}
func NewDialContextWithProxy(usage string, allowList, blockList *HostMatchList, proxy *url.URL) func(ctx context.Context, network, addr string) (net.Conn, error) {
func NewDialContext(usage string, allowList, blockList *HostMatchList, proxy *url.URL) func(ctx context.Context, network, addr string) (net.Conn, error) {
// How Go HTTP Client works with redirection:
// transport.RoundTrip URL=http://domain.com, Host=domain.com
// transport.DialContext addrOrHost=domain.com:80

View file

@ -76,7 +76,8 @@ func HandleGenericETagTimeCache(req *http.Request, w http.ResponseWriter, etag s
w.Header().Set("Etag", etag)
}
if lastModified != nil && !lastModified.IsZero() {
w.Header().Set("Last-Modified", lastModified.Format(http.TimeFormat))
// http.TimeFormat required a UTC time, refer to https://pkg.go.dev/net/http#TimeFormat
w.Header().Set("Last-Modified", lastModified.UTC().Format(http.TimeFormat))
}
if len(etag) > 0 {

View file

@ -79,6 +79,7 @@ func ServeSetHeaders(w http.ResponseWriter, opts *ServeHeaderOptions) {
httpcache.SetCacheControlInHeader(header, duration)
if !opts.LastModified.IsZero() {
// http.TimeFormat required a UTC time, refer to https://pkg.go.dev/net/http#TimeFormat
header.Set("Last-Modified", opts.LastModified.UTC().Format(http.TimeFormat))
}
}

View file

@ -288,6 +288,8 @@ func (b *Indexer) Search(ctx context.Context, opts *internal.SearchOptions) (int
searchRequest.AddFacet("languages", bleve.NewFacetRequest("Language", 10))
}
searchRequest.SortBy([]string{"-_score", "UpdatedAt"})
result, err := b.inner.Indexer.SearchInContext(ctx, searchRequest)
if err != nil {
return 0, nil, nil, err

View file

@ -20,6 +20,7 @@ import (
indexer_internal "code.gitea.io/gitea/modules/indexer/internal"
inner_elasticsearch "code.gitea.io/gitea/modules/indexer/internal/elasticsearch"
"code.gitea.io/gitea/modules/json"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/timeutil"
"code.gitea.io/gitea/modules/typesniffer"
@ -197,8 +198,33 @@ func (b *Indexer) Index(ctx context.Context, repo *repo_model.Repository, sha st
return nil
}
// Delete deletes indexes by ids
// Delete entries by repoId
func (b *Indexer) Delete(ctx context.Context, repoID int64) error {
if err := b.doDelete(ctx, repoID); err != nil {
// Maybe there is a conflict during the delete operation, so we should retry after a refresh
log.Warn("Deletion of entries of repo %v within index %v was erroneus. Trying to refresh index before trying again", repoID, b.inner.VersionedIndexName(), err)
if err := b.refreshIndex(ctx); err != nil {
return err
}
if err := b.doDelete(ctx, repoID); err != nil {
log.Error("Could not delete entries of repo %v within index %v", repoID, b.inner.VersionedIndexName())
return err
}
}
return nil
}
func (b *Indexer) refreshIndex(ctx context.Context) error {
if _, err := b.inner.Client.Refresh(b.inner.VersionedIndexName()).Do(ctx); err != nil {
log.Error("Error while trying to refresh index %v", b.inner.VersionedIndexName(), err)
return err
}
return nil
}
// Delete entries by repoId
func (b *Indexer) doDelete(ctx context.Context, repoID int64) error {
_, err := b.inner.Client.DeleteByQuery(b.inner.VersionedIndexName()).
Query(elastic.NewTermsQuery("repo_id", repoID)).
Do(ctx)
@ -318,7 +344,8 @@ func (b *Indexer) Search(ctx context.Context, opts *internal.SearchOptions) (int
NumOfFragments(0). // return all highting content on fragments
HighlighterType("fvh"),
).
Sort("repo_id", true).
Sort("_score", false).
Sort("updated_at", true).
From(start).Size(pageSize).
Do(ctx)
if err != nil {
@ -349,7 +376,8 @@ func (b *Indexer) Search(ctx context.Context, opts *internal.SearchOptions) (int
NumOfFragments(0). // return all highting content on fragments
HighlighterType("fvh"),
).
Sort("repo_id", true).
Sort("_score", false).
Sort("updated_at", true).
From(start).Size(pageSize).
Do(ctx)
if err != nil {

View file

@ -38,7 +38,7 @@ func camoHandleLink(link string) string {
if setting.Camo.Enabled {
lnkURL, err := url.Parse(link)
if err == nil && lnkURL.IsAbs() && !strings.HasPrefix(link, setting.AppURL) &&
(setting.Camo.Allways || lnkURL.Scheme != "https") {
(setting.Camo.Always || lnkURL.Scheme != "https") {
return CamoEncode(link)
}
}

View file

@ -28,7 +28,7 @@ func TestCamoHandleLink(t *testing.T) {
"https://image.proxy/eivin43gJwGVIjR9MiYYtFIk0mw/aHR0cDovL3Rlc3RpbWFnZXMub3JnL2ltZy5qcGc",
camoHandleLink("http://testimages.org/img.jpg"))
setting.Camo.Allways = true
setting.Camo.Always = true
assert.Equal(t,
"https://gitea.com/img.jpg",
camoHandleLink("https://gitea.com/img.jpg"))

View file

@ -73,6 +73,8 @@ var (
// EmojiShortCodeRegex find emoji by alias like :smile:
EmojiShortCodeRegex = regexp.MustCompile(`:[-+\w]+:`)
InlineCodeBlockRegex = regexp.MustCompile("`[^`]+`")
)
// CSS class for action keywords (e.g. "closes: #1")
@ -243,6 +245,7 @@ func RenderIssueTitle(
title string,
) (string, error) {
return renderProcessString(ctx, []processor{
inlineCodeBlockProcessor,
issueIndexPatternProcessor,
commitCrossReferencePatternProcessor,
hashCurrentPatternProcessor,
@ -251,6 +254,19 @@ func RenderIssueTitle(
}, title)
}
// RenderRefIssueTitle to process title on places where an issue is referenced
func RenderRefIssueTitle(
ctx *RenderContext,
title string,
) (string, error) {
return renderProcessString(ctx, []processor{
inlineCodeBlockProcessor,
issueIndexPatternProcessor,
emojiShortCodeProcessor,
emojiProcessor,
}, title)
}
func renderProcessString(ctx *RenderContext, procs []processor, content string) (string, error) {
var buf strings.Builder
if err := postProcess(ctx, procs, strings.NewReader(content), &buf); err != nil {
@ -438,6 +454,24 @@ func createKeyword(content string) *html.Node {
return span
}
func createInlineCode(content string) *html.Node {
code := &html.Node{
Type: html.ElementNode,
Data: atom.Code.String(),
Attr: []html.Attribute{},
}
code.Attr = append(code.Attr, html.Attribute{Key: "class", Val: "inline-code-block"})
text := &html.Node{
Type: html.TextNode,
Data: content,
}
code.AppendChild(text)
return code
}
func createEmoji(content, class, name string) *html.Node {
span := &html.Node{
Type: html.ElementNode,
@ -1070,6 +1104,21 @@ func filePreviewPatternProcessor(ctx *RenderContext, node *html.Node) {
}
}
func inlineCodeBlockProcessor(ctx *RenderContext, node *html.Node) {
start := 0
next := node.NextSibling
for node != nil && node != next && start < len(node.Data) {
m := InlineCodeBlockRegex.FindStringSubmatchIndex(node.Data[start:])
if m == nil {
return
}
code := node.Data[m[0]+1 : m[1]-1]
replaceContent(node, m[0], m[1], createInlineCode(code))
node = node.NextSibling.NextSibling
}
}
// emojiShortCodeProcessor for rendering text like :smile: into emoji
func emojiShortCodeProcessor(ctx *RenderContext, node *html.Node) {
start := 0

View file

@ -39,8 +39,8 @@ const (
var (
reName = regexp.MustCompile(`^[a-zA-Z0-9@._+-]+$`)
reVer = regexp.MustCompile(`^[a-zA-Z0-9:_.+]+-+[0-9]+$`)
reOptDep = regexp.MustCompile(`^[a-zA-Z0-9@._+-]+([<>]?=?[a-zA-Z0-9@._+-]+)?(:.*)?$`)
rePkgVer = regexp.MustCompile(`^[a-zA-Z0-9@._+-]+([<>]?=?[a-zA-Z0-9@._+-]+)?$`)
reOptDep = regexp.MustCompile(`^[a-zA-Z0-9@._+-]+([<>]?=?([0-9]+:)?[a-zA-Z0-9@._+-]+)?(:.*)?$`)
rePkgVer = regexp.MustCompile(`^[a-zA-Z0-9@._+-]+([<>]?=?([0-9]+:)?[a-zA-Z0-9@._+-]+)?$`)
magicZSTD = []byte{0x28, 0xB5, 0x2F, 0xFD}
magicXZ = []byte{0xFD, 0x37, 0x7A, 0x58, 0x5A}
@ -71,7 +71,7 @@ type VersionMetadata struct {
Conflicts []string `json:"conflicts,omitempty"`
Replaces []string `json:"replaces,omitempty"`
Backup []string `json:"backup,omitempty"`
Xdata []string `json:"xdata,omitempty"`
XData []string `json:"xdata,omitempty"`
}
// FileMetadata Metadata related to specific package file.
@ -125,7 +125,7 @@ func ParsePackage(r *packages.HashedBuffer) (*Package, error) {
defer tarball.Close()
var pkg *Package
var mtree bool
var mTree bool
for {
f, err := tarball.Read()
@ -135,24 +135,24 @@ func ParsePackage(r *packages.HashedBuffer) (*Package, error) {
if err != nil {
return nil, err
}
defer f.Close()
switch f.Name() {
case ".PKGINFO":
pkg, err = ParsePackageInfo(tarballType, f)
if err != nil {
_ = f.Close()
return nil, err
}
case ".MTREE":
mtree = true
mTree = true
}
_ = f.Close()
}
if pkg == nil {
return nil, util.NewInvalidArgumentErrorf(".PKGINFO file not found")
}
if !mtree {
if !mTree {
return nil, util.NewInvalidArgumentErrorf(".MTREE file not found")
}
@ -220,7 +220,7 @@ func ParsePackageInfo(compressType string, r io.Reader) (*Package, error) {
case "replaces":
p.VersionMetadata.Replaces = append(p.VersionMetadata.Replaces, value)
case "xdata":
p.VersionMetadata.Xdata = append(p.VersionMetadata.Xdata, value)
p.VersionMetadata.XData = append(p.VersionMetadata.XData, value)
case "builddate":
bd, err := strconv.ParseInt(value, 10, 64)
if err != nil {
@ -260,48 +260,43 @@ func ValidatePackageSpec(p *Package) error {
return util.NewInvalidArgumentErrorf("invalid project URL")
}
}
for _, cd := range p.VersionMetadata.CheckDepends {
if !rePkgVer.MatchString(cd) {
return util.NewInvalidArgumentErrorf("invalid check dependency: %s", cd)
for _, checkDepend := range p.VersionMetadata.CheckDepends {
if !rePkgVer.MatchString(checkDepend) {
return util.NewInvalidArgumentErrorf("invalid check dependency: %s", checkDepend)
}
}
for _, d := range p.VersionMetadata.Depends {
if !rePkgVer.MatchString(d) {
return util.NewInvalidArgumentErrorf("invalid dependency: %s", d)
for _, depend := range p.VersionMetadata.Depends {
if !rePkgVer.MatchString(depend) {
return util.NewInvalidArgumentErrorf("invalid dependency: %s", depend)
}
}
for _, md := range p.VersionMetadata.MakeDepends {
if !rePkgVer.MatchString(md) {
return util.NewInvalidArgumentErrorf("invalid make dependency: %s", md)
for _, makeDepend := range p.VersionMetadata.MakeDepends {
if !rePkgVer.MatchString(makeDepend) {
return util.NewInvalidArgumentErrorf("invalid make dependency: %s", makeDepend)
}
}
for _, p := range p.VersionMetadata.Provides {
if !rePkgVer.MatchString(p) {
return util.NewInvalidArgumentErrorf("invalid provides: %s", p)
for _, provide := range p.VersionMetadata.Provides {
if !rePkgVer.MatchString(provide) {
return util.NewInvalidArgumentErrorf("invalid provides: %s", provide)
}
}
for _, p := range p.VersionMetadata.Conflicts {
if !rePkgVer.MatchString(p) {
return util.NewInvalidArgumentErrorf("invalid conflicts: %s", p)
for _, conflict := range p.VersionMetadata.Conflicts {
if !rePkgVer.MatchString(conflict) {
return util.NewInvalidArgumentErrorf("invalid conflicts: %s", conflict)
}
}
for _, p := range p.VersionMetadata.Replaces {
if !rePkgVer.MatchString(p) {
return util.NewInvalidArgumentErrorf("invalid replaces: %s", p)
for _, replace := range p.VersionMetadata.Replaces {
if !rePkgVer.MatchString(replace) {
return util.NewInvalidArgumentErrorf("invalid replaces: %s", replace)
}
}
for _, p := range p.VersionMetadata.Replaces {
if !rePkgVer.MatchString(p) {
return util.NewInvalidArgumentErrorf("invalid xdata: %s", p)
for _, optDepend := range p.VersionMetadata.OptDepends {
if !reOptDep.MatchString(optDepend) {
return util.NewInvalidArgumentErrorf("invalid optional dependency: %s", optDepend)
}
}
for _, od := range p.VersionMetadata.OptDepends {
if !reOptDep.MatchString(od) {
return util.NewInvalidArgumentErrorf("invalid optional dependency: %s", od)
}
}
for _, bf := range p.VersionMetadata.Backup {
if strings.HasPrefix(bf, "/") {
for _, b := range p.VersionMetadata.Backup {
if strings.HasPrefix(b, "/") {
return util.NewInvalidArgumentErrorf("backup file contains leading forward slash")
}
}

View file

@ -48,6 +48,7 @@ type Metadata struct {
Homepage string `json:"homepage,omitempty"`
License Licenses `json:"license,omitempty"`
Authors []Author `json:"authors,omitempty"`
Bin []string `json:"bin,omitempty"`
Autoload map[string]any `json:"autoload,omitempty"`
AutoloadDev map[string]any `json:"autoload-dev,omitempty"`
Extra map[string]any `json:"extra,omitempty"`

View file

@ -1,15 +0,0 @@
// Copyright 2022 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
//go:build windows
package process
import (
"os/exec"
)
// SetSysProcAttribute sets the common SysProcAttrs for commands
func SetSysProcAttribute(cmd *exec.Cmd) {
// Do nothing
}

View file

@ -3,18 +3,28 @@
package setting
import "code.gitea.io/gitea/modules/log"
import (
"strconv"
"code.gitea.io/gitea/modules/log"
)
var Camo = struct {
Enabled bool
ServerURL string `ini:"SERVER_URL"`
HMACKey string `ini:"HMAC_KEY"`
Allways bool
Always bool
}{}
func loadCamoFrom(rootCfg ConfigProvider) {
mustMapSetting(rootCfg, "camo", &Camo)
if Camo.Enabled {
oldValue := rootCfg.Section("camo").Key("ALLWAYS").MustString("")
if oldValue != "" {
log.Warn("camo.ALLWAYS is deprecated, use camo.ALWAYS instead")
Camo.Always, _ = strconv.ParseBool(oldValue)
}
if Camo.ServerURL == "" || Camo.HMACKey == "" {
log.Fatal(`Camo settings require "SERVER_URL" and HMAC_KEY`)
}

View file

@ -172,11 +172,12 @@ func NewFuncMap() template.FuncMap {
"RenderCommitMessage": RenderCommitMessage,
"RenderCommitMessageLinkSubject": RenderCommitMessageLinkSubject,
"RenderCommitBody": RenderCommitBody,
"RenderCodeBlock": RenderCodeBlock,
"RenderIssueTitle": RenderIssueTitle,
"RenderEmoji": RenderEmoji,
"ReactionToEmoji": ReactionToEmoji,
"RenderCommitBody": RenderCommitBody,
"RenderCodeBlock": RenderCodeBlock,
"RenderIssueTitle": RenderIssueTitle,
"RenderRefIssueTitle": RenderRefIssueTitle,
"RenderEmoji": RenderEmoji,
"ReactionToEmoji": ReactionToEmoji,
"RenderMarkdownToHtml": RenderMarkdownToHtml,
"RenderLabel": RenderLabel,

View file

@ -34,7 +34,7 @@ func AvatarHTML(src string, size int, class, name string) template.HTML {
name = "avatar"
}
return template.HTML(`<img class="` + class + `" src="` + src + `" title="` + html.EscapeString(name) + `" width="` + sizeStr + `" height="` + sizeStr + `"/>`)
return template.HTML(`<img loading="lazy" class="` + class + `" src="` + src + `" title="` + html.EscapeString(name) + `" width="` + sizeStr + `" height="` + sizeStr + `"/>`)
}
// Avatar renders user avatars. args: user, size (int), class (string)

View file

@ -130,6 +130,17 @@ func RenderIssueTitle(ctx context.Context, text string, metas map[string]string)
return template.HTML(renderedText)
}
// RenderRefIssueTitle renders referenced issue/pull title with defined post processors
func RenderRefIssueTitle(ctx context.Context, text string) template.HTML {
renderedText, err := markup.RenderRefIssueTitle(&markup.RenderContext{Ctx: ctx}, template.HTMLEscapeString(text))
if err != nil {
log.Error("RenderRefIssueTitle: %v", err)
return ""
}
return template.HTML(renderedText)
}
// RenderLabel renders a label
// locale is needed due to an import cycle with our context providing the `Tr` function
func RenderLabel(ctx context.Context, locale translation.Locale, label *issues_model.Label) template.HTML {

View file

@ -35,8 +35,8 @@ com 88fc37a3c0a4dda553bdcfc80c178a58247f42fb mit
mail@domain.com
@mention-user test
#123
space
`
space
` + "`code :+1: #123 code`\n"
var testMetas = map[string]string{
"user": "user13",
@ -115,8 +115,8 @@ com 88fc37a3c0a4dda553bdcfc80c178a58247f42fb mit
<a href="mailto:mail@domain.com" class="mailto">mail@domain.com</a>
<a href="/mention-user" class="mention">@mention-user</a> test
<a href="/user13/repo11/issues/123" class="ref-issue">#123</a>
space`
space
` + "`code <span class=\"emoji\" aria-label=\"thumbs up\">👍</span> <a href=\"/user13/repo11/issues/123\" class=\"ref-issue\">#123</a> code`"
assert.EqualValues(t, expected, RenderCommitBody(context.Background(), testInput, testMetas))
}
@ -152,11 +152,38 @@ com 88fc37a3c0a4dda553bdcfc80c178a58247f42fb mit
mail@domain.com
@mention-user test
<a href="/user13/repo11/issues/123" class="ref-issue">#123</a>
space
space
<code class="inline-code-block">code :+1: #123 code</code>
`
assert.EqualValues(t, expected, RenderIssueTitle(context.Background(), testInput, testMetas))
}
func TestRenderRefIssueTitle(t *testing.T) {
expected := ` space @mention-user
/just/a/path.bin
https://example.com/file.bin
[local link](file.bin)
[remote link](https://example.com)
[[local link|file.bin]]
[[remote link|https://example.com]]
![local image](image.jpg)
![remote image](https://example.com/image.jpg)
[[local image|image.jpg]]
[[remote link|https://example.com/image.jpg]]
https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash
com 88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb pare
https://example.com/user/repo/commit/88fc37a3c0a4dda553bdcfc80c178a58247f42fb
com 88fc37a3c0a4dda553bdcfc80c178a58247f42fb mit
<span class="emoji" aria-label="thumbs up">👍</span>
mail@domain.com
@mention-user test
#123
space
<code class="inline-code-block">code :+1: #123 code</code>
`
assert.EqualValues(t, expected, RenderRefIssueTitle(context.Background(), testInput))
}
func TestRenderMarkdownToHtml(t *testing.T) {
expected := `<p>space <a href="/mention-user" rel="nofollow">@mention-user</a><br/>
/just/a/path.bin
@ -177,7 +204,8 @@ com 88fc37a3c0a4dda553bdcfc80c178a58247f42fb mit
<a href="mailto:mail@domain.com" rel="nofollow">mail@domain.com</a>
<a href="/mention-user" rel="nofollow">@mention-user</a> test
#123
space</p>
space
<code>code :+1: #123 code</code></p>
`
assert.EqualValues(t, expected, RenderMarkdownToHtml(context.Background(), testInput))
}

View file

@ -1,15 +0,0 @@
// Copyright 2022 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
//go:build windows
package util
import (
"os"
)
func ApplyUmask(f string, newMode os.FileMode) error {
// do nothing for Windows, because Windows doesn't use umask
return nil
}

View file

@ -225,6 +225,15 @@ func Iif[T any](condition bool, trueVal, falseVal T) T {
return falseVal
}
// IfZero returns "def" if "v" is a zero value, otherwise "v"
func IfZero[T comparable](v, def T) T {
var zero T
if v == zero {
return def
}
return v
}
func ReserveLineBreakForTextarea(input string) string {
// Since the content is from a form which is a textarea, the line endings are \r\n.
// It's a standard behavior of HTML.

14
options/gitignore/Hexo Normal file
View file

@ -0,0 +1,14 @@
# gitignore template for Hexo sites
# website: https://hexo.io/
# Recommended: Node.gitignore
# Ignore generated directory
public/
# Ignore temp files
tmp/
.tmp*
# additional files
db.json
.deploy*/

View file

@ -0,0 +1,3 @@
/node_modules/
/lib/
.bsb.lock

View file

@ -0,0 +1,3 @@
# Ignore the default terragrunt cache directory
# https://terragrunt.gruntwork.io/docs/features/caching/
.terragrunt-cache

View file

@ -0,0 +1,13 @@
Copyright 2005 Norman Walsh, Sun Microsystems,
Inc., and the Organization for the Advancement
of Structured Information Standards (OASIS).
Release: $Id: db4-upgrade.xsl 8905 2010-09-12 11:47:07Z bobstayton $
Permission to use, copy, modify and distribute this stylesheet
and its accompanying documentation for any purpose and
without fee is hereby granted in perpetuity, provided that
the above copyright notice and this paragraph appear in
all copies. The copyright holders make no representation
about the suitability of the schema for any purpose. It
is provided "as is" without expressed or implied warranty.

View file

@ -0,0 +1,10 @@
Additional permission under GPLv3 section 7:
If you modify this Program, or any covered work, by
linking or combining it with OpenSSL, or a modified
version of OpenSSL licensed under the OpenSSL license
(https://www.openssl.org/source/license.html), the licensors of this
Program grant you additional permission to convey the resulting work.
Corresponding Source for a non-source form of such a combination
shall include the source code for the parts that are licensed
under the OpenSSL license as well as that of the covered work.

30
options/license/MIT-Click Normal file
View file

@ -0,0 +1,30 @@
Portions of this software are subject to the license below. The relevant
source files are clearly marked; they refer to this file using the phrase
"the Click LICENSE file". This license is an MIT license, plus a clause
(taken from the W3C license) requiring prior written permission to use our
names in publicity.
===========================================================================
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
The name and trademarks of copyright holders may NOT be used in advertising
or publicity pertaining to the Software without specific, written prior
permission. Title to copyright in this Software and any associated
documentation will at all times remain with copyright holders.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

View file

@ -0,0 +1,58 @@
Copyright (C) 2001-2015 American Radio Relay League, Inc. All rights
reserved.
Portions (C) 2003-2023 The TrustedQSL Developers. Please see the AUTHORS.txt
file for contributors.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Any redistribution of source code must retain the above copyright
notice, this list of conditions and the disclaimer shown in
Paragraph 5 (below).
2. Redistribution in binary form must reproduce the above copyright
notice, this list of conditions and the disclaimer shown in
Paragraph 5 (below) in the documentation and/or other materials
provided with the distribution.
3. Products derived from or including this software may not use
"Logbook of the World" or "LoTW" or any other American Radio Relay
League, Incorporated trademarks or servicemarks in their names
without prior written permission of the ARRL. See Paragraph 6
(below) for contact information.
4. Use of this software does not imply endorsement by ARRL of
products derived from or including this software and vendors may not
claim such endorsement.
5. Disclaimer: This software is provided "as-is" without
representation, guarantee or warranty of any kind, either express or
implied, including but not limited to the implied warranties of
merchantability or of fitness for a particular purpose. The entire
risk as to the quality and performance of the software is solely
with you. Should the software prove defective, you (and not the
American Radio Relay League, its officers, directors, employees or
agents) assume the entire cost of all necessary servicing, repair or
correction. In no event will ARRL be liable to you or to any third
party for any damages, whether direct or indirect, including lost
profits, lost savings, or other incidental or consequential damages
arising out of the use or inability to use such software, regardless
of whether ARRL has been advised of the possibility of such damages.
6. Contact information:
American Radio Relay League, Inc.
Attn: Logbook of the World Manager
225 Main St
Newington, CT 06111
voice: 860-594-0200
fax: 860-594-0259
email: logbook@arrl.org
Worldwide Web: www.arrl.org
This software consists of voluntary contributions made by many
individuals on behalf of the ARRL. More information on the "Logbook
of The World" project and the ARRL is available from the ARRL Web
site at www.arrl.org.

View file

@ -142,6 +142,11 @@ filter.not_fork = ليست اشتقاقات
filter.not_archived = ليس مؤرشف
filter.public = علني
filter.private = خاص
new_repo.title = مستودع جديد
new_migrate.title = انتقال جديد
new_org.title = منظمة جديدة
new_repo.link = مستودع جديد
new_migrate.link = انتقال جديد
[install]
db_name = اسم قاعدة البيانات
@ -1982,4 +1987,10 @@ match_tooltip = قم بتضمين النتائج التي تطابق مصطلح
repo_kind = بحث في المستودعات...
user_kind = بحث عن المستخدمين...
team_kind = بحث عن الفرق ...
code_kind = بحث في الكود...
code_kind = بحث في الكود...
project_kind = البحث ضمن المشاريع...
branch_kind = البحث ضمن الفروع...
no_results = لا توجد نتائج مطابقة.
issue_kind = البحث ضمن الأعطال...
pull_kind = البحث ضمن طلبات السحب...
keyword_search_unavailable = البحث من خلال الكلمات المفتاحية ليس متوفر حالياً. رجاءاً تواصل مع مشرف الموقع.

View file

@ -64,8 +64,8 @@ permission_no_access = Без достъп
ssh_key_deletion_success = SSH ключът е премахнат.
comment_type_group_project = Проект
update_language_success = Езикът е обновен.
add_key_success = SSH ключът "%s" е добавен.
add_gpg_key_success = GPG ключът "%s" е добавен.
add_key_success = SSH ключът „%s“ е добавен.
add_gpg_key_success = GPG ключът „%s“ е добавен.
user_unblock_success = Потребителят е отблокиран успешно.
user_block_success = Потребителят е блокиран успешно.
update_profile_success = Профилът ви е обновен.
@ -82,11 +82,11 @@ primary = Основен
email_deletion = Премахване на адреса на ел. поща
add_new_email = Добавяне на нов адрес на ел. поща
add_email = Добавяне на адрес на ел. поща
key_content_gpg_placeholder = Започва с "-----BEGIN PGP PUBLIC KEY BLOCK-----"
key_content_gpg_placeholder = Започва с „-----BEGIN PGP PUBLIC KEY BLOCK-----“
comment_type_group_title = Заглавие
comment_type_group_label = Етикет
change_username_prompt = Забележка: Промяната на потребителското ви име променя също URL на вашия акаунт.
update_language_not_found = Езикът "%s" не е наличен.
update_language_not_found = Езикът „%s“ не е наличен.
keep_activity_private_popup = Вашата дейност ще бъде видима само за вас и администраторите на сайта
uploaded_avatar_not_a_image = Каченият файл не е изображение.
uploaded_avatar_is_too_big = Размерът на качения файл (%d KiB) надвишава максималния размер (%d KiB).
@ -97,7 +97,7 @@ primary_email = Да е основен
keep_email_private = Скриване на адреса на ел. поща
theme_update_error = Избраната тема не съществува.
theme_update_success = Темата ви е обновена.
key_content_ssh_placeholder = Започва с "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com", или "sk-ssh-ed25519@openssh.com"
key_content_ssh_placeholder = Започва с „ssh-ed25519“, „ssh-rsa“, „ecdsa-sha2-nistp256“, „ecdsa-sha2-nistp384“, „ecdsa-sha2-nistp521“, „sk-ecdsa-sha2-nistp256@openssh.com“, или „sk-ssh-ed25519@openssh.com“
hide_openid = Скриване от профила
key_content = Съдържание
ssh_key_deletion = Премахване на SSH ключ
@ -109,8 +109,8 @@ visibility.public = Публична
visibility.limited = Ограничена
visibility.private = Частна
location_placeholder = Споделете приблизителното си местоположение с другите
key_signature_gpg_placeholder = Започва с "-----BEGIN PGP SIGNATURE-----"
key_signature_ssh_placeholder = Започва с "-----BEGIN SSH SIGNATURE-----"
key_signature_gpg_placeholder = Започва с „-----BEGIN PGP SIGNATURE-----“
key_signature_ssh_placeholder = Започва с „-----BEGIN SSH SIGNATURE-----“
saved_successfully = Настройките бяха запазени успешно.
no_activity = Няма скорошна дейност
theme_desc = Това ще бъде вашата тема по подразбиране в целия сайт.
@ -139,6 +139,8 @@ pronouns_unspecified = Непосочени
pronouns = Местоимения
gpg_token_code = echo "%s" | gpg -a --default-key %s --detach-sig
language.title = Език по подразбиране
language.localization_project = Помогнете ни да преведем Forgejo на вашия език! <a href="%s">Научете повече</a>.
language.description = Този език ще бъде запазен във вашия акаунт и ще се използва като език по подразбиране, след като влезете.
[packages]
container.labels.value = Стойност
@ -162,6 +164,11 @@ settings.delete = Изтриване на пакета
container.details.platform = Платформа
settings.delete.error = Неуспешно изтриване на пакет.
installation = Инсталация
versions.view_all = Вижте всички
dependencies = Зависимости
published_by_in = Публикуван %[1]s от <a href="%[2]s">%[3]s</a> в <a href="%[4]s"><strong>%[5]s</strong></a>
published_by = Публикуван %[1]s от <a href="%[2]s">%[3]s</a>
generic.download = Изтеглете пакета от командния ред:
[tool]
hours = %d часа
@ -285,6 +292,17 @@ artifacts = Артефакти
show_log_seconds = Показване на секундите
remove_all = Премахване на всичко
test = Проба
remove_label_str = Премахване на елемента „%s“
copy_branch = Копиране на името на клона
error404 = Страницата, която се опитвате да отворите, или <strong>не съществува</strong> или <strong>не сте упълномощени</strong> да я видите.
new_repo.link = Ново хранилище
new_migrate.title = Нова миграция
new_repo.title = Ново хранилище
new_org.title = Нова организация
new_migrate.link = Нова миграция
new_org.link = Нова организация
copy_generic = Копиране в клипборда
copy_error = Неуспешно копиране
[repo]
issues.context.edit = Редактиране
@ -387,10 +405,10 @@ repo_name_helper = Добрите имена на хранилища изпол
migrated_from = Мигрирано от <a href="%[1]s">%[2]s</a>
visibility_description = Само притежателят или участниците в организацията, ако имат права, ще могат да го видят.
projects.description = Описание (опционално)
template_select = Изберете шаблон.
template_select = Изберете шаблон
visibility_helper = Хранилището да е частно
license = Лиценз
license_helper = Изберете лицензионен файл.
license_helper = Изберете лицензионен файл
readme = README
migrate.clone_address = Мигриране / Клониране от URL
migrated_from_fake = Мигрирано от %[1]s
@ -407,15 +425,15 @@ milestones.filter_sort.least_issues = Най-малко задачи
milestones.filter_sort.most_issues = Най-много задачи
settings.add_webhook = Добавяне на уеб-кука
template.webhooks = Уеб-куки
issues.label_templates.info = Все още няма етикети. Създайте етикет с "Нов етикет" или използвайте предварително зададен набор от етикети:
issues.label_templates.info = Все още няма етикети. Създайте етикет с „Нов етикет“ или използвайте предварително зададен набор от етикети:
labels = Етикети
license_helper_desc = Лицензът определя какво могат и какво не могат да правят другите с вашия код. Не сте сигурни кой е подходящ за вашия проект? Вижте <a target="_blank" rel="noopener noreferrer" href="%s">Избиране на лиценз.</a>
issues.choose.blank = По подразбиране
settings.hooks = Уеб-куки
issue_labels = Етикети за задачите
issue_labels_helper = Изберете набор от етикети за задачите.
issue_labels = Етикети
issue_labels_helper = Изберете набор от етикети
readme_helper_desc = Това е мястото, където можете да напишете пълно описание на вашия проект.
repo_gitignore_helper = Изберете .gitignore шаблони.
repo_gitignore_helper = Изберете .gitignore шаблони
auto_init = Да се инициализира хранилище (Добавя .gitignore, License и README)
template.issue_labels = Етикети за задачите
migrate_items_labels = Етикети
@ -431,7 +449,7 @@ editor.upload_file = Качване на файл
projects.column.color = Цвят
editor.cancel_lower = Отказ
pulls = Заявки за сливане
editor.upload_files_to_dir = Качване на файлове в "%s"
editor.upload_files_to_dir = Качване на файлове в „%s“
settings.slack_color = Цвят
issues.label_color = Цвят
create_new_repo_command = Създаване на ново хранилище в командния ред
@ -443,7 +461,7 @@ issues.cancel = Отказ
settings.transfer_owner = Нов притежател
wiki.new_page_button = Нова страница
commit_graph.color = Цвят
projects.create_success = Проектът "%s" е създаден.
projects.create_success = Проектът „%s“ е създаден.
projects.type.none = Няма
projects.new_subheader = Координирайте, проследявайте и обновявайте работата си на едно място, така че проектите да останат прозрачни и по график.
projects.open = Отваряне
@ -514,10 +532,10 @@ wiki.back_to_wiki = Обратно към уики страницата
wiki.wiki_page_revisions = Ревизии на страницата
wiki.file_revision = Ревизия на страницата
activity.title.issues_created_by = %s създадени от %s
wiki.delete_page_notice_1 = Изтриването на уики страницата "%s" не може да бъде отменено. Продължаване?
wiki.delete_page_notice_1 = Изтриването на уики страницата „%s“ не може да бъде отменено. Продължаване?
wiki.page_name_desc = Въведете име за тази уики страница. Някои специални имена са: "Home", "_Sidebar" и "_Footer".
wiki.page_already_exists = Вече съществува уики страница със същото име.
wiki.reserved_page = Името на уики страницата "%s" е резервирано.
wiki.reserved_page = Името на уики страницата „%s“ е резервирано.
wiki.last_updated = Последно обновяване %s
settings.event_release = Издание
wiki.desc = Пишете и споделяйте документация със сътрудници.
@ -607,11 +625,11 @@ projects.column.edit = Редактиране на колоната
issues.close = Затваряне на задачата
issues.ref_reopened_from = `<a href="%[3]s">отвори наново тази задача %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
projects.deletion = Изтриване на проекта
projects.edit_success = Проектът "%s" е обновен.
projects.edit_success = Проектът „%s“ е обновен.
projects.deletion_success = Проектът е изтрит.
issues.create_comment = Коментиране
unescape_control_characters = Отекраниране
editor.file_delete_success = Файлът "%s" е изтрит.
editor.file_delete_success = Файлът „%s“ е изтрит.
projects.type.uncategorized = Некатегоризирано
projects.column.set_default = Задаване по подразбиране
projects.column.assigned_to = Възложено на
@ -665,11 +683,11 @@ activity.title.prs_opened_by = %s предложени от %s
issues.action_milestone_no_select = Без етап
issues.action_assignee_no_select = Без изпълнител
milestones.edit = Редактиране на етапа
milestones.create_success = Етапът "%s" е създаден.
milestones.create_success = Етапът „%s“ е създаден.
milestones.create = Създаване на етап
milestones.clear = Изчистване
milestones.deletion = Изтриване на етапа
milestones.edit_success = Етапът "%s" е обновен.
milestones.edit_success = Етапът „%s“ е обновен.
milestones.modify = Обновяване на етапа
milestones.deletion_success = Етапът е изтрит.
milestones.filter_sort.most_complete = Най-много завършен
@ -752,7 +770,7 @@ pulls.compare_changes = Нова заявка за сливане
activity.title.releases_published_by = %s публикувани от %s
topic.manage_topics = Управление на темите
topic.done = Готово
find_file.go_to_file = Отиване към файл
find_file.go_to_file = Намиране на файл
reactions_more = и още %d
issues.unpin_comment = откачи това %s
lines = реда
@ -762,7 +780,7 @@ editor.preview_changes = Преглеждане на промените
default_branch = Стандартен клон
default_branch_label = стандартен
template.topics = Теми
editor.branch_does_not_exist = Клонът "%s" не съществува в това хранилище.
editor.branch_does_not_exist = Клонът „%s“ не съществува в това хранилище.
editor.no_changes_to_show = Няма промени за показване.
issues.choose.get_started = Първи стъпки
issues.change_milestone_at = `промени етапа от <b>%s</b> на <b>%s</b> %s`
@ -793,7 +811,7 @@ file_view_source = Преглед на изходния код
diff.parent = родител
issues.unlock_comment = отключи това обсъждане %s
release.edit_subheader = Изданията ви позволяват да управлявате версиите на проекта.
branch.already_exists = Вече съществува клон на име "%s".
branch.already_exists = Вече съществува клон на име „%s“.
contributors.contribution_type.deletions = Изтривания
contributors.contribution_type.additions = Добавяния
diff.browse_source = Разглеждане на изходния код
@ -801,10 +819,10 @@ file_view_rendered = Преглед на визуализация
issues.lock_with_reason = заключи като <strong>%s</strong> и ограничи обсъждането до сътрудници %s
milestones.new_subheader = Етапите ви помагат да управлявате задачите и да проследявате напредъка им.
release.edit = редактиране
activity.published_release_label = Публикувано
activity.published_release_label = Издание
activity.navbar.contributors = Допринесли
pulls.recently_pushed_new_branches = Изтласкахте в клона <a href="%[3]s"><strong>%[1]s</strong></a> %[2]s
branch.branch_name_conflict = Името на клон "%s" е в конфликт с вече съществуващия клон "%s".
branch.branch_name_conflict = Името на клона „%s“ е в конфликт с вече съществуващия клон „%s“.
all_branches = Всички клонове
file_raw = Директно
file_history = История
@ -827,14 +845,14 @@ editor.new_branch_name_desc = Име на новия клон…
editor.propose_file_change = Предлагане на промяна на файла
editor.create_new_branch = Създаване на <strong>нов клон</strong> за това подаване и започване на заявка за сливане.
editor.create_new_branch_np = Създаване на <strong>нов клон</strong> за това подаване.
editor.filename_is_invalid = Името на файла е невалидно: "%s".
editor.filename_is_invalid = Името на файла е невалидно: „%s“.
editor.commit_directly_to_this_branch = Подаване директно към клона <strong class="branch-name">%s</strong>.
editor.branch_already_exists = Клонът "%s" вече съществува в това хранилище.
editor.file_already_exists = Файл с име "%s" вече съществува в това хранилище.
editor.branch_already_exists = Клонът „%s“ вече съществува в това хранилище.
editor.file_already_exists = Файл с име „%s“ вече съществува в това хранилище.
editor.commit_empty_file_header = Подаване на празен файл
editor.commit_empty_file_text = Файлът, който сте на път да подадете, е празен. Продължаване?
editor.fail_to_update_file_summary = Съобщение за грешка:
editor.fail_to_update_file = Неуспешно обновяване/създаване на файл "%s".
editor.fail_to_update_file = Неуспешно обновяване/създаване на файл „%s“.
editor.add_subdir = Добавяне на директория…
commits.commits = Подавания
commits.find = Търсене
@ -872,7 +890,7 @@ release.download_count = Изтегляния: %s
release.tag_name_invalid = Името на маркера не е валидно.
diff.stats_desc = <strong> %d променени файла</strong> с <strong>%d добавяния</strong> и <strong>%d изтривания</strong>
release.tag_name_already_exist = Вече съществува издание с това име на маркер.
branch.branch_already_exists = Клонът "%s" вече съществува в това хранилище.
branch.branch_already_exists = Клонът „%s“ вече съществува в това хранилище.
diff.download_patch = Изтегляне на файл-кръпка
diff.show_diff_stats = Показване на статистика
diff.commit = подаване
@ -925,20 +943,20 @@ pulls.num_conflicting_files_1 = %d конфликтен файл
activity.git_stats_commit_n = %d подавания
settings.event_issues = Задачи
branch.delete_head = Изтриване
branch.delete = Изтриване на клона "%s"
branch.delete = Изтриване на клона „%s“
branch.delete_html = Изтриване на клона
tag.create_success = Маркерът "%s" е създаден.
branch.new_branch_from = Създаване на нов клон от "%s"
tag.create_success = Маркерът „%s“ е създаден.
branch.new_branch_from = Създаване на нов клон от „%s“
branch.new_branch = Създаване на нов клон
branch.confirm_rename_branch = Преименуване на клона
branch.create_from = от "%s"
branch.create_from = от „%s“
settings.add_team_duplicate = Екипът вече разполага с това хранилище
settings.slack_domain = Домейн
editor.directory_is_a_file = Името на директорията "%s" вече се използва като име на файл в това хранилище.
editor.filename_is_a_directory = Името на файла "%s" вече се използва като име на директория в това хранилище.
editor.file_editing_no_longer_exists = Файлът, който се редактира, "%s", вече не съществува в това хранилище.
editor.file_deleting_no_longer_exists = Файлът, който се изтрива, "%s", вече не съществува в това хранилище.
editor.unable_to_upload_files = Неуспешно качване на файлове в "%s" с грешка: %v
editor.directory_is_a_file = Името на директорията „%s“ вече се използва като име на файл в това хранилище.
editor.filename_is_a_directory = Името на файла „%s“ вече се използва като име на директория в това хранилище.
editor.file_editing_no_longer_exists = Файлът, който се редактира, „%s“, вече не съществува в това хранилище.
editor.file_deleting_no_longer_exists = Файлът, който се изтрива, „%s“, вече не съществува в това хранилище.
editor.unable_to_upload_files = Неуспешно качване на файлове в „%s“ с грешка: %v
settings.web_hook_name_slack = Slack
settings.web_hook_name_discord = Discord
settings.web_hook_name_telegram = Telegram
@ -950,10 +968,10 @@ settings.web_hook_name_larksuite_only = Lark Suite
settings.web_hook_name_wechatwork = WeCom (Wechat Work)
settings.web_hook_name_packagist = Packagist
diff.file_byte_size = Размер
branch.create_success = Клонът "%s" е създаден.
branch.deletion_success = Клонът "%s" е изтрит.
branch.deletion_failed = Неуспешно изтриване на клон "%s".
branch.rename_branch_to = Преименуване от "%s" на:
branch.create_success = Клонът „%s“ е създаден.
branch.deletion_success = Клонът „%s“ е изтрит.
branch.deletion_failed = Неуспешно изтриване на клона „%s“.
branch.rename_branch_to = Преименуване от „%s“ на:
settings.web_hook_name_msteams = Microsoft Teams
settings.web_hook_name_dingtalk = DingTalk
issues.error_removing_due_date = Неуспешно премахване на крайния срок.
@ -965,9 +983,9 @@ settings.web_hook_name_forgejo = Forgejo
release.tag_already_exist = Вече съществува маркер с това име.
branch.name = Име на клона
settings.rename_branch = Преименуване на клона
branch.restore_failed = Неуспешно възстановяване на клон "%s".
branch.download = Изтегляне на клона "%s"
branch.rename = Преименуване на клона "%s"
branch.restore_failed = Неуспешно възстановяване на клона „%s“.
branch.download = Изтегляне на клона „%s“
branch.rename = Преименуване на клона „%s“
empty_message = В това хранилище няма съдържание.
open_with_editor = Отваряне с %s
search.search_repo = Търсене в хранилището
@ -975,7 +993,7 @@ search.results = Резултати от търсенето на "%s" в <a href
object_format = Формат на обектите
release.releases_for = Издания за %s
release.tags_for = Маркери за %s
pulls.cmd_instruction_hint = `Вижте инструкциите за командния ред.`
pulls.cmd_instruction_hint = Вижте инструкциите за командния ред
pulls.showing_only_single_commit = Показани са само промените в подаване %[1]s
issues.lock_no_reason = заключи и ограничи обсъждането до сътрудници %s
pulls.expand_files = Разгъване на всички файлове
@ -1003,7 +1021,7 @@ pulls.title_desc_one = иска да слее %[1]d подаване от <code>
pulls.showing_specified_commit_range = Показани са само промените между %[1]s..%[2]s
pulls.merged_title_desc_one = сля %[1]d подаване от <code>%[2]s</code> в <code>%[3]s</code> %[4]s
pulls.no_merge_access = Не сте упълномощени за сливане на тази заявка за сливане.
activity.navbar.code_frequency = Честота на кода
activity.navbar.code_frequency = Честота на промените
activity.git_stats_pushed_1 = е изтласкал
activity.git_stats_push_to_branch = към %s и
contributors.contribution_type.commits = Подавания
@ -1115,19 +1133,19 @@ issues.filter_type.review_requested = Поискани рецензии
issues.review.review = Рецензия
issues.review.comment = рецензира %s
branch.deleted_by = Изтрит от %s
branch.restore = Възстановяване на клона "%s"
branch.restore = Възстановяване на клона „%s“
archive.title_date = Това хранилище е архивирано на %s. Можете да преглеждате файлове и да го клонирате, но не можете да изтласквате или отваряте задачи или заявки за сливане.
release.download_count_one = %s изтегляне
release.download_count_few = %s изтегляния
branch.restore_success = Клонът "%s" е възстановен.
tag.create_tag_from = Създаване на нов маркер от "%s"
branch.restore_success = Клонът „%s“ е възстановен.
tag.create_tag_from = Създаване на нов маркер от „%s“
branch.create_new_branch = Създаване на клон от клон:
pulls.status_checks_show_all = Показване на всички проверки
size_format = %[1]s: %[2]s; %[3]s: %[4]s
pulls.filter_changes_by_commit = Филтриране по подаване
issues.ref_closing_from = `<a href="%[3]s">спомена заявка за сливане %[4]s, която ще затвори тази задача</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from = `<a href="%[3]s">спомена тази задача в заявка за сливане %[4]s, която ще я затвори</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from = `от %[1]s`
issues.ref_reopening_from = `<a href="%[3]s">спомена заявка за сливане %[4]s, която ще отвори наново тази задача</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from = `<a href="%[3]s">спомена тази задача в заявка за сливане %[4]s, която ще я отвори наново </a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.draft_title = Чернова
pulls.reopen_to_merge = Моля, отворете наново тази заявка за сливане, за да извършите сливане.
pulls.cant_reopen_deleted_branch = Тази заявка за сливане не може да бъде отворена наново, защото клонът е изтрит.
@ -1146,6 +1164,35 @@ project = Проекти
issues.content_history.delete_from_history = Изтриване от историята
n_release_few = %s издания
n_release_one = %s издание
editor.cannot_edit_non_text_files = Двоични файлове не могат да се редактират през уеб интерфейса.
settings.mirror_settings.push_mirror.copy_public_key = Копиране на публичния ключ
activity.published_tag_label = Маркер
activity.published_prerelease_label = Предв. издание
branch.create_branch = Създаване на клон %s
no_eol.text = Липсва EOL
no_eol.tooltip = Този файл не съдържа финален знак за край на реда.
tag.create_tag = Създаване на маркер %s
milestones.filter_sort.name = Име
mirror_public_key = Публичен SSH ключ
diff.file_after = След
find_tag = Намиране на маркер
diff.file_before = Преди
diff.file_image_height = Височина
contributors.contribution_type.filter_label = Тип принос:
diff.show_file_tree = Показване на файловото дърво
diff.hide_file_tree = Скриване на файловото дърво
tag.ahead.target = в %s след този маркер
diff.file_image_width = Широчина
activity.unresolved_conv_label = Отворено
invisible_runes_line = `Този ред съдържа невидими Уникод знаци`
code.desc = Достъп до програмния код, файловете, подаванията и клоновете.
settings.branches.update_default_branch = Обновяване на стандартния клон
settings.default_branch_desc = Изберете стандартен клон за хранилището, за заявки за сливане и подавания на код:
settings.transfer.button = Прехвърляне на притежанието
settings.transfer.modal.title = Прехвърляне на притежанието
ambiguous_runes_line = `Този ред съдържа двусмислени Уникод знаци`
ambiguous_character = `%[1]c [U+%04[1]X] може да бъде объркан с %[2]c [U+%04[2]X]`
invisible_runes_header = `Този файл съдържа невидими Уникод знаци`
[modal]
confirm = Потвърждаване
@ -1182,7 +1229,7 @@ settings = Настройки
members.remove.detail = Премахване на %[1]s от %[2]s?
settings.visibility = Видимост
settings.options = Организация
teams.leave.detail = Напускане на %s?
teams.leave.detail = Сигурни ли сте, че искате да напуснете екипа „%s“?
teams.can_create_org_repo = Създаване на хранилища
teams.settings = Настройки
settings.website = Уебсайт
@ -1192,7 +1239,7 @@ teams.all_repositories = Всички хранилища
teams.update_settings = Обновяване на настройките
settings.full_name = Пълно име
members.leave = Напускане
members.leave.detail = Напускане на %s?
members.leave.detail = Сигурни ли сте, че искате да напуснете организацията „%s“?
teams.read_access = Четене
org_name_holder = Име на организацията
create_org = Създаване на организация
@ -1242,6 +1289,7 @@ members.member = Участник
members.private_helper = Да е видим
teams.no_desc = Този екип няма описание
settings.delete_org_desc = Тази организация ще бъде изтрита перманентно. Продължаване?
open_dashboard = Отваряне на таблото
[install]
admin_password = Парола
@ -1304,6 +1352,13 @@ issue.action.reopen = <b>@%[1]s</b> отвори наново #%[2]d.
issue.action.approve = <b>@%[1]s</b> одобри тази заявка за сливане.
issue.action.reject = <b>@%[1]s</b> поиска промени в тази заявка за сливане.
register_notify.title = %[1]s, добре дошли в %[2]s
link_not_working_do_paste = Ако връзката не работи, опитайте да я копирате и поставите в URL лентата на вашия браузър.
activate_account = Моля, активирайте своя акаунт
admin.new_user.subject = Нов потребител %s току-що се регистрира
activate_account.text_1 = Здравейте, <b>%[1]s</b>, благодарим ви за регистрацията в %[2]s!
activate_email.text = Моля, щракнете върху следната връзка, за да потвърдите своя адрес на ел. поща в рамките на <b>%s</b>:
activate_email = Потвърдете своя адрес на ел. поща
activate_account.text_2 = Моля, щракнете върху следната връзка, за да активирате своя акаунт в рамките на <b>%s</b>:
[user]
joined_on = Присъединени на %s
@ -1334,6 +1389,7 @@ followers.title.few = Последователи
followers.title.one = Последовател
following.title.one = Следван
following.title.few = Следвани
public_activity.visibility_hint.self_public = Вашата дейност е видима за всички, с изключение на взаимодействията в частни пространства. <a href="%s">Конфигуриране</a>.
[home]
filter = Други филтри
@ -1343,7 +1399,7 @@ my_orgs = Организации
uname_holder = Потребителско име или ел. поща
my_repos = Хранилища
show_both_archived_unarchived = Показване на и архивирани и неархивирани
feed_of = Емисия на "%s"
feed_of = Емисия на „%s“
issues.in_your_repos = Във вашите хранилища
show_both_private_public = Показване на и публични и частни
show_only_private = Показване само на частни
@ -1387,7 +1443,7 @@ systemhooks = Системни уеб-куки
orgs.new_orga = Нова организация
config.https_only = Само HTTPS
users.update_profile_success = Потребителският акаунт е обновен.
users.new_success = Потребителският акаунт "%s" е създаден.
users.new_success = Потребителският акаунт „%s“ е създаден.
users.deletion_success = Потребителският акаунт е изтрит.
last_page = Последна
config.test_email_placeholder = Ел. поща (напр. test@example.com)
@ -1431,6 +1487,8 @@ orgs.members = Участници
config_settings = Настройки
users.details = Потребителски данни
packages.total_size = Общ размер: %s
dashboard.new_version_hint = Forgejo %s вече е наличен, вие изпълнявате %s. Проверете <a target="_blank" rel="noreferrer" href="%s">блога</a> за повече подробности.
total = Общо: %d
[error]
not_found = Целта не може да бъде намерена.
@ -1454,7 +1512,7 @@ lang_select_error = Изберете език от списъка.
HttpsUrl = HTTPS URL
require_error = ` не може да бъде празно.`
Retype = Потвърдете паролата
url_error = `"%s" не е валиден URL.`
url_error = `„%s“ не е валиден URL.`
Content = Съдържание
team_not_exist = Екипът не съществува.
TeamName = Име на екипа
@ -1498,6 +1556,8 @@ push_tag = изтласка маркер <a href="%[2]s">%[3]s</a> към <a hre
approve_pull_request = `одобри <a href="%[1]s">%[3]s#%[2]s</a>`
reject_pull_request = `предложи промени за <a href="%[1]s">%[3]s#%[2]s</a>`
compare_branch = Сравняване
compare_commits_general = Сравняване на подавания
compare_commits = Сравнете %d подавания
[auth]
tab_openid = OpenID
@ -1524,6 +1584,14 @@ must_change_password = Обновете паролата си
password_too_short = Дължината на паролата не може да бъде по-малка от %d знака.
tab_signin = Влизане
tab_signup = Регистриране
password_pwned = Паролата, която сте избрали, е в <a target="_blank" rel="noopener noreferrer" href="%s">списък с откраднати пароли</a>, разкрити преди това при публични пробиви на данни. Моля, опитайте отново с различна парола.
confirmation_mail_sent_prompt = Ново ел. писмо за потвърждение е изпратено до <b>%s</b>. За да завършите процеса на регистрация, моля, проверете входящата си кутия и последвайте предоставената връзка в рамките на следващите %s. Ако адресът за ел. поща е неправилен, можете да влезете и да поискате друго ел. писмо за потвърждение да бъде изпратено на различен адрес.
hint_login = Вече имате акаунт? <a href="%s">Влезте!</a>
hint_register = Нуждаете се от акаунт? <a href="%s">Регистрирайте се.</a>
sign_up_button = Регистрирайте се.
back_to_sign_in = Назад към Вход
sign_in_openid = Продължаване с OpenID
send_reset_mail = Изпращане на ел. писмо за възстановяване
[aria]
footer.software = Относно този софтуер
@ -1534,11 +1602,11 @@ footer = Долен колонтитул
install = Лесен за инсталиране
lightweight = Лек
license = Отворен код
install_desc = Просто <a target="_blank" rel="noopener noreferrer" href="%[1]s">стартирайте двоичния файл</a> за вашата платформа, използвайте <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, или го получете <a target="_blank" rel="noopener noreferrer" href="%[3]s">пакетирано</a>.
install_desc = Просто <a target="_blank" rel="noopener noreferrer" href="%[1]s">стартирайте двоичния файл</a> за вашата платформа, използвайте <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, или го получете <a target="_blank" rel="noopener noreferrer" href="%[3]s">пакетиран</a>.
app_desc = Безпроблемна Git услуга със самостоятелен хостинг
platform = Междуплатформен
lightweight_desc = Forgejo има ниски минимални изисквания и може да работи на икономичен Raspberry Pi. Спестете енергията на вашата машина!
platform_desc = Forgejo работи навсякъде, където <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> може да се компилира: Windows, macOS, Linux, ARM, и т.н. Изберете, което харесвате!
platform_desc = Forgejo работи на свободни операционни системи като Linux и FreeBSD, както и на различни CPU архитектури. Изберете тази, която предпочитате!
license_desc = Вземете <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>! Присъединете се към нас, <a target="_blank" rel="noopener noreferrer" href="%[2]s">допринасяйки</a>, за да направите този проект още по-добър. Не се колебайте да сътрудничите!
[notification]
@ -1582,7 +1650,7 @@ actions = Действия
variables.none = Все още няма променливи.
variables.creation.failed = Неуспешно добавяне на променлива.
variables.update.failed = Неуспешно редактиране на променлива.
variables.creation.success = Променливата "%s" е добавена.
variables.creation.success = Променливата „%s“ е добавена.
variables.deletion.success = Променливата е премахната.
variables.edit = Редактиране на променливата
variables.deletion = Премахване на променливата
@ -1622,6 +1690,7 @@ contributors.what = приноси
recent_commits.what = скорошни подавания
component_loading = Зареждане на %s...
component_loading_info = Това може да отнеме известно време…
code_frequency.what = честота на промените
[projects]
type-1.display_name = Индивидуален проект
@ -1656,3 +1725,7 @@ gib = ГиБ
tib = ТиБ
pib = ПиБ
eib = ЕиБ
[translation_meta]
test = окей

View file

@ -33,7 +33,7 @@ password=Heslo
access_token=Přístupový token
re_type=Potvrzení hesla
captcha=CAPTCHA
twofa=Dvoufaktorové ověřová
twofa=Dvoufázové ověře
twofa_scratch=Dvoufaktorový kód
passcode=Přístupový kód
@ -434,7 +434,7 @@ non_local_account=Externě ověřovaní uživatelé nemohou změnit své heslo p
verify=Ověřit
scratch_code=Záložní kód
use_scratch_code=Použít záložní kód
twofa_scratch_used=Použili jste váš záložní kód. Byli jste přesměrování na stránku s nastavením dvoufaktorového ověřování, kde můžete odstranit registraci vašeho zařízení nebo vygenerovat nový záložní kód.
twofa_scratch_used=Použili jste svůj záložní kód. Byli jste přesměrování na stránku s nastavením dvoufázového ověření, kde můžete odstranit registraci vašeho zařízení nebo vygenerovat nový záložní kód.
twofa_passcode_incorrect=Vaše heslo je neplatné. Pokud jste ztratili vaše zařízení, použijte záložní kód k přihlášení.
twofa_scratch_token_incorrect=Váš záložní kód není správný.
login_userpass=Přihlásit se
@ -478,6 +478,7 @@ hint_register = Nemáte účet? <a href="%s">Zaregistrujte se nyní.</a>
sign_up_button = Zaregistrujte se nyní.
back_to_sign_in = Zpět na přihlášení
sign_in_openid = Pokračovat s OpenID
unauthorized_credentials = Údaje jsou nesprávné nebo vypršely. Opakujte svůj příkaz nebo se podívejte na %s pro více informací
[mail]
view_it_on=Zobrazit na %s
@ -622,7 +623,7 @@ repository_files_already_exist.adopt=Soubory pro tento repozitář již existuj
repository_files_already_exist.delete=Soubory pro tento repozitář již existují. Musíte je odstranit.
repository_files_already_exist.adopt_or_delete=Soubory pro tento repozitář již existují. Přijměte je, nebo je odstraňte.
visit_rate_limit=Dosaženo limitu rychlosti dotazů při vzdáleném přístupu.
2fa_auth_required=Vzdálený přístup vyžaduje dvoufaktorové ověřování.
2fa_auth_required=Vzdálený přístup vyžaduje dvoufázové ověření.
org_name_been_taken=Název organizace je již použit.
team_name_been_taken=Název týmu je již použit.
team_no_units_error=Povolit přístup alespoň do jedné sekce repozitáře.
@ -732,11 +733,11 @@ applications=Aplikace
orgs=Organizace
repos=Repozitáře
delete=Smazat účet
twofa=Dvoufaktorové ověřování (TOTP)
twofa=Dvoufázové ověření (TOTP)
account_link=Propojené účty
organization=Organizace
uid=UID
webauthn=Dvoufaktorové ověřování (bezpečnostní klíče)
webauthn=Dvoufázové ověření (bezpečnostní klíče)
public_profile=Veřejný profil
biography_placeholder=Řekněte nám něco o sobě! (Můžete použít Markdown)
@ -806,7 +807,7 @@ manage_emails=Správa e-mailových adres
manage_themes=Výchozí motiv
manage_openid=Adresy OpenID
email_desc=Vaše hlavní e-mailová adresa bude použita pro oznámení, obnovení hesla, a pokud není skrytá, pro operace Gitu.
theme_desc=Toto bude váš výchozí motiv vzhledu napříč stránkou.
theme_desc=Toto bude váš výchozí motiv vzhledu na tomto webu.
primary=Hlavní
activated=Aktivován
requires_activation=Vyžaduje aktivaci
@ -842,8 +843,8 @@ add_key=Přidat klíč
ssh_desc=Tyto veřejné klíče SSH jsou propojeny s vaším účtem. Odpovídající soukromé klíče umožní plný přístup k vašim repozitářům. Klíče SSH, které byly ověřeny, mohou být použity pro ověření Git commitů podepsaných přes SSH.
principal_desc=Tyto SSH Principal certifikáty jsou přidruženy k vašemu účtu a umožňují plný přístup do vašich repozitářů.
gpg_desc=Tyto veřejné klíče GPG jsou propojeny s vaším účtem a používají se k ověření vašich commitů. Uložte je na bezpečné místo, jelikož umožňují podepsat commity vaší identitou.
ssh_helper=<strong>Potřebujete pomoct?</strong> Podívejte se do příručky GitHubu na to <a href="%s">vytvoření vlastních klíčů SSH</a> nebo vyřešte <a href="%s">běžné problémy</a>, se kterými se můžete potkat při použití SSH.
gpg_helper=<strong>Potřebujete pomoct?</strong> Podívejte se do příručky GitHubu <a href="%s">o GPG</a>.
ssh_helper=<strong>Potřebujete pomoct?</strong> Podívejte se do příručky, jak <a href="%s">vytvořit vlastní klíče SSH</a> nebo vyřešte <a href="%s">běžné problémy</a>, se kterými se můžete potkat při použití SSH.
gpg_helper=<strong>Potřebujete pomoct?</strong> Podívejte se do příručky <a href="%s">o GPG</a>.
add_new_key=Přidat klíč SSH
add_new_gpg_key=Přidat klíč GPG
key_content_ssh_placeholder=Začíná s „ssh-ed25519“, „ssh-rsa“, „ecdsa-sha2-nistp256“, „ecdsa-sha2-nistp384“, „ecdsa-sha2-nistp521“, „sk-ecdsa-sha2-nistp256@openssh.com“ nebo „sk-ssh-ed25519@openssh.com“
@ -898,7 +899,7 @@ ssh_principal_deletion_success=SSH Principal certifikát byl odstraněn.
added_on=Přidáno %s
valid_until_date=Platné do %s
valid_forever=Platné navždy
last_used=Naposledy použito dne
last_used=Naposledy použito
no_activity=Žádná aktuální aktivita
can_read_info=Čtení
can_write_info=Zápis
@ -928,17 +929,17 @@ access_token_deletion_cancel_action=Zrušit
access_token_deletion_confirm_action=Smazat
access_token_deletion_desc=Smazání tokenu zruší přístup k vašemu účtu pro aplikace, které jej používají. Tuto akci nelze vrátit. Pokračovat?
delete_token_success=Token byl odstraněn. Aplikace, které jej používají již nemají přístup k vašemu účtu.
repo_and_org_access=Repozitář a přístup organizace
permissions_public_only=Pouze veřejnost
repo_and_org_access=Přístup k repozitářům a organizacím
permissions_public_only=Pouze veřejné
permissions_access_all=Vše (veřejné, soukromé a omezené)
select_permissions=Vyberte oprávnění
permission_no_access=Bez přístupu
permission_read=Přečtené
permission_no_access=Žádný přístup
permission_read=Čtení
permission_write=Čtení a zápis
at_least_one_permission=Musíte vybrat alespoň jedno oprávnění pro vytvoření tokenu
permissions_list=Oprávnění:
manage_oauth2_applications=Spravovat aplikace OAuth2
manage_oauth2_applications=Správa aplikací OAuth2
edit_oauth2_application=Upravit OAuth2 aplikaci
oauth2_applications_desc=OAuth2 aplikace umožní aplikacím třetích stran bezpečně ověřit uživatele v této instanci Forgejo.
remove_oauth2_application=Odstranit OAuth2 aplikaci
@ -949,8 +950,8 @@ create_oauth2_application_button=Vytvořit aplikaci
create_oauth2_application_success=Úspěšně jste vytvořili novou OAuth2 aplikaci.
update_oauth2_application_success=Úspěšně jste aktualizovali OAuth2 aplikaci.
oauth2_application_name=Název aplikace
oauth2_confidential_client=Důvěrný klient. Zvolte jej pro aplikace, které ukládají soubor secret, například webové aplikace. Nevybírejte jej pro nativní aplikace včetně aplikací pro počítače a mobilní zařízení.
oauth2_redirect_uris=Přesměrování URI. Použijte nový řádek pro každou URI.
oauth2_confidential_client=Důvěrný klient. Vyberte pro aplikace, které udržují tajný klíč v bezpečí, například webové aplikace. Nevybírejte pro nativní aplikace včetně aplikací pro počítače a mobilní zařízení.
oauth2_redirect_uris=Přesměrování URI. Zadejte každou URI na vlastní řádek.
save_application=Uložit
oauth2_client_id=ID klienta
oauth2_client_secret=Tajný klíč klienta
@ -958,12 +959,12 @@ oauth2_regenerate_secret=Obnovit tajný klíč
oauth2_regenerate_secret_hint=Ztratili jste svůj tajný klíč?
oauth2_client_secret_hint=Tajný klíč se znovu nezobrazí po opuštění nebo obnovení této stránky. Ujistěte se, že jste si jej uložili.
oauth2_application_edit=Upravit
oauth2_application_create_description=OAuth2 aplikace poskytuje přístup aplikacím třetích stran k uživatelským účtům na této instanci.
oauth2_application_create_description=Aplikace OAuth2 poskytují přístup vašim aplikacím třetích stran k uživatelským účtům na této instanci.
oauth2_application_remove_description=Odebráním OAuth2 aplikace zabrání přístupu ověřeným uživatelům na této instanci. Pokračovat?
oauth2_application_locked=Gitea předregistruje některé OAuth2 aplikace při spuštění, pokud je to povoleno v konfiguraci. Aby se zabránilo neočekávanému chování, nelze je upravovat ani odstranit. Více informací naleznete v dokumentaci OAuth2.
authorized_oauth2_applications=Autorizovat aplikaci OAuth2
authorized_oauth2_applications_description=Úspěšně jste povolili přístup k vašemu osobnímu účtu této aplikaci třetí strany. Zrušte prosím přístup aplikacím, které již nejsou používány.
authorized_oauth2_applications=Autorizované aplikace OAuth2
authorized_oauth2_applications_description=Těmto aplikacím třetích stran jste udělili přístup ke svému osobnímu účtu Forgejo. Zrušte prosím přístup aplikacím, které již nejsou používány.
revoke_key=Zrušit
revoke_oauth2_grant=Zrušit přístup
revoke_oauth2_grant_description=Zrušením přístupu této aplikaci třetí strany ji zabráníte v přístupu k vašim datům. Jste si jisti?
@ -971,24 +972,24 @@ revoke_oauth2_grant_success=Přístup byl úspěšně zrušen.
twofa_desc=Dvoufaktorový způsob ověřování zvýší zabezpečení vašeho účtu.
twofa_recovery_tip=Pokud ztratíte své zařízení, budete moci použít jednorázový obnovovací klíč k získání přístupu k vašemu účtu.
twofa_is_enrolled=Váš účet aktuálně <strong>používá</strong> dvoufaktorové ověřování.
twofa_not_enrolled=Váš účet aktuálně nepoužívá dvoufaktorové ověřování.
twofa_disable=Zakázat dvoufaktorové ověřová
twofa_is_enrolled=Váš účet aktuálně <strong>používá</strong> dvoufázové ověření.
twofa_not_enrolled=Váš účet aktuálně nepoužívá dvoufázové ověření.
twofa_disable=Zakázat dvoufázové ověře
twofa_scratch_token_regenerate=Znovu vygenerovat jednorázový klíč pro obnovení
twofa_scratch_token_regenerated=Váš jednorázový klíč pro obnovení je nyní %s. Uložte jej na bezpečné místo, protože se znovu nezobrazí.
twofa_enroll=Povolit dvoufaktorové ověřová
twofa_disable_note=Dvoufaktorové ověřování můžete zakázat, když bude potřeba.
twofa_disable_desc=Zakážete-li dvoufaktorové ověřování, bude váš účet méně zabezpečený. Pokračovat?
twofa_enroll=Povolit dvoufázové ověře
twofa_disable_note=Dvoufázové ověření můžete v případě potřeby zakázat.
twofa_disable_desc=Zakázáním dvoufázového ověření bude váš účet méně bezpečný. Pokračovat?
regenerate_scratch_token_desc=Pokud jste ztratili svůj klíč pro obnovení nebo jste jej již použili k přihlášení, můžete jej resetovat zde.
twofa_disabled=Dvoufaktorové ověřování bylo zakázáno.
twofa_disabled=Dvoufázové ověření bylo zakázáno.
scan_this_image=Naskenujte tento obrázek s vaší ověřovací aplikací:
or_enter_secret=Nebo zadejte tajný kód: %s
then_enter_passcode=A zadejte přístupový kód zobrazený ve vaší aplikaci:
passcode_invalid=Přístupový kód není platný. Zkuste to znovu.
twofa_enrolled=Ve vašem účtu bylo povoleno dvoufaktorové ověřování. Uložte si jednorázový obnovovací klíč (%s) na bezpečné místo, jelikož již nebude znovu zobrazen.
twofa_enrolled=Ve vašem účtu bylo povoleno dvoufázové ověření. Uložte si jednorázový obnovovací klíč (%s) na bezpečné místo, jelikož již nebude znovu zobrazen.
twofa_failed_get_secret=Nepodařilo se získat tajemství.
webauthn_desc=Bezpečnostní klíče jsou hardwarová zařízení obsahující kryptografické klíče. Mohou být použity pro dvoufaktorové ověřování. Bezpečnostní klíče musí podporovat <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a> standard.
webauthn_desc=Bezpečnostní klíče jsou hardwarová zařízení obsahující kryptografické klíče. Mohou být použity pro dvoufázové ověření. Bezpečnostní klíče musí podporovat standard <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a>.
webauthn_register_key=Přidat bezpečnostní klíč
webauthn_nickname=Přezdívka
webauthn_delete_key=Odebrat bezpečnostní klíč
@ -997,7 +998,7 @@ webauthn_key_loss_warning=Pokud ztratíte své bezpečnostní klíče, ztratíte
webauthn_alternative_tip=Možná budete chtít nakonfigurovat další metodu ověřování.
manage_account_links=Propojené účty
manage_account_links_desc=Tyto externí účty jsou propojeny s vaším Forgejo účtem.
manage_account_links_desc=Tyto externí účty jsou propojeny s vaším účtem Forgejo.
account_links_not_available=K vašemu Forgejo účtu nejsou aktuálně připojené žádné externí účty.
link_account=Propojit účet
remove_account_link=Odstranit propojený účet
@ -1009,7 +1010,7 @@ hooks.desc=Přidat webhooky, které budou spouštěny pro <strong>všechny repoz
orgs_none=Nejste členem žádné organizace.
repos_none=Nevlastníte žádné repozitáře.
delete_account=Odstranit svůj účet
delete_account=Odstranit účet
delete_prompt=Tato operace natrvalo odstraní váš uživatelský účet. <strong>NELZE</strong> ji vrátit zpět.
delete_with_all_comments=Váš účet je mladší než %s. Pro zabránění fantomovým komentářům budou společně s ním odstraněny všechny komentáře u problémů a ŽS.
confirm_delete_account=Potvrdit odstranění
@ -1037,7 +1038,7 @@ access_token_desc = Oprávnění vybraného tokenu omezují autorizaci pouze na
blocked_users_none = Nemáte žádné zablokované uživatele.
blocked_since = Zablokován od %s
hints = Nápovědy
additional_repo_units_hint = Navrhnout povolení dalších jednotek úložiště
additional_repo_units_hint = Navrhnout povolení dalších jednotek repozitáře
update_hints = Aktualizovat nápovědy
update_hints_success = Nápovědy byly aktualizovány.
additional_repo_units_hint_description = Zobrazit tlačítko „Přidat další jednotky...“ u repozitářů, které nemají povolené všechny dostupné jednotky.
@ -1058,7 +1059,7 @@ repo_name_helper=Dobrý název repozitáře většinou používá krátká, zapa
repo_size=Velikost repozitáře
template=Šablona
template_select=Vyberte šablonu
template_helper=Z repozitáře vytvořit šablonu
template_helper=Nastavit repozitář jako šablonu
template_description=Šablony repozitářů umožňují uživatelům generovat nové repositáře se stejnou strukturou, soubory a volitelnými nastaveními.
visibility=Viditelnost
visibility_description=Pouze majitelé nebo členové organizace to budou moci vidět, pokud mají práva.
@ -1069,7 +1070,7 @@ clone_helper=Potřebujete pomoci s klonováním? Navštivte <a target="_blank" r
fork_repo=Fork repozitáře
fork_from=Fork z
already_forked=Již jsi rozštěpil %s
fork_to_different_account=Rozštěpit na jiný účet
fork_to_different_account=Vytvořit fork na jiném účtu
fork_visibility_helper=Viditelnost rozštěpeného repozitáře nemůže být změněna.
fork_branch=Větev, která má být klonována pro fork
all_branches=Všechny větve
@ -1165,7 +1166,7 @@ template.items=Položky šablony
template.git_content=Obsah Gitu (výchozí větev)
template.git_hooks=Git hooks
template.git_hooks_tooltip=Momentálně nemůžete po přidání upravovat nebo odebírat Git hooky. Vyberte pouze v případě, že důvěřujete šabloně repozitáře.
template.webhooks=Webové háčky
template.webhooks=Webhooky
template.topics=Témata
template.avatar=Avatar
template.issue_labels=Štítky problémů
@ -1238,7 +1239,7 @@ migrate.cancel_migrating_confirm=Chcete zrušit tuto migraci?
mirror_from=zrcadlo
forked_from=rozštěpen z
generated_from=generováno z
fork_from_self=Nemůžete rozštěpit váš vlastní repozitář.
fork_from_self=Nemůžete vytvořit fork vašeho vlastního repozitáře.
fork_guest_user=Přihlaste se pro vytvoření forku tohoto repozitáře.
watch_guest_user=Pro sledování tohoto repozitáře se přihlaste.
star_guest_user=Pro hodnocení tohoto repozitáře se přihlaste.
@ -1246,7 +1247,7 @@ unwatch=Přestat sledovat
watch=Sledovat
unstar=Oblíbené
star=Oblíbit
fork=Rozštěpit
fork=Fork
download_archive=Stáhnout repozitář
more_operations=Další operace
@ -1337,7 +1338,7 @@ editor.cannot_edit_non_text_files=Binární soubory nemohou být upravovány př
editor.edit_this_file=Upravit soubor
editor.this_file_locked=Soubor je uzamčen
editor.must_be_on_a_branch=Musíte mít zvolenu větev pro úpravu či návrh změn tohoto souboru.
editor.fork_before_edit=Musíte rozštěpit tento repozitář pro vytvoření nebo navržení změny tohoto souboru.
editor.fork_before_edit=Pro vytvoření nebo navržení změn v tomto souboru musíte vytvořit fork tohoto repozitáře.
editor.delete_this_file=Odstranit soubor
editor.must_have_write_access=Musíte mít přístup pro zápis pro dělání či navrhování změn tohoto souboru.
editor.file_delete_success=Soubor „%s“ byl odstraněn.
@ -1345,9 +1346,9 @@ editor.name_your_file=Pojmenujte váš soubor…
editor.filename_help=Přidejte adresář zapsáním jeho jména následovaného lomítkem („/“). Adresář odeberete stiskem backspace na začátku vstupního pole.
editor.or=nebo
editor.cancel_lower=Zrušit
editor.commit_signed_changes=Commitnout podepsané změny
editor.commit_changes=Commitnout změny
editor.add_tmpl=Přidat „<nazevsouboru>“
editor.commit_signed_changes=Odeslat podepsané změny
editor.commit_changes=Odeslat změny
editor.add_tmpl=Přidán „<filename>“
editor.add=Přidat %s
editor.update=Aktualizovat %s
editor.delete=Odstranit %s
@ -1357,7 +1358,7 @@ editor.fail_to_apply_patch=Nelze použít záplatu „%s“
editor.new_patch=Nová záplata
editor.commit_message_desc=Přidat volitelný rozšířený popis…
editor.signoff_desc=Přidat Signed-off-by podpis přispěvatele na konec zprávy o commitu.
editor.commit_directly_to_this_branch=Odevzdat přímo do větve <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Odeslat přímo do větve <strong class="branch-name">%s</strong>.
editor.create_new_branch=Vytvořit <strong>novou větev</strong> pro tento commit a vytvořit žádost o sloučení.
editor.create_new_branch_np=Vytvořte <strong>novou větev</strong> z tohoto commitu.
editor.propose_file_change=Navrhnout změnu souboru
@ -1375,8 +1376,8 @@ editor.file_editing_no_longer_exists=Upravovaný soubor „%s“ již není sou
editor.file_deleting_no_longer_exists=Odstraňovaný soubor „%s“ již není součástí tohoto repozitáře.
editor.file_changed_while_editing=Obsah souboru se od zahájení úprav změnil. <a target="_blank" rel="noopener noreferrer" href="%s">Klikněte sem</a> pro jejich zobrazení nebo <strong>proveďte commit změn ještě jednou</strong> pro jejich přepsání.
editor.file_already_exists=Soubor „%s“ již existuje v tomto repozitáři.
editor.commit_empty_file_header=Odevzdat prázdný soubor
editor.commit_empty_file_text=Soubor, který se chystáte odevzdat, je prázdný. Pokračovat?
editor.commit_empty_file_header=Odeslat prázdný soubor
editor.commit_empty_file_text=Soubor, který se chystáte odeslat, je prázdný. Pokračovat?
editor.no_changes_to_show=Žádné změny k zobrazení.
editor.fail_to_update_file=Nepodařilo se aktualizovat/vytvořit soubor „%s“.
editor.fail_to_update_file_summary=Chybová zpráva:
@ -1386,9 +1387,9 @@ editor.push_rejected_summary=Úplná zpráva o zamítnutí:
editor.add_subdir=Přidat adresář…
editor.unable_to_upload_files=Nepodařilo se nahrát soubory do „%s“. Chyba: %v
editor.upload_file_is_locked=Soubor „%s“ je uzamčen uživatelem %s.
editor.upload_files_to_dir=Nahrát soubory do „%s“
editor.upload_files_to_dir=Nahrány soubory do „%s“
editor.cannot_commit_to_protected_branch=Nelze vytvořit commit v chráněné větvi „%s“.
editor.no_commit_to_branch=Nelze odevzdat přímo do větve, protože:
editor.no_commit_to_branch=Nepodařilo se odeslat přímo do větve:
editor.user_no_push_to_branch=Uživatel nemůže nahrávat do větve
editor.require_signed_commit=Větev vyžaduje podepsaný commit
editor.cherry_pick=Cherry-pick %s na:
@ -1427,7 +1428,7 @@ commitstatus.failure=Chyba
commitstatus.pending=Čekající
commitstatus.success=Úspěch
ext_issues=Přístup k externím problémům
ext_issues=Externí problémy
ext_issues.desc=Odkaz na externí systém problémů.
projects=Projekty
@ -1608,9 +1609,9 @@ issues.no_content=K dispozici není žádný popis.
issues.close=Zavřít problém
issues.comment_pull_merged_at=sloučený commit %[1]s do %[2]s %[3]s
issues.comment_manually_pull_merged_at=ručně sloučený commit %[1]s do %[2]s %[3]s
issues.close_comment_issue=Okomentovat a zavřít
issues.close_comment_issue=Zavřít s komentářem
issues.reopen_issue=Znovu otevřít
issues.reopen_comment_issue=Okomentovat a znovu otevřít
issues.reopen_comment_issue=Znovu otevřít s komentářem
issues.create_comment=Okomentovat
issues.closed_at=`uzavřel/a tento problém <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`znovu otevřel/a tento problém <a id="%[1]s" href="#%[1]s">%[2]s</a>`
@ -1909,7 +1910,7 @@ pulls.has_merged=Chyba: žádost byla sloučena, nelze ji znovu sloučit nebo zm
pulls.push_rejected=Push selhal: nahrání bylo zamítnuto. Zkontrolujte Git hooky pro tento repozitář.
pulls.push_rejected_summary=Úplná zpráva o zamítnutí
pulls.push_rejected_no_message=Push selhal: nahrání bylo odmítnuto, ale nebyla nalezena žádná vzdálená zpráva. Zkontrolujte Git hooky pro tento repozitář
pulls.open_unmerged_pull_exists=`Nemůžete provést operaci znovuotevření protože je tu čekající požadavek na natažení (#%d) s identickými vlastnostmi.`
pulls.open_unmerged_pull_exists=`Nemůžete provést operaci opětovného otevření, protože máte čekající žádost o sloučení (#%d) s identickými vlastnostmi.`
pulls.status_checking=Některé kontroly jsou nedořešeny
pulls.status_checks_success=Všechny kontroly byly úspěšné
pulls.status_checks_warning=Některé kontroly nahlásily varování
@ -1925,8 +1926,8 @@ pulls.update_branch_success=Aktualizace větve byla úspěšná
pulls.update_not_allowed=Nemáte oprávnění aktualizovat větev
pulls.outdated_with_base_branch=Tato větev je zastaralá oproti základní větvi
pulls.close=Zavřít žádost o sloučení
pulls.closed_at=`uzavřel/a tento požadavek na natažení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`znovuotevřel/a tento požadavek na natažení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at=`uzavřel/a tuto žádost o sloučení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`znovu otevřel/a tuto žádost o sloučení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.cmd_instruction_hint=Zobrazit instrukce příkazové řádky
pulls.cmd_instruction_checkout_desc=Z vašeho repositáře projektu se podívejte na novou větev a vyzkoušejte změny.
pulls.cmd_instruction_merge_title=Sloučit
@ -1935,18 +1936,18 @@ pulls.clear_merge_message=Vymazat zprávu o sloučení
pulls.auto_merge_button_when_succeed=(Když kontroly uspějí)
pulls.auto_merge_when_succeed=Automaticky sloučit, když všechny kontroly uspějí
pulls.auto_merge_newly_scheduled=Požadavek na natažení byl naplánován na sloučení, jakmile všechny kontroly uspějí.
pulls.auto_merge_has_pending_schedule=%[1]s naplánoval/a tento požadavek na natažení pro automatické sloučení, když všechny kontroly uspějí v %[2]s.
pulls.auto_merge_newly_scheduled=Žádost o sloučení bude sloučena, jakmile budou všechny kontroly úspěšné.
pulls.auto_merge_has_pending_schedule=%[1]s naplánoval/a tuto žádost o sloučení na automatické sloučení, jakmile budou všechny kontroly úspěšné %[2]s.
pulls.auto_merge_cancel_schedule=Zrušit automatické sloučení
pulls.auto_merge_not_scheduled=Tento požadavek na natažení není naplánován na automatické sloučení.
pulls.auto_merge_canceled_schedule=Automatické sloučení bylo zrušeno pro tento požadavek na natažení.
pulls.auto_merge_not_scheduled=Tato žádost o sloučení nebude automaticky sloučena.
pulls.auto_merge_canceled_schedule=Automatické sloučení bylo u této žádosti o sloučení zrušeno.
pulls.auto_merge_newly_scheduled_comment=`požadavek na automatické sloučení tohoto požadavku na natažení je naplánován, když všechny kontroly uspějí %[1]s`
pulls.auto_merge_canceled_schedule_comment=`zrušil/a automatické sloučení tohoto požadavku na natažení, když všechny kontroly uspějí %[1]s`
pulls.auto_merge_newly_scheduled_comment=`naplánoval/a tuto žádost o sloučení na automatické sloučení, jakmile budou všechny kontroly úspěšné %[1]s`
pulls.auto_merge_canceled_schedule_comment=`zrušil/a automatické sloučení této žádosti o sloučení, jakmile budou všechny kontroly úspěšné %[1]s`
pulls.delete.title=Odstranit tento požadavek na natažení?
pulls.delete.text=Opravdu chcete tento požadavek na natažení smazat? (Tím se trvale odstraní veškerý obsah. Pokud jej hodláte archivovat, zvažte raději jeho uzavření.)
pulls.delete.title=Odstranit tuto žádost o sloučení?
pulls.delete.text=Opravdu chcete odstranit tuto žádost o sloučení? (Tímto trvale odstraníte všechen obsah. Pokud jej chcete archivovat, zvažte raději jeho uzavření)
pull.deleted_branch=(odstraněno):%s
@ -1987,15 +1988,15 @@ signing.wont_sign.nokey=Tato instance nemá žádný klíč k podepsání tohoto
signing.wont_sign.never=Commity nejsou nikdy podepsány.
signing.wont_sign.always=Commity jsou vždy podepsány.
signing.wont_sign.pubkey=Commit nebude podepsán, protože nemáte veřejný klíč spojený s vaším účtem.
signing.wont_sign.twofa=Pro podepsání commitů musíte mít povoleno dvoufaktorové ověření.
signing.wont_sign.twofa=Pro podepisování commitů musíte mít zapnuto dvoufázové ověření.
signing.wont_sign.parentsigned=Commit nebude podepsán, protože nadřazený commit není podepsán.
signing.wont_sign.basesigned=Sloučení nebude podepsáno, protože základní commit není podepsaný.
signing.wont_sign.headsigned=Sloučení nebude podepsáno, protože hlavní revize není podepsána.
signing.wont_sign.commitssigned=Sloučení nebude podepsáno, protože všechny přidružené revize nejsou podepsány.
signing.wont_sign.approved=Sloučení nebude podepsáno, protože požadavek na natažení není schválen.
signing.wont_sign.approved=Sloučení nebude podepsáno, protože žádost o sloučení není schválena.
signing.wont_sign.not_signed_in=Nejste přihlášeni.
ext_wiki=Přístup k externí Wiki
ext_wiki=Externí wiki
ext_wiki.desc=Odkaz do externí Wiki.
wiki=Wiki
@ -2114,7 +2115,7 @@ settings.collaboration.write=Zápis
settings.collaboration.read=Čtení
settings.collaboration.owner=Vlastník
settings.collaboration.undefined=Neurčeno
settings.hooks=Webové háčky
settings.hooks=Webhooky
settings.githooks=Git hooky
settings.basic_settings=Základní nastavení
settings.mirror_settings=Nastavení zrcadla
@ -2125,7 +2126,7 @@ settings.mirror_settings.docs.no_new_mirrors=Váš repozitář zrcadlí změny d
settings.mirror_settings.docs.can_still_use=I když nemůžete upravit stávající zrcadla nebo vytvořit nová, stále můžete použít své stávající zrcadlo.
settings.mirror_settings.docs.more_information_if_disabled=Více informací o zrcadlech pro nahrání a natažení naleznete zde:
settings.mirror_settings.docs.doc_link_title=Jak mohu zrcadlit repozitáře?
settings.mirror_settings.docs.pulling_remote_title=Stažení ze vzdáleného úložiště
settings.mirror_settings.docs.pulling_remote_title=Stahování ze vzdáleného repozitáře
settings.mirror_settings.mirrored_repository=Zrcadlený repozitář
settings.mirror_settings.direction=Směr
settings.mirror_settings.direction.pull=Natáhnout
@ -2264,23 +2265,23 @@ settings.delete_team_tip=Tento tým má přístup ke všem repositářům a nem
settings.remove_team_success=Přístup týmu k repozitáři byl odstraněn.
settings.add_webhook=Přidat webhook
settings.add_webhook.invalid_channel_name=Kanál webového háčku nemůže být prázdný a nemůže obsahovat pouze znak #.
settings.hooks_desc=Webové háčky automaticky vytvářejí dotazy HTTP POST na server, když nastane určitá událost v Forgejo. Čtěte více v <a target="_blank" rel="noopener noreferrer" href="%s">příručce webových háčků</a>.
settings.hooks_desc=Webhooky automaticky vytvářejí dotazy HTTP POST na server, když nastane určitá událost ve Forgejo. Více informací v <a target="_blank" rel="noopener noreferrer" href="%s">příručce webhooků</a>.
settings.webhook_deletion=Odstranit webhook
settings.webhook_deletion_desc=Odstranění webového háčku smaže jeho nastavení a historii doručení. Pokračovat?
settings.webhook_deletion_success=Webový háček byl smazán.
settings.webhook_deletion_success=Webhook byl smazán.
settings.webhook.test_delivery=Test doručitelnosti
settings.webhook.test_delivery_desc=Vyzkoušet tento webový háček pomocí falešné události.
settings.webhook.test_delivery_desc_disabled=Chcete-li tento webový háček otestovat s falešnou událostí, aktivujte ho.
settings.webhook.test_delivery_desc=Otestovat tento webhook pomocí falešné události.
settings.webhook.test_delivery_desc_disabled=Chcete-li pomocí falešné události otestovat tento webhook, aktivujte ho.
settings.webhook.request=Požadavek
settings.webhook.response=Odpověď
settings.webhook.headers=Hlavičky
settings.webhook.payload=Obsah
settings.webhook.body=Tělo zprávy
settings.webhook.replay.description=Zopakovat tento webový háček.
settings.webhook.replay.description_disabled=Chcete-li znovu spustit tento webový háček, aktivujte jej.
settings.webhook.replay.description=Zopakovat tento webhook.
settings.webhook.replay.description_disabled=Chcete-li zopakovat tento webhook, aktivujte jej.
settings.webhook.delivery.success=Událost byla přidána do fronty doručení. Může to trvat několik sekund, než se zobrazí v historii doručení.
settings.githooks_desc=Git hooks jsou spravovány samotným Gitem. Níže můžete upravit soubory hooků pro nastavení vlastních operací.
settings.githook_edit_desc=Je-li háček neaktivní, bude zobrazen vzorový obsah. Nebude-li zadán žádný obsah, háček bude vypnut.
settings.githook_edit_desc=Je-li webhook neaktivní, bude zobrazen vzorový obsah. Ponechte prázdné pro zakázání tohoto webhooku.
settings.githook_name=Název hooku
settings.githook_content=Obsah hooku
settings.update_githook=Upravit hook
@ -2303,7 +2304,7 @@ settings.event_create=Vytvořit
settings.event_create_desc=Větev nebo značka vytvořena.
settings.event_delete=Smazat
settings.event_delete_desc=Větev nebo značka smazána.
settings.event_fork=Rozštěpit
settings.event_fork=Fork
settings.event_fork_desc=Repozitář rozštěpen.
settings.event_wiki=Wiki
settings.event_wiki_desc=Wiki stránka vytvořena, přejmenována nebo smazána.
@ -2348,9 +2349,9 @@ settings.authorization_header=Autorizační hlavička
settings.authorization_header_desc=Pokud vyplněno, bude připojeno k požadavkům jako autorizační hlavička. Příklady: %s.
settings.active=Aktivní
settings.active_helper=Informace o spuštěných událostech budou odeslány na URL webového háčku.
settings.add_hook_success=Webový háček byl přidán.
settings.add_hook_success=Webhook byl přidán.
settings.update_webhook=Upravit webhook
settings.update_hook_success=Webový háček byl aktualizován.
settings.update_hook_success=Webhook byl aktualizován.
settings.delete_webhook=Odstranit webhook
settings.recent_deliveries=Nedávná doručení
settings.hook_type=Typ hooku
@ -2436,7 +2437,7 @@ settings.protect_branch_name_pattern=Vzor jména chráněné větve
settings.protect_branch_name_pattern_desc=Vzory názvů chráněných větví. Pro vzorovou syntaxi viz <a href="%s">dokumentace</a>. Příklady: main, release/**
settings.protect_patterns=Vzory
settings.protect_protected_file_patterns=Vzory chráněných souborů (oddělené středníkem „;“)
settings.protect_protected_file_patterns_desc=Chráněné soubory, které nemají povoleno být měněny přímo, i když uživatel má právo přidávat, upravovat nebo mazat soubory v této větvi. Více vzorů lze oddělit pomocí středníku („;“). Podívejte se na <a href="%s">github.com/gobwas/glob</a> dokumentaci pro syntaxi vzoru. Příklady: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc=Chráněné soubory, které nemají povoleno být měněny přímo, i když uživatel má právo přidávat, upravovat nebo mazat soubory v této větvi. Více vzorů lze oddělit pomocí středníku („;“). Podívejte se na dokumentaci <a href="%[1]s">%[2]s</a> pro syntaxi vzoru. Příklady: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Vzory nechráněných souborů (oddělené středníkem „;“)
settings.protect_unprotected_file_patterns_desc=Nechráněné soubory, které je možné měnit přímo, pokud má uživatel právo zápisu, čímž se obejde omezení push. Více vzorů lze oddělit pomocí středníku („;“). Podívejte se na <a href="%[1]s">%[2]s</a> dokumentaci pro syntaxi vzoru. Příklady: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Zapnout ochranu
@ -2582,7 +2583,7 @@ diff.hide_file_tree=Skrýt souborový strom
releases.desc=Sledování verzí projektu a souborů ke stažení.
release.releases=Vydání
release.detail=Podrobnosti vydání
release.detail=Podrobnosti o vydání
release.tags=Značky
release.new_release=Nové vydání
release.draft=Koncept
@ -2727,7 +2728,7 @@ settings.pull_mirror_sync_in_progress = Probíhá načítání změn ze vzdálen
settings.enter_repo_name = Zadejte majitele a repozitář přesně tak, jak je vidíte níže:
settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning = Tuto akci lze v současné chvíli provést pouze v nabídce „Nová migrace“. Pro více informací viz:
settings.new_owner_blocked_doer = Nový majitel vás zablokoval.
settings.mirror_settings.pushed_repository = Pushnutý repozitář
settings.mirror_settings.pushed_repository = Odeslaný repozitář
settings.add_collaborator_blocked_our = Nepodařilo se přidat spolupracovníka, jelikož byl zablokován majitelem repozitáře.
pulls.commit_ref_at = `se odkázal na tuto žádost o sloučení z commitu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
settings.wiki_rename_branch_main = Normalizovat název větve Wiki
@ -2783,8 +2784,8 @@ settings.enforce_on_admins_desc = Správci repozitáře nemohou obejít toto pra
issues.num_participants_one = %d účastník
size_format = %[1]s: %[2]s, %[3]s: %[4]s
issues.archived_label_description = (Archivován) %s
release.download_count_one = %d stažení
release.download_count_few = %d stažení
release.download_count_one = %s stažení
release.download_count_few = %s stažení
release.system_generated = Tato příloha byla automaticky vygenerována.
settings.add_webhook.invalid_path = Cesta nesmí obsahovat část, která je „.“ nebo „..“ nebo prázdný řetězec. Nesmí začínat ani končit lomítkem.
settings.web_hook_name_sourcehut_builds = Sestavení SourceHut
@ -2841,6 +2842,8 @@ mirror_denied_combination = Nelze použít kombinaci ověřování pomocí veře
mirror_public_key = Veřejný klíč SSH
settings.mirror_settings.push_mirror.none_ssh = Žádné
mirror_use_ssh.not_available = Ověřování SSH není dostupné.
issues.new.assign_to_me = Přiřadit mně
issues.all_title = Vše
[graphs]
component_loading_info = Tohle může chvíli trvat…
@ -2885,7 +2888,7 @@ settings.email=Kontaktní e-mail
settings.website=Webové stránky
settings.location=Umístění
settings.permission=Oprávnění
settings.repoadminchangeteam=Správce úložišť může týmům přidávat a odebírat přístup
settings.repoadminchangeteam=Správce repozitářů může týmům přidávat a odebírat přístup
settings.visibility=Viditelnost
settings.visibility.public=Veřejná
settings.visibility.limited=Omezená (viditelné pouze pro ověřené uživatele)
@ -2904,7 +2907,7 @@ settings.delete_prompt=Organizace bude trvale odstraněna. Tato změna <strong>N
settings.confirm_delete_account=Potvrdit odstranění
settings.delete_org_title=Odstranit organizaci
settings.delete_org_desc=Tato organizace bude trvale smazána. Pokračovat?
settings.hooks_desc=Přidat webové háčky, které budou spouštěny pro <strong>všechny repozitáře</strong> v této organizaci.
settings.hooks_desc=Přidat webhooky, které budou spouštěny pro <strong>všechny repozitáře</strong> v této organizaci.
settings.labels_desc=Přidejte štítky, které mohou být použity pro problémy <strong>všech repozitářů</strong> v rámci této organizace.
@ -2983,7 +2986,7 @@ identity_access=Identita a přístup
users=Uživatelské účty
organizations=Organizace
repositories=Repozitáře
hooks=Webové háčky
hooks=Webhooky
integrations=Integrace
authentication=Zdroje ověření
emails=Uživatelské e-maily
@ -3183,12 +3186,12 @@ packages.size=Velikost
packages.published=Publikováno
defaulthooks=Výchozí webhooky
defaulthooks.add_webhook=Přidat výchozí webový háček
defaulthooks.update_webhook=Aktualizovat výchozí webový háček
defaulthooks.add_webhook=Přidat výchozí webhook
defaulthooks.update_webhook=Aktualizovat výchozí webhook
systemhooks=Systémové webhooky
systemhooks.add_webhook=Přidat systémový webový háček
systemhooks.update_webhook=Aktualizovat systémový webový háček
systemhooks.add_webhook=Přidat systémový webhook
systemhooks.update_webhook=Aktualizovat systémový webhook
auths.auth_manage_panel=Správa zdrojů ověřování
auths.new=Přidat zdroj ověřování
@ -3636,7 +3639,7 @@ error.unit_not_allowed=Nejste oprávněni přistupovat k této části repozitá
[packages]
title=Balíčky
desc=Správa balíčků repozitáře.
empty=Zatím nejsou žádné balíčky.
empty=Zatím zde nejsou žádné balíčky.
empty.documentation=Další informace o registru balíčků naleznete v <a target="_blank" rel="noopener noreferrer" href="%s">dokumentaci</a>.
empty.repo=Nahráli jste balíček, ale nezobrazil se zde? Přejděte na <a href="%[1]s">nastavení balíčku</a> a propojte jej s tímto repozitářem.
registry.documentation=Další informace o registru %s naleznete v <a target="_blank" rel="noopener noreferrer" href="%s">dokumentaci</a>.
@ -3754,7 +3757,7 @@ settings.delete.success=Balíček byl odstraněn.
settings.delete.error=Nepodařilo se odstranit balíček.
owner.settings.cargo.title=Index registru Cargo
owner.settings.cargo.initialize=Inicializovat index
owner.settings.cargo.initialize.description=Pro použití Cargo registru je zapotřebí speciální index Git. Použití této možnosti (znovu)vytvoří repozitář a automaticky jej nastaví.
owner.settings.cargo.initialize.description=Pro použití registru Cargo je zapotřebí speciální index Git. Použití této možnosti (znovu) vytvoří repozitář a automaticky jej nastaví.
owner.settings.cargo.initialize.error=Nepodařilo se inicializovat Cargo index: %v
owner.settings.cargo.initialize.success=Index Cargo byl úspěšně vytvořen.
owner.settings.cargo.rebuild=Znovu vytvořit index
@ -3822,7 +3825,7 @@ management=Správa tajných klíčů
[actions]
actions=Akce
unit.desc=Spravovat integrované pipeliny CI/CD pomocí funkce Forgejo Actions
unit.desc=Spravovat integrované pipeliny CI/CD pomocí funkce Forgejo Actions.
status.unknown=Neznámý
status.waiting=Čekání
@ -3893,7 +3896,7 @@ workflow.disabled=Pracovní postup je zakázán.
variables=Proměnné
variables.management=Správa proměnných
variables.creation=Přidat proměnnou
variables.none=Zatím nejsou žádné proměnné.
variables.none=Zatím zde nejsou žádné proměnné.
variables.deletion=Odstranit proměnnou
variables.deletion.description=Odstranění proměnné je trvalé a nelze jej vrátit zpět. Pokračovat?
variables.description=Proměnné budou předány určitým akcím a nelze je přečíst jinak.
@ -3970,6 +3973,8 @@ pull_kind = Hledat pully...
union = Sdružené
union_tooltip = Zahrnout výsledky, které odpovídají jakýmkoli slovům odděleným mezerami
milestone_kind = Hledat milníky...
regexp = RegExp
regexp_tooltip = Interpretovat hledaný výraz jako regulární výraz
[markup]
filepreview.lines = Řádky %[1]d až %[2]d v souboru %[3]s
@ -3987,4 +3992,24 @@ eib = EiB
[translation_meta]
test = diky vsem za pomoc :)
test = diky vsem za pomoc :)
[repo.permissions]
pulls.write = <b>Zapisovat:</b> Zavírat žádosti o sloučení a spravovat metadata jako štítky, milníky, zpracovatele, data dokončení a závislosti.
packages.write = <b>Zapisovat:</b> Zveřejňovat a mazat balíčky připojené k repozitáři.
projects.read = <b>Číst:</b> Přístup k projektovým nástěnkám repozitáře.
code.write = <b>Zapisovat:</b> Odesílat změny do repozitáře, vytvářet větve a značky.
issues.write = <b>Zapisovat:</b> Zavírat problémy a spravovat metadata jako štítky, milníky, zpracovatele, data dokončení a závislosti.
pulls.read = <b>Číst:</b> Číst a vytvářet žádosti o sloučení.
releases.read = <b>Číst:</b> Zobrazovat a stahovat vydání.
releases.write = <b>Zapisovat:</b> Zveřejňovat, upravovat a mazat vydání a jejich soubory.
wiki.read = <b>Číst:</b> Číst integrovanou wiki a její historii.
wiki.write = <b>Zapisovat:</b> Vytvářet, aktualizovat a mazat stránky v integrované wiki.
projects.write = <b>Zapisovat:</b> Vytvářet projekty a sloupce a upravovat je.
packages.read = <b>Číst:</b> Zobrazovat a stahovat balíčky připojené k repozitáři.
actions.read = <b>Číst:</b> Zobrazovat integrované pipeliny CI/CD a jejich protokoly.
actions.write = <b>Zapisovat:</b> Ručně spouštět, restartovat, rušit nebo schvalovat čekající pipeliny CI/CD.
ext_wiki = Přístup k odkazu v externí wiki. Oprávnění jsou spravována externě.
code.read = <b>Číst:</b> Přístup a klonování kódu v repozitáři.
issues.read = <b>Číst:</b> Číst a vytvářet problémy a komentáře.
ext_issues = Přístup k odkazu v externím sledovacím systému problémů. Oprávnění jsou spravována externě.

View file

@ -476,6 +476,7 @@ back_to_sign_in = Zurück zur Anmeldung
sign_in_openid = Mit OpenID fortfahren
hint_login = Hast du bereits ein Konto? <a href="%s">Jetzt anmelden!</a>
hint_register = Brauchst du ein Konto? <a href="%s">Jetzt registrieren.</a>
unauthorized_credentials = Die Zugangsdaten sind inkorrekt oder abgelaufen. Versuchen es erneut oder siehe %s für mehr Informationen
[mail]
view_it_on=Auf %s ansehen
@ -1420,7 +1421,7 @@ commitstatus.failure=Fehler
commitstatus.pending=Ausstehend
commitstatus.success=Erfolg
ext_issues=Zugriff auf Externe Issues
ext_issues=Externe Issues
ext_issues.desc=Link zu externem Issuetracker.
projects=Projekte
@ -1601,9 +1602,9 @@ issues.no_content=Keine Beschreibung angegeben.
issues.close=Issue schließen
issues.comment_pull_merged_at=hat Commit %[1]s in %[2]s %[3]s zusammengeführt
issues.comment_manually_pull_merged_at=hat Commit %[1]s in %[2]s %[3]s manuell zusammengeführt
issues.close_comment_issue=Kommentieren und schließen
issues.close_comment_issue=Mit Kommentar schließen
issues.reopen_issue=Wieder öffnen
issues.reopen_comment_issue=Kommentieren und wieder öffnen
issues.reopen_comment_issue=Mit Kommentar wieder öffnen
issues.create_comment=Kommentieren
issues.closed_at=`hat diesen Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> geschlossen`
issues.reopened_at=`hat dieses Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet`
@ -1984,7 +1985,7 @@ signing.wont_sign.commitssigned=Der Merge-Commit wird nicht signiert werden, da
signing.wont_sign.approved=Der Merge-Commit wird nicht signiert werden, da der Pull-Request nicht genehmigt wurde.
signing.wont_sign.not_signed_in=Du bist nicht eingeloggt.
ext_wiki=Zugriff auf externes Wiki
ext_wiki=Externes Wiki
ext_wiki.desc=Verweis auf externes Wiki.
wiki=Wiki
@ -2434,7 +2435,7 @@ settings.require_signed_commits_desc=Pushes auf diesen Branch ablehnen, wenn Com
settings.protect_branch_name_pattern=Muster für geschützte Branchnamen
settings.protect_patterns=Muster
settings.protect_protected_file_patterns=Geschützte Dateimuster (durch Semikolon „;“ getrennt)
settings.protect_protected_file_patterns_desc=Geschützte Dateien dürfen nicht direkt geändert werden, auch wenn der Benutzer Rechte hat, Dateien in diesem Branch hinzuzufügen, zu bearbeiten oder zu löschen. Mehrere Muster können mit Semikolon („;“) getrennt werden. Siehe <a href="%s">github.com/gobwas/glob</a> Dokumentation zur Mustersyntax. Beispiele: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc=Geschützte Dateien dürfen nicht direkt geändert werden, auch wenn der Benutzer Rechte hat, Dateien in diesem Branch hinzuzufügen, zu bearbeiten oder zu löschen. Mehrere Muster können mit Semikolon („;“) getrennt werden. Siehe <a href="%s">%s</a> Dokumentation zur Mustersyntax. Beispiele: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Ungeschützte Dateimuster (durch Semikolon „;“ getrennt)
settings.protect_unprotected_file_patterns_desc=Ungeschützte Dateien, die direkt geändert werden dürfen, wenn der Benutzer Schreibzugriff hat, können die Push-Beschränkung umgehen. Mehrere Muster können mit Semikolon („;“) getrennt werden. Siehe <a href="%[1]s">%[2]s</a> Dokumentation zur Mustersyntax. Beispiele: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Schutz aktivieren
@ -2826,6 +2827,8 @@ mirror_denied_combination = Authentifizierung mittels öffentlichem Schlüssel u
settings.mirror_settings.push_mirror.none_ssh = Nichts
settings.mirror_settings.push_mirror.copy_public_key = Öffentlichen Schlüssel kopieren
mirror_use_ssh.not_available = SSH-Authentifizierung ist nicht verfügbar.
issues.new.assign_to_me = Mir selbst zuweisen
issues.all_title = Alle
[graphs]
@ -3792,7 +3795,7 @@ management=Secrets verwalten
[actions]
actions=Actions
unit.desc=Integrierte CI/CD-Pipelines mit Forgejo-Actions verwalten
unit.desc=Integrierte CI/CD-Pipelines mit Forgejo-Actions verwalten.
status.unknown=Unbekannt
status.waiting=Wartend
@ -3947,6 +3950,8 @@ pull_kind = Pulls durchsuchen …
union = Vereinigungsmenge
union_tooltip = Ergebnisse, die auf ein beliebiges von den Whitespace getrennten Schlüsselwörtern passen, einbinden
milestone_kind = Meilensteine suchen …
regexp = RegExp
regexp_tooltip = Suchbegriff als regulären Ausdruck interpretieren
[markup]
filepreview.line = Zeile %[1]d in %[2]s
@ -3964,4 +3969,24 @@ eib = EiB
[translation_meta]
test = ok
test = ok
[repo.permissions]
code.write = <b>Schreiben:</b> In das Repository pushen, Branches und Tags erstellen.
code.read = <b>Lesen:</b> Zugriff auf das Repository und Klonen.
issues.read = <b>Lesen:</b> Issues und Kommentare lesen und erstellen.
issues.write = <b>Schreiben:</b> Issues schließen und Metadaten wie Labels, Meilensteine, Zuweisungen, Fälligkeitsdaten und Abhängigkeiten verwalten.
pulls.read = <b>Lesen:</b> Pull-Requests lesen und erstellen.
releases.read = <b>Lesen:</b> Releases ansehen und herunterladen.
releases.write = <b>Schreiben:</b> Releases und ihre Assets veröffentlichen, bearbeiten und löschen.
wiki.read = <b>Lesen:</b> Das integrierte Wiki und seine Historie lesen.
wiki.write = <b>Schreiben:</b> Seiten im integrierten Wiki erstellen, aktualisieren und löschen.
projects.read = <b>Lesen:</b> Zugriff auf Projektboards des Repositories.
projects.write = <b>Schreiben:</b> Projekte und Spalten erstellen und bearbeiten.
packages.read = <b>Lesen:</b> Pakete dieses Repositories betrachten und herunterladen.
packages.write = <b>Schreiben:</b> Pakete dieses Repositories veröffentlichen und löschen.
actions.read = <b>Lesen:</b> Integrierte CI/CD-Pipelines und ihre Logs betrachten.
actions.write = <b>Schreiben:</b> Ausstehende CI/CD-Pipelines manuell auslösen, neustarten, abbrechen oder genehmigen.
ext_issues = Zugriff auf den Link zu einem externen Issue-Tracker. Die Berechtigungen werden extern verwaltet.
ext_wiki = Zugriff auf den Link zu einem externen Wiki. Die Berechtigungen werden extern verwaltet.
pulls.write = <b>Schreiben:</b> Pull-Requests schließen und Metadaten wie Labels, Meilensteine, Zuweisungen, Fälligkeitsdaten und Abhängigkeiten verwalten.

View file

@ -51,7 +51,7 @@ webauthn_error_empty=Πρέπει να ορίσετε ένα όνομα για
webauthn_error_timeout=Το χρονικό όριο έφτασε πριν το κλειδί να διαβαστεί. Παρακαλώ ανανεώστε τη σελίδα και προσπαθήστε ξανά.
webauthn_reload=Ανανέωση
repository=Αποθετήριο
repository=Repository
organization=Οργανισμός
mirror=Αντίγραφο
new_repo=Νέο αποθετήριο
@ -129,7 +129,7 @@ archived=Αρχειοθετήθηκε
concept_system_global=Γενικό
concept_user_individual=Ατομικό
concept_code_repository=Αποθετήριο
concept_code_repository=Repository
concept_user_organization=Οργανισμός
show_timestamps=Εμφάνιση χρονοσημάνσεων
@ -160,11 +160,11 @@ invalid_data = Τα δεδομένα δεν είναι έγκυρα: %v
test = Τεστ
copy_generic = Αντιγραφή στο πρόχειρο
error413 = Έχετε εξαντλήσει τους διαθέσιμους πόρους σας.
new_repo.link = Νέο αποθετήριο
new_repo.link = Νέο repository
new_migrate.link = Νέα μεταφορά
new_org.link = Νέος οργανισμός
new_migrate.title = Νέα μεταφορά
new_repo.title = Νέο αποθετήριο
new_repo.title = Νέο repository
new_org.title = Νέος οργανισμός
[aria]
@ -504,8 +504,8 @@ reset_password.text=Εφόσον το αίτημα δημιουργήθηκε α
register_success=Η εγγραφή ολοκληρώθηκε επιτυχώς
issue_assigned.pull=Ο/Η @%[1]s σας έχει αναθέσει στο pull request %[2]s στο αποθετήριο %[3]s.
issue_assigned.issue=Ο/Η @%[1]s σας ανέθεσε το ζήτημα %[2]s στο αποθετήριο %[3]s.
issue_assigned.pull=Ο/Η @%[1]s σας έχει αναθέσει στο pull request %[2]s στο repository %[3]s.
issue_assigned.issue=Ο/Η @%[1]s σας ανέθεσε το ζήτημα %[2]s στο repository %[3]s.
issue.x_mentioned_you=Ο/Η <b>@%s</b> σας ανέφερε:
issue.action.force_push=Ο/Η <b>%[1]s</b> έκανε force-push το <b>%[2]s</b> από %[3]s σε %[4]s.
@ -530,13 +530,13 @@ release.downloads=Λήψεις:
release.download.zip=Πηγαίος Κώδικας (ZIP)
release.download.targz=Πηγαίος Κώδικας (TAR.GZ)
repo.transfer.subject_to=Ο/Η %s θα ήθελε να μεταφέρει το αποθετήριο «%s» σε %s
repo.transfer.subject_to_you=Ο/Η %s θα ήθελε να σας μεταφέρει το αποθετήριο «%s»
repo.transfer.subject_to=Ο/Η %s θα ήθελε να μεταφέρει το repository «%s» στο %s
repo.transfer.subject_to_you=Ο/Η %s θα ήθελε να σας μεταφέρει το repository «%s»
repo.transfer.to_you=εσάς
repo.transfer.body=Για να αποδεχτείτε ή να απορρίψετε το αίτημα αυτό, επισκεφθείτε το %s ή απλά αγνοήστε το.
repo.collaborator.added.subject=Ο/Η %s σας πρόσθεσε στο %s ως συνεργάτη
repo.collaborator.added.text=Είστε πλέον συνεργάτης στο αποθετήριο:
repo.collaborator.added.text=Είστε πλέον συνεργάτης στο repository:
team_invite.subject=Ο/Η %[1]s σας προσκάλεσε να συμμετέχετε στον οργανισμό %[2]s
team_invite.text_1=Ο/Η %[1]s σας προσκάλεσε να συμμετέχετε στην ομάδα %[2]s του οργανισμού %[3]s.
@ -615,10 +615,10 @@ username_change_not_local_user=Δεν επιτρέπεται στους μη τ
username_has_not_been_changed=Το όνομα χρήστη δεν άλλαξε
repo_name_been_taken=Το όνομα του αποθετηρίου χρησιμοποιείται ήδη.
repository_force_private=Η επιλογή Μόνο Ιδιωτικά είναι ενεργοποιημένη: τα ιδιωτικά αποθετήρια δεν μπορούν να δημοσιευθούν.
repository_files_already_exist=Αρχεία υπάρχουν ήδη για αυτό το αποθετήριο. Επικοινωνήστε με το διαχειριστή του συστήματος.
repository_files_already_exist.adopt=Αρχεία υπάρχουν ήδη για αυτό το αποθετήριο και μπορούν να Υιοθετηθούν μόνο.
repository_files_already_exist.delete=Τα αρχεία υπάρχουν ήδη για αυτόν το αποθετήριο. Πρέπει να τα διαγράψετε.
repository_files_already_exist.adopt_or_delete=Τα αρχεία υπάρχουν ήδη για αυτόν το αποθετήριο. Είτε υιοθετήστε τα είτε διαγράψτε τα.
repository_files_already_exist=Αρχεία υπάρχουν ήδη για αυτό το repository. Επικοινωνήστε με το διαχειριστή του συστήματος.
repository_files_already_exist.adopt=Αρχεία υπάρχουν ήδη για αυτό το repository και μπορούν μόνο να υιοθετηθούν.
repository_files_already_exist.delete=Τα αρχεία υπάρχουν ήδη για αυτόν το repository. Πρέπει να τα διαγράψετε.
repository_files_already_exist.adopt_or_delete=Υπάρχουν ήδη τα αρχεία για αυτό το repository. Πρέπει να τα υιοθετήσετε ή να τα διαγράψετε.
visit_rate_limit=Συναντήθηκε το όριο ρυθμού κατά την απομακρυσμένη πρόσβαση.
2fa_auth_required=Απαιτήθηκε ταυτοποίηση δύο παραγόντων κατά την απομακρυσμένη πρόσβαση.
org_name_been_taken=Το όνομα του οργανισμού χρησιμοποιείται ήδη.
@ -925,7 +925,7 @@ access_token_deletion_cancel_action=Άκυρο
access_token_deletion_confirm_action=Διαγραφή
access_token_deletion_desc=Η διαγραφή ενός διακριτικού θα ανακαλέσει οριστικά την πρόσβαση στο λογαριασμό σας για εφαρμογές που το χρησιμοποιούν. Συνέχεια;
delete_token_success=Το διακριτικό έχει διαγραφεί. Οι εφαρμογές που το χρησιμοποιούν δεν έχουν πλέον πρόσβαση στο λογαριασμό σας.
repo_and_org_access=Πρόσβαση στο Αποθετήριο και Οργανισμό
repo_and_org_access=Πρόσβαση στο repository και οργανισμό
permissions_public_only=Δημόσια μόνο
permissions_access_all=Όλα (δημόσια, ιδιωτικά, και περιορισμένα)
select_permissions=Επιλογή δικαιωμάτων
@ -1005,7 +1005,7 @@ remove_account_link_success=Ο συνδεδεμένος λογαριασμός
hooks.desc=Προσθήκη webhooks που θα ενεργοποιούνται για <strong>όλα τα αποθετήρια</strong> που σας ανήκουν.
orgs_none=Δεν είστε μέλος σε κάποιο οργανισμό.
repos_none=Δεν σας ανήκει κανένα κάποιο αποθετήριο.
repos_none=Δεν υπάρχει κάποιο repository που σας ανήκει.
delete_account=Διαγραφή του λογαριασμού σας
delete_prompt=Αυτή η ενέργεια θα διαγράψει μόνιμα το λογαριασμό σας. <strong>ΔΕΝ ΘΑ ΜΠΟΡΕΙ</strong> να επανέλθει.
@ -1047,7 +1047,7 @@ language.localization_project = Βοηθήστε μας να μεταφράσο
language.description = Από εδώ και στο εξής, αυτή η γλώσσα θα χρησιμοποιείται από προεπιλογή για τον λογαριασμό σας.
[repo]
new_repo_helper=Ένα αποθετήριο περιέχει όλα τα αρχεία έργου, συμπεριλαμβανομένου του ιστορικού εκδόσεων. Ήδη φιλοξενείται αλλού; <a href="%s">Μετεγκατάσταση αποθετηρίου.</a>
new_repo_helper=Ένα repository περιέχει όλα τα αρχεία έργου, συμπεριλαμβανομένου του ιστορικού εκδόσεων. Έχετε ήδη ένα που φιλοξενείται κάπου αλλού; <a href="%s">Μεταφορά αποθετηρίου.</a>
owner=Ιδιοκτήτης
owner_helper=Ορισμένοι οργανισμοί ενδέχεται να μην εμφανίζονται στο αναπτυσσόμενο μενού λόγω του μέγιστου αριθμού αποθετηρίων.
repo_name=Όνομα αποθετηρίου
@ -1055,7 +1055,7 @@ repo_name_helper=Τα καλά ονόματα αποθετηρίων χρησι
repo_size=Μέγεθος Αποθετηρίου
template=Πρότυπο
template_select=Επιλέξτε ένα πρότυπο
template_helper=Μετατροπή σε πρότυπο αποθετήριο
template_helper=Μετατροπή σε πρότυπο repository
template_description=Τα πρότυπα αποθετήρια επιτρέπουν στους χρήστες να δημιουργήσουν νέα αποθετήρια με την ίδια δομή, αρχεία και προαιρετικές ρυθμίσεις.
visibility=Ορατότητα
visibility_description=Μόνο ο ιδιοκτήτης ή τα μέλη του οργανισμού εάν έχουν δικαιώματα, θα είναι σε θέση να το δουν.
@ -1070,7 +1070,7 @@ fork_to_different_account=Fork σε διαφορετικό λογαριασμό
fork_visibility_helper=Η ορατότητα ενός fork αποθετηρίου δεν μπορεί να αλλάξει.
fork_branch=Κλάδος που θα κλωνοποιηθεί στο fork
all_branches=Όλοι οι κλάδοι
fork_no_valid_owners=Αυτό το αποθετήριο δεν μπορεί να γίνει fork επειδή δεν υπάρχουν έγκυροι ιδιοκτήτες.
fork_no_valid_owners=Αυτό το repository δεν μπορεί να γίνει fork, επειδή δεν υπάρχουν έγκυροι ιδιοκτήτες.
use_template=Χρήση αυτού του πρότυπου
clone_in_vsc=Κλωνοποίηση στο VS Code
download_zip=Λήψη ZIP
@ -1120,7 +1120,7 @@ mirror_password_blank_placeholder=(Μη ορισμένο)
mirror_password_help=Αλλάξτε το όνομα χρήστη για να διαγράψετε έναν αποθηκευμένο κωδικό πρόσβασης.
watchers=Παρατηρητές
stargazers=Θαυμαστές
stars_remove_warning=Αυτό θα αφαιρέσει όλα τα αστέρια από αυτό το αποθετήριο.
stars_remove_warning=Αυτό θα αφαιρέσει όλα τα αστέρια από αυτό το repository.
forks=Forks
reactions_more=και %d περισσότερα
unit_disabled=Ο διαχειριστής του ιστότοπου έχει απενεργοποιήσει αυτήν την ενότητα αποθετηρίου.
@ -1129,7 +1129,7 @@ adopt_search=Εισάγετε όνομα χρήστη για αναζήτηση
adopt_preexisting_label=Υιοθέτηση αρχείων
adopt_preexisting=Υιοθετήστε τα προϋπάρχοντα αρχεία
adopt_preexisting_content=Δημιουργία αποθετηρίου από %s
adopt_preexisting_success=Υιοθετήθηκαν αρχεία και δημιουργήθηκε το αποθετήριο από %s
adopt_preexisting_success=Υιοθετήθηκαν αρχεία και δημιουργήθηκε το repository από %s
delete_preexisting_label=Διαγραφή
delete_preexisting=Διαγραφή αρχείων που προϋπήρχαν
delete_preexisting_content=Διαγραφή αρχείων στο %s
@ -1159,17 +1159,17 @@ desc.archived=Αρχειοθετημένο
template.items=Αντικείμενα προτύπου
template.git_content=Περιεχόμενο Git (Προεπιλεγμένος κλάδος)
template.git_hooks=Git hooks
template.git_hooks_tooltip=Δεν θα μπορέσετε να αφαιρέσετε ή να τροποποιήσετε τα Git hook αφού τα έχετε προσθέσει. Επιλέξτε την ρύθμιση αυτή μόνο αν εμπιστεύεστε το πρότυπο αποθετήριο.
template.git_hooks_tooltip=Δεν θα μπορέσετε να αφαιρέσετε ή να τροποποιήσετε τα Git hook αφού τα έχετε προσθέσει. Επιλέξτε την ρύθμιση αυτή μόνο αν εμπιστεύεστε το πρότυπο repository.
template.webhooks=Webhooks
template.topics=Θέματα
template.avatar=Εικόνα
template.issue_labels=Ταμπέλες ζητημάτων
template.one_item=Πρέπει να επιλέξετε τουλάχιστον ένα αντικείμενο στο πρότυπο
template.invalid=Πρέπει να επιλέξετε ένα πρότυπο αποθετήριο
template.invalid=Πρέπει να επιλέξετε ένα πρότυπο repository
archive.title=Αυτό το αποθετήρειο αρχειοθετήθηκε. Μπορείτε να προβάλετε αρχεία και να τα κλωνοποιήσετε, αλλά δεν μπορείτε να ωθήσετε ή να ανοίξετε ζητήματα ή pull requests.
archive.title_date=Αυτό το αποθετήριο έχει αρχειοθετηθεί στο %s. Μπορείτε να προβάλετε αρχεία και να κλωνοποιήσετε, αλλά δεν μπορείτε να ωθήσετε ή να ανοίξετε ζητήματα ή pull requests.
archive.issue.nocomment=Αυτό το αποθετήριο αρχειοθετήθηκε. Δεν μπορείτε να σχολιάσετε σε ζητήματα.
archive.title_date=Αυτό το repository αρχειοθετήθηκε στις %s. Μπορείτε να δείτε τα αρχεία του και να το κλωνοποιήσετε, αλλά δεν μπορείτε να κάνετε push, να ανοίξετε ζητήματα ή pull requests.
archive.issue.nocomment=Αυτό το repository έχει αρχειοθετηθεί. Δεν μπορείτε να σχολιάσετε σε ζητήματα.
archive.pull.nocomment=Αυτό το repo αρχειοθετήθηκε. Δεν μπορείτε να σχολιάσετε στα pull requests.
form.reach_limit_of_creation_1=Έχετε ήδη συμπληρώσει το όριο του %d αποθετηρίου.
@ -1180,7 +1180,7 @@ form.name_pattern_not_allowed=Το μοτίβο «%s» δεν επιτρέπετ
need_auth=Εξουσιοδότηση
migrate_options=Ρυθμίσεις μεταφοράς
migrate_service=Υπηρεσία Μεταφοράς
migrate_options_mirror_helper=Αυτό το αποθετήριο θα είναι είδωλο
migrate_options_mirror_helper=Αυτό το repository θα είναι είδωλο
migrate_options_lfs=Μεταφορά αρχείων LFS
migrate_options_lfs_endpoint.label=Άκρο LFS
migrate_options_lfs_endpoint.description=Η μεταφορά θα προσπαθήσει να χρησιμοποιήσει το Git remote για να <a target="_blank" rel="noopener noreferrer" href="%s">καθορίσει τον διακομιστή LFS</a>. Μπορείτε επίσης να καθορίσετε ένα δικό σας endpoint αν τα δεδομένα LFS του αποθετηρίου αποθηκεύονται κάπου αλλού.
@ -1233,10 +1233,10 @@ migrate.cancel_migrating_confirm=Θέλετε να ακυρώσετε αυτή
mirror_from=είδωλο του
forked_from=forked από
generated_from=παραγμένο από
fork_from_self=Δεν μπορείτε να κάνετε fork σε ένα αποθετήριο που κατέχετε.
fork_guest_user=Συνδεθείτε για να κάνετε fork αυτό το αποθετήριο.
watch_guest_user=Συνδεθείτε για να παρακολουθήσετε αυτό το αποθετήριο.
star_guest_user=Συνδεθείτε για να δώσετε ένα αστέρι σε αυτό το αποθετήριο.
fork_from_self=Δεν μπορείτε να κάνετε fork ένα repository που σας ανήκει.
fork_guest_user=Συνδεθείτε για να κάνετε fork αυτό το repository.
watch_guest_user=Συνδεθείτε για να παρακολουθήσετε αυτό το repository.
star_guest_user=Συνδεθείτε για να δώσετε ένα αστέρι σε αυτό το repository.
unwatch=Παύση ακολούθησης
watch=Παρακολούθηση
unstar=Αφαίρεση αστεριού
@ -1248,11 +1248,11 @@ more_operations=Περισσότερες λειτουργίες
no_desc=Χωρίς περιγραφή
quick_guide=Γρήγορος οδηγός
clone_this_repo=Κλωνοποίηση αυτού του αποθετηρίου
cite_this_repo=Αναφορά σε αυτό το αποθετήριο
cite_this_repo=Αναφορά σε αυτό το repository
create_new_repo_command=Δημιουργία νέου αποθετηρίου στη γραμμή εντολών
push_exist_repo=Προώθηση ενός υπάρχοντος αποθετηρίου από τη γραμμή εντολών
empty_message=Αυτό το αποθετήριο δεν έχει περιεχόμενο.
broken_message=Τα δεδομένα Git που διέπουν αυτό το αποθετήριο δεν μπορούν να διαβαστούν. Επικοινωνήστε με το διαχειριστή ή διαγράψτε αυτό το αποθετήριο.
empty_message=Αυτό το repository δεν έχει περιεχόμενο.
broken_message=Τα δεδομένα Git που διέπουν αυτό το αποθετήριο δεν μπορούν να διαβαστούν. Επικοινωνήστε με το διαχειριστή ή διαγράψτε αυτό το repository.
code=Κώδικας
code.desc=Πρόσβαση στον πηγαίο κώδικα, αρχεία, υποβολές και κλάδους.
@ -1330,7 +1330,7 @@ editor.cannot_edit_non_text_files=Τα δυαδικά αρχεία δεν μπο
editor.edit_this_file=Επεξεργασία αρχείου
editor.this_file_locked=Το αρχείο είναι κλειδωμένο
editor.must_be_on_a_branch=Πρέπει να βρίσκεστε σε έναν κλάδο για να κάνετε ή να προτείνετε αλλαγές σε αυτό το αρχείο.
editor.fork_before_edit=Πρέπει να κάνετε fork αυτό το αποθετήριο για να κάνετε ή να προτείνετε αλλαγές σε αυτό το αρχείο.
editor.fork_before_edit=Πρέπει να κάνετε fork αυτό το repository για να κάνετε ή να προτείνετε αλλαγές σε αυτό το αρχείο.
editor.delete_this_file=Διαγραφή αρχείου
editor.must_have_write_access=Πρέπει να έχετε πρόσβαση εγγραφής για να κάνετε ή να προτείνετε αλλαγές σε αυτό το αρχείο.
editor.file_delete_success=Το αρχείο «%s» έχει διαγραφεί.
@ -1359,15 +1359,15 @@ editor.new_branch_name_desc=Όνομα νέου κλάδου…
editor.cancel=Ακύρωση
editor.filename_cannot_be_empty=Το όνομα αρχείου δεν μπορεί να είναι κενό.
editor.filename_is_invalid=Το όνομα αρχείου δεν είναι έγκυρο: "%s".
editor.branch_does_not_exist=Ο κλάδος "%s" δεν υπάρχει σε αυτό το αποθετήριο.
editor.branch_already_exists=Ο κλάδος «%s» υπάρχει ήδη σε αυτό το αποθετήριο.
editor.directory_is_a_file=Το όνομα φακέλου «%s» χρησιμοποιείται ήδη ως όνομα αρχείου σε αυτό το αποθετήριο.
editor.branch_does_not_exist=Ο κλάδος "%s" δεν υπάρχει σε αυτό το repository.
editor.branch_already_exists=Ο κλάδος «%s» υπάρχει ήδη σε αυτό το repository.
editor.directory_is_a_file=Το όνομα φακέλου «%s» χρησιμοποιείται ήδη ως όνομα αρχείου σε αυτό το repository.
editor.file_is_a_symlink=`Το «%s» είναι συμβολικός σύνδεσμος. Οι συμβολικοί σύνδεσμοι δεν μπορούν να επεξεργαστούν στην ενσωματωμένη εφαρμογή`
editor.filename_is_a_directory=Το όνομα αρχείου «%s» χρησιμοποιείται ήδη ως όνομα φακέλου σε αυτό το αποθετήριο.
editor.file_editing_no_longer_exists=Το αρχείο «%s», το οποίο επεξεργάζεστε, δεν υπάρχει πλέον σε αυτό το αποθετήριο.
editor.file_deleting_no_longer_exists=Το αρχείο «%s», το οποίο διαγράφεται, δεν υπάρχει πλέον σε αυτό το αποθετήριο.
editor.filename_is_a_directory=Το όνομα αρχείου «%s» χρησιμοποιείται ήδη ως όνομα φακέλου σε αυτό το repository.
editor.file_editing_no_longer_exists=Το αρχείο «%s», το οποίο επεξεργάζεστε, δεν υπάρχει πλέον σε αυτό το repository.
editor.file_deleting_no_longer_exists=Το αρχείο «%s», το οποίο διαγράφεται, δεν υπάρχει πλέον σε αυτό το repository.
editor.file_changed_while_editing=Προέκυψαν κάποιες αλλαγές στα περιεχόμενα του αρχείου από τότε που ξεκινήσατε να τα επεξεργάζεστε. <a target="_blank" rel="noopener noreferrer" href="%s">Κάντε κλικ εδώ</a> για να τα δείτε ή <strong>ξανακάντε μία υποβολή των αλλαγών σας</strong> για να τις αντικαταστήσετε.
editor.file_already_exists=Υπάρχει ήδη ένα αρχείο με το όνομα «%s» σε αυτό το αποθετήριο.
editor.file_already_exists=Υπάρχει ήδη ένα αρχείο με το όνομα «%s» σε αυτό το repository.
editor.commit_empty_file_header=Υποβολή ενός κενού αρχείου
editor.commit_empty_file_text=Το αρχείο που πρόκειται να υποβληθεί είναι κενό. Συνέχεια;
editor.no_changes_to_show=Δεν υπάρχουν αλλαγές για εμφάνιση.
@ -1620,13 +1620,13 @@ issues.author_helper=Αυτός ο χρήστης είναι ο συγγραφέ
issues.role.owner=Ιδιοκτήτης
issues.role.owner_helper=Αυτός ο χρήστης είναι ο ιδιοκτήτης αυτού του αποθετηρίου.
issues.role.member=Μέλος
issues.role.member_helper=Αυτός ο χρήστης είναι μέλος του οργανισμού, του οποίου ανήκει το αποθετήριο.
issues.role.member_helper=Αυτός ο χρήστης είναι μέλος του οργανισμού, του οποίου ανήκει το repository.
issues.role.collaborator=Συνεργάτης
issues.role.collaborator_helper=Ο χρήστης έλαβε πρόσκληση συνεργασίας στο αποθετήριο.
issues.role.collaborator_helper=Ο χρήστης έλαβε πρόσκληση συνεργασίας στο repository.
issues.role.first_time_contributor=Συντελεστής για πρώτη φορά
issues.role.first_time_contributor_helper=Αυτή είναι η πρώτη συνεισφορά αυτού του χρήστη στο αποθετήριο.
issues.role.first_time_contributor_helper=Αυτή είναι η πρώτη συνεισφορά αυτού του χρήστη στο repository.
issues.role.contributor=Συντελεστής
issues.role.contributor_helper=Αυτός ο χρήστης έχει προηγούμενές υποβολές (commits) στο αποθετήριο.
issues.role.contributor_helper=Αυτός ο χρήστης έχει προηγούμενές υποβολές (commits) στο repository.
issues.re_request_review=Επαναίτηση ανασκόπησης
issues.is_stale=Έχουν υπάρξει αλλαγές σε αυτό το PR από αυτή την αναθεώρηση
issues.remove_request_review=Αφαίρεση αιτήματος αναθεώρησης
@ -1678,7 +1678,7 @@ issues.unlock_comment=: ξεκλείδωσε αυτή τη συνομιλία %s
issues.lock_confirm=Κλείδωμα
issues.unlock_confirm=Ξεκλείδωμα
issues.lock.notice_1=- Άλλοι χρήστες δεν μπορούν να αφήσουν νέα σχόλια σε αυτό το ζήτημα.
issues.lock.notice_2=- Εσείς και άλλοι συνεργάτες που έχουν πρόσβαση στο αποθετήριο θα μπορείτε ακόμα να αφήσετε σχόλια που θα είναι ορατά σε άλλους.
issues.lock.notice_2=- Εσείς, μαζί με τους συνεργάτες σας που έχουν πρόσβαση στο repository, θα μπορείτε ακόμα να αφήσετε σχόλια που θα μπορούν να βλέπουν και άλλοι.
issues.lock.notice_3=- Θα μπορείτε να ξεκλειδώσετε αυτό το ζήτημα πιο μετά.
issues.unlock.notice_1=- Όλοι θα βρίσκονται πάλι σε θέση να αφήσουν σχόλιο σε αυτό το ζήτημα.
issues.unlock.notice_2=- Θα μπορείτε πάντα να ξανακλειδώσετε αυτό το ζήτημα πιο μετά.
@ -1759,7 +1759,7 @@ issues.dependency.add_error_dep_issue_not_exist=Εξαρτώμενο ζήτημ
issues.dependency.add_error_dep_not_exist=Δεν υπάρχει η Εξάρτηση.
issues.dependency.add_error_dep_exists=Η Εξάρτηση υπάρχει ήδη.
issues.dependency.add_error_cannot_create_circular=Δεν μπορείτε να δημιουργήσετε μια εξάρτηση με δύο ζητήματα που μπλοκάρουν το ένα το άλλο.
issues.dependency.add_error_dep_not_same_repo=Και τα δύο ζητήματα πρέπει να βρίσκονται στο ίδιο αποθετήριο.
issues.dependency.add_error_dep_not_same_repo=Και τα δύο ζητήματα πρέπει να βρίσκονται στο ίδιο repository.
issues.review.self.approval=Δεν μπορείτε να εγκρίνετε το δικό σας pull request.
issues.review.self.rejection=Δεν μπορείτε να ζητήσετε αλλαγές στο δικό σας pull request.
issues.review.approve=ενέκρινε τις αλλαγές %s
@ -1922,7 +1922,7 @@ pulls.closed_at=`έκλεισε αυτό το pull request <a id="%[1]s" href="#
pulls.reopened_at=`άνοιξε ξανά αυτό το pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.cmd_instruction_hint=Προβολή οδηγιών γραμμής εντολών
pulls.cmd_instruction_checkout_title=Έλεγχος
pulls.cmd_instruction_checkout_desc=Από το αποθετήριο του έργου σας, ελέγξτε έναν νέο κλάδο και δοκιμάστε τις αλλαγές.
pulls.cmd_instruction_checkout_desc=Από το repository του έργου σας, ελέγξτε έναν νέο κλάδο και δοκιμάστε τις αλλαγές.
pulls.cmd_instruction_merge_title=Συγχώνευση
pulls.cmd_instruction_merge_desc=Συγχώνευση των αλλαγών και ενημέρωση στο Gitea.
pulls.clear_merge_message=Εκκαθάριση μηνύματος συγχώνευσης
@ -2101,8 +2101,8 @@ search.code_no_results=Δεν βρέθηκε πηγαίος κώδικας πο
search.code_search_unavailable=Η αναζήτηση κώδικα δεν είναι διαθέσιμη αυτή τη στιγμή. Παρακαλώ επικοινωνήστε με το διαχειριστή.
settings=Ρυθμίσεις
settings.desc=Στις Ρυθμίσεις μπορείτε να διαχειριστείτε τις ρυθμίσεις για το αποθετήριο
settings.options=Αποθετήριο
settings.desc=Στις Ρυθμίσεις μπορείτε να διαχειριστείτε τις ρυθμίσεις για το repository
settings.options=Repository
settings.collaboration=Συνεργάτες
settings.collaboration.admin=Διαχειριστής
settings.collaboration.write=Εγγραφή
@ -2113,18 +2113,18 @@ settings.hooks=Webhooks
settings.githooks=Git hooks
settings.basic_settings=Βασικές ρυθμίσεις
settings.mirror_settings=Ρυθμίσεις ειδώλου
settings.mirror_settings.docs=Ρυθμίστε τον αυτόματο συγχρονισμό των υποβολών, ετικετών και κλάδων του αποθετηρίου σας σε ένα άλλο αποθετήριο.
settings.mirror_settings.docs.disabled_pull_mirror.instructions=Ρυθμίστε τον αυτόματο συγχρονισμό των υποβολών, ετικετών και κλάδων του έργου σας με ένα άλλο αποθετήριο. Τα είδωλα τύπου λήψης έχουν απενεργοποιηθεί από τον διαχειριστή σας.
settings.mirror_settings.docs.disabled_push_mirror.instructions=Ρυθμίστε την αυτόματη λήψη υποβολών, ετικετών και κλάδων από ένα άλλο αποθετήριο.
settings.mirror_settings.docs=Ρυθμίστε τον αυτόματο συγχρονισμό των commit, ετικετών και κλάδων του αποθετηρίου σας σε ένα άλλο repository.
settings.mirror_settings.docs.disabled_pull_mirror.instructions=Ρυθμίστε τον αυτόματο συγχρονισμό των commit, ετικετών και κλάδων του έργου σας με ένα άλλο repository. Τα είδωλα τύπου λήψης έχουν απενεργοποιηθεί από τον διαχειριστή σας.
settings.mirror_settings.docs.disabled_push_mirror.instructions=Ρυθμίστε την αυτόματη λήψη υποβολών, ετικετών και κλάδων από ένα άλλο repository.
settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning=Αυτή τη στιγμή, αυτό μπορεί να γίνει μόνο στο μενού "Νέα Μεταφορά". Για περισσότερες πληροφορίες, συμβουλευτείτε το:
settings.mirror_settings.docs.disabled_push_mirror.info=Τα είδωλα ώθησης έχουν απενεργοποιηθεί από το διαχειριστή σας.
settings.mirror_settings.docs.no_new_mirrors=Το αποθετήριο σας αντιγράφει τις αλλαγές προς ή από ένα άλλο αποθετήριο. Λάβετε υπόψη ότι δεν μπορείτε να δημιουργήσετε νέα είδωλα αυτή τη στιγμή.
settings.mirror_settings.docs.no_new_mirrors=Το repository σας αντιγράφει τις αλλαγές προς ή από ένα άλλο repository. Λάβετε υπόψη ότι δεν μπορείτε να δημιουργήσετε νέα είδωλα αυτή τη στιγμή.
settings.mirror_settings.docs.can_still_use=Αν και δεν μπορείτε να τροποποιήσετε τα υπάρχοντα είδωλα ή να δημιουργήσετε νέα, μπορείτε να χρησιμοποιείται ακόμα το υπάρχων είδωλο.
settings.mirror_settings.docs.pull_mirror_instructions=Για να ορίσετε έναν είδωλο έλξης, παρακαλούμε συμβουλευθείτε:
settings.mirror_settings.docs.more_information_if_disabled=Μπορείτε να μάθετε περισσότερα για τα είδωλα ώθησης και έλξης εδώ:
settings.mirror_settings.docs.doc_link_title=Πώς μπορώ να αντιγράψω αποθετήρια;
settings.mirror_settings.docs.doc_link_pull_section=το κεφάλαιο "Pulling from a remote repository" της τεκμηρίωσης.
settings.mirror_settings.docs.pulling_remote_title=Έλξη από ένα απομακρυσμένο αποθετήριο
settings.mirror_settings.docs.pulling_remote_title=Pull από ένα απομακρυσμένο repository
settings.mirror_settings.mirrored_repository=Είδωλο αποθετηρίου
settings.mirror_settings.direction=Κατεύθυνση
settings.mirror_settings.direction.pull=Pull
@ -2188,33 +2188,33 @@ settings.reindex_button=Προσθήκη στην ουρά Reindex
settings.reindex_requested=Αιτήθηκε reindex
settings.admin_enable_close_issues_via_commit_in_any_branch=Κλείσιμο ενός ζητήματος μέσω μιας υποβολής που έγινε σε έναν μη προεπιλεγμένο κλάδο
settings.danger_zone=Ζώνη κινδύνου
settings.new_owner_has_same_repo=Ο νέος ιδιοκτήτης έχει ήδη ένα αποθετήριο με το ίδιο όνομα. Παρακαλώ επιλέξτε ένα άλλο όνομα.
settings.convert=Μετατροπή σε κανονικό αποθετήριο
settings.convert_desc=Μπορείτε να μετατρέψετε αυτόν το είδωλο σε κανονικό αποθετήριο. Αυτό δεν μπορεί να αναιρεθεί.
settings.convert_notices_1=Αυτή η λειτουργία θα μετατρέψει το είδωλο σε ένα κανονικό αποθετήριο και δεν μπορεί να αναιρεθεί.
settings.new_owner_has_same_repo=Ο νέος ιδιοκτήτης έχει ήδη ένα repository με το ίδιο όνομα. Παρακαλώ επιλέξτε ένα άλλο όνομα.
settings.convert=Μετατροπή σε κανονικό repository
settings.convert_desc=Μπορείτε να μετατρέψετε αυτόν το είδωλο σε κανονικό repository. Αυτό δεν μπορεί να αναιρεθεί.
settings.convert_notices_1=Αυτή η λειτουργία θα μετατρέψει το είδωλο σε ένα κανονικό repository και δεν μπορεί να αναιρεθεί.
settings.convert_confirm=Μετατροπή αποθετηρίου
settings.convert_succeed=Το είδωλο έχει μετατραπεί σε κανονικό αποθετήριο.
settings.convert_fork=Μετατροπή σε κανονικό αποθετήριο
settings.convert_fork_desc=Μπορείτε να μετατρέψετε αυτό το fork σε κανονικό αποθετήριο. Αυτό δεν μπορεί να αναιρεθεί.
settings.convert_fork_notices_1=Αυτή η λειτουργία θα μετατρέψει το fork σε ένα κανονικό αποθετήριο και δεν μπορεί να αναιρεθεί.
settings.convert_succeed=Το είδωλο έχει μετατραπεί σε κανονικό repository.
settings.convert_fork=Μετατροπή σε κανονικό repository
settings.convert_fork_desc=Μπορείτε να μετατρέψετε αυτό το fork σε κανονικό repository. Αυτό δεν μπορεί να αναιρεθεί.
settings.convert_fork_notices_1=Αυτή η λειτουργία θα μετατρέψει το fork σε ένα κανονικό repository και δεν μπορεί να αναιρεθεί.
settings.convert_fork_confirm=Μετατροπή αποθετηρίου
settings.convert_fork_succeed=Το fork έχει μετατραπεί σε κανονικό αποθετήριο.
settings.convert_fork_succeed=Το fork έχει μετατραπεί σε κανονικό repository.
settings.transfer.title=Μεταβίβαση ιδιοκτησίας
settings.transfer.rejected=Η μεταβίβαση του αποθετηρίου απορρίφθηκε.
settings.transfer.success=Η μεταβίβαση του αποθετηρίου ήταν επιτυχής.
settings.transfer_abort=Ακύρωση μεταβίβασης
settings.transfer_abort_invalid=Δεν μπορείτε να ακυρώσετε μια ανύπαρκτη μεταβίβαση αποθετηρίου.
settings.transfer_abort_success=Η μεταφορά αποθετηρίου στο %s ακυρώθηκε με επιτυχία.
settings.transfer_desc=Μεταβιβάστε αυτό το αποθετήριο σε έναν χρήστη ή σε έναν οργανισμό για τον οποίο έχετε δικαιώματα διαχειριστή.
settings.transfer_desc=Μεταβιβάστε αυτό το repository σε έναν χρήστη ή σε έναν οργανισμό για τον οποίο έχετε δικαιώματα διαχειριστή.
settings.transfer_form_title=Εισάγετε το όνομα του αποθετηρίου ως επιβεβαίωση:
settings.transfer_in_progress=Αυτή τη στιγμή υπάρχει μια εν εξελίξει μεταβίβαση. Παρακαλούμε ακυρώστε την αν θέλετε να μεταβιβάσετε αυτό το αποθετήριο σε άλλο χρήστη.
settings.transfer_notices_1=- Θα χάσετε την πρόσβαση στο αποθετήριο αν το μεταβιβάσετε σε έναν μεμονωμένο χρήστη.
settings.transfer_notices_2=- Θα διατηρήσετε την πρόσβαση στο αποθετήριο αν το μεταβιβάσετε σε έναν οργανισμό που είστε (συν)ιδιοκτήτης.
settings.transfer_notices_3=- Εάν το αποθετήριο είναι ιδιωτικό και μεταβιβάζεται σε μεμονωμένο χρήστη, αυτή η ενέργεια εξασφαλίζει ότι ο χρήστης έχει τουλάχιστον άδεια ανάγνωσης (και αλλάζει τα δικαιώματα εάν είναι απαραίτητο).
settings.transfer_in_progress=Αυτή τη στιγμή υπάρχει μια εν εξελίξει μεταβίβαση. Παρακαλούμε ακυρώστε την αν θέλετε να μεταβιβάσετε αυτό το repository σε άλλο χρήστη.
settings.transfer_notices_1=- Θα χάσετε την πρόσβαση στο repository αν το μεταβιβάσετε σε έναν μεμονωμένο χρήστη.
settings.transfer_notices_2=- Θα διατηρήσετε την πρόσβαση στο repository αν το μεταβιβάσετε σε έναν οργανισμό που είστε (συν)ιδιοκτήτης.
settings.transfer_notices_3=- Εάν το repository είναι ιδιωτικό και μεταβιβάζεται σε μεμονωμένο χρήστη, αυτή η ενέργεια εξασφαλίζει ότι ο χρήστης έχει τουλάχιστον άδεια ανάγνωσης (και αλλάζει τα δικαιώματα εάν είναι απαραίτητο).
settings.transfer_owner=Νέος ιδιοκτήτης
settings.transfer_perform=Εκτέλεση μεταφοράς
settings.transfer_started=`Αυτό το αποθετήριο έχει επισημανθεί για μεταφορά και αναμένει επιβεβαίωση από το "%s"`
settings.transfer_succeed=Το αποθετήριο έχει μεταφερθεί.
settings.transfer_started=`Αυτό το repository έχει επισημανθεί για μεταφορά και αναμένει επιβεβαίωση από το "%s"`
settings.transfer_succeed=Το repository έχει μεταφερθεί.
settings.signing_settings=Ρυθμίσεις επαλήθευσης υπογραφών
settings.trust_model=Μοντέλο εμπιστοσύνης υπογραφών
settings.trust_model.default=Προεπιλεγμένο μοντέλο εμπιστοσύνης
@ -2236,33 +2236,33 @@ settings.wiki_deletion_success=Τα δεδομένα wiki του αποθετη
settings.delete=Διαγραφή αυτόυ του αποθετηρίου
settings.delete_desc=Η διαγραφή ενός αποθετηρίου είναι μόνιμη και δεν μπορεί να αναιρεθεί.
settings.delete_notices_1=- Αυτή η ενέργεια <strong>ΔΕΝ ΜΠΟΡΕΙ</strong> να αναιρεθεί.
settings.delete_notices_2=- Αυτή η ενέργεια θα διαγράψει μόνιμα το αποθετήριο <strong>%s</strong> μαζί με τον κώδικα, τα ζητημάτα, τα σχόλια, τα δεδομένα των wiki και τις ρυθμίσεις συνεργατών που βρίσκονται μέσα σε αυτό.
settings.delete_notices_2=- Αυτή η ενέργεια θα διαγράψει μόνιμα το repository <strong>%s</strong> μαζί με τον κώδικα, τα ζητημάτα, τα σχόλια, τα δεδομένα των wiki και τις ρυθμίσεις συνεργατών που βρίσκονται μέσα σε αυτό.
settings.delete_notices_fork_1=- Τα Forks αυτού του αποθετηρίου θα γίνουν ανεξάρτητα μετά τη διαγραφή.
settings.deletion_success=Το αποθετήριο έχει διαγραφεί.
settings.deletion_success=Το repository έχει διαγραφεί.
settings.update_settings_success=Οι ρυθμίσεις του αποθετηρίου έχουν ενημερωθεί.
settings.update_settings_no_unit=Το αποθετήριο θα πρέπει να επιτρέπει τουλάχιστον κάποιο είδος αλληλεπίδρασης.
settings.update_settings_no_unit=Το repository θα πρέπει να επιτρέπει τουλάχιστον κάποιο είδος αλληλεπίδρασης.
settings.confirm_delete=Διαγραφή αποθετηρίου
settings.add_collaborator=Προσθήκη συνεργάτη
settings.add_collaborator_success=Ο συνεργάτης προστέθηκε.
settings.add_collaborator_inactive_user=Δεν είναι δυνατή η προσθήκη ενός ανενεργού χρήστη ως συνεργάτη.
settings.add_collaborator_owner=Δεν είναι δυνατή η προσθήκη ενός ιδιοκτήτη σαν συνεργάτη.
settings.add_collaborator_duplicate=Ο συνεργάτης έχει ήδη προστεθεί σε αυτό το αποθετήριο.
settings.add_collaborator_duplicate=Ο συνεργάτης έχει ήδη προστεθεί σε αυτό το repository.
settings.delete_collaborator=Κατάργηση
settings.collaborator_deletion=Κατάργηση συνεργάτη
settings.collaborator_deletion_desc=Η κατάργηση ενός συνεργάτη θα αφαιρέσει και την πρόσβασή του στο αποθετήριο. Είστε βέβαιοι;
settings.collaborator_deletion_desc=Η κατάργηση ενός συνεργάτη θα αφαιρέσει και την πρόσβασή του στο repository. Είστε βέβαιοι;
settings.remove_collaborator_success=Ο συνεργάτης έχει καταργηθεί.
settings.search_user_placeholder=Αναζήτηση χρήστη…
settings.org_not_allowed_to_be_collaborator=Δεν μπορείτε να προσθέσετε έναν οργανισμό ως συνεργάτη.
settings.change_team_access_not_allowed=Η αλλαγή της πρόσβασης ομάδας για το αποθετήριο έχει περιοριστεί στον ιδιοκτήτη του οργανισμού
settings.team_not_in_organization=Η ομάδα δεν είναι στον ίδιο οργανισμό με το αποθετήριο
settings.change_team_access_not_allowed=Η αλλαγή της πρόσβασης ομάδας για το repository έχει περιοριστεί στον ιδιοκτήτη του οργανισμού
settings.team_not_in_organization=Η ομάδα δεν είναι στον ίδιο οργανισμό με το repository
settings.teams=Ομάδες
settings.add_team=Προσθήκη ομάδας
settings.add_team_duplicate=Η ομάδα έχει ήδη το αποθετήριο
settings.add_team_success=Η ομάδα έχει πλέον πρόσβαση στο αποθετήριο.
settings.add_team_duplicate=Η ομάδα έχει ήδη το repository
settings.add_team_success=Η ομάδα έχει πλέον πρόσβαση στο repository.
settings.search_team=Αναζήτηση Ομάδας…
settings.change_team_permission_tip=Τα δικαιώματα της ομάδας έχουν οριστεί στη σελίδα ρυθμίσεων της ομάδας και δεν μπορούν να αλλάξουν ανά αποθετήριο
settings.change_team_permission_tip=Τα δικαιώματα της ομάδας έχουν οριστεί στη σελίδα ρυθμίσεων της ομάδας και δεν μπορούν να αλλάξουν ανά repository
settings.delete_team_tip=Αυτή η ομάδα έχει πρόσβαση σε όλα τα αποθετήρια και δεν μπορεί να αφαιρεθεί
settings.remove_team_success=Έχει αφαιρεθεί η πρόσβαση της ομάδας στο αποθετήριο.
settings.remove_team_success=Έχει αφαιρεθεί η πρόσβαση της ομάδας στο repository.
settings.add_webhook=Προσθήκη webhook
settings.add_webhook.invalid_channel_name=Το όνομα του καναλιού Webhook δεν μπορεί να είναι κενό και δεν μπορεί να περιέχει μόνο έναν χαρακτήρα #.
settings.hooks_desc=Τα Webhooks κάνουν αυτόματα αιτήσεις HTTP POST σε ένα διακομιστή όταν ενεργοποιούνται ορισμένα γεγονότα στο Forgejo. Διαβάστε περισσότερα στον <a target="_blank" rel="noopener noreferrer" href="%s">οδηγό webhooks</a>.
@ -2305,15 +2305,15 @@ settings.event_create_desc=Ο κλάδος ή η ετικέτα δημιουργ
settings.event_delete=Διαγραφή
settings.event_delete_desc=Ο κλάδος ή η ετικέτα διαγράφηκε.
settings.event_fork=Fork
settings.event_fork_desc=Το αποθετήριο έγινε fork.
settings.event_fork_desc=Το repository έγινε fork.
settings.event_wiki=Wiki
settings.event_wiki_desc=Η σελίδα Wiki δημιουργήθηκε, μετονομάστηκε, επεξεργάστηκε ή διαγράφηκε.
settings.event_release=Κυκλοφορία
settings.event_release_desc=Η έκδοση δημοσιεύτηκε, ενημερώθηκε ή διαγράφηκε από ένα αποθετήριο.
settings.event_push=Push
settings.event_push_desc=Git push σε ένα αποθετήριο.
settings.event_repository=Αποθετήριο
settings.event_repository_desc=Το αποθετήριο δημιουργήθηκε ή διαγράφηκε.
settings.event_push_desc=Git push σε ένα repository.
settings.event_repository=Repository
settings.event_repository_desc=Το repository δημιουργήθηκε ή διαγράφηκε.
settings.event_header_issue=Συμβάντα ζητημάτων
settings.event_issues=Ζητήματα
settings.event_issues_desc=Το ζήτημα άνοιξε, έκλεισε, ανοίχθηκε εκ νέου ή επεξεργάστηκε.
@ -2345,7 +2345,7 @@ settings.event_pull_request_review_request_desc=Ζητήθηκε η αξιολό
settings.event_pull_request_approvals=Εγκρίσεις pull request
settings.event_pull_request_merge=Συγχώνευση pull request
settings.event_package=Πακέτο
settings.event_package_desc=Το πακέτο δημιουργήθηκε ή διαγράφηκε σε ένα αποθετήριο.
settings.event_package_desc=Το πακέτο δημιουργήθηκε ή διαγράφηκε σε ένα repository.
settings.branch_filter=Φίλτρο κλάδου
settings.branch_filter_desc=Λίστα επιτρεπόμενων κλάδων για ωθήσεις, δημιουργία κλάδων και γεγονότα διαγραφής κλάδων, που ορίζονται ως μοτίβο glob. Εάν είναι κενό ή <code>*</code>, αναφέρονται συμβάντα για όλους τους κλάδους. Δείτε τη τεκμηρίωση<a href="%[1]s">%[2]s</a> για σύνταξη. Παραδείγματα: <code>master</code>, <code>{master,release*}</code>.
settings.authorization_header=Κεφαλίδα authorization
@ -2361,7 +2361,7 @@ settings.hook_type=Είδος hook
settings.slack_token=Διακριτικό
settings.slack_domain=Domain
settings.slack_channel=Κανάλι
settings.add_web_hook_desc=Ενσωμάτωσε το <a target="_blank" rel="noreferrer" href="%s">%s</a> στο αποθετήριο σας.
settings.add_web_hook_desc=Ενσωμάτωσε το <a target="_blank" rel="noreferrer" href="%s">%s</a> στο repository σας.
settings.web_hook_name_gitea=Gitea
settings.web_hook_name_forgejo = Forgejo
settings.web_hook_name_gogs=Gogs
@ -2381,9 +2381,9 @@ settings.packagist_api_token=Διακριτικό API
settings.packagist_package_url=URL πακέτων Packagist
settings.deploy_keys=Κλειδιά διάθεσης
settings.add_deploy_key=Προσθήκη κλειδιού διάθεσης
settings.deploy_key_desc=Τα κλειδιά διάθεσης έχουν πρόσβαση μόνο-ανάγνωσης στο αποθετήριο.
settings.deploy_key_desc=Τα κλειδιά διάθεσης έχουν πρόσβαση μόνο-ανάγνωσης στο repository.
settings.is_writable=Ενεργοποίηση πρόσβασης εγγραφής
settings.is_writable_info=Επιτρέψτε σε αυτό το κλειδί διάθεσης να <strong>ωθήσει</strong> στο αποθετήριο.
settings.is_writable_info=Επιτρέψτε σε αυτό το κλειδί διάθεσης να <strong>ωθήσει</strong> στο repository.
settings.no_deploy_keys=Δεν υπάρχουν ακόμα κλειδιά διάθεσης.
settings.title=Τίτλος
settings.deploy_key_content=Περιεχόμενο
@ -2391,7 +2391,7 @@ settings.key_been_used=Ένα κλειδί διάθεσης με το ίδιο
settings.key_name_used=Ένα κλειδί διάθεσης με το ίδιο όνομα υπάρχει ήδη.
settings.add_key_success=Το κλειδί διάθεσης «%s» προστέθηκε.
settings.deploy_key_deletion=Αφαίρεση κλειδιού διάθεσης
settings.deploy_key_deletion_desc=Η κατάργηση ενός κλειδί διάθεσης θα ανακαλέσει την πρόσβασή του σε αυτό το αποθετήριο. Συνέχεια;
settings.deploy_key_deletion_desc=Η κατάργηση ενός κλειδί διάθεσης θα ανακαλέσει την πρόσβασή του σε αυτό το repository. Συνέχεια;
settings.deploy_key_deletion_success=Το κλειδί διάθεσης έχει αφαιρεθεί.
settings.branches=Κλάδοι
settings.protected_branch=Προστασία κλάδου
@ -2424,7 +2424,7 @@ settings.protect_check_status_contexts=Ενεργοποίηση ελέγχου
settings.protect_status_check_patterns=Μοτίβα ελέγχου κατάστασης:
settings.protect_status_check_patterns_desc=Ορίστε μοτίβα για να καθορίσετε ποιοι έλεγχοι κατάστασης πρέπει να περάσουν πριν οι κλάδοι να μπορούν να συγχωνευτούν σε έναν κλάδο που ταιριάζει με αυτόν τον κανόνα. Κάθε γραμμή καθορίζει ένα μοτίβο. Τα μοτίβα δεν μπορούν να είναι κενά.
settings.protect_check_status_contexts_desc=Απαιτείται έλεγχος κατάστασης για να περάσει το pull request πριν από τη συγχώνευση. Επιλέξτε ποιοι έλεγχοι κατάστασης πρέπει να περάσουν πριν κλάδοι μπορούν να συγχωνευτούν σε έναν κλάδο που ταιριάζει με αυτόν τον κανόνα. Όταν είναι ενεργοποιημένο, οι υποβολές πρέπει πρώτα να γίνονται push σε άλλο κλάδο, στη συνέχεια, να συγχωνεύονται ή γίνονται push απευθείας σε ένα κλάδο που ταιριάζει με αυτόν τον κανόνα, αφού έχουν ολοκληρωθεί οι έλεγχοι κατάστασης. Αν δεν επιλεχθεί κανένα πλαίσιο, η τελευταία υποβολή πρέπει να είναι επιτυχής ανεξάρτητα από το πλαίσιο.
settings.protect_check_status_contexts_list=Έλεγχοι κατάστασης που βρέθηκαν την τελευταία εβδομάδα για αυτό το αποθετήριο
settings.protect_check_status_contexts_list=Έλεγχοι κατάστασης που βρέθηκαν την τελευταία εβδομάδα για αυτό το repository
settings.protect_status_check_matched=Ταιριάζει
settings.protect_invalid_status_check_pattern=Μη έγκυρο μοτίβο ελέγχου κατάστασης: "%s".
settings.protect_no_valid_status_check_patterns=Μη έγκυρα μοτίβα ελέγχου κατάστασης.
@ -2442,7 +2442,7 @@ settings.protect_branch_name_pattern=Μοτίβο προστατευμένου
settings.protect_branch_name_pattern_desc=Μοτίβα ονόματος προστατευμένων κλάδων. Συμβολευτείτε <a href="%s">την τεκμηρίωση</a> για την σύνταξη ενός μοτίβου. Παραδείγματα: main, release/**
settings.protect_patterns=Μοτίβα
settings.protect_protected_file_patterns=Μοτίβα προστατευμένων αρχείων (διαχωρισμός με semicolon «;» και ΟΧΙ το ελληνικό ερωτηματικό):
settings.protect_protected_file_patterns_desc=Τα προστατευόμενα αρχεία δεν επιτρέπεται να αλλάξουν άμεσα, ακόμη και αν ο χρήστης έχει δικαιώματα να προσθέσει, να επεξεργαστεί ή να διαγράψει αρχεία σε αυτόν τον κλάδο. Επιπλέων μοτίβα μπορούν να διαχωριστούν με semicolon («;») (ΟΧΙ ερωτηματικό). Για να συντάξετε μοτίβα, συμβουλευτείται την τεκμηρίωση <a href='%s'>github.com/gobwas/glob</a>. Παράδειγμα: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc=Τα προστατευόμενα αρχεία δεν επιτρέπεται να αλλάξουν άμεσα, ακόμη και αν ο χρήστης έχει δικαιώματα να προσθέσει, να επεξεργαστεί ή να διαγράψει αρχεία σε αυτόν τον κλάδο. Επιπλέων μοτίβα μπορούν να διαχωριστούν με semicolon («;») (ΟΧΙ ερωτηματικό). Για να συντάξετε μοτίβα, συμβουλευτείται την τεκμηρίωση <a href='%s'>%s</a>. Παράδειγμα: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Μοτίβα μη προστατευμένων αρχείων (διαχωρισμένα με semicolon «;» και ΟΧΙ το ελληνικό ερωτηματικό):
settings.protect_unprotected_file_patterns_desc=Μη προστατευμένα αρχεία που επιτρέπεται να αλλάξουν απευθείας εάν ο χρήστης έχει πρόσβαση εγγραφής, παρακάμπτοντας τον περιορισμό ώθησης. Επιπλέων μοτίβα μπορούν να διαχωριστούν με ερωτηματικό (';'). Δείτε την τεκμηρίωση <a href='%[1]s'>%[2]s</a> για τη σύνταξη του μοτίβου. Πχ: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Ενεργοποίηση προστασίας
@ -2486,20 +2486,20 @@ settings.matrix.message_type=Είδος μηνύματος
settings.archive.button=Αρχειοθέτηση αποθετηρίου
settings.archive.header=Αρχειοθέτηση αποθετηρίου
settings.archive.text=Η αρχειοθέτηση του αποθετηρίου θα το αλλάξει σε μόνο για ανάγνωση. Δε θα φαίνεται στον αρχικό πίνακα. Κανείς (ακόμα και εσείς!) δε θα μπορεί να κάνει νέες υποβολές, ή να ανοίξει ζητήματα ή pull request.
settings.archive.success=Το αποθετήριο αρχειοθετήθηκε με επιτυχία.
settings.archive.success=Το repository αρχειοθετήθηκε με επιτυχία.
settings.archive.error=Παρουσιάστηκε σφάλμα κατά την προσπάθεια αρχειοθέτησης του αποθετηρίου. Δείτε το αρχείο καταγραφής για περισσότερες λεπτομέρειες.
settings.archive.error_ismirror=Δε μπορείτε να αρχειοθετήσετε ένα είδωλο αποθετηρίου.
settings.archive.branchsettings_unavailable=Οι ρυθμίσεις του κλάδου δεν είναι διαθέσιμες αν το αποθετήριο είναι αρχειοθετημένο.
settings.archive.tagsettings_unavailable=Οι ρυθμίσεις της ετικέτας δεν είναι διαθέσιμες αν το αποθετήριο είναι αρχειοθετημένο.
settings.archive.branchsettings_unavailable=Οι ρυθμίσεις του κλάδου δεν είναι διαθέσιμες αν το repository είναι αρχειοθετημένο.
settings.archive.tagsettings_unavailable=Οι ρυθμίσεις της ετικέτας δεν είναι διαθέσιμες αν το repository είναι αρχειοθετημένο.
settings.unarchive.button=Αναίρεση αρχειοθέτησης αποθετηρίου
settings.unarchive.header=Απο-Αρχειοθέτηση του αποθετηρίου
settings.unarchive.text=Η απο-αρχειοθέτηση του αποθετηρίου θα αποκαταστήσει την ικανότητά του να λαμβάνει υποβολές και ωθήσεις, καθώς και νέα ζητήματα και pull-requests.
settings.unarchive.success=Το αποθετήριο απο-αρχειοθετήθηκε με επιτυχία.
settings.unarchive.success=Το repository απο-αρχειοθετήθηκε με επιτυχία.
settings.unarchive.error=Παρουσιάστηκε σφάλμα κατά την προσπάθεια απο-αρχειοθέτησης του αποθετηρίου. Δείτε τις καταγραφές για περισσότερες λεπτομέρειες.
settings.update_avatar_success=Η εικόνα του αποθετηρίου έχει ενημερωθεί.
settings.lfs=LFS
settings.lfs_filelist=Αρχεία LFS σε αυτό το αποθετήριο
settings.lfs_no_lfs_files=Δεν υπάρχουν αρχεία LFS σε αυτό το αποθετήριο
settings.lfs_filelist=Αρχεία LFS σε αυτό το repository
settings.lfs_no_lfs_files=Δεν υπάρχουν αρχεία LFS σε αυτό το repository
settings.lfs_findcommits=Εύρεση υποβολών
settings.lfs_lfs_file_no_commits=Δεν βρέθηκαν υποβολές για αυτό το αρχείο LFS
settings.lfs_noattribute=Αυτή η διαδρομή δεν έχει λειτουργία κλειδώματος στον προεπιλεγμένο κλάδο
@ -2518,7 +2518,7 @@ settings.lfs_force_unlock=Εξαγκαναστικό ξεκλείδωμα
settings.lfs_pointers.found=Βρέθηκαν %d δείκτης(ες) blob - %d συσχετίστηκαν, %d δεν συσχετίστηκαν (%d λείπουν από το χώρο αποθήκευσης)
settings.lfs_pointers.sha=Blob hash
settings.lfs_pointers.oid=OID
settings.lfs_pointers.inRepo=Στο αποθετήριο
settings.lfs_pointers.inRepo=Στο repository
settings.lfs_pointers.exists=Υπάρχει στο χώρο αποθήκευσης
settings.lfs_pointers.accessible=Προσβάσιμο στον χρήστη
settings.lfs_pointers.associateAccessible=Συσχετισμός προσιτών %d OID
@ -2621,7 +2621,7 @@ release.delete_tag=Διαγραφή ετικέτας
release.deletion=Διαγραφή κυκλοφορίας
release.deletion_desc=Διαγράφοντας μια κυκλοφορία, αυτή αφαιρείται μόνο από το Gitea. Δε θα επηρεάσει την ετικέτα Git, τα περιεχόμενα του αποθετηρίου σας ή το ιστορικό της. Συνέχεια;
release.deletion_success=Η κυκλοφορία έχει διαγραφεί.
release.deletion_tag_desc=Θα διαγράψει αυτή την ετικέτα από το αποθετήριο. Τα περιεχόμενα του αποθετηρίου και το ιστορικό παραμένουν αμετάβλητα. Συνέχεια;
release.deletion_tag_desc=Θα διαγράψει αυτή την ετικέτα από το repository. Τα περιεχόμενα του repository και το ιστορικό δεν θα πειραχτούν. Να γίνει συνέχεια;
release.deletion_tag_success=Η ετικέτα έχει διαγραφεί.
release.tag_name_already_exist=Υπάρχει ήδη μια έκδοση με αυτό το όνομα ετικέτας.
release.tag_name_invalid=Το όνομα της ετικέτας δεν είναι έγκυρο.
@ -2646,7 +2646,7 @@ branch.delete_branch_has_new_commits=Ο κλάδος «%s» δεν μπορεί
branch.create_branch=Δημιουργία κλάδου %s
branch.create_from=`από το «%s»`
branch.create_success=Ο κλάδος «%s» δημιουργήθηκε.
branch.branch_already_exists=Ο κλάδος «%s» υπάρχει ήδη σε αυτό το αποθετήριο.
branch.branch_already_exists=Ο κλάδος «%s» υπάρχει ήδη σε αυτό το repository.
branch.branch_name_conflict=Το όνομα του κλάδου «%s» συγκρούεται με το ήδη υπάρχον κλάδο «%s».
branch.tag_collision=Ο κλάδος «%s» δεν μπορεί να δημιουργηθεί επειδή μια ετικέτα με το ίδιο όνομα υπάρχει ήδη στο αποθετήριο.
branch.deleted_by=Διαγράφηκε από %s
@ -2691,7 +2691,7 @@ error.csv.invalid_field_count=Δεν είναι δυνατή η απόδοση
commits.renamed_from = Μετονομάστηκε από %σ
settings.wiki_rename_branch_main_desc = Ο κλάδος, ο οποίος χρησιμοποιείται εσωτερικά από το wiki, θα μετονομαστεί (μόνιμα και μη αναστράψιμα) σε «%s».
issues.comment.blocked_by_user = Δεν μπορείτε να αφήσετε σχόλιο σε αυτό το ζήτημα, επειδή ο κάτοχος του αποθετηρίου ή το άτομο που δημιούργησε το ζήτημα σας έχει αποκλείσει.
pulls.blocked_by_user = Δεν μπορείτε να δημιουργήσετε pull request σε αυτό το αποθετήριο, επειδή ο κάτοχος του αποθετηρίου σας έχει αποκλείσει.
pulls.blocked_by_user = Δεν μπορείτε να δημιουργήσετε pull request σε αυτό το repository, επειδή ο κάτοχος του repository σας έχει αποκλείσει.
pulls.made_using_agit = AGit
wiki.cancel = Ακύρωση
settings.units.add_more = Προσθήκη μονάδων...
@ -2710,13 +2710,13 @@ rss.must_be_on_branch = Για να αποκτήσετε ένα RSS feed, πρέ
clone_in_vscodium = Κλωνοποίηση στο VSCodium
editor.invalid_commit_mail = Αυτή η διεύθυνση email δεν είναι έγκυρη για την δημιουργία μίας υποβολής.
pulls.nothing_to_compare_have_tag = Ο επιλεγμένος κλάδος/tag είναι όμοιος.
issues.blocked_by_user = Δεν μπορείτε να δημιουργήσετε ζητήματα σε αυτό το αποθετήριο, επειδή ο κάτοχος του αποθετηρίου σας έχει αποκλείσει.
issues.blocked_by_user = Δεν μπορείτε να δημιουργήσετε ζητήματα σε αυτό το repository, επειδή ο κάτοχος του repository σας έχει αποκλείσει.
pulls.agit_explanation = Δημιουργημένο μέσω του AGit. Το AGit επιτρέπει σε συνεισφέροντες να προτείνουν αλλαγές χρησιμοποιώντας την εντολή «git push», χωρίς την δημιουργία fork ή έναν νέο κλάδο.
activity.navbar.recent_commits = Πρόσφατες υποβολές
settings.wiki_globally_editable = Να επιτρέπεται η επεξεργασία του wiki σε όλους
admin.manage_flags = Διαχείριση σημάνσεων
admin.enabled_flags = Το αποθετήριο έχει τις εξής σημάνσεις:
settings.mirror_settings.pushed_repository = Προοριζόμενο αποθετήριο
admin.enabled_flags = Το repository έχει τις εξής σημάνσεις:
settings.mirror_settings.pushed_repository = Προοριζόμενο repository
admin.flags_replaced = Οι σημάνσεις του αποθετηρίου αντικαταστάθηκαν
activity.navbar.code_frequency = Συχνότητα κώδικα
settings.wiki_branch_rename_success = Το όνομα κλάδου wiki του αποθετηρίου κανονικοποιήθηκε επιτυχώς.
@ -2767,7 +2767,7 @@ editor.commit_id_not_matching = Το αρχείο άλλαξε όσο το επ
settings.sourcehut_builds.visibility = Ορατότητα εργασιών
object_format = Μορφή αντικειμένων («object format»)
settings.ignore_stale_approvals_desc = Οι εγκρίσεις, οι οποίες αναφέρονται σε παλαιότερες υποβολές, δεν θα προσμετρούνται στο σύνολο των απαιτούμενων εγκρίσεων του pull request. Εφόσον αυτές οι εγκρίσεις έχουν ήδη ανακληθεί, τότε αυτή η ρύθμιση δεν θα παίξει κάποιον ρόλο.
settings.archive.mirrors_unavailable = Οι λειτουργίες ειδώλου δεν είναι διαθέσιμες εφόσον το αποθετήριο έχει αρχειοθετηθεί.
settings.archive.mirrors_unavailable = Οι λειτουργίες ειδώλου δεν είναι διαθέσιμες εφόσον το repository έχει αρχειοθετηθεί.
settings.web_hook_name_sourcehut_builds = SourceHut Builds
settings.enforce_on_admins = Εφαρμογή κανόνα σε διαχειριστές του αποθετηρίου
object_format_helper = Η μορφή αντικειμένων («object format») του αποθετηρίου. Δεν θα μπορείτε να το αλλάξετε μεταγενέστερα. Η πιο συμβατή μορφή είναι η SHA1.
@ -2805,7 +2805,7 @@ release.type_attachment = Συνημμένο
activity.published_prerelease_label = Προδημοσίευση
activity.published_tag_label = Ετικέτα
settings.pull_mirror_sync_quota_exceeded = Έχετε υπερβεί τους διαθέσιμους πόρους σας, για αυτό δεν θα γίνει λήψη των πιο πρόσφατων αλλαγών.
settings.transfer_quota_exceeded = Ο νέος ιδιοκτήτης (%s) έχει υπερβεί τους διαθέσιμους πόρους του. Το αποθετήριο δεν μπορεί να μεταφερθεί.
settings.transfer_quota_exceeded = Ο νέος ιδιοκτήτης (%s) έχει υπερβεί τους διαθέσιμους πόρους του. Το repository δεν μπορεί να μεταφερθεί.
release.asset_name = Όνομα αρχείου
release.asset_external_url = Εξωτερικό URL
release.invalid_external_url = Μη έγκυρο εξωτερικό URL: «%s»
@ -2815,6 +2815,8 @@ no_eol.tooltip = Αυτό το αρχείο δεν περιέχει έναν χ
release.add_external_asset = Προσθήκη εξωτερικού αρχείου
milestones.filter_sort.name = Όνομα
release.type_external_asset = Εξωτερικό αρχείο
mirror_public_key = Δημόσιο κλειδί SSH
mirror_use_ssh.helper = το Forgejo θα κατοπτρίσει το αποθετήριο μέσω Git με τη χρήση SSH και θα δημιουργήσει ένα ζεύγος κλειδιών. Πρέπει να εξασφαλίσετε πως το δημιουργημένο κλειδί είναι εξουσιοδοτημένο να ωθεί στο αποθετήριο προορισμού. Εφόσον το έχετε επιλέξει, δε μπορείτε να χρησιμοποιήσετε εξουσιοδότηση συνθηματικού.
[graphs]
component_loading_failed = Δεν ήταν δυνατή η φόρτωση του %s
@ -2901,7 +2903,7 @@ teams.join=Συμμετοχή
teams.leave=Αποχώρηση
teams.leave.detail=Σίγουρα θέλετε να αποχωρήσετε από την ομάδα %s;
teams.can_create_org_repo=Δημιουργία αποθετηρίων
teams.can_create_org_repo_helper=Τα μέλη μπορούν να δημιουργήσουν νέα αποθετήρια στον οργανισμό. Ο δημιουργός θα αποκτήσει πρόσβαση διαχειριστή στο νέο αποθετήριο.
teams.can_create_org_repo_helper=Τα μέλη μπορούν να δημιουργήσουν νέα αποθετήρια στον οργανισμό. Ο δημιουργός θα αποκτήσει πρόσβαση διαχειριστή στο νέο repository.
teams.none_access=Καμία πρόσβαση
teams.none_access_helper=Τα μέλη δεν μπορούν να δουν ή να κάνουν οποιαδήποτε άλλη ενέργεια σε αυτή τη μονάδα.
teams.general_access=Γενική πρόσβαση
@ -2922,7 +2924,7 @@ teams.add_team_member=Προσθήκη μέλους ομάδας
teams.invite_team_member=Πρόσκληση στην ομάδα %s
teams.invite_team_member.list=Εκκρεμείς προσκλήσεις
teams.delete_team_title=Διαγραφή ομάδας
teams.delete_team_desc=Η διαγραφή μιας ομάδας ανακαλεί τη πρόσβαση στο αποθετήριο από τα μέλη της. Συνέχεια;
teams.delete_team_desc=Η διαγραφή μιας ομάδας ανακαλεί τη πρόσβαση στο repository από τα μέλη της. Συνέχεια;
teams.delete_team_success=Η ομάδα έχει διαγραφεί.
teams.read_permission_desc=Αυτή η ομάδα χορηγεί πρόσβαση <strong>Ανάγνωσης</strong>: τα μέλη μπορούν να δουν και να κλωνοποιήσουν τα αποθετήρια της ομάδας.
teams.write_permission_desc=Αυτή η ομάδα χορηγεί πρόσβαση <strong>Εγγραφής</strong>: τα μέλη μπορούν να διαβάσουν και να κάνουν push στα αποθετήρια της ομάδας.
@ -2934,9 +2936,9 @@ teams.remove_all_repos_title=Αφαίρεση όλων των αποθετηρί
teams.remove_all_repos_desc=Αυτό θα αφαιρέσει όλα τα αποθετήρια από την ομάδα.
teams.add_all_repos_title=Προσθήκη όλων των αποθετηρίων
teams.add_all_repos_desc=Αυτό θα προσθέσει όλα τα αποθετήρια του οργανισμού στην ομάδα.
teams.add_nonexistent_repo=Το αποθετήριο που προσπαθείτε να προσθέσετε δεν υπάρχει, παρακαλώ δημιουργήστε το πρώτα.
teams.add_nonexistent_repo=Το repository που προσπαθείτε να προσθέσετε δεν υπάρχει, παρακαλώ δημιουργήστε το πρώτα.
teams.add_duplicate_users=Ο χρήστης είναι ήδη μέλος της ομάδας.
teams.repos.none=Αυτή η ομάδα δεν έχει πρόσβαση σε κανένα αποθετήριο.
teams.repos.none=Αυτή η ομάδα δεν έχει πρόσβαση σε κανένα repository.
teams.members.none=Δεν υπάρχουν μέλη σε αυτήν την ομάδα.
teams.specific_repositories=Συγκεκριμένα αποθετήρια
teams.specific_repositories_helper=Τα μέλη θα έχουν πρόσβαση μόνο σε αποθετήρια που προστίθενται ρητά στην ομάδα. Επιλέγοντας το <strong>δεν θα</strong> θα αφαιρεθούν αυτόματα τα αποθετήρια που έχουν ήδη προστεθεί με το <i>Όλα τα αποθετήρια</i>.
@ -3154,7 +3156,7 @@ packages.creator=Δημιουργός
packages.name=Όνομα
packages.version=Έκδοση
packages.type=Τύπος
packages.repository=Αποθετήριο
packages.repository=Repository
packages.size=Μέγεθος
packages.published=Δημοσιευμένα
@ -3473,7 +3475,7 @@ notices.inverse_selection=Αντιστροφή επιλογής
notices.delete_selected=Διαγραφή επιλεγμένων
notices.delete_all=Διαγραφή όλων των ειδοποιήσεων
notices.type=Τύπος
notices.type_1=Αποθετήριο
notices.type_1=Repository
notices.type_2=Εργασία
notices.desc=Περιγραφή
notices.op=Λειτ.
@ -3511,7 +3513,7 @@ users.organization_creation.description = Να επιτρέπεται η δημ
[action]
create_repo=δημιούργησε το αποθετήριο <a href="%s">%s</a>
rename_repo=μετονόμασε το αποθετήριο από <code>%[1]s</code> σε <a href="%[2]s">%[3]s</a>
rename_repo=μετονόμασε το repository από <code>%[1]s</code> σε <a href="%[2]s">%[3]s</a>
commit_repo=έκανε push στο <a href="%[2]s">%[3]s</a> του <a href="%[1]s">%[4]s</a>
create_issue=`άνοιξε το ζήτημα <a href="%[1]s">%[3]s#%[2]s</a>`
close_issue=`έκλεισε το ζήτημα <a href="%[1]s">%[3]s#%[2]s</a>`
@ -3523,7 +3525,7 @@ comment_issue=`άφησε σχόλιο στο ζήτημα <a href="%[1]s">%[3]s
comment_pull=`σχολίασε στο pull request <a href="%[1]s">%[3]s#%[2]s</a>`
merge_pull_request=`συγχώνευσε το pull request <a href="%[1]s">%[3]s#%[2]s</a>`
auto_merge_pull_request=`αυτόματη συγχώνευση του pull request <a href="%[1]s">%[3]s#%[2]s</a>`
transfer_repo=μετέφερε το αποθετήριο <code>%s</code> σε <a href="%s">%s</a>
transfer_repo=μετέφερε το repository <code>%s</code> σε <a href="%s">%s</a>
push_tag=ώθησε την ετικέτα <a href="%[2]s">%[3]s</a> σε <a href="%[1]s">%[4]s</a>
delete_tag=διέγραψε την ετικέτα %[2]s από <a href="%[1]s">%[3]s</a>
delete_branch=διέγραψε το κλάδο %[2]s από <a href="%[1]s">%[3]s</a>
@ -3603,7 +3605,7 @@ title=Πακέτα
desc=Διαχείριση πακέτων μητρώου.
empty=Δεν υπάρχουν πακέτα ακόμα.
empty.documentation=Για περισσότερες πληροφορίες σχετικά με το μητρώο πακέτων, συμβουλευτείτε <a target="_blank" rel="noopener noreferrer" href="%s">τον οδηγό</a>.
empty.repo=Μήπως ανεβάσατε ένα πακέτο, αλλά δεν εμφανίζεται εδώ; Πηγαίνετε στις <a href="%[1]s">ρυθμίσεις πακέτων</a> και συνδέστε το σε αυτό το αποθετήριο.
empty.repo=Μήπως ανεβάσατε ένα πακέτο, αλλά δεν εμφανίζεται εδώ; Πηγαίνετε στις <a href="%[1]s">ρυθμίσεις πακέτων</a> και συνδέστε το σε αυτό το repository.
registry.documentation=Για περισσότερες πληροφορίες σχετικά με το μητρώο %s, συμβουλευτείτε τον <a target="_blank" rel="noopener noreferrer" href="%s">οδηγό</a>.
filter.type=Τύπος
filter.type.all=Όλα
@ -3644,10 +3646,10 @@ composer.registry=Ρυθμίστε αυτό το μητρώο στο αρχεί
composer.install=Για να εγκαταστήσετε το πακέτο χρησιμοποιώντας το Composer, εκτελέστε την ακόλουθη εντολή:
composer.dependencies=Εξαρτήσεις
composer.dependencies.development=Εξαρτήσεις Ανάπτυξης
conan.details.repository=Αποθετήριο
conan.details.repository=Repository
conan.registry=Ρυθμίστε αυτό το μητρώο από τη γραμμή εντολών:
conan.install=Για να εγκαταστήσετε το πακέτο χρησιμοποιώντας το Conan, εκτελέστε την ακόλουθη εντολή:
conda.registry=Ρυθμίστε αυτό το μητρώο ως αποθετήριο Conda στο αρχείο <code>.condarc</code>:
conda.registry=Ρυθμίστε αυτό το μητρώο ως repository Conda στο αρχείο <code>.condarc</code>:
conda.install=Για να εγκαταστήσετε το πακέτο χρησιμοποιώντας το Conda, εκτελέστε την ακόλουθη εντολή:
container.details.type=Τύπος Εικόνας
container.details.platform=Πλατφόρμα
@ -3705,8 +3707,8 @@ swift.registry=Ρυθμίστε αυτό το μητρώο από τη γραμ
swift.install=Προσθέστε το πακέτο στο αρχείο <code>Package.swift</code>:
swift.install2=και εκτελέστε την ακόλουθη εντολή:
vagrant.install=Για προσθήκη ενός κυτίου Vagrant, εκτελέστε την ακόλουθη εντολή:
settings.link=Σύνδεση αυτού του πακέτου με ένα αποθετήριο
settings.link.description=Εάν συνδέσετε ένα πακέτο με ένα αποθετήριο, το πακέτο περιλαμβάνεται στη λίστα πακέτων του αποθετηρίου.
settings.link=Σύνδεση αυτού του πακέτου με ένα repository
settings.link.description=Εάν συνδέσετε ένα πακέτο με ένα repository, το πακέτο περιλαμβάνεται στη λίστα πακέτων του repository.
settings.link.select=Επιλογή Αποθετηρίου
settings.link.button=Ενημέρωση Συνδέσμου Αποθετηρίου
settings.link.success=Ο σύνδεσμος αποθετηρίου ενημερώθηκε επιτυχώς.
@ -3718,7 +3720,7 @@ settings.delete.success=Το πακέτο έχει διαγραφεί.
settings.delete.error=Αποτυχία διαγραφής του πακέτου.
owner.settings.cargo.title=Ευρετήριο μητρώου Cargo
owner.settings.cargo.initialize=Αρχικοποίηση ευρετηρίου
owner.settings.cargo.initialize.description=Απαιτείται ένα ειδικό αποθετήριο ευρετηρίου Git για τη χρήση του μητρώου Cargo. Χρησιμοποιώντας αυτή την επιλογή θα δημιουργηθεί ξανά το αποθετήριο και θα ρυθμιστεί αυτόματα.
owner.settings.cargo.initialize.description=Απαιτείται ένα ειδικό repository ευρετηρίου Git για τη χρήση του μητρώου Cargo. Χρησιμοποιώντας αυτή την επιλογή θα δημιουργηθεί ξανά το repository και θα ρυθμιστεί αυτόματα.
owner.settings.cargo.initialize.error=Αποτυχία αρχικοποίησης ευρετηρίου Cargo: %v
owner.settings.cargo.initialize.success=Ο ευρετήριο Cargo δημιουργήθηκε με επιτυχία.
owner.settings.cargo.rebuild=Ανανέωση ευρετηρίου
@ -3811,7 +3813,7 @@ runners.task_list=Πρόσφατες εργασίες στον εκτελεστ
runners.task_list.no_tasks=Δεν υπάρχει καμία εργασία ακόμα.
runners.task_list.run=Εκτέλεση
runners.task_list.status=Κατάσταση
runners.task_list.repository=Αποθετήριο
runners.task_list.repository=Repository
runners.task_list.commit=Υποβολή
runners.task_list.done_at=Ολοκλήρωσε Στις
runners.edit_runner=Επεξεργασία Εκτελεστή

View file

@ -173,6 +173,8 @@ union = Union
union_tooltip = Include results that match any of the whitespace seperated keywords
exact = Exact
exact_tooltip = Include only results that match the exact search term
regexp = RegExp
regexp_tooltip = Interpret the search term as a regular expression
repo_kind = Search repos...
user_kind = Search users...
org_kind = Search orgs...
@ -231,7 +233,6 @@ string.desc = Z - A
[error]
occurred = An error occurred
report_message = If you believe that this is a Forgejo bug, please search for issues on <a href="%s" target="_blank">Codeberg</a> or open a new issue if necessary.
invalid_csrf = Bad Request: invalid CSRF token
not_found = The target couldn't be found.
network_error = Network error
server_internal = Internal server error
@ -437,6 +438,8 @@ reset_password_wrong_user = You are signed in as %s, but the account recovery li
password_too_short = Password length cannot be less than %d characters.
non_local_account = Non-local users cannot update their password through the Forgejo web interface.
verify = Verify
;As https://codeberg.org/forgejo/forgejo/issues/2809 progresses, please update this error message if possible
unauthorized_credentials = Credentials are incorrect or have expired. Retry your command or see %s for more information
scratch_code = Scratch code
use_scratch_code = Use a scratch code
twofa_scratch_used = You have used your scratch code. You have been redirected to the two-factor settings page so you may remove your device enrollment or generate a new scratch code.
@ -1441,8 +1444,7 @@ commitstatus.failure = Failure
commitstatus.pending = Pending
commitstatus.success = Success
ext_issues = Access to external issues
ext_issues.desc = Link to an external issue tracker.
ext_issues = External issues
projects = Projects
projects.desc = Manage issues and pulls in project boards.
@ -1507,6 +1509,7 @@ issues.new.closed_milestone = Closed milestones
issues.new.assignees = Assignees
issues.new.clear_assignees = Clear assignees
issues.new.no_assignees = No assignees
issues.new.assign_to_me = Assign to me
issues.new.no_reviewers = No reviewers
issues.edit.already_changed = Unable to save changes to the issue. It appears the content has already been changed by another user. Please refresh the page and try editing again to avoid overwriting their changes
issues.choose.get_started = Get started
@ -1605,6 +1608,7 @@ issues.previous = Previous
issues.next = Next
issues.open_title = Open
issues.closed_title = Closed
issues.all_title = All
issues.draft_title = Draft
issues.num_comments_1 = %d comment
issues.num_comments = %d comments
@ -1619,9 +1623,9 @@ issues.no_content = No description provided.
issues.close = Close issue
issues.comment_pull_merged_at = merged commit %[1]s into %[2]s %[3]s
issues.comment_manually_pull_merged_at = manually merged commit %[1]s into %[2]s %[3]s
issues.close_comment_issue = Comment and close
issues.close_comment_issue = Close with comment
issues.reopen_issue = Reopen
issues.reopen_comment_issue = Comment and reopen
issues.reopen_comment_issue = Reopen with comment
issues.create_comment = Comment
issues.closed_at = `closed this issue <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at = `reopened this issue <a id="%[1]s" href="#%[1]s">%[2]s</a>`
@ -2025,8 +2029,7 @@ signing.wont_sign.commitssigned = The merge will not be signed as all the associ
signing.wont_sign.approved = The merge will not be signed as the PR is not approved.
signing.wont_sign.not_signed_in = You are not signed in.
ext_wiki = Access to external Wiki
ext_wiki.desc = Link to an external wiki.
ext_wiki = External Wiki
wiki = Wiki
wiki.welcome = Welcome to the Wiki.
@ -2357,6 +2360,7 @@ settings.slack_icon_url = Icon URL
settings.slack_color = Color
settings.discord_username = Username
settings.discord_icon_url = Icon URL
settings.discord_icon_url.exceeds_max_length = Icon URL must be less than or equal to 2048 characters
settings.event_desc = Trigger on:
settings.event_push_only = Push events
settings.event_send_everything = All events
@ -2766,6 +2770,26 @@ error.csv.unexpected = Can't render this file because it contains an unexpected
error.csv.invalid_field_count = Can't render this file because it has a wrong number of fields in line %d.
error.broken_git_hook = Git hooks of this repository seem to be broken. Please follow the <a target="_blank" rel="noreferrer" href="%s">documentation</a> to fix them, then push some commits to refresh the status.
[repo.permissions]
code.read = <b>Read:</b> Access and clone the code of the repository.
code.write = <b>Write:</b> Push to the repository, create branches and tags.
issues.read = <b>Read:</b> Read and create issues and comments.
issues.write = <b>Write:</b> Close issues and manage metadata like labels, milestones, assignees, due dates and dependencies.
pulls.read = <b>Read:</b> Reading and create pull requests.
pulls.write = <b>Write:</b> Close pull requests and manage metadata like labels, milestones, assignees, due dates and dependencies.
releases.read = <b>Read:</b> View and download releases.
releases.write = <b>Write:</b> Publish, edit and delete releases and their assets.
wiki.read = <b>Read:</b> Read the integrated wiki and it's history.
wiki.write = <b>Write:</b> Create, update and delete pages in the integrated wiki.
projects.read = <b>Read:</b> Access repository project boards.
projects.write = <b>Write:</b> Create projects and columns and edit them.
packages.read = <b>Read:</b> View and download packages assigned to the repository.
packages.write = <b>Write:</b> Publish and delete packages assigned to the repository.
actions.read = <b>Read:</b> View integrated CI/CD pipelines and their logs.
actions.write = <b>Write:</b> Manually trigger, restart, cancel or approve pending CI/CD pipelines.
ext_issues = Access the link to an external issue tracker. The permissions are managed externally.
ext_wiki = Access the link to an external wiki. The permissions are managed externally.
[graphs]
component_loading = Loading %s...
component_loading_failed = Could not load %s
@ -3733,7 +3757,7 @@ management = Manage secrets
[actions]
actions = Actions
unit.desc = Manage integrated CI/CD pipelines with Forgejo Actions
unit.desc = Manage integrated CI/CD pipelines with Forgejo Actions.
status.unknown = Unknown
status.waiting = Waiting

View file

@ -29,7 +29,7 @@ your_profile = Profilo
sign_out = Adiaŭi
settings = Agordoj
logo = Emblemo
toc = Listo de enhavo
toc = Enhavotabelo
admin_panel = Retejadministrado
webauthn_unsupported_browser = Via retfoliumilo ne jam subtenas la salutmanieron WebAuthn.
new_org = Novan organizaĵon
@ -53,7 +53,7 @@ template = Ŝablono
webauthn_press_button = Bonvolu premi la butonon sur via sekurŝlosilo…
signed_in_as = Salutinta kiel
sign_up = Registriĝi
enable_javascript = Ĉi tiu retejo bezonas JavaScripton.
enable_javascript = Ĉi tiu retejo bezonas JavaSkripton.
home = Hejmo
email = Retpoŝtadreso
your_settings = Agordoj
@ -65,7 +65,7 @@ collaborative = Kunlaboraj
pull_requests = Tirpetoj
cancel = Nuligi
preview = Antaŭvido
disabled = Malŝaltita
disabled = Malaktivigita
go_back = Reiri
copy_content = Kopii enhavon
archived = Arĥivita
@ -108,12 +108,12 @@ unknown = Nekonata
issues = Eraroj
error404 = Aŭ tiu ĉi paĝo <strong>ne ekzistas</strong> aŭ <strong>vi ne rajtas</strong> vidi ĝin.
retry = Reprovi
activities = Agoj
activities = Aktivecoj
confirm_delete_selected = Konfirmi forigon de ĉiu elektito?
forks = Disbranĉiĝaj
forks = Disbranĉigoj
new_mirror = Novan spegulon
re_type = Retajpu pasvorton
new_fork = Novan disbranĉiĝon de deponejo
new_fork = Novan disbranĉiĝo de deponejo
new_project_column = Novan kolumnon
new_migrate = Novan enporton
mirror = Spegulo
@ -122,12 +122,12 @@ remove = Forigi
filter = Filtri
filter.is_archived = Arĥivita
filter.not_archived = Nearĥivita
filter.is_fork = Disbranĉigita
filter.not_fork = Nedisbranĉigita
filter.is_mirror = Spegulita
filter.not_mirror = Nespegulita
filter.is_template = Ŝablono
filter.not_template = Neŝablono
filter.is_fork = Disbranĉigoj
filter.not_fork = Ne disbranĉigoj
filter.is_mirror = Speguloj
filter.not_mirror = Ne speguloj
filter.is_template = Ŝablonoj
filter.not_template = Ne ŝablonoj
filter.public = Publika
filter.private = Privata
dashboard = Labortablo
@ -142,6 +142,14 @@ copy_generic = Kopii al tondujo
confirm_delete_artifact = Ĉu vi certas, ke vi volas forigi la artefakton "%s"?
artifacts = Artefaktoj
new_repo.title = Novan deponejon
filter.clear = Forigi filtrilojn
new_migrate.title = Novan migrigon
new_org.title = Novan organizaĵon
new_repo.link = Novan deponejon
new_migrate.link = Novan migrigon
new_org.link = Novan organizaĵon
error413 = Vi plenkonsumis vian kvoton.
twofa_scratch = Sukuranta kodo por duobla aŭtentikigo
[editor]
buttons.list.ordered.tooltip = Aldoni nombran liston
@ -158,10 +166,12 @@ buttons.mention.tooltip = Mencii uzanton aŭ grupon
buttons.italic.tooltip = Aldoni oblikvan tekston
buttons.link.tooltip = Aldoni ligilon
buttons.disable_monospace_font = Malsalti egallarĝan signoformaron
buttons.indent.tooltip = Krommarĝeni erojn je unu nivelo
buttons.unindent.tooltip = Malkrommarĝeni erojn je unu nivelo
[aria]
navbar = Esplora breto
footer.software = Pri programaro
footer.software = Pri ĉi tiu programaro
footer.links = Ligiloj
footer = Piedo
@ -176,13 +186,16 @@ network_error = Reteraro
invalid_csrf = Malvalida peto: malvalida CSRF-kodo
occurred = Eraris iel
missing_csrf = Malvalida peto: neniu CSRF-kodo
server_internal = Eraris interno de servilo
server_internal = Ena servila eraro
[heatmap]
less = Malpli
number_of_contributions_in_the_last_12_months = %s kontribuoj dum la pasintaj 12 monatoj
contributions_zero = Neniu kontribuo
more = Pli
contributions_format = {contributions} la {day}-an de {month} {year}
contributions_one = kontribuaĵo
contributions_few = kontribuaĵoj
[startpage]
app_desc = Senpena kaj memgastigebla Git-servo
@ -199,37 +212,37 @@ license_desc = Ek, prenu <a target="_blank" rel="noopener noreferrer" href="%[1]
title = Komenca agordado
install = Instalado
db_name = Datumbazonomo
run_user = Rulu kiel uzanto
run_user = Ruli kiel tiu uzanto
log_root_path = Protokola dosiervojo
err_admin_name_is_invalid = Uzantonomo de administranto malvalidas
log_root_path_helper = Protokoloj skribiĝos en ĉi tiun dosierujon.
allow_only_external_registration.description = Permesi registriĝojn sole per fremdaj servoj
allow_only_external_registration.description = Uzantoj rajtas krei novajn kontojn nur uzante agorditajn fremdajn servojn.
user = Uzantonomo
smtp_addr = SMTP adreso
smtp_port = SMTP adrespordo
disable_registration = Malŝalti registriĝon
disable_registration = Malaktivigi registriĝon
reinstall_confirm_check_3 = Vi asertas ke vi plencertas ke tiu ĉi Forgejo ruliĝas per la ĝusta app.ini, kaj ke vi certas ke devas reinstali. Vi asertas ke vi bone komprenas la supre menciitajn danĝerojn.
federated_avatar_lookup.description = Ŝaltas serĉadon de profilbildoj el federaj fontoj per Libravatar.
federated_avatar_lookup.description = Serĉi profilbildojn per Libravatar.
mailer_password = SMTP pasvorto
repo_path = Deponeja dosiervojo
err_empty_admin_email = La retpoŝtadreso de administranto ne malplenu.
app_url_helper = Baza URL por HTTP(S) elŝutaj ligiloj kaj retleteroj.
mailer_user = SMTP uzantonomo
openid_signup = Ŝalti registriĝon per OpenID
mailer_user = SMTP uzantnomo
openid_signup = Aktivigi registriĝon per OpenID
reinstall_confirm_check_2 = Deponejoj kaj agordoj eble devos re-interakordiĝi. Ŝaltinte tiun ĉi skatolon, vi asertas ke vi permane interakordigos kaj la hokojn por la deponejoj kaj authorized_keys. Vi asertas, ke deponejaj kaj spegulaj agordoj pravas.
path = Vojo
no_admin_and_disable_registration = Neeblas malŝalti memregistradon sen kreiĝo de administranta konto.
disable_gravatar.description = Malŝaltas Gravatar kaj fremdajn fontojn de profilbildoj. Implicita profilbildo uziĝos, krom se la uzanto alŝutus loke profilbildon.
offline_mode.description = Malŝaltas uzon de fremdaj serviloj por datumosendoj, ĉio datumo sendiĝos deloke.
no_admin_and_disable_registration = Neeblas malaktivigi memregistradon sen krei administrantan konton.
disable_gravatar.description = Malaktivigas Gravatar-on kaj aliajn fremdajn fontojn de profilbildoj. Defaŭltaj profilbildoj uziĝos, krom se la uzanto alŝutus loke profilbildon.
offline_mode.description = Malaktivigi uzon de fremdaj serviloj por datumosendaĵoj kaj okupiĝas pri ciuj datumoj loke.
reinstall_confirm_message = Reinstalado al jamekzistanta Forgejo-datumbazo povas okazigi plurajn problemojn. Vi kredeble anstataŭe rulu Forgejon kun via jama «app.ini». Sed se vi certas, ke vi komprenas kion vi faras, asertu jene:
run_user_helper = Forgejo ruliĝos sub tiu ĉi uzanto de via operaciumo. Sciu, ke tiu ĉi uzanto bezonos aliron al la dosiervojon de deponejoj.
domain = Retnomo
err_admin_name_pattern_not_allowed = Uzantonomo de administranto malvalidas, ĉar la nomo akordas rezervan ŝablonon
disable_registration.description = Malŝaltas registriĝojn. Sole administrantoj rajtos krei novajn kontojn.
disable_registration.description = Malaktivigas registriĝojn. Sole administrantoj rajtos krei novajn kontojn.
db_schema = Skemo
reinstall_error = Vi provas instali al jamekzistanta Forgejo-datumbazo
err_empty_admin_password = La pasvorto de administranto ne malplenu.
disable_gravatar = Malŝalti profilbildojn per Gravatar
disable_gravatar = Malaktivigi Gravatar-on
repo_path_helper = Foraj Git-deponejoj konserviĝos al tiu ĉi dosierujo.
sqlite_helper = Dosiervojo por la datumbazo SQLite3.<br>Enigu absolutan vojon se vi rulas Forgejon kiel servo.
enable_captcha = Ŝalti dumregistriĝan teston de homeco
@ -237,7 +250,7 @@ require_db_desc = Forgejo bezonas kiel datumbazo MySQL, PostgreSQL, SQLite3, aŭ
smtp_from = Sendu retleterojn kiel
general_title = Ĝeneralaj agordoj
password = Pasvorto
lfs_path_helper = Dosieroj spurataj de Git LFS konserviĝos en tiu ĉi dosierujo. Lasu malplena por malŝalti.
lfs_path_helper = Dosieroj spurataj de Git LFS konserviĝos en tiu ĉi dosierujo. Lasu malplena por malaktivigi.
openid_signin = Ŝalti salutadon per OpenID
host = Gastiganto
docker_helper = Se vi rulas Forgejon per Docker, bonvolu legi la <a target="_blank" rel="noopener noreferrer" href="%s">gvidpaĝojn</a> antaŭ ajna agordoŝanĝo.
@ -245,67 +258,71 @@ federated_avatar_lookup = Ŝalti federajn profilbildojn
optional_title = Malnepraj agordoj
domain_helper = Retnomo aŭ adreso de la servilo.
mail_notify = Ŝalti retpoŝtajn sciigojn
app_url = Forgejo Baza URL
app_url = Baza URL
ssl_mode = SSL
db_title = Datumbazaj agordoj
err_empty_db_path = La datumbazovojo de SQLite3 ne malplenu.
openid_signin.description = Ŝaltas salutadon per OpenID.
openid_signin.description = Permesas al la uzantoj ensaluti per OpenID.
smtp_from_helper = Retpoŝtadreson kiun uzos Forgejo. Enmetu ordinaran adreson aŭ laŭ la formo «"Name" <email@example.com>».
enable_captcha.description = Postulas teston de homeco dum registriĝoj.
ssh_port_helper = Adresporda numero kiun atentas via SSH-servilo. Lasu malplena por malŝalti.
enable_captcha.description = Postuli teston de homeco al la uzantoj kreantaj kontojn.
ssh_port_helper = Adresporda numero kiu estos uzata de la SSH-servilo. Lasu malplena por malaktivigi la SSH-servilon.
lfs_path = Git LFS dosiervojo
app_name_helper = Vi povas enmeti la nomon de via kompanio ĉi tien.
http_port_helper = Adresporda numero kiun atentos la HTTP-servilo de Forgejo.
http_port = Forgejo HTTP adrespordo
app_name_helper = Vi povas enmeti la nomon de via kompanio ĉi tien. Ĝi montriĝos en ĉiuj retpaĝoj.
http_port_helper = Adresporda numero kiu estos uzta de la HTTP-servilo de Forgejo.
http_port = HTTP adrespordo
db_schema_helper = Lasu malplena por implicita («public»).
ssh_port = SSH adrespordo
err_admin_name_is_reserved = Uzantonomo de administranto malvalidas, tiu uzantonomo estas rezerva
openid_signup.description = Ŝaltas uzantregistriĝon per OpenID.
openid_signup.description = Permesi al la uzantoj krei kontojn per OpenID se reĝitriĝo aktivas.
db_type = Datumbazospeco
email_title = Retpoŝtaj agordoj
offline_mode = Ŝalti lokan reĝimon
reinstall_confirm_check_1 = La datumoj ĉifritaj per la ŝlosilo SECRET_KEY en app.ini eble perdiĝos; eblas ke uzantoj ne povos saluti per dumaniera-saluto aŭ unufojaj pasvortoj, kaj ke spegulado ne funkcios ĝuste. Ŝaltinte tiun ĉi skatolon, vi asertas ke la nuna app.ini dosiero enhavas la ĝustan SECRET_KEY.
app_name = Retejonomo
server_service_title = Servilaj kaj fremdservaj agordoj
require_sign_in_view = Postuli saluton por vidi paĝojn
require_sign_in_view = Postuli saluton por vidi instancan enhavon
register_confirm = Postuli retpoŝtan kontrolon por registri
admin_password = Pasvorto
admin_title = Administrantaj kontagordoj
admin_email = Retpoŝtadreso
install_btn_confirm = Instali Forgejon
require_sign_in_view.description = Kaŝi paĝon de ajna nesalutinto. Vizitantoj sole vidos salutajn kaj registriĝajn paĝojn.
require_sign_in_view.description = Kaŝi paĝon de ajna nesalutinto. Vizitantoj nur vidos salutajn kaj registriĝajn paĝojn.
invalid_db_setting = La datumbazaj agordoj malvalidas: %v
invalid_db_table = La datumbaza tabelo «%s» malvalidas: %v
sqlite3_not_available = Ĉi tiu versio de Forgejo ne subtenas SQLite3. Bonvolu elŝuti la oficialan ruldosieron de %s (ne la version «gobuild»).
invalid_app_data_path = La programdatuma dosiervojo malvalidas: %s
test_git_failed = Ne povis testi programon «git»: %v
test_git_failed = Ne povis testi "git" komandon: %v
confirm_password = Konfirmi pasvorton
invalid_repo_path = La deponeja dosiervojo malvalidas: %v
admin_name = Administranto uzantonomo
admin_setting.description = Krei administranton estas malnepra. La unue registrota uzanto memage iĝos administranto.
run_user_not_match = La «rulu kiel» uzantonomo ne samas al la nuna uzantonomo: %s -> %s
admin_name = Administranta uzantnomo
admin_setting.description = Krei administrantan konton malnepras. La unua registrota uzanto aŭtomate iĝos administranto.
run_user_not_match = La "ruli kiel tiu uzanto" uzantnomo ne samas al la nuna uzantnomo: %s -> %s
secret_key_failed = Malsukcesis kreante sekretan ŝlosilon: %v
save_config_failed = Malsukcesis konservante agordojn: %v
invalid_admin_setting = Agordoj de administranta konto malvalidas: %v
enable_update_checker_helper_forgejo = Foje serĉas novajn versiojn de Forgejo per kontrolado de DNS TXT registraĵo ĉe release.forgejo.org.
enable_update_checker_helper_forgejo = Periode serĉos novajn versiojn de Forgejo kontrolante DNS TXT registraĵon ĉe release.forgejo.org.
invalid_log_root_path = La protokola dosiervojo malvalidas: %v
default_enable_timetracking = Ŝalti tempospuradon implicite
default_enable_timetracking.description = Ŝaltus tempospuradon por novaj deponejoj implicite.
default_keep_email_private.description = Kaŝus retpoŝtadresojn de novaj kontoj implicite.
default_allow_create_organization = Permesi kreadon de organizaĵoj implicite
default_enable_timetracking = Aktivigi tempospuradon defaŭlte
default_enable_timetracking.description = Aktivigas tempospuradon por novaj deponejoj defaŭlte.
default_keep_email_private.description = Kaŝi defaŭlte retpoŝtadresojn por novaj uzantoj por ke iliaj informoj ne senprokraste likiĝas post reĝistriĝo.
default_allow_create_organization = Permesi kreadon de organizaĵoj defaŭlte
allow_dots_in_usernames = Permesi ĉeeston de punktoj en uzantonomoj. Ne efikas je jamaj kontoj.
no_reply_address = Retnomo de retpoŝtaj kaŝadresoj
default_keep_email_private = Kaŝi retpoŝtadresojn implicite
default_allow_create_organization.description = Permesus novajn uzantojn krei organizaĵojn implicite.
no_reply_address = Retnomo por kaŝitaj retpoŝtadresoj
default_keep_email_private = Kaŝi retpoŝtadresojn defaŭlte
default_allow_create_organization.description = Permesi al novaj uzantoj krei organizaĵojn defaŭlte. Kiam ĉi tiu opcio malaktiviĝas, administranto devos permesi al novaj uzantoj krei organizaĵojn.
env_config_keys_prompt = La jenaj mediaj variantoj ankaŭ fandiĝos kun via agordodosiero:
no_reply_address_helper = Retnomo kiu uziĝus por uzantoj kun kaŝita retpoŝtadreso. Ekzemple, la uzanto «adamo» protokoliĝus je Git kiel «adamo@nerespondu.ekzemplo.org» se la adreskaŝa retnomo estus «nerespondu.ekzemplo.org».
enable_update_checker = Ŝalti novversian kontrolanton
enable_update_checker = Aktivigi novversian kontrolanton
password_algorithm = Pasvorthaketiga algoritmo
env_config_keys = Mediagordoj
invalid_password_algorithm = Malvalida pasvorthakeita algoritmo
password_algorithm_helper = Agordas la pasvorthaketigan algoritmon. Algoritmoj havas malsamajn postulojn kaj efikecojn. La algoritmo argon2 sufiĉe sekuras, sed postulas multan memoron kaj eble ne taŭgas por nepotencaj serviloj.
internal_token_failed = Malsukcesis krei internan ĵetonon: %v
smtp_from_invalid = La «Sendu retleterojn kiel» adreso malvalidas
allow_only_external_registration = Permesi registriĝon nur per fremdaj servoj
app_slogan = Instanca frapfrazo
app_slogan_helper = Enigu vian instancan frapfrazon ĉi tien. Lasu malplena por malaktivigi.
config_location_hint = Ĉi tiuj agordoj konserviĝos en:
[admin]
config.app_data_path = Programdatuja doseiervojo
@ -315,8 +332,8 @@ config.allow_dots_in_usernames = Permesi ĉeeston de punktoj en uzantonomoj. Ne
filter = Aliaj filtriloj
show_archived = Arĥivita
search_repos = Serĉi deponejon…
my_orgs = Miaj organizaĵoj
uname_holder = Uzantonomo aŭ Retpoŝtadreso
my_orgs = Organizaĵoj
uname_holder = Uzantnomo aŭ retpoŝtadreso
my_repos = Deponejoj
show_both_archived_unarchived = Montras arĥivitajn kaj nearĥivitajn
feed_of = Fluo de «%s»
@ -333,7 +350,7 @@ show_only_unarchived = Montras sole nearĥivitajn
my_mirrors = Miaj speguloj
show_only_archived = Montras sole arĥivitajn
view_home = Vidi %s
switch_dashboard_context = Ŝanĝi labortablon
switch_dashboard_context = Baskuli la kuntekston de la kontrolpanelo
[explore]
search.match.tooltip = Inkluzivu sole rezultojn kiuj akordas precize la serĉomendon
@ -355,22 +372,26 @@ code_search_results = Serĉrezultoj je «%s»
relevant_repositories = Sole montras aktualajn deponejojn, <a href="%s">montri senfiltrajn rezultojn</a>.
code_last_indexed_at = Plejfreŝe esplorita je %s
code_no_results = Neniu fontkodo akorda laŭ via serĉomendo trovita.
forks_few = %d disbranĉigoj
stars_one = %d stelo
forks_one = %d disbranĉigo
stars_few = %d steloj
[auth]
disable_register_mail = Retpoŝta konfirmado dum registriĝo estas malŝaltita.
disable_register_mail = Retpoŝta konfirmado dum registriĝo estas malaktivigita.
sign_up_successful = Konto sukcese kreita. Bonvenon!
forgot_password = Ĉu forgesis pasvorton?
sign_up_now = Ĉu bezonas konton? Registriĝu nun.
forgot_password_title = Forgesis pasvorton
social_register_helper_msg = Ĉu vi jam havas konton? Alligu ĝin nun!
create_new_account = Registri konton
disable_register_prompt = Registrado estas malŝaltita. Bonvolu sciigi vian retejestron.
disable_register_prompt = Registrado estas malaktivigita. Bonvolu sciigi vian retejestron.
register_helper_msg = Ĉu vi jam havas konton? Salutu nun!
manual_activation_only = Kunparolu vian retejestron por finpretigi vian konton.
authorization_failed_desc = La aprobo malsukcesis ĉar ni rimarkis malvalidan peton. Bonvolu sciigi la prizorganton de la programo kiun vi provis aprobi.
oauth_signin_tab = LIgi al jama konto
oauth_signin_tab = Ligi al jama konto
invalid_password = Via pasvorto ne samas tiun uzitan dum kreiĝo de via konto.
send_reset_mail = Sendi retleteron por rehavigo de konto
send_reset_mail = Sendi retleteron de rehavigo
oauth_signin_title = Salutu por aprobi kontligiĝon
reset_password_helper = Rehavigi konton
tab_openid = OpenID
@ -382,7 +403,7 @@ login_userpass = Saluti
password_too_short = Pasvortoj devas longi minimume %d signojn.
resend_mail = Klaki ĉi tien por resendi vian konfirmleteron
change_unconfirmed_email_error = Ne povis ŝanĝi la retpoŝtadreson: %v
authorize_application_description = Se vi permesus aliron, ĝi povos aliri kaj redakti ĉiujn viajn kontinformojn, inkluzivante privatajn deponejojn kaj organizaĵojn.
authorize_application_description = Se vi permesus aliron, ĝi povos aliri kaj redakti ĉiujn viajn kontinformojn, inkluzive privatajn deponejojn kaj organizaĵojn.
allow_password_change = Postuli novan pasvorton de la uzanto (rekomendita)
oauth.signin.error.access_denied = La aprobpeto malakceptiĝis.
authorize_title = Aprobi aliron de via konto al «%s»?
@ -394,15 +415,15 @@ disable_forgot_password_mail = Rehavigo de konto estas malsaltita ĉar neniu ret
last_admin = Vi ne povas forigi la lastan administranton. Nepras havi almenaŭ unu administranton.
reset_password_wrong_user = Vi salutis kiel %s, sed la kontrehaviga ligilo estas celata al %s
openid_connect_title = Konekti jaman konton
confirmation_mail_sent_prompt = Sendis novan konfirmleteron al <b>%s</b>. Bonvolu kontroli vian retleterkeston antaŭ la venonta %s. Se la retpoŝtadreso malĝustas, vi povus saluti kaj peti sendon de plia konfirmletero al alian adreson.
confirmation_mail_sent_prompt = Sendis konfirmleteron al <b>%s</b>. Por fini la reĝistriĝon, bonvolu kontroli vian retleterkeston kaj sekvi la provizotan ligilon antaŭ la venonta %s. Se la retletero malĝustas, vi povas saluti kaj peti ke alian konfirmleteron estas sendota al malsama retpoŝtadreso.
password_pwned = La pasvorton kiun vi elektis listiĝas ĉe <a target="_blank" rel="noopener noreferrer" href="%s">listo de ŝtelitaj pasvortoj</a> kiu publikiĝis pro datumŝtelo. Bonvolu reprovi kun alia pasvorto, kaj konsideru anstataŭigon de ĉi tiu pasvorto ĉe aliaj kontoj.
authorize_application_created_by = Ĉi tiun programon kreis %s.
prohibit_login = Salutado malpermesita
prohibit_login = La konto estas suspendita
openid_register_title = Krei novan konton
email_domain_blacklisted = Vi ne povas registriĝi per via retpoŝtadreso.
verify = Konfirmi
oauth_signup_submit = Finfari konton
prohibit_login_desc = Salutado per via konto estas malpermesita, bonvolu kunparoli vian retejestron.
prohibit_login_desc = Via konto estas suspendita kaj ne povas interagi kun la instanco. Bonvolu kontakti vian retejestron por regajni aliron.
openid_connect_desc = La elektita OpenID URI estas nekonata. Ligu ĝin al nova konto ĉi tie.
oauth.signin.error = Eraris traktante aprobpeton. Se plu eraros, bonvolu kunparoli la retejestron.
invalid_code = Via konfirmkodo malvalidas aŭ eksdatiĝis.
@ -412,7 +433,7 @@ email_not_associate = Tiu retpoŝtadreso estas ligita al neniu konto.
openid_signin_desc = Enmetu vian OpenID URI. Ekzemple: sofia.openid.example.org aŭ https://openid.example.org/sofia.
disable_forgot_password_mail_admin = Rehavigo de konto sole uzeblas se retpoŝto estas agordita. Bonvolu agordi retpoŝton por ŝalti kontrehavigon.
change_unconfirmed_email = Se vi donis la malĝustan retpoŝtadreson dum registriĝo, vi povas ŝanĝi ĝin sube, kaj konfirmletero sendiĝus al tiu anstataŭe.
reset_password_mail_sent_prompt = Sendis novan konfirmleteron al <b>%s</b>. Bonvolu kontroli vian retleterkeston antaŭ la venonta %s, por daŭrigi rehavigon de konto.
reset_password_mail_sent_prompt = Sendis konfirmleteron al <b>%s</b>. Por fini la rehavigon de konto, bonvolu kontroli vian retleterkeston kaj sekvi la provizotan ligilon antaŭ la venonta %s.
openid_register_desc = La elektita OpenID URI estas nekonata. Ligi ĝin al nova konto ĉi tie.
reset_password = Rehavigo de konto
sspi_auth_failed = SSPI aŭtentikigo malsukcesis
@ -424,6 +445,16 @@ change_unconfirmed_email_summary = Ŝanĝi al retpoŝtadreson al kiu la aktiviga
invalid_code_forgot_password = Via konfirmkodo malvalidas aŭ jam eksdatiĝis. Klaku <a href="%s">ĉi tien</a> por komenci novan saluton.
authorize_redirect_notice = Vi alidirektiĝos al %s se vi aprobus ĉi tiun programon.
active_your_account = Aktivigi vian konton
unauthorized_credentials = Viaj salutiloj malĝustas aŭ eksdatiĝis. Reprovu vian komandon aŭ vidu %s por pli da informoj
scratch_code = Sukuranta kodo
use_scratch_code = Uzi sukurantan kodon
twofa_scratch_used = Vi uzis vian sukurantan kodon. Vi redirektiĝis al la agorda retpaĝo por forigi la duoblan aŭtentikigon el via aparato aŭ generi novan sukurantan kodon.
twofa_passcode_incorrect = Via paskodo malĝustas. Se vi mislokis vian aparaton, uzu vian sukurantan kodo por saluti.
twofa_scratch_token_incorrect = Via sukuranta kodo malĝustas.
hint_login = Ĉu vi jam havas konton? <a href="%s">Salutu nun!</a>
hint_register = Ĉu vi bezonas konton? <a href="%s">Reĝistriĝi nun.</a>
sign_up_button = Reĝistriĝi nun.
sign_in_openid = Daŭrigi kun OpenID
[mail]
activate_account.text_1 = Saluton <b>%[1]s</b>, dankon pro via registriĝo ĉe %[2]s!
@ -459,7 +490,7 @@ admin.new_user.subject = Nova uzanto %s ĵus registriĝis
register_notify.text_3 = Se iu alia kreis ĉi tiun konton anstataŭ vi, bonvolu <a href="%s">ŝanĝi vian pasvorton</a> tuj.
release.new.subject = %s en %s eldoniĝis
view_it_on = Vidu ĝin ĉe %s
register_notify.text_2 = Vi nun povas saluti per la uzantonomo: %s.
register_notify.text_2 = Vi povas saluti per la uzantonomo: %s
team_invite.text_1 = %[1]s invitis vin aliĝi grupon %[2]s en organizaĵo %[3]s.
reset_password.title = %s, vi petis rehavigon de via konto
repo.collaborator.added.text = Vi aldoniĝis kiel kunlaboranto de deponejo:
@ -475,6 +506,13 @@ issue.action.push_n = <b>@%[1]s</b> puŝis %[3]d enmetojn al %[2]s
activate_account = Bonvolu aktivigi vian konton
activate_account.title = %s, bonvolu aktivigi vian konton
activate_account.text_2 = Bonvolu klaki la jenan ligilon por aktivigi vian konton antaŭ <b>%s</b>:
primary_mail_change.text_1 = La ĉefa retpoŝtadreso de via konto ĵus ŝanĝiĝis en %[1]s. Tio volas diri ke ĉi tiu retpoŝtadreso ne ricevos plu sciigojn pri via konto.
totp_disabled.subject = TOTP ĵus malaktiviĝis
password_change.subject = Via pasvorto ŝanĝiĝis
password_change.text_1 = La pasvorto de via konto ĵus ŝanĝiĝis.
primary_mail_change.subject = Via ĉefa retpoŝtadreso ŝanĝiĝis
totp_disabled.text_1 = La tempobazita unufoja pasvorto (TOTP) en via konto ĵus malaktiviĝis.
admin.new_user.text = Bonvolu <a href="%s">klaki ĉi tie</a> por konduki ĉi tiun uzanton el la administranta agordilo.
[form]
TeamName = Gruponomo
@ -559,7 +597,7 @@ yes = Jes
[settings]
applications = Programoj
password = Pasvorto
twofa_disabled = Duobla aŭtentikigo malŝaltita.
twofa_disabled = Duobla aŭtentikigo malaktivigita.
appearance = Aspekto
repos = Deponejoj
delete = Forigi konton
@ -574,11 +612,11 @@ account_link = Ligitaj kontoj
organization = Organizaĵoj
public_profile = Publika profilo
openid_desc = OpenID povigas vin utiligi foran servilon por aŭtentikigo.
twofa_disable_note = Vi povas malŝalti duoblan aŭtentikigon, laŭbezone.
twofa_disable_note = Vi povas malaktivigi duoblan aŭtentikigon, laŭbezone.
security = Sekureco
account = Konto
ssh_gpg_keys = SSH / GPG-ŝlosiloj
twofa_disable = Malŝalti duoblan aŭtentikigon
twofa_disable = Malaktivigi duoblan aŭtentikigon
twofa_enroll = Ŝalti duoblan aŭtentikigon
orgs = Mastrumi organizaĵojn
blocked_users = Blokitaj uzantoj
@ -647,7 +685,7 @@ update_user_avatar_success = Profilbildo de uzanto ĝisdatigita.
manage_oauth2_applications = Mastrumi OAuth2-programojn
activations_pending = Atendas konfirmiĝon
primary = Ĉefa
ssh_disabled = SSH malŝaltita
ssh_disabled = SSH malaktivigita
update_avatar_success = Via profilbildo konserviĝis.
keep_email_private = Kaŝi retpoŝtadreson
manage_openid = Mastrumi OpenID-adresojn
@ -813,4 +851,30 @@ npm.details.tag = Etikedo
[search]
search = Serĉi...
search = Serĉi...
regexp = RegEsp
milestone_kind = Serĉi celojn...
code_search_by_git_grep = Nunaj rezultoj de kodoserĉo estas provizitaj de "git grep". Eble estas plibonaj rezultoj se la retejestro aktivigas la indeksilon de kodo.
code_search_unavailable = Kodoserĉo ne haveblas nune. Bonvolu kontakti la retejestron.
package_kind = Serĉi pakojn...
type_tooltip = Serĉotipo
user_kind = Serĉi uzantojn...
fuzzy_tooltip = Inkluzivas rezultojn proksime kongruantajn kun la serĉoterminoj
repo_kind = Serĉi deponejojn...
org_kind = Serĉi organizaĵojn...
code_kind = Serĉi kodon...
project_kind = Serĉi projektojn...
team_kind = Serĉi teamojn...
keyword_search_unavailable = Serĉo per ŝlosilvortoj ne haveblas nune. Bonvolu kontakti la retejestron.
union = Ŝlosilvortoj
union_tooltip = Inkluzivas rezultojn kongruantajn kun la ajnaj blankaspacitaj ŝlosilvortoj
commit_kind = Serĉi enmetojn...
no_results = Ne trovis kongruantajn rezultojn.
exact = Ĝusta
exact_tooltip = Inkluzivas nur rezultojn kongruantajn kun la ĝustaj serĉoterminoj
issue_kind = Serĉi erarojn...
regexp_tooltip = Interpretas la serĉoterminoj kiel regulesprimo
fuzzy = Svaga
branch_kind = Serĉi disbranĉigojn...
runner_kind = Serĉi rulantojn...
pull_kind = Serĉi tirpetojn...

View file

@ -2431,7 +2431,7 @@ settings.require_signed_commits_desc=Rechazar push en esta rama si los commits n
settings.protect_branch_name_pattern=Patrón de nombre de ramas protegidas
settings.protect_patterns=Patrones
settings.protect_protected_file_patterns=Patrones de archivos protegidos (separados con punto y coma ';')
settings.protect_protected_file_patterns_desc=No está permitido cambiar archivos directamente incluso si el usuario tiene permiso para agregar, editar o borrar archivos en esta rama. Múltiples patrones pueden separarse usando punto y coma (';'). Refvisa la documentación de <a href='%s'>github.com/gobwas/glob</a> para la sintaxis de patrones. Ejemplos: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc=No está permitido cambiar archivos directamente incluso si el usuario tiene permiso para agregar, editar o borrar archivos en esta rama. Múltiples patrones pueden separarse usando punto y coma (';'). Refvisa la documentación de <a href='%s'>%s</a> para la sintaxis de patrones. Ejemplos: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Patrones de archivos sin protección (separados con punto y coma ";")
settings.protect_unprotected_file_patterns_desc=Los archivos sin protección se pueden cambiar directamente si el usuario tiene acceso de escritura, evitando la restricción push. Múltiples patrones pueden separarse usando punto y coma (';'). Vea la documentación de <a href='%[1]s'>%[2]s</a> para la sintaxis de patrones. Ejemplos: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Activar protección
@ -3770,6 +3770,7 @@ variables.id_not_exist = Variable con id %d no existe.
type-1.display_name=Proyecto individual
type-2.display_name=Proyecto repositorio
type-3.display_name=Proyecto de organización
deleted.display_name = Proyecto borrado
[git.filemode]
changed_filemode=%[1]s → %[2]s
@ -3807,4 +3808,8 @@ exact = Exacto
exact_tooltip = Incluir sólo los resultados que corresponden al término de búsqueda exacto
issue_kind = Buscar incidencias…
fuzzy = Difusa
runner_kind = Buscar ejecutores…
runner_kind = Buscar ejecutores…
[markup]
filepreview.lines = Líneas %[1]d a %[2]d en %[3]s
filepreview.line = Línea %[1]d en %[2]s

View file

@ -15,9 +15,9 @@ page=صفحه
template=قالب
language=زبان
notifications=اعلان‌ها
active_stopwatch=فعال کردن ثبت زمان
active_stopwatch=فعال کردن ردیاب زمان
create_new=ایجاد…
user_profile_and_more=پروفایل و تنظیمات…
user_profile_and_more=نمایه و تنظیمات…
signed_in_as=ورود به عنوان
toc=فهرست محتویات
licenses=گواهینامه ها

View file

@ -21,13 +21,13 @@ user_profile_and_more=Profiili ja asetukset…
signed_in_as=Kirjautuneena käyttäjänä
toc=Sisällysluettelo
licenses=Lisenssit
return_to_forgejo=Palaa Forgejoan
return_to_forgejo=Palaa Forgejohon
username=Käyttäjätunnus
email=Sähköpostiosoite
password=Salasana
access_token=Pääsymerkki
re_type=Varmista salasana
re_type=Vahvista salasana
captcha=CAPTCHA
twofa=Kaksivaiheinen todennus
twofa_scratch=Kaksivaiheinen kertakäyttöinen koodi
@ -52,7 +52,7 @@ organization=Organisaatio
mirror=Peili
new_repo=Uusi repo
new_migrate=Uusi migraatio
new_mirror=Uusi peilaus
new_mirror=Uusi peilipalvelin
new_fork=Uusi repositorio
new_org=Uusi organisaatio
new_project=Uusi projekti
@ -131,6 +131,33 @@ unknown = Tuntematon
show_timestamps = Näytä aikaleimat
show_log_seconds = Näytä sekunnit
copy_generic = Kopioi leikepöydälle
active_stopwatch = Aktiivisen ajan seuranta
tracked_time_summary = Yhteenveto seuratusta ajasta, perustuen ongelmalistaan
remove_label_str = Poista "%s"
view = Näytä
toggle_menu = Avaa/sulje valikko
error413 = Olet täyttänyt kiintiösi.
copy_hash = Kopioi tiiviste
go_back = Palaa
more_items = Lisää
pin = Kiinnitä
unpin = Poista kiinnitys
confirm_delete_selected = Haluatko varmasti poistaa kaikki valitut kohteet?
value = Arvo
rerun = Suorita uudelleen
filter.clear = Tyhjennä suodattimet
invalid_data = Virheellistä dataa: %v
new_repo.title = Uusi repositorio
new_org.title = Uusi organisaatio
new_org.link = Uusi organisaatio
new_repo.link = Uusi repositorio
new_migrate.link = Uusi siirto
rerun_all = Uudelleensuorita kaikki työt
artifacts = Artifaktit
confirm_delete_artifact = Oletko varma, että haluat poistaa artifaktin "%s" ?
new_migrate.title = Uusi migraatio
test = Testi
concept_system_global = Globaali
[aria]
footer.links = Linkit
@ -144,6 +171,7 @@ buttons.code.tooltip = Lisää koodia
buttons.link.tooltip = Lisää linkki
buttons.mention.tooltip = Mainitse käyttäjä tai tiimi
buttons.list.task.tooltip = Lisää tehtävälista
buttons.disable_monospace_font = Poista tasalevyinen fontti käytöstä
[filter]
string.asc = A - Ö
@ -1780,3 +1808,11 @@ runs.commit=Commit
[git.filemode]
; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …
[search]
search = Hae...
type_tooltip = Haun tyyppi
fuzzy_tooltip = Sisällytä tulokset, jotka myös melkein vastaavat hakusanaa
regexp = RegExp
regexp_tooltip = Tulkitse hakutermi säännöllisenä lausekkeena

View file

@ -2008,6 +2008,8 @@ settings.mirror_settings.docs.disabled_push_mirror.info = Na-disable ng iyong ta
settings.mirror_settings.docs.disabled_push_mirror.instructions = I-set up ang iyong proyekto na awtomatikong hilahin ang mga commit, tag at branch mula sa isa pang repositoryo.
settings.mirror_settings.docs.disabled_pull_mirror.instructions = I-set up ang iyong proyekto na awtomatikong magtulak ng mga commit, tag at branch sa isa pang repositoryo. Na-disable ng iyong tagapangasiwa ng site ang mga pull mirror.
activity.overview = Pangkalahatang Ideya
mirror_public_key = Pampublikong susi ng SSH
milestones.cancel =
[search]
commit_kind = Maghanap ng mga commit...

View file

@ -207,7 +207,7 @@ string.desc=Z - A
[error]
occurred=Une erreur sest produite
report_message=Si vous pensez qu'il s'agit d'un bug Forgejo, veuillez consulter notre board <a href="%s" target="_blank">Codeberg</a> ou ouvrir un nouveau ticket si nécessaire.
report_message=Si vous pensez qu'il s'agit d'un bug Forgejo, veuillez consulter les tickets de <a href="%s" target="_blank">Codeberg</a> ou ouvrir un nouveau ticket si nécessaire.
missing_csrf=Requête incorrecte: aucun jeton CSRF présent
invalid_csrf=Requête incorrecte : jeton CSRF invalide
not_found=La cible n'a pu être trouvée.
@ -223,7 +223,7 @@ platform_desc=Forgejo est confirmé fonctionner sur des systèmes d'exploitation
lightweight=Léger
lightweight_desc=Forgejo utilise peu de ressources. Il peut même tourner sur un Raspberry Pi très bon marché. Économisez l'énergie de vos serveurs !
license=Open Source
license_desc=Toutes les sources sont sur <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>! Rejoignez-nous et <a target="_blank" rel="noopener noreferrer" href="https://codeberg.org/forgejo/forgejo">contribuez</a> à rendre ce projet encore meilleur!
license_desc=Toutes les sources sont sur <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>! Rejoignez-nous et <a target="_blank" rel="noopener noreferrer" href="https://codeberg.org/forgejo/forgejo">contribuez</a> à rendre ce projet encore meilleur. Ne craignez pas de devenir un·e contributeur·trice !
[install]
install=Installation
@ -478,6 +478,7 @@ sign_up_button = Creation d'un compte.
hint_login = Vous avez déjà un compte? <a href="%s">Connectez vous maintenant!</a>
back_to_sign_in = Retour à la connexion
sign_in_openid = Continuer avec OpenID
unauthorized_credentials = Vos identifiants sont invalides ou ont expiré. Réessayez votre commande, ou allez à %s pour plus d'informations
[mail]
view_it_on=Voir sur %s
@ -558,6 +559,11 @@ removed_security_key.subject = Une clé de sécurité a été supprimée
totp_disabled.subject = TOTP a été désactivé
removed_security_key.no_2fa = Il n'y a plus de méthodes 2FA configurées ce qui signifie qu'il n'est plus nécessaire d'utiliser 2FA pour se connecter à votre compte.
account_security_caution.text_1 = Si vous êtes à lorigine de cette action, vous pouvez ignorer ce courriel.
totp_enrolled.text_1.no_webauthn = Vous venez d'activer TOTP pour votre compte. Cela signifie que pour toutes les prochaines connexions à votre compte, vous devrez utiliser TOTP comme méthode 2FA.
totp_enrolled.subject = Vous avez activé TOTP comme méthode 2FA
totp_enrolled.text_1.has_webauthn = Vous venez d'activer TOTP pour votre compte. Cela signifie que pour toutes les prochaines connexions à votre compte, vous pouvez utiliser TOTP comme méthode 2FA ou l'une de vos clés de sécurité.
removed_security_key.text_1 = La clé de sécurité « %[1]s » vient d'être supprimée de votre compte.
account_security_caution.text_2 = S'il ne s'agissait pas de vous, votre compte est compromis. Veuillez contacter les administrateurs du site.
[modal]
yes=Oui
@ -823,7 +829,7 @@ add_new_email=Ajouter une nouvelle adresse e-mail
add_new_openid=Ajouter une nouvelle URI OpenID
add_email=Ajouter une adresse courriel
add_openid=Ajouter une URI OpenID
add_email_confirmation_sent=Un e-mail de confirmation a été envoyé à "%s". Veuillez vérifier votre boîte de réception dans les %s suivants pour confirmer votre adresse e-mail.
add_email_confirmation_sent=Un courriel de confirmation a été envoyé à « %s ». Pour confirmer votre adresse de courriel, veuillez vérifier votre boîte de réception et suivre le lien indiqué dans les prochains %s.
add_email_success=La nouvelle adresse e-mail a été ajoutée.
email_preference_set_success=L'e-mail de préférence a été défini avec succès.
add_openid_success=La nouvelle adresse OpenID a été ajoutée.
@ -1042,6 +1048,8 @@ pronouns = Pronoms
pronouns_unspecified = Non spécifiés
language.title = Langue par défaut
keep_activity_private.description = Vous seul pourrez voir votre <a href="%s">activité publique</a>, ainsi que les administrateurs de l'instance.
language.localization_project = Aidez-nous à traduire Forgejo dans votre langue ! <a href="%s">En savoir plus</a>.
language.description = Cette langue sera enregistrée dans votre compte et utilisée comme langue par défaut après votre connexion.
[repo]
new_repo_helper=Un dépôt contient tous les fichiers dun projet, ainsi que lhistorique de leurs modifications. Vous avez déjà ça ailleurs ? <a href="%s">Migrez-le ici.</a>
@ -1421,7 +1429,7 @@ commitstatus.failure=Échec
commitstatus.pending=En attente
commitstatus.success=Succès
ext_issues=Accès aux tickets externes
ext_issues=Tickets externes
ext_issues.desc=Lien vers un gestionnaire de tickets externe.
projects=Projets
@ -1602,9 +1610,9 @@ issues.no_content=Sans contenu.
issues.close=Fermer le ticket
issues.comment_pull_merged_at=a fusionné la révision %[1]s dans %[2]s %[3]s
issues.comment_manually_pull_merged_at=a fusionné manuellement la révision %[1]s dans %[2]s %[3]s
issues.close_comment_issue=Commenter et fermer
issues.close_comment_issue=Fermer avec le commentaire
issues.reopen_issue=Rouvrir
issues.reopen_comment_issue=Commenter et réouvrir
issues.reopen_comment_issue=Réouvrir avec le commentaire
issues.create_comment=Commenter
issues.closed_at=`a fermé ce ticket <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
issues.reopened_at=`a réouvert ce ticket <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
@ -1993,7 +2001,7 @@ signing.wont_sign.commitssigned=La fusion ne sera pas signée car ses révisions
signing.wont_sign.approved=La fusion ne sera pas signée car la demande d'ajout n'a pas été approuvée.
signing.wont_sign.not_signed_in=Vous n'êtes pas connecté.
ext_wiki=Accès au wiki externe
ext_wiki=Wiki externe
ext_wiki.desc=Lier un wiki externe.
wiki=Wiki
@ -2067,7 +2075,7 @@ activity.unresolved_conv_label=Ouvrir
activity.title.releases_1=%d publication
activity.title.releases_n=%d publications
activity.title.releases_published_by=%s publiée par %s
activity.published_release_label=Publiée
activity.published_release_label=Publication
activity.no_git_activity=Il n'y a pas eu de nouvelle révision dans cette période.
activity.git_stats_exclude_merges=En excluant les fusions,
activity.git_stats_author_1=%d auteur
@ -2418,28 +2426,28 @@ settings.protect_enable_merge_desc=Toute personne ayant un accès en écriture s
settings.protect_whitelist_committers=Liste blanche des soumissions (push)
settings.protect_whitelist_committers_desc=Seuls les utilisateurs ou les équipes autorisés pourront soumettre sur cette branche (sans forcer).
settings.protect_whitelist_deploy_keys=Mettez les clés de déploiement sur liste blanche avec accès en écriture pour soumettre.
settings.protect_whitelist_users=Utilisateurs sur liste blanche :
settings.protect_whitelist_users=Utilisateurs sur liste blanche pour pousser
settings.protect_whitelist_search_users=Rechercher des utilisateurs…
settings.protect_whitelist_teams=Équipes sur liste blanche :
settings.protect_whitelist_teams=Équipes sur liste blanche pour pousser
settings.protect_whitelist_search_teams=Rechercher des équipes…
settings.protect_merge_whitelist_committers=Activer la liste blanche pour la fusion
settings.protect_merge_whitelist_committers_desc=N'autoriser que les utilisateurs et les équipes en liste blanche d'appliquer les demandes de fusion sur cette branche.
settings.protect_merge_whitelist_users=Utilisateurs en liste blanche de fusion :
settings.protect_merge_whitelist_teams=Équipes en liste blanche de fusion :
settings.protect_merge_whitelist_users=Utilisateurs en liste blanche pour fusionner
settings.protect_merge_whitelist_teams=Équipes en liste blanche pour fusionner
settings.protect_check_status_contexts=Activer le contrôle de status
settings.protect_status_check_patterns=Motifs de vérification des statuts :
settings.protect_status_check_patterns=Motifs de vérification des statuts
settings.protect_status_check_patterns_desc=Entrez des motifs pour spécifier quelles vérifications doivent réussir avant que des branches puissent être fusionnées. Un motif par ligne. Un motif ne peut être vide.
settings.protect_check_status_contexts_desc=Exiger le status « succès » avant de fusionner. Quand activée, une branche protégée ne peux accepter que des soumissions ou des fusions ayant le status « succès ». Lorsqu'il n'y a pas de contexte, la dernière révision fait foi.
settings.protect_check_status_contexts_list=Contrôles qualité trouvés au cours de la semaine dernière pour ce dépôt
settings.protect_status_check_matched=Correspondant
settings.protect_invalid_status_check_pattern=Motif de vérification des statuts incorrect : « %s ».
settings.protect_no_valid_status_check_patterns=Aucun motif de vérification des statuts valide.
settings.protect_required_approvals=Minimum d'approbations requis :
settings.protect_required_approvals=Approbations requises
settings.protect_required_approvals_desc=Permet de fusionner les demandes dajout lorsque suffisamment dévaluation sont positives.
settings.protect_approvals_whitelist_enabled=Restreindre les approbations aux utilisateurs ou aux équipes en liste blanche
settings.protect_approvals_whitelist_enabled_desc=Seuls les évaluations des utilisateurs ou des équipes suivantes compteront dans les approbations requises. Si laissé vide, les évaluations de toute personne ayant un accès en écriture seront comptabilisées à la place.
settings.protect_approvals_whitelist_users=Évaluateurs autorisés :
settings.protect_approvals_whitelist_teams=Équipes dévaluateurs autorisés :
settings.protect_approvals_whitelist_users=Évaluateurs autorisés
settings.protect_approvals_whitelist_teams=Équipes dévaluateurs autorisés
settings.dismiss_stale_approvals=Révoquer automatiquement les approbations périmées
settings.dismiss_stale_approvals_desc=Lorsque des nouvelles révisions changent le contenu de la demande dajout, les approbations existantes sont révoquées.
settings.ignore_stale_approvals=Ignorer les approbations obsolètes
@ -2449,9 +2457,9 @@ settings.require_signed_commits_desc=Rejeter les soumissions sur cette branche l
settings.protect_branch_name_pattern=Motif de nom de branche protégé
settings.protect_branch_name_pattern_desc=Motifs de nom de branche protégé. Consultez la <a href="%s">documentation</a> pour la syntaxe du motif. Exemples : main, release/**
settings.protect_patterns=Motifs
settings.protect_protected_file_patterns=Liste des fichiers et motifs protégés (séparés par un point virgule ";") :
settings.protect_protected_file_patterns_desc=Les fichiers protégés ne peuvent être modifiés, même si l'utilisateur a le droit d'ajouter, éditer ou supprimer des fichiers dans cette branche. Plusieurs motifs peuvent être séparés par un point-virgule (";"). Veuillez voir <a href="%s">github.com/gobwas/glob</a> la documentation pour la syntaxe des motifs. Exemples : <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Liste des fichiers et motifs exclus (séparés par un point virgule ";") :
settings.protect_protected_file_patterns=Motifs de fichiers protégés (séparés par un point virgule ";")
settings.protect_protected_file_patterns_desc=Les fichiers protégés ne peuvent être modifiés, même si l'utilisateur a le droit d'ajouter, éditer ou supprimer des fichiers dans cette branche. Plusieurs motifs peuvent être séparés par un point-virgule (";"). Veuillez voir <a href="%[1]s">%[2]s</a> la documentation pour la syntaxe des motifs. Exemples : <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Motifs de fichiers non protégés (séparés par un point virgule ";")
settings.protect_unprotected_file_patterns_desc=Les fichiers non-protégés qui peuvent être modifiés si l'utilisateur a le droit d'écriture, prenant le pas sur les restrictions de push. Plusieurs motifs peuvent être séparés par un point-virgule (";"). Veuillez voir <a href="%[1]s">%[2]s</a> la documentation pour la syntaxe des motifs. Exemples : <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Activer la protection
settings.delete_protected_branch=Désactiver la protection
@ -2811,6 +2819,31 @@ settings.federation_following_repos = Les URL des dépôts suivis séparés par
settings.federation_not_enabled = La fédération n'est pas activée pour votre instance.
comments.edit.already_changed = Impossible de sauvegarder les changements du commentaire car son contenu a déjà été modifié par un autre utilisateur. Veuillez recharger la page et essayer de l'éditer à nouveau pour éviter d'écraser ses changements
settings.federation_apapiurl = URL de fédération de ce dépôt. A copier-coller dans les paramètres de fédérations d'un autre dépôt comme URL d'un dépôt à suivre.
mirror_denied_combination = Il n'est pas possible de combiner une authentification par clé publique et par mot de passe.
mirror_public_key = Clé SSH publique
mirror_use_ssh.text = Utiliser l'authentification SSH
mirror_use_ssh.helper = Forgejo va créer un miroir du dépôt via Git sur SSH et créer une paire de clés pour vous lorsque vous sélectionnez cette option. Vous devez vous assurer que la clé publique générée est autorisée à pousser dans le dépôt de destination. Il n'est pas possible d'utiliser l'autorisation basée sur un mot de passe si vous choisissez cette option.
no_eol.text = Pas d'EOL
mirror_use_ssh.not_available = L'authentification par SSH n'est pas disponible.
no_eol.tooltip = Ce fichier ne contient pas de caractère final de fin de ligne.
release.type_attachment = Pièce jointe
settings.transfer_quota_exceeded = Le nouvel utilisateur (%s) a dépassé son quota. Le dépôt n'a pas été transféré.
settings.pull_mirror_sync_quota_exceeded = Quota dépassé, les modifications ne sont pas tirées.
activity.commit = Activité de commit
settings.mirror_settings.push_mirror.copy_public_key = Copier la clé publique
release.asset_external_url = URL externe
release.invalid_external_url = URL externe non valable : « %s »
milestones.filter_sort.name = Nom
settings.mirror_settings.push_mirror.none_ssh = Aucun
settings.protect_new_rule = Créer une nouvelle règle de protection de branche
pulls.cmd_instruction_merge_warning = <b>Avertissement :</b> Le paramètre "détection automatique de la fusion manuelle" n'est pas activé pour ce dépôt, vous devrez marquer cette demande d'ajout comme manuellement fusionnée après.
release.type_external_asset = Actif Externe
activity.published_prerelease_label = Pré-version
activity.published_tag_label = Étiquette
release.asset_name = Nom de l'Actif
release.add_external_asset = Ajouter un Actif Externe
issues.new.assign_to_me = Assigner à moi-même
issues.all_title = Tous
[graphs]
component_loading=Chargement de %s…
@ -2897,8 +2930,8 @@ teams.leave.detail=Êtes vous certain·e de vouloir quitter l'équipe «%s»?
teams.can_create_org_repo=Créer des dépôts
teams.can_create_org_repo_helper=Les membres peuvent créer de nouveaux dépôts dans l'organisation. Le créateur obtiendra l'accès administrateur au nouveau dépôt.
teams.none_access=Aucun accès
teams.none_access_helper=Les membres ne peuvent voir ou faire quoi que ce soit sur cette partie. Sans effet pour les dépôts publics.
teams.general_access=Accès général
teams.none_access_helper=L'option "aucun accès" n'agit que sur les dépôts privés.
teams.general_access=Accès personnalisé
teams.general_access_helper=Les permissions des membres seront déterminées par la table des permissions ci-dessous.
teams.read_access=Lecture
teams.read_access_helper=Les membres peuvent voir et cloner les dépôts de l'équipe.
@ -3043,10 +3076,10 @@ dashboard.delete_old_actions.started=Suppression de toutes les anciennes activit
dashboard.update_checker=Vérificateur de mise à jour
dashboard.delete_old_system_notices=Supprimer toutes les anciennes observations de la base de données
dashboard.gc_lfs=Épousseter les métaobjets LFS
dashboard.stop_zombie_tasks=Arrêter les tâches zombies
dashboard.stop_endless_tasks=Arrêter les tâches sans fin
dashboard.cancel_abandoned_jobs=Annuler les jobs abandonnés
dashboard.start_schedule_tasks=Démarrer les tâches planifiées
dashboard.stop_zombie_tasks=Arrêter les actions zombies
dashboard.stop_endless_tasks=Arrêter les actions sans fin
dashboard.cancel_abandoned_jobs=Annuler les actions abandonnées
dashboard.start_schedule_tasks=Démarrer les actions planifiées
dashboard.sync_branch.started=Début de la synchronisation des branches
dashboard.sync_tag.started=Synchronisation des étiquettes
dashboard.rebuild_issue_indexer=Reconstruire lindexeur des tickets
@ -3500,6 +3533,16 @@ config.cache_test_slow = Test du cache réussi, mais le temps de réponse est le
config.cache_test_failed = Échec du contrôle du cache : %v.
config.cache_test = Tester le cache
config.cache_test_succeeded = Test du cache réussi, réponse obtenue en %s.
emails.delete_desc = Êtes-vous sûr de vouloir supprimer cette adresse e-mail ?
users.organization_creation.description = Autoriser la création de nouvelles organisations.
emails.deletion_success = L'adresse e-mail a été supprimée.
emails.delete = Supprimer l'Email
emails.delete_primary_email_error = Vous ne pouvez pas supprimer l'adresse e-mail principale.
users.activated.description = Achèvement de la vérification de l'email. Le propriétaire d'un compte non activé ne pourra pas se connecter tant que la vérification de l'email n'est pas terminée.
users.block.description = Bloquer cet utilisateur d'interagir avec ce service via son compte et interdire la connexion.
users.admin.description = Accorder à cet utilisateur un accès complet à toutes les fonctionnalités administratives disponibles via l'interface web et l'API.
users.restricted.description = Autoriser uniquement l'interaction avec les dépôts et les organisations où cet utilisateur est ajouté en tant que collaborateur. Cela empêche l'accès aux dépôts publics sur cette instance.
users.local_import.description = Autoriser l'importation de dépôts à partir du système de fichiers local du serveur. Cela peut poser un problème de sécurité.
[action]
create_repo=a créé le dépôt <a href="%s">%s</a>
@ -3746,6 +3789,22 @@ rpm.repository.architectures = Architectures
rpm.repository.multiple_groups = Ce paquet est disponible dans plusieurs groupes.
owner.settings.cargo.rebuild.no_index = Incapable de reconstruire, index non initialisé.
npm.dependencies.bundle = Bundles de dépendances
arch.pacman.helper.gpg = Ajouter un certificat de confiance pour pacman :
arch.pacman.repo.multi = %s a la même version dans différentes distributions.
arch.pacman.repo.multi.item = Configuration pour %s
arch.pacman.conf = Ajouter un serveur associées à la distribution et l'architecture dans <code>/etc/pacman.conf</code> :
arch.pacman.sync = Synchroniser le paquet avec pacman :
arch.version.properties = Propriétés de Version
arch.version.description = Description
arch.version.provides = Fournit
arch.version.groups = Groupe
arch.version.depends = Dépend
arch.version.optdepends = Dépendances optionnelles
arch.version.checkdepends = Vérifier les dépendances
arch.version.conflicts = Conflits
arch.version.replaces = Remplace
arch.version.backup = Sauvegarde
arch.version.makedepends = Créer des dépendances
[secrets]
secrets=Secrets
@ -3765,7 +3824,7 @@ management=Gestion des secrets
[actions]
actions=Actions
unit.desc=Gérer l'intégration continue avec Forgejo Actions
unit.desc=Gérer l'intégration continue avec Forgejo Actions.
status.unknown=Inconnu
status.waiting=En attente
@ -3866,11 +3925,13 @@ workflow.dispatch.success = L'exécution du workflow a bien été demandée.
workflow.dispatch.input_required = Le champ "%s" est obligatoire.
workflow.dispatch.invalid_input_type = Type invalide pour le champ "%s".
workflow.dispatch.warn_input_limit = Affichage des %d premiers champs seulement.
runs.expire_log_message = Les journaux ont été purgés car ils étaient trop anciens.
[projects]
type-1.display_name=Projet personnel
type-2.display_name=Projet du dépôt
type-3.display_name=Projet de l'organisation
deleted.display_name = Projet Supprimé
[git.filemode]
changed_filemode=%[1]s → %[2]s
@ -3922,6 +3983,8 @@ union = Union
union_tooltip = Inclus les résultats contenant au moins un des mots clé séparés par des espaces
pull_kind = Rechercher dans les demande d'ajout...
milestone_kind = Recherche dans les jalons...
regexp_tooltip = Interpréter le terme de recherche comme une expression régulière
regexp = RegExp
[munits.data]
@ -3936,4 +3999,27 @@ eib = Eio
[markup]
filepreview.line = Ligne %[1]d dans %[2]s
filepreview.lines = Lignes %[1]d jusqu'à %[2]d dans %[3]s
filepreview.truncated = L'aperçu a été tronqué
filepreview.truncated = L'aperçu a été tronqué
[repo.permissions]
pulls.write = <b>Écrire :</b> Fermer des demandes de tirage et gérer les métadonnées telles que les étiquettes, les jalons, les assignés, les dates d'échéance et les dépendances.
actions.read = <b>Lire :</b> Voir les pipelines CI/CD intégrés et leurs journaux.
releases.read = <b>Lire:</b> Voir et télécharger les versions.
releases.write = <b>Écrire :</b> Publier, modifier et supprimer des versions et leurs ressources.
projects.write = <b>Écrire :</b> Créer des projets, des colonnes et les modifier.
code.read = <b>Lire :</b> Accéder au code du dépôt et le cloner.
ext_issues = Accéder au lien vers un système externe de suivi des problèmes. Les autorisations sont gérées de manière externe.
code.write = <b>Écrire :</b> Pousser vers le dépôt, créer des branches et des étiquettes.
issues.read = <b>Lire :</b> Lire et créer des problèmes et des commentaires.
wiki.read = <b>Lire :</b> Lire le wiki intégré et son historique.
wiki.write = <b>Écrire :</b> Créer, mettre à jour et supprimer des pages dans le wiki intégré.
projects.read = <b>Lire :</b> Accéder aux tableaux de projet du dépôt.
packages.read = <b>Lire :</b> Voir et télécharger les paquets assignés au dépôt.
packages.write = <b>Écrire :</b> Publier et supprimer des paquets assignés au dépôt.
actions.write = <b>Écrire :</b> Déclencher manuellement, redémarrer, annuler ou approuver les pipelines CI/CD en attente.
ext_wiki = Accéder au lien vers un wiki externe. Les autorisations sont gérées de manière externe.
issues.write = <b>Écrire :</b> Fermer des problèmes et gérer les métadonnées telles que les étiquettes, les jalons, les assignés, les dates d'échéance et les dépendances.
pulls.read = <b>Lire :</b> Lire et créer des demandes de tirage.
[translation_meta]
test = Ceci est une chaîne de test. Elle n'est pas affichée dans l'interface de Forgejo mais est utilisée à des fins de test. N'hésitez pas à entrer 'ok' pour gagner du temps (ou un fait amusant de votre choix) pour atteindre ce doux 100 % de complétion :)

View file

@ -128,14 +128,51 @@ ok = OK
copy_generic = Másolás vágólapra
copy_url = URL másolása
webauthn_error_insecure = A WebAuthn csak biztonságos kapcsolatokat támogat. HTTP-n keresztüli tesztelés esetén használja a "localhost" vagy "127.0.0.1"-es elérési pontokat
filter.clear = Szűrők törlése
enable_javascript = Az oldal működéséhez engedélyezni kell a JavaScriptet.
webauthn_sign_in = Nyomja meg a gombot a biztonsági kulcsán! Ha nincs rajta gomb, próbálja meg újra behelyezni!
webauthn_use_twofa = Kétlépcsős bejelentkezési kód használata telefonról
webauthn_error_timeout = Időtúllépés a kulcs beolvasása közben. Kérjük töltse be újra ezt az oldalt, és próbálkozzon újra.
copy_branch = Elágazás nevének másolása
test = Teszt
copy_type_unsupported = Ezt a fájltípust nem lehet másolni
copy_error = Sikertelen másolás
invalid_data = Érvénytelen adatok: %v
unpin = Rögzítés feloldása
concept_user_individual = Egyéni
toggle_menu = Menü megjelenítése/elrejtése
concept_system_global = Globális
error413 = Felhasználta a kvótáját.
remove_label_str = "%s" eltávolítása
rerun_all = Minden feladat újrafuttatása
rerun = Újrafuttatás
show_full_screen = Teljes képernyő
rss_feed = RSS csatorna
copy = Másolás
retry = Újra
new_repo.title = Új tároló
new_repo.link = Új tároló
new_migrate.title = Új migráció
new_migrate.link = Új migráció
new_org.title = Új szervezet
new_org.link = Új szervezet
filter.is_fork = Másolatok
webauthn_error_duplicated = A biztonsági kulcs nem engedélyezett ehhez a kéréshez. Kérlek győződj meg róla, hogy a kulcs nincs-e már használatban.
filter.is_mirror = Tükrök
[aria]
footer.links = Hivatkozások
footer = Lábléc
navbar = Navigációs eszközsor
footer.software = A programról
[heatmap]
less = Kevesebb
more = Több
number_of_contributions_in_the_last_12_months = %s hozzájárulás az elmúlt 12 hónapban
contributions_zero = Nincsenek hozzájárulások
contributions_one = hozzájárulás
contributions_few = hozzájárulás
[editor]
buttons.heading.tooltip = Fejléc hozzáadása
@ -145,6 +182,12 @@ buttons.italic.tooltip = Dőlt szöveg hozzáadása
buttons.quote.tooltip = Szöveg idézése
buttons.link.tooltip = Hivatkozás hozzáadása
buttons.indent.tooltip = Elemek behúzása egy szinttel
buttons.mention.tooltip = Felhasználó vagy csapat említése
buttons.list.ordered.tooltip = Számozott lista hozzáadása
buttons.list.task.tooltip = Feladatlista hozzáadása
buttons.list.unordered.tooltip = Felsorolás hozzáadása
buttons.switch_to_legacy.tooltip = A régi szerkesztő használata
buttons.unindent.tooltip = Elemek behúzásának csökkentése egy szinttel
[filter]
string.asc = A - Z
@ -154,6 +197,7 @@ string.desc = Z - A
occurred = Hiba történt
server_internal = Belső szerverhiba
network_error = Hálózati hiba
not_found = A cél nem található.
[startpage]
app_desc=Fájdalommentes, saját gépre telepíthető Git szolgáltatás
@ -1726,6 +1770,9 @@ runs.commit=Commit
; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …
symbolic_link=Szimbolikus hivatkozás
submodule = Almodul
executable_file = Futtatható fájl
normal_file = Általános fájl
directory = Könyvtár
@ -1740,4 +1787,15 @@ user_kind = Felhasználók keresése...
repo_kind = Tárak keresése...
org_kind = Szervezetek keresése...
team_kind = Csapatok keresése...
exact = Pontos
exact = Pontos
code_search_by_git_grep = A kódkeresés jelenleg a "git grep" parancsot használja. Lehet, hogy jobb találatok is lennének, ha a webhely adminisztrátora bekapcsolja a forráskód indexelését.
milestone_kind = Mérföldkövek keresése...
fuzzy_tooltip = A keresési kifejezéshez hasonló találatok mutatása
fuzzy = Hasonlók
union = Kulcsszavakra
union_tooltip = A szóközzel elválasztott kulcsszavak bármelyikét tartalmazó találatok mutatása
branch_kind = Ágak keresése...
no_results = Nincsenek megfelelő találatok.
issue_kind = Hibajegyek keresése...
exact_tooltip = Csak a keresési kifejezést pontosan tartalmazó találatok mutatása
keyword_search_unavailable = A kulcsszó alapú keresés jelenleg nem elérhető. Kérlek értesítsd az oldal rendszergazdáját.

View file

@ -3,7 +3,7 @@ home=Forsíða
dashboard=Stjórnborð
explore=Vafra
help=Hjálp
sign_in=Skrá Inn
sign_in=Skrá inn
sign_in_or=eða
sign_out=Skrá Út
sign_up=Nýskráning
@ -15,9 +15,9 @@ page=Síða
template=Sniðmát
language=Tungumál
notifications=Tilkynningar
active_stopwatch=Virk Tímamæling
active_stopwatch=Virk tímamæling
create_new=Skapa…
user_profile_and_more=Notandasíða og Stillingar…
user_profile_and_more=Notandasíða og stillingar…
signed_in_as=Skráð(ur) inn sem
toc=Efnisyfirlit
licenses=Hugbúnaðarleyfi
@ -111,6 +111,8 @@ concept_code_repository=Hugbúnaðarsafn
name=Heiti
value=Gildi
sign_in_with_provider = Skrá inn með %s
enable_javascript = Þessi síða krefst JavaScript.
[aria]

View file

@ -340,7 +340,7 @@ allow_dots_in_usernames = Consenti l'uso del punto nel nome utente. Non impatta
config_location_hint = Queste opzioni di configurazione saranno salvate in:
allow_only_external_registration = Permetti la registrazione solo tramite servizi esterni
app_slogan = Slogan dell'istanza
app_slogan_helper = Inserire qui lo slogan dell'istanza. Lasciare vuoto per disabilitare.
app_slogan_helper = Inserisci qui lo slogan della tua istanza. Lasciala vuota per disabilitarlo.
[home]
uname_holder=Nome utente o indirizzo e-mail
@ -406,10 +406,12 @@ remember_me=Ricorda questo dispositivo
forgot_password_title=Password dimenticata
forgot_password=Password dimenticata?
sign_up_now=Hai bisogno di un account? Registrati adesso.
confirmation_mail_sent_prompt=Una nuova email di conferma è stata inviata a <b>%s</b>. Per favore controlla la tua posta in arrivo nelle prossime %s per completare il processo di registrazione.
confirmation_mail_sent_prompt=Una nuova e-mail di conferma è stata inviata a <b>%s</b>.
Per completare la registrazione, controlla la tua posta in arrivo e clicca sul link in allegato entro i prossimi %s secondi.
Se la tua e-mail è errata o incorretta, puoi accedere all'account e richiedere un'altra e-mail di conferma ad un'altro indirizzo.
must_change_password=Aggiorna la tua password
allow_password_change=Richiede all'utente di cambiare la password (scelta consigliata)
reset_password_mail_sent_prompt=Una email di conferma è stata inviata a <b>%s</b>. Per favore controlla la tua posta in arrivo nelle prossime %s per completare il processo di reset della password.
reset_password_mail_sent_prompt=Un'e-mail di conferma è stata inviata a <b>%s</b>. Per completare il processo di recupero dell'account, controlla la tua posta in arrivo e clicca sul link entro i prossimi %s secondi.
active_your_account=Attiva il tuo account
account_activated=L'account è stato attivato
prohibit_login=L'accesso è proibito
@ -471,6 +473,11 @@ openid_signin_desc = Inserisci il tuo URI OpenID. Per esempio: alice.openid.exam
password_pwned = La password che hai scelto è in un <a target="_blank" rel="noopener noreferrer" href="%s">elenco di password rubate</a> precedentemente esposte a violazioni di dati pubblici. Riprova con una password diversa e valuta di modificare questa password anche altrove.
tab_signup = Registrati
tab_signin = Accedi
back_to_sign_in = Torna alla schermata d'accesso
sign_in_openid = Procedi con OpenID
hint_login = Hai già un'utenza? <a href="%s">Accedi!</a>
hint_register = Non hai un'utenza? <a href="%s">Registrati ora.</a>
sign_up_button = Registrati ora.
[mail]
view_it_on=Visualizza su %s
@ -539,6 +546,21 @@ activate_email.title = %s, verifica il tuo indirizzo email
admin.new_user.text = <a href="%s">Clicca qui</a> per gestire questo utente dal pannello di amministrazione.
team_invite.text_1 = %[1]s ti ha invitato a far parte del team %[2]s nell'organizzazione %[3]s.
team_invite.text_3 = Nota: Questo invito è destinato a %[1]s. Se non ti aspettavi questo invito, puoi ignorare questa email.
primary_mail_change.subject = La tua mail principale è stata cambiata
removed_security_key.no_2fa = Non ci sono più altri metodi di autenticazione a due fattori configurati, ergo non c'è più bisogno di accedere alla tua utenza tramite tale autenticazione.
primary_mail_change.text_1 = La mail principale della tua utenza è appena stata cambiata in %[1]s. Ciò significa che questo indirizzo di posta elettronica non riceverà più notifiche mail da quest'utenza.
totp_disabled.subject = La TOTP è stata disabilitata
totp_disabled.no_2fa = Non ci sono più altri metodi d'autenticazione a due fattori configurati, ergo non c'è più bisogno di accedere alla tua utenza con tale autenticazione.
removed_security_key.subject = È stata rimossa una chiave di sicurezza
removed_security_key.text_1 = La chiave di sicurezza "%[1]s" è appena stata rimossa dalla tua utenza.
totp_disabled.text_1 = La password a tempo usa e getta (TOTP) della tua utenza è appena stata disabilitata.
totp_enrolled.subject = Hai attivato la TOTP come metodo d'autenticazione a due fattori
totp_enrolled.text_1.no_webauthn = Hai appena attivato la TOTP per la tua utenza. Ciò significa che dovrai usarla come metodo d'autenticazione a due fattori per tutti i tuoi accessi futuri.
totp_enrolled.text_1.has_webauthn = Hai appena attivato la TOTP per la tua utenza. Ciò significa che dovrai usare come metodo d'autenticazione a due fattori per i tuoi accessi futuri tale TOTP o una delle tue chiavi di sicurezza.
password_change.subject = La tua password è stata modificata
password_change.text_1 = La password della tua utenza è appena stata modificata.
account_security_caution.text_1 = Se sei statə tu, puoi ignorare questa mail.
account_security_caution.text_2 = Se non sei statə tu, la tua utenza è compromessa. Contatta l'amministrazione del sito.
[modal]
@ -1022,6 +1044,8 @@ pronouns = Pronomi
pronouns_custom = Personalizzato
pronouns_unspecified = Non specificato
language.title = Lingua predefinita
language.description = Questa lingua verrà salvata nella tua utenza e verrà usata come predefinita ogni volta che farai l'accesso.
language.localization_project = Aiutaci a tradurre Forgejo nella tua lingua! <a href="%s">Più informazioni</a>.
[repo]
owner=Proprietario
@ -1191,7 +1215,7 @@ star_guest_user=Accedi per aggiungere questo repositorio tra i preferiti.
unwatch=Non seguire più
watch=Segui
unstar=Togli il voto
star=Vota
star=Salva
fork=Deriva
download_archive=Scarica repositorio
@ -1453,22 +1477,22 @@ issues.filter_sort.moststars=Più favoriti
issues.filter_sort.feweststars=Meno favoriti
issues.filter_sort.mostforks=Maggior numero di fork
issues.filter_sort.fewestforks=Minor numero di fork
issues.action_open=Aperto
issues.action_open=Apri
issues.action_close=Chiuso
issues.action_label=Etichetta
issues.action_milestone=Pietra Miliare
issues.action_milestone_no_select=Nessuna pietra miliare
issues.action_assignee=Assegnatario
issues.action_assignee_no_select=Nessun assegnatario
issues.opened_by=aperto %[1]s da <a href="%[2]s">%[3]s</a>
issues.opened_by=aperta %[1]s da <a href="%[2]s">%[3]s</a>
pulls.merged_by=di <a href="%[2]s">%[3]s</a> è stato fuso %[1]s
pulls.merged_by_fake=di %[2]s è stato fuso %[1]s
issues.closed_by=di <a href="%[2]s">%[3]s</a> è stato chiuso %[1]s
issues.opened_by_fake=aperto %[1]s da %[2]s
issues.opened_by_fake=aperta %[1]s da %[2]s
issues.closed_by_fake=di %[2]s è stato chiuso %[1]s
issues.previous=Pagina precedente
issues.next=Pagina successiva
issues.open_title=Aperto
issues.open_title=Aperta
issues.closed_title=Chiuso
issues.draft_title=Bozza
issues.num_comments=%d commenti
@ -1484,14 +1508,14 @@ issues.reopen_issue=Riapri
issues.reopen_comment_issue=Commenta e riapri
issues.create_comment=Commento
issues.closed_at=`chiuso questo probleam <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`riaperto questo problema <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`ha riaperto questa segnalazione <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`ha fatto riferimento a questa segnalazione dal commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from=`<a href="%[3]s">ha fatto riferimento a questa segnalazione %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">ha fatto riferimento a questa richiesta di modifica %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[4]s che la chiuderà</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[4]s che la riaprirà</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closed_from=`<a href="%[3]s">chiuso questo problema %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">riaperto questo problema %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">ha riaperto questa segnalazione %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`da %[1]s`
issues.author=Autore
issues.role.owner=Proprietario
@ -2079,7 +2103,7 @@ settings.event_repository=Repository
settings.event_repository_desc=Repository creato o eliminato.
settings.event_header_issue=Eventi delle segnalazioni
settings.event_issues=Segnalazioni
settings.event_issues_desc=Issue aperto, chiuso, riaperto o modificato.
settings.event_issues_desc=Segnalazione aperta, chiusa, riaperta o modificata.
settings.event_issue_assign=Segnalazione assegnata
settings.event_issue_assign_desc=Issue assegnata o non assegnata.
settings.event_issue_label=Segnalazione etichettata
@ -2629,7 +2653,7 @@ wiki.page_title = Titolo della pagina
wiki.page_content = Contenuto della pagina
settings.mirror_settings.pushed_repository = Repositorio immesso
settings.mirror_settings.push_mirror.edit_sync_time = Modifica intervallo di sincronizzazione degli specchi
settings.units.units = Unità del repositorio
settings.units.units = Unità della repository
settings.units.add_more = Aggiungi ancora...
settings.wiki_globally_editable = Consenti a tutti di modificare la wiki
settings.pull_mirror_sync_in_progress = Prelevando cambiamenti dal progetto remoto %s.
@ -2720,7 +2744,7 @@ settings.protect_status_check_patterns_desc = Inserisci sequenze per specificare
settings.authorization_header_desc = Verrà inclusa come intestazione dell'autorizzazione per le richieste quando presente. Esempi: %s.
pulls.title_desc_one = vuole fondere %[1]d commit da <code>%[2]s</code> in <code id="branch_target">%[3]s</code>
settings.protect_unprotected_file_patterns_desc = File non protetti dei quali è consentita la modifica direttamente se l'utente ha permesso di scrittura, saltandole restrizioni di immissione. Più sequenze possono essere separate usando il punto e virgola (";"). Vedi la documentazione su <a href="%[1]s">%[2]s</a> per la sintassi delle sequenze glob. Esempi <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc = I file non protetti non possono essere modificati direttamente neanche se l'utente ha il permesso di aggiungere, modificare o eliminare file in questo ramo. Più sequenze possono essere separate usando il punto e virgola (";"). Vedi la documentazione su <a href="%s">github.com/gobwas/glob</a> per la sintassi della sequenze. Esempi: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc = I file non protetti non possono essere modificati direttamente neanche se l'utente ha il permesso di aggiungere, modificare o eliminare file in questo ramo. Più sequenze possono essere separate usando il punto e virgola (";"). Vedi la documentazione su <a href="%s">%s</a> per la sintassi della sequenze. Esempi: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_no_valid_status_check_patterns = Nessuna sequenza valida per il controllo dello stato.
settings.event_pull_request_review_request_desc = Richiesta la revisione della richiesta di modifica o richiesta di revisione rimossa.
stars = Stelle
@ -3467,10 +3491,10 @@ create_repo=ha creato il repository <a href="%s">%s</a>
rename_repo=repository rinominato da <code>%[1]s</code> a <a href="%[2]s">[3]s</a>
create_issue=`ha aperto la segnalazione <a href="%[1]s">%[3]s#%[2]s</a>`
close_issue=`ha chiuso il problema <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_issue=`ha riaperto il problema <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_issue=`ha riaperto la segnalazione <a href="%[1]s">%[3]s#%[2]s</a>`
create_pull_request=`ha creato la pull request <a href="%[1]s">%[3]s#%[2]s</a>`
close_pull_request=`ha chiuso la pull request <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_pull_request=`ha riaperto la pull request <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_pull_request=`ha riaperto la richiesta di modifica <a href="%[1]s">%[3]s#%[2]s</a>`
comment_issue=`ha commentato la segnalazione <a href="%[1]s">%[3]s#%[2]s</a>`
comment_pull=`ha commentato la richiesta di modifica <a href="%[1]s">%[3]s#%[2]s</a>`
merge_pull_request=`ha fuso la richiesta di modifica <a href="%[1]s">%[3]s#%[2]s</a>`
@ -3861,8 +3885,9 @@ user_kind = Cerca utenti...
repo_kind = Cerca repo...
exact_tooltip = Includi solo i risultati che corrispondono esattamente al termine di ricerca
issue_kind = Cerca segnalazioni...
pull_kind = Ricerca pull...
pull_kind = Cerca richieste...
exact = Esatto
milestone_kind = Ricerca tappe...
[munits.data]
gib = GiB

View file

@ -158,6 +158,14 @@ filter.not_template = テンプレートではない
invalid_data = 無効なデータ: %v
more_items = さらに表示
copy_generic = クリップボードへコピー
new_repo.title = 新しいリポジトリ
new_migrate.title = 新しいマイグレーション
new_org.title = 新しい組織
new_repo.link = 新しいリポジトリ
new_migrate.link = 新しいマイグレーション
new_org.link = 新しい組織
test = テスト
error413 = 割り当て量を使い切りしました。
[aria]
navbar=ナビゲーションバー
@ -189,6 +197,8 @@ buttons.ref.tooltip=イシューまたはプルリクエストを参照
buttons.switch_to_legacy.tooltip=レガシーエディタを使用する
buttons.enable_monospace_font=等幅フォントを有効にする
buttons.disable_monospace_font=等幅フォントを無効にする
buttons.unindent.tooltip = アイテムを1つずつネストの解除をする
buttons.indent.tooltip = アイテムを1つずつネストする
[filter]
string.asc=A - Z
@ -245,7 +255,7 @@ err_admin_name_is_invalid=管理者のユーザー名が不正です
general_title=基本設定
app_name=インスタンス名
app_name_helper=企業名をここに入れることができます。
app_name_helper=ここにインスタンス名を入力します。これはすべてのページに表示されます。
repo_path=リポジトリのルートパス
repo_path_helper=リモートGitリポジトリはこのディレクトリに保存されます。
lfs_path=Git LFSルートパス
@ -279,7 +289,7 @@ offline_mode.description=外部のCDNサービスを使わず、すべてのリ
disable_gravatar=Gravatarを無効にする
disable_gravatar.description=Gravatarと外部のアバターソースを無効にします。 アバターをローカルにアップロードしていないユーザーには、デフォルトのアバターが使用されます。
federated_avatar_lookup=フェデレーテッド・アバターを有効にする
federated_avatar_lookup.description=Libravatarを使用したフェデレーテッド・アバター検索を有効にします。
federated_avatar_lookup.description=Libravatar を使用してアバターを検索します。
disable_registration=セルフ登録を無効にする
disable_registration.description=管理者だけが新しいユーザー アカウントを作成できます。誰もが利用できるパブリックインスタンスをホストし、大量のスパムアカウントに対処する準備ができていない限り、登録を無効にしておくことを強くお勧めします。
allow_only_external_registration.description=設定された外部サービスを使用してのみ新しいアカウントを作成できます。
@ -398,14 +408,14 @@ forgot_password_title=パスワードを忘れた
forgot_password=パスワードをお忘れですか?
sign_up_now=アカウントが必要ですか? 今すぐ登録しましょう。
sign_up_successful=アカウントは無事に作成されました。ようこそ!
confirmation_mail_sent_prompt=<b>%s</b> に確認メールを送信しました。 %s以内に受信トレイを確認し、登録手続きを完了してください
confirmation_mail_sent_prompt=新しい確認メールが <b>%s</b> に送信されました。登録プロセスを完了するには、受信トレイを確認し、 %s 以内に提供されたリンクをクリックして下さい。メールが間違っている場合は、ログインして別のアドレスに確認メールを再送信するようリクエストできます
must_change_password=パスワードの更新
allow_password_change=ユーザーはパスワードの変更が必要 (推奨)
reset_password_mail_sent_prompt=<b>%s</b> に確認メールを送信しました。 %s以内に受信トレイを確認し、アカウント回復手続きを完了してください。
reset_password_mail_sent_prompt=確認メールが <b>%s</b> に送信されました。アカウント回復手続きを完了するには、受信トレイを確認し、%s 以内に提供されたリンクに従ってください。
active_your_account=アカウントの有効化
account_activated=アカウントがアクティベートされました
prohibit_login=サインイン禁止
prohibit_login_desc=あなたのアカウントはサインインを禁止されています。 サイト管理者にお問い合わせください。
prohibit_login=アカウントが停止されました
prohibit_login_desc=あなたのアカウントはインスタンスとのやり取りが停止されています。アクセスを回復するには、インスタンス管理者に問い合わせてください。
resent_limit_prompt=少し前に、あなたからアクティベーションメールが要求されています。 3分待ったのち、もう一度試してください。
has_unconfirmed_mail=こんにちは %s さん、あなたのメール アドレス (<b>%s</b>) は確認がとれていません。 確認メールを受け取っていない場合や、改めて送信したい場合は、下のボタンをクリックしてください。
resend_mail=アクティベーションメールを再送信するにはここをクリック
@ -448,7 +458,7 @@ email_domain_blacklisted=あなたのメールアドレスでは登録するこ
authorize_application=アプリケーションを許可
authorize_redirect_notice=このアプリケーションを許可すると %s にリダイレクトします。
authorize_application_created_by=このアプリケーションは %s が作成しました。
authorize_application_description=アクセスを許可すると、このアプリケーションは、プライベート リポジトリや組織を含むあなたのすべてのアカウント情報に対して、アクセスと書き込みができるようになります。
authorize_application_description=アクセスを許可すると、プライベートリポジトリや組織を含むすべてのアカウント情報にアクセスして書き込むことができるようになります。
authorize_title=`"%s"にあなたのアカウントへのアクセスを許可しますか?`
authorization_failed=認可失敗
authorization_failed_desc=無効なリクエストを検出したため認可が失敗しました。 認可しようとしたアプリの開発者に連絡してください。
@ -461,6 +471,12 @@ change_unconfirmed_email_summary = アクティベーションメールの送信
last_admin=最後の管理者は削除できません。少なくとも一人の管理者が必要です。
tab_signin = サインイン
tab_signup = サインアップ
sign_in_openid = OpenIDで続行
back_to_sign_in = サインインに戻る
unauthorized_credentials = 資格情報が正しくないか、期限が切れています。コマンドを再試行するか、詳細については %s を参照してください
sign_up_button = 今すぐ登録して下さい。
hint_login = すでにアカウントをお持ちですか? <a href="%s">今すぐサインイン!</a>
hint_register = アカウントが必要ですか? <a href="%s">今すぐ登録してください。</a>
[mail]
view_it_on=%s で見る
@ -530,6 +546,21 @@ team_invite.text_3=注: この招待は %[1]s 宛です。 招待に心当たり
admin.new_user.user_info = ユーザー情報
admin.new_user.subject = 新しいユーザー、 %sがサインアップしました
admin.new_user.text = 管理パネルからこのユーザーを管理するには、<a href="%s">ここ</a>をクリックしてください。
totp_enrolled.text_1.has_webauthn = アカウントで TOTP が有効になりました。今後のアカウントへのログインで、2要素認証として TOTP を使用したり、任意のセキュリティ キーを使用することができます。
totp_enrolled.subject = 2要素認証としてTOTPを有効にしました
totp_enrolled.text_1.no_webauthn = アカウントで TOTP が有効になりました。今後アカウントにログインするときに、2要素認証として TOTP を使用する必要があります。
password_change.text_1 = アカウントのパスワードが変更されました。
password_change.subject = パスワードが変更されました
primary_mail_change.subject = プライマリメールが変更されました
primary_mail_change.text_1 = あなたのアカウントのプライマリメールが %[1]s に変更されました。これにより、この電子メール アドレスはあなたのアカウントに関する電子メール通知を受信しなくなります。
totp_disabled.subject = TOTPが無効になりました
totp_disabled.text_1 = あなたのアカウントの時間ベースのワンタイムパスワード (TOTP) が無効になりました。
totp_disabled.no_2fa = 他の 2要素認証は設定されていないため、2要素認証を使用してアカウントにログインする必要はなくなりました。
removed_security_key.subject = セキュリティキーが削除されました
removed_security_key.text_1 = セキュリティキー "%[1]s" がアカウントから削除されました。
account_security_caution.text_1 = もしこれがあなたの操作であれば、このメールは無視しても問題ありません。
account_security_caution.text_2 = もしこれがあなたの操作でない場合、アカウントが不正利用されている可能性があります。このサイトの管理者に連絡してください。
removed_security_key.no_2fa = 他の 2要素認証は設定されていないため、2要素認証を使用してアカウントにログインする必要はなくなりました。
[modal]
yes=はい
@ -668,16 +699,24 @@ settings=ユーザー設定
form.name_reserved=ユーザー名 "%s" は予約されています。
form.name_pattern_not_allowed=`"%s" の形式はユーザー名に使用できません。`
form.name_chars_not_allowed=ユーザー名 "%s" には無効な文字が含まれています。
block_user.detail_2 = このユーザーは、リポジトリ、作成されたイシュー、コメントを操作できません。
block_user.detail_1 = このユーザーからのフォローが解除されています。
block_user.detail_2 = このユーザーは、あなたが所有するリポジトリや、あなたが作成した問題やコメントを操作することはできません。
block_user.detail_1 = お互いのフォローが停止され、フォローできなくなります。
follow_blocked_user = あなたはこのユーザーをフォローできません。なぜなら、あなたはこのユーザーをブロックしたか、このユーザーはあなたをブロックしているからです。
block_user.detail_3 = このユーザーはあなたをコラボレーターとして追加することはできませんし、あなたも彼らをコラボレーターに追加できません。
block_user.detail_3 = お互いをリポジトリの共同作業者として追加することはできません。
block_user = ユーザーをブロック
unblock = ブロックを解除
block = ブロック
block_user.detail = このユーザーをブロックした場合、下記の事などが起こります。例えば
block_user.detail = ユーザーをブロックすると、次のような影響があります
followers_one = %d 人のフォロワー
following_one = %d 人をフォロー中
public_activity.visibility_hint.self_public = あなたのアクティビティは、プライベート スペースでのやり取りを除き、すべてのユーザーに表示されます。<a href="%s">設定</a>。
public_activity.visibility_hint.admin_public = このアクティビティは誰でも見ることができますが、管理者はプライベート スペースでのやり取りも見ることができます。
public_activity.visibility_hint.self_private = あなたのアクティビティはあなたとインスタンス管理者にのみ表示されます。<a href="%s">設定</a>。
public_activity.visibility_hint.admin_private = このアクティビティは管理者であるあなたには表示されますが、ユーザーは非公開にしたいと考えています。
following.title.one = フォロー中
following.title.few = フォロー中
followers.title.one = フォロワー
followers.title.few = フォロワー
[settings]
profile=プロフィール
@ -787,12 +826,12 @@ add_new_email=新しいメールアドレスを追加
add_new_openid=新しいOpenID URIを追加
add_email=メールアドレスを追加
add_openid=OpenID URIを追加する
add_email_confirmation_sent=`"%s" に確認メールを送信しました。 %s以内に受信トレイを確認し、メールアドレス確認を行ってください。`
add_email_confirmation_sent=確認メールが"%s"に送信されました。メールアドレスを確認するには、受信トレイを確認し、%s以内に提供されたリンクをクリックしてください。
add_email_success=新しいメールアドレスを追加しました。
email_preference_set_success=メール設定を保存しました。
add_openid_success=新しいOpenIDアドレスを追加しました。
keep_email_private=メールアドレスを隠す
keep_email_private_popup=これによりプロフィールでメールアドレスが隠され、Webインターフェースでのプルリクエスト作成やファイル編集でもメールアドレスが隠されます。 プッシュ済みのコミットは変更されません
keep_email_private_popup=これにより、プロフィールからメールアドレスが非表示になります。ファイルのアップロードや編集など、ウェブインターフェース経由で行われるコミットのデフォルトとして使用されなくなり、マージコミットにも使用されません。代わりに、コミットをあなたのアカウントに関連付けるために特別なアドレス%sを使用できます。このオプションを変更しても、既存のコミットには影響しないことに注意してください
openid_desc=OpenIDを使うと外部プロバイダーに認証を委任することができます。
manage_ssh_keys=SSHキーの管理
@ -1005,6 +1044,9 @@ update_hints_success = ヒントが更新されました。
hints = ヒント
additional_repo_units_hint = リポジトリでより多くの機能を有効にすることを推奨する
language.title = 既定の言語
keep_activity_private.description = <a href="%s">公開アクティビティ</a>は、あなたとインスタンス管理者にのみ表示されます。
language.description = この言語はアカウントに保存され、ログイン後にデフォルトとして使用されます。
language.localization_project = Forgejo をあなたの言語に翻訳するのを手伝ってください。<a href="%s">詳細はこちら</a>。
[repo]
new_repo_helper=リポジトリには、プロジェクトのすべてのファイルとリビジョン履歴が入ります。 すでにほかの場所でホストしていますか? <a href="%s">リポジトリを移行</a> もどうぞ。
@ -1021,7 +1063,7 @@ visibility=公開/非公開
visibility_description=オーナー、または権限を持つ組織のメンバーだけが、リポジトリを見ることができます。
visibility_helper=リポジトリをプライベートにする
visibility_helper_forced=サイト管理者の設定により、新しいリポジトリは強制的にプライベートになります。
visibility_fork_helper=(この変更はすべてのフォークに適用されます)
visibility_fork_helper=(この変更はすべてのフォークの可視性に影響します。)
clone_helper=クローンに関してお困りであれば<a target="_blank" rel="noopener noreferrer" href="%s">ヘルプ</a>を参照しましょう。
fork_repo=リポジトリをフォーク
fork_from=フォーク元
@ -1043,15 +1085,15 @@ repo_desc_helper=簡単な説明を入力してください (オプション)
repo_lang=言語
repo_gitignore_helper=.gitignoreテンプレートを選択してください。
repo_gitignore_helper_desc=一般的な言語のテンプレートリストから、追跡しないファイルの設定を選択します。 各言語のビルドツールが生成する典型的なファイルが、デフォルトで.gitignoreに含まれます。
issue_labels=イシューラベル
issue_labels_helper=イシューのラベルセットを選択
issue_labels=ラベル
issue_labels_helper=ラベルセットを選択
license=ライセンス
license_helper=ライセンス ファイルを選択してください
license_helper=ライセンス ファイルを選択してください
license_helper_desc=ライセンスにより、他人があなたのコードに対して何ができて何ができないのかを規定します。 どれがプロジェクトにふさわしいか迷っていますか? <a target="_blank" rel="noopener noreferrer" href="%s">ライセンス選択サイト</a> も確認してみてください。
object_format=オブジェクトのフォーマット
object_format_helper=リポジトリのオブジェクトフォーマット。後で変更することはできません。SHA1 最も互換性があります。
object_format_helper=リポジトリのオブジェクトフォーマット。後で変更することはできません。SHA1 最も互換性があります。
readme=README
readme_helper=READMEファイル テンプレートを選択してください
readme_helper=READMEファイル テンプレートを選択してください
readme_helper_desc=プロジェクトについての説明をひととおり書く場所です。
auto_init=リポジトリの初期設定 (.gitignore、ライセンスファイル、READMEファイルの追加)
trust_model_helper=署名検証のトラストモデルを選択します。 選択肢は次のとおりです:
@ -1383,7 +1425,7 @@ commitstatus.failure=失敗
commitstatus.pending=保留
commitstatus.success=成功
ext_issues=外部イシューへのアクセス
ext_issues=外部イシュー
ext_issues.desc=外部のイシュートラッカーへのリンク。
projects=プロジェクト
@ -1418,7 +1460,7 @@ projects.column.set_default_desc=この列を未分類のイシューやプル
projects.column.unset_default=デフォルトを解除
projects.column.unset_default_desc=この列からデフォルト列の設定を解除します
projects.column.delete=列を削除
projects.column.deletion_desc=プロジェクト列を削除すると、関連するすべてのイシューが '未分類' に移動します。 続行しますか?
projects.column.deletion_desc=プロジェクト列を削除すると、関連するすべてのイシューがデフォルトの列に移動します。 続行しますか?
projects.column.color=カラー
projects.open=オープン
projects.close=クローズ
@ -1466,10 +1508,10 @@ issues.new_label=新しいラベル
issues.new_label_placeholder=ラベル名
issues.new_label_desc_placeholder=説明
issues.create_label=ラベルを作成
issues.label_templates.title=定義済みラベルセットの読み込み
issues.label_templates.info=ラベルがまだありません。"新しいラベル"でラベルを作成するか、次の定義済みのラベルセットを使用してください:
issues.label_templates.helper=ラベルセットを選択
issues.label_templates.use=ラベルセットを使用
issues.label_templates.title=ラベルプリセットを読み込む
issues.label_templates.info=ラベルがまだありません。"新しいラベル"でラベルを作成するか、ラベルプリセットを使用してください:
issues.label_templates.helper=ラベルプリセットを選択する
issues.label_templates.use=ラベルプリセットを使用
issues.label_templates.fail_to_load_file=ラベルテンプレート "%s" を読み込めませんでした: %v
issues.add_label=がラベル %s を追加 %s
issues.add_labels=がラベル %s を追加 %s
@ -1589,7 +1631,7 @@ issues.role.collaborator_helper=このユーザーはリポジトリ上で共同
issues.role.first_time_contributor=初めての貢献者
issues.role.first_time_contributor_helper=これは、このユーザーによるリポジトリへの最初の貢献です。
issues.role.contributor=貢献者
issues.role.contributor_helper=このユーザーは以前にリポジトリにコミットしています。
issues.role.contributor_helper=このユーザーは以前にこのリポジトリにコミットしています。
issues.re_request_review=レビューを再依頼
issues.is_stale=このレビューのあと、このPRに変更がありました
issues.remove_request_review=レビュー依頼を取り消し
@ -1604,7 +1646,7 @@ issues.label_title=名前
issues.label_description=説明
issues.label_color=カラー
issues.label_exclusive=排他
issues.label_archive=アーカイブ ラベル
issues.label_archive=ラベルをアーカイブ
issues.label_archived_filter=アーカイブされたラベルを表示
issues.label_archive_tooltip=アーカイブされたラベルは、ラベルによる検索時のサジェストからデフォルトで除外されます。
issues.label_exclusive_desc=ラベル名を <code>スコープ/アイテム</code> の形にすることで、他の <code>スコープ/</code> ラベルと排他的になります。
@ -1636,8 +1678,8 @@ issues.lock.unknown_reason=未定義の理由ではイシューをロックで
issues.lock_duplicate=イシューは二重にロックできません。
issues.unlock_error=ロックされていないイシューをアンロックできません。
issues.lock_with_reason=が<strong>%s</strong>のためロックし会話を共同作業者に限定 %s
issues.lock_no_reason=がロックして会話を共同作業者に限定 %s
issues.unlock_comment=がこの会話をアンロック %s
issues.lock_no_reason=ロックされており、会話が共同作業者に制限されています %s
issues.unlock_comment=この会話のロックを解除 %s
issues.lock_confirm=ロック
issues.unlock_confirm=アンロック
issues.lock.notice_1=- 他のユーザーはこのイシューに新しいコメントを追加できません。
@ -1662,9 +1704,9 @@ issues.stop_tracking=タイマー 終了
issues.stop_tracking_history=`が作業を終了 %s`
issues.cancel_tracking=中止
issues.cancel_tracking_history=`がタイムトラッキングを中止 %s`
issues.add_time=で時間を入力
issues.add_time=で時間を入力
issues.del_time=このタイムログを削除
issues.add_time_short=時間入力
issues.add_time_short=時間入力
issues.add_time_cancel=キャンセル
issues.add_time_history=`が作業時間を追加 %s`
issues.del_time_history=`が作業時間を削除 %s`
@ -1691,7 +1733,7 @@ issues.due_date_added=が期日 %s を追加 %s
issues.due_date_modified=が期日を %[2]s から %[1]s に変更 %[3]s
issues.due_date_remove=が期日 %s を削除 %s
issues.due_date_overdue=期日は過ぎています
issues.due_date_invalid=期日が正しくないか範囲を超えています。 'yyyy-mm-dd' の形式で入力してください。
issues.due_date_invalid=期日が正しくないか範囲を超えています。 "yyyy-mm-dd" の形式で入力してください。
issues.dependency.title=依存関係
issues.dependency.issue_no_dependencies=依存関係が設定されていません。
issues.dependency.pr_no_dependencies=依存関係が設定されていません。
@ -1709,7 +1751,7 @@ issues.dependency.issue_closing_blockedby=このイシューのクローズは
issues.dependency.issue_close_blocks=このイシューは、これらのイシューのクローズをブロックしています
issues.dependency.pr_close_blocks=このプルリクエストは、これらのイシューのクローズをブロックしています
issues.dependency.issue_close_blocked=このイシューをクローズするには、ブロックしているイシューをすべてクローズする必要があります。
issues.dependency.issue_batch_close_blocked=選択したイシューの一括クローズはできません。 イシュー #%d に、まだオープン中の依存関係があります。
issues.dependency.issue_batch_close_blocked=イシュー #%d にまだ依存関係があるため、選択したイシューを一括で閉じることはできません
issues.dependency.pr_close_blocked=このプルリクエストを操作するには、ブロックしているイシューをすべてクローズする必要があります。
issues.dependency.blocks_short=ブロック対象
issues.dependency.blocked_by_short=依存先
@ -1824,7 +1866,7 @@ pulls.required_status_check_administrator=管理者であるため、このプ
pulls.blocked_by_approvals=このプルリクエストはまだ承認数が足りません。 %[1]d/%[2]dの承認を得ています。
pulls.blocked_by_rejection=このプルリクエストは公式レビューアにより変更要請されています。
pulls.blocked_by_official_review_requests=このプルリクエストには公式レビュー依頼があります。
pulls.blocked_by_outdated_branch=このプルリクエストは遅れのためブロックされています。
pulls.blocked_by_outdated_branch=このプルリクエストは古いためブロックされています。
pulls.blocked_by_changed_protected_files_1=このプルリクエストは保護しているファイルを変更するためブロックされています:
pulls.blocked_by_changed_protected_files_n=このプルリクエストは保護しているファイルを変更するためブロックされています:
pulls.can_auto_merge_desc=このプルリクエストは自動的にマージできます。
@ -1854,17 +1896,17 @@ pulls.merge_commit_id=マージコミットID
pulls.require_signed_wont_sign=ブランチでは署名されたコミットが必須ですが、このマージでは署名がされません
pulls.invalid_merge_option=このプルリクエストでは、指定したマージ方法は使えません。
pulls.merge_conflict=マージ失敗: マージ中にコンフリクトがありました。 ヒント: 別のストラテジーを試してみてください
pulls.merge_conflict=マージ失敗: マージ中にコンフリクトがありました。 ヒント: 別の方法を試してみてください
pulls.merge_conflict_summary=エラーメッセージ
pulls.rebase_conflict=マージ失敗: コミット %[1]s のリベース中にコンフリクトがありました。 ヒント: 別のストラテジーを試してみてください
pulls.rebase_conflict=マージ失敗: コミット %[1]s のリベース中にコンフリクトがありました。 ヒント: 別の方法を試してみてください
pulls.rebase_conflict_summary=エラーメッセージ
pulls.unrelated_histories=マージ失敗: マージHEADとベースには共通する履歴がありません。 ヒント: 別のストラテジーを試してみてください
pulls.merge_out_of_date=マージ失敗: マージの生成中にベースが更新されました。 ヒント: もう一度試してみてください
pulls.head_out_of_date=マージ失敗: マージの生成中に head が更新されました。 ヒント: もう一度試してみてください
pulls.unrelated_histories=マージ失敗: マージHEADとベースには共通する履歴がありません。 ヒント: 別の方法を試してみてください
pulls.merge_out_of_date=マージ失敗: マージの生成中にベースが更新されました。 ヒント: もう一度試してみてください
pulls.head_out_of_date=マージ失敗: マージの生成中に head が更新されました。 ヒント: もう一度試してみてください
pulls.has_merged=失敗: プルリクエストはマージされていました。再度マージしたり、ターゲットブランチを変更することはできません。
pulls.push_rejected=マージ失敗: プッシュは拒否されました。 このリポジトリのGitフックを見直してください。
pulls.push_rejected_summary=拒否メッセージ全体:
pulls.push_rejected_no_message=マージ失敗: プッシュは拒否され、リモートからのメッセージはありません。<br>このリポジトリのGitフックを見直してください
pulls.push_rejected_no_message=マージ失敗: プッシュは拒否され、リモートからのメッセージはありません。このリポジトリのGitフックを確認して下さい
pulls.open_unmerged_pull_exists=`同じ条件のプルリクエスト (#%d) が未処理のため、再オープンはできません。`
pulls.status_checking=いくつかのステータスチェックが待機中です
pulls.status_checks_success=ステータスチェックはすべて成功しました
@ -1883,7 +1925,7 @@ pulls.outdated_with_base_branch=このブランチはベースブランチに対
pulls.close=プルリクエストをクローズ
pulls.closed_at=`がプルリクエストをクローズ <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`がプルリクエストを再オープン <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.cmd_instruction_hint=`コマンドラインの手順 を表示します。`
pulls.cmd_instruction_hint=コマンドラインの手順を表示
pulls.cmd_instruction_checkout_title=チェックアウト
pulls.cmd_instruction_checkout_desc=プロジェクトリポジトリから新しいブランチをチェックアウトし、変更内容をテストします。
pulls.cmd_instruction_merge_title=マージ
@ -1942,7 +1984,7 @@ milestones.filter_sort.least_issues=イシューの少ない順
signing.will_sign=このコミットは鍵 "%s" で署名されます。
signing.wont_sign.error=コミットの署名可否を確認中にエラーが発生しました。
signing.wont_sign.nokey=このコミットに署名するための鍵がありません。
signing.wont_sign.nokey=このインスタンスには、このコミットに署名するための鍵がありません。
signing.wont_sign.never=コミットが署名されることはありません。
signing.wont_sign.always=コミットは常に署名されます。
signing.wont_sign.pubkey=アカウントに公開鍵が登録されていないため、コミットは署名されません。
@ -1954,7 +1996,7 @@ signing.wont_sign.commitssigned=関連するコミットすべてが署名され
signing.wont_sign.approved=PRが未承認のため、マージは署名されません。
signing.wont_sign.not_signed_in=サインインしていません。
ext_wiki=外部Wikiへのアクセス
ext_wiki=外部Wiki
ext_wiki.desc=外部Wikiへのリンク。
wiki=Wiki
@ -1972,8 +2014,8 @@ wiki.save_page=ページを保存
wiki.last_commit_info=%s が %s にこのページを編集
wiki.edit_page_button=編集
wiki.new_page_button=新規ページ
wiki.file_revision=ページ・リビジョン
wiki.wiki_page_revisions=Wikiページのリビジョン
wiki.file_revision=ページの改訂履歴
wiki.wiki_page_revisions=Wikiページの改訂履歴
wiki.back_to_wiki=Wikiページに戻る
wiki.delete_page_button=ページを削除
wiki.delete_page_notice_1=Wikiページ "%s" の削除は元に戻せません。 続行しますか?
@ -2027,7 +2069,7 @@ activity.unresolved_conv_label=オープン
activity.title.releases_1=%d件のリリース
activity.title.releases_n=%d件のリリース
activity.title.releases_published_by=%sが%sによって発行されました
activity.published_release_label=発行
activity.published_release_label=リリース
activity.no_git_activity=この期間にはコミットのアクティビティがありません。
activity.git_stats_exclude_merges=マージを除くと、
activity.git_stats_author_1=%d人の作成者
@ -2103,12 +2145,12 @@ settings.sync_mirror=今すぐ同期
settings.pull_mirror_sync_in_progress=現在、リモート %s から変更をプルしています。
settings.push_mirror_sync_in_progress=現在、リモート %s へ変更をプッシュしています。
settings.site=Webサイト
settings.update_settings=設定を更新
settings.update_settings=設定を保存
settings.update_mirror_settings=ミラーリング設定を更新
settings.branches.switch_default_branch=デフォルトブランチを切り替え
settings.branches.update_default_branch=デフォルトブランチを更新
settings.branches.add_new_rule=新しいルールを追加
settings.advanced_settings=拡張設定
settings.advanced_settings=詳細設定
settings.wiki_desc=Wikiを有効にする
settings.use_internal_wiki=ビルトインのWikiを使用する
settings.use_external_wiki=外部のWikiを使用する
@ -2139,10 +2181,10 @@ settings.pulls.allow_rebase_update=リベースでプルリクエストのブラ
settings.pulls.default_delete_branch_after_merge=デフォルトでプルリクエストのブランチをマージ後に削除する
settings.pulls.default_allow_edits_from_maintainers=デフォルトでメンテナからの編集を許可する
settings.releases_desc=リリースを有効にする
settings.packages_desc=リポジトリパッケージレジストリを有効にする
settings.projects_desc=リポジトリプロジェクトを有効にする
settings.actions_desc=Actionsを有効にする
settings.admin_settings=管理者設定
settings.packages_desc=パッケージレジストリを有効にする
settings.projects_desc=プロジェクトを有効にする
settings.actions_desc=Forgejo Actionsを使用して統合CI/CDパイプラインを有効化する
settings.admin_settings=管理者設定
settings.admin_enable_health_check=リポジトリのヘルスチェックを有効にする (git fsck)
settings.admin_code_indexer=コードインデクサ
settings.admin_stats_indexer=コード統計インデクサ
@ -2406,7 +2448,7 @@ settings.protect_branch_name_pattern=保護ブランチ名のパターン
settings.protect_branch_name_pattern_desc=保護ブランチ名のパターン。書き方については <a href="%s">ドキュメント</a> を参照してください。例: main, release/**
settings.protect_patterns=パターン
settings.protect_protected_file_patterns=保護されるファイルのパターン (セミコロン';'で区切る):
settings.protect_protected_file_patterns_desc=保護されたファイルは、このブランチにファイルを追加・編集・削除する権限を持つユーザーであっても、直接変更することができなくなります。 セミコロン(';')で区切って複数のパターンを指定できます。 パターンの文法については <a href='%s'>github.com/gobwas/glob</a> を参照してください。 例: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>
settings.protect_protected_file_patterns_desc=保護されたファイルは、このブランチにファイルを追加・編集・削除する権限を持つユーザーであっても、直接変更することができなくなります。 セミコロン(';')で区切って複数のパターンを指定できます。 パターンの文法については <a href='%s'>%s</a> を参照してください。 例: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>
settings.protect_unprotected_file_patterns=保護しないファイルのパターン (セミコロン';'で区切る):
settings.protect_unprotected_file_patterns_desc=保護しないファイルは、ユーザーに書き込み権限があればプッシュ制限をバイパスして直接変更できます。 セミコロン(';')で区切って複数のパターンを指定できます。 パターンの文法については <a href='%[1]s'>%[2]s</a> を参照してください。 例: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>
settings.add_protected_branch=保護を有効にする
@ -2690,7 +2732,7 @@ pulls.made_using_agit = Agit
pulls.agit_explanation = Agitによるワークフローを作成します。Agitでは、貢献者は変更をforkしたりブランチを作るのではなく、"git push"して提案します。
contributors.contribution_type.deletions = 削除
settings.units.add_more = さらに...
settings.wiki_globally_editable = にでもWikiの編集を許す
settings.wiki_globally_editable = でもWikiを編集できる様にする
settings.confirmation_string = 確認
settings.wiki_rename_branch_main_notices_1 = この操作は 取り消し<strong>できません</strong> 。
stars = スター
@ -2747,6 +2789,33 @@ form.string_too_long = 指定された文字列は %d 文字より長いです
project = プロジェクト
subscribe.issue.guest.tooltip = このイシューを購読するにはサインインしてください。
subscribe.pull.guest.tooltip = このプルリクエストを購読するにはサインインしてください。
issues.author.tooltip.pr = このユーザーはこのプルリクエストの作成者です。
issues.author.tooltip.issue = このユーザーはこの問題の作成者です。
mirror_public_key = 公開SSHキー
mirror_use_ssh.text = SSH認証を使用する
mirror_use_ssh.helper = このオプションを選択すると、Forgejo は SSH 経由の Git でリポジトリをミラーリングし、キーペアを作成します。生成された公開キーが宛先リポジトリにプッシュできるように承認されていることを確認する必要があります。このオプションを選択した場合、パスワードベースの認証は使用できません。
comments.edit.already_changed = コメントの変更を保存できません。コンテンツは既に別のユーザーによって変更されているようです。変更が上書きされないように、ページを更新して再度編集してください
no_eol.tooltip = このファイルには末尾の行末文字が含まれていません。
issues.edit.already_changed = イシューの変更を保存できません。コンテンツは既に別のユーザーによって変更されているようです。変更が上書きされないように、ページを更新して再度編集してください
no_eol.text = EOLなし
pulls.edit.already_changed = プルリクエストの変更を保存できません。コンテンツは既に別のユーザーによって変更されているようです。変更が上書きされないように、ページを更新して再度編集してください
pulls.cmd_instruction_merge_warning = <b>警告:</b> このリポジトリでは「手動マージの自動検出」設定が有効になっていません。後でこのプル リクエストを手動でマージ済みとしてマークする必要があります。
n_release_one = %s リリース
n_release_few = %s リリース
milestones.filter_sort.name = 名前
mirror_use_ssh.not_available = SSH認証は利用できません。
mirror_denied_combination = 公開鍵とパスワードベースの認証を組み合わせて使用することはできません。
activity.navbar.pulse = 活動状況
activity.published_prerelease_label = プレリリース
activity.published_tag_label = タグ
settings.transfer_quota_exceeded = 新しい所有者 (%s) は割り当て量を超えています。リポジトリは転送されていません。
settings.pull_mirror_sync_quota_exceeded = 割り当て量を超過したため、変更はプルされません。
activity.commit = コミットアクティビティ
settings.federation_settings = フェデレーション設定
settings.federation_not_enabled = インスタンスでフェデレーションが有効になっていません。
settings.federation_apapiurl = このリポジトリのフェデレーション URL。これをコピーして、フォロー リポジトリの URL として別のリポジトリのフェデレーション設定に貼り付けます。
settings.federation_following_repos = フォローしているリポジトリの URL。空白なしで";"で区切られます。
settings.mirror_settings.push_mirror.copy_public_key = 公開鍵をコピー
[graphs]
component_loading = %s の読み込み中...
@ -2937,9 +3006,9 @@ dashboard.archive_cleanup=古いリポジトリアーカイブの削除
dashboard.deleted_branches_cleanup=削除ブランチのクリーンアップ
dashboard.update_migration_poster_id=移行する投稿者IDの更新
dashboard.git_gc_repos=すべてのリポジトリでガベージコレクションを実行
dashboard.resync_all_sshkeys='.ssh/authorized_keys' ファイルをForgejo上のSSHキーで更新
dashboard.resync_all_sshprincipals='.ssh/authorized_principals' ファイルをForgejo上のSSHプリンシパルで更新
dashboard.resync_all_hooks=すべてのリポジトリの pre-receive, update, post-receive フックを更新する
dashboard.resync_all_sshkeys=Forgejo SSH キーを使用して".ssh/authorized_keys"ファイルを更新します。
dashboard.resync_all_sshprincipals=Forgejo SSH プリンシパルを使用して".ssh/authorized_principals"ファイルを更新します。
dashboard.resync_all_hooks=すべてのリポジトリの pre-receive, update, post-receive フックを更新する
dashboard.reinit_missing_repos=レコードが存在するが見当たらないすべてのGitリポジトリを再初期化する
dashboard.sync_external_users=外部ユーザーデータの同期
dashboard.cleanup_hook_task_table=hook_taskテーブルのクリーンアップ
@ -3816,6 +3885,13 @@ no_results = 一致する結果が見つかりませんでした。
fuzzy_tooltip = 入力された語句に近いものも結果に含める
match = 一致
match_tooltip = 検索語句に厳密に一致するもののみ結果に含める
milestone_kind = マイルストーンを検索...
union_tooltip = 空白で区切られたキーワードのいずれかに一致する結果を含める
exact_tooltip = 検索語句と完全に一致する結果のみを含める
issue_kind = イシューを検索...
pull_kind = プルを検索...
exact = 完全一致
regexp_tooltip = 検索語句を正規表現として解釈する
[munits.data]

View file

@ -35,14 +35,14 @@ re_type = Patvirtinti slaptažodį
twofa = Dvigubas tapatybės nustatymas
twofa_scratch = Dvigubo ženklo kodas
passcode = PIN kodas
webauthn_sign_in = Paspausk saugumo rakto mygtuką. Jei saugumo raktas neturi mygtuko, įkišk jį iš naujo.
webauthn_press_button = Paspausk saugumo rakto mygtuką…
webauthn_sign_in = Paspauskite saugumo rakto mygtuką. Jei saugumo raktas neturi mygtuko, įkiškite jį iš naujo.
webauthn_press_button = Paspauskite saugumo rakto mygtuką…
webauthn_error = Nepavyko nuskaityti saugumo rakto.
webauthn_unsupported_browser = Tavo naršyklė šiuo metu nepalaiko „WebAuthn“.
webauthn_error_unknown = Įvyko nežinoma klaida. Bandyk dar kartą.
webauthn_error_unable_to_process = Serveris negalėjo apdoroti tavo prašymo.
webauthn_error_duplicated = Saugumo raktas neleidžiamas šiai prašymai. Įsitikink, kad raktas dar nėra užregistruotas.
webauthn_error_empty = Turi nustatyti šio rakto pavadinimą.
webauthn_unsupported_browser = Jūsų naršyklė šiuo metu nepalaiko „WebAuthn“.
webauthn_error_unknown = Įvyko nežinoma klaida. Bandykite dar kartą.
webauthn_error_unable_to_process = Serveris negalėjo apdoroti jūsų prašymo.
webauthn_error_duplicated = Saugumo raktas neleidžiamas šiai prašymai. Įsitikinkite, kad raktas dar nėra užregistruotas.
webauthn_error_empty = Turite nustatyti šio rakto pavadinimą.
repository = Saugykla
organization = Organizacija
mirror = Dubliuojančioji tinklavietė
@ -95,8 +95,8 @@ write = Rašyti
preview = Peržiūra
loading = Įkeliama…
error = Klaida
error404 = Puslapis, kurį bandai pasiekti, <strong>neegzistuoja</strong> arba <strong>nesi įgaliotas</strong> jį peržiūrėti.
error413 = Tu išnaudojai savo kvotą.
error404 = Puslapis, kurį bandote pasiekti, <strong>neegzistuoja</strong> arba <strong>nesate įgalioti</strong> jį peržiūrėti.
error413 = Jūs išnaudojote savo kvotą.
go_back = Eiti atgal
invalid_data = Netinkama data: %v
never = Niekada
@ -105,19 +105,19 @@ rss_feed = RSS kanalas
pin = Prisegti
unpin = Atsegti
artifacts = Artefaktai
confirm_delete_artifact = Ar tikrai nori ištrinti artefaktą „%s“?
confirm_delete_artifact = Ar tikrai norite ištrinti artefaktą „%s“?
archived = Archyvuota
concept_system_global = Globalus
enable_javascript = Šiai svetainei reikalingas „JavaScript“.
webauthn_insert_key = Įkišk savo saugumo raktą
webauthn_insert_key = Įkiškite savo saugumo raktą
webauthn_use_twofa = Naudoti dvigubą kodą iš telefono
webauthn_error_timeout = Baigėsi laikas, per kurį nebuvo galima nuskaityti rakto. Perkrauk šį puslapį ir bandyk dar kartą.
webauthn_error_timeout = Baigėsi laikas, per kurį nebuvo galima nuskaityti rakto. Perkraukite šį puslapį ir bandykite dar kartą.
your_starred = Pažymėti žvaigždutę
remove = Pašalinti
copy_generic = Kopijuoti į iškarpinę
captcha = Saugos testas (CAPTCHA)
your_profile = Profilis
webauthn_error_insecure = „WebAuthn“ palaiko tik saugius ryšius. Bandymams per HTTP gali naudoti „localhost“ arba „127.0.0.0.1“.
webauthn_error_insecure = „WebAuthn“ palaiko tik saugius ryšius. Bandymams per HTTP galite naudoti „localhost“ arba „127.0.0.0.1“.
collaborative = Bendradarbiavimas
home = Pagrindinis
page = Puslapis
@ -143,4 +143,133 @@ filter.not_template = Ne šablonai
filter.public = Vieša
filter.private = Privati
filter.not_mirror = Ne dubliuojantys tinklavietės
filter.is_template = Šablonai
filter.is_template = Šablonai
[search]
search = Ieškoti...
type_tooltip = Paieškos tipas
fuzzy = Tikslintinas
union_tooltip = Įtraukti rezultatus, atitinkančius bet kurį iš matomą tarpą atskirtų raktažodžių
exact = Tiksliai
exact_tooltip = Įtraukti tik tuos rezultatus, kurie atitinka tikslią paieškos frazę
user_kind = Ieškoti naudotojų...
team_kind = Ieškoti komandų...
code_kind = Ieškoti kodo...
fuzzy_tooltip = Įtraukti rezultatus, kurie taip pat labai atitinka paieškos terminą
repo_kind = Ieškoti saugyklų...
code_search_unavailable = Kodų paieška šiuo metu nepasiekiama. Kreipkis į svetainės administratorių.
org_kind = Ieškoti organizacijų...
union = Bendrinis
code_search_by_git_grep = Dabartiniai kodo paieškos rezultatai pateikiami atliekant „git grep“. Rezultatai gali būti geresni, jei svetainės administratorius įjungs kodo indeksuotoją.
package_kind = Ieškoti paketų...
project_kind = Ieškoti projektų...
commit_kind = Ieškoti įsipareigojimų...
runner_kind = Ieškoti vykdyklių...
no_results = Nerasta atitinkamų rezultatų.
issue_kind = Ieškoti problemų...
branch_kind = Ieškoti šakų...
milestone_kind = Ieškoti gairių...
pull_kind = Ieškoti sujungimų...
keyword_search_unavailable = Ieškoti pagal raktažodį šiuo metu nepasiekiamas. Susisiekite su svetainės administratoriumi.
[actions]
workflow.disable = Išjungti darbo eigą
runs.expire_log_message = Žurnalai buvo panaikinti, nes buvo per seni.
workflow.disable_success = Sėkmingai išjungta darbo eiga „%s“.
workflow.enable = Įjungti darbo eigą
runs.empty_commit_message = (tuščias įsipareigojimo pranešimas)
[git.filemode]
submodule = Pomodulis
changed_filemode = %[1]s → %[2]s
symbolic_link = Virtualusis aplankas
directory = Katalogas
executable_file = Vykdomasis failas
normal_file = Įprastas failas
[projects]
deleted.display_name = Ištrintas projektas
type-1.display_name = Individualus projektas
type-2.display_name = Saugyklos projektas
type-3.display_name = Organizacijos projektas
[markup]
filepreview.truncated = Peržiūra buvo sutrumpinta
[mail]
reset_password.text = Jei tai buvote jūs, spustelėkite toliau esančią nuorodą, kad atkurtumėte savo paskyrą per <b>%s</b>:
[heatmap]
contributions_one = įnašas
contributions_few = įnašai
less = Mažiau
more = Daugiau
number_of_contributions_in_the_last_12_months = %s įnašų per pastaruosius 12 mėnesių
contributions_zero = Įnašų nėra
contributions_format = {contributions} {year} {month} {day}
[aria]
navbar = Naršymo juosta
footer = Puslapinė poraštė
footer.software = Apie šią programinę įrangą
footer.links = Nuorodos
[editor]
buttons.quote.tooltip = Cituoti tekstą
buttons.code.tooltip = Pridėti kodą
buttons.link.tooltip = Pridėti nuorodą
buttons.heading.tooltip = Pridėti antraštę
buttons.bold.tooltip = Pridėti pusjuodį tekstą
buttons.italic.tooltip = Pridėti kursyvinį tekstą
buttons.list.unordered.tooltip = Pridėti punktų sąrašą
buttons.list.ordered.tooltip = Pridėti numeruotą sąrašą
buttons.list.task.tooltip = Pridėti užduočių sąrašą
buttons.mention.tooltip = Minėti naudotoją arba komandą
buttons.ref.tooltip = Nurodyti į problemą arba sujungimo prašymą
buttons.switch_to_legacy.tooltip = Vietoj to naudoti senąjį rengyklę
buttons.enable_monospace_font = Įjungti vienspalvį šriftą
buttons.disable_monospace_font = Išjungti vienspalvį šriftą
buttons.indent.tooltip = Įdėti elementus vienu lygiu
[error]
network_error = Tinklo klaida
server_internal = Vidinio serverio klaida
occurred = Įvyko klaida.
[startpage]
app_desc = Nesudėtinga, savarankiškai teikiama „Git“ paslauga
install = Lengva įdiegti
license = Atvirojo kodo
[install]
path = Kelias
err_admin_name_is_reserved = Administratoriaus naudotojo vardas netinkamas. Naudotojo vardas yra rezervuotas.
enable_update_checker = Įjungti naujinimų tikrintuvą
env_config_keys = Aplinkos konfigūracija
db_title = Duomenų bazės nustatymai
db_type = Duomenų bazės tipas
user = Naudotojo vardas
password = Slaptažodis
db_name = Duomenų bazės pavadinimas
db_schema = Schema
ssl_mode = SSL
host = Pagrindinis komputeris
general_title = Bendrieji nustatymai
email_title = El. pašto nustatymai
federated_avatar_lookup.description = Ieškokite pseudoportretų naudojant „Libravatar“.
db_schema_helper = Palikite tuščią, jei tai numatytoji duomenų bazė („public“).
err_empty_admin_password = Administratoriaus slaptažodis negali būti tuščias.
err_empty_admin_email = Administratoriaus el. paštas negali būti tuščias.
[explore]
go_to = Eiti į
code = Kodas
[auth]
remember_me = Prisiminti šį įrenginį
forgot_password_title = Pamirštas slaptažodis
forgot_password = Pamiršote slaptažodį?
[filter]
string.asc = A Ž
string.desc = Ž A

View file

@ -2323,7 +2323,7 @@ settings.protect_branch_name_pattern=Aizsargātā zara šablons
settings.protect_branch_name_pattern_desc=Aizsargāto atzaru nosaukumu šabloni. Šablonu pierakstu skatīt <a href="%s">dokumentācijā</a>. Piemēri: main, release/**
settings.protect_patterns=Šabloni
settings.protect_protected_file_patterns=Aizsargāto failu šablons (vairākus var norādīt atdalot ar semikolu ';'):
settings.protect_protected_file_patterns_desc=Aizsargātie faili, ko nevar mainīt, pat ja lietotājam ir tiesības veidot jaunus, labot vai dzēst failus šajā atzarā. Vairākus šablons ir iespējams norādīt atdalot tos ar semikolu (';'). Sīkāka informācija par šabloniem pieejama <a href='%s'>github.com/gobwas/glob</a> dokumentācijā. Piemēram, <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc=Aizsargātie faili, ko nevar mainīt, pat ja lietotājam ir tiesības veidot jaunus, labot vai dzēst failus šajā atzarā. Vairākus šablons ir iespējams norādīt atdalot tos ar semikolu (';'). Sīkāka informācija par šabloniem pieejama <a href='%s'>%s</a> dokumentācijā. Piemēram, <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Neaizsargāto failu šablons (vairākus var norādīt atdalot ar semikolu ';'):
settings.protect_unprotected_file_patterns_desc=Neaizsargātie faili, ko iespējams mainīt apejot iesūtīšanas ierobežojumus, ja lietotājam ir tiesības iesūtīt izmaiņas šajā atzarā. Vairākus šablons ir iespējams norādīt atdalot tos ar semikolu (';'). Sīkāka informācija par šabloniem pieejama <a href='%[1]s'>%[2]s</a> dokumentācijā. Piemēram, <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Iespējot aizsargāšanu

View file

@ -23,4 +23,115 @@ language = Språk
notifications = Varslinger
create_new = Opprett…
user_profile_and_more = Profil og innstillinger…
signed_in_as = Logget inn som
signed_in_as = Logget inn som
confirm_delete_selected = Bekreft sletting av alle valgte elementer?
dashboard = Dashbord
download_logs = Last ned logger
copy_hash = Kopier hash
more_items = Flere elementer
passcode = Adgangskode
webauthn_insert_key = Skriv inn din sikkerhetsnøkkel
webauthn_use_twofa = Bruk tofaktorkode fra din mobil
organization = Organisasjon
mirror = Speil
new_mirror = Ny speiling
repository = Repositorium
new_project = Nytt prosjekt
new_project_column = Ny kolonne
webauthn_error = Klarte ikke lese sikkerhetsnøkkelen.
webauthn_unsupported_browser = Nettleseren din støtter ikke WebAuthn.
webauthn_error_unknown = En ukjent feil oppstod. Vennligst prøv igjen.
webauthn_error_insecure = WebAuhn støtter kun sikre forbindelser. For testing over HTTP kan du bruke verten "localhost" eller "127.0.0.1"
admin_panel = Nettsideadministrasjon
settings = Innstillinger
your_profile = Profil
your_starred = Stjernemerket
your_settings = Innstillinger
new_repo.title = Nytt repositorium
new_migrate.title = Ny migrasjon
new_org.title = Ny organisasjon
new_repo.link = Nytt repositorium
new_migrate.link = Ny migrasjon
new_org.link = Ny organisasjon
all = Alle
sources = Kilder
mirrors = Speilinger
activities = Aktiviteter
rss_feed = RSS feed
retry = Prøv igjen
rerun = Kjør på nytt
rerun_all = Kjør alle jobber på nytt
save = Lagre
cancel = Avbryt
forks = Forks
milestones = Milepæler
ok = OK
test = Test
loading = Laster inn…
error = Feil
go_back = Gå tilbake
never = Aldri
invalid_data = Ugyldig data: %v
unknown = Ukjent
pin = Pin
artifacts = Artefakter
archived = Arkivert
concept_system_global = Global
add = Legg til
add_all = Legg til alle
remove = Fjern
remove_all = Fjern alle
remove_label_str = Fjern element "%s"
edit = Rediger
view = Vis
enabled = Aktivert
disabled = Deaktivert
locked = Låst
copy = Kopier
copy_generic = Kopier til utklippstavlen
copy_url = Kopier URL
copy_content = Kopier innhold
copy_success = Kopiert!
copy_error = Kopiering mislyktes
copy_type_unsupported = Denne filtypen kan ikke kopieres
write = Skriv
preview = Forhåndsvis
concept_user_individual = Individuell
concept_code_repository = Repositorium
concept_user_organization = Organisasjon
show_timestamps = Vis tidsstempler
show_log_seconds = Vis sekunder
show_full_screen = Vis fullskjerm
name = Navn
value = Verdi
filter = Filter
filter.clear = Tøm filtre
filter.is_archived = Arkivert
filter.not_archived = Ikke arkivert
filter.is_mirror = Speilinger
filter.not_mirror = Ikke speilinger
filter.is_template = Maler
filter.not_template = Ikke maler
filter.public = Offentlig
filter.private = Privat
explore = Utforsk
active_stopwatch = Aktiv tidsregistrering
home = Hjem
help = Hjelp
logo = Logo
sign_in = Logg inn
sign_in_with_provider = Logg inn med %s
sign_in_or = eller
sign_out = Logg ut
sign_up = Opprett konto
confirm_delete_artifact = Er du sikker på at du vil slette artefakten "%s" ?
[search]
search = Søk...
type_tooltip = Søketype
fuzzy = Fuzzy
union = Union
[auth]
verify = Bekreft
sign_up_button = Opprett konto nå.

View file

@ -476,6 +476,7 @@ hint_register = Heb je een account nodig? <a href="%s"> Registreer nu.</a>
sign_up_button = Registreer nu.
back_to_sign_in = Terug naar aanmelden
sign_in_openid = Ga verder met OpenID
unauthorized_credentials = Je inloggegevens zijn foutief of vervallen. Probeer opnieuw of zie %s voor meer informatie
[mail]
view_it_on=Bekijk het op %s
@ -1356,7 +1357,7 @@ commit.cherry-pick-content=Selecteer een branch om te cherry-pick op:
commitstatus.error=Fout
commitstatus.pending=In behandeling
ext_issues=Toegang tot externe issues
ext_issues=Externe issues
ext_issues.desc=Koppelen aan een externe kwestie-tracker.
projects=Projecten
@ -1503,9 +1504,9 @@ issues.context.quote_reply=Citeer antwoord
issues.context.reference_issue=Verwijs in een nieuwe issue
issues.context.edit=Bewerken
issues.context.delete=Verwijder
issues.close_comment_issue=Reageer en sluit
issues.close_comment_issue=Sluit met commentaar
issues.reopen_issue=Heropen
issues.reopen_comment_issue=Reageer en heropen
issues.reopen_comment_issue=Heropen met commentaar
issues.create_comment=Reageer
issues.closed_at=`heeft dit probleem gesloten <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`heropende dit probleem <a id="%[1]s" href="#%[1]s">%[2]s</a>`
@ -1811,7 +1812,7 @@ milestones.filter_sort.most_issues=Meeste problemen
milestones.filter_sort.least_issues=Minste problemen
ext_wiki=Toegang tot externe wiki
ext_wiki=Externe wiki
ext_wiki.desc=Koppelen aan een externe wiki.
wiki=Wiki
@ -2692,7 +2693,7 @@ settings.wiki_rename_branch_main_notices_2 = Dit zal de interne branch van %s's
settings.trust_model.collaborator.desc = Geldige handtekeningen van samenwerkers van deze repository worden als "vertrouwd" gemarkeerd - (of ze nu overeenkomen met de committer of niet). Anders worden geldige handtekeningen gemarkeerd als "niet-vertrouwd" als de handtekening overeenkomt met de committer en "niet-gematcht" als dat niet het geval is.
settings.trust_model.committer.desc = Geldige handtekeningen zullen alleen "vertrouwd" gemarkeerd worden als ze overeenkomen met de committer, anders zullen ze gemarkeerd worden als "ongeëvenaard". Dit dwingt Forgejo om de committer te zijn op ondertekende commits met de werkelijke committer gemarkeerd als Co-authored-by: en Co-committed-by: aanhanger in de commit. De standaard Forgejo sleutel moet overeenkomen met een gebruiker in de database.
settings.pulls.enable_autodetect_manual_merge = Handmatig samenvoegen met autodetectie inschakelen (Opmerking: In sommige speciale gevallen kunnen hierdoor verkeerde beoordelingen optreden)
settings.protect_protected_file_patterns_desc = Beschermde bestanden mogen niet direct gewijzigd worden, zelfs als de gebruiker rechten heeft om bestanden in deze branch toe te voegen, te bewerken of te verwijderen. Meerdere patronen kunnen gescheiden worden met een puntkomma (";"). Zie <a href="%s">github.com/gobwas/glob</a> documentatie voor patroon syntax. Voorbeelden: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc = Beschermde bestanden mogen niet direct gewijzigd worden, zelfs als de gebruiker rechten heeft om bestanden in deze branch toe te voegen, te bewerken of te verwijderen. Meerdere patronen kunnen gescheiden worden met een puntkomma (";"). Zie <a href="%s">%s</a> documentatie voor patroon syntax. Voorbeelden: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
wiki.delete_page_notice_1 = Het verwijderen van de wikipagina "%s" kan niet ongedaan worden gemaakt. Doorgaan?
wiki.reserved_page = De wikipaginanaam "%s" is gereserveerd.
activity.navbar.pulse = Puls
@ -3942,6 +3943,8 @@ pull_kind = Zoek pulls...
union = Trefwoorden
union_tooltip = Neem resultaten op die overeenkomen met een van de trefwoorden gescheiden door spaties
milestone_kind = Zoek mijlpalen...
regexp_tooltip = Interpreteer de zoekterm als een reguliere expressie
regexp = RegExp
[munits.data]
b = B
@ -3959,4 +3962,9 @@ filepreview.truncated = Voorbeeld is ingekort
[translation_meta]
test = Oké
test = Oké
[repo.permissions]
code.write = <b>Schrijven:</b> Push naar de repositorie, maak branches en tags.
code.read = <b>Lezen:</b> Toegang en clone de code van de repository.
issues.read = <b>Lezen:</b> Lees en maak issues en commentaren.

View file

@ -552,6 +552,7 @@ removed_security_key.subject = Klucz bezpieczeństwa został usunięty
removed_security_key.text_1 = Klucz bezpieczeństwa "%[1]s" został właśnie usunięty z twojego konta.
totp_enrolled.text_1.has_webauthn = Właśnie włączyłeś TOTP dla swojego konta. Oznacza to, że dla wszystkich przyszłych logowań do konta możesz użyć TOTP jako metody 2FA lub użyć dowolnego klucza bezpieczeństwa.
team_invite.text_2 = Kliknij poniższy link, aby dołączyć do zespołu:
issue.action.merge = połączone
[modal]
@ -685,7 +686,7 @@ avatar=Awatar
ssh_gpg_keys=Klucze SSH / GPG
social=Konta społecznościowe
applications=Aplikacje
orgs=Zarządzaj organizacjami
orgs=Organizacje
repos=Repozytoria
delete=Usuń konto
twofa=Autoryzacja dwuetapowa
@ -698,7 +699,7 @@ password_username_disabled=Użytkownicy nielokalni nie mogą zmieniać swoich na
full_name=Imię i nazwisko
website=Strona
location=Lokalizacja
update_theme=Zaktualizuj motyw
update_theme=Zmień motyw
update_profile=Zaktualizuj profil
update_language_success=Język został zaktualizowany.
update_profile_success=Twój profil został zaktualizowany.
@ -729,15 +730,15 @@ password_change_disabled=Konta niebędące lokalnymi nie mogą zmienić swojego
emails=Adresy e-mail
manage_emails=Zarządzaj adresami e-mail
manage_themes=Wybierz motyw domyślny
manage_openid=Zarządzanie adresami OpenID
manage_themes=Domyślny motyw
manage_openid=Adresy OpenID
theme_desc=Będzie to domyślny motyw na całej stronie.
primary=Podstawowy
activated=Aktywowany
requires_activation=Wymaga aktywacji
primary_email=Ustaw jako podstawowy
activate_email=Wyślij aktywację
activations_pending=Aktywacje oczekujące
activate_email=Wyślij email aktywacyjny
activations_pending=Oczekujące aktywacje
delete_email=Usuń
email_deletion=Usuń adres email
email_deletion_desc=Adres e-mail i powiązane informacje zostaną usunięte z Twojego konta. Commity za pomocą tego adresu e-mail pozostaną niezmienione. Kontynuować?
@ -747,7 +748,7 @@ theme_update_error=Wybrany motyw nie istnieje.
openid_deletion=Usuń adres OpenID
openid_deletion_desc=Usunięcie tego adresu OpenID z Twojego konta uniemożliwi Ci logowanie się za jego pomocą. Kontynuować?
openid_deletion_success=Adres OpenID został usunięty.
add_new_email=Dodaj nowy e-mail
add_new_email=Dodaj e-mail
add_new_openid=Dodaj nowy URI OpenID
add_email=Dodaj adres e-mail
add_openid=Dodaj OpenID URI
@ -760,13 +761,13 @@ openid_desc=OpenID pozwala na delegowanie uwierzytelniania do zewnętrznego oper
manage_ssh_keys=Zarządzaj kluczami SSH
manage_gpg_keys=Zarządzaj kluczami GPG
add_key=Dodaj klucz
ssh_desc=Te publiczne klucze SSH są powiązane z Twoim kontem. Odpowiadające im klucze prywatne umożliwiają pełny dostęp do Twoich repozytoriów.
gpg_desc=Te publiczne klucze GPG są powiązane z Twoim kontem. Dbaj o bezpieczeństwo kluczy prywatnych, gdyż pozwalają one na weryfikację commitów.
ssh_desc=Te publiczne klucze SSH są powiązane z Twoim kontem. Odpowiadające im klucze prywatne umożliwiają pełny dostęp do Twoich repozytoriów. Klucze SSH, które zostały zweryfikowane mogą zostać użyte do weryfikacji commitów podpisanych kluczem SSH.
gpg_desc=Te publiczne klucze GPG są powiązane z Twoim kontem i będą używane do weryfikacji twoich commitów. Dbaj o bezpieczeństwo kluczy prywatnych, gdyż pozwalają one na podpisywanie commitów.
ssh_helper=<strong>Potrzebujesz pomocy?</strong> Sprawdź na GitHubie przewodnik <a href="%s">generowania kluczy SSH</a> lub rozwiązywanie <a href="%s">typowych problemów z SSH</a>.
gpg_helper=<strong>Potrzebujesz pomocy?</strong> Przeczytaj na GitHubie poradnik <a href="%s">na temat GPG</a>.
add_new_key=Dodaj klucz SSH
add_new_gpg_key=Dodaj klucz GPG
key_content_gpg_placeholder=Zaczyna się od '-----BEGIN PGP PUBLICZNEJ BLOKI KLUCZOWEJ PGP---'
key_content_gpg_placeholder=Zaczyna się od "-----BEGIN PGP PUBLIC KEY BLOCK-----"
ssh_key_been_used=Ten klucz SSH został już dodany do tego serwera.
ssh_key_name_used=Klucz SSH z tą nazwą został już dodany do Twojego konta.
ssh_principal_been_used=Ten klucz SSH został już dodany do tego serwera.
@ -783,7 +784,7 @@ gpg_token=Token
gpg_token_help=Możesz wygenerować podpis za pomocą:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Wzmocniony podpis GPG
key_signature_gpg_placeholder=Zaczyna się od '-----BEGIN PGP SIGNATURE-----'
key_signature_gpg_placeholder=Zaczyna się od "-----BEGIN PGP SIGNATURE-----"
ssh_key_verified=Zweryfikowany klucz
ssh_key_verified_long=Klucz został zweryfikowany tokenem i może być użyty do weryfikacji zmian pasujących do wszystkich aktywowanych adresów e-mail tego użytkownika.
ssh_key_verify=Weryfikuj
@ -791,7 +792,7 @@ ssh_token_required=Musisz podać podpis poniższego tokenu
ssh_token=Token
ssh_token_help=Możesz wygenerować podpis używając:
ssh_token_signature=Wzmocniony podpis SSH
key_signature_ssh_placeholder=Zaczyna się od '-----BEGIN SSH SIGNATURE-----'
key_signature_ssh_placeholder=Zaczyna się od "-----BEGIN SSH SIGNATURE-----"
subkeys=Podklucze
key_id=ID klucza
key_name=Nazwa klucza
@ -821,10 +822,10 @@ ssh_externally_managed=Ten klucz SSH jest zarządzany zewnętrznie dla tego uży
manage_social=Zarządzaj powiązanymi kontami społecznościowymi
unbind=Rozłącz
manage_access_token=Zarządzaj tokenami dostępu
manage_access_token=Tokeny dostępu
generate_new_token=Wygeneruj nowy token
tokens_desc=Te tokeny dostępu udzielają dostępu do Twojego konta za pomocą API Forgejo.
token_name=Nazwa tokena
token_name=Nazwa tokenu
generate_token=Wygeneruj token
generate_token_success=Twój nowy token został wygenerowany. Skopiuj go teraz, gdyż nie zostanie ujawniony ponownie.
generate_token_name_duplicate=<strong>%s</strong> istnieje już jako nazwa aplikacji. Użyj nowej.
@ -854,15 +855,15 @@ oauth2_application_create_description=Aplikacje OAuth2 umożliwiają Twojej apli
authorized_oauth2_applications=Autoryzowane aplikacje OAuth2
revoke_key=Odwołaj
revoke_oauth2_grant=Odwołaj dostęp
revoke_oauth2_grant=Zabierz dostęp
revoke_oauth2_grant_description=Odwołanie dostępu dla tej aplikacji uniemożliwi jej korzystanie z Twoich danych. Czy jesteś pewny(-a)?
twofa_desc=Weryfikacja dwuskładnikowa zwiększa bezpieczeństwo Twojego konta.
twofa_is_enrolled=Twoje konto ma obecnie <strong>włączoną</strong> autoryzację dwuetapową.
twofa_not_enrolled=Twoje konto obecnie nie ma włączonej autoryzacji dwuetapowej.
twofa_disable=Wyłącz weryfikację dwuetapową
twofa_scratch_token_regenerate=Wygeneruj ponownie kod jednorazowy
twofa_enroll=Włącz weryfikację dwuskładnikową
twofa_scratch_token_regenerate=Ponownie wygeneruj jednorazowy kod odzyskiwania
twofa_enroll=Włącz weryfikację dwuetapową
twofa_disable_note=W każdej chwili możesz wyłączyć weryfikację dwuskładnikową.
twofa_disable_desc=Wyłączenie weryfikacji dwuetapowej sprawi, że Twoje konto będzie mniej bezpieczne. Kontynuować?
regenerate_scratch_token_desc=Jeśli zgubiłeś(-aś) lub zużyłeś(-aś) swój kod jednorazowy, możesz go wygenerować ponownie tutaj.
@ -878,7 +879,7 @@ webauthn_register_key=Dodaj klucz bezpieczeństwa
webauthn_delete_key=Usuń klucz bezpieczeństwa
webauthn_delete_key_desc=Jeżeli usuniesz klucz bezpieczeństwa, utracisz możliwość zalogowania się z jego użyciem. Kontynuować?
manage_account_links=Zarządzaj powiązanymi kontami
manage_account_links=Powiązane konta
manage_account_links_desc=Te konta zewnętrzne są powiązane z Twoim kontem Forgejo.
account_links_not_available=Obecnie nie ma żadnych zewnętrznych kont powiązanych z tym kontem Forgejo.
link_account=Powiąż konto
@ -893,7 +894,7 @@ delete_account=Usuń swoje konto
delete_prompt=Ta operacja permanentnie usunie Twoje konto użytkownika i jest <strong>NIEODWRACALNA</strong>.
delete_with_all_comments=Twoje konto jest młodsze niż %s. Aby uniknąć fałszywych komentarzy, wszystkie komentarze zgłoszenia/PR zostaną z nim usunięte.
confirm_delete_account=Potwierdź usunięcie
delete_account_title=Usuń swoje konto
delete_account_title=Usuń konto użytkownika
delete_account_desc=Czy na pewno chcesz permanentnie usunąć to konto użytkownika?
email_notifications.enable=Włącz powiadomienia e-mail
@ -932,7 +933,7 @@ template_description=Szablony repozytoriów pozwalają użytkownikom generować
visibility=Widoczność
visibility_description=Tylko właściciel lub członkowie organizacji, jeśli mają odpowiednie uprawnienia, będą mogli to zobaczyć.
visibility_helper_forced=Administrator strony wymaga, aby nowe repozytoria były prywatne.
visibility_fork_helper=(Zmiana tej wartości wpłynie na wszystkie forki.)
visibility_fork_helper=(Zmiana tej wartości wpłynie na widoczność wszystkich forków.)
clone_helper=Potrzebujesz pomocy z klonowaniem? Odwiedź <a target="_blank" rel="noopener noreferrer" href="%s">pomoc</a>.
fork_repo=Forkuj repozytorium
fork_from=Forkuj z
@ -942,13 +943,13 @@ clone_in_vsc=Klonuj w VS Code
download_zip=Pobierz ZIP
download_tar=Pobierz TAR.GZ
download_bundle=Pobierz BUNDLE
generate_repo=Generuj repozytorium
generate_from=Generuj z
generate_repo=Wygeneruj repozytorium
generate_from=Wygeneruj z
repo_desc=Opis
repo_desc_helper=Wprowadź krótki opis (opcjonalnie)
repo_lang=Język
repo_gitignore_helper=Wybierz szablony pliku .gitignore.
issue_labels=Etykiety zgłoszenia
issue_labels=Etykiety
issue_labels_helper=Wybierz zestaw etykiet zgłoszeń
license=Licencja
license_helper=Wybierz plik licencji
@ -959,14 +960,14 @@ readme_helper_desc=To jest miejsce, w którym możesz napisać pełny opis swoje
auto_init=Inicjalizuj repozytorium (dodaje .gitignore, licencję i README)
trust_model_helper_default=Domyślnie: Użyj domyślnego modelu zaufania dla tej instalacji
create_repo=Utwórz repozytorium
default_branch=Domyślna gałąź
default_branch=Domyślny branch
default_branch_helper=Domyślny branch jest podstawowym branch'em dla pull requestów i commit'ów kodu.
mirror_prune=Wyczyść
mirror_prune_desc=Usuń przestarzałe odwołania do zdalnych śledzeń
mirror_interval_invalid=Interwał lustrzanej kopii jest niepoprawny.
mirror_address=Sklonuj z adresu URL
mirror_lfs=Duże przechowywanie plików (LFS)
mirror_lfs_endpoint=Punkt końcowy LFS
mirror_lfs_endpoint=Endpoint LFS
mirror_lfs_endpoint_desc=Synchronizacja spróbuje użyć adresu URL klonowania, aby <a target="_blank" rel="noopener noreferrer" href="%s">określić serwer LFS</a>. Możesz również określić niestandardowy punkt końcowy, jeśli dane repozytorium LFS są przechowywane gdzieś indziej.
mirror_last_synced=Ostatnio zsynchronizowano
mirror_password_placeholder=(Nie zmieniono)
@ -1912,8 +1913,8 @@ settings.protect_whitelist_teams=Zespoły dopuszczone do pushowania
settings.protect_whitelist_search_teams=Szukaj zespołów…
settings.protect_merge_whitelist_committers=Włącz dopuszczenie scalania
settings.protect_merge_whitelist_committers_desc=Zezwól jedynie dopuszczonym użytkownikom lub zespołom na scalanie Pull Requestów w tej gałęzi.
settings.protect_merge_whitelist_users=Użytkownicy dopuszczeni do scalania:
settings.protect_merge_whitelist_teams=Zespoły dopuszczone do scalania:
settings.protect_merge_whitelist_users=Użytkownicy dopuszczeni do scalania
settings.protect_merge_whitelist_teams=Zespoły dopuszczone do scalania
settings.protect_check_status_contexts=Włącz kontrolę stanu
settings.protect_check_status_contexts_desc=Wymagaj powodzenia kontroli stanów przed scalaniem. Wybierz które kontrole stanów muszą zostać ukończone pomyślnie, zanim gałęzie będą mogły zostać scalone z gałęzią, która pokrywa się z tą zasadą. Kiedy włączone, commity muszą być najpierw wypchnięte do innej gałęzi, a następnie scalone lub wypchnięte bezpośrednio do gałęzi, która pokrywa się z tą zasadą po pomyślnej kontroli stanów. Jeżeli nie zostaną wybrane konteksty, ostatni commit musi zakończyć się powodzeniem niezależnie od kontekstu.
settings.protect_check_status_contexts_list=Kontrole stanów w poprzednim tygodniu dla tego repozytorium
@ -2866,4 +2867,5 @@ exact = Dokładnie
exact_tooltip = Uwzględniaj tylko wyniki pasujące do wyszukiwanego hasła
issue_kind = Wyszukaj problemy...
pull_kind = Wyszukaj pull requesty...
union = Unia
union = Unia
regexp = RegExp

View file

@ -4,7 +4,7 @@ dashboard=Painel
explore=Explorar
help=Ajuda
logo=Logotipo
sign_in=Acessar
sign_in=Entrar
sign_in_with_provider=Entrar com %s
sign_in_or=ou
sign_out=Sair
@ -164,6 +164,8 @@ new_org.title = Nova organização
new_repo.link = Novo repositório
new_migrate.link = Nova migração
new_org.link = Nova organização
test = Teste
error413 = Você esgotou sua cota.
[aria]
navbar=Barra de navegação
@ -195,6 +197,8 @@ buttons.ref.tooltip=Referenciar um issue ou um pull request
buttons.switch_to_legacy.tooltip=Em vez disso, usar o editor legado
buttons.enable_monospace_font=Habilitar fonte mono espaçada
buttons.disable_monospace_font=Desabilitar fonte mono espaçada
buttons.indent.tooltip = Aninhar items em um nível
buttons.unindent.tooltip = Desaninhar items em um nível
[filter]
string.asc=A - Z
@ -251,7 +255,7 @@ err_admin_name_is_invalid=Nome de usuário do administrador inválido
general_title=Configurações gerais
app_name=Título do servidor
app_name_helper=Você pode inserir o nome da empresa aqui.
app_name_helper=Insira o nome da sua instância aqui. Ele será mostrado em todas as páginas.
repo_path=Caminho raiz do repositório
repo_path_helper=Todos os repositórios remotos do Git serão salvos neste diretório.
lfs_path=Caminho raiz do Git LFS
@ -281,22 +285,22 @@ register_confirm=Exigir confirmação de e-mail para cadastros
mail_notify=Habilitar notificações por e-mail
server_service_title=Configurações do servidor e serviços de terceiros
offline_mode=Habilitar modo local
offline_mode.description=Desabilitar redes de entrega de conteúdo de terceiros e entregar todos os recursos localmente.
offline_mode.description=Desabilitar redes de entrega de conteúdo (CDNs) de terceiros e fornecer todos os recursos localmente.
disable_gravatar=Desabilitar o gravatar
disable_gravatar.description=Desabilitar o gravatar e avatar de fontes de terceiros. Um avatar padrão será usado a menos que um usuário localmente carrega um avatar.
disable_gravatar.description=Desabilitar o uso do Gravatar e avatar de fontes de terceiros. Um avatar padrão será usado a menos que um usuário localmente carrega um avatar.
federated_avatar_lookup=Habilitar avatares federados
federated_avatar_lookup.description=Habilitar a busca federativa de avatares a usar o serviço federativo de código aberto baseado no libravatar.
federated_avatar_lookup.description=Buscar avatares usando Libravatar.
disable_registration=Somente administradores podem criar novas contas
disable_registration.description=Desabilitar auto-cadastro de usuário. Somente os administradores serão capazes de criar novas contas de usuário.
allow_only_external_registration.description=Permitir cadastro somente por meio de serviços externos
disable_registration.description=Apenas administradores do servidor poderão criar novas contas. É altamente recomendado manter o cadastro desativado a não ser que deseje hospedar uma instância pública para qualquer pessoa e puder lidar com uma grande quantidade de contas de spam.
allow_only_external_registration.description=Usuários apenas poderão criar novas contas usando serviços externos que tenham sido configurados.
openid_signin=Habilitar acesso via OpenID
openid_signin.description=Habilitar o acesso de usuários via OpenID.
openid_signup=Habilitar cadastros via OpenID
openid_signup.description=Habilitar o auto-cadastro com base no OpenID.
openid_signup.description=Permitir que os usuários criem contas com OpenID se o autorregistro estiver habilitado.
enable_captcha=Habilitar CAPTCHA ao registrar
enable_captcha.description=Impor validação por CAPTCHA para cadastro de usuários.
require_sign_in_view=Apenas usuários logados podem visualizar páginas
require_sign_in_view.description=Limitar o acesso de página aos usuários autenticados. Os visitantes só verão as páginas de autenticação e cadastro.
require_sign_in_view.description=Limitar acesso ao conteúdo apenas aos usuários autenticados. Visitantes só poderão acessar as páginas de autenticação.
admin_setting.description=Criar uma conta de administrador é opcional. O primeiro usuário cadastrado automaticamente se tornará um administrador.
admin_title=Configurações da conta de administrador
admin_name=Usuário
@ -317,11 +321,11 @@ save_config_failed=Falha ao salvar a configuração: %v
invalid_admin_setting=Configuração da conta de administrador está inválida: %v
invalid_log_root_path=Pasta raíz do log está inválida: %v
default_keep_email_private=Ocultar endereços de e-mail por padrão
default_keep_email_private.description=Ocultar endereços de e-mail de novas contas de usuário por padrão.
default_keep_email_private.description=Ocultar endereços de e-mail de novas contas de usuário por padrão para que esta informação não seja vazada imediatamente após o cadastro.
default_allow_create_organization=Permitir a criação de organizações
default_allow_create_organization.description=Permitir que novas contas de usuários criem organizações por padrão.
default_allow_create_organization.description=Permitir que novas contas de usuário criem organizações por padrão. Quando esta opção está desabilitada, um administrador precisa dar permissão para a criação de organizações por novos usuários.
default_enable_timetracking=Habilitar o cronômetro por padrão
default_enable_timetracking.description=Habilitar o cronômetro para novos repositórios por padrão.
default_enable_timetracking.description=Habilitar o uso da funcionalidade de contagem de tempo para novos repositórios por padrão.
no_reply_address=Domínio de e-mail oculto
no_reply_address_helper=Nome de domínio para usuários com endereço de e-mail oculto. Por exemplo, o nome de usuário "joe" será registrado no Git como "joe@noreply.example.org" se o domínio de e-mail oculto estiver definido como "noreply.example.org".
password_algorithm=Algoritmo de hash de senhas
@ -341,7 +345,7 @@ app_slogan_helper = Insira o slogan de seu servidor aqui. Deixe em branco para d
[home]
uname_holder=Usuário ou e-mail
password_holder=Senha
switch_dashboard_context=Trocar contexto do painel de controle
switch_dashboard_context=Trocar contexto do painel
my_repos=Repositórios
show_more_repos=Mostrar mais repositórios…
collaborative_repos=Repositórios colaborativos
@ -403,14 +407,14 @@ forgot_password_title=Esqueci minha senha
forgot_password=Esqueceu sua senha?
sign_up_now=Precisa de uma conta? Cadastre-se agora.
sign_up_successful=A conta foi criada com sucesso. Bem-vindo!
confirmation_mail_sent_prompt=Um novo e-mail de confirmação foi enviado para <b>%s</b>. Por favor, verifique sua caixa de e-mail nas próximas %s horas para finalizar o processo de cadastro.
confirmation_mail_sent_prompt=Um novo email de confirmação foi enviado para <b>%s</b>. Para completar o processo de cadastro, por favor verifique sua caixa de entrada e acesse o link fornecido dentro de %s. Se o e-mail estiver incorreto, você pode entrar na conta e solicitar outro e-mail de confirmação para um endereço diferente.
must_change_password=Redefina sua senha
allow_password_change=Exigir que o usuário redefina a senha (recomendado)
reset_password_mail_sent_prompt=Um e-mail de confirmação foi enviado para <b>%s</b>. Por favor, verifique sua caixa de entrada dentro do(s) próximo(s) %s para concluir o processo de recuperação de conta.
active_your_account=Ativar sua conta
reset_password_mail_sent_prompt=Um e-mail de confirmação foi enviado para <b>%s</b>. Para concluir o processo de recuperação de conta, por favor verifique sua caixa de entrada e siga o link dentro do(s) próximo(s) %s.
active_your_account=Ative sua conta
account_activated=Conta foi ativada
prohibit_login=É proibido fazer login
prohibit_login_desc=Sua conta está proibida de fazer login, entre em contato com o administrador do site.
prohibit_login=Conta está suspensa
prohibit_login_desc=Sua conta foi suspensa de interagir com o servidor. Entre em contato com a administração do servidor para recuperar o acesso.
resent_limit_prompt=Você já solicitou recentemente um e-mail de ativação. Por favor, aguarde 3 minutos e tente novamente.
has_unconfirmed_mail=Oi %s, você possui um endereço de e-mail não confirmado (<b>%s</b>). Se você não recebeu um e-mail de confirmação ou precisa reenviar um novo, clique no botão abaixo.
resend_mail=Clique aqui para reenviar seu e-mail de ativação
@ -433,7 +437,7 @@ twofa_scratch_token_incorrect=Seu código de backup está incorreto.
login_userpass=Acessar
tab_openid=OpenID
oauth_signup_tab=Cadastrar nova conta
oauth_signup_title=Completar Nova Conta
oauth_signup_title=Completar nova conta
oauth_signup_submit=Completar conta
oauth_signin_tab=Vincular a uma conta existente
oauth_signin_title=Faça login para autorizar a conta vinculada
@ -453,7 +457,7 @@ email_domain_blacklisted=Você não pode se cadastrar com seu endereço de e-mai
authorize_application=Autorizar aplicativo
authorize_redirect_notice=Você será redirecionado para %s se você autorizar este aplicativo.
authorize_application_created_by=Este aplicativo foi criado por %s.
authorize_application_description=Se você conceder o acesso, ele será capaz de acessar e escrever em todas as informações da sua conta, incluindo repositórios privados e organizações.
authorize_application_description=Se você conceder o acesso, isso permitirá acessar e alterar todas as informações da sua conta, incluindo repositórios privados e organizações.
authorize_title=Autorizar "%s" para acessar sua conta?
authorization_failed=Autorização falhou
authorization_failed_desc=A autorização falhou porque detectamos uma solicitação inválida. Entre em contato com o responsável do aplicativo que você tentou autorizar.
@ -471,6 +475,8 @@ hint_register = Precisa de uma conta? <a href="%s">Registre-se agora</a>.
sign_up_button = Registre-se agora.
hint_login = Já possui uma conta? <a href="%s">Faça login agora!</a>
sign_in_openid = Continuar com OpenID
back_to_sign_in = Voltar a Iniciar Sessão
unauthorized_credentials = As credenciais estão incorretas ou expiraram. Tente novamente o comando ou consulte %s para obter mais informações
[mail]
view_it_on=Veja em %s
@ -487,7 +493,7 @@ activate_email=Verifique seu endereço de e-mail
activate_email.title=%s, por favor verifique o seu endereço de e-mail
activate_email.text=Por favor clique no link a seguir para verificar o seu endereço de e-mail em <b>%s</b>:
register_notify=Bem-vindo ao %s
register_notify=Boas vindas a %s
register_notify.title=%[1]s, bem-vindo(a) a %[2]s
register_notify.text_1=este é o seu e-mail de confirmação de registro para %s!
register_notify.text_2=Você pode fazer login em sua conta utilizando o usuário: %s
@ -549,6 +555,12 @@ totp_disabled.subject = A autenticação em dois fatores foi desabilitada
removed_security_key.subject = Uma chave de segurança foi removida
removed_security_key.text_1 = A chave de segurança "%[1]s" foi removida de sua conta.
account_security_caution.text_1 = Caso tenha sido você, este e-mail pode ser ignorado.
totp_enrolled.subject = Você ativou TOTP como método 2FA
totp_disabled.text_1 = A senha de uso único baseada em tempo (TOTP) na sua conta foi desativada.
totp_disabled.no_2fa = Já não existem mais outros métodos de autenticação em dois fatores (2FA) configurados, ou seja, não é mais necessário acessar sua conta com 2FA.
removed_security_key.no_2fa = Já não existem mais outros métodos de autenticação em dois fatores (2FA) configurados, ou seja, não é mais necessário acessar sua conta com 2FA.
totp_enrolled.text_1.no_webauthn = Você acabou de habilitar a TOTP para sua conta. Isso significa que para todos os acessos futuros à sua conta você deverá usar a TOTP como método de 2FA.
totp_enrolled.text_1.has_webauthn = Você acabou de habilitar a TOTP para sua conta. Isso significa que para todos os futuros acessos à sua conta você pode usar a TOTP como método de 2FA ou usar qualquer uma de suas chaves de segurança.
[modal]
yes=Sim
@ -689,17 +701,21 @@ form.name_chars_not_allowed=O usuário "%s" contém caracteres inválidos.
block_user = Bloquear usuário
unblock = Desbloquear
block = Bloquear
block_user.detail_2 = Este usuário não poderá interagir com seus repositórios, questões criadas e comentários.
block_user.detail_2 = Este usuário não poderá interagir com repositórios, issues ou comentários criados por você.
follow_blocked_user = Você não pode seguir este usuário porque você o bloqueou ou foi bloqueado por ele.
block_user.detail_3 = Este(a) usuário(a) não poderá adicioná-lo(a) como colaborador(a), nem você poderá adicioná-lo(a) como colaborador(a).
block_user.detail = Por favor, entenda que se você bloquear este usuário, outras ações serão tomadas. Tais como:
block_user.detail_3 = Vocês não poderão adicionar um ao outro como colaboradores de um repositório.
block_user.detail = Note que bloquear um usuário tem outros efeitos, tais como:
followers_one = %d seguidor
following_one = %d seguindo
block_user.detail_1 = Você deixará de seguir este usuário.
block_user.detail_1 = Vocês deixarão de seguir um ao outro e não poderão mais seguir um ao outro.
following.title.few = seguindo
following.title.one = seguindo
followers.title.one = seguidor
followers.title.few = seguidores
public_activity.visibility_hint.self_private = Sua atividade está visível apenas para você e para os administradores da instância. <a href="%s">Configurar</a>.
public_activity.visibility_hint.self_public = Sua atividade está visível para todos, exceto o engajamento em espaços privados. <a href="%s">Configurar</a>.
public_activity.visibility_hint.admin_public = Sua atividade está visível para todos, mas como um administrador você também pode ver o engajamento em espaços privados.
public_activity.visibility_hint.admin_private = Essa atividade está visível para você porque você é um administrador, mas o usuário dejesa que ela seja mantida em privado.
[settings]
profile=Perfil
@ -809,12 +825,12 @@ add_new_email=Adicionar novo endereço de e-mail
add_new_openid=Adicionar novo URI OpenID
add_email=Adicionar novo endereço de e-mail
add_openid=Adicionar URI OpenID
add_email_confirmation_sent=Um e-mail de confirmação foi enviado para "%s". Verifique sua caixa de entrada nos próximos %s para confirmar seu endereço de e-mail.
add_email_confirmation_sent=Um e-mail de confirmação foi enviado para "%s". Para confirmar seu endereço de e-mail, verifique sua caixa de entrada e acesse o link fornecido nela em até %s.
add_email_success=O novo endereço de e-mail foi adicionado.
email_preference_set_success=Preferência de e-mail definida com sucesso.
add_openid_success=O novo endereço de OpenID foi adicionado.
keep_email_private=Ocultar endereço de e-mail
keep_email_private_popup=Isso ocultará seu endereço de e-mail do seu perfil, bem como quando você fizer um pull request ou editar um arquivo usando a interface Web. Os commits enviados não serão modificados.
keep_email_private_popup=Isso ocultará seu endereço de e-mail do seu perfil. Ele não será mais o padrão para commits feitos pela interface web, como envios de arquivos e modificações, e não será usado para commits de merge. Em vez disso, um endereço especial %s pode ser usado para associar commits com a sua conta. Note que modificar esta opção não irá afetar commits já existentes.
openid_desc=OpenID permite delegar autenticação para um provedor externo.
manage_ssh_keys=Gerenciar chaves SSH
@ -955,9 +971,9 @@ twofa_desc=Autenticação de dois fatores melhora a segurança de sua conta.
twofa_is_enrolled=Sua conta está atualmente <strong>habilitada</strong> com autenticação de dois fatores.
twofa_not_enrolled=Sua conta não está atualmente inscrita para a autenticação em duas etapas.
twofa_disable=Desabilitar autenticação de dois fatores
twofa_scratch_token_regenerate=Gerar novamente o token de backup
twofa_scratch_token_regenerate=Gerar novamente o token de recuperação de uso único
twofa_scratch_token_regenerated=Seu token agora é %s. Guarde-a em um local seguro, pois ela nunca mais será exibido.
twofa_enroll=Inscrever para a autenticação de dois fatores
twofa_enroll=Habilitar a autenticação de dois fatores
twofa_disable_note=Você pode desabilitar a autenticação de dois fatores se necessário.
twofa_disable_desc=Desabilitar a autenticação de dois fatores tornará sua conta menos segura. Tem certeza que deseja continuar?
regenerate_scratch_token_desc=Se você perdeu o seu token de backup, ou teve que usá-lo para realizar um acesso, você pode redefini-lo.
@ -998,7 +1014,7 @@ delete_account_desc=Tem certeza que deseja apagar sua conta de usuário permanen
email_notifications.enable=Habilitar notificações por e-mail
email_notifications.onmention=Somente quando for mencionado(a)
email_notifications.disable=Desabilitar notificações por e-mail
email_notifications.submit=Atualizar preferências de e-mail
email_notifications.submit=Definir preferência de email
email_notifications.andyourown=e suas próprias notificações
visibility=Visibilidade do usuário
@ -1029,6 +1045,7 @@ update_hints = Dicas de atualização
update_hints_success = As dicas foram atualizadas.
keep_activity_private.description = A sua <a href="%s">atividade pública</a> estará visível apenas para si e para os administradores do servidor.
language.localization_project = Ajude-nos a traduzir Forgejo para o seu idioma! <a href="%s">Mais informações</a>.
language.description = Essa língua será salva em sua conta e será usada como padrão após você iniciar a sessão.
[repo]
owner=Proprietário
@ -1037,16 +1054,16 @@ repo_name=Nome do repositório
repo_name_helper=Um bom nome de repositório é composto por palavras curtas, memorizáveis e únicas.
repo_size=Tamanho do repositório
template=Modelo
template_select=Selecione um modelo.
template_select=Selecione um modelo
template_helper=Tornar repositório um modelo
template_description=Os repositórios de modelo permitem que os usuários gerem novos repositórios com a mesma estrutura de diretório, arquivos e configurações opcionais.
visibility=Visibilidade
visibility_description=Somente o proprietário ou os membros da organização, se tiverem direitos, poderão vê-lo.
visibility_helper=Tornar o repositório privado
visibility_helper_forced=O administrador do site força novos repositórios a serem privados.
visibility_fork_helper=(Esta alteração irá afetar todos os forks.)
visibility_fork_helper=(Esta alteração irá afetar a visibilidade de todos os forks.)
clone_helper=Precisa de ajuda com o clone? Visite a <a target="_blank" rel="noopener noreferrer" href="%s">Ajuda</a>.
fork_repo=Fork do repositório
fork_repo=Fazer fork do repositório
fork_from=Fork de
already_forked=Você já fez o fork de %s
fork_to_different_account=Faça um fork para uma conta diferente
@ -1062,17 +1079,17 @@ generate_from=Gerar a partir de
repo_desc=Descrição
repo_desc_helper=Digite uma breve descrição (opcional)
repo_lang=Linguagem
repo_gitignore_helper=Selecione modelos do .gitignore.
repo_gitignore_helper=Selecionar modelos de .gitignore
repo_gitignore_helper_desc=Escolha os arquivos que não serão rastreados da lista de modelos para linguagens comuns. Artefatos típicos gerados pelos compiladores de cada linguagem estão incluídos no .gitignore por padrão.
issue_labels=Etiquetas de issue
issue_labels_helper=Selecione um conjunto de etiquetas de issue.
issue_labels=Etiquetas
issue_labels_helper=Selecione um conjunto de etiquetas
license=Licença
license_helper=Selecione um arquivo de licença.
license_helper=Selecione um arquivo de licença
license_helper_desc=Uma licença define o que os outros podem e não podem fazer com o seu código. Não tem certeza qual é a mais adequada para o seu projeto? Veja <a target="_blank" rel="noopener noreferrer" href="%s">Escolher uma licença.</a>
readme=LEIA-ME
readme_helper=Selecione um modelo de arquivo LEIA-ME.
readme_helper=Selecione um modelo de arquivo README
readme_helper_desc=Aqui você pode escrever uma descrição completa para o seu projeto.
auto_init=Inicializar o repositório (adicionando .gitignore, licença e LEIA-ME)
auto_init=Inicializar o repositório (Adiciona arquivos .gitignore, licença e README)
trust_model_helper=Selecione o modelo de confiança para verificação de assinatura. As opções possíveis são:
trust_model_helper_collaborator=Colaborador: Confiar em assinaturas de colaboradores
trust_model_helper_committer=Committer: Confiar em assinaturas que correspondem aos committers
@ -1084,12 +1101,12 @@ default_branch_label=padrão
default_branch_helper=O branch padrão é o branch base para pull requests e commits de código.
mirror_prune=Varrer
mirror_prune_desc=Remover referências obsoletas de controle remoto
mirror_interval=Intervalo de espelhamento (unidades válidas são 'h', 'm', ou 's'). O desabilita a sincronização automática. (Intervalo mínimo: %s)
mirror_interval=Intervalo de espelhamento (unidades válidas de tempo são "h", "m", "s"). O valor 0 desabilita a sincronização periódica. (Intervalo mínimo: %s)
mirror_interval_invalid=O intervalo do espelhamento não é válido.
mirror_sync_on_commit=Sincronizar quando commits forem enviados
mirror_address=Clonar a partir de URL
mirror_address_desc=Coloque todas as credenciais necessárias na seção de autorização.
mirror_address_url_invalid=O URL fornecido é inválido. Você deve escapar todos os componentes do URL corretamente.
mirror_address_url_invalid=A URL fornecida é inválida. Você deve escapar todos os componentes da URL corretamente.
mirror_address_protocol_invalid=O URL fornecido é inválido. Somente locais http(s):// ou git:// podem ser usados para espelhamento.
mirror_lfs=Armazenamento de Arquivo Grande (LFS)
mirror_lfs_desc=Ativar espelhamento de dados LFS.
@ -1168,7 +1185,7 @@ migrate_items_milestones=Marcos
migrate_items_labels=Etiquetas
migrate_items_issues=Issues
migrate_items_pullrequests=Pull requests
migrate_items_merge_requests=Requisições de merge
migrate_items_merge_requests=Pedidos de merge
migrate_items_releases=Versões
migrate_repo=Migrar repositório
migrate.clone_address=Migrar / Clonar de URL
@ -1200,9 +1217,9 @@ migrate.migrating_git=Migrando dados Git
migrate.migrating_topics=Migrando tópicos
migrate.migrating_milestones=Migrando marcos
migrate.migrating_labels=Migrando rótulos
migrate.migrating_releases=Migrando Versões
migrate.migrating_issues=Migrando Issues
migrate.migrating_pulls=Migrando Pull Requests
migrate.migrating_releases=Migrando releases
migrate.migrating_issues=Migrando issues
migrate.migrating_pulls=Migrando pull requests
migrate.cancel_migrating_title=Cancelar migração
migrate.cancel_migrating_confirm=Você quer cancelar essa migração?
@ -1275,15 +1292,15 @@ ambiguous_character=`%[1]c [U+%04[1]X] é confundível com o %[2]c [U+%04[2]X]`
escape_control_characters=Escapar
unescape_control_characters=Desescapar
file_copy_permalink=Copiar link permanente
view_git_blame=Ver Git Blame
video_not_supported_in_browser=Seu navegador não suporta a tag 'video' do HTML5.
audio_not_supported_in_browser=Seu navegador não suporta a tag 'audio' do HTML5.
view_git_blame=Ver git blame
video_not_supported_in_browser=Seu navegador não tem suporte para a tag "video" do HTML5.
audio_not_supported_in_browser=Seu navegador não tem suporte para a tag "audio" do HTML5.
stored_lfs=Armazenado com Git LFS
symbolic_link=Link simbólico
executable_file=Arquivo executável
commit_graph=Gráfico de commits
commit_graph.select=Selecionar branches
commit_graph.hide_pr_refs=Esconder Pull Requests
commit_graph.hide_pr_refs=Esconder pull requests
commit_graph.monochrome=Monocromático
commit_graph.color=Colorido
commit.contained_in=Esse commit está contido em:
@ -1349,8 +1366,8 @@ editor.commit_empty_file_text=O arquivo que você está prestes fazer commit est
editor.no_changes_to_show=Nenhuma alteração a mostrar.
editor.fail_to_update_file=Falha ao atualizar/criar arquivo "%s".
editor.fail_to_update_file_summary=Mensagem de erro:
editor.push_rejected_no_message=A alteração foi rejeitada pelo servidor sem uma mensagem. Por favor, verifique os Hooks Git.
editor.push_rejected=A alteração foi rejeitada pelo servidor. Por favor, verifique os Hooks Git.
editor.push_rejected_no_message=A alteração foi rejeitada pelo servidor sem uma mensagem. Por favor, verifique os Git hooks .
editor.push_rejected=A alteração foi rejeitada pelo servidor. Por favor, verifique os Git hooks .
editor.push_rejected_summary=Mensagem completa de rejeição:
editor.add_subdir=Adicionar um subdiretório...
editor.unable_to_upload_files=Ocorreu um erro ao enviar arquivos para "%s": %v
@ -1395,7 +1412,7 @@ commitstatus.failure=Falha
commitstatus.pending=Pendente
commitstatus.success=Sucesso
ext_issues=Acesso a Issues Externos
ext_issues=Issues externos
ext_issues.desc=Link para o issue tracker externo.
projects=Projetos
@ -1416,7 +1433,7 @@ projects.modify=Editar projeto
projects.edit_success=Projeto "%s" atualizado.
projects.type.none=Nenhum
projects.type.basic_kanban=Kanban básico
projects.type.bug_triage=Triagem de Bugs
projects.type.bug_triage=Triagem de bugs
projects.template.desc=Modelo de projeto
projects.template.desc_helper=Selecione um modelo de projeto para começar
projects.type.uncategorized=Sem categoria
@ -2370,7 +2387,7 @@ settings.require_signed_commits_desc=Rejeitar pushes para este branch se não es
settings.protect_branch_name_pattern=Padrão de Nome de Branch Protegida
settings.protect_patterns=Padrões
settings.protect_protected_file_patterns=Padrões de arquivos protegidos (separados usando ponto e vírgula ';'):
settings.protect_protected_file_patterns_desc=Arquivos protegidos não podem ser alterados diretamente, mesmo que o usuário tenha direitos para adicionar, editar ou excluir arquivos neste branch. Vários padrões podem ser separados usando ponto e vírgula (';'). Consulte a documentação <a href='%s'>github.com/gobwas/glob</a> para a sintaxe padrão. Exemplos: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc=Arquivos protegidos não podem ser alterados diretamente, mesmo que o usuário tenha direitos para adicionar, editar ou excluir arquivos neste branch. Vários padrões podem ser separados usando ponto e vírgula (';'). Consulte a documentação <a href='%s'>%s</a> para a sintaxe padrão. Exemplos: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Padrões de arquivos desprotegidos (separados usando ponto e vírgula ';'):
settings.protect_unprotected_file_patterns_desc=Arquivos não protegidos que podem ser alterados diretamente se o usuário tiver acesso de gravação, ignorando as restrições de push. Vários padrões podem ser separados usando ponto e vírgula (\;'). Veja <a href='%[1]s'>%[2]s</a> documentação para sintaxe de padrões. Exemplos: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Habilitar proteção
@ -2639,7 +2656,7 @@ admin.update_flags = Atualizar sinalizadores
admin.flags_replaced = Os sinalizadores do repositório foram substituídos
all_branches = Todos os ramos
fork_branch = Branch a ser clonada para o fork
object_format_helper = O formato utilizado para armazenar os objetos do repositório, sendo SHA1 o mais compatível. Esta ação é <strong>IRREVERSÍVEL</strong>.
object_format_helper = O formato utilizado para armazenar os objetos do repositório. Não pode ser alterado depois. SHA1 é o mais compatível.
object_format = Formato dos objetos
tree_path_not_found_branch = O caminho %[1]s não existe no ramo %[2]s
tree_path_not_found_tag = O caminho %[1]s não existe na etiqueta %[2]s
@ -2732,6 +2749,80 @@ activity.published_tag_label = Etiqueta
issues.author.tooltip.issue = Este(a) usuário(a) é o(a) autor(a) desta questão.
no_eol.text = Sem EOL
no_eol.tooltip = Não há um caractere de fim de linha no final do arquivo.
pulls.fast_forward_only_merge_pull_request = Apenas fast-forward
pulls.has_merged = Falha: O pull request foi merged, você não pode merge novamente ou mudar o branch destino.
issues.author.tooltip.pr = Esse usuário é o autor dessa solicitação de pull.
editor.push_out_of_date = O push parece estar desatualizado.
issues.comment.blocked_by_user = Você não pode criar um comentário nesse problema porque você está bloqueado pelo dono do repositório ou pelo autor do problema.
pulls.blocked_by_user = Você não pode criar uma solicitação de pull nesse repositório porque você está bloqueado pelo dono do repositório.
mirror_use_ssh.helper = Forgejo irá espelhar o repositório via Git através de SSH e criar um par de chaves para você ao escolher essa opção. Você deverá garantir que a chave pública gerada está autorizada a fazer push para o repositório de destino. Você não pode usar autorização baseada em senha ao escolher essa opção.
mirror_denied_combination = Não é possível combinar o uso de chave pública e autenticação baseada em senha.
mirror_public_key = Chave SSH pública
mirror_use_ssh.text = Usar autenticação por SSH
mirror_use_ssh.not_available = Autenticação por SSH não está disponível.
settings.push_mirror_sync_in_progress = Fazendo push das mudanças para o remoto %s nesse momento.
settings.federation_apapiurl = URL de federação deste repositório. Copie e cole isso nas Configurações de Federação de outro repositório como uma URL de um Repositório Seguidor.
pulls.agit_explanation = Criado usando o fluxo de trabalho AGit. AGit permite que contribuidores proponham mudanças usando "git push" sem criar um fork ou novo branch.
signing.wont_sign.headsigned = O merge não será assinado pois o commit head não está assinado.
settings.mirror_settings.push_mirror.copy_public_key = Copiar chave pública
settings.pull_mirror_sync_in_progress = Fazendo pull das mudanças do remoto %s nesse momento.
pulls.reopen_failed.head_branch = O pull request não pode ser reaberto porque o branch head não existe mais.
pulls.cmd_instruction_checkout_desc = Do repositório do seu projeto, faça checkout de um novo branch e teste as alterações.
settings.mirror_settings.docs.pulling_remote_title = Fazendo pull de um repositório remoto
settings.mirror_settings.pushed_repository = Repositório enviado
settings.mirror_settings.docs.disabled_pull_mirror.instructions = Configure seu projeto para automaticamente fazer push de commits, tags e branches para outro repositório. Espelhos de pull foram desativados pelo administrador do seu site.
settings.mirror_settings.docs.disabled_push_mirror.instructions = Configure seu projeto para automaticamente fazer pull de commits, tags e branches de outro repositório.
settings.mirror_settings.docs.doc_link_pull_section = a seção "Fazendo pull de um repositório remoto" da documentação.
subscribe.pull.guest.tooltip = Entre para receber notificações deste pull request.
settings.pull_mirror_sync_quota_exceeded = Cota excedida, não será feito pull das mudanças.
settings.mirror_settings.docs.more_information_if_disabled = Saiba mais sobre espelhos de push e pull aqui:
settings.transfer_quota_exceeded = O novo dono (%s) excedeu a cota. O repositório não foi transferido.
pulls.reopen_failed.base_branch = O pull request não pode ser reaberto porque o branch base não existe mais.
activity.commit = Atividade de commits
pulls.cmd_instruction_merge_warning = <b>Atenção:</b> A opção "Autodetectar merge manual" não está habilitada para este repositório, você terá que marcar este pull request como um merge manual depois.
settings.federation_following_repos = URLs de Repositórios Seguidores. Separado por ";", sem espaços.
settings.mirror_settings.docs.disabled_push_mirror.info = Espelhos de pull foram desativados pelo administrador do seu site.
settings.mirror_settings.push_mirror.none_ssh = Nenhum
settings.protect_status_check_patterns_desc = Insira padrões para especificar quais verificações de status devem passar com sucesso antes que merges possam ser feitos em branches aos quais esta regra se aplica. Cada linha especifica um padrão. Padrões não podem estar vazios.
settings.archive.text = Arquivar o repositório irá torná-lo totalmente "somente leitura". Ele ficará oculto do painel. Ninguém (nem mesmo você!) poderá fazer novos commits, ou abrir quaisquer issues ou pull requests.
settings.add_key_success = A chave de deploy "%s" foi adicionada.
settings.protect_invalid_status_check_pattern = Padrão de verificação de status inválido: "%s".
settings.web_hook_name_sourcehut_builds = Builds do SourceHut
settings.protect_new_rule = Criar uma nova regra de proteção de branch
settings.wiki_rename_branch_main_notices_2 = Isso irá renomear permanentemente o branch interno da wiki do repositório %s. Checkouts existentes precisarão ser atualizados.
settings.protect_enable_merge_desc = Qualquer pessoa com permissão de escrita terá autorização para fazer merge dos pull requests neste ramo.
settings.protect_no_valid_status_check_patterns = Não há padrões de verificação de status válidos.
settings.event_pull_request_approvals = Aprovações de pull request
settings.event_pull_request_enforcement = Aplicação
settings.ignore_stale_approvals = Ignorar aprovações inativas
settings.update_settings_no_unit = O repositório deve permitir pelo menos algum tipo de interação.
settings.protect_branch_name_pattern_desc = Padrões de nome de branch protegidos. Ver sintaxe de padrões <a href="%s">na documentação</a>. Exemplos: main, release/**
settings.webhook.replay.description_disabled = Para executar novamente este webhook, ative-o.
settings.sourcehut_builds.manifest_path = Caminho do manifest de build
settings.sourcehut_builds.secrets_helper = Dar a este job acesso aos segredos de build (requer a permissão SECRETS:RO)
settings.sourcehut_builds.access_token_helper = Token de acesso tem a permissão JOBS:RW. Gere um <a target="_blank" rel="noopener noreferrer" href="%s">token builds.sr.ht</a> ou um <a target="_blank" rel="noopener noreferrer" href="%s">token builds.sr.ht com acesso a segredos</a> em meta.sr.ht.
settings.matrix.room_id_helper = O ID da sala pode ser obtido do cliente web Element > Configurações da Sala > Avançado > ID interno da sala. Exemplo: %s.
settings.unarchive.error = Ocorreu um erro ao tentar desarquivar o repositório. Veja o log para mais detalhes.
settings.event_pull_request_review_request = Revisão de pull request solicitada
settings.event_pull_request_review_request_desc = Revisão de pull request solicitada ou pedido de revisão removido.
settings.event_pull_request_merge = Merge de pull request
settings.matrix.access_token_helper = É recomendado configurar uma conta Matrix dedicada para isso. O token de acesso pode ser obtido do cliente web Element (em uma aba privada/anônima) > Menu do usuário (acima à esquerda) > Todas as configurações > Ajuda & Sobre > Avançado > Token de acesso (logo abaixo da URL do servidor). Feche a aba privada/anônima (sair da conta irá invalidar o token).
settings.tags.protection.pattern.description = Você pode usar um único nome, um padrão glob ou uma expressão regular para corresponder a várias tags. Saiba mais no <a target="_blank" rel="noopener" href="%s">guia de tags protegidas</a>.
settings.add_webhook.invalid_path = O caminho não deve conter partes que sejam "." ou ".." ou uma string vazia. Ele não pode começar ou terminar com uma barra.
settings.sourcehut_builds.visibility = Visibilidade do job
settings.unarchive.text = Desarquivar o repositório irá restaurar a possibilidade de receber commits e push, bem como novos issues e pull requests.
settings.ignore_stale_approvals_desc = Não contar aprovações feitas em commits mais antigos (revisões inativas) no número de aprovações de pedidos de merge. Não tem efeito se as revisões inativas já são desconsideradas.
settings.protect_status_check_patterns = Padrões de verificação de status
error.broken_git_hook = Os hooks Git desse repositório parecem estar quebrados. Por favor, siga a <a target="_blank" rel="noreferrer" href="%s">documentação</a> para corrigi-los e então faça push de alguns commits para atualizar o status.
release.type_attachment = Anexo
release.type_external_asset = Recurso Externo
release.asset_name = Nome do Recurso
release.asset_external_url = URL Externa
release.hide_archive_links_helper = Esconder automaticamente arquivos de código fonte gerados para esse release. Por exemplo, se você estiver enviando os seus manualmente.
branch.delete_desc = Apagar um branch é permanente. Ainda que o branch apagado possa continuar a existir por um breve período antes de ser realmente apagado, isso NÃO PODE ser desfeito na maioria dos casos. Continuar?
release.add_external_asset = Adicionar Recurso Externo
release.invalid_external_url = URL Externa Inválida: "%s"
release.deletion_desc = Eliminar um release apenas o remove do Forgejo. Isso não irá afetar a tag no Git, o conteúdo do seu repositório ou o histórico. Continuar?
[graphs]
@ -3390,6 +3481,33 @@ dashboard.sync_branch.started = Sincronização de ramos iniciada
dashboard.sync_repo_branches = Sincronizar ramos perdidos do Git para o banco de dados
packages.cleanup.success = Os dados expirados foram limpos com sucesso
monitor.queue.activeworkers = Processos ativos
systemhooks.desc = Os webhooks fazem automaticamente solicitações HTTP POST para um servidor quando certos eventos Forgejo são acionados. Os webhooks definidos aqui atuarão em todos os repositórios do sistema, então, considere quaisquer implicações de desempenho que isso possa ter. Leia mais no <a target="_blank" rel="noopener" href="%s">guia de webhooks</a>.
defaulthooks.desc = Os webhooks fazem automaticamente solicitações HTTP POST para um servidor quando certos eventos Forgejo são acionados. Os webhooks definidos aqui são padrões e serão copiados para todos os novos repositórios. Leia mais no <a target="_blank" rel="noopener" href="%s">guia de webhooks</a>.
self_check.database_fix_mysql = Para usuários do MySQL/MariaDB, você pode usar o comando "gitea doctor convert" para corrigir os problemas de ordenamento, ou também pode corrigir o problema usando "ALTER ... COLLATE ..." SQLs manualmente.
monitor.queue.settings.desc = Os pools crescem dinamicamente em resposta ao bloqueio da fila de trabalhadores.
config.cache_test_succeeded = Teste de cache bem-sucedido, obteve uma resposta em %s.
self_check.database_inconsistent_collation_columns = O banco de dados está usando o ordenamento %s, mas essas colunas estão usando ordenamentos incompatíveis. Isso pode causar alguns problemas inesperados.
dashboard.rebuild_issue_indexer = Reconstruir indexador de problemas
monitor.queue.review_add = Revisar / adicionar trabalhadores
assets = Ativos de código
config.open_with_editor_app_help = Os editores "Abrir com" para o menu clone. Se deixado em branco, o padrão será usado. Expanda para ver o padrão.
config.cache_test_slow = Teste de cache bem-sucedido, mas a resposta é lenta: %s.
config.cache_test = Cache de Teste
config.cache_test_failed = Falha ao sondar o cache: %v.
self_check.database_collation_mismatch = Esperar que o banco de dados use o ordenamento: %s
dashboard.cleanup_actions = Limpar logs expirados e artefatos de ações
emails.delete = Deletar email
emails.delete_primary_email_error = Você não pode excluir o email principal.
emails.deletion_success = O endereço de email foi excluído.
emails.delete_desc = Tem certeza de que deseja excluir este endereço de e-mail?
dashboard.cron.cancelled = Cron: %[1]s cancelado: %[3]s
users.activated.description = Conclusão da verificação de e-mail. O proprietário de uma conta não ativada não poderá efetuar login até que a verificação de e-mail seja concluída.
users.block.description = Bloquear este usuário de interagir com este serviço através de sua conta e proibir o login.
users.admin.description = Conceda a este usuário acesso total a todos os recursos administrativos disponíveis por meio da interface do usuário da Web e da API.
users.restricted.description = Permitir interação somente com os repositórios e organizações onde este usuário é adicionado como colaborador. Isso impede o acesso a repositórios públicos nesta instância.
users.organization_creation.description = Permitir a criação de novas organizações.
users.local_import.description = Permitir importar repositórios do sistema de arquivos local do servidor. Isso pode ser um problema de segurança.
self_check.database_collation_case_insensitive = O banco de dados está usando um ordenamento %s, que é um ordenamento insensível. Embora o Forgejo possa funcionar com ele, pode haver alguns casos raros que não funcionam como esperado.
[action]
@ -3631,6 +3749,27 @@ rpm.repository = Informações do repositório
rpm.repository.multiple_groups = Este pacote está disponível em vários grupos.
npm.dependencies.bundle = Dependências empacotadas
registry.documentation = Para mais informações sobre o registro %s, veja <a target="_blank" rel="noopener noreferrer" href="%s">a documentação</a>.
arch.version.replaces = Substitui
arch.version.conflicts = Conflitos
arch.version.properties = Propriedades de Versão
arch.version.description = Descrição
arch.version.groups = Grupo
arch.version.provides = Fornece
arch.version.depends = Depende
arch.version.optdepends = Depende opcionalmente
arch.pacman.repo.multi.item = Configuração para %s
arch.pacman.sync = Sincronizar pacote com o pacman:
arch.pacman.repo.multi = %s possui a mesma versão em distribuições diferentes.
arch.pacman.helper.gpg = Adicionar certificado de confiança para o pacman:
arch.version.backup = Cópia de Segurança
owner.settings.cleanuprules.none = Não há regras de limpeza ainda.
owner.settings.cargo.rebuild.description = Reconstruir pode ser útil se o índice não estiver sincronizado com os pacotes do Cargo armazenados.
owner.settings.cargo.rebuild.no_index = Não foi possível reconstruir, não há um índice inicializado.
arch.pacman.conf = Adicione o servidor com a distribuição e arquitetura no arquivo <code>/etc/pacman.conf</code> :
arch.version.makedepends = Dependências do make
arch.version.checkdepends = Verificar dependências
owner.settings.cargo.initialize.description = É necessário um repositório Git especial de índice para usar o registro Cargo. Usar esta opção irá (re-)criar o repositório e configurá-lo automaticamente.
owner.settings.chef.keypair.description = É necessário um par de chaves para autenticar no registro Chef. Se você já gerou um par de chaves, gere um novo par e descarte o antigo.
[secrets]
secrets=Segredos
@ -3728,12 +3867,33 @@ runs.no_workflows.documentation = Para mais informações sobre Forgejo Actions,
runs.no_workflows.quick_start = Forgejo Actions é uma novidade para você? Veja <a target="_blank" rel="noopener noreferrer" href="%s">o guia rápido</a>.
runs.no_results = Nenhum resultado.
variables.description = As variáveis serão passadas para certas ações e não poderão ser lidas de outra forma.
workflow.dispatch.trigger_found = Este workflow tem um disparador de evento <c>workflow_dispatch</c>.
workflow.dispatch.run = Executar workflow
runs.no_runs = O workflow ainda não foi executado.
workflow.dispatch.warn_input_limit = Exibindo apenas as %d primeiras entradas.
runs.no_matching_online_runner_helper = Nenhum runner online encontrado com o rótulo: %s
workflow.disabled = Workflow está desativado.
workflow.dispatch.use_from = Usar workflow de
runs.no_job = O workflow precisa conter pelo menos um trabalho
workflow.disable_success = Workflow "%s" desativado com sucesso.
workflow.enable = Ativar workflow
workflow.disable = Desabilitar workflow
runs.no_workflows = Não há workflows ainda.
runs.no_job_without_needs = O workflow deve conter pelo menos um trabalho sem dependências.
runs.workflow = Workflow
workflow.enable_success = Workflow "%s" ativado com sucesso.
workflow.dispatch.success = Execução do workflow solicitada com sucesso.
workflow.dispatch.input_required = Exigir um valor para a entrada "%s".
workflow.dispatch.invalid_input_type = Tipo de entrada "%s" inválido.
variables.deletion.description = Apagar uma variável é permanente e não pode ser desfeito. Continuar?
runs.expire_log_message = Os logs foram apagados pois eram antigos demais.
[projects]
type-1.display_name=Projeto individual
type-2.display_name=Projeto do repositório
type-3.display_name=Projeto da organização
deleted.display_name = Projeto Apagado
[git.filemode]
; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …
@ -3778,6 +3938,14 @@ commit_kind = Buscar commits…
runner_kind = Pesquisar runners...
code_search_unavailable = A pesquisa de código não está disponível no momento. Entre em contato com o administrador do site.
milestone_kind = Pesquisar marcos...
union_tooltip = Incluir resultados que coincidam com quaisquer palavras-chave separadas por espaços em branco
union = União
exact = Exato
exact_tooltip = Incluir apenas resultados que correspondam exatamente ao termo de pesquisa
issue_kind = Pesquisar problemas...
pull_kind = Pesquisar pulls...
regexp_tooltip = Interpretar o termo de busca como uma expressão regular
regexp = RegExp
[munits.data]
b = B
@ -3791,4 +3959,27 @@ eib = EiB
[markup]
filepreview.line = Linha %[1]d em %[2]s
filepreview.lines = Linhas %[1]d a %[2]d em %[3]s
filepreview.truncated = Pré-visualização truncada
filepreview.truncated = Pré-visualização truncada
[repo.permissions]
pulls.write = <b>Escrita:</b> Encerrar pull requests e gerir metadados como rótulos, marcos, responsáveis, prazos e dependências.
code.read = <b>Leitura:</b> Acessar e clonar o código do repositório.
issues.read = <b>Leitura:</b> Visualizar e criar issues e comentários.
code.write = <b>Escrita:</b> Fazer push para o repositório, criar branches e tags.
issues.write = <b>Escrita:</b> Encerrar issues e gerir metadados como rótulos, marcos, responsáveis, prazos e dependências.
pulls.read = <b>Leitura:</b> Visualizar e criar pull requests.
releases.read = <b>Leitura:</b> Visualizar e baixar releases.
releases.write = <b>Escrita:</b> Publicar editar e apagar releases e seus recursos.
wiki.read = <b>Leitura:</b> Ler a wiki integrada e o histórico dela.
wiki.write = <b>Escrita:</b> Criar, alterar e apagar páginas na wiki integrada.
projects.read = <b>Ler:</b> Acesse os painéis de projetos do repositório.
ext_wiki = Acesse o link para um wiki externo. As permissões são gerenciadas externamente.
actions.write = <b>Escrever:</b> Acione, reinicie, cancele ou aprove manualmente pipelines de CI/CD pendentes.
projects.write = <b>Escrever:</b> Crie projetos e colunas e edite-os.
actions.read = <b>Ler:</b> Visualize pipelines de CI/CD integrados e seus logs.
packages.read = <b>Ler:</b> Visualize e baixe pacotes atribuídos ao repositório.
packages.write = <b>Escrever:</b> Publique e delete pacotes atribuídos ao repositório.
ext_issues = Acesse o link para um issue tracker externo. As permissões são gerenciadas externamente.
[translation_meta]
test = To preserve its claws, the giant anteater walks on its front knuckles, like gorillas

View file

@ -2458,7 +2458,7 @@ settings.protect_branch_name_pattern=Padrão do nome do ramo protegido
settings.protect_branch_name_pattern_desc=Padrões de nomes de ramos protegidos. Consulte <a href="%s">a documentação</a> para ver a sintaxe dos padrões. Exemplos: main, release/**
settings.protect_patterns=Padrões
settings.protect_protected_file_patterns=Padrões de ficheiros protegidos (separados com ponto e vírgula ";")
settings.protect_protected_file_patterns_desc=Ficheiros protegidos não podem ser modificados imediatamente, mesmo que o utilizador tenha direitos para adicionar, editar ou eliminar ficheiros neste ramo. Múltiplos padrões podem ser separados com ponto e vírgula (";"). Veja a documentação em <a href="%s">github.com/gobwas/glob</a> para ver a sintaxe. Exemplos: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc=Ficheiros protegidos não podem ser modificados imediatamente, mesmo que o utilizador tenha direitos para adicionar, editar ou eliminar ficheiros neste ramo. Múltiplos padrões podem ser separados com ponto e vírgula (";"). Veja a documentação em <a href="%s">%s</a> para ver a sintaxe. Exemplos: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Padrões de ficheiros desprotegidos (separados com ponto e vírgula ";")
settings.protect_unprotected_file_patterns_desc=Ficheiros desprotegidos que podem ser modificados imediatamente se o utilizador tiver direitos de escrita, contornando a restrição no envio. Padrões múltiplos podem ser separados com ponto e vírgula (";"). Veja a documentação em <a href="%[1]s">%[2]s</a> para ver a sintaxe. Exemplos: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Habilitar salvaguarda
@ -3938,6 +3938,8 @@ pull_kind = Procurar pedidos de integração...
union = Palavras-chave
union_tooltip = Incluir resultados correspondentes a qualquer das palavras-chave separadas por espaços em branco
milestone_kind = Procurar etapas...
regexp_tooltip = Interpreta o termo de pesquisa como um expressão regular
regexp = ExpReg
[munits.data]
kib = KiB
@ -3954,4 +3956,24 @@ filepreview.line = Linha %[1]d em %[2]s
filepreview.truncated = A previsão foi truncada
[translation_meta]
test = ok
test = ok
[repo.permissions]
code.read = <b>Ler:</b> Aceder e clonar o código-fonte do repositório.
releases.read = <b>Ler:</b> Ver e descarregar lançamentos.
projects.read = <b>Ler:</b> Aceder aos quadros de planeamento do repositório.
projects.write = <b>Escrever:</b> Criar planeamentos e colunas e editá-las.
packages.read = <b>Ler:</b> Ver e descarregar pacotes atribuídos ao repositório.
packages.write = <b>Escrever:</b> Publicar e eliminar pacotes atribuídos ao repositório.
actions.read = <b>Ler:</b> Ver canais CI/CD integrados e os seus registos.
actions.write = <b>Escrever:</b> Despoletar, reiniciar, cancelar ou aprovar manualmente canais CI/CD pendentes.
ext_issues = Aceder à ligação para um rastreador de questões externo. As permissões são geridas externamente.
ext_wiki = Aceder à ligação para um wiki externo. As permissões são geridas externamente.
issues.write = <b>Escrever:</b> Fechar questões e gerir metadados, tais como rótulos, etapas, encarregados, datas de vencimento e dependências.
pulls.read = <b>Ler:</b> Ler e criar pedidos de integração.
releases.write = <b>Escrever:</b> Publicar, editar e eliminar lançamentos e seus recursos.
wiki.read = <b>Ler:</b> Ler o wiki integrado e o seu histórico.
wiki.write = <b>Escrever:</b> Criar, modificar e eliminar páginas no wiki integrado.
code.write = <b>Escrever:</b> Enviar para o repositório, criar ramos e etiquetas.
issues.read = <b>Ler:</b> Ler e criar questões e comentários.
pulls.write = <b>Escrever:</b> Fechar pedidos de integração e gerir metadados, tais como rótulos, etapas, encarregados, datas de vencimento e dependências.

View file

@ -33,7 +33,7 @@ access_token=Токен доступа
re_type=Подтверждение пароля
captcha=CAPTCHA
twofa=Двухфакторная аутентификация
twofa_scratch=Scratch-кодА
twofa_scratch=Код восстановленияА
passcode=Код
webauthn_insert_key=Вставьте ваш токен авторизации
@ -387,8 +387,8 @@ user_no_results=Подходящие пользователи не найден
org_no_results=Подходящие организации не найдены.
code_no_results=Соответствующий поисковому запросу исходный код не найден.
code_search_results=Результаты поиска «%s»
code_last_indexed_at=Последний проиндексированный %s
relevant_repositories_tooltip=Репозитории, являющиеся ответвлениями или не имеющие ни темы, ни значка, ни описания, скрыты.
code_last_indexed_at=Последняя индексация %s
relevant_repositories_tooltip=Скрыты ответвления и репозитории, не имеющие ни темы, ни значка, ни описания.
relevant_repositories=Показаны только релевантные репозитории, <a href="%s">показать результаты без фильтрации</a>.
forks_one = %d ответвление
forks_few = %d ответвлений
@ -411,7 +411,7 @@ sign_up_successful=Учётная запись успешно создана. Д
confirmation_mail_sent_prompt=Новое письмо для подтверждения было отправлено на <b>%s</b>. Для завершения регистрации, пожалуйста, перейдите по ссылке внутри в течение %s. Если был введён неправильный адрес, вы можете войти и изменить его.
must_change_password=Обновите пароль
allow_password_change=Требовать смену пароля пользователем (рекомендуется)
reset_password_mail_sent_prompt=Письмо для подтверждения было отправлено на <b>%s</b>. Чтобы выполнить восстановление учётной записи, перейдите по ссылке внутри в течение %s.
reset_password_mail_sent_prompt=Письмо для подтверждения было отправлено на <b>%s</b>. Чтобы завершить процесс восстановления учётной записи, перейдите по указанной в нём ссылке в течение %s.
active_your_account=Активация учётной записи
account_activated=Учётная запись активирована
prohibit_login=Учётная запись приостановлена
@ -430,11 +430,11 @@ reset_password_wrong_user=Вы вошли как %s, но ссылка для в
password_too_short=Пароль не может быть короче %d символов.
non_local_account=Нелокальные учётные записи не могут изменить пароль в веб-интерфейсе Forgejo.
verify=Проверить
scratch_code=Одноразовый пароль
use_scratch_code=Использовать scratch-код
twofa_scratch_used=Вы использовали scratch-код. Вы были перенаправлены на страницу настроек для генерации нового кода или отключения двуфакторной аутентификации.
twofa_passcode_incorrect=Ваш пароль неверен. Если вы потеряли устройство, используйте ваш scratch-код.
twofa_scratch_token_incorrect=Неверный scratch-код.
scratch_code=Код восстановления
use_scratch_code=Использовать код восстановления
twofa_scratch_used=Вы использовали код восстановления. Вы были перенаправлены на страницу настроек для генерации нового кода или отключения двуфакторной аутентификации.
twofa_passcode_incorrect=Введён неверный код. Если вы потеряли устройство, используйте код восстановления.
twofa_scratch_token_incorrect=Неверный код восстановления.
login_userpass=Вход
tab_signin = Войти
tab_signup = Зарегистрироваться
@ -476,6 +476,7 @@ sign_up_button = Зарегистрироваться.
back_to_sign_in = Назад ко входу
sign_in_openid = Продолжить с OpenID
hint_login = Уже есть учётная запись? <a href="%s">Войдите!</a>
unauthorized_credentials = Учётные данные неверны или истекли. Попробуйте повторить команду или ознакомьтесь с подробностями по ссылке: %s
[mail]
view_it_on=Посмотреть на %s
@ -514,10 +515,10 @@ issue.action.push_n=<b>@%[1]s</b> отправил(а) %[3]d изменений
issue.action.close=<b>@%[1]s</b> закрыл(а) #%[2]d.
issue.action.reopen=<b>@%[1]s</b> переоткрыл(а) #%[2]d.
issue.action.merge=<b>@%[1]s</b> слил(а) #%[2]d в %[3]s.
issue.action.approve=<b>@%[1]s</b> одобрил(а) этот запрос на слияние.
issue.action.approve=<b>@%[1]s</b> слияние одобрено.
issue.action.reject=<b>@%[1]s</b> запросил(а) изменения в этом запросе на слияние.
issue.action.review=<b>@%[1]s</b> прокомментировал(а) этот запрос на слияние.
issue.action.review_dismissed=<b>@%[1]s</b> отклонил(а) последний отзыв с %[2]s для этого запроса на слияние.
issue.action.review_dismissed=<b>@%[1]s</b> отклонена последняя рецензия с %[2]s для этого запроса на слияние.
issue.action.ready_for_review=<b>@%[1]s</b> отметил(а) этот запрос на слияние как готовый к рассмотрению.
issue.action.new=<b>@%[1]s</b> создал(а) #%[2]d.
issue.in_tree_path=В %s:
@ -835,9 +836,9 @@ manage_ssh_keys=Управление ключами SSH
manage_ssh_principals=Управление принципалами сертификатов SSH
manage_gpg_keys=Управление ключами GPG
add_key=Добавить ключ
ssh_desc=Эти открытые ключи SSH связаны с вашей учётной записью. Соответствующие им закрытые ключи обеспечивают полный доступ к вашим репозиториями. Подтверждённые ключи SSH могут быть использованы для подтверждения подписанных с SSH коммитов.
ssh_desc=Эти открытые ключи SSH связаны с вашей учётной записью. Соответствующие им закрытые ключи дают полный доступ к вашим репозиториям. Подтверждённые ключи SSH могут быть использованы для проверки коммитов, подписанных с SSH.
principal_desc=Эти принципалы сертификатов SSH привязаны к вашей учётной записи и разрешают полный доступ к вашим репозиториям.
gpg_desc=Эти открытые GPG-ключи ассоциируются с вашей учётной записью и используются для проверки подлинности коммитов. Храните закрытые ключи в безопасности, т.к. ими можно подписывать коммиты от вашего лица.
gpg_desc=Эти открытые ключи GPG связаны с вашей учётной записью и используются для проверки подлинности коммитов. Храните закрытые ключи в безопасности, т.к. ими можно подписывать коммиты от вашего лица.
ssh_helper=<strong>Нужна помощь?</strong> Ознакомьтесь с руководством GitHub по <a href="%s">созданию ключей SSH</a> или решению <a href="%s">возникающих проблем</a> при использовании SSH.
gpg_helper=<strong>Нужна помощь?</strong> Взгляните на руководство GitHub <a href="%s"> по GPG</a>.
add_new_key=Добавить ключ SSH
@ -938,9 +939,9 @@ permissions_list=Разрешения:
manage_oauth2_applications=Управление приложениями OAuth2
edit_oauth2_application=Изменить приложение OAuth2
oauth2_applications_desc=Приложения OAuth2 позволяет стороннему приложению к безопасно аутентифицировать пользователей данной установки Forgejo.
remove_oauth2_application=Удалить приложение OAuth2
remove_oauth2_application=Удаление приложения OAuth2
remove_oauth2_application_desc=Удаление приложения OAuth2 отменит доступ ко всем подписанным токенам доступа. Продолжить?
remove_oauth2_application_success=Приложение удалено.
remove_oauth2_application_success=Приложение было успешно удалено.
create_oauth2_application=Создать новое приложение OAuth2
create_oauth2_application_button=Создать приложение
create_oauth2_application_success=Вы успешно создали новое приложение OAuth2.
@ -973,7 +974,7 @@ twofa_scratch_token_regenerate=Пересоздать одноразовый к
twofa_enroll=Включить 2ФА
twofa_disable_note=При необходимости можно отключить двухфакторную аутентификацию.
twofa_disable_desc=Отключение двухфакторной аутентификации снизит безопасность вашей учётной записи. Продолжить?
regenerate_scratch_token_desc=Если вы потеряли свой scratch-токен или уже использовали его для входа, вы можете сбросить его здесь.
regenerate_scratch_token_desc=Если вы потеряли свой код восстановления или уже использовали его для входа, можете сбросить его здесь.
twofa_disabled=Двухфакторная аутентификация выключена.
scan_this_image=Отсканируйте это изображение вашим приложением для двухфакторной аутентификации:
or_enter_secret=Или введите кодовое слово: %s
@ -1019,7 +1020,7 @@ visibility.public=Публичный
visibility.public_tooltip=Виден всем, кто может открыть этот сайт
visibility.limited=Ограниченный
visibility.limited_tooltip=Виден только зарегистрированным пользователям сайта
visibility.private=Частный
visibility.private=Скрытый
visibility.private_tooltip=Виден только участникам организаций, в которых вы состоите
blocked_users_none = Заблокированных пользователей нет.
user_block_success = Пользователь заблокирован.
@ -1337,8 +1338,8 @@ editor.fail_to_apply_patch=Невозможно применить патч «%s
editor.new_patch=Новая правка
editor.commit_message_desc=Добавьте необязательное расширенное описание…
editor.signoff_desc=Добавить трейлер Signed-off-by с автором коммита в конце сообщения коммита.
editor.commit_directly_to_this_branch=Сделайте коммит напрямую в ветвь <strong class="branch-name">%s</strong>.
editor.create_new_branch=Создайте <strong>новую ветвь</strong> для этого коммита, и сделайте запрос на слияние.
editor.commit_directly_to_this_branch=Сохранить коммит напрямую в ветвь <strong class="branch-name">%s</strong>.
editor.create_new_branch=Сохранить коммит в <strong>новую ветвь</strong> и начать запрос на слияние.
editor.create_new_branch_np=Создать <strong>новую ветвь</strong> для этого коммита.
editor.propose_file_change=Предложить изменение файла
editor.new_branch_name=Укажите название новой ветви для этого коммита
@ -1406,7 +1407,7 @@ commitstatus.failure=Неудача
commitstatus.pending=Ожидание
commitstatus.success=Успешно
ext_issues=Доступ ко внешним задачам
ext_issues=Внешние задачи
ext_issues.desc=Ссылка на внешнюю систему отслеживания задач.
projects=Проекты
@ -1587,9 +1588,9 @@ issues.no_content=Описание отсутствует.
issues.close=Закрыть задачу
issues.comment_pull_merged_at=коммит %[1]s был добавлен в %[2]s %[3]s
issues.comment_manually_pull_merged_at=коммит %[1]s был вручную добавлен в %[2]s %[3]s
issues.close_comment_issue=Прокомментировать и закрыть
issues.close_comment_issue=Закрыть комментарием
issues.reopen_issue=Открыть снова
issues.reopen_comment_issue=Прокомментировать и открыть снова
issues.reopen_comment_issue=Открыть снова комментарием
issues.create_comment=Комментировать
issues.closed_at=`задача была закрыта <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`задача была открыта снова <a id="%[1]s" href="#%[1]s">%[2]s</a>`
@ -1614,9 +1615,9 @@ issues.role.first_time_contributor_helper=Это первое участие п
issues.role.contributor=Соавтор
issues.re_request_review=Повторить запрос на отзыв
issues.is_stale=Со времени этого обзора в этот PR были внесены некоторые изменения
issues.remove_request_review=Удалить запрос на отзыв
issues.remove_request_review_block=Невозможно удалить запрос на отзыв
issues.dismiss_review=Отклонить отзыв
issues.remove_request_review=Отменить запрос рецензии
issues.remove_request_review_block=Не удалось отменить запрос рецензии
issues.dismiss_review=Отклонить рецензию
issues.dismiss_review_warning=Вы уверены, что хотите отклонить эту рецензию?
issues.sign_in_require_desc=<a href="%s">Войдите</a>, чтобы присоединиться к обсуждению.
issues.edit=Изменить
@ -1747,17 +1748,17 @@ issues.dependency.add_error_cannot_create_circular=Вы не можете соз
issues.dependency.add_error_dep_not_same_repo=Обе задачи должны находиться в одном репозитории.
issues.review.self.approval=Вы не можете одобрить собственный запрос на слияние.
issues.review.self.rejection=Невозможно запрашивать изменения своего запроса на слияние.
issues.review.approve=одобрил(а) эти изменения %s
issues.review.comment=рассмотрел(а) изменения %s
issues.review.dismissed=отклонил(а) отзыв %s %s
issues.review.approve=изменения одобрены %s
issues.review.comment=оставлена рецензия %s
issues.review.dismissed=отклонена рецензия %s %s
issues.review.dismissed_label=Отклонено
issues.review.left_comment=оставил комментарий
issues.review.content.empty=Запрашивая изменения, вы обязаны оставить комментарий с пояснением своих пожеланий относительно запроса на слияние.
issues.review.reject=запросил(а) изменения %s
issues.review.reject=запрошены изменения %s
issues.review.wait=был запрошен для отзыва %s
issues.review.add_review_request=запросил(а) отзыв от %s %s
issues.review.remove_review_request=удалил(а )заявку на отзыв для %s %s
issues.review.remove_review_request_self=отказался добавлять отзыв %s
issues.review.add_review_request=запрошена рецензия у %s %s
issues.review.remove_review_request=отменён запрос рецензии для %s %s
issues.review.remove_review_request_self=отказ от рецензирования %s
issues.review.pending=Ожидание
issues.review.pending.tooltip=Этот комментарий в настоящее время не виден другим пользователям. Чтобы отправить отложенные комментарии, выберите «%s» → «%s/%s/%s» в верхней части страницы.
issues.review.review=Рецензия
@ -1822,7 +1823,7 @@ pulls.tab_conversation=Обсуждение
pulls.tab_commits=Коммиты
pulls.tab_files=Изменённые файлы
pulls.reopen_to_merge=Пожалуйста, переоткройте этот запрос на слияние для выполнения слияния.
pulls.cant_reopen_deleted_branch=Этот запрос на слияние не может быть открыт заново, потому что ветвь была удалена.
pulls.cant_reopen_deleted_branch=Этот запрос на слияние не может быть открыт повторно, потому что ветвь была удалена.
pulls.merged=Слито
pulls.merged_success=Запрос на слияние удовлетворён и закрыт
pulls.closed=Запрос на слияние закрыт
@ -1896,7 +1897,7 @@ pulls.update_branch_rebase=Обновить ветвь перебазирова
pulls.update_branch_success=Ветвь успешно обновлена
pulls.update_not_allowed=Недостаточно прав для обновления ветви
pulls.outdated_with_base_branch=Эта ветвь отстает от базовой ветви
pulls.close=Закрыть запрос на слияние
pulls.close=Закрыть запрос слияния
pulls.closed_at=`закрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`переоткрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.cmd_instruction_hint=Показать инструкции для командной строки
@ -1918,7 +1919,7 @@ pulls.auto_merge_newly_scheduled_comment=`запланировал этот за
pulls.auto_merge_canceled_schedule_comment=`отменил автоматическое слияние этого запроса после прохождения всех проверок %[1]s`
pulls.delete.title=Удалить этот запрос на слияние?
pulls.delete.text=Вы точно хотите удалить этот запрос на слияние? (Это навсегда удалит всё его содержимое. Возможно, лучше закрыть его в архивных целях)
pulls.delete.text=Вы точно хотите удалить этот запрос на слияние? (Это навсегда удалит всё его содержимое. Возможно, будет лучше закрыть его в архивных целях)
pull.deleted_branch=(удалена):%s
@ -1964,7 +1965,7 @@ signing.wont_sign.commitssigned=Слияние не будет подписан
signing.wont_sign.approved=Слияние не будет подписано, так как запрос на слияние не одобрен.
signing.wont_sign.not_signed_in=Вы не вошли в систему.
ext_wiki=Доступ ко внешней вики
ext_wiki=Внешняя вики
ext_wiki.desc=Ссылка на внешнюю вики.
wiki=Вики
@ -2149,7 +2150,7 @@ settings.packages_desc=Включить реестр пакетов
settings.projects_desc=Включить проекты
settings.actions_desc=Включить интеграцию конвейеров CI/CD с Forgejo Actions
settings.admin_settings=Настройки администратора
settings.admin_enable_health_check=Проверять целостность данных в этом репозитории (git fsck)
settings.admin_enable_health_check=Выполнять проверки целостности данных (git fsck)
settings.admin_code_indexer=Индексатор кода
settings.admin_stats_indexer=Индексатор статистики кода
settings.admin_indexer_commit_sha=Последний индексированный коммит
@ -2239,7 +2240,7 @@ settings.hooks_desc=Веб-хуки позволяют внешним служб
settings.webhook_deletion=Удаление веб-хука
settings.webhook_deletion_desc=Удаление этого веб-хука приведет к удалению всей связанной с ним информации, включая историю. Хотите продолжить?
settings.webhook_deletion_success=Веб-хук был удалён.
settings.webhook.test_delivery=Проверить доставку
settings.webhook.test_delivery=Проверить отправку
settings.webhook.test_delivery_desc=Отправить тестовое событие для тестирования настройки веб-хука.
settings.webhook.request=Запрос
settings.webhook.response=Ответ
@ -2253,7 +2254,7 @@ settings.githook_edit_desc=Если хук не активен, будет по
settings.githook_name=Название хукa
settings.githook_content=Содержимое хука
settings.update_githook=Обновить хук
settings.add_webhook_desc=Forgejo будет оправлять <code>POST</code>-запросы на указанный URL адрес с указанным заголовком «Content-Type». Подробности в <a target="_blank" rel="noopener noreferrer" href="%s">инструкции по использованию веб-хуков</a>.
settings.add_webhook_desc=Forgejo будет оправлять <code>POST</code>-запросы на указанный URL обработчика с указанным заголовком «Content-Type». Подробности доступны в <a target="_blank" rel="noopener noreferrer" href="%s">инструкции по использованию веб-хуков</a>.
settings.payload_url=URL обработчика
settings.http_method=HTTP-метод
settings.content_type=Тип содержимого POST
@ -2264,10 +2265,10 @@ settings.slack_color=Цвет
settings.discord_username=Имя пользователя
settings.discord_icon_url=URL иконки
settings.event_desc=Срабатывать на:
settings.event_push_only=События отправки
settings.event_push_only=События отправки (push)
settings.event_send_everything=Все события
settings.event_choose=Другие события…
settings.event_header_repository=События репозитория
settings.event_choose=Выбранные события…
settings.event_header_repository=События репозиториев
settings.event_create=Создание
settings.event_create_desc=Создание ветвей и тегов.
settings.event_delete=Удаление
@ -2308,8 +2309,8 @@ settings.event_pull_request_review=Запрос на слияние рассмо
settings.event_pull_request_review_desc=Запрос на слияние утвержден, отклонён или оставлен комментарий.
settings.event_pull_request_sync=Запрос на слияние синхронизирован
settings.event_pull_request_sync_desc=Запрос на слияние синхронизирован.
settings.event_pull_request_review_request=Запрошена рецензия для запроса на слияние
settings.event_pull_request_review_request_desc=Создан или удалён запрос на рецензию для запроса на слияние.
settings.event_pull_request_review_request=Запросы рецензий
settings.event_pull_request_review_request_desc=Создание и отмена запросов рецензий в запросах слияний.
settings.event_pull_request_approvals=Одобрения запросов слияний
settings.event_pull_request_merge=Слияние запроса на слияние
settings.event_package=Пакеты
@ -2318,15 +2319,15 @@ settings.branch_filter=Фильтр ветвей
settings.branch_filter_desc=Белый список ветвей для событий Push, создания ветвей и удаления ветвей, указанных в виде глоб-шаблона. Если пустой или <code>*</code>, то все событий для всех ветвей будут зарегистрированы. Перейдите по ссылке <a href="%[1]s">%[2]s</a> на документацию по синтаксису. Примеры: <code>master</code>, <code>{master,release*}</code>.
settings.authorization_header=Заголовок авторизации
settings.authorization_header_desc=Будет включён в качестве заголовка авторизации для запросов. Примеры: %s.
settings.active=Активный
settings.active=Активен
settings.active_helper=Информация о происходящих событиях будет отправляться на URL этого веб-хука.
settings.add_hook_success=Веб-хук добавлен.
settings.update_webhook=Обновить веб-хук
settings.update_hook_success=Веб-хук обновлён.
settings.delete_webhook=Удалить веб-хук
settings.recent_deliveries=Недавние рассылки
settings.hook_type=Тип хука
settings.slack_token=Slack токен
settings.recent_deliveries=Недавние отправки
settings.hook_type=Тип веб-хука
settings.slack_token=Токен
settings.slack_domain=Домен
settings.slack_channel=Канал
settings.add_web_hook_desc=Интегрируйте <a target="_blank" rel="noreferrer" href="%s">%s</a> с этим репозиторием .
@ -2410,7 +2411,7 @@ settings.protect_branch_name_pattern=Шаблон названий защищё
settings.protect_branch_name_pattern_desc=Шаблоны названий защищённых ветвей. О синтаксисе шаблонов читайте в <a href="%s">документации</a>. Примеры: main, release/**
settings.protect_patterns=Шаблоны
settings.protect_protected_file_patterns=Шаблоны защищённых файлов, разделённые точкой с запятой «;»
settings.protect_protected_file_patterns_desc=Защищенные файлы нельзя изменить напрямую, даже если пользователь имеет право добавлять, редактировать или удалять файлы в этой ветви. Можно указать несколько шаблонов, разделяя их точкой с запятой («;»). О синтаксисе шаблонов читайте в документации <a href="%s">github.com/gobwas/glob</a> . Примеры: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc=Защищенные файлы нельзя изменить напрямую, даже если пользователь имеет право добавлять, редактировать или удалять файлы в этой ветви. Можно указать несколько шаблонов, разделяя их точкой с запятой («;»). О синтаксисе шаблонов читайте в документации <a href="%s">%s</a> . Примеры: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Шаблоны незащищённых файлов, разделённые точкой с запятой «;»
settings.protect_unprotected_file_patterns_desc=Незащищенные файлы, которые допускается изменять напрямую, если пользователь имеет право на запись, несмотря на ограничение отправки изменений. Можно указать несколько шаблонов, разделяя их точкой с запятой («;»). О синтаксисе шаблонов читайте в документации <a href="%[1]s">%[2]s</a> . Примеры: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Включить защиту
@ -2721,7 +2722,7 @@ settings.units.add_more = Доб. больше...
pulls.fast_forward_only_merge_pull_request = Только fast-forward
settings.units.overview = Обзор
settings.units.units = Разделы репозитория
pulls.reopen_failed.head_branch = Этот запрос на слияние не может быть открыт заново, потому что головная ветвь больше не существует.
pulls.reopen_failed.head_branch = Этот запрос на слияние не может быть открыт повторно, так как исходная ветвь больше не существует.
pulls.reopen_failed.base_branch = Этот запрос на слияние не может быть открыт заново, потому что базовая ветвь больше не существует.
settings.ignore_stale_approvals = Игнорировать устаревшие одобрения
contributors.contribution_type.commits = Коммиты
@ -2825,6 +2826,9 @@ mirror_use_ssh.helper = Forgejo будет синхронизировать из
mirror_denied_combination = Невозможно одновременно использовать аутентификацию по SSH и по паролю.
settings.mirror_settings.push_mirror.none_ssh = Нет
settings.mirror_settings.push_mirror.copy_public_key = Копировать публичный ключ
issues.new.assign_to_me = Назначить себе
issues.all_title = Все
settings.discord_icon_url.exceeds_max_length = URL иконки не может быть длиннее 2048 символов
[graphs]
@ -2845,9 +2849,9 @@ org_desc=Описание
team_name=Название команды
team_desc=Описание
team_name_helper=Названия команд должны быть короткими и запоминающимися.
team_desc_helper=Опишите назначение или роль команды.
team_access_desc=Доступ к репозиторию
team_permission_desc=Разрешение
team_desc_helper=Назначение или роль этой команды.
team_access_desc=Доступ к репозиториям
team_permission_desc=Разрешения
team_unit_desc=Разрешить доступ к разделам репозитория
team_unit_disabled=(Отключено)
@ -3142,7 +3146,7 @@ repos.lfs_size=Размер LFS
packages.package_manage_panel=Управление пакетами
packages.total_size=Общий размер: %s
packages.unreferenced_size=Размер по ссылке: %s
packages.unreferenced_size=Неуказанный размер: %s
packages.cleanup=Очистить устаревшие данные
packages.cleanup.success=Очистка устаревших данных успешно завершена
packages.owner=Владелец
@ -3332,7 +3336,7 @@ config.allow_only_external_registration=Регистрация только че
config.enable_openid_signup=Саморегистрация через OpenID
config.enable_openid_signin=Вход через OpenID
config.show_registration_button=Кнопка регистрации
config.require_sign_in_view=Для просмотра содержимого необходима авторизация
config.require_sign_in_view=Требовать авторизацию для просмотра содержимого
config.mail_notify=Уведомления по эл. почте
config.enable_captcha=CAPTCHA
config.active_code_lives=Срок действия кода активации учётной записи
@ -3446,7 +3450,7 @@ monitor.queue.activeworkers=Активные обработчики
monitor.queue.maxnumberworkers=Макс. количество обработчиков
monitor.queue.numberinqueue=Позиция в очереди
monitor.queue.settings.title=Настройки пула
monitor.queue.settings.desc=Пулы увеличиваются динамически в ответ на блокировку очередей своих обработчиков.
monitor.queue.settings.desc=Пулы динамически растут в зависимости от блокировки очередей их рабочих.
monitor.queue.settings.maxnumberworkers=Макс. количество обработчиков
monitor.queue.settings.maxnumberworkers.placeholder=В настоящий момент %[1]d
monitor.queue.settings.maxnumberworkers.error=Максимальное количество обработчиков должно быть числом
@ -3526,17 +3530,17 @@ comment_issue=`оставлен комментарий под задачей <a
comment_pull=`отставлен комментарий под запросом на слияние <a href="%[1]s">%[3]s#%[2]s</a>`
merge_pull_request=`принят запрос на слияние <a href="%[1]s">%[3]s#%[2]s</a>`
auto_merge_pull_request=`автоматически принят запрос на слияние <a href="%[1]s">%[3]s#%[2]s</a>`
transfer_repo=передан репозиторий <code>%s</code> <a href="%s">%s</a>
push_tag=создан тег <a href="%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a>
delete_tag=удалён тэг %[2]s из <a href="%[1]s">%[3]s</a>
delete_branch=удалена ветвь %[2]s из <a href="%[1]s">%[3]s</a>
transfer_repo=репозиторий <code>%s</code> был передан: <a href="%s">%s</a>
push_tag=отправлен тег <a href="%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a>
delete_tag=удалён тег %[2]s в <a href="%[1]s">%[3]s</a>
delete_branch=удалена ветвь %[2]s в <a href="%[1]s">%[3]s</a>
compare_branch=Сравнить
compare_commits=Сравнить %d коммитов
compare_commits_general=Сравнить коммиты
mirror_sync_push=синхронизировал(а) коммиты <a href="%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a> из зеркала
mirror_sync_create=синхронизировал(а) новую ссылку <a href="%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a> из зеркала
mirror_sync_delete=синхронизированные и удалённые ссылки <code>%[2]s</code> на <a href="%[1]s">%[3]s</a> из зеркала
approve_pull_request=`одобрен <a href="%[1]s">%[3]s#%[2]s</a>`
approve_pull_request=`одобрен запрос слияния <a href="%[1]s">%[3]s#%[2]s</a>`
reject_pull_request=`предложил(а) изменения для <a href="%[1]s">%[3]s#%[2]s</a>`
publish_release=`выпуск <a href="%[2]s">%[4]s</a> опубликован в <a href="%[1]s">%[3]s</a>`
review_dismissed=`отклонён отзыв от <b>%[4]s</b> для <a href="%[1]s">%[3]s#%[2]s</a>`
@ -3758,7 +3762,7 @@ owner.settings.cleanuprules.success.delete=Правило очистки уда
owner.settings.chef.title=Реестр Chef
owner.settings.chef.keypair=Создать пару ключей
owner.settings.cleanuprules.none = Правил очистки пока нет.
owner.settings.cargo.rebuild.description = Пересборка может быть полезной в случае, если индекс не синхронизирован с сохранёнными пакетами Cargo.
owner.settings.cargo.rebuild.description = Пересборка может быть полезна в случае, если индекс не синхронизирован с хранящимися пакетами Cargo.
rpm.repository = О репозитории
rpm.repository.architectures = Архитектуры
rpm.repository.multiple_groups = Этот пакет доступен в нескольких группах.
@ -3800,7 +3804,7 @@ management=Управление секретами
[actions]
actions=Действия
unit.desc=Управление встроенными конвейерами CI/CD с Действиями Forgejo
unit.desc=Управление встроенными конвейерами CI/CD с Действиями Forgejo.
status.unknown=Неизвестно
status.waiting=Ожидает
@ -3955,6 +3959,8 @@ pull_kind = Поиск слияний...
union_tooltip = Включает результаты с совпавшими ключевыми словами, разделёнными пробелами
union = Обычный
milestone_kind = Поиск этапов...
regexp = Регулярное выражение
regexp_tooltip = Интерпретировать поисковый запрос как регулярное выражение
[markup]
@ -3963,4 +3969,24 @@ filepreview.lines = Строки с %[1]d по %[2]d в %[3]s
filepreview.truncated = Предпросмотр был обрезан
[translation_meta]
test = хи-хи
test = смайлик :)
[repo.permissions]
code.write = <b>Запись:</b> отправка изменений в репозиторий, создание веток и тегов.
code.read = <b>Чтение:</b> просмотр и клонирование исходного кода репозитория.
issues.read = <b>Чтение:</b> просмотр и создание задач и комментариев.
pulls.read = <b>Чтение:</b> просмотр и открытие запросов слияний.
releases.read = <b>Чтение:</b> просмотр выпусков и скачивание файлов.
releases.write = <b>Запись:</b> публикация, изменение и удаление выпусков и их файлов.
wiki.read = <b>Чтение:</b> просмотр страниц и истории редактирования встроенной вики.
projects.write = <b>Запись:</b> создание и изменение проектов и колонок.
packages.write = <b>Запись:</b> публикация и удаление пакетов в репозитории.
projects.read = <b>Чтение:</b> просмотр проектов в репозитории.
ext_wiki = Доступ ко ссылке на внешнюю вики. Настройка разрешений выполняется вне сайта.
actions.read = <b>Чтение:</b> просмотр интегрированных конвейеров CI/CD и их логов.
pulls.write = <b>Запись:</b> закрытие запросов слияний и изменение их метаданных: меток, этапа, назначений, срока выполнения и зависимостей и пр.
issues.write = <b>Запись:</b> закрытие задач и изменение их метаданных: меток, этапа, назначений, срока выполнения и зависимостей и пр.
actions.write = <b>Запись:</b> ручной запуск, перезапуск, отмена и одобрение работы конвейеров CI/CD.
wiki.write = <b>Запись:</b> создание, изменение и удаление страниц во встроенной вики.
packages.read = <b>Чтение:</b> просмотр и скачивание пакетов в репозитории.
ext_issues = Доступ к ссылке на внешний трекер задач. Настройка разрешений выполняется вне сайта.

View file

@ -2344,7 +2344,7 @@ settings.protect_branch_name_pattern=Korunmuş Dal Adı Deseni
settings.protect_branch_name_pattern_desc=Korunmuş dal isim desenleri. Desen sözdizimi için <a href="%s">belgelere</a> bakabilirsiniz. Örnekler: main, release/**
settings.protect_patterns=Desenler
settings.protect_protected_file_patterns=Korumalı dosya kalıpları (noktalı virgülle ayrılmış ';'):
settings.protect_protected_file_patterns_desc=Kullanıcının bu dalda dosya ekleme, düzenleme veya silme hakları olsa bile doğrudan değiştirilmesine izin verilmeyen korumalı dosyalar. Birden çok desen noktalı virgül (';') kullanılarak ayrılabilir. Desen sözdizimi için <a href='%s'>github.com/gobwas/glob</a> belgelerine bakın. Örnekler: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc=Kullanıcının bu dalda dosya ekleme, düzenleme veya silme hakları olsa bile doğrudan değiştirilmesine izin verilmeyen korumalı dosyalar. Birden çok desen noktalı virgül (';') kullanılarak ayrılabilir. Desen sözdizimi için <a href='%s'>%s</a> belgelerine bakın. Örnekler: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Korunmasız dosya desenleri (noktalı virgülle ayrılmış ';'):
settings.protect_unprotected_file_patterns_desc=Kullanıcının yazma erişimi, itme kısıtlamasını atlama hakkı olduğunda doğrudan değiştirmesine izin verilen korunmasız dosyalar. Birden çok desen noktalı virgül (';') kullanılarak ayrılabilir. Desen söz dizimi için <a href='%[1]s'>%[2]s</a> belgelerine bakın. Örnekler: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Korumayı etkinleştir

View file

@ -26,8 +26,8 @@ return_to_forgejo=Повернутися до Forgejo
username=Ім'я кристувача
email=Адреса електронної пошти
password=Пароль
access_token=Токен Доступу
re_type=Підтвердження пароля
access_token=Токен доступу
re_type=Підтвердження паролю
captcha=CAPTCHA
twofa=Двофакторна авторизація
twofa_scratch=Двофакторний одноразовий пароль
@ -41,11 +41,11 @@ mirror=Дзеркало
new_repo=Новий репозиторій
new_migrate=Нова міграція
new_mirror=Нове дзеркало
new_fork=Новий репозиторій - копія
new_fork=Нова розвилка репозиторію
new_org=Нова організація
new_project=Новий проєкт
manage_org=Керування організаціями
admin_panel=Панель Адміністратора
admin_panel=Панель адміністрації
account_settings=Налаштування облікового запису
settings=Налаштування
your_profile=Профіль
@ -136,14 +136,51 @@ webauthn_unsupported_browser = Ваш оглядач наразі не підт
webauthn_error_insecure = WebAuthn підтримує лише захищені з'єднання. Для тестування через HTTP можете використати origin-рядок «localhost» чи «127.0.0.1»
webauthn_error_timeout = Ключ не встиг зчитатись протягом відведеного терміну. Будь ласка, перезавантажте сторінку й повторіть спробу.
locked = Заблоковано
filter.is_template = Шаблони
test = Тест
show_timestamps = Показувати відмітки часу
filter.clear = Очистити фільтри
filter.is_archived = Архівовано
filter = Фільтри
toggle_menu = Перемкнути видимість меню
confirm_delete_artifact = Ви впевнені, що хочете видалити цей артефакт "%s"?
artifacts = Артефакти
filter.not_archived = Не архівовано
filter.public = Загальнодоступні
filter.private = Приватні
more_items = Більше пунктів
remove_label_str = Видалити предмет "%s"
new_repo.title = Новий репозитор
new_migrate.title = Нова міграція
new_org.title = Нова організація
new_repo.link = Новий репозитор
new_migrate.link = Нова міграція
new_org.link = Нова організація
copy_generic = Скопіювати до буферу обміну
show_log_seconds = Показувати секунди
show_full_screen = Показувати у повно-екранному режимі
filter.is_fork = Розвилки
filter.not_fork = Не розвилки
filter.is_mirror = Дзеркала
filter.not_mirror = Не дзеркала
filter.not_template = Не шаблони
error413 = Ви вичерпали ваш quota.
invalid_data = Недійсні дані: %v
[aria]
footer.software = Про програму
footer.software = Про застосунок
footer.links = Посилання
footer = Нижній колонтитул
navbar = Панель навігації
[heatmap]
less = Менше
more = Більше
contributions_one = внесок
number_of_contributions_in_the_last_12_months = %s внесків за останні 12 місяців
contributions_zero = Нема внесків
contributions_format = {contributions} за {month} {day}, {year}
contributions_few = внески
[editor]
buttons.bold.tooltip = Додати грубий шрифт
@ -155,19 +192,31 @@ buttons.list.unordered.tooltip = Додати маркований список
buttons.list.ordered.tooltip = Додати нумерований список
buttons.list.task.tooltip = Додати список завдань
buttons.heading.tooltip = Додати заголовок
buttons.switch_to_legacy.tooltip = Використовувати застарілий редактор замість поточного
buttons.disable_monospace_font = Вимкнути моноширний шрифт
buttons.indent.tooltip = Вкласти предмет на один рівень
buttons.unindent.tooltip = Викласти предмет на один рівень
buttons.mention.tooltip = Згадати користувача чи команду
buttons.ref.tooltip = Посилатись на недолік чи на запит на злиття
buttons.enable_monospace_font = Увімкнути моноширний шрифт
[filter]
string.asc = А - Я
string.desc = Я - А
[error]
occurred=Сталася помилка
missing_csrf=Некоректний запит: токен CSRF не задано
network_error=Помилка мережі
server_internal = Помилка внутрішнього серверу
report_message = Якщо ви думаєте, що це вада Forgejo, будь-ласка пошукайте її у списку недоліків на <a href="%s" target="_blank">Codeberg</a> чи повідомте про новий недолік, якщо необхідно.
not_found = Ціль не була знайдена.
[startpage]
app_desc=Зручний власний сервіс хостингу репозиторіїв Git
install=Легко встановити
platform=Платформонезалежність
platform_desc=Forgejo виконується на платформі, для якої можливо скомпілювати <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a>: Windows, macOS, Linux, ARM, та інших. Оберіть ту, яка вам до вподоби!
platform_desc=Forgejo підтверджено працює на вільних операційних системах, як от Linux і FreeBSD, так само й на різних архітектурах ЦП. Оберіть, яка вам до вподоби!
lightweight=Невибагливість
lightweight_desc=Forgejo має низькі вимоги до ресурсів та може працювати на недорогому Raspberry Pi. Заощадьте енергію свого комп'ютера!
license=Відкритий вихідний код
@ -179,11 +228,11 @@ install=Встановлення
title=Початкова конфігурація
docker_helper=Якщо ви запускаєте Forgejo всередині Docker, будь ласка уважно прочитайте <a target="_blank" rel="noopener" href="%s">документацію</a> перед тим, як щось змінити на цій сторінці.
db_title=Налаштування бази даних
db_type=Тип бази даних
db_type=Вид бази даних
host=Хост
user=Ім'я кристувача
password=Пароль
db_name=Ім'я бази даних
db_name=Назва бази даних
db_schema=Схема
db_schema_helper=Залиште пустим для бази даних за замовчуванням ("публічна").
ssl_mode=SSL
@ -205,42 +254,42 @@ err_admin_name_is_invalid=Неправильне ім'я користувача-
general_title=Загальні налаштування
app_name=Назва сайту
app_name_helper=Тут ви можете ввести назву своєї компанії.
repo_path=Кореневий шлях репозиторія
repo_path=Коренева тека репозиторію
repo_path_helper=Всі вилучені Git репозиторії будуть збережені в цей каталог.
lfs_path=Кореневої шлях Git LFS
lfs_path=Кореневий шлях Git LFS
lfs_path_helper=У цій папці будуть зберігатися файли Git LFS. Залиште порожнім, щоб вимкнути LFS.
run_user=Запуск від імені Користувача
run_user=Користувач від якого запустити
domain=Домен сервера
domain_helper=Домен або адреса хоста сервера.
ssh_port=Порт SSH сервера
ssh_port_helper=Номер порту, який використовує SSH сервер. Залиште порожнім, щоб вимкнути SSH.
http_port=Forgejo HTTP порт
http_port_helper=Номер порту, який буде прослуховуватися Forgejos веб-сервером.
app_url=Базова URL-адреса Forgejo
ssh_port=Порт SSH серверу
ssh_port_helper=Номер порту, що використовує SSH сервер. Залиште порожнім, аби вимкнути SSH.
http_port=HTTP порт для прослуховування
http_port_helper=Номер порту, що буде прослуховуватися Forgejo вебсервером.
app_url=Базова URL-адреса
app_url_helper=Базова адреса для HTTP(S) клонування через URL та повідомлень електронної пошти.
log_root_path=Шлях до лог файлу
log_root_path=Шлях до файлу журналу
log_root_path_helper=Файли журналу будуть записані в цей каталог.
optional_title=Додаткові налаштування
email_title=Налаштування Email
email_title=Налаштування email
smtp_addr=SMTP хост
smtp_port=SMTP порт
smtp_from=Відправляти Email від імені
smtp_from=Відправляти email від імені
smtp_from_helper=Електронна пошта для використання в Gіtea. Введіть звичайну електронну адресу або використовуйте формат: "Ім'я" <email@example.com>.
mailer_user=SMTP Ім'я кристувача
mailer_password=SMTP Пароль
mailer_user=SMTP Ім'я користувача
mailer_password=SMTP пароль
register_confirm=Потрібно підтвердити електронну пошту для реєстрації
mail_notify=Увімкнути сповіщення електронною поштою
server_service_title=Сервер і налаштування зовнішніх служб
offline_mode=Увімкнути локальний режим
offline_mode.description=Відключити сторонні мережі доставки контенту і обслуговувати всі ресурси локально.
offline_mode.description=Відключити постачання контенту зі сторонніх мереж й обслуговувати всі ресурси локально.
disable_gravatar=Вимкнути Gravatar
disable_gravatar.description=Відключити Gravatar і сторонні джерела аватарів. Якщо користувач не завантажить аватар локально то за замовчуванням буде використовуватися стандартний аватар.
federated_avatar_lookup=Увімкнути федеративні аватари
federated_avatar_lookup.description=Увімкнути зовнішний Аватар за допомогою Libravatar.
federated_avatar_lookup.description=Увімкнути зовнішні аватари за допомогою Libravatar.
disable_registration=Вимкнути самостійну реєстрацію
disable_registration.description=Вимкнути самостійну реєстрацію користувачів, тільки адміністратор може створювати нові облікові записи.
allow_only_external_registration.description=Дозволити реєстрацію тільки через сторонні сервіси
allow_only_external_registration.description=Користувачам буде дозволено реєструватись лише через налаштовані сторонні сервіси.
openid_signin=Увімкнути реєстрацію за допомогою OpenID
openid_signin.description=Увімкнути вхід за допомогою OpenID.
openid_signup=Увімкнути самостійну реєстрацію за допомогою OpenID
@ -275,6 +324,22 @@ default_enable_timetracking.description=Включити відстеження
no_reply_address=Прихований поштовий домен
no_reply_address_helper=Доменне ім'я для користувачів із прихованою електронною адресою. Наприклад, ім'я користувача 'joe' буде входити в Git як 'joe@noreply.example.org', якщо для прихованого домену електронної пошти встановлено 'noreply.example.org'.
password_algorithm=Алгоритм хешування пароля
config_location_hint = Ці опції налаштувань будуть збережені в:
env_config_keys = Конфігурація середовища
env_config_keys_prompt = Наступні змінні середовища будуть також застосовані до вашого файлу конфігурації:
invalid_db_table = База даних "%s" недійсна: %v
enable_update_checker = Увімкнути перевірку оновлень
require_db_desc = Forgejo вимагає MySQL, PostgreSQL, SQLite3 чи TiDB (протокол MySQL).
allow_only_external_registration = Дозволити реєстрацію тільки через зовнішні сервіси
require_sign_in_view.description = Обмежити доступ до контенту лише користувачам, що увійшли. Гості зможуть лише відвідувати сторінки автентифікації.
password_algorithm_helper = Встановити алгоритм хешування паролів. Алгоритми мають різні вимоги та силу. Алгоритм argon2 є досить безпечним, проте споживає багато памʼяті та є недоречним для малих систем.
app_slogan = Гасло екземпляру
app_slogan_helper = Уведіть ваше гасло екземпляру тут. Залиште пустим, аби вимкнути.
run_user_helper = Імʼя користувача операційної системи, від якого запущено Forgejo. Помітьте, що цей користувач повинен мати доступ до корінної теки репозиторія.
smtp_from_invalid = Адреса з "Відіслати письмо від" не існує
allow_dots_in_usernames = Дозволити користувачам використовувати крапки у своїх іменах. Не впливає на облікові записи, що вже існують.
invalid_password_algorithm = Недійсний варіант алгоритму хешування паролів
enable_update_checker_helper_forgejo = Воно буде періодично перевіряти нові версії Forgejo через перевірку TXT DNS запису на release.forgejo.org.
[home]
uname_holder=Ім'я користувача або Ел. пошта
@ -317,7 +382,12 @@ org_no_results=Відповідних організацій не знайден
code_no_results=Відповідний пошуковому запитанню код не знайдено.
code_last_indexed_at=Останні індексовані %s
relevant_repositories = Відображаються лише релевантні репозиторії, <a href="%s">переглянути результати без фільтру</a>.
relevant_repositories_tooltip = Приховано форки, а також сховища без теми, значка й опису.
relevant_repositories_tooltip = Приховано розвилки, а також сховища без теми, значка й опису.
go_to = Перейти до
stars_one = %d зірка
stars_few = %d зірок
forks_one = розвилка %d
forks_few = %d розвилок
[auth]
create_new_account=Реєстрація облікового запису
@ -376,6 +446,24 @@ authorize_title=Авторизуйвати "%s" для доступу до ва
authorization_failed=Помилка авторизації
sspi_auth_failed=Помилка SSPI-автентифікації
password_pwned_err=Не вдалося виконати запит до HaveIBeenPwed
change_unconfirmed_email_summary = Змінити адресу електронної пошти, на яку надходять активаційні листи.
oauth.signin.error.temporarily_unavailable = Авторизація невдала, через тимчасову не наявність серверу авторизації. Будь-ласка, спробуйте пізніше.
change_unconfirmed_email = Якщо ви ввели невірну електронну адресу впродовж реєстрації, ви можете змінити її нижче, та підтвердження буде надіслано на нову адресу.
last_admin = Ви не можете видалити останнього адміністратора. Має бути хоча-б один адміністратор.
oauth.signin.error.access_denied = Запит на авторизацію було відхилено.
change_unconfirmed_email_error = Не вдалося змінити електронну адресу: %w
manual_activation_only = Зв'яжіться з адміністратором сайту, аби завершити активацію.
prohibit_login_desc = Ваш обліковий запис було відізвано від взаємодії з екземпляром. Звʼяжіться з адміністратором екземпляру, щоб отримати доступ знову.
invalid_code_forgot_password = Ваш код підтвердження недійсний. Натисніть <a href="%s">тут</a> , аби почати нову сесію.
reset_password_wrong_user = Ви ввійшли як %s, але посилання на відновлення було передбачене для %s
back_to_sign_in = Назад до входу
sign_in_openid = Продовжити з OpenID
openid_signin_desc = Введіть ваше посилання OpenID. Наприклад: alice.openid.example.org, чи https://openid.example.org/alice.
invalid_password = Ваш пароль не відповідає тому, що був заданий при створенні облікового запису.
hint_login = Вже маєте обліковий запис? <a href="%s">Увійдіть зараз!</a>
hint_register = Потрібен обліковий запис? <a href="%s">Зереєструватись зараз.</a>
sign_up_button = Зареєструватись зараз.
sign_up_successful = Обліковий запис успішно створений. Вітаємо!
[mail]
view_it_on=Переглянути на %s
@ -435,6 +523,15 @@ repo.transfer.body=Щоб прийняти або відхилити перей
repo.collaborator.added.subject=%s додав вас до %s
repo.collaborator.added.text=Ви були додані в якості співавтора репозиторію:
primary_mail_change.subject = Ваша основна пошта була змінена
totp_disabled.subject = TOTP було відімкнено
totp_disabled.text_1 = Тимчасовий одноразовий пароль (TOTP) на вашому обліковому записи було відімкнено.
password_change.subject = Ваш пароль було успішно змінено
password_change.text_1 = Пароль до вашого облікового запису щойно був змінений.
reply = чи відповісти напряму з електронної адреси
admin.new_user.user_info = Інформація користувача
admin.new_user.text = Будь-ласка, <a href="%s">натисніть тут</a>, щоб керувати цим користувачем із панелі адміністрації.
admin.new_user.subject = Новий користувач %s щойно ввійшов
[modal]
@ -517,6 +614,8 @@ auth_failed=Помилка автентифікації: %v
target_branch_not_exist=Цільової гілки не існує.
still_own_packages = Ваш обліковий запис володіє одним чи більше пакунками, спочатку видаліть їх.
org_still_own_packages = Організація все ще володіє одним чи більше пакунками, спочатку видаліть їх.
[user]
@ -787,6 +886,16 @@ retype_new_password = Підтвердіть новий пароль
email_desc = Ваша основна адреса електронної пошти буде використовуватися для сповіщень, відновлення пароля і, за умови, що вона не прихована, для операцій з Git через веб-інтерфейс.
visibility.limited_tooltip = Видимий(а) тільки для авторизованих користувачів
visibility.private_tooltip = Видимий(а) тільки для учасників організацій, до яких ви приєдналися
twofa_scratch_token_regenerated = Ваш одноразовий код відновлення наразі %s. Збережіть його у безпечному місці, бо він не буде показаний знову.
authorized_oauth2_applications_description = Ви надали доступ до вашого власного облікового запису Forgejo до цих застосунків від третіх лиць. Будь-ласка відкличте доступ із застосунків, що більше не використовуються.
webauthn_delete_key = Видалити ключ безпеки
webauthn_key_loss_warning = Якщо ви втратите ключ безпеки, то втратите доступ до вашого облікового запису.
webauthn_register_key = Додати ключ безпеки
webauthn_nickname = Псевдонім
webauthn_desc = Ключі безпеки це апаратні пристрої, що містять криптографічні ключі. Вони можуть використовуватись для двократної автентифікації. Ключі безпеки мають підтримувати стандарт <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a>.
revoke_oauth2_grant_success = Доступ відкликано успішно.
twofa_recovery_tip = Якщо ви втратите ваш пристрій, ви зможете використати одноразовий код відновлення щоб знову отримати доступ до вашого облікового запису.
webauthn_delete_key_desc = Якщо ви видалите ключ безпеки ви більше не зможете з ним зайти. Продовжити?
[repo]
owner=Власник
@ -801,7 +910,7 @@ template_description=Шаблонні репозиторії дозволяют
visibility=Видимість
visibility_description=Тільки власник або члени організації які мають віповідні права, зможуть побачити.
visibility_helper_forced=Адміністратор вашого сайту налаштував параметри: всі нові репозиторії будуть приватними.
visibility_fork_helper=(Ці зміни вплинуть на всі форки.)
visibility_fork_helper=(Ці зміни вплинуть на всі розвилки.)
clone_helper=Потрібна допомога у клонуванні? Відвідайте сторінку <a target="_blank" rel="noopener" href="%s">Допомога</a>.
fork_repo=Форкнути репозиторій
fork_from=Форк з
@ -1578,7 +1687,7 @@ activity.git_stats_and_deletions=та
activity.git_stats_deletion_1=%d видалений
activity.git_stats_deletion_n=%d видалені
contributors.contribution_type.commits=Коміти
contributors.contribution_type.commits=Коментарі
search=Пошук
search.search_repo=Пошук репозиторію
@ -2046,7 +2155,7 @@ find_file.go_to_file = Перейти до файлу
visibility_helper = Зробити репозиторій приватним
projects.card_type.desc = Попередній вигляд карток
projects.card_type.text_only = Лише текст
projects.card_type.images_and_text = Зображення і текст
projects.card_type.images_and_text = Світлини та текст
issues.filter_poster = Автор
issues.author = Автор
issues.author_helper = Цей користувач - автор.
@ -2070,8 +2179,15 @@ commit.cherry-pick-header = Висмикнути: %s
commit.cherry-pick-content = Оберіть гілку, на яку висмикнути:
pulls.expand_files = Розгорнути всі файли
pulls.collapse_files = Згорнути всі файли
settings.packages_desc = Увімкнути реєстр пакунків репозиторія
issues.role.contributor_helper = Цей користувач коментував у цьому репозиторії.
contributors.contribution_type.deletions = Видалення
contributors.contribution_type.filter_label = Вид внеску:
issues.role.contributor = Дописувач
activity.navbar.contributors = Дописувачі
[graphs]
contributors.what = внески
[org]
org_name_holder=Назва організації
@ -2627,9 +2743,14 @@ packages.total_size = Загальний розмір: %s
packages.unreferenced_size = Розмір без посилань: %s
packages.creator = Творець
packages.version = Версія
packages.package_manage_panel = Менеджмент Пакунків
packages.package_manage_panel = Керувати пакунками
packages.published = Опубліковано
notices.operations = Дії
packages.cleanup = Очистити недійсні дані
packages.cleanup.success = Успішно очищено недійсні дані
users.still_own_packages = Цей користувач досі володіє одним чи більше пакетами, спочатку видаліть ці пакети.
users.purge_help = Примусово видалити користувача та будь-які репозиторії, організації та пакунки, якими він володіє. Усі коментарі та недоліки написані цим користувачем також будуть видалені.
dashboard.cleanup_packages = Очистити непридатні пакунки
[action]
@ -2725,12 +2846,71 @@ alpine.repository.branches=Гілки
alpine.repository.repositories=Репозиторії
conan.details.repository=Репозиторій
owner.settings.cleanuprules.enabled=Увімкнено
about = Про цей пакет
about = Про цей пакунок
empty = Поки що тут немає пакунків.
empty.documentation = Для отримання додаткової інформації щодо реєстру пакунків, перегляньте <a target="_blank" rel="noopener noreferrer" href="%s">документацію</a>.
registry.documentation = Для отримання додаткової інформації щодо реєстру %s, перегляньте <a target="_blank" rel="noopener noreferrer" href="%s">документацію</a>.
settings.delete.notice = Ви збираєтеся видалити %s (%s). Цю операцію не можна відмінити, ви впевнені?
details.author = Автор
title = Пакунки
arch.version.backup = Резервне копіювання
arch.version.conflicts = Суперечки
arch.version.replaces = Заміни
arch.version.provides = Надає
arch.version.groups = Група
conda.install = Даби встановити пакунок, використовуючи Conda, запустіть наступну команду:
cargo.install = Даби встановити пакунок використовуючи cargo, запустіть наступну команду:
versions.view_all = Переглянути всі
generic.download = Завантажте пакунок з командного рядку:
details = Подробиці
arch.version.optdepends = Необовʼязково залежить
installation = Установлення
details.license = Ліцензія
filter.type.all = Усі
conan.install = Даби встановити пакунок, використовуючи Conan, запустіть наступну команду:
container.layers = Шари Світлини
details.project_site = Вебсторінка проєкту
details.documentation_site = Вебсторінка документації
desc = Керувати пакунками репозиторію.
requirements = Вимоги
dependencies = Залежності
empty.repo = Ви опублікували пакунок, але він не показаний тут? Перейдіть до <a href="%[1]s">налаштувань пакунків</a> та привʼяжіть їх до цього репозиторію.
alpine.repository = Інформація репозиторію
alpine.install = Аби встановити цей пакунок, запустіть наступну команду:
cran.install = Даби встановити пакунок, запустіть наступну команду:
composer.dependencies.development = Залежності Розробки
container.labels.key = Ключі
container.labels.value = Значення
composer.install = Даби встановити пакунок, використовуючи Composer, запустіть наступну команду:
debian.repository.components = Складові
filter.container.tagged = Відмічений
filter.container.untagged = Невідмічений
container.multi_arch = ОС / Архітектура
arch.pacman.helper.gpg = Додайте сертифікат довіреності до pacman:
arch.pacman.sync = Синхронізуйте пакунок з pacman:
arch.pacman.conf = Додайте сервер з повʼязаним дострибутивом та архітектурою до <code>/etc/pacman.conf</code> :
arch.version.properties = Властивості Версії
arch.version.description = Опис
chef.install = Даби встановити пакунок, запустіть наступну команду:
container.details.platform = Платформа
container.details.type = Вид Світлини
container.pull = Завантажити світлину з командного рядку:
details.repository_site = Вебсторінка репозиторію
composer.dependencies = Залежності
debian.install = Даби встановити пакунок, запустіть наступну команду:
debian.repository = Інформація репозиторію
debian.repository.distributions = Дистрибутиви
alpine.repository.architectures = Архітектури
arch.version.depends = Залежить
go.install = Встановити пакунок з командного рядку:
debian.repository.architectures = Архітектури
helm.install = Даби встановити пакунок, запустіть наступну команду:
keywords = Ключові слова
assets = Ресурси
versions = Версії
dependency.version = Версія
container.labels = Мітки
filter.no_result = Ваш фільтр не видав жодних результатів.
[secrets]
@ -2747,13 +2927,63 @@ runners.task_list.commit=Коміт
runners.status.active=Активний
runs.commit=Коміт
variables.update.failed = Не вдалося змінити змінну.
variables.update.success = Змінна була змінена.
[projects]
type-3.display_name = Проєкт організації
type-2.display_name = Проєкт репозиторію
type-1.display_name = Особистий проєкт
deleted.display_name = Видалений Проєкт
[git.filemode]
; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …
symbolic_link=Символічне посилання
directory = Тека
submodule = Підмодуль
normal_file = Звичайний файл
executable_file = Виконуваний файл
[search]
code_kind = Шукати код...
code_search_unavailable = Пошук коду наразі недоступний. Будь-ласка звʼяжіться з адміністратором сайту.
user_kind = Шукати користувачів...
repo_kind = Шукати репозиторії...
search = Пошук...
type_tooltip = Вид пошуку
fuzzy = Нечіткий
fuzzy_tooltip = Включати результати, що подібні пошуковому запиту
union_tooltip = Включати результати, що відповідають будь-якому з ключових слів розділеними пробілами
union = Ключові слова
exact = Точний
exact_tooltip = Включати усі результати, що чітко відповідають запиту
regexp = Регулярні вирази
regexp_tooltip = Опрацьовувати пошуковий запит як регулярний вираз
org_kind = Шукати організації...
team_kind = Шукати команди...
milestone_kind = Шукати віхи...
commit_kind = Шукати коментарі...
no_results = Не знайдено відповідних результатів.
keyword_search_unavailable = Пошук по ключовим словам наразі недоступний. Будь-ласка звʼяжіться з адміністратором сайту.
code_search_by_git_grep = Поточні результати пошуку коду надаються з "git grep". Тут можуть бути кращі результати, якщо адміністратор сайту ввімкнув індексацію коду.
package_kind = Шукати пакунки...
project_kind = Шукати проєкти...
branch_kind = Шукати гілки...
issue_kind = Шукати недоліки...
pull_kind = Шукати запити на злиття...
runner_kind = Пошук рушіїв...
[markup]
filepreview.truncated = Перегляд було урізано
[translation_meta]
test = Це текстовий текст. Він не відображається у інтерфейсі користувача Forgejo, але використовується за тестових причин. Вільно натисніть "ок" щоб зберегти час (або цікавий факт на ваш вибір), щоб досягти бажаної позначки 100% завершення :)
[repo.permissions]
packages.read = <b>Читати:</b> Дивитись та завантажити пакунки призначені до репозиторію.
packages.write = <b>Писати:</b> Публікувати та видаляти пакунки призначені до репозиторію.

View file

@ -60,7 +60,7 @@ forks = Các phân nhánh
activities = Hoạt động
pull_requests = Yêu cầu thêm mã
save = Lưu
issues =
issues =
enabled = Bật
disabled = Tắt
copy = Chép
@ -84,4 +84,6 @@ signed_in_as = Đăng nhập bằng
re_type = Xác nhận mật khẩu
webauthn_sign_in = Nhấn nút trên khóa bảo mật, nếu không có nút thì bạn hãy rút ra rồi cắm lại.
new_org.link = Tạo tổ chức
error404 = Trang bạn đang tìm <strong>không tồn tại</strong> hoặc <strong>bạn không có quyền xem</strong>.
error404 = Trang bạn đang tìm <strong>không tồn tại</strong> hoặc <strong>bạn không có quyền xem</strong>.
edit = Chỉnh sửa
filter = Lọc

View file

@ -1,6 +1,6 @@
[common]
home=首页
dashboard=首页
dashboard=控制面板
explore=探索
help=帮助
logo=徽标
@ -12,13 +12,13 @@ sign_up=注册
link_account=链接账户
register=注册
version=当前版本
powered_by=Powered by %s
powered_by=由 %s 提供支持
page=页面
template=模板
language=语言选项
notifications=通知
active_stopwatch=活动时间跟踪器
tracked_time_summary=基于问题列表过滤器的跟踪时间概要
tracked_time_summary=基于工单列表过滤器的跟踪时间概要
create_new=创建…
user_profile_and_more=个人信息和设置…
signed_in_as=已登录用户
@ -57,7 +57,7 @@ mirror=镜像
new_repo=创建仓库
new_migrate=迁移外部仓库
new_mirror=创建新的镜像
new_fork=新的派生仓库
new_fork=创建新的派生仓库
new_org=创建组织
new_project=创建项目
new_project_column=创建列
@ -77,7 +77,7 @@ forks=派生
activities=最近活动
pull_requests=合并请求
issues=工单管理
issues=工单
milestones=里程碑
ok=确定
@ -109,7 +109,7 @@ copy_type_unsupported=无法复制此类型的文件内容
write=撰写
preview=预览
loading=正在加载...
loading=正在加载
error=错误
error404=您正尝试访问的页面 <strong>不存在</strong> 或 <strong>您尚未被授权</strong> 查看该页面。
@ -179,7 +179,7 @@ contributions_zero=目前还没有贡献
less=更少的
more=更多的
contributions_format = {year}{month}{day} 当日有 {contributions}
contributions_few = 贡献
contributions_few = 贡献
contributions_one = 贡献
[editor]
@ -216,13 +216,13 @@ server_internal = 服务器内部错误
[startpage]
app_desc=一款极易搭建的自助 Git 服务
install=易安装
install_desc=通过 <a target="_blank" rel="noopener noreferrer" href="%[1]s">二进制</a> 来运行;或者通过 <a target="_blank" rel="noopener noreferrer" href="%[2]s">docker</a> 来运行;或者通过 <a target="_blank" rel="noopener noreferrer" href="%[3]s">安装包</a> 来运行
install_desc=通过 <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download/#installation-from-binary">二进制</a> 来运行;或者通过 <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download/#container-image">docker</a> 来运行;或者通过 <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download">安装包</a> 来运行。
platform=跨平台
platform_desc=已证实可以在 Linux 和 FreeBSD 等自由操作系统以及不同的 CPU 架构上运行 Forgejo。挑一个您喜欢的就行
lightweight=轻量级
lightweight_desc=一个廉价的树莓派的配置足以满足 Forgejo 的最低系统硬件要求。最大程度上节省您的服务器资源!
license=开源化
license_desc=所有的代码都开源在 <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a> 上,赶快加入我们来共同发展这个伟大的项目!还等什么?成为贡献者吧!
license_desc=取得 <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>!赶快<a target="_blank" rel="noopener noreferrer" href="%[2]s">加入我们</a>来共同发展这个伟大的项目!还等什么?成为贡献者吧!
[install]
install=安装页面
@ -235,7 +235,7 @@ host=数据库主机
user=用户名
password=数据库用户密码
db_name=数据库名称
db_schema=Schema
db_schema=架构模式
db_schema_helper=留空则数据库中默认值为("public")。
ssl_mode=SSL
path=数据库文件路径
@ -259,8 +259,8 @@ app_name_helper=在此处输入您的实例名称。它将显示在所有页面
repo_path=仓库根目录
repo_path_helper=所有远程 Git 仓库将保存到此目录。
lfs_path=LFS 根目录
lfs_path_helper=存储为Git LFS的文件将被存储在此目录。留空禁用LFS
run_user=以用户运行
lfs_path_helper=存储为Git LFS的文件将被存储在此目录。留空禁用LFS
run_user=要使用的用户身份
run_user_helper=输入 Forgejo 运行的操作系统用户名。请注意,此用户必须具有对仓库根路径的访问权限。
domain=服务器域名
domain_helper=服务器的域名或主机地址。
@ -416,7 +416,7 @@ active_your_account=激活您的帐户
account_activated=帐户已激活
prohibit_login=账号已暂停
prohibit_login_desc=您的账号已暂停与实例交互。请与实例管理员联系以重新获得访问权限。
resent_limit_prompt=您请求发送激活邮件过于频繁,请等待 3 分钟后再试
resent_limit_prompt=您请求发送激活邮件过于频繁,请等待 3 分钟后再试
has_unconfirmed_mail=%s 您好,系统检测到您有一封发送至 <b>%s</b> 但未被确认的邮件。如果您未收到激活邮件,或需要重新发送,请单击下方的按钮。
resend_mail=单击此处重新发送确认邮件
email_not_associate=您输入的邮箱地址未被关联到任何帐号!
@ -426,7 +426,7 @@ invalid_code=此确认密钥无效或已过期。
invalid_code_forgot_password=你的确认码无效或者已过期,点击 <a href="%s">这里</a> 开始新的会话。
invalid_password=您的密码与用于创建账户的密码不匹配。
reset_password_helper=恢复账户
reset_password_wrong_user=您以 %s 登录,但恢复账号链接是用于 %s。
reset_password_wrong_user=您以 %s 登录,但恢复账号链接适用于 %s
password_too_short=密码长度不能少于 %d 位。
non_local_account=非本地帐户不能通过 Forgejo 的 web 界面更改密码。
verify=验证
@ -443,7 +443,7 @@ oauth_signup_submit=完成账号
oauth_signin_tab=绑定到现有帐号
oauth_signin_title=登录以授权绑定帐户
oauth_signin_submit=绑定账号
oauth.signin.error=处理授权请求时出错。 如果此错误仍然存在,请联系站点管理员。
oauth.signin.error=处理授权请求时出错。如果此错误仍然存在,请联系站点管理员。
oauth.signin.error.access_denied=授权请求被拒绝。
oauth.signin.error.temporarily_unavailable=授权失败,因为认证服务器暂时不可用。请稍后再试。
openid_connect_submit=连接
@ -476,6 +476,7 @@ back_to_sign_in = 返回登录
sign_in_openid = 继续使用 OpenID
sign_up_button = 立即注册。
hint_register = 需要账号?<a href="%s">立即注册。</a>
unauthorized_credentials = 凭据不正确或已过期。请重试您的命令,或查看 %s 以获取更多信息
[mail]
view_it_on=在 %s 上查看
@ -675,7 +676,7 @@ Pronouns = 代称
Biography = 简历
[user]
change_avatar=修改头像
change_avatar=修改头像
joined_on=加入于 %s
repositories=仓库列表
activity=公开活动
@ -759,7 +760,7 @@ language=界面语言
ui=主题
hidden_comment_types=隐藏的评论类型
hidden_comment_types_description=此处选中的注释类型不会显示在问题页面中。比如,勾选”标签“删除所有 "<user> 添加/删除的 <label>" 注释。
hidden_comment_types.ref_tooltip=注释此问题在何处被提及过,如另一个问题、代码提交等
hidden_comment_types.ref_tooltip=注释此问题在何处被提及过,如另一个问题、代码提交等
hidden_comment_types.issue_ref_tooltip=注释用户在何处更改了与此问题相关联的分支/标签
comment_type_group_reference=引用
comment_type_group_label=标签
@ -795,7 +796,7 @@ update_password=更新密码
old_password=当前密码
new_password=新的密码
retype_new_password=确认新密码
password_incorrect=当前密码不正确
password_incorrect=当前密码不正确
change_password_success=您的密码已更新。从现在开始使用您的新密码登录。
password_change_disabled=非本地帐户不能通过 Forgejo 的 web 界面更改密码。
@ -841,16 +842,16 @@ ssh_desc=这些 SSH 公钥已经关联到你的账号。相应的私钥拥有完
principal_desc=这些SSH证书规则已关联到你的账号将允许完全访问你的所有仓库。
gpg_desc=这些 GPG 公钥已经关联到你的账号,并用于验证您的提交。请妥善保管你的私钥,因为这些私钥可以用于以你的身份签名提交。
ssh_helper=<strong>需要帮助?</strong> 请查看有关 <a href="%s">如何生成 SSH 密钥</a> 或 <a href="%s">常见 SSH 问题</a> 寻找答案。
gpg_helper=<strong>需要帮助吗?</strong>看一看 GitHub <a href="%s">关于GPG</a> 的指导。
gpg_helper=<strong>需要帮助吗?</strong>建议看一看 GitHub <a href="%s">关于GPG</a> 的指导。
add_new_key=增加 SSH 密钥
add_new_gpg_key=添加的 GPG 密钥
key_content_ssh_placeholder=以“ssh-ed25519”、“ssh-rsa”、“ecdsa-sha2-nistp256”、“ecdsa-sha2-nistp384”、“ecdsa-sha2-nistp521”、“sk-ecdsa-sha2-nistp256@openssh.com” 或 “sk-ssh-ed25519@openssh.com” 开头
key_content_gpg_placeholder=以 “-----BEGIN PGP PUBLIC KEY BLOCK-----” 开头
add_new_principal=添加规则
ssh_key_been_used=此 SSH 密钥已添加到服务器。
ssh_key_name_used=使用相同名称的SSH公钥已经存在!
ssh_key_name_used=使用相同名称的SSH公钥已存在。
ssh_principal_been_used=此规则已经加入到了服务器。
gpg_key_id_used=使用相同名称的GPG公钥已经存在
gpg_key_id_used=使用相同ID的GPG公钥已经存在
gpg_no_key_email_found=此 GPG 密钥与您帐户关联的任何已激活电子邮件地址均不匹配。如果您在提供的令牌上签名,它仍然可以被添加。
gpg_key_matched_identities=匹配的身份:
gpg_key_matched_identities_long=此密钥中包含的身份信息与下面这个该用户已激活电子邮件地址是相匹配的。因此,能与这些电子邮件地址相匹配的提交可以通过此密钥进行验证。
@ -1003,7 +1004,7 @@ remove_account_link=删除已绑定的账号
remove_account_link_desc=删除已绑定帐户将吊销其对您的 Forgejo 帐户的访问权限。继续?
remove_account_link_success=已取消绑定帐户。
hooks.desc=添加 Webhooks,它们将会在您拥有的<strong>所有仓库</strong>上触发
hooks.desc=添加 Web 钩子,它们将会在您拥有的<strong>所有仓库</strong>上触发
orgs_none=您现在还不是任何组织的成员。
repos_none=你并不拥有任何仓库。
@ -1217,7 +1218,7 @@ migrate.migrating=正在从 <b>%s</b> 迁移...
migrate.migrating_failed=从 <b>%s</b> 迁移失败。
migrate.migrating_failed.error=迁移失败:%s
migrate.migrating_failed_no_addr=迁移失败。
migrate.github.description=从 github.com 或其他 GitHub 实例迁移数据
migrate.github.description=从 github.com 或 GitHub Enterprise 服务器迁移数据
migrate.git.description=从任意 Git 服务迁移仓库。
migrate.gitlab.description=从 gitlab.com 或其他 GitLab 实例迁移数据
migrate.gitea.description=从 gitea.com 或其他 Gitea/Forgejo 实例迁移数据
@ -1320,7 +1321,7 @@ commit_graph.color=彩色
commit.contained_in=这个提交包含在:
commit.contained_in_default_branch=此提交是默认分支的一部分
commit.load_referencing_branches_and_tags=加载引用该提交的分支和标签
blame=Blame
blame=责任归属
download_file=下载文件
normal_view=普通视图
line=
@ -1341,7 +1342,7 @@ editor.fork_before_edit=您必须在派生这个仓库才能对此文件进行
editor.delete_this_file=删除文件
editor.must_have_write_access=您必须具有写权限才能对此文件进行修改操作。
editor.file_delete_success=文件 %s 已被删除。
editor.name_your_file=命名文件...
editor.name_your_file=命名文件
editor.filename_help=通过键入名称后跟半角斜杠(“/”)来添加目录。在输入框的开头退格来删除目录。
editor.or=
editor.cancel_lower=取消
@ -1355,14 +1356,14 @@ editor.patch=应用补丁
editor.patching=打补丁:
editor.fail_to_apply_patch=无法应用补丁 %s
editor.new_patch=新补丁
editor.commit_message_desc=添加一个可选的扩展描述...
editor.commit_message_desc=添加一个可选的扩展描述
editor.signoff_desc=在提交日志消息末尾添加签署人信息。
editor.commit_directly_to_this_branch=直接提交至 <strong class="branch-name">%s</strong> 分支。
editor.create_new_branch=为此提交创建一个 <strong>新的分支</strong> 并发起合并请求。
editor.create_new_branch_np=为此提交创建 <strong>新分支</strong>。
editor.propose_file_change=提议文件更改
editor.new_branch_name=为这次提交的新分支命名
editor.new_branch_name_desc=新的分支名称...
editor.new_branch_name_desc=新的分支名称
editor.cancel=取消
editor.filename_cannot_be_empty=文件名不能为空。
editor.filename_is_invalid=文件名 %s 无效
@ -1383,7 +1384,7 @@ editor.fail_to_update_file_summary=错误信息:
editor.push_rejected_no_message=此修改被服务器拒绝并且没有反馈消息。请检查 Git Hook。
editor.push_rejected=此修改被服务器拒绝。请检查 Git Hook。
editor.push_rejected_summary=详细拒绝信息:
editor.add_subdir=添加目录
editor.add_subdir=添加目录
editor.unable_to_upload_files=上传文件至 %s 时发生错误:%v
editor.upload_file_is_locked=文件 %s 被 %s 锁定。
editor.upload_files_to_dir=上传文件至 %s
@ -1407,7 +1408,7 @@ commits.message=备注
commits.date=提交日期
commits.older=更旧的提交
commits.newer=更新的提交
commits.signed_by=签署人:
commits.signed_by=签署人
commits.signed_by_untrusted_user=由未授信的用户签名
commits.signed_by_untrusted_user_unmatched=由与提交者不匹配的未授信的用户签名
commits.gpg_key_id=GPG 密钥 ID
@ -1418,8 +1419,8 @@ commit.operations=操作
commit.revert=还原
commit.revert-header=还原: %s
commit.revert-content=选择要还原的分支:
commit.cherry-pick=Cherry-pick
commit.cherry-pick-header=Cherry-pick: %s
commit.cherry-pick=拣选
commit.cherry-pick-header=Cherry-pick%s
commit.cherry-pick-content=选择 cherry-pick 的目标分支:
commitstatus.error=错误
@ -1427,7 +1428,7 @@ commitstatus.failure=失败
commitstatus.pending=待定
commitstatus.success=成功
ext_issues=访问外部工单
ext_issues=外部工单
ext_issues.desc=链接到外部工单跟踪系统。
projects=项目
@ -1592,7 +1593,7 @@ issues.opened_by_fake=由 %[2]s 于 %[1]s 打开
issues.closed_by_fake=由 %[2]s 创建,被关闭于 %[1]s
issues.previous=上一页
issues.next=下一页
issues.open_title=开启
issues.open_title=开启
issues.closed_title=已关闭
issues.draft_title=草稿
issues.num_comments_1=%d 评论
@ -1608,15 +1609,15 @@ issues.no_content=没有提供说明。
issues.close=关闭工单
issues.comment_pull_merged_at=已合并提交 %[1]s 到 %[2]s %[3]s
issues.comment_manually_pull_merged_at=手动合并提交 %[1]s 到 %[2]s %[3]s
issues.close_comment_issue=评论并关闭
issues.close_comment_issue=关闭评论
issues.reopen_issue=重新开启
issues.reopen_comment_issue=评论并重新开启
issues.reopen_comment_issue=重新打开评论
issues.create_comment=评论
issues.closed_at=`于 <a id="%[1]s" href="#%[1]s">%[2]s</a> 关闭此工单`
issues.reopened_at=`重新打开此问题 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`于 <a id="%[1]s" href="#%[1]s">%[2]s</a> 在代码提交中引用了该工单`
issues.ref_issue_from=` <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">引用了工单 %[4]s</a> `
issues.ref_pull_from=` <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">引用了合并请求 %[4]s</a> `
issues.ref_issue_from=`<a href="%[3]s">引用了工单 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">引用了合并请求 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`于 <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">引用了合并请求 %[4]s 将关闭此工单</a>`
issues.ref_reopening_from=`于 <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s"> 引用了合并请求 %[4]s 将重新讨论此工单</a> `
issues.ref_closed_from=`<a href="%[3]s">关闭了这个工单 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
@ -1683,7 +1684,7 @@ issues.lock_with_reason=于 %[2]s 以 <strong>%[1]s</strong> 锁定本工单,
issues.lock_no_reason=于 %s 锁定本议题并限制仅协作者可发言
issues.unlock_comment=于 %s 解锁此议题
issues.lock_confirm=锁定
issues.unlock_confirm=解锁
issues.unlock_confirm=解锁
issues.lock.notice_1=- 其他用户不能评论此工单。
issues.lock.notice_2=- 您和仓库其他协作者仍可评论并可见。
issues.lock.notice_3=- 您可以在未来再次解锁这个工单。
@ -1742,7 +1743,7 @@ issues.dependency.pr_no_dependencies=没有设置依赖项。
issues.dependency.no_permission_1=您没有读取 %d 依赖关系的权限
issues.dependency.no_permission_n=您没有读取 %d 依赖关系的权限
issues.dependency.no_permission.can_remove=您没有读取此依赖关系的权限,但可以删除此依赖关系
issues.dependency.add=添加依赖工单...
issues.dependency.add=添加依赖工单
issues.dependency.cancel=取消
issues.dependency.remove=删除
issues.dependency.remove_info=删除此依赖项
@ -1951,7 +1952,7 @@ pulls.auto_merge_canceled_schedule_comment=`已取消当所有检查成功后自
pulls.delete.title=删除此拉取请求?
pulls.delete.text=你真的要删除这个拉取请求吗? (这将永久删除所有内容。如果你打算将内容存档,请考虑关闭它)
pulls.recently_pushed_new_branches=您已于%[2]s推送了分支 <strong>%[1]s</strong>
pulls.recently_pushed_new_branches=您已于%[2]s推送了分支 <a href="%[3]s"><strong>%[1]s</strong></a>
pull.deleted_branch=(已删除): %s
@ -1959,10 +1960,10 @@ milestones.new=新的里程碑
milestones.closed=于 %s关闭
milestones.update_ago=已更新 %s
milestones.no_due_date=暂无截止日期
milestones.open=开启
milestones.open=开启
milestones.close=关闭
milestones.new_subheader=里程碑可以帮助您组织工单并跟踪其进度。
milestones.completeness=%d%% 完成
milestones.completeness=<strong>%d%%</strong> 已完成
milestones.create=创建里程碑
milestones.title=标题
milestones.desc=描述
@ -1999,7 +2000,7 @@ signing.wont_sign.commitssigned=合并将不会被签名,因为所有相关的
signing.wont_sign.approved=合并将不会被签名,因为合并请求未被批准。
signing.wont_sign.not_signed_in=您还没有登录。
ext_wiki=访问外部百科
ext_wiki=外部百科
ext_wiki.desc=链接到外部 wiki。
wiki=百科
@ -2330,7 +2331,7 @@ settings.event_repository_desc=创建或删除仓库
settings.event_header_issue=工单事件
settings.event_issues=工单
settings.event_issues_desc=工单已打开、已关闭、已重新打开或已编辑。
settings.event_issue_assign=工单已分配
settings.event_issue_assign=工单已指派
settings.event_issue_assign_desc=工单已被指派或取消指派。
settings.event_issue_label=工单已分类
settings.event_issue_label_desc=工单标签被更新或清除。
@ -2454,10 +2455,10 @@ settings.ignore_stale_approvals_desc=对旧提交(过期审核)的批准将
settings.require_signed_commits=需要签名提交
settings.require_signed_commits_desc=拒绝推送未签名或无法验证的提交到分支
settings.protect_branch_name_pattern=受保护的分支名称正则
settings.protect_branch_name_pattern_desc=分支保护的名称匹配规则。语法请参阅 <a href="github.com/gobwas/glob">文档</a> 。如main, release/**
settings.protect_branch_name_pattern_desc=分支保护的名称匹配规则。语法请参阅<a href="%s">文档</a> 。如main, release/**
settings.protect_patterns=规则
settings.protect_protected_file_patterns=受保护的文件模式(使用半角分号“;”分隔)
settings.protect_protected_file_patterns_desc=即使用户有权添加、编辑或删除此分支中的文件,也不允许直接更改受保护的文件。 可以使用半角分号(“;”)分隔多个模式。 见<a href='%s'>github.com/gobwas/glob</a>文档了解模式语法。例如: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>。
settings.protect_protected_file_patterns_desc=即使用户有权添加、编辑或删除此分支中的文件,也不允许直接更改受保护的文件。 可以使用半角分号(“;”)分隔多个模式。 见<a href='%s'>%s</a>文档了解模式语法。例如: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>。
settings.protect_unprotected_file_patterns=不受保护的文件模式(使用半角分号“;”分隔)
settings.protect_unprotected_file_patterns_desc=在用户有写权限的情况下允许绕过限制,直接修改设为不保护的文件。如有多个匹配模式,则可用半角分号(“;”)分隔开。见 <a href="%[1]s">%[2]s</a> 的文档以了解匹配模式的格式。例子: <code>.drone.yml</code>、<code>/docs/**/*.txt</code>。
settings.add_protected_branch=启用保护
@ -2476,7 +2477,7 @@ settings.block_outdated_branch_desc=当头部分支落后基础分支时,不
settings.default_branch_desc=请选择一个默认的分支用于合并请求和提交:
settings.merge_style_desc=合并方式
settings.default_merge_style_desc=默认合并方式
settings.choose_branch=选择一个分支...
settings.choose_branch=选择一个分支
settings.no_protected_branch=没有受保护的分支
settings.edit_protected_branch=编辑
settings.protected_branch_required_rule_name=必须填写规则名称
@ -2562,7 +2563,7 @@ diff.whitespace_ignore_all_whitespace=比较行时忽略空白符号
diff.whitespace_ignore_amount_changes=忽略空白符号数量的变化
diff.whitespace_ignore_at_eol=忽略行末空白符号的更改
diff.stats_desc=共有 <strong> %d 个文件被更改</strong>,包括 <strong>%d 次插入</strong> 和 <strong>%d 次删除</strong>
diff.stats_desc_file=更 %d 行:新增 %d 行,删除 %d 行
diff.stats_desc_file= %d 行:新增 %d 行,删除 %d 行
diff.bin=二进制
diff.bin_not_shown=二进制文件未显示。
diff.view_file=查看文件
@ -2807,7 +2808,7 @@ pulls.edit.already_changed = 无法保存对合并请求的更改。内容似乎
comments.edit.already_changed = 无法保存对评论的更改。内容似乎已经被另一个用户修改了,为了防止修改被覆盖,请刷新页面后再次尝试编辑
subscribe.issue.guest.tooltip = 登录以订阅工单。
subscribe.pull.guest.tooltip = 登录以订阅此拉取请求。
settings.federation_following_repos = 关注仓库的 URL。以“;”分隔,无空格。
settings.federation_following_repos = 关注的仓库URL地址多个地址以 “;” 分隔,不需要前后空格。
settings.federation_settings = 邦联设置
settings.federation_apapiurl = 此仓库的邦联URL地址。将其作为关注的仓库URL地址填写到另一个仓库的邦联设置中。
settings.federation_not_enabled = 当前实例未启用邦联功能。
@ -2836,6 +2837,9 @@ mirror_use_ssh.helper = 选择此选项后Forgejo 将通过 SSH 以 Git 方
settings.mirror_settings.push_mirror.copy_public_key = 复制公钥
settings.mirror_settings.push_mirror.none_ssh =
mirror_use_ssh.not_available = SSH 验证不可用。
issues.new.assign_to_me = 指派给我
issues.all_title = 全部
settings.discord_icon_url.exceeds_max_length = 图标 URL 必须小于或等于 2048 个字符
[graphs]
component_loading=正在加载 %s...
@ -2946,7 +2950,7 @@ teams.delete_team_title=删除团队
teams.delete_team_desc=删除一个团队将删除团队成员的访问权限,继续?
teams.delete_team_success=该团队已被删除。
teams.read_permission_desc=该团队拥有对所属仓库的 <strong>读取</strong> 权限,团队成员可以进行查看和克隆等只读操作。
teams.write_permission_desc=该团队拥有对所属仓库的 <strong>读取</strong> 和 <strong>写入</strong>权限。
teams.write_permission_desc=该团队拥有对所属仓库的<strong>写入</strong>权限:成员可以查看和推送至团队仓库
teams.admin_permission_desc=此团队授予<strong>管理员</strong>访问权限:成员可从团队仓库中读取、推送和添加协作者。
teams.create_repo_permission_desc=此外,该团队拥有了 <strong>创建仓库</strong> 的权限:成员可以在组织中创建新的仓库。
teams.repositories=团队仓库
@ -3253,7 +3257,7 @@ auths.openIdConnectAutoDiscoveryURL=OpenID 连接自动发现 URL
auths.oauth2_use_custom_url=使用自定义的 URL 而不是默认的 URL
auths.oauth2_tokenURL=令牌 URL
auths.oauth2_authURL=授权 URL
auths.oauth2_profileURL=Profile URL
auths.oauth2_profileURL=个人信息 URL
auths.oauth2_emailURL=电子邮件 URL
auths.skip_local_two_fa=跳过本地两步验证
auths.skip_local_two_fa_helper=不设置意味着设置了两步验证的本地用户仍然需要通过两步验证才能登录
@ -3274,7 +3278,7 @@ auths.sspi_auto_create_users_helper=允许 SSPI 认证在用户第一次登录
auths.sspi_auto_activate_users=自动激活用户
auths.sspi_auto_activate_users_helper=允许 SSPI 认证自动激活新用户
auths.sspi_strip_domain_names=从用户名中删除域名部分
auths.sspi_strip_domain_names_helper=如果选中此项,域名将从登录名中删除(例如,"DOMAIN\user"和"user@example.org",两者都将变成只是“用户”)。
auths.sspi_strip_domain_names_helper=如果选中此项,域名将从登录名中删除(例如,"DOMAIN\user"和"user@example.org",两者都将变成只是 "user")。
auths.sspi_separator_replacement=要使用的分隔符代替\, / 和 @
auths.sspi_separator_replacement_helper=用于替换下级登录名称分隔符的字符 (例如 "DOMAIN\user") 中的 \ 和用户主名字(如"user@example.org"中的 @)。
auths.sspi_default_language=默认语言
@ -3602,7 +3606,7 @@ notifications=通知
unread=未读消息
read=已读消息
no_unread=没有未读通知。
no_read=没有读通知。
no_read=没有读通知。
pin=Pin 通知
mark_as_read=标记为已读
mark_as_unread=标记为未读
@ -3682,7 +3686,7 @@ container.details.type=镜像类型
container.details.platform=平台
container.pull=从命令行拉取镜像:
container.digest=摘要:
container.multi_arch=OS / Arch
container.multi_arch=操作系统 / 架构
container.layers=镜像层
container.labels=标签
container.labels.key=
@ -3782,7 +3786,7 @@ rpm.repository = 仓库信息
rpm.repository.architectures = 架构
rpm.repository.multiple_groups = 该软件包可在多个组中使用。
owner.settings.cargo.rebuild.no_index = 无法重建,未初始化任何索引。
npm.dependencies.bundle = 捆绑依赖项
npm.dependencies.bundle = 捆绑依赖项
arch.pacman.helper.gpg = 为 pacman 添加信任证书:
arch.pacman.repo.multi = %s 在不同的发行版中有相同的版本。
arch.pacman.repo.multi.item = %s 的配置
@ -3818,7 +3822,7 @@ management=密钥管理
[actions]
actions=Actions
unit.desc=使用 Forgejo Actions 管理集成的 CI/CD 管道
unit.desc=使用 Forgejo Actions 管理集成的 CI/CD 管道
status.unknown=未知
status.waiting=等待中
@ -3958,11 +3962,13 @@ match_tooltip = 仅包含与搜索词完全匹配的结果
fuzzy_tooltip = 在搜索结果中包含与搜索词相近的项目
exact = 精确
issue_kind = 搜索工单...
pull_kind = 搜索拉取...
exact_tooltip = 仅包含与精确搜索词匹配的结果
pull_kind = 搜索合并请求...
exact_tooltip = 仅包含与搜索词精确匹配的结果
milestone_kind = 搜索里程碑…
union_tooltip = 包括与任何空格分隔的关键字匹配的结果
union = 关键字
regexp = 正则表达式
regexp_tooltip = 将搜索内容解释为正则表达式
[munits.data]
@ -3980,4 +3986,24 @@ filepreview.lines = %[3]s 中的第 %[1]d 到 %[2]d 行
filepreview.truncated = 预览已被截断
[translation_meta]
test = 好的
test = 好的
[repo.permissions]
code.write = <b>写入:</b>推送到仓库,创建分支和标签。
code.read = <b>读取:</b>访问并克隆仓库的代码。
actions.read = <b>读取:</b>查看集成的 CI/CD 管道及其日志。
issues.write = <b>写入:</b>关闭工单并管理元数据,如标签、里程碑、指派成员、截止日期和依赖。
releases.write = <b>写入:</b>发布、编辑和删除版本发布及其资产。
issues.read = <b>读取:</b>阅读并创建工单和评论。
pulls.read = <b>读取:</b>阅读并创建合并请求。
releases.read = <b>读取:</b>查看并下载版本发布。
wiki.read = <b>读取:</b>阅读集成的百科及其历史。
wiki.write = <b>写入:</b>在集成的百科中创建、更新和删除页面。
projects.read = <b>读取:</b>访问仓库项目看板。
packages.read = <b>读取:</b>查看并下载指派给仓库的软件包。
packages.write = <b>写入:</b>发布并删除指派给仓库的软件包。
actions.write = <b>写入:</b>手动触发、重启、取消或批准待处理的 CI/CD 管道。
ext_issues = 访问外部工单系统的链接。权限由外部管理。
ext_wiki = 访问外部百科的链接。权限由外部管理。
projects.write = <b>写入:</b>创建项目和列并进行编辑。
pulls.write = <b>写入:</b>关闭合并请求并管理元数据,如标签、里程碑、指派成员、截止日期和依赖。

View file

@ -2288,7 +2288,7 @@ settings.require_signed_commits=僅接受經簽署的提交
settings.require_signed_commits_desc=拒絕未經簽署或未經驗證的提交推送到此分支。
settings.protect_branch_name_pattern=受保護的分支名稱式樣
settings.protect_protected_file_patterns=受保護的檔案式樣 (以分號區隔「;」)
settings.protect_protected_file_patterns_desc=即便使用者有權限新增、修改、刪除此分支的檔案,仍不允許直接修改受保護的檔案。可以用半形分號「;」分隔多個式樣。請於 <a href='%s'>github.com/gobwas/glob</a> 文件查看模式格式。範例: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>。
settings.protect_protected_file_patterns_desc=即便使用者有權限新增、修改、刪除此分支的檔案,仍不允許直接修改受保護的檔案。可以用半形分號「;」分隔多個式樣。請於 <a href='%s'>%s</a> 文件查看模式格式。範例: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>。
settings.protect_unprotected_file_patterns=未受保護的檔案模式 (以分號區隔「;」):
settings.protect_unprotected_file_patterns_desc=當使用者有寫入權限時,可繞過推送限制,直接修改未受保護的檔案。可以用半形分號「;」分隔多個模式。請於 <a href='%[1]s'>%[2]s</a> 文件查看模式格式。範例: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>。
settings.add_protected_branch=啟用保護

2645
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -4,12 +4,12 @@
"node": ">= 18.0.0"
},
"dependencies": {
"@citation-js/core": "0.7.11",
"@citation-js/plugin-bibtex": "0.7.11",
"@citation-js/core": "0.7.14",
"@citation-js/plugin-bibtex": "0.7.16",
"@citation-js/plugin-software-formats": "0.6.1",
"@github/markdown-toolbar-element": "2.2.3",
"@github/relative-time-element": "4.4.3",
"@github/text-expander-element": "2.7.1",
"@github/text-expander-element": "2.7.2",
"@mcaptcha/vanilla-glue": "0.1.0-alpha-3",
"@primer/octicons": "19.9.0",
"ansi_up": "6.0.2",
@ -29,19 +29,19 @@
"idiomorph": "0.3.0",
"jquery": "3.7.1",
"katex": "0.16.11",
"mermaid": "11.2.0",
"mermaid": "11.3.0",
"mini-css-extract-plugin": "2.9.1",
"minimatch": "10.0.1",
"monaco-editor": "0.50.0",
"monaco-editor": "0.51.0",
"monaco-editor-webpack-plugin": "7.1.0",
"pdfobject": "2.3.0",
"postcss": "8.4.45",
"postcss": "8.4.47",
"postcss-loader": "8.1.1",
"postcss-nesting": "12.1.5",
"pretty-ms": "9.0.0",
"sortablejs": "1.15.3",
"swagger-ui-dist": "5.17.14",
"tailwindcss": "3.4.11",
"tailwindcss": "3.4.13",
"temporal-polyfill": "0.2.4",
"throttle-debounce": "5.0.0",
"tinycolor2": "1.6.0",
@ -50,25 +50,26 @@
"tributejs": "5.1.3",
"uint8-to-base64": "0.2.0",
"vanilla-colorful": "0.7.2",
"vue": "3.5.4",
"vue": "3.5.11",
"vue-chartjs": "5.3.1",
"vue-loader": "17.4.2",
"vue3-calendar-heatmap": "2.0.5",
"webpack": "5.94.0",
"webpack": "5.95.0",
"webpack-cli": "5.1.4",
"wrap-ansi": "9.0.0"
},
"devDependencies": {
"@axe-core/playwright": "4.10.0",
"@eslint-community/eslint-plugin-eslint-comments": "4.4.0",
"@playwright/test": "1.47.1",
"@stoplight/spectral-cli": "6.11.1",
"@stylistic/eslint-plugin-js": "2.8.0",
"@stylistic/stylelint-plugin": "3.0.1",
"@vitejs/plugin-vue": "5.1.3",
"@vitest/coverage-v8": "2.1.1",
"@playwright/test": "1.48.0",
"@stoplight/spectral-cli": "6.13.1",
"@stylistic/eslint-plugin-js": "2.9.0",
"@stylistic/stylelint-plugin": "3.1.1",
"@vitejs/plugin-vue": "5.1.4",
"@vitest/coverage-v8": "2.1.2",
"@vitest/eslint-plugin": "1.1.7",
"@vue/test-utils": "2.4.6",
"eslint": "8.57.0",
"eslint": "8.57.1",
"eslint-plugin-array-func": "4.0.0",
"eslint-plugin-github": "5.0.2",
"eslint-plugin-i": "2.29.1",
@ -76,16 +77,15 @@
"eslint-plugin-no-use-extend-native": "0.5.0",
"eslint-plugin-playwright": "1.6.2",
"eslint-plugin-regexp": "2.6.0",
"eslint-plugin-sonarjs": "2.0.2",
"eslint-plugin-sonarjs": "2.0.3",
"eslint-plugin-unicorn": "55.0.0",
"eslint-plugin-vitest": "0.5.4",
"eslint-plugin-vitest-globals": "1.5.0",
"eslint-plugin-vue": "9.28.0",
"eslint-plugin-vue-scoped-css": "2.8.1",
"eslint-plugin-wc": "2.1.1",
"eslint-plugin-wc": "2.2.0",
"happy-dom": "15.7.4",
"license-checker-rseidelsohn": "4.4.2",
"markdownlint-cli": "0.41.0",
"markdownlint-cli": "0.42.0",
"postcss-html": "1.7.0",
"stylelint": "16.9.0",
"stylelint-declaration-block-no-ignored-properties": "2.8.0",
@ -93,7 +93,7 @@
"stylelint-value-no-unknown-custom-properties": "6.0.1",
"svgo": "3.2.0",
"vite-string-plugin": "1.3.4",
"vitest": "2.1.1"
"vitest": "2.1.2"
},
"browserslist": ["defaults"]
}

191
poetry.lock generated
View file

@ -214,104 +214,105 @@ files = [
[[package]]
name = "regex"
version = "2023.12.25"
version = "2024.9.11"
description = "Alternative regular expression module, to replace re."
optional = false
python-versions = ">=3.7"
python-versions = ">=3.8"
files = [
{file = "regex-2023.12.25-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0694219a1d54336fd0445ea382d49d36882415c0134ee1e8332afd1529f0baa5"},
{file = "regex-2023.12.25-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b014333bd0217ad3d54c143de9d4b9a3ca1c5a29a6d0d554952ea071cff0f1f8"},
{file = "regex-2023.12.25-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d865984b3f71f6d0af64d0d88f5733521698f6c16f445bb09ce746c92c97c586"},
{file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e0eabac536b4cc7f57a5f3d095bfa557860ab912f25965e08fe1545e2ed8b4c"},
{file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c25a8ad70e716f96e13a637802813f65d8a6760ef48672aa3502f4c24ea8b400"},
{file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9b6d73353f777630626f403b0652055ebfe8ff142a44ec2cf18ae470395766e"},
{file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9cc99d6946d750eb75827cb53c4371b8b0fe89c733a94b1573c9dd16ea6c9e4"},
{file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88d1f7bef20c721359d8675f7d9f8e414ec5003d8f642fdfd8087777ff7f94b5"},
{file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cb3fe77aec8f1995611f966d0c656fdce398317f850d0e6e7aebdfe61f40e1cd"},
{file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7aa47c2e9ea33a4a2a05f40fcd3ea36d73853a2aae7b4feab6fc85f8bf2c9704"},
{file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:df26481f0c7a3f8739fecb3e81bc9da3fcfae34d6c094563b9d4670b047312e1"},
{file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c40281f7d70baf6e0db0c2f7472b31609f5bc2748fe7275ea65a0b4601d9b392"},
{file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:d94a1db462d5690ebf6ae86d11c5e420042b9898af5dcf278bd97d6bda065423"},
{file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ba1b30765a55acf15dce3f364e4928b80858fa8f979ad41f862358939bdd1f2f"},
{file = "regex-2023.12.25-cp310-cp310-win32.whl", hash = "sha256:150c39f5b964e4d7dba46a7962a088fbc91f06e606f023ce57bb347a3b2d4630"},
{file = "regex-2023.12.25-cp310-cp310-win_amd64.whl", hash = "sha256:09da66917262d9481c719599116c7dc0c321ffcec4b1f510c4f8a066f8768105"},
{file = "regex-2023.12.25-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1b9d811f72210fa9306aeb88385b8f8bcef0dfbf3873410413c00aa94c56c2b6"},
{file = "regex-2023.12.25-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d902a43085a308cef32c0d3aea962524b725403fd9373dea18110904003bac97"},
{file = "regex-2023.12.25-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d166eafc19f4718df38887b2bbe1467a4f74a9830e8605089ea7a30dd4da8887"},
{file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7ad32824b7f02bb3c9f80306d405a1d9b7bb89362d68b3c5a9be53836caebdb"},
{file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:636ba0a77de609d6510235b7f0e77ec494d2657108f777e8765efc060094c98c"},
{file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fda75704357805eb953a3ee15a2b240694a9a514548cd49b3c5124b4e2ad01b"},
{file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f72cbae7f6b01591f90814250e636065850c5926751af02bb48da94dfced7baa"},
{file = "regex-2023.12.25-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db2a0b1857f18b11e3b0e54ddfefc96af46b0896fb678c85f63fb8c37518b3e7"},
{file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7502534e55c7c36c0978c91ba6f61703faf7ce733715ca48f499d3dbbd7657e0"},
{file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e8c7e08bb566de4faaf11984af13f6bcf6a08f327b13631d41d62592681d24fe"},
{file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:283fc8eed679758de38fe493b7d7d84a198b558942b03f017b1f94dda8efae80"},
{file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f44dd4d68697559d007462b0a3a1d9acd61d97072b71f6d1968daef26bc744bd"},
{file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:67d3ccfc590e5e7197750fcb3a2915b416a53e2de847a728cfa60141054123d4"},
{file = "regex-2023.12.25-cp311-cp311-win32.whl", hash = "sha256:68191f80a9bad283432385961d9efe09d783bcd36ed35a60fb1ff3f1ec2efe87"},
{file = "regex-2023.12.25-cp311-cp311-win_amd64.whl", hash = "sha256:7d2af3f6b8419661a0c421584cfe8aaec1c0e435ce7e47ee2a97e344b98f794f"},
{file = "regex-2023.12.25-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8a0ccf52bb37d1a700375a6b395bff5dd15c50acb745f7db30415bae3c2b0715"},
{file = "regex-2023.12.25-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c3c4a78615b7762740531c27cf46e2f388d8d727d0c0c739e72048beb26c8a9d"},
{file = "regex-2023.12.25-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ad83e7545b4ab69216cef4cc47e344d19622e28aabec61574b20257c65466d6a"},
{file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7a635871143661feccce3979e1727c4e094f2bdfd3ec4b90dfd4f16f571a87a"},
{file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d498eea3f581fbe1b34b59c697512a8baef88212f92e4c7830fcc1499f5b45a5"},
{file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:43f7cd5754d02a56ae4ebb91b33461dc67be8e3e0153f593c509e21d219c5060"},
{file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51f4b32f793812714fd5307222a7f77e739b9bc566dc94a18126aba3b92b98a3"},
{file = "regex-2023.12.25-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba99d8077424501b9616b43a2d208095746fb1284fc5ba490139651f971d39d9"},
{file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4bfc2b16e3ba8850e0e262467275dd4d62f0d045e0e9eda2bc65078c0110a11f"},
{file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8c2c19dae8a3eb0ea45a8448356ed561be843b13cbc34b840922ddf565498c1c"},
{file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:60080bb3d8617d96f0fb7e19796384cc2467447ef1c491694850ebd3670bc457"},
{file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b77e27b79448e34c2c51c09836033056a0547aa360c45eeeb67803da7b0eedaf"},
{file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:518440c991f514331f4850a63560321f833979d145d7d81186dbe2f19e27ae3d"},
{file = "regex-2023.12.25-cp312-cp312-win32.whl", hash = "sha256:e2610e9406d3b0073636a3a2e80db05a02f0c3169b5632022b4e81c0364bcda5"},
{file = "regex-2023.12.25-cp312-cp312-win_amd64.whl", hash = "sha256:cc37b9aeebab425f11f27e5e9e6cf580be7206c6582a64467a14dda211abc232"},
{file = "regex-2023.12.25-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:da695d75ac97cb1cd725adac136d25ca687da4536154cdc2815f576e4da11c69"},
{file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d126361607b33c4eb7b36debc173bf25d7805847346dd4d99b5499e1fef52bc7"},
{file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4719bb05094d7d8563a450cf8738d2e1061420f79cfcc1fa7f0a44744c4d8f73"},
{file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5dd58946bce44b53b06d94aa95560d0b243eb2fe64227cba50017a8d8b3cd3e2"},
{file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22a86d9fff2009302c440b9d799ef2fe322416d2d58fc124b926aa89365ec482"},
{file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2aae8101919e8aa05ecfe6322b278f41ce2994c4a430303c4cd163fef746e04f"},
{file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e692296c4cc2873967771345a876bcfc1c547e8dd695c6b89342488b0ea55cd8"},
{file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:263ef5cc10979837f243950637fffb06e8daed7f1ac1e39d5910fd29929e489a"},
{file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d6f7e255e5fa94642a0724e35406e6cb7001c09d476ab5fce002f652b36d0c39"},
{file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:88ad44e220e22b63b0f8f81f007e8abbb92874d8ced66f32571ef8beb0643b2b"},
{file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:3a17d3ede18f9cedcbe23d2daa8a2cd6f59fe2bf082c567e43083bba3fb00347"},
{file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d15b274f9e15b1a0b7a45d2ac86d1f634d983ca40d6b886721626c47a400bf39"},
{file = "regex-2023.12.25-cp37-cp37m-win32.whl", hash = "sha256:ed19b3a05ae0c97dd8f75a5d8f21f7723a8c33bbc555da6bbe1f96c470139d3c"},
{file = "regex-2023.12.25-cp37-cp37m-win_amd64.whl", hash = "sha256:a6d1047952c0b8104a1d371f88f4ab62e6275567d4458c1e26e9627ad489b445"},
{file = "regex-2023.12.25-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b43523d7bc2abd757119dbfb38af91b5735eea45537ec6ec3a5ec3f9562a1c53"},
{file = "regex-2023.12.25-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:efb2d82f33b2212898f1659fb1c2e9ac30493ac41e4d53123da374c3b5541e64"},
{file = "regex-2023.12.25-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7fca9205b59c1a3d5031f7e64ed627a1074730a51c2a80e97653e3e9fa0d415"},
{file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086dd15e9435b393ae06f96ab69ab2d333f5d65cbe65ca5a3ef0ec9564dfe770"},
{file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e81469f7d01efed9b53740aedd26085f20d49da65f9c1f41e822a33992cb1590"},
{file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:34e4af5b27232f68042aa40a91c3b9bb4da0eeb31b7632e0091afc4310afe6cb"},
{file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9852b76ab558e45b20bf1893b59af64a28bd3820b0c2efc80e0a70a4a3ea51c1"},
{file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff100b203092af77d1a5a7abe085b3506b7eaaf9abf65b73b7d6905b6cb76988"},
{file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cc038b2d8b1470364b1888a98fd22d616fba2b6309c5b5f181ad4483e0017861"},
{file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:094ba386bb5c01e54e14434d4caabf6583334090865b23ef58e0424a6286d3dc"},
{file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5cd05d0f57846d8ba4b71d9c00f6f37d6b97d5e5ef8b3c3840426a475c8f70f4"},
{file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:9aa1a67bbf0f957bbe096375887b2505f5d8ae16bf04488e8b0f334c36e31360"},
{file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:98a2636994f943b871786c9e82bfe7883ecdaba2ef5df54e1450fa9869d1f756"},
{file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:37f8e93a81fc5e5bd8db7e10e62dc64261bcd88f8d7e6640aaebe9bc180d9ce2"},
{file = "regex-2023.12.25-cp38-cp38-win32.whl", hash = "sha256:d78bd484930c1da2b9679290a41cdb25cc127d783768a0369d6b449e72f88beb"},
{file = "regex-2023.12.25-cp38-cp38-win_amd64.whl", hash = "sha256:b521dcecebc5b978b447f0f69b5b7f3840eac454862270406a39837ffae4e697"},
{file = "regex-2023.12.25-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f7bc09bc9c29ebead055bcba136a67378f03d66bf359e87d0f7c759d6d4ffa31"},
{file = "regex-2023.12.25-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e14b73607d6231f3cc4622809c196b540a6a44e903bcfad940779c80dffa7be7"},
{file = "regex-2023.12.25-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9eda5f7a50141291beda3edd00abc2d4a5b16c29c92daf8d5bd76934150f3edc"},
{file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc6bb9aa69aacf0f6032c307da718f61a40cf970849e471254e0e91c56ffca95"},
{file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:298dc6354d414bc921581be85695d18912bea163a8b23cac9a2562bbcd5088b1"},
{file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f4e475a80ecbd15896a976aa0b386c5525d0ed34d5c600b6d3ebac0a67c7ddf"},
{file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:531ac6cf22b53e0696f8e1d56ce2396311254eb806111ddd3922c9d937151dae"},
{file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22f3470f7524b6da61e2020672df2f3063676aff444db1daa283c2ea4ed259d6"},
{file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:89723d2112697feaa320c9d351e5f5e7b841e83f8b143dba8e2d2b5f04e10923"},
{file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0ecf44ddf9171cd7566ef1768047f6e66975788258b1c6c6ca78098b95cf9a3d"},
{file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:905466ad1702ed4acfd67a902af50b8db1feeb9781436372261808df7a2a7bca"},
{file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:4558410b7a5607a645e9804a3e9dd509af12fb72b9825b13791a37cd417d73a5"},
{file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:7e316026cc1095f2a3e8cc012822c99f413b702eaa2ca5408a513609488cb62f"},
{file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3b1de218d5375cd6ac4b5493e0b9f3df2be331e86520f23382f216c137913d20"},
{file = "regex-2023.12.25-cp39-cp39-win32.whl", hash = "sha256:11a963f8e25ab5c61348d090bf1b07f1953929c13bd2309a0662e9ff680763c9"},
{file = "regex-2023.12.25-cp39-cp39-win_amd64.whl", hash = "sha256:e693e233ac92ba83a87024e1d32b5f9ab15ca55ddd916d878146f4e3406b5c91"},
{file = "regex-2023.12.25.tar.gz", hash = "sha256:29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5"},
{file = "regex-2024.9.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1494fa8725c285a81d01dc8c06b55287a1ee5e0e382d8413adc0a9197aac6408"},
{file = "regex-2024.9.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0e12c481ad92d129c78f13a2a3662317e46ee7ef96c94fd332e1c29131875b7d"},
{file = "regex-2024.9.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16e13a7929791ac1216afde26f712802e3df7bf0360b32e4914dca3ab8baeea5"},
{file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46989629904bad940bbec2106528140a218b4a36bb3042d8406980be1941429c"},
{file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a906ed5e47a0ce5f04b2c981af1c9acf9e8696066900bf03b9d7879a6f679fc8"},
{file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9a091b0550b3b0207784a7d6d0f1a00d1d1c8a11699c1a4d93db3fbefc3ad35"},
{file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ddcd9a179c0a6fa8add279a4444015acddcd7f232a49071ae57fa6e278f1f71"},
{file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6b41e1adc61fa347662b09398e31ad446afadff932a24807d3ceb955ed865cc8"},
{file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ced479f601cd2f8ca1fd7b23925a7e0ad512a56d6e9476f79b8f381d9d37090a"},
{file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:635a1d96665f84b292e401c3d62775851aedc31d4f8784117b3c68c4fcd4118d"},
{file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c0256beda696edcf7d97ef16b2a33a8e5a875affd6fa6567b54f7c577b30a137"},
{file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:3ce4f1185db3fbde8ed8aa223fc9620f276c58de8b0d4f8cc86fd1360829edb6"},
{file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:09d77559e80dcc9d24570da3745ab859a9cf91953062e4ab126ba9d5993688ca"},
{file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a22ccefd4db3f12b526eccb129390942fe874a3a9fdbdd24cf55773a1faab1a"},
{file = "regex-2024.9.11-cp310-cp310-win32.whl", hash = "sha256:f745ec09bc1b0bd15cfc73df6fa4f726dcc26bb16c23a03f9e3367d357eeedd0"},
{file = "regex-2024.9.11-cp310-cp310-win_amd64.whl", hash = "sha256:01c2acb51f8a7d6494c8c5eafe3d8e06d76563d8a8a4643b37e9b2dd8a2ff623"},
{file = "regex-2024.9.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2cce2449e5927a0bf084d346da6cd5eb016b2beca10d0013ab50e3c226ffc0df"},
{file = "regex-2024.9.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b37fa423beefa44919e009745ccbf353d8c981516e807995b2bd11c2c77d268"},
{file = "regex-2024.9.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:64ce2799bd75039b480cc0360907c4fb2f50022f030bf9e7a8705b636e408fad"},
{file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4cc92bb6db56ab0c1cbd17294e14f5e9224f0cc6521167ef388332604e92679"},
{file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d05ac6fa06959c4172eccd99a222e1fbf17b5670c4d596cb1e5cde99600674c4"},
{file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:040562757795eeea356394a7fb13076ad4f99d3c62ab0f8bdfb21f99a1f85664"},
{file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6113c008a7780792efc80f9dfe10ba0cd043cbf8dc9a76ef757850f51b4edc50"},
{file = "regex-2024.9.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e5fb5f77c8745a60105403a774fe2c1759b71d3e7b4ca237a5e67ad066c7199"},
{file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:54d9ff35d4515debf14bc27f1e3b38bfc453eff3220f5bce159642fa762fe5d4"},
{file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:df5cbb1fbc74a8305b6065d4ade43b993be03dbe0f8b30032cced0d7740994bd"},
{file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7fb89ee5d106e4a7a51bce305ac4efb981536301895f7bdcf93ec92ae0d91c7f"},
{file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a738b937d512b30bf75995c0159c0ddf9eec0775c9d72ac0202076c72f24aa96"},
{file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e28f9faeb14b6f23ac55bfbbfd3643f5c7c18ede093977f1df249f73fd22c7b1"},
{file = "regex-2024.9.11-cp311-cp311-win32.whl", hash = "sha256:18e707ce6c92d7282dfce370cd205098384b8ee21544e7cb29b8aab955b66fa9"},
{file = "regex-2024.9.11-cp311-cp311-win_amd64.whl", hash = "sha256:313ea15e5ff2a8cbbad96ccef6be638393041b0a7863183c2d31e0c6116688cf"},
{file = "regex-2024.9.11-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b0d0a6c64fcc4ef9c69bd5b3b3626cc3776520a1637d8abaa62b9edc147a58f7"},
{file = "regex-2024.9.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:49b0e06786ea663f933f3710a51e9385ce0cba0ea56b67107fd841a55d56a231"},
{file = "regex-2024.9.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5b513b6997a0b2f10e4fd3a1313568e373926e8c252bd76c960f96fd039cd28d"},
{file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee439691d8c23e76f9802c42a95cfeebf9d47cf4ffd06f18489122dbb0a7ad64"},
{file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8f877c89719d759e52783f7fe6e1c67121076b87b40542966c02de5503ace42"},
{file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23b30c62d0f16827f2ae9f2bb87619bc4fba2044911e2e6c2eb1af0161cdb766"},
{file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ab7824093d8f10d44330fe1e6493f756f252d145323dd17ab6b48733ff6c0a"},
{file = "regex-2024.9.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8dee5b4810a89447151999428fe096977346cf2f29f4d5e29609d2e19e0199c9"},
{file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:98eeee2f2e63edae2181c886d7911ce502e1292794f4c5ee71e60e23e8d26b5d"},
{file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:57fdd2e0b2694ce6fc2e5ccf189789c3e2962916fb38779d3e3521ff8fe7a822"},
{file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d552c78411f60b1fdaafd117a1fca2f02e562e309223b9d44b7de8be451ec5e0"},
{file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a0b2b80321c2ed3fcf0385ec9e51a12253c50f146fddb2abbb10f033fe3d049a"},
{file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:18406efb2f5a0e57e3a5881cd9354c1512d3bb4f5c45d96d110a66114d84d23a"},
{file = "regex-2024.9.11-cp312-cp312-win32.whl", hash = "sha256:e464b467f1588e2c42d26814231edecbcfe77f5ac414d92cbf4e7b55b2c2a776"},
{file = "regex-2024.9.11-cp312-cp312-win_amd64.whl", hash = "sha256:9e8719792ca63c6b8340380352c24dcb8cd7ec49dae36e963742a275dfae6009"},
{file = "regex-2024.9.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c157bb447303070f256e084668b702073db99bbb61d44f85d811025fcf38f784"},
{file = "regex-2024.9.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4db21ece84dfeefc5d8a3863f101995de646c6cb0536952c321a2650aa202c36"},
{file = "regex-2024.9.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:220e92a30b426daf23bb67a7962900ed4613589bab80382be09b48896d211e92"},
{file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb1ae19e64c14c7ec1995f40bd932448713d3c73509e82d8cd7744dc00e29e86"},
{file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f47cd43a5bfa48f86925fe26fbdd0a488ff15b62468abb5d2a1e092a4fb10e85"},
{file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9d4a76b96f398697fe01117093613166e6aa8195d63f1b4ec3f21ab637632963"},
{file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ea51dcc0835eea2ea31d66456210a4e01a076d820e9039b04ae8d17ac11dee6"},
{file = "regex-2024.9.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7aaa315101c6567a9a45d2839322c51c8d6e81f67683d529512f5bcfb99c802"},
{file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c57d08ad67aba97af57a7263c2d9006d5c404d721c5f7542f077f109ec2a4a29"},
{file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8404bf61298bb6f8224bb9176c1424548ee1181130818fcd2cbffddc768bed8"},
{file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dd4490a33eb909ef5078ab20f5f000087afa2a4daa27b4c072ccb3cb3050ad84"},
{file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:eee9130eaad130649fd73e5cd92f60e55708952260ede70da64de420cdcad554"},
{file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6a2644a93da36c784e546de579ec1806bfd2763ef47babc1b03d765fe560c9f8"},
{file = "regex-2024.9.11-cp313-cp313-win32.whl", hash = "sha256:e997fd30430c57138adc06bba4c7c2968fb13d101e57dd5bb9355bf8ce3fa7e8"},
{file = "regex-2024.9.11-cp313-cp313-win_amd64.whl", hash = "sha256:042c55879cfeb21a8adacc84ea347721d3d83a159da6acdf1116859e2427c43f"},
{file = "regex-2024.9.11-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:35f4a6f96aa6cb3f2f7247027b07b15a374f0d5b912c0001418d1d55024d5cb4"},
{file = "regex-2024.9.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:55b96e7ce3a69a8449a66984c268062fbaa0d8ae437b285428e12797baefce7e"},
{file = "regex-2024.9.11-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb130fccd1a37ed894824b8c046321540263013da72745d755f2d35114b81a60"},
{file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:323c1f04be6b2968944d730e5c2091c8c89767903ecaa135203eec4565ed2b2b"},
{file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be1c8ed48c4c4065ecb19d882a0ce1afe0745dfad8ce48c49586b90a55f02366"},
{file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b5b029322e6e7b94fff16cd120ab35a253236a5f99a79fb04fda7ae71ca20ae8"},
{file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6fff13ef6b5f29221d6904aa816c34701462956aa72a77f1f151a8ec4f56aeb"},
{file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:587d4af3979376652010e400accc30404e6c16b7df574048ab1f581af82065e4"},
{file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:079400a8269544b955ffa9e31f186f01d96829110a3bf79dc338e9910f794fca"},
{file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f9268774428ec173654985ce55fc6caf4c6d11ade0f6f914d48ef4719eb05ebb"},
{file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:23f9985c8784e544d53fc2930fc1ac1a7319f5d5332d228437acc9f418f2f168"},
{file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:ae2941333154baff9838e88aa71c1d84f4438189ecc6021a12c7573728b5838e"},
{file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e93f1c331ca8e86fe877a48ad64e77882c0c4da0097f2212873a69bbfea95d0c"},
{file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:846bc79ee753acf93aef4184c040d709940c9d001029ceb7b7a52747b80ed2dd"},
{file = "regex-2024.9.11-cp38-cp38-win32.whl", hash = "sha256:c94bb0a9f1db10a1d16c00880bdebd5f9faf267273b8f5bd1878126e0fbde771"},
{file = "regex-2024.9.11-cp38-cp38-win_amd64.whl", hash = "sha256:2b08fce89fbd45664d3df6ad93e554b6c16933ffa9d55cb7e01182baaf971508"},
{file = "regex-2024.9.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:07f45f287469039ffc2c53caf6803cd506eb5f5f637f1d4acb37a738f71dd066"},
{file = "regex-2024.9.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4838e24ee015101d9f901988001038f7f0d90dc0c3b115541a1365fb439add62"},
{file = "regex-2024.9.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6edd623bae6a737f10ce853ea076f56f507fd7726bee96a41ee3d68d347e4d16"},
{file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c69ada171c2d0e97a4b5aa78fbb835e0ffbb6b13fc5da968c09811346564f0d3"},
{file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02087ea0a03b4af1ed6ebab2c54d7118127fee8d71b26398e8e4b05b78963199"},
{file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:69dee6a020693d12a3cf892aba4808fe168d2a4cef368eb9bf74f5398bfd4ee8"},
{file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:297f54910247508e6e5cae669f2bc308985c60540a4edd1c77203ef19bfa63ca"},
{file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ecea58b43a67b1b79805f1a0255730edaf5191ecef84dbc4cc85eb30bc8b63b9"},
{file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:eab4bb380f15e189d1313195b062a6aa908f5bd687a0ceccd47c8211e9cf0d4a"},
{file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0cbff728659ce4bbf4c30b2a1be040faafaa9eca6ecde40aaff86f7889f4ab39"},
{file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:54c4a097b8bc5bb0dfc83ae498061d53ad7b5762e00f4adaa23bee22b012e6ba"},
{file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:73d6d2f64f4d894c96626a75578b0bf7d9e56dcda8c3d037a2118fdfe9b1c664"},
{file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:e53b5fbab5d675aec9f0c501274c467c0f9a5d23696cfc94247e1fb56501ed89"},
{file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0ffbcf9221e04502fc35e54d1ce9567541979c3fdfb93d2c554f0ca583a19b35"},
{file = "regex-2024.9.11-cp39-cp39-win32.whl", hash = "sha256:e4c22e1ac1f1ec1e09f72e6c44d8f2244173db7eb9629cc3a346a8d7ccc31142"},
{file = "regex-2024.9.11-cp39-cp39-win_amd64.whl", hash = "sha256:faa3c142464efec496967359ca99696c896c591c56c53506bac1ad465f66e919"},
{file = "regex-2024.9.11.tar.gz", hash = "sha256:6c188c307e8433bcb63dc1915022deb553b4203a70722fc542c363bf120a01fd"},
]
[[package]]

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