Compare commits

...

51 commits

Author SHA1 Message Date
forgejo-backport-action
bcd0821f3e [v12.0/forgejo] Revert "feat: remove API authentication methods that uses the URL query (#7924)" (#8653)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8633

This reverts commit b2a3966e64.

weblate etc. are using this method and need to be updated before the change is enforced.

Co-authored-by: Earl Warren <contact@earl-warren.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8653
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-24 17:53:11 +02:00
forgejo-backport-action
8b06eb1bea [v12.0/forgejo] fix(ui): update i18n usage in comments (#8646)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8644

Fix regression of https://codeberg.org/forgejo/forgejo/pulls/8214 (regressing v11 feature https://codeberg.org/forgejo/forgejo/pulls/6523)

Reporeted by @Andre601.

## Preview

![bug](/attachments/0e0c4703-537f-4adc-95f7-4047710522b4)

![fixed](/attachments/07bc5824-87ae-43da-92a2-8e6e9b9cf567)

## Testing
* go to https://v13.next.forgejo.org/, log in
* create repo, add some issue labels (on `./labels`)
* create issue
* add some labels to it and then close it
* observe that what you see looks more like the 2nd screenshot than the 1st screenshot

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

## Release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Bug fixes
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8644): <!--number 8644 --><!--line 0 --><!--description Zml4KHVpKTogdXBkYXRlIGkxOG4gdXNhZ2UgaW4gY29tbWVudHM=-->fix(ui): update i18n usage in comments<!--description-->
<!--end release-notes-assistant-->

Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8646
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-24 07:57:37 +02:00
forgejo-backport-action
5e5dac84ed [v12.0/forgejo] Revert "fix(ci): pull stylus from github:stylus/stylus#0.57.0 (#8625)" (#8641)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8638

This reverts commit 4d06d62515.

https://www.npmjs.com/package/stylus?activeTab=versions is back.

Co-authored-by: Earl Warren <contact@earl-warren.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8641
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-23 23:21:00 +02:00
forgejo-backport-action
ac0d653925 [v12.0/forgejo] fix: rebase and fast forward merge breaks commit signatures (#8624)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8622

- Do not try to rebase a pull request when it is zero commits behind. We can trust this number as before merging a repository the status of the pull request is mergeable and thus not in a conflict checking stage (where this would be updated).
- This resolves a issue where `git-replay` would rebase a pull request when this is not needed and causes to lose the signature of Git commits and commit IDs as shown in the pullrequest commits timeline.
- Resolves forgejo/forgejo#8619
- Add a simple integration test that simply checks that after merging a up-to-date pull request via the rebase style that the commit ID didn't change. This demonstrates that it didn't do needlessly rebasing.

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8624
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-23 10:55:17 +02:00
forgejo-backport-action
43305dff03 [v12.0/forgejo] fix(ci): pull stylus from github:stylus/stylus#0.57.0 (#8627)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8625

npm error 404 Not Found - GET https://registry.npmjs.org/stylus/-/stylus-0.57.0.tgz - Not found

Workaround to be reverted when the issue is fixed.

Refs https://github.com/stylus/stylus/issues/2938

Co-authored-by: Earl Warren <contact@earl-warren.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8627
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-23 10:07:21 +02:00
forgejo-backport-action
06cb8dfcca [v12.0/forgejo] fix: make the action feed resilient to database inconsistencies (#8618)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8617

This reverts commit 7380eac5a2.

Resolves forgejo/forgejo#8612

It is possible for the action feed to reference deleted repositories the
`INNER JOIN` will make sure that these are filtered out. We cannot
filter these out after the fact, because the value of `count` will still
be incorrect.

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

## Release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Bug fixes
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/8617): <!--number 8617 --><!--line 0 --><!--description bWFrZSB0aGUgYWN0aW9uIGZlZWQgcmVzaWxpZW50IHRvIGRhdGFiYXNlIGluY29uc2lzdGVuY2llcw==-->make the action feed resilient to database inconsistencies<!--description-->
<!--end release-notes-assistant-->

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8618
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-23 00:18:50 +02:00
forgejo-backport-action
927dfb4f50 [v12.0/forgejo] chore: disable E2E test for webkit (#8616)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8611

As far as I can see and tell, the newest webkit version contains a regression that makes this specific test fail. The screenshots that are uploaded upon failure do not seem to suggest that this test should fail.

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8616
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-22 21:08:03 +02:00
forgejo-backport-action
5dc9f86f09 [v12.0/forgejo] fix: upgrade fails or hang at migration[32]: Migrate maven package name concatenation (#8613)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8609

- Some SQL queries were not being run in the transaction of v32, which could lead to the migration failing or hanging indefinitely.
- Use `db.WithTx` to get a `context.Context` that will make sure to run SQL queries in the transaction.
- Using `db.DefaultContext` is fine to be used as parent context for starting the transaction, in all cases of starting the migration `x` and `db.DefaultContext` will point to the same engine.
- Resolves forgejo/forgejo#8580

## Testing

1. Have a v11 Forgejo database with a maven package.
2. Run this migration.

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8613
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-22 19:24:22 +02:00
forgejo-backport-action
4819d4a29a [v12.0/forgejo] fix: follow symlinks for local assets (#8610)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8596

- This reverts behavior that was partially unintentionally introduced in forgejo/forgejo#8143, symbolic links were no longer followed (if they escaped the asset folder) for local assets.
- Having symbolic links for user-added files is, to my understanding, a ,common usecase for NixOS and would thus have symbolic links in the asset folders. Avoiding symbolic links is not easy.
- The previous code used `http.Dir`, we cannot use that as it's not of the same type. The equivalent is `os.DirFS`.
- Unit test to prevent this regression from happening again.

Reported-by: bloxx12 (Matrix).
Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8610
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-22 18:41:03 +02:00
forgejo-backport-action
9d47719545 [v12.0/forgejo] fix: make sure to use unaltered fields when saving a shadow copy for updated profiles or comments (#8584)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8533

Follow-up of !6977

### Manual testing
- User **S** creates an organization **O** and posts a comment **C** (on a random issue);
- User **R** report as abuse the comment **C**, the organization **O** as well as the user **S**;
- User **S** changes the content of comment **C** and the description of organization **O** as well as the description of their own profile;
- Check (within DB) that shadow copies are being created (and linked to corresponding abuse reports) for comment **C**, organization **O** and user **S** and the content is the one from the moment when the reports were submitted (therefore before the updates made by **S**).

Co-authored-by: floss4good <floss4good@disroot.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8584
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-22 03:08:12 +02:00
forgejo-backport-action
816a63ef28 [v12.0/forgejo] fix: allow for tracked time to be removed again (#8576)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8575

- `getElementById` requires a id to be passed and not a query selector, change it to `querySelector`.
- Regression of forgejo/forgejo#7408
- Resolves forgejo/forgejo#8571
- Add E2E tests for adding manual tracked time and removing it.

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8576
Reviewed-by: Beowulf <beowulf@beocode.eu>
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-19 20:45:36 +02:00
forgejo-backport-action
5095cafe49 [v12.0/forgejo] fix: correct image source for quoted reply (#8574)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8565

- Since v10 replies are generated on the fly to handle quoted reply (forgejo/forgejo#5677), this means that we have to do some work to construct markdown that is equivalent to the HTML of the comment.
- Images are slightly strange in the context of issues and pull requests, as Forgejo will render them in the context of the repository and as such links such as `/attachments` become `/user/repo/attachments`, the quoted reply did not take into account and would use `/user/repo/attachments` as link which means it gets transformed to `/user/repo//user/repo/attachments`.
- Instead of fixing this on the backend (and maybe break some existing links), teach the quoted reply about this context and remove it from the image source before generating the markdown.

Reported-by: mrwusel (via Matrix)

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8574
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-19 16:33:30 +02:00
forgejo-backport-action
1d7c366588 [v12.0/forgejo] fix(ui): prevent render failure on faulty org settings post (#8555)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8553

Fix regression of https://codeberg.org/forgejo/forgejo/pulls/7998
Same as https://codeberg.org/forgejo/forgejo/pulls/8236 but for orgs

Amended existing tests to verify which error messages show up and not show up.

Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8555
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-18 14:01:38 +02:00
forgejo-backport-action
c2cd3fb19b [v12.0/forgejo] fix: use correct ACME default (#8552)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8550

- The `ACME_URL` setting is documented to default to Let's encrypt
production server if left empty, so do precisely that.
- Use a HTTP proxy to communicate with ACME if Forgejo is configured to
use that.
- Regression of forgejo/forgejo#7409 (previously certmagic took care of
setting these defaults).
- Resolves forgejo/forgejo#8548

## Testing

1. Configure Forgejo's root URL to a public facing domain (that can pass a ACME challenge)
2. Configure Forgejo to use ACME by setting `[server].ENABLE_ACME = true` and `[server].ACME_ACCEPTTOS = true`.
3. Start Forgejo.
4. Observe that it's available via https.

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8552
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-17 21:21:43 +02:00
Earl Warren
0bbef2d581 [v12.0/forgejo] i18n: update of translations from Codeberg Translate (#8534)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8534
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2025-07-16 22:14:57 +02:00
0ko
034af02ed0 [v12.0/forgejo] i18n: update of translations from Codeberg Translate
Translation updates that were relevant to v12 branch were picked from this commit:
8efb6c09db (#8490)

Changes to strings that are only present in the v13 branch were not picked.

Below is a list of co-authors of the ported commit. It may contain co-authors who's changes were not picked due to only being relevant to v13.

Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Benedikt Straub <benedikt-straub@web.de>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Fjuro <git@alius.cz>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: SomeTr <sometr@noreply.codeberg.org>
Co-authored-by: Vyxie <kitakita@disroot.org>
Co-authored-by: Wuzzy <wuzzy@disroot.org>
Co-authored-by: adf19 <adf19@noreply.codeberg.org>
Co-authored-by: amv-bamboo <amv-bamboo@noreply.codeberg.org>
Co-authored-by: justbispo <justbispo@noreply.codeberg.org>
Co-authored-by: oatbiscuits <oatbiscuits@noreply.codeberg.org>
Co-authored-by: pixelcode <pixelcode@noreply.codeberg.org>
Co-authored-by: xtex <xtexchooser@duck.com>
2025-07-16 22:49:59 +05:00
forgejo-backport-action
592f149441 [v12.0/forgejo] fix(packages): skip another stack frame from logging (#8532)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8530

Log the right stack frame line. We currently always show the `apiError` method call.

related to #8529

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8532
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-16 19:33:28 +02:00
0ko
49b4965e1f [v12.0/forgejo] i18n: update of translations from Codeberg Translate
Translation updates that were relevant to v11 branch were picked from this commit:
dc6626453a (#8410)

Changes to strings that are only present in the v13 branch were not picked.

Below is a list of co-authors of the ported commit. It may contain co-authors who's changes were not picked due to only being relevant to v13.

Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Atul_Eterno <atul_eterno@noreply.codeberg.org>
Co-authored-by: Benedikt Straub <benedikt-straub@web.de>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Dirk <dirk@noreply.codeberg.org>
Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org>
Co-authored-by: Fjuro <git@alius.cz>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Laxystem <the@laxla.quest>
Co-authored-by: Miguel P.L <miguel_pl@noreply.codeberg.org>
Co-authored-by: Salif Mehmed <mail@salif.eu>
Co-authored-by: SomeTr <sometr@noreply.codeberg.org>
Co-authored-by: aivot-on <aivot-on@noreply.codeberg.org>
Co-authored-by: earl-warren <earl-warren@noreply.codeberg.org>
Co-authored-by: kne <kne@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: readevalprintloop <readevalprintloop@noreply.codeberg.org>
Co-authored-by: tacaly <frederick@tacaly.com>
Co-authored-by: volkan <volkan@noreply.codeberg.org>
Co-authored-by: xtex <xtexchooser@duck.com>
Co-authored-by: yurtpage <yurtpage@noreply.codeberg.org>
2025-07-16 21:54:14 +05:00
0ko
edceb0c3d9 [v12.0/forgejo] i18n: update of translations from Codeberg Translate
Translation updates that were relevant to v11 branch were picked from this commit:
8cc2086402 (#8295)

Changes to strings that are only present in the v13 branch were not picked.

Below is a list of co-authors of the ported commit. It may contain co-authors who's changes were not picked due to only being relevant to v13.

Co-authored-by: Benedikt Straub <benedikt-straub@web.de>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Dirk <dirk@noreply.codeberg.org>
Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org>
Co-authored-by: Fjuro <git@alius.cz>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: SomeTr <sometr@noreply.codeberg.org>
Co-authored-by: Vyxie <kitakita@disroot.org>
Co-authored-by: Xinayder <xinayder@noreply.codeberg.org>
Co-authored-by: artnay <artnay@noreply.codeberg.org>
Co-authored-by: earl-warren <earl-warren@noreply.codeberg.org>
Co-authored-by: jedik <jedik@noreply.codeberg.org>
Co-authored-by: justbispo <justbispo@noreply.codeberg.org>
Co-authored-by: kwoot <kwoot@noreply.codeberg.org>
Co-authored-by: leandro-costa <leandro-costa@noreply.codeberg.org>
Co-authored-by: xtex <xtexchooser@duck.com>
Co-authored-by: yeager <yeager@noreply.codeberg.org>
Co-authored-by: zub <zub@noreply.codeberg.org>
2025-07-16 21:52:50 +05:00
forgejo-backport-action
3dd9172fd6 [v12.0/forgejo] fix: ignore "Close" error when uploading container blob (#8528)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8527

https://github.com/go-gitea/gitea/pull/34620/files

(cherry picked from commit 7a59f5a8253402d6f98234bf0047ec53156d3af9)

## Testing

Ask @viceice to run the reproducer in his environment once the v12 backport lands

Co-authored-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8528
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-16 16:00:56 +02:00
forgejo-backport-action
48920461a2 [v12.0/forgejo] chore: failed authentication attempts are not errors and are displayed at the log info level (#8526)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8524

I think those are not errors but simple info messages for admins.

I saw them a lot in my logs when no auth was passed to the api calls.

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8526
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-16 15:58:56 +02:00
forgejo-backport-action
8a93a3e59c [v12.0/forgejo] fix: expanding exactly 20 lines between diff sections leaves visual artifact (#8523)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8519

Fixes #8488.

The issue was caused by having exactly 20 lines of text between two diff sections, which is `BlobExcerptChunkSize`.  The previous diff section ends at 530, the next diff section starts at 551, leaving 20 hidden lines.  This triggered an off-by-one error in determining whether a synthetic section should be added to the render to include a new expander; it was falsely being triggered when it shouldn't have been.

Mostly correct logic was already present in `GetExpandDirection`, so I changed the `ExcerptBlob` web rendering to use `GetExpandDirection` on whether to include the synthetic section.  Then I covered `GetExpandDirection` with unit tests covering all boundary conditions, which discovered one other minor bug -- the case where exactly `BlobExcerptChunkSize` is hidden between two diff sections should never have displayed an "Up" and "Down" expansion, but just a single expander (as below).

![Untitled-2025-07-04-1538(1)](/attachments/05573c5e-3cd4-46d5-8c1f-ecdb28302a19)

Note that *technically* the `ExcerptBlob` change is not covered by any new tests... but the relevant logic has been moved to somewhere more easily testable and fully covered.  If this isn't covered enough for tests, let me know.

## 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...
  - [x] 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.
- [x] 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: Mathieu Fenniak <mathieu@fenniak.net>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8523
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-16 08:44:44 +02:00
forgejo-backport-action
3de8d7ec01 [v12.0/forgejo] chore: use eventually for mysql collation test (#8518)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8301

- Regression of removing `time.Sleep(5 * time.Second)` in forgejo/forgejo#7917.
- Ref: https://codeberg.org/forgejo/forgejo/issues/8221#issuecomment-5532035

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8518
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-16 01:05:37 +02:00
forgejo-backport-action
17f23d48d6 [v12.0/forgejo] fix: PR not blocked by review request for a whitelisted team (#8516)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8511

Fixes #8491.

Previous behavior always updated the newly created review to set the `official` flag to false.  This logic was removed.

The likely reason that this logic existed was that team reviews were being marked as official based upon `doer`, rather than the target team, which seems undesirable.  The expected behavior was retained by removing the check for `IsOfficialReviewer(..., doer)`, ensuring that when making a review request for a team, it doesn't matter *who* makes the request.

Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8516
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-16 00:06:22 +02:00
Beowulf
a7c64b3a5c [v12.0/forgejo] fix(ui): multiple ComboMarkdownEditors on one page interfere (#8514)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8417

Co-authored-by: zokki <zokki.softwareschmiede@gmail.com>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8514
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Beowulf <beowulf@beocode.eu>
Co-committed-by: Beowulf <beowulf@beocode.eu>
2025-07-15 23:22:35 +02:00
forgejo-backport-action
fc726fae9f [v12.0/forgejo] fix(code-search): HighlightSearchResultCode should count the number of bytes and not the number of runes (#8498)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8492

fixes incorrect handling of unicode in the matched line

Co-authored-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8498
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-12 19:00:07 +02:00
forgejo-backport-action
6e9a2e89e8 [v12.0/forgejo] several fixes of ALT Package registry (#8480)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8475

closes #7946

- The `rpmsRepoPattern` regex has been fixed to handle releases with dots correctly. For example, the version `0.9.0-alt1.git.17.g2ba905d` is valid, just like `0.1.0-1.n1` mentioned in the issue (https://codeberg.org/forgejo/forgejo/issues/7946#issue-1628991)

- getEntries now returns entry names. In the integration tests, there were lines like:
```go
assert.Equal(t, []string{"", ""}, result.ProvideNames)
```
and it’s unclear how such test logic could have ever worked correctly (fixes problems with deps https://codeberg.org/forgejo/forgejo/issues/7946#issuecomment-5109795)

- ALT is an acronym for ALT Linux Team, so `Alt` was replaced with `ALT`. Strictly speaking, it should probably be `ALT Linux`, but since we use `Arch` instead of `Arch Linux`, this seems fine. Also, Distrowatch shows `Arch`/`ALT` in its dropdown, so it’s consistent.

- The strings `"Alt Linux Team"` and `"Sisyphus"` in the `Origin` and `Suite` fields have been replaced with `setting.AppName` and `"Unknown"`. `Unknown` is a valid value and is set by default, so this won’t cause any issues.

- The documentation link has been fixed: (404 docs.gitea.com/usage/packages/alt/ -> 200 forgejo.org/docs/latest/user/packages/alt/)

Co-authored-by: Maxim Slipenko <maks1ms@altlinux.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8480
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-10 21:57:46 +02:00
forgejo-backport-action
18b542f8b1 [v12.0/forgejo] fix: use parent context for new transactions (#8474)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8464

- Older code (154 places to be exact) that want to do transactions uses `TxContext`. If the context is not already in a transaction then it uses `DefaultContext` for the new transaction.
- Not reusing the context it was given leads to two problems: for tracing (forgejo/forgejo#6470) any SQL code that is executed inside this transaction is not shown in the trace. If the context is cancelled then the transaction is not cancelled and will always complete (given there's no SQL error).
- When this function was introduced it didn't take a parent context, hence the usage of `DefaultContext`. When `parentCtx` was introduced it was only used to avoid nested transactions and use the parent's transaction. I do not see any reasons why the parent context cannot be reused, it is reused in the newer transaction function `WithTx` without any known problems.

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8474
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-10 14:44:56 +02:00
forgejo-backport-action
e730199499 [v12.0/forgejo] chore: disable mismatched root URL e2e test for safari (#8466)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8460

- I cannot give a good rationale why Mobile Safari and webkit is failing this test quite consistently and also succeed quite often. We add a script to ensure that we get a mismatched URL - but these two browsers either ignore this script sometime or delays the execution until after the root URL check is done.
- Because it is very hard to run webkit and mobile safari without running a heavily containerized environment (without a graphical interface) it is near impossible to debug this issue properly; save ourselves a headache and disable it instead. I find it more likely to be a problem with my playwright test than it to be a problem with the mismatched root URL code.
- Ref forgejo/forgejo#8359

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8466
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-10 03:30:37 +02:00
forgejo-backport-action
3db3379249 [v12.0/forgejo] chore: do not navigate to same URL in E2E test (#8463)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8461

- In `test.beforeEach` the browser is navigated to `/user2/repo1/pulls/5` and the test environment is prepared by making sure the pull request is not WIP. At the start of `simple toggle` the browser is navigated to the same URL (and the browser is already on this URL) which the Mobile Chrome browser does not handle gracefully and reliably errors with `net::ERR_ABORTED`.
- Because we are already at that URL, do not try to navigate to it again.
- I cannot offer a rationale why the Mobile Chrome browser does give a error when this happens in subsequent tests of 'Pull: Toggle WIP'.
- Ref forgejo/forgejo#8359

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8463
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-10 03:08:54 +02:00
forgejo-backport-action
501836df77 [v12.0/forgejo] fix: ASCII equal fold for authorization header (#8459)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8391

For the "Authorization:" header only lowercase "token" was accepted. This change allows uppercase "Token" as well.

Signed-off-by: Nis Wechselberg <enbewe@enbewe.de>
Co-authored-by: Nis Wechselberg <enbewe@enbewe.de>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8459
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-10 01:30:07 +02:00
forgejo-backport-action
eb543dcbdb [v12.0/forgejo] fix(email): actions notification template confuses branch with PR (#8455)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8448

When a mail notification is sent because of a failed pull request run,
the body will show:

Branch: #661 (f57df45)

where #661 is the number of the pull request and not the branch. This
is because run.PrettyRef() is used and has a misleading special case
returning a PR number instead of a ref.

Remove the textual description as it can easily be discovered from the
run web page linked in the mail.

Co-authored-by: Earl Warren <contact@earl-warren.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8455
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-09 10:20:54 +02:00
forgejo-backport-action
a1e3bace72 [v12.0/forgejo] fix: correctly mark reviews as stale for AGit PRs (#8454)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8450

The argument order for `ValidatePullRequest` is to first give the new commitID and then the old commit ID.

This results in reviews not being marked as stale when they are not stale and reviews as not stale when they are stale. The test will fail if the fix is not present.

Add testing for the following three scenarios:

1. A review is made, the PR is updated and as a consequence the PR's diff is changed. The review is now marked as stale.
2. A review is made but in the meantime the PR is updated and the review is submitted on a older commit ID. If the diff changed the review is marked as stale.
3. A review that was made against a older commit ID is no longer marked as stale if the PR is force-pushed to that older commit ID.

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8454
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-09 08:13:05 +02:00
forgejo-backport-action
1d838c8d5e [v12.0/forgejo] fix: corrupted wiki unit default permission (#8234 follow-up) (#8439)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8258

Closes #8119, follow-up of #8234

#8234 "only" fixed the case when a new wiki setting was applied.

However it lacked 2 aspects:
- fixing the already corrupted unit permission in the database (required a migration)
- fixing the API route

Both aspects should now be covered.

Additionally, I commented out the unused `UnitAccessMode` and indicated that they are only used for the wiki-unit (hopefully saving some time to future code-readers).

### Testing

- go to a commit before #8234 (e.g. 285f66b782)
- create 3 repositories
  - save the wiki settings of the second, without any change
  - set the wiki of the third to be globally writable
- verify the `default_permissions` column in the database, of the unit `5`: 0, 2, 3
- stop Forgejo, switch to this PR and start Forgejo
- verify that the logs writes `Migration[35]: Fix wiki unit default permission`
- verify the `default_permissions` column in the database, of the unit `5`: 0, 0, 3

Before:

![2025-06-23-150055.png](/attachments/1eb92507-b8b4-422c-921c-4296a91172e7)

After:

![2025-06-23-150853.png](/attachments/c7b53397-54fe-487d-89da-e10b26538cde)

- [x] I did not document these changes and I do not expect someone else to do it.
- [x] I do not want this change to show in the release notes.

Co-authored-by: oliverpool <git@olivier.pfad.fr>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8439
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-07 20:23:20 +02:00
forgejo-backport-action
d4c9c01f2d [v12.0/forgejo] fix: cancelled or skipped runs are not failures for notifications (#8404)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8366

From the point of view of a notification, the only status which must be considered a fail is `StatusFailure`. All others are either success `StatusSuccess` or undetermined `StatusCancelled` and `StatusSkipped`.

Those are the only four status in which a run can be when it reaches the `ActionRunNowDone` function because it is filtered on `IsDone` which is only true for those.

## 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...
  - [x] in their respective `*_test.go` for unit tests.

### Documentation

- [x] I did not document these changes and I do not expect someone else to do it.

### Release notes

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

Co-authored-by: Earl Warren <contact@earl-warren.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8404
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-03 23:28:01 +02:00
forgejo-backport-action
36777a3a9e [v12.0/forgejo] chore: improve reliability of webauthn e2e test (#8402)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8400

- This test is the source of many transient errors https://codeberg.org/forgejo/forgejo/issues/8359#issuecomment-5655557 and is semi-reproducible locally. Any debugging code that is added will result in the error no longer being reproducible, making it hard to say why this is failing.
- It no longer seems necessary to add this `waitForURL` call as Playwright now seems to gracefully handle the case where we want to go to a specific page while playwright might still be navigating to another URL that was initiated by clicking on a button - thus removing the source of the transient error altogether.

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8402
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Beowulf <beowulf@beocode.eu>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-03 21:32:18 +02:00
forgejo-backport-action
7781c8bae4 [v12.0/forgejo] fix: skip empty tokens in SearchOptions.Tokens() (#8398)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8261

Query string tokenizer could return a list containing empty tokens when the query string was `\` or `"` (probably in other scenarios as well).

This seems undesirable and is what triggered #8260, but I'm posting this separately from that fix in case I'm wrong. Feel free to reject if so.

The actual change in behavior is that now searching for `\` or `"` behaves the same as if the query were empty (the bleve/elastic code checks that the tokenizer actually returned, anything rather than just query being non-empty).

### Tests

- I added test coverage for Go changes...
  - [x] in their respective `*_test.go` for unit 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

- [x] 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: Danko Aleksejevs <danko@very.lv>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8398
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-03 15:56:58 +02:00
forgejo-backport-action
d1bb75eea0 [v12.0/forgejo] fix: disable Forgejo Actions email notifications on recovery (#8390)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8374

- Make the migration to add an index a noop - do not remove it as it would break v12.next & v13.next
- Keep the logic that relies on finding the last run, only always fail to find which is the same as assuming each run is one of a kind

Refs forgejo/forgejo#8373

Co-authored-by: Earl Warren <contact@earl-warren.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8390
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-02 20:03:18 +02:00
forgejo-backport-action
1ccd539b6c [v12.0/forgejo] fix: user activation with uppercase email address (#8386)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8367

- Right before the call to user email activation, the user is updated [^1]. This causes the email to be lowered, which in turn makes the call to activate the user activation fail (on database where collation is case sensitive, which is the recommend collation by Forgejo).
- The code in `BeforeUpdate` is quite confusing, the comment has become slightly out of date and was reworded to reflect reality and its purpose. The code is also slightly reworked to only lower the email for the `AvatarEmail` field to avoid causing side-effect.
- Added unit test.
- Resolves forgejo/forgejo#8354

[^1]: 4927d4ee3d/routers/web/auth/auth.go (L785)

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8386
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-07-02 13:54:45 +02:00
forgejo-backport-action
b2125a774e [v12.0/forgejo] fix(ui): Add pasted images to dropzone (#8362)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/7749

This adds pasted images to the dropzone. To provide the same experience
as when using the dropzone. This gives the possibility to preview and
delete the image. Additionally it provides a copy button to copy the
markdown code for inserting the image.

Fixes #4588

Co-authored-by: Beowulf <beowulf@beocode.eu>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8362
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Beowulf <beowulf@beocode.eu>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-30 16:19:58 +02:00
forgejo-backport-action
1a0ceec5e2 [v12.0/forgejo] fix: load OldMilestone based on OldMilestoneID, not MilestoneID (#8349)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8330

Fixes #8329

## 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.
  - [x] in the `tests/integration` directory if it involves interactions with a live Forgejo server.

### Documentation

- [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.
- [x] I want the title to show in the release notes with a link to this pull request.

Co-authored-by: floss4good <floss4good@disroot.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8349
Reviewed-by: floss4good <floss4good@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-29 13:29:45 +02:00
forgejo-backport-action
164c5ef87f [v12.0/forgejo] fix: make API /repos/{owner}/{repo}/compare/{basehead} work with forks (#8331)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8326

- fix: API must use headGitRepo instead of ctx.Repo.GitRepo for comparing
- fix: make API /repos/{owner}/{repo}/compare/{basehead} work with forks
- add test coverage for both fixes and the underlying function `parseCompareInfo`
- refactor and improve part of the helpers from `tests/integration/api_helper_for_declarative_test.go`
- remove a few wrong or misleading comments

Refs forgejo/forgejo#7978

## Note on the focus of the PR

It was initially created to address a regression introduced in v12. But the tests that verify it is fixed discovered a v11.0 bug. They cannot conveniently be separated because they both relate to the same area of code that was previously not covered by any test.

## Note on v11.0 backport

It must be manually done by cherry-picking all commits up to and not including `fix: API must use headGitRepo instead of ctx.Repo.GitRepo for comparing` because it is v12 specific.

## 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...
  - [x] in the `tests/integration` directory if it involves interactions with a live Forgejo server.

### Documentation

- [x] I did not document these changes and I do not expect someone else to do it.

### Release notes

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

Co-authored-by: Earl Warren <contact@earl-warren.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8331
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-29 00:10:56 +02:00
forgejo-backport-action
4a6182a3e3 [v12.0/forgejo] chore: sort blocked users list for determistic results (#8321)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8320

- Ref https://codeberg.org/forgejo/forgejo/issues/8221#issuecomment-5515478

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8321
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-27 18:15:43 +02:00
forgejo-backport-action
faff8f7c67 [v12.0/forgejo] fix: abuse reports string data types (#8319)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8267

Follow-up of !6977

I was fooled by the fact that for SQLite the columns corresponding to `string` fields were created as `TEXT`; but this is not the case for PostgreSQL and MariaDB/MySQL. According to XORM default mapping rules[^1] _String is corresponding to varchar(255)_.

Therefore `abuse_report`.`remarks` should be of type `VARCHAR(500)` and `abuse_report_shadow_copy`.`raw_value` of type `LONGTEXT`.

### Testing

I have dropped the affected columns (or the entire tables) and checked that for PostgreSQL and MariaDB they are created with the correct type and also manually tested the abusive content reporting functionality in order to make sure that no DB error will be returned if for 'Remarks' a text longer than 255 characters is submitted or when a (big) shadow copy is created.

[^1]: https://xorm.io/docs/chapter-02/4.columns/

Co-authored-by: floss4good <floss4good@disroot.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8319
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-27 16:30:23 +02:00
forgejo-backport-action
5f88d15a63 [v12.0/forgejo] fix: pass doer's ID for CRUD instance signing (#8318)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8304

- When doing CRUD actions, the commiter and author are reconstructed and
do not contain the doer's ID. Make sure to pass this ID along so it can
be used to verify the rules of instance signing for CRUD actions.
- Regression of forgejo/forgejo#7693. It seems that previously this
didn't work correctly as it would not care about a empty ID.
- Resolves forgejo/forgejo#8278

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8318
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-27 16:26:11 +02:00
forgejo-backport-action
71d3cb9590 [v12.0/forgejo] fix: add missing trust status to pull review commits (#8317)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8296

Closes: #8293

## 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.
  - [x] 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

- [x] 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: Lucas Schwiderski <lucas@lschwiderski.de>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8317
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-27 16:20:44 +02:00
forgejo-backport-action
cd0fb3152c [v12.0/forgejo] i18n: update of translations from Codeberg Translate (#8294)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8238

Translations update from [Codeberg Translate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/).

It also includes following components:

* [Forgejo/forgejo-next](https://translate.codeberg.org/projects/forgejo/forgejo-next/)

Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: AzzyDev <azzydev@noreply.codeberg.org>
Co-authored-by: BarryLhm <barrylhm@outlook.com>
Co-authored-by: Benedikt Straub <benedikt-straub@web.de>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Dirk <dirk@noreply.codeberg.org>
Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org>
Co-authored-by: EssGeeEich <essgeeeich@noreply.codeberg.org>
Co-authored-by: Fjuro <git@alius.cz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Laurent FAVOLE <lfavole@noreply.codeberg.org>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: Shihfu Juan <xlion@xlion.tw>
Co-authored-by: SomeTr <sometr@noreply.codeberg.org>
Co-authored-by: VaiTon <vaiton@noreply.codeberg.org>
Co-authored-by: Vyxie <kitakita@disroot.org>
Co-authored-by: mahlzahn <mahlzahn@posteo.de>
Co-authored-by: xtex <xtexchooser@duck.com>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8294
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-26 11:30:48 +02:00
forgejo-backport-action
a70fa6d8ba [v12.0/forgejo] fix(ui): release: name is overridden with tag name on edit (#8290)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8002

Fixes #8001

Regression: f66a6b12cd (https://codeberg.org/forgejo/forgejo/issues/6645)
Co-authored-by: Beowulf <beowulf@beocode.eu>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8290
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-26 02:36:43 +02:00
forgejo-backport-action
d99cecc176 [v12.0/forgejo] Revert "fix(api): document is_system_webhook field (#7784)" (#8288)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8286

The field is not part of the struct, it is instead part of the config field. See https://codeberg.org/forgejo/forgejo/pulls/7784#issuecomment-5511212

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8288
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-26 01:25:37 +02:00
forgejo-backport-action
aa648d74ea [v12.0/forgejo] fix(ui): add missing lazy load attribute to images (#8282)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8246

closes #8076

Co-authored-by: Bente Groh <mail@bentegroh.de>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8282
Reviewed-by: Beowulf <beowulf@beocode.eu>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-25 20:42:35 +02:00
forgejo-backport-action
309ddf6ec7 [v12.0/forgejo] chore(ci): testSleep: show actual times on failures (#8277)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8271

I just experienced a spurious error on `testSleep`.
The current assertion only showed `expected false to be truthy`. With this PR it should show the actual elapsed time (to be able to knowingly adjust the expected delay).

Co-authored-by: oliverpool <git@olivier.pfad.fr>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8277
Reviewed-by: Beowulf <beowulf@beocode.eu>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2025-06-25 16:43:06 +02:00
214 changed files with 5134 additions and 1814 deletions

View file

@ -15,6 +15,7 @@ import (
"forgejo.org/modules/graceful"
"forgejo.org/modules/log"
"forgejo.org/modules/process"
"forgejo.org/modules/proxy"
"forgejo.org/modules/setting"
"github.com/caddyserver/certmagic"
@ -76,6 +77,12 @@ func runACME(listenAddr string, m http.Handler) error {
ListenHost: setting.HTTPAddr,
AltTLSALPNPort: altTLSALPNPort,
AltHTTPPort: altHTTPPort,
HTTPProxy: proxy.Proxy(),
}
// Preserve behavior to use Let's encrypt test CA when Let's encrypt is CA.
if certmagic.DefaultACME.CA == certmagic.LetsEncryptProductionCA {
certmagic.DefaultACME.TestCA = certmagic.LetsEncryptStagingCA
}
magic := certmagic.NewDefault()

View file

@ -284,16 +284,10 @@ func GetLatestRun(ctx context.Context, repoID int64) (*ActionRun, error) {
return &run, nil
}
// GetRunBefore returns the last run that completed a given timestamp (not inclusive).
func GetRunBefore(ctx context.Context, repoID int64, timestamp timeutil.TimeStamp) (*ActionRun, error) {
var run ActionRun
has, err := db.GetEngine(ctx).Where("repo_id=? AND stopped IS NOT NULL AND stopped<?", repoID, timestamp).OrderBy("stopped DESC").Limit(1).Get(&run)
if err != nil {
return nil, err
} else if !has {
return nil, fmt.Errorf("run before: %w", util.ErrNotExist)
}
return &run, nil
func GetRunBefore(ctx context.Context, _ *ActionRun) (*ActionRun, error) {
// TODO return the most recent run related to the run given in argument
// see https://codeberg.org/forgejo/user-research/issues/63 for context
return nil, nil
}
func GetLatestRunForBranchAndWorkflow(ctx context.Context, repoID int64, branch, workflowFile, event string) (*ActionRun, error) {

View file

@ -5,92 +5,7 @@ package actions
import (
"testing"
"time"
"forgejo.org/models/db"
"forgejo.org/models/unittest"
"forgejo.org/modules/timeutil"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestGetRunBefore(t *testing.T) {
require.NoError(t, unittest.PrepareTestDatabase())
// this repo is part of the test database requiring loading "repository.yml" in main_test.go
var repoID int64 = 1
workflowID := "test_workflow"
// third completed run
time1, err := time.Parse(time.RFC3339, "2024-07-31T15:47:55+08:00")
require.NoError(t, err)
timeutil.MockSet(time1)
run1 := ActionRun{
ID: 1,
Index: 1,
RepoID: repoID,
Stopped: timeutil.TimeStampNow(),
WorkflowID: workflowID,
}
// fourth completed run
time2, err := time.Parse(time.RFC3339, "2024-08-31T15:47:55+08:00")
require.NoError(t, err)
timeutil.MockSet(time2)
run2 := ActionRun{
ID: 2,
Index: 2,
RepoID: repoID,
Stopped: timeutil.TimeStampNow(),
WorkflowID: workflowID,
}
// second completed run
time3, err := time.Parse(time.RFC3339, "2024-07-31T15:47:54+08:00")
require.NoError(t, err)
timeutil.MockSet(time3)
run3 := ActionRun{
ID: 3,
Index: 3,
RepoID: repoID,
Stopped: timeutil.TimeStampNow(),
WorkflowID: workflowID,
}
// first completed run
time4, err := time.Parse(time.RFC3339, "2024-06-30T15:47:54+08:00")
require.NoError(t, err)
timeutil.MockSet(time4)
run4 := ActionRun{
ID: 4,
Index: 4,
RepoID: repoID,
Stopped: timeutil.TimeStampNow(),
WorkflowID: workflowID,
}
require.NoError(t, db.Insert(db.DefaultContext, &run1))
runBefore, err := GetRunBefore(db.DefaultContext, repoID, run1.Stopped)
// there is no run before run1
require.Error(t, err)
require.Nil(t, runBefore)
// now there is only run3 before run1
require.NoError(t, db.Insert(db.DefaultContext, &run3))
runBefore, err = GetRunBefore(db.DefaultContext, repoID, run1.Stopped)
require.NoError(t, err)
assert.Equal(t, run3.ID, runBefore.ID)
// there still is only run3 before run1
require.NoError(t, db.Insert(db.DefaultContext, &run2))
runBefore, err = GetRunBefore(db.DefaultContext, repoID, run1.Stopped)
require.NoError(t, err)
assert.Equal(t, run3.ID, runBefore.ID)
// run4 is further away from run1
require.NoError(t, db.Insert(db.DefaultContext, &run4))
runBefore, err = GetRunBefore(db.DefaultContext, repoID, run1.Stopped)
require.NoError(t, err)
assert.Equal(t, run3.ID, runBefore.ID)
}

View file

@ -473,8 +473,11 @@ func GetFeeds(ctx context.Context, opts GetFeedsOptions) (ActionList, int64, err
return nil, 0, err
}
sess := db.GetEngine(ctx).Where(cond).
Select("`action`.*"). // this line will avoid select other joined table's columns
Join("INNER", "repository", "`repository`.id = `action`.repo_id")
opts.SetDefaultValues()
sess := db.GetEngine(ctx).Where(cond)
sess = db.SetSessionPagination(sess, &opts)
actions := make([]*Action, 0, opts.PageSize)

View file

@ -227,6 +227,24 @@ func TestNotifyWatchers(t *testing.T) {
})
}
func TestGetFeedsCorrupted(t *testing.T) {
require.NoError(t, unittest.PrepareTestDatabase())
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
unittest.AssertExistsAndLoadBean(t, &activities_model.Action{
ID: 8,
RepoID: 1700,
})
actions, count, err := activities_model.GetFeeds(db.DefaultContext, activities_model.GetFeedsOptions{
RequestedUser: user,
Actor: user,
IncludePrivate: true,
})
require.NoError(t, err)
assert.Empty(t, actions)
assert.Equal(t, int64(0), count)
}
func TestConsistencyUpdateAction(t *testing.T) {
if !setting.Database.Type.IsSQLite3() {
t.Skip("Test is only for SQLite database.")

View file

@ -141,7 +141,7 @@ func TxContext(parentCtx context.Context) (*Context, Committer, error) {
return nil, nil, err
}
return newContext(DefaultContext, sess, true), sess, nil
return newContext(parentCtx, sess, true), sess, nil
}
// WithTx represents executing database operations on a transaction, if the transaction exist,

View file

@ -84,4 +84,16 @@ func TestTxContext(t *testing.T) {
return nil
}))
}
t.Run("Reuses parent context", func(t *testing.T) {
type unique struct{}
ctx := context.WithValue(db.DefaultContext, unique{}, "yes!")
assert.False(t, db.InTransaction(ctx))
require.NoError(t, db.WithTx(ctx, func(ctx context.Context) error {
assert.Equal(t, "yes!", ctx.Value(unique{}))
return nil
}))
})
}

View file

@ -0,0 +1,21 @@
-
id: 1
status: 1
reporter_id: 2 # @user2
content_type: 4 # Comment
content_id: 18 # user2/repo2/issues/2#issuecomment-18
category: 2 # Spam
remarks: The comment I'm reporting is pure SPAM.
shadow_copy_id: null
created_unix: 1752697980 # 2025-07-16 20:33:00
-
id: 2
status: 1 # Open
reporter_id: 2 # @user2
content_type: 1 # User (users or organizations)
content_id: 1002 # @alexsmith
category: 2 # Spam
remarks: This user just posted a spammy comment on my issue.
shadow_copy_id: null
created_unix: 1752698010 # 2025-07-16 20:33:30

View file

@ -0,0 +1,7 @@
- # This is a spam comment (abusive content), created for testing moderation functionalities.
id: 18
type: 0 # Standard comment
poster_id: 1002 # @alexsmith
issue_id: 7 # user2/repo2#2
content: If anyone needs help for promoting their business online using SEO, just contact me (check my profile page).
created_unix: 1752697860 # 2025-07-16 20:31:00

View file

@ -0,0 +1,22 @@
- # This user is a spammer and will create abusive content (for testing moderation functionalities).
id: 1002
lower_name: alexsmith
name: alexsmith
full_name: Alex Smith
email: alexsmith@example.org
keep_email_private: false
passwd: passwdSalt:password
passwd_hash_algo: dummy
type: 0
location: '@master@seo.net'
website: http://promote-your-business.biz
pronouns: SEO
salt: passwdSalt
description: I can help you promote your business online using SEO.
created_unix: 1752697800 # 2025-07-16 20:30:00
is_active: true
is_admin: false
is_restricted: false
avatar: avatar-hash-1002
avatar_email: alexsmith@example.org
use_custom_avatar: false

View file

@ -0,0 +1,7 @@
-
id: 1001
uid: 1001
email: AnotherTestUserWithUpperCaseEmail@otto.splvs.net
lower_email: anothertestuserwithuppercaseemail@otto.splvs.net
is_activated: false
is_primary: true

View file

@ -0,0 +1,12 @@
-
id: 1001
lower_name: user1001
name: user1001
full_name: User That loves Upper Cases
email: AnotherTestUserWithUpperCaseEmail@otto.splvs.net
passwd: ZogKvWdyEx:password
passwd_hash_algo: dummy
avatar: ''
avatar_email: anothertestuserwithuppercaseemail@otto.splvs.net
login_name: user1
created_unix: 1672578000

View file

@ -0,0 +1,16 @@
-
id: 23
repo_id: 2
index: 3
poster_id: 2
original_author_id: 0
name: protected branch pull
content: pull request to a protected branch
milestone_id: 0
priority: 0
is_pull: true
is_closed: false
num_comments: 0
created_unix: 1707270422
updated_unix: 1707270422
is_locked: false

View file

@ -0,0 +1,28 @@
- id: 1
repo_id: 2
branch_name: protected-main
can_push: false
enable_whitelist: true
whitelist_user_i_ds: [1]
whitelist_team_i_ds: []
enable_merge_whitelist: true
whitelist_deploy_keys: false
merge_whitelist_user_i_ds: [1]
merge_whitelist_team_i_ds: []
enable_status_check: false
status_check_contexts: []
enable_approvals_whitelist: true
approvals_whitelist_user_i_ds: []
approvals_whitelist_team_i_ds: [1]
required_approvals: 1
block_on_rejected_reviews: true
block_on_official_review_requests: true
block_on_outdated_branch: true
dismiss_stale_approvals: true
ignore_stale_approvals: false
require_signed_commits: false
protected_file_patterns: ""
unprotected_file_patterns: ""
apply_to_admins: true
created_unix: 1752513073
updated_unix: 1752513073

View file

@ -0,0 +1,12 @@
-
id: 11
type: 0 # gitea pull request
status: 2 # mergeable
issue_id: 23
index: 3
head_repo_id: 2
base_repo_id: 2
head_branch: feature/protected-branch-pr
base_branch: protected-main
merge_base: 4a357436d925b5c974181ff12a994538ddc5a269
has_merged: false

View file

@ -59,6 +59,14 @@
created_unix: 1603011540 # grouped with id:7
- id: 8
user_id: 1
op_type: 12 # close issue
act_user_id: 1
repo_id: 1700 # dangling intentional
is_private: false
created_unix: 1603011541
- id: 9
user_id: 34
op_type: 12 # close issue
act_user_id: 34

View file

@ -186,10 +186,46 @@
type: 8 # milestone
poster_id: 1
issue_id: 1 # in repo_id 1
milestone_id: 10 # not exsting milestone
milestone_id: 10 # not existing milestone
old_milestone_id: 0
created_unix: 946685080
-
id: 2004
type: 8 # milestone
poster_id: 1
issue_id: 1 # in repo_id 1
milestone_id: 1
old_milestone_id: 10 # not existing (ghost) milestone
created_unix: 946685085
-
id: 2005
type: 8 # milestone
poster_id: 1
issue_id: 1 # in repo_id 1
milestone_id: 10 # not existing (ghost) milestone
old_milestone_id: 1
created_unix: 946685090
-
id: 2006
type: 8 # milestone
poster_id: 1
issue_id: 1 # in repo_id 1
milestone_id: 11 # not existing (ghost) milestone
old_milestone_id: 10 # not existing (ghost) milestone
created_unix: 946685095
-
id: 2007
type: 8 # milestone
poster_id: 1
issue_id: 1 # in repo_id 1
milestone_id: 0
old_milestone_id: 11 # not existing (ghost) milestone
created_unix: 946685100
-
id: 2010
type: 30 # project

View file

@ -108,7 +108,9 @@ var migrations = []*Migration{
// v33 -> v34
NewMigration("Add `notify-email` column to `action_run` table", AddNotifyEmailToActionRun),
// v34 -> v35
NewMigration("Add index to `stopped` column in `action_run` table", AddIndexToActionRunStopped),
NewMigration("Noop because of https://codeberg.org/forgejo/forgejo/issues/8373", NoopAddIndexToActionRunStopped),
// v35 -> v36
NewMigration("Fix wiki unit default permission", FixWikiUnitDefaultPermission),
}
// GetCurrentDBVersion returns the current Forgejo database version.

View file

@ -12,6 +12,7 @@ import (
"strconv"
"strings"
"forgejo.org/models/db"
"forgejo.org/models/packages"
"forgejo.org/modules/json"
"forgejo.org/modules/log"
@ -52,55 +53,50 @@ type mavenPackageResult struct {
// ChangeMavenArtifactConcatenation resolves old dash-concatenated Maven coordinates and regenerates metadata.
// Note: runs per-owner in a single transaction; failures roll back all owners.
func ChangeMavenArtifactConcatenation(x *xorm.Engine) error {
sess := x.NewSession()
defer sess.Close()
if err := sess.Begin(); err != nil {
return err
}
// get unique owner IDs of Maven packages
var ownerIDs []*int64
if err := sess.
Table("package").
Select("package.owner_id").
Where("package.type = 'maven'").
GroupBy("package.owner_id").
OrderBy("package.owner_id DESC").
Find(&ownerIDs); err != nil {
return err
}
for _, id := range ownerIDs {
if err := fixMavenArtifactPerOwner(sess, id); err != nil {
log.Error("owner %d migration failed: %v", id, err)
return err // rollback all
return db.WithTx(db.DefaultContext, func(ctx context.Context) error {
// get unique owner IDs of Maven packages
var ownerIDs []*int64
if err := db.GetEngine(ctx).
Table("package").
Select("package.owner_id").
Where("package.type = 'maven'").
GroupBy("package.owner_id").
OrderBy("package.owner_id DESC").
Find(&ownerIDs); err != nil {
return err
}
}
return sess.Commit()
for _, id := range ownerIDs {
if err := fixMavenArtifactPerOwner(ctx, id); err != nil {
log.Error("owner %d migration failed: %v", id, err)
return err // rollback all
}
}
return nil
})
}
func fixMavenArtifactPerOwner(sess *xorm.Session, ownerID *int64) error {
results, err := getMavenPackageResultsToUpdate(sess, ownerID)
func fixMavenArtifactPerOwner(ctx context.Context, ownerID *int64) error {
results, err := getMavenPackageResultsToUpdate(ctx, ownerID)
if err != nil {
return err
}
if err = resolvePackageCollisions(results, sess); err != nil {
if err = resolvePackageCollisions(ctx, results); err != nil {
return err
}
if err = processPackageVersions(results, sess); err != nil {
if err = processPackageVersions(ctx, results); err != nil {
return err
}
return processPackageFiles(results, sess)
return processPackageFiles(ctx, results)
}
// processPackageFiles updates Maven package files and versions in the database
// Returns an error if any database or processing operation fails.
func processPackageFiles(results []*mavenPackageResult, sess *xorm.Session) error {
func processPackageFiles(ctx context.Context, results []*mavenPackageResult) error {
processedVersion := make(map[string][]*mavenPackageResult)
for _, r := range results {
@ -113,7 +109,7 @@ func processPackageFiles(results []*mavenPackageResult, sess *xorm.Session) erro
if r.PackageVersion.ID != r.PackageFile.VersionID {
pattern := strings.TrimSuffix(r.PackageFile.Name, ".pom") + "%"
// Per routers/api/packages/maven/maven.go:338, POM files already have the `IsLead`, so no update needed for this prop
if _, err := sess.Exec("UPDATE package_file SET version_id = ? WHERE version_id = ? and name like ?", r.PackageVersion.ID, r.PackageFile.VersionID, pattern); err != nil {
if _, err := db.GetEngine(ctx).Exec("UPDATE package_file SET version_id = ? WHERE version_id = ? and name like ?", r.PackageVersion.ID, r.PackageFile.VersionID, pattern); err != nil {
return err
}
}
@ -128,14 +124,14 @@ func processPackageFiles(results []*mavenPackageResult, sess *xorm.Session) erro
rs := packageResults[0]
pf, md, err := parseMetadata(sess, rs)
pf, md, err := parseMetadata(ctx, rs)
if err != nil {
return err
}
if pf != nil && md != nil && md.GroupID == rs.GroupID && md.ArtifactID == rs.ArtifactID {
if pf.VersionID != rs.PackageFile.VersionID {
if _, err := sess.ID(pf.ID).Cols("version_id").Update(pf); err != nil {
if _, err := db.GetEngine(ctx).ID(pf.ID).Cols("version_id").Update(pf); err != nil {
return err
}
}
@ -150,11 +146,9 @@ func processPackageFiles(results []*mavenPackageResult, sess *xorm.Session) erro
// parseMetadata retrieves metadata for a Maven package file from the database and decodes it into a Metadata object.
// Returns the associated PackageFile, Metadata, and any error encountered during processing.
func parseMetadata(sess *xorm.Session, snapshot *mavenPackageResult) (*packages.PackageFile, *Metadata, error) {
ctx := context.Background()
func parseMetadata(ctx context.Context, snapshot *mavenPackageResult) (*packages.PackageFile, *Metadata, error) {
var pf packages.PackageFile
found, err := sess.Table(pf).
found, err := db.GetEngine(ctx).Table(pf).
Where("version_id = ?", snapshot.PackageFile.VersionID). // still the old id
And("lower_name = ?", "maven-metadata.xml").
Get(&pf)
@ -183,7 +177,7 @@ func parseMetadata(sess *xorm.Session, snapshot *mavenPackageResult) (*packages.
// processPackageVersions processes Maven package versions by updating metadata or inserting new records as necessary.
// It avoids redundant updates by tracking already processed versions using a map. Returns an error on failure.
func processPackageVersions(results []*mavenPackageResult, sess *xorm.Session) error {
func processPackageVersions(ctx context.Context, results []*mavenPackageResult) error {
processedVersion := make(map[string]int64)
for _, r := range results {
@ -196,14 +190,14 @@ func processPackageVersions(results []*mavenPackageResult, sess *xorm.Session) e
// for non collisions, just update the metadata
if r.PackageVersion.PackageID == r.Package.ID {
if _, err := sess.ID(r.PackageVersion.ID).Cols("metadata_json").Update(r.PackageVersion); err != nil {
if _, err := db.GetEngine(ctx).ID(r.PackageVersion.ID).Cols("metadata_json").Update(r.PackageVersion); err != nil {
return err
}
} else {
log.Info("Create new maven package version for %s:%s", r.PackageName, r.PackageVersion.Version)
r.PackageVersion.ID = 0
r.PackageVersion.PackageID = r.Package.ID
if _, err := sess.Insert(r.PackageVersion); err != nil {
if _, err := db.GetEngine(ctx).Insert(r.PackageVersion); err != nil {
return err
}
}
@ -216,10 +210,9 @@ func processPackageVersions(results []*mavenPackageResult, sess *xorm.Session) e
// getMavenPackageResultsToUpdate retrieves Maven package results that need updates based on the owner ID.
// It processes POM metadata, fixes package inconsistencies, and filters corrupted package versions.
func getMavenPackageResultsToUpdate(sess *xorm.Session, ownerID *int64) ([]*mavenPackageResult, error) {
ctx := context.Background()
func getMavenPackageResultsToUpdate(ctx context.Context, ownerID *int64) ([]*mavenPackageResult, error) {
var candidates []*mavenPackageResult
if err := sess.
if err := db.GetEngine(ctx).
Table("package_file").
Select("package_file.*, package_version.*, package.*").
Join("INNER", "package_version", "package_version.id = package_file.version_id").
@ -265,7 +258,7 @@ func getMavenPackageResultsToUpdate(sess *xorm.Session, ownerID *int64) ([]*mave
// resolvePackageCollisions handles name collisions by keeping the first existing record and inserting new Package records for subsequent collisions.
// Returns a map from PackageName to its resolved Package.ID.
func resolvePackageCollisions(results []*mavenPackageResult, sess *xorm.Session) error {
func resolvePackageCollisions(ctx context.Context, results []*mavenPackageResult) error {
// Group new names by lowerName
collisions := make(map[string][]string)
for _, r := range results {
@ -292,7 +285,7 @@ func resolvePackageCollisions(results []*mavenPackageResult, sess *xorm.Session)
} else if list[0] == r.PackageName {
pkgIDByName[r.PackageName] = r.Package.ID
if _, err = sess.ID(r.Package.ID).Cols("name", "lower_name").Update(r.Package); err != nil {
if _, err = db.GetEngine(ctx).ID(r.Package.ID).Cols("name", "lower_name").Update(r.Package); err != nil {
return err
}
// create a new entry
@ -300,7 +293,7 @@ func resolvePackageCollisions(results []*mavenPackageResult, sess *xorm.Session)
log.Info("Create new maven package for %s", r.Package.Name)
r.Package.ID = 0
if _, err = sess.Insert(r.Package); err != nil {
if _, err = db.GetEngine(ctx).Insert(r.Package); err != nil {
return err
}

View file

@ -4,16 +4,10 @@
package forgejo_migrations //nolint:revive
import (
"forgejo.org/modules/timeutil"
"xorm.io/xorm"
)
func AddIndexToActionRunStopped(x *xorm.Engine) error {
type ActionRun struct {
ID int64
Stopped timeutil.TimeStamp `xorm:"index"`
}
return x.Sync(&ActionRun{})
// see https://codeberg.org/forgejo/forgejo/issues/8373
func NoopAddIndexToActionRunStopped(x *xorm.Engine) error {
return nil
}

View file

@ -0,0 +1,55 @@
// Copyright 2025 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: GPL-3.0-or-later
package forgejo_migrations //nolint:revive
import (
"xorm.io/xorm"
)
func FixWikiUnitDefaultPermission(x *xorm.Engine) error {
// Type is Unit's Type
type Type int
// Enumerate all the unit types
const (
TypeInvalid Type = iota // 0 invalid
TypeCode // 1 code
TypeIssues // 2 issues
TypePullRequests // 3 PRs
TypeReleases // 4 Releases
TypeWiki // 5 Wiki
TypeExternalWiki // 6 ExternalWiki
TypeExternalTracker // 7 ExternalTracker
TypeProjects // 8 Projects
TypePackages // 9 Packages
TypeActions // 10 Actions
)
// RepoUnitAccessMode specifies the users access mode to a repo unit
type UnitAccessMode int
const (
// UnitAccessModeUnset - no unit mode set
UnitAccessModeUnset UnitAccessMode = iota // 0
// UnitAccessModeNone no access
UnitAccessModeNone // 1
// UnitAccessModeRead read access
UnitAccessModeRead // 2
// UnitAccessModeWrite write access
UnitAccessModeWrite // 3
)
_ = UnitAccessModeNone
_ = UnitAccessModeWrite
type RepoUnit struct {
DefaultPermissions UnitAccessMode `xorm:"NOT NULL DEFAULT 0"`
}
_, err := x.Where("type = ?", TypeWiki).
Where("default_permissions = ?", UnitAccessModeRead).
Cols("default_permissions").
Update(RepoUnit{
DefaultPermissions: UnitAccessModeUnset,
})
return err
}

View file

@ -1156,7 +1156,7 @@ func UpdateComment(ctx context.Context, c *Comment, contentVersion int, doer *us
defer committer.Close()
// If the comment was reported as abusive, a shadow copy should be created before first update.
if err := IfNeededCreateShadowCopyForComment(ctx, c); err != nil {
if err := IfNeededCreateShadowCopyForComment(ctx, c, true); err != nil {
return err
}
@ -1197,7 +1197,7 @@ func DeleteComment(ctx context.Context, comment *Comment) error {
e := db.GetEngine(ctx)
// If the comment was reported as abusive, a shadow copy should be created before deletion.
if err := IfNeededCreateShadowCopyForComment(ctx, comment); err != nil {
if err := IfNeededCreateShadowCopyForComment(ctx, comment, false); err != nil {
return err
}

View file

@ -101,7 +101,7 @@ func (comments CommentList) loadMilestones(ctx context.Context) error {
return nil
}
milestoneMaps := make(map[int64]*Milestone, len(milestoneIDs))
milestones := make(map[int64]*Milestone, len(milestoneIDs))
left := len(milestoneIDs)
for left > 0 {
limit := db.DefaultMaxInSize
@ -110,7 +110,7 @@ func (comments CommentList) loadMilestones(ctx context.Context) error {
}
err := db.GetEngine(ctx).
In("id", milestoneIDs[:limit]).
Find(&milestoneMaps)
Find(&milestones)
if err != nil {
return err
}
@ -118,8 +118,8 @@ func (comments CommentList) loadMilestones(ctx context.Context) error {
milestoneIDs = milestoneIDs[limit:]
}
for _, issue := range comments {
issue.Milestone = milestoneMaps[issue.MilestoneID]
for _, comment := range comments {
comment.Milestone = milestones[comment.MilestoneID]
}
return nil
}
@ -140,7 +140,7 @@ func (comments CommentList) loadOldMilestones(ctx context.Context) error {
return nil
}
milestoneMaps := make(map[int64]*Milestone, len(milestoneIDs))
milestones := make(map[int64]*Milestone, len(milestoneIDs))
left := len(milestoneIDs)
for left > 0 {
limit := db.DefaultMaxInSize
@ -149,7 +149,7 @@ func (comments CommentList) loadOldMilestones(ctx context.Context) error {
}
err := db.GetEngine(ctx).
In("id", milestoneIDs[:limit]).
Find(&milestoneMaps)
Find(&milestones)
if err != nil {
return err
}
@ -157,8 +157,8 @@ func (comments CommentList) loadOldMilestones(ctx context.Context) error {
milestoneIDs = milestoneIDs[limit:]
}
for _, issue := range comments {
issue.OldMilestone = milestoneMaps[issue.MilestoneID]
for _, comment := range comments {
comment.OldMilestone = milestones[comment.OldMilestoneID]
}
return nil
}

View file

@ -87,13 +87,19 @@ func IfNeededCreateShadowCopyForIssue(ctx context.Context, issue *Issue) error {
// IfNeededCreateShadowCopyForComment checks if for the given comment there are any reports of abusive content submitted
// and if found a shadow copy of relevant comment fields will be stored into DB and linked to the above report(s).
// This function should be called before a comment is deleted or updated.
func IfNeededCreateShadowCopyForComment(ctx context.Context, comment *Comment) error {
func IfNeededCreateShadowCopyForComment(ctx context.Context, comment *Comment, forUpdates bool) error {
shadowCopyNeeded, err := moderation.IsShadowCopyNeeded(ctx, moderation.ReportedContentTypeComment, comment.ID)
if err != nil {
return err
}
if shadowCopyNeeded {
if forUpdates {
// get the unaltered comment fields (for updates the provided variable is already altered but not yet saved)
if comment, err = GetCommentByID(ctx, comment.ID); err != nil {
return err
}
}
commentData := newCommentData(comment)
content, err := json.Marshal(commentData)
if err != nil {

View file

@ -781,10 +781,6 @@ func AddTeamReviewRequest(ctx context.Context, issue *Issue, reviewer *organizat
official, err := IsOfficialReviewerTeam(ctx, issue, reviewer)
if err != nil {
return nil, fmt.Errorf("isOfficialReviewerTeam(): %w", err)
} else if !official {
if official, err = IsOfficialReviewer(ctx, issue, doer); err != nil {
return nil, fmt.Errorf("isOfficialReviewer(): %w", err)
}
}
if review, err = CreateReview(ctx, CreateReviewOptions{
@ -797,12 +793,6 @@ func AddTeamReviewRequest(ctx context.Context, issue *Issue, reviewer *organizat
return nil, err
}
if official {
if _, err := db.Exec(ctx, "UPDATE `review` SET official=? WHERE issue_id=? AND reviewer_team_id=?", false, issue.ID, reviewer.ID); err != nil {
return nil, err
}
}
comment, err := CreateComment(ctx, &CreateCommentOptions{
Type: CommentTypeReviewRequest,
Doer: doer,

View file

@ -8,6 +8,7 @@ import (
"forgejo.org/models/db"
issues_model "forgejo.org/models/issues"
organization_model "forgejo.org/models/organization"
repo_model "forgejo.org/models/repo"
"forgejo.org/models/unittest"
user_model "forgejo.org/models/user"
@ -319,3 +320,80 @@ func TestAddReviewRequest(t *testing.T) {
require.Error(t, err)
assert.True(t, issues_model.IsErrReviewRequestOnClosedPR(err))
}
func TestAddTeamReviewRequest(t *testing.T) {
defer unittest.OverrideFixtures("models/fixtures/TestAddTeamReviewRequest")()
require.NoError(t, unittest.PrepareTestDatabase())
setupForProtectedBranch := func() (*issues_model.Issue, *user_model.User) {
// From override models/fixtures/TestAddTeamReviewRequest/issue.yml; issue #23 is a PR into a protected branch
issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 23})
require.NoError(t, issue.LoadRepo(db.DefaultContext))
doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 4})
return issue, doer
}
t.Run("Protected branch, not official team", func(t *testing.T) {
issue, doer := setupForProtectedBranch()
// Team 2 is not part of the whitelist for this protected branch
team := unittest.AssertExistsAndLoadBean(t, &organization_model.Team{ID: 2})
comment, err := issues_model.AddTeamReviewRequest(db.DefaultContext, issue, team, doer)
require.NoError(t, err)
require.NotNil(t, comment)
review, err := issues_model.GetTeamReviewerByIssueIDAndTeamID(db.DefaultContext, issue.ID, team.ID)
require.NoError(t, err)
require.NotNil(t, review)
assert.Equal(t, issues_model.ReviewTypeRequest, review.Type)
assert.Equal(t, team.ID, review.ReviewerTeamID)
// This review request should not be marked official because it is not a request for a team in the branch
// protection rule's whitelist...
assert.False(t, review.Official)
})
t.Run("Protected branch, official team", func(t *testing.T) {
issue, doer := setupForProtectedBranch()
// Team 1 is part of the whitelist for this protected branch
team := unittest.AssertExistsAndLoadBean(t, &organization_model.Team{ID: 1})
comment, err := issues_model.AddTeamReviewRequest(db.DefaultContext, issue, team, doer)
require.NoError(t, err)
require.NotNil(t, comment)
review, err := issues_model.GetTeamReviewerByIssueIDAndTeamID(db.DefaultContext, issue.ID, team.ID)
require.NoError(t, err)
require.NotNil(t, review)
assert.Equal(t, issues_model.ReviewTypeRequest, review.Type)
assert.Equal(t, team.ID, review.ReviewerTeamID)
// Expected to be considered official because team 1 is in the review whitelist for this protected branch
assert.True(t, review.Official)
})
t.Run("Unprotected branch, official team", func(t *testing.T) {
// Working on a PR into a branch that is not protected, issue #2
issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2})
require.NoError(t, issue.LoadRepo(db.DefaultContext))
doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
// team is a team that has write perms against the repo
team := unittest.AssertExistsAndLoadBean(t, &organization_model.Team{ID: 1})
comment, err := issues_model.AddTeamReviewRequest(db.DefaultContext, issue, team, doer)
require.NoError(t, err)
require.NotNil(t, comment)
review, err := issues_model.GetTeamReviewerByIssueIDAndTeamID(db.DefaultContext, issue.ID, team.ID)
require.NoError(t, err)
require.NotNil(t, review)
assert.Equal(t, issues_model.ReviewTypeRequest, review.Type)
assert.Equal(t, team.ID, review.ReviewerTeamID)
// Will not be marked as official because PR #2 there's no branch protection rule that enables whitelist
// approvals (verifying logic in `IsOfficialReviewerTeam` indirectly)
assert.False(t, review.Official)
// Adding the same team review request again should be a noop
comment, err = issues_model.AddTeamReviewRequest(db.DefaultContext, issue, team, doer)
require.NoError(t, err)
require.Nil(t, comment)
})
}

View file

@ -100,7 +100,7 @@ type AbuseReport struct {
// The abuse category selected by the reporter.
Category AbuseCategoryType `xorm:"INDEX NOT NULL"`
// Remarks provided by the reporter.
Remarks string
Remarks string `xorm:"VARCHAR(500)"`
// The ID of the corresponding shadow-copied content when exists; otherwise null.
ShadowCopyID sql.NullInt64 `xorm:"DEFAULT NULL"`
CreatedUnix timeutil.TimeStamp `xorm:"created NOT NULL"`

View file

@ -17,7 +17,7 @@ import (
type AbuseReportShadowCopy struct {
ID int64 `xorm:"pk autoincr"`
RawValue string `xorm:"NOT NULL"`
RawValue string `xorm:"LONGTEXT NOT NULL"` // A JSON with relevant fields from user, repository, issue or comment table.
CreatedUnix timeutil.TimeStamp `xorm:"created NOT NULL"`
}

View file

@ -125,7 +125,7 @@ func (pt Type) Name() string {
case TypeRpm:
return "RPM"
case TypeAlt:
return "Alt"
return "ALT"
case TypeRubyGems:
return "RubyGems"
case TypeSwift:

View file

@ -41,27 +41,30 @@ func (err ErrUnitTypeNotExist) Unwrap() error {
}
// RepoUnitAccessMode specifies the users access mode to a repo unit
// Only UnitAccessModeWrite is used by the wiki, to mark it as instance-writable
type UnitAccessMode int
const (
// UnitAccessModeUnset - no unit mode set
UnitAccessModeUnset UnitAccessMode = iota // 0
// UnitAccessModeNone no access
UnitAccessModeNone // 1
// UnitAccessModeNone UnitAccessMode = 1
// UnitAccessModeRead read access
UnitAccessModeRead // 2
// UnitAccessModeRead UnitAccessMode = 2
// UnitAccessModeWrite write access
UnitAccessModeWrite // 3
UnitAccessModeWrite UnitAccessMode = 3
)
func (mode UnitAccessMode) ToAccessMode(modeIfUnset perm.AccessMode) perm.AccessMode {
switch mode {
case UnitAccessModeUnset:
return modeIfUnset
case UnitAccessModeNone:
return perm.AccessModeNone
case UnitAccessModeRead:
return perm.AccessModeRead
// case UnitAccessModeNone:
// return perm.AccessModeNone
// case UnitAccessModeRead:
// return perm.AccessModeRead
case UnitAccessModeWrite:
return perm.AccessModeWrite
default:

View file

@ -34,8 +34,8 @@ func TestActionsConfig(t *testing.T) {
}
func TestRepoUnitAccessMode(t *testing.T) {
assert.Equal(t, perm.AccessModeNone, UnitAccessModeNone.ToAccessMode(perm.AccessModeAdmin))
assert.Equal(t, perm.AccessModeRead, UnitAccessModeRead.ToAccessMode(perm.AccessModeAdmin))
// assert.Equal(t, perm.AccessModeNone, UnitAccessModeNone.ToAccessMode(perm.AccessModeAdmin))
// assert.Equal(t, perm.AccessModeRead, UnitAccessModeRead.ToAccessMode(perm.AccessModeAdmin))
assert.Equal(t, perm.AccessModeWrite, UnitAccessModeWrite.ToAccessMode(perm.AccessModeAdmin))
assert.Equal(t, perm.AccessModeRead, UnitAccessModeUnset.ToAccessMode(perm.AccessModeRead))
}

View file

@ -181,3 +181,20 @@ func TestDeletePrimaryEmailAddressOfUser(t *testing.T) {
assert.True(t, user_model.IsErrEmailAddressNotExist(err))
assert.Nil(t, email)
}
func TestActivateUserEmail(t *testing.T) {
defer unittest.OverrideFixtures("models/fixtures/TestActivateUserEmail")()
require.NoError(t, unittest.PrepareTestDatabase())
t.Run("Activate email", func(t *testing.T) {
require.NoError(t, user_model.ActivateUserEmail(t.Context(), 1001, "AnotherTestUserWithUpperCaseEmail@otto.splvs.net", true))
unittest.AssertExistsAndLoadBean(t, &user_model.EmailAddress{UID: 1001}, "is_activated = true")
})
t.Run("Deactivate email", func(t *testing.T) {
require.NoError(t, user_model.ActivateUserEmail(t.Context(), 1001, "AnotherTestUserWithUpperCaseEmail@otto.splvs.net", false))
unittest.AssertExistsAndLoadBean(t, &user_model.EmailAddress{UID: 1001}, "is_activated = false")
})
}

View file

@ -73,16 +73,20 @@ var userDataColumnNames = sync.OnceValue(func() []string {
// and if found a shadow copy of relevant user fields will be stored into DB and linked to the above report(s).
// This function should be called before a user is deleted or updated.
//
// In case the User object was already altered before calling this method, just provide the userID and
// nil for unalteredUser; when it is decided that a shadow copy should be created and unalteredUser is nil,
// the user will be retrieved from DB based on the provided userID.
//
// For deletions alteredCols argument must be omitted.
//
// In case of updates it will first checks whether any of the columns being updated (alteredCols argument)
// is relevant for moderation purposes (i.e. included in the UserData struct).
func IfNeededCreateShadowCopyForUser(ctx context.Context, user *User, alteredCols ...string) error {
func IfNeededCreateShadowCopyForUser(ctx context.Context, userID int64, unalteredUser *User, alteredCols ...string) error {
// TODO: this can be triggered quite often (e.g. by routers/web/repo/middlewares.go SetDiffViewStyle())
shouldCheckIfNeeded := len(alteredCols) == 0 // no columns being updated, therefore a deletion
if !shouldCheckIfNeeded {
// for updates we need to go further only if certain column are being changed
// for updates we need to go further only if certain columns are being changed
for _, colName := range userDataColumnNames() {
if shouldCheckIfNeeded = slices.Contains(alteredCols, colName); shouldCheckIfNeeded {
break
@ -94,18 +98,23 @@ func IfNeededCreateShadowCopyForUser(ctx context.Context, user *User, alteredCol
return nil
}
shadowCopyNeeded, err := moderation.IsShadowCopyNeeded(ctx, moderation.ReportedContentTypeUser, user.ID)
shadowCopyNeeded, err := moderation.IsShadowCopyNeeded(ctx, moderation.ReportedContentTypeUser, userID)
if err != nil {
return err
}
if shadowCopyNeeded {
userData := newUserData(user)
if unalteredUser == nil {
if unalteredUser, err = GetUserByID(ctx, userID); err != nil {
return err
}
}
userData := newUserData(unalteredUser)
content, err := json.Marshal(userData)
if err != nil {
return err
}
return moderation.CreateShadowCopyForUser(ctx, user.ID, string(content))
return moderation.CreateShadowCopyForUser(ctx, userID, string(content))
}
return nil

View file

@ -182,11 +182,11 @@ func (u *User) BeforeUpdate() {
u.MaxRepoCreation = -1
}
// Organization does not need email
u.Email = strings.ToLower(u.Email)
// Ensure AvatarEmail is set for non-organization users, because organization
// are not required to have a email set.
if !u.IsOrganization() {
if len(u.AvatarEmail) == 0 {
u.AvatarEmail = u.Email
u.AvatarEmail = strings.ToLower(u.Email)
}
}
@ -927,7 +927,9 @@ func UpdateUserCols(ctx context.Context, u *User, cols ...string) error {
// If the user was reported as abusive and any of the columns being updated is relevant
// for moderation purposes a shadow copy should be created before first update.
if err := IfNeededCreateShadowCopyForUser(ctx, u, cols...); err != nil {
// Since u is already altered at this point we are sending nil instead as an argument
// so that the unaltered version will be retrieved from DB.
if err := IfNeededCreateShadowCopyForUser(ctx, u.ID, nil, cols...); err != nil {
return err
}

View file

@ -56,14 +56,7 @@ func Local(name, base string, sub ...string) *Layer {
panic(fmt.Sprintf("Unable to get absolute path for %q: %v", base, err))
}
root := util.FilePathJoinAbs(base, sub...)
fsRoot, err := os.OpenRoot(root)
if err != nil {
if errors.Is(err, fs.ErrNotExist) {
return nil
}
panic(fmt.Sprintf("Unable to open layer %q", err))
}
return &Layer{name: name, fs: fsRoot.FS(), localPath: root}
return &Layer{name: name, fs: os.DirFS(root), localPath: root}
}
// Bindata returns a new Layer with the given name, it serves files from the given bindata asset.
@ -80,7 +73,7 @@ type LayeredFS struct {
// Layered returns a new LayeredFS with the given layers. The first layer is the top layer.
func Layered(layers ...*Layer) *LayeredFS {
return &LayeredFS{layers: slices.DeleteFunc(layers, func(layer *Layer) bool { return layer == nil })}
return &LayeredFS{layers: layers}
}
// Open opens the named file. The caller is responsible for closing the file.

View file

@ -1,4 +1,5 @@
// Copyright 2023 The Gitea Authors. All rights reserved.
// Copyright 2025 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package assetfs
@ -108,3 +109,30 @@ func TestLayered(t *testing.T) {
assert.Equal(t, "l1", assets.GetFileLayerName("f1"))
assert.Equal(t, "l2", assets.GetFileLayerName("f2"))
}
// Allow layers to read symlink outside the layer root.
func TestLayeredSymlink(t *testing.T) {
dir := t.TempDir()
dirl1 := filepath.Join(dir, "l1")
require.NoError(t, os.MkdirAll(dirl1, 0o755))
// Open layer in dir/l1
layer := Local("l1", dirl1)
// Create a file in dir/outside
fileContents := []byte("I am outside the layer")
require.NoError(t, os.WriteFile(filepath.Join(dir, "outside"), fileContents, 0o600))
// Symlink dir/l1/outside to dir/outside
require.NoError(t, os.Symlink(filepath.Join(dir, "outside"), filepath.Join(dirl1, "outside")))
// Open dir/l1/outside.
f, err := layer.Open("outside")
require.NoError(t, err)
defer f.Close()
// Confirm it contains the output of dir/outside
contents, err := io.ReadAll(f)
require.NoError(t, err)
assert.Equal(t, fileContents, contents)
}

View file

@ -97,7 +97,7 @@ func HighlightSearchResultCode(filename string, lineNums []int, highlightRanges
conv := hcd.ConvertToPlaceholders(string(hl))
convLines := strings.Split(conv, "\n")
// each highlightRange is of the form [line number, start pos, end pos]
// each highlightRange is of the form [line number, start byte offset, end byte offset]
for _, highlightRange := range highlightRanges {
ln, start, end := highlightRange[0], highlightRange[1], highlightRange[2]
line := convLines[ln]
@ -105,15 +105,18 @@ func HighlightSearchResultCode(filename string, lineNums []int, highlightRanges
continue
}
sr := strings.NewReader(line)
sb := strings.Builder{}
count := -1
isOpen := false
for _, r := range line {
for r, size, err := sr.ReadRune(); err == nil; r, size, err = sr.ReadRune() {
if token, ok := hcd.PlaceholderTokenMap[r];
// token was not found
!ok ||
// token was marked as used
token == "" ||
!ok {
count += size
} else if
// token was marked as used
token == "" ||
// the token is not an valid html tag emitted by chroma
!(len(token) > 6 && (token[0:5] == "<span" || token[0:6] == "</span")) {
count++
@ -132,15 +135,15 @@ func HighlightSearchResultCode(filename string, lineNums []int, highlightRanges
continue
}
switch count {
case end:
switch {
case count >= end:
// if tag is not open, no need to close
if !isOpen {
break
}
sb.WriteRune(endTag)
isOpen = false
case start:
case count >= start:
// if tag is open, do not open again
if isOpen {
break
@ -161,7 +164,7 @@ func HighlightSearchResultCode(filename string, lineNums []int, highlightRanges
highlightedLines := strings.Split(hcd.Recover(conv), "\n")
// The lineNums outputted by highlight.Code might not match the original lineNums, because "highlight" removes the last `\n`
lines := make([]ResultLine, min(len(highlightedLines), len(lineNums)))
for i := 0; i < len(lines); i++ {
for i := range len(lines) {
lines[i].Num = lineNums[i]
lines[i].FormattedContent = template.HTML(highlightedLines[i])
}

View file

@ -0,0 +1,122 @@
// Copyright 2025 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package code
import (
"html/template"
"strings"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestHighlightSearchResultCode(t *testing.T) {
opts := []struct {
Title string
File string
Lines []int
Range [][3]int
Code string
Result []template.HTML
}{
{
Title: "One Match Text",
File: "test.txt",
Range: [][3]int{{1, 5, 9}},
Code: "First Line\nMark this only\nThe End",
Result: []template.HTML{
"First Line",
"Mark <span class=\"search-highlight\">this</span> only",
"The End",
},
},
{
Title: "Two Match Text",
File: "test.txt",
Range: [][3]int{
{1, 5, 9},
{2, 5, 9},
},
Code: "First Line\nMark this only\nMark this too\nThe End",
Result: []template.HTML{
"First Line",
"Mark <span class=\"search-highlight\">this</span> only",
"Mark <span class=\"search-highlight\">this</span> too",
"The End",
},
},
{
Title: "Unicode Before",
File: "test.txt",
Range: [][3]int{{1, 10, 14}},
Code: "First Line\nMark 👉 this only\nThe End",
Result: []template.HTML{
"First Line",
"Mark 👉 <span class=\"search-highlight\">this</span> only",
"The End",
},
},
{
Title: "Unicode Between",
File: "test.txt",
Range: [][3]int{{1, 5, 14}},
Code: "First Line\nMark this 😊 only\nThe End",
Result: []template.HTML{
"First Line",
"Mark <span class=\"search-highlight\">this 😊</span> only",
"The End",
},
},
{
Title: "Unicode Before And Between",
File: "test.txt",
Range: [][3]int{{1, 10, 19}},
Code: "First Line\nMark 👉 this 😊 only\nThe End",
Result: []template.HTML{
"First Line",
"Mark 👉 <span class=\"search-highlight\">this 😊</span> only",
"The End",
},
},
{
Title: "Golang",
File: "test.go",
Range: [][3]int{{1, 14, 23}},
Code: "func main() {\n\tfmt.Println(\"mark this\")\n}",
Result: []template.HTML{
"<span class=\"kd\">func</span> <span class=\"nf\">main</span><span class=\"p\">(</span><span class=\"p\">)</span> <span class=\"p\">{</span>",
"\t<span class=\"nx\">fmt</span><span class=\"p\">.</span><span class=\"nf\">Println</span><span class=\"p\">(</span><span class=\"s\">&#34;<span class=\"search-highlight\">mark this</span>&#34;</span><span class=\"p\">)</span>",
"<span class=\"p\">}</span>",
},
},
{
Title: "Golang Unicode",
File: "test.go",
Range: [][3]int{{1, 14, 28}},
Code: "func main() {\n\tfmt.Println(\"mark this 😊\")\n}",
Result: []template.HTML{
"<span class=\"kd\">func</span> <span class=\"nf\">main</span><span class=\"p\">(</span><span class=\"p\">)</span> <span class=\"p\">{</span>",
"\t<span class=\"nx\">fmt</span><span class=\"p\">.</span><span class=\"nf\">Println</span><span class=\"p\">(</span><span class=\"s\">&#34;<span class=\"search-highlight\">mark this 😊</span>&#34;</span><span class=\"p\">)</span>",
"<span class=\"p\">}</span>",
},
},
}
for _, o := range opts {
t.Run(o.Title, func(t *testing.T) {
lines := []int{}
for i := range strings.Count(strings.TrimSuffix(o.Code, "\n"), "\n") + 1 {
lines = append(lines, i+1)
}
res := HighlightSearchResultCode(o.File, lines, o.Range, o.Code)
assert.Len(t, res, len(o.Result))
assert.Len(t, res, len(lines))
for i, r := range res {
require.Equal(t, lines[i], r.Num)
require.Equal(t, o.Result[i], r.FormattedContent)
}
})
}
}

View file

@ -156,11 +156,12 @@ func (b *Indexer) Delete(_ context.Context, ids ...int64) error {
func (b *Indexer) Search(ctx context.Context, options *internal.SearchOptions) (*internal.SearchResult, error) {
var queries []query.Query
if options.Keyword != "" {
tokens, err := options.Tokens()
if err != nil {
return nil, err
}
tokens, err := options.Tokens()
if err != nil {
return nil, err
}
if len(tokens) > 0 {
q := bleve.NewBooleanQuery()
for _, token := range tokens {
innerQ := bleve.NewDisjunctionQuery(

View file

@ -149,12 +149,13 @@ func (b *Indexer) Delete(ctx context.Context, ids ...int64) error {
func (b *Indexer) Search(ctx context.Context, options *internal.SearchOptions) (*internal.SearchResult, error) {
query := elastic.NewBoolQuery()
if options.Keyword != "" {
tokens, err := options.Tokens()
if err != nil {
return nil, err
}
if len(tokens) > 0 {
q := elastic.NewBoolQuery()
tokens, err := options.Tokens()
if err != nil {
return nil, err
}
for _, token := range tokens {
innerQ := elastic.NewMultiMatchQuery(token.Term, "content", "comments").FieldWithBoost("title", 2.0).TieBreaker(0.5)
if token.Fuzzy {

View file

@ -45,12 +45,9 @@ func (t *Tokenizer) next() (tk Token, err error) {
// skip all leading white space
for {
if r, _, err = t.in.ReadRune(); err == nil && r == ' ' {
//nolint:staticcheck,wastedassign // SA4006 the variable is used after the loop
r, _, err = t.in.ReadRune()
continue
if r, _, err = t.in.ReadRune(); err != nil || r != ' ' {
break
}
break
}
if err != nil {
return tk, err
@ -107,11 +104,17 @@ nextEnd:
// Tokenize the keyword
func (o *SearchOptions) Tokens() (tokens []Token, err error) {
if o.Keyword == "" {
return nil, nil
}
in := strings.NewReader(o.Keyword)
it := Tokenizer{in: in}
for token, err := it.next(); err == nil; token, err = it.next() {
tokens = append(tokens, token)
if token.Term != "" {
tokens = append(tokens, token)
}
}
if err != nil && err != io.EOF {
return nil, err

View file

@ -41,6 +41,36 @@ var testOpts = []testIssueQueryStringOpt{
},
},
},
{
Keyword: "Hello World",
Results: []Token{
{
Term: "Hello",
Fuzzy: true,
Kind: BoolOptShould,
},
{
Term: "World",
Fuzzy: true,
Kind: BoolOptShould,
},
},
},
{
Keyword: " Hello World ",
Results: []Token{
{
Term: "Hello",
Fuzzy: true,
Kind: BoolOptShould,
},
{
Term: "World",
Fuzzy: true,
Kind: BoolOptShould,
},
},
},
{
Keyword: "+Hello +World",
Results: []Token{
@ -156,6 +186,68 @@ var testOpts = []testIssueQueryStringOpt{
},
},
},
{
Keyword: "\\",
Results: nil,
},
{
Keyword: "\"",
Results: nil,
},
{
Keyword: "Hello \\",
Results: []Token{
{
Term: "Hello",
Fuzzy: true,
Kind: BoolOptShould,
},
},
},
{
Keyword: "\"\"",
Results: nil,
},
{
Keyword: "\" World \"",
Results: []Token{
{
Term: " World ",
Fuzzy: false,
Kind: BoolOptShould,
},
},
},
{
Keyword: "\"\" World \"\"",
Results: []Token{
{
Term: "World",
Fuzzy: true,
Kind: BoolOptShould,
},
},
},
{
Keyword: "Best \"Hello World\" Ever",
Results: []Token{
{
Term: "Best",
Fuzzy: true,
Kind: BoolOptShould,
},
{
Term: "Hello World",
Fuzzy: false,
Kind: BoolOptShould,
},
{
Term: "Ever",
Fuzzy: true,
Kind: BoolOptShould,
},
},
},
}
func TestIssueQueryString(t *testing.T) {

View file

@ -87,14 +87,44 @@ func TestIndexer(t *testing.T, indexer internal.Indexer) {
}
}
func allResults(t *testing.T, data map[int64]*internal.IndexerData, result *internal.SearchResult) {
assert.Len(t, result.Hits, len(data))
assert.Equal(t, len(data), int(result.Total))
}
var cases = []*testIndexerCase{
{
Name: "default",
SearchOptions: &internal.SearchOptions{},
Expected: func(t *testing.T, data map[int64]*internal.IndexerData, result *internal.SearchResult) {
assert.Len(t, result.Hits, len(data))
assert.Equal(t, len(data), int(result.Total))
Expected: allResults,
},
{
Name: "empty keyword",
SearchOptions: &internal.SearchOptions{
Keyword: "",
},
Expected: allResults,
},
{
Name: "whitespace keyword",
SearchOptions: &internal.SearchOptions{
Keyword: " ",
},
Expected: allResults,
},
{
Name: "dangling slash in keyword",
SearchOptions: &internal.SearchOptions{
Keyword: "\\",
},
Expected: allResults,
},
{
Name: "dangling quote in keyword",
SearchOptions: &internal.SearchOptions{
Keyword: "\"",
},
Expected: allResults,
},
{
Name: "empty",

View file

@ -104,7 +104,7 @@ func TestRender_Images(t *testing.T) {
test(
"!["+title+"]("+url+")",
`<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`"/></a></p>`)
`<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`" loading="lazy"/></a></p>`)
test(
"[["+title+"|"+url+"]]",
@ -115,7 +115,7 @@ func TestRender_Images(t *testing.T) {
test(
"!["+title+"]("+url+")",
`<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`"/></a></p>`)
`<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`" loading="lazy"/></a></p>`)
test(
"[["+title+"|"+url+"]]",
@ -412,8 +412,8 @@ func TestRenderSiblingImages_Issue12925(t *testing.T) {
testcase := `![image1](/image1)
![image2](/image2)
`
expected := `<p><a href="/image1" target="_blank" rel="nofollow noopener"><img src="/image1" alt="image1"></a><br>
<a href="/image2" target="_blank" rel="nofollow noopener"><img src="/image2" alt="image2"></a></p>
expected := `<p><a href="/image1" target="_blank" rel="nofollow noopener"><img src="/image1" alt="image1" loading="lazy"></a><br>
<a href="/image2" target="_blank" rel="nofollow noopener"><img src="/image2" alt="image2" loading="lazy"></a></p>
`
res, err := markdown.RenderRawString(&markup.RenderContext{Ctx: git.DefaultContext}, testcase)
require.NoError(t, err)
@ -845,10 +845,10 @@ mail@domain.com
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/src/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image"/></a><br/>
<a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image"/></a><br/>
<a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/image.jpg" rel="nofollow"><img src="/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -872,10 +872,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/image.jpg" alt="local image"/></a><br/>
<a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/wiki/raw/image.jpg" rel="nofollow"><img src="/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -901,10 +901,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="https://gitea.io/src/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="https://gitea.io/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/image.jpg" alt="local image"/></a><br/>
<a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image"/></a><br/>
<a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="https://gitea.io/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="https://gitea.io/image.jpg" rel="nofollow"><img src="https://gitea.io/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -930,10 +930,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="https://gitea.io/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="https://gitea.io/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/image.jpg" alt="local image"/></a><br/>
<a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="https://gitea.io/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="https://gitea.io/wiki/raw/image.jpg" rel="nofollow"><img src="https://gitea.io/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -959,10 +959,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/src/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/image.jpg" alt="local image"/></a><br/>
<a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image"/></a><br/>
<a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="/relative/path/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/relative/path/image.jpg" rel="nofollow"><img src="/relative/path/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -988,10 +988,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1018,10 +1018,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/src/branch/main/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/media/branch/main/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/image.jpg" alt="local image"/></a><br/>
<a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image"/></a><br/>
<a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="/user/repo/media/branch/main/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/image.jpg" rel="nofollow"><img src="/user/repo/media/branch/main/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1048,10 +1048,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1078,10 +1078,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/src/sub/folder/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/image.jpg" alt="local image"/></a><br/>
<a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image"/></a><br/>
<a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="/user/repo/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/user/repo/image.jpg" rel="nofollow"><img src="/user/repo/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1108,10 +1108,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1139,10 +1139,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/src/branch/main/sub/folder/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/media/branch/main/sub/folder/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/image.jpg" alt="local image"/></a><br/>
<a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image"/></a><br/>
<a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="/user/repo/media/branch/main/sub/folder/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/sub/folder/image.jpg" rel="nofollow"><img src="/user/repo/media/branch/main/sub/folder/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1170,10 +1170,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>

View file

@ -44,6 +44,7 @@ func (g *ASTTransformer) transformImage(ctx *markup.RenderContext, v *ast.Image)
for _, attr := range v.Attributes() {
image.SetAttribute(attr.Name, attr.Value)
}
image.SetAttributeString("loading", []byte("lazy"))
for child := v.FirstChild(); child != nil; {
next := child.NextSibling()
image.AppendChild(image, child)

View file

@ -108,6 +108,9 @@ func createDefaultPolicy() *bluemonday.Policy {
// Allow classes for emojis
policy.AllowAttrs("class").Matching(regexp.MustCompile(`^emoji$`)).OnElements("img")
// Allow attributes for images
policy.AllowAttrs("loading").Matching(regexp.MustCompile(`^lazy$`)).OnElements("img")
// Allow icons, emojis, chroma syntax and keyword markup on span
policy.AllowAttrs("class").Matching(regexp.MustCompile(`^((icon(\s+[\p{L}\p{N}_-]+)+)|(emoji)|(language-math display)|(language-math inline))$|^([a-z][a-z0-9]{0,2})$|^` + keywordClass + `$`)).OnElements("span")
policy.AllowAttrs("data-alias").Matching(regexp.MustCompile(`^[a-zA-Z0-9-_+]+$`)).OnElements("span")

View file

@ -75,6 +75,10 @@ func Test_Sanitizer(t *testing.T) {
// Emoji
`<span class="emoji" aria-label="thumbs up" data-alias="+1">THUMBS UP</span>`, `<span class="emoji" aria-label="thumbs up" data-alias="+1">THUMBS UP</span>`,
`<span class="emoji" aria-label="thumbs up" data-alias="(+!)">THUMBS UP</span>`, `<span class="emoji" aria-label="thumbs up">THUMBS UP</span>`,
// Images lazy loading
`<img src="/image1" alt="image1" loading="lazy">`, `<img src="/image1" alt="image1" loading="lazy">`,
`<img src="/image1" alt="image1" loading="eager">`, `<img src="/image1" alt="image1">`,
}
for i := 0; i < len(testCases); i += 2 {

View file

@ -232,9 +232,10 @@ func getEntries(h *rpmutils.RpmHeader, namesTag, versionsTag, flagsTag int, repo
case "alt":
for i := range names {
e := &Entry{
Name: names[i],
AltFlags: uint32(flags[i]),
Version: versions[i],
}
e.Version = versions[i]
entries = append(entries, e)
}
}

View file

@ -35,6 +35,7 @@ var (
PasswordHashAlgo string
PasswordCheckPwn bool
SuccessfulTokensCacheSize int
DisableQueryAuthToken bool
CSRFCookieName = "_csrf"
CSRFCookieHTTPOnly = true
)
@ -159,4 +160,14 @@ func loadSecurityFrom(rootCfg ConfigProvider) {
PasswordComplexity = append(PasswordComplexity, name)
}
}
sectionHasDisableQueryAuthToken := sec.HasKey("DISABLE_QUERY_AUTH_TOKEN")
// TODO: default value should be true in future releases
DisableQueryAuthToken = sec.Key("DISABLE_QUERY_AUTH_TOKEN").MustBool(false)
// warn if the setting is set to false explicitly
if sectionHasDisableQueryAuthToken && !DisableQueryAuthToken {
log.Warn("Enabling Query API Auth tokens is not recommended. DISABLE_QUERY_AUTH_TOKEN will default to true in gitea 1.23 and will be removed in gitea 1.24.")
}
}

View file

@ -16,6 +16,8 @@ import (
"forgejo.org/modules/json"
"forgejo.org/modules/log"
"forgejo.org/modules/util"
"github.com/caddyserver/certmagic"
)
// Scheme describes protocol types
@ -206,7 +208,7 @@ func loadServerFrom(rootCfg ConfigProvider) {
EnableAcme = sec.Key("ENABLE_LETSENCRYPT").MustBool(false)
}
if EnableAcme {
AcmeURL = sec.Key("ACME_URL").MustString("")
AcmeURL = sec.Key("ACME_URL").MustString(certmagic.LetsEncryptProductionCA)
AcmeCARoot = sec.Key("ACME_CA_ROOT").MustString("")
if sec.HasKey("ACME_ACCEPTTOS") {

View file

@ -22,6 +22,12 @@ type Attachment struct {
Type string `json:"type"`
}
// WebAttachment the generic attachment with mime type
type WebAttachment struct {
*Attachment
MimeType string `json:"mime_type"`
}
// EditAttachmentOptions options for editing attachments
// swagger:model
type EditAttachmentOptions struct {

View file

@ -53,8 +53,7 @@ type CreateHookOption struct {
BranchFilter string `json:"branch_filter" binding:"GlobPattern"`
AuthorizationHeader string `json:"authorization_header"`
// default: false
Active bool `json:"active"`
IsSystemWebhook bool `json:"is_system_webhook"`
Active bool `json:"active"`
}
// EditHookOption options when modify one hook

View file

@ -192,8 +192,8 @@ func TestRenderMarkdownToHtml(t *testing.T) {
<a href="https://example.com" rel="nofollow">remote link</a>
<a href="/src/file.bin" rel="nofollow">local link</a>
<a href="https://example.com" rel="nofollow">remote link</a>
<a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image"/></a>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a>
<a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image" loading="lazy"/></a>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a>
<a href="/image.jpg" rel="nofollow"><img src="/image.jpg" title="local image" alt=""/></a>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow"><code>88fc37a3c0...12fc37a3c0 (hash)</code></a>

View file

@ -95,3 +95,25 @@ func UnsafeBytesToString(b []byte) string {
func UnsafeStringToBytes(s string) []byte {
return unsafe.Slice(unsafe.StringData(s), len(s))
}
// AsciiEqualFold is taken from Golang, but reimplemented here, since the original is not exposed to public
// Taken from: https://cs.opensource.google/go/go/+/refs/tags/go1.24.4:src/net/http/internal/ascii/print.go
func ASCIIEqualFold(s, t string) bool {
if len(s) != len(t) {
return false
}
for i := 0; i < len(s); i++ {
if ASCIILower(s[i]) != ASCIILower(t[i]) {
return false
}
}
return true
}
// AsciiLower returns the ASCII lowercase version of b.
func ASCIILower(b byte) byte {
if 'A' <= b && b <= 'Z' {
return b + ('a' - 'A')
}
return b
}

View file

@ -45,3 +45,29 @@ func TestToSnakeCase(t *testing.T) {
assert.Equal(t, expected, ToSnakeCase(input))
}
}
func TestASCIIEqualFold(t *testing.T) {
cases := map[string]struct {
First string
Second string
Expected bool
}{
"Empty String": {First: "", Second: "", Expected: true},
"Single Letter Ident": {First: "h", Second: "h", Expected: true},
"Single Letter Equal": {First: "h", Second: "H", Expected: true},
"Single Letter Unequal": {First: "h", Second: "g", Expected: false},
"Simple Match Ident": {First: "someString", Second: "someString", Expected: true},
"Simple Match Equal": {First: "someString", Second: "someSTRIng", Expected: true},
"Simple Match Unequal": {First: "someString", Second: "sameString", Expected: false},
"Different Length": {First: "abcdef", Second: "abcdefg", Expected: false},
"Unicode Kelvin": {First: "ghijklm", Second: "GHIJ\u212ALM", Expected: false},
}
for name := range cases {
c := cases[name]
t.Run(name, func(t *testing.T) {
Actual := ASCIIEqualFold(c.First, c.Second)
assert.Equal(t, c.Expected, Actual)
})
}
}

View file

@ -50,7 +50,7 @@ concept_user_organization = المنظمة
link_account = ربط الحساب
rerun_all = أعِد تشغيل جميع الوظائف
your_profile = الملف الشخصي
sign_out = سجل الخروج
sign_out = سجّل الخروج
settings = الإعدادات
locked = مقفول
error = خطأ
@ -87,7 +87,7 @@ add_all = أضف الكل
new_fork = اشتقاق جديد لمستودع
new_project_column = عمود جديد
add = أضف
active_stopwatch = تتبع وقت الإنجاز
active_stopwatch = متتبِّع وقت النشاط
organization = منظمة
new_migrate = ترحيل جديد
save = احفظ
@ -114,7 +114,7 @@ twofa_scratch = الرمز الاحتياطي للمصادقة بعاملين
home = الرئيسية
email = عنوان البريد الإلكتروني
issues = المسائل
error404 = الصفحة التي تحاول الوصول لها إما <strong>لا توجد</strong> أو <strong>أنت لست مأذون لك</strong> بعرضها.
error404 = الصفحة التي تحاول الوصول لها إما <strong>غير موجودو</strong> أو <strong>أنك غير مصرح لك</strong> بعرضها.
powered_by = مدعوم بواسطة %s
retry = أعد المحاولة
tracked_time_summary = ملخص للتتبع الزمني وفقًا لنتائج تصفية قائمة المسائل
@ -127,8 +127,8 @@ toggle_menu = تبديل القائمة
more_items = عناصر اضافية
copy_generic = نسخ إلى الحافظة
invalid_data = بيانات غير صالحة: %v
filter.clear = مسح المرشحات
filter = مرشح
filter.clear = مسح عوامل التصفية
filter = عامل تصفية
filter.is_archived = مؤرشف
filter.is_template = قوالب
filter.not_mirror = ليست مرايا
@ -137,7 +137,7 @@ filter.is_mirror = مرايا
filter.is_fork = الاشتقاقات
filter.not_fork = ليست اشتقاقات
filter.not_archived = ليس مؤرشف
filter.public = علني
filter.public = عام
filter.private = خاص
new_repo.title = مستودع جديد
new_migrate.title = انتقال جديد
@ -145,6 +145,11 @@ new_org.title = منظمة جديدة
new_repo.link = مستودع جديد
new_migrate.link = انتقال جديد
new_org.link = منظمة جديدة
test = اختبار
copy_path = نسخ المسار
error413 = لقد استنفدت حصتك.
[install]
db_name = اسم قاعدة البيانات
user = اسم المستخدم
@ -170,7 +175,7 @@ reinstall_confirm_check_2 = وقد يلزم إعادة تزامن المستود
run_user = شغّل عبر مستخدم
err_admin_name_is_invalid = اسم مستخدم المدير غير صالح
reinstall_confirm_check_3 = أنتِ تؤكد أنكِ متأكد تماماً من أن فورجيو يعمل مع مسار app.ini الصحيح وأنك متأكد من أنه يجب عليك إعادة تثبيته. أنت تُؤكّدُ بأنّك تُقرّ بالمخاطر السالفة الذكر.
repo_path = المسار الجذري للمستودع
repo_path = المسار الجذر للمستودع
err_empty_admin_email = عنوان بريد المدير لا يمكن أن يكون فارغ.
no_admin_and_disable_registration = لا يمكنك تعطيل التسجيل الذاتي للمستخدمين بدون إنشاء حساب إداري.
err_admin_name_pattern_not_allowed = اسم مستخدم المدير غير صالح، هذا الأسم يطابق نمطا محجوز
@ -179,10 +184,10 @@ repo_path_helper = ستُحفظ كلّ مستودعات جِت البعيدة ف
general_title = الإعدادات العامة
lfs_path_helper = الملفات التي تم تعقبها بواسطة Git LFS ستُخزن في هذا الدليل. اتركه فارغًا لتعطيله.
err_empty_db_path = طريق قاعدة بيانات SQLite3 لا يمكن أن يكون فارغا.
lfs_path = مسار جذر جِت LFS
app_name_helper = يمكنك إدخال اسم شركتك هنا.
lfs_path = مسار جذر Git LFS
app_name_helper = أدخل اسم المثيل هنا. سيظهر هذا الاسم في كل الصفحات.
err_admin_name_is_reserved = اسم مستخدم المدير غير صالح، هذا الأسم محجوز
app_name = عنوان الموقع
app_name = عنوان المثيل
log_root_path = مسار السجل
log_root_path_helper = ستُكتب ملفات السجل في هذا الدليل.
smtp_addr = مضيف SMTP
@ -190,7 +195,7 @@ smtp_port = منفذ SMTP
mailer_password = كلمة مرور SMTP
app_url_helper = العنوان الأساسي لاستنساخ عناوين URL HTTP(S) وإشعارات البريد الإلكتروني.
mailer_user = اسم مستخدم SMTP
disable_gravatar.description = عطل جرافاتار والجهات الخارجية للصور الرمزية. ستُستخدم صورة رمزية مبدئية حتى يرفع المستخدم صورة.
disable_gravatar.description = عطل Gravatar والجهات الخارجية للصور الرمزية. ستُستخدم صورة رمزية مبدئية حتى يرفع المستخدم صورة.
offline_mode.description = عطل خدمات توصيل المحتوى من الجهات الخارجية، واخدم كل المحتوى محلياً.
run_user_helper = اسم مستخدم نظام التشغيل الذي يشغل فورجيو. ملاحظة: هذا المستخدم يجب أن يكون له حق الوصول إلى المسار الجذري للمستودع.
domain = نطاق الخادم
@ -199,28 +204,28 @@ smtp_from = أرسل البريد الإلكتروني كـ
federated_avatar_lookup = تفعيل الصور الرمزية الاتحادية
optional_title = إعدادات اختيارية
domain_helper = نطاق أو عنوان المضيف لخادمك.
mail_notify = فعّل التنبيه عبر البريد الإلكتروني
app_url = الرابط الأساس لفورجيو
mail_notify = فعّل التنبيهات عبر البريد الإلكتروني
app_url = الرابط الأساس
smtp_from_helper = عنوان البريد الإلكتروني الذي سيستخدمه فورجيو. أدخل عنوان بريد إلكتروني عادي أو استخدم صيغة"Name" <email@example.com>.
ssh_port_helper = رقم المنفذ الذي يستمع له خادم SSH. اتركه فارغاً لتعطيله.
http_port_helper = المنفذ الذي سيستمع إليه خادم الويب لفورجيو.
http_port = منفذ استماع HTTP لفورجيو
http_port_helper = المنفذ الذي سيستمع إليه خادم ويب Forgejo.
http_port = منفذ استماع HTTP
ssh_port = منفذ خادم SSH
email_title = إعدادات البريد الإلكتروني
offline_mode = فعل الوضع المحلي
server_service_title = إعدادات الخادم وخدمات الجهات الخارجية
register_confirm = الزم تأكيد البريد الإلكتروني للتسجيل
allow_only_external_registration.description = لا يسمح بالتسجيل إلا من خلال الخدمات الخارجية
allow_only_external_registration.description = لن يتمكن المستخدمون من إنشاء حسابات جديدة إلا باستخدام خدمات خارجية مهيأة.
disable_registration = عطّل التسجيل الذاتي
federated_avatar_lookup.description = تفعيل الصور الرمزية الاتحادية باستخدام ليبرافاتار.
federated_avatar_lookup.description = تفعيل الصور الرمزية الاتحادية باستخدام Libravatar.
openid_signup = فعّل التسجيل الذاتي عبر OpenID
disable_registration.description = عطل التسجيل الذاتي. المديرون فقط سيكونون قادرين على إنشاء حسابات جديدة للمستخدمين.
disable_registration.description = سيتمكن مسؤولو المثيل فقط من إنشاء حسابات مستخدمين جديدة. يوصى بشدة بإبقاء التسجيل معطلاً إلا إذا كنت تنوي استضافة مثيل عام للجميع ومستعد للتعامل مع كميات كبيرة من الحسابات غير المرغوب بها.
openid_signin = فعّل تسجيل الدخول عبر OpenID
openid_signin.description = فعّل تسجيل دخول المستخدمين عبر OpenID.
enable_captcha = فعّل كابتشا التسجيل
enable_captcha.description = الزم وجود كابتشا للتسجيل الذاتي للمستخدمين.
enable_captcha.description = مطالبة المستخدمين باجتياز اختبار CAPTCHA من أجل إنشاء حسابات.
openid_signup.description = فعّل التسجيل الذاتي للمستخدمين عبر OpenID.
require_sign_in_view = الزم تسجيل الدخول لعرض الصفحات
require_sign_in_view = يتطلب تسجيل الدخول لعرض محتوى المثيل
require_sign_in_view.description = مكّن وصول الصفحات للمستخدمين فقط. لن يرى الزائرون سوى صفحات التسجيل والتسجيل.
admin_setting.description = إنشاء حساب إداري هو اختياري. أول مستخدم مُسجل سيصبح تلقائيا مديرا.
admin_password = كلمة المرور
@ -233,7 +238,7 @@ test_git_failed = يتعذر اختبار أمر جِت: %v
confirm_password = أكّد كلمة المرور
invalid_admin_setting = إعداد حساب المدير غير صالح: %v
invalid_log_root_path = مسار السجل غير صالح: %v
default_enable_timetracking = فعّل تتبع الوقت مبدئيا
default_enable_timetracking = فعّل التتبع الزمني افتراضيًا
env_config_keys_prompt = ستطبق المتغيرات البيئية التالية أيضاً على ملف الإعدادات:
admin_title = إعدادات حساب المدير
no_reply_address_helper = النطاق للمستخدمين بعنوان بريد إلكتروني مخفي. مثلاً، اسم المستخدم "sarah" سوف يسجل في جِت كـ"sarah@noreply.example.org" لو كان نطاق البريد الإلكتروني الخفي مدخل كـ"noreply.example.org".
@ -242,9 +247,9 @@ default_enable_timetracking.description = فعل تتبع الوقت للمست
run_user_not_match = مستخدم التشغيل غير مطابق لأسم المستخدم الحالي: %s -> %s
invalid_db_setting = إعدادات قاعدة البيانات غير صالحة: %v
invalid_db_table = جدول قاعدة البيانات "%s" غير صالح: %v
default_keep_email_private.description = أخفِ عناوين البريد الإلكتروني للحسابات الجديدة مبدئيا.
default_keep_email_private.description = قم بتمكين إخفاء عنوان البريد الإلكتروني للمستخدمين الجدد افتراضيًا حتى لا يتم تسريب هذه المعلومات فور التسجيل.
env_config_keys = إعدادات بيئية
default_allow_create_organization = اسمح بإنشاء المنظمات مبدئيا
default_allow_create_organization = اسمح بإنشاء المنظمات بشكل افتراضي
invalid_app_data_path = مسار بيانات التطبيق غير صالح: %v
enable_update_checker_helper = يفحص لإيجاد اصدارات جديدة عن طريق الإتصال بسيرفرات فورجيو.
invalid_repo_path = المسار الجزري للمستودع غير صالح: %v
@ -252,11 +257,17 @@ internal_token_failed = فشل توليد الرمز الداخلي: %v
no_reply_address = نطاقات البريد الإلكتروني المخفية
default_keep_email_private = أخفِ عناوين البريد الإلكتروني مبدئيا
admin_name = اسم مستخدم المدير
default_allow_create_organization.description = اسمح بحسابات المستخدمين الجديدة بإنشاء المنظمات مبدئيا.
default_allow_create_organization.description = السماح للمستخدمين الجدد بإنشاء منتديات المجموعة بشكل افتراضي. عند تعطيل هذا الخيار، سيتعين على المسؤول منح إذن لإنشاء منتديات المجموعة للمستخدمين الجدد.
password_algorithm = خوارزمية تجزئة كلمة المرور
invalid_password_algorithm = خوارزمية بصمة كلمة المرور غير صالحة
password_algorithm_helper = اختر خوارزمية بصمة كلمة المرور. تختلف الخوارزميات في متطلباتها وقوتها. خوارزمية argon2 آمنة لكن تتطلب الكثير من الذاكرة ولذلك قد تكون غير ملائمة للأنظمة الصغيرة.
app_slogan = شعار المثيل
app_slogan_helper = أدخل شعار المثيل الخاص بك هنا. اتركه فارغاً لتعطيله.
smtp_from_invalid = عنوان "،بريد الإرسال كـ" غير صالح
allow_only_external_registration = السماح بالتسجيل عبر الخدمات الخارجية فقط
config_location_hint = سيتم حفظ خيارات التهيئة هذه في:
[editor]
buttons.list.ordered.tooltip = أضف قائمة مرقمة
buttons.bold.tooltip = أضف نصًا عريضًا
@ -273,9 +284,22 @@ buttons.italic.tooltip = أضف نصًا مائلًا
buttons.link.tooltip = اضف رابط
buttons.disable_monospace_font = عطّل الخط الثابت العرض
buttons.indent.tooltip = تداخل العناصر بنفس المستوى
buttons.unindent.tooltip = ‪عناصر غير متساوية من نفس المستوى
buttons.new_table.tooltip = إضافة جدول
table_modal.header = إضافة جدول
table_modal.placeholder.header = الترويسة
table_modal.placeholder.content = المحتوى
table_modal.label.rows = الصفوف
table_modal.label.columns = الأعمدة
link_modal.header = إضافة رابط
link_modal.url = Url
link_modal.description = الوصف
link_modal.paste_reminder = تلميح: باستخدام عنوان URL في حافظتك، يمكنك اللصق مباشرةً في المحرر لإنشاء رابط.
[aria]
navbar = شريط التنقل
footer.software = عن البرمجية
footer.software = عن هذه البرمجية
footer.links = روابط
footer = الذيل
@ -297,7 +321,7 @@ twofa_disabled = عُطِّل الاستيثاق الثنائي.
theme_desc = ستكون هذه السمة المبدئية لك عبر الموقع.
new_password = كلمة المرور الجديدة
twofa_disable_desc = تعطيل الاستيثاق الثنائي سيجعل حسابك أقل أمانًا. أتريد الاستمرار؟
manage_themes = اختر السمة المبدئية
manage_themes = الموضوع الافتراضي
delete_prompt = هذه العملية ستحذف حسابك إلى الأبد. <strong>لا يمكن</strong> التراجع عنها بعد ذلك.
cancel = ألغ
repos_none = ليس لديك أي مستودع.
@ -390,7 +414,7 @@ account = الحساب
uploaded_avatar_is_too_big = حجم الملف المرفوع (%d كي‌ب) يتخطى الحجم الأقصى (%d كي‌ب).
biography_placeholder = أخبرنا شيئا عن نفسك! (يمكنك استخدام ماركداون)
comment_type_group_reference = الإشارات
orgs = إدارة المنظمات
orgs = المنظمات
update_profile = حدِّث الملف الشخصي
profile = الملف الشخصي
comment_type_group_dependency = الاعتماديات
@ -421,7 +445,7 @@ keep_email_private_popup = سيؤدي هذا إلى إخفاء عنوان بري
ssh_key_name_used = هناك مفتاح SSH بنفس الاسم موجود بالفعل على حسابك.
authorized_oauth2_applications = تطبيقات OAuth2 المأذونة
uid = المعرّف الرمزي
manage_openid = إدارة عناوين OpenID
manage_openid = عناوين OpenID
webauthn = استيثاق ثنائي (مفاتيح الأمان)
comment_type_group_deadline = الموعد النهائي
add_key = أضف مفتاح
@ -503,6 +527,8 @@ oauth2_redirect_uris = روابط إعادة التوجيه. نرجو وضع ك
remove_account_link = أزل الحساب المربوط
remove_account_link_success = أُزيل الحساب المربوط.
quota = كوتا
[org]
follow_blocked_user = لا يمكنك إتباع هذه المنظمة لأن هذه المنظمة حظرتك.
settings.delete_prompt = ستزال المنظمة إلى الأبد. <strong>لا يمكن</strong> التراجع عنها بعد ذلك!
@ -699,7 +725,7 @@ issues.filter_milestone_all = كل الأهداف
issues.unlock.notice_2 = - يمكنك دوما إقفال هذه المسألة من جديد في المستقبل.
issues.num_participants_few = %d متحاور
release.title = عنوان الإصدار
issues.closed_at = `أغلق هذه المسألة <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at = `أغلق هذه المسألة %s`
issues.lock.title = إقفال التحاور في هذه المسألة.
issues.new.no_label = بلا تصنيف
issues.filter_sort.mostforks = الأعلى اشتقاقا
@ -759,7 +785,7 @@ branch.renamed = غُيّر اسم الفرع %s إلى %s.
delete_preexisting = احذف الملفات الموجودة سابقا
branch.included_desc = هذا الفرع جزء من الفرع المبدئي
trust_model_helper_collaborator_committer = مشترك+مودع: ثق بتوقيعات المشتركين التي تطابق المودع
issues.reopened_at = `أعاد فتح هذه المسألة <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at = `أعاد فتح هذه المسألة %s`
issues.action_milestone = هدف
issues.new.assignees = المكلَّفون
release.tag_name_protected = اسم الوسم محمي.
@ -1166,7 +1192,7 @@ pulls.status_checking = في انتظار بعض الفحوص
pulls.status_checks_failure = بعض الفحوص فشلت
pulls.status_checks_success = جميع الفحوص ناجحة
pulls.status_checks_warning = بعض الفحوص تعطي تحذيرات
pulls.commit_ref_at = `أشار إلى طلب الدمج من إيداع <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `أشار إلى طلب الدمج من إيداع %s`
pulls.cmd_instruction_hint = `أظهر شرح استخدام سطر الأوامر.`
pulls.cmd_instruction_checkout_title = اسحب
pulls.cmd_instruction_checkout_desc = من مستودع مشروعك، اسحب (check out) فرعا جديدا واختبر التغييرات.
@ -1257,8 +1283,8 @@ pulls.status_checks_details = تفاصيل
pulls.status_checks_hide_all = أخفِ كل الفحوص
pulls.status_checks_show_all = أظهر كل الفحوص
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.closed_at = `أغلق طلب الدمج %s`
pulls.reopened_at = `أعاد فتح طلب الدمج %s`
milestones.title = العنوان
milestones.desc = الوصف
milestones.edit = عدّل الهدف
@ -1302,11 +1328,11 @@ issues.closed_by_fake = من %[2]s أُغلقت %[1]s
issues.num_comments_1 = %d تعليق
issues.num_comments = %d تعليقا
issues.commented_at = `علّق <a href="#%s">%s</a>`
issues.commit_ref_at = `أشار إلى هذه المسألة من إيداع <a id="%[1]s" href="#%[1]s">%[2]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 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.commit_ref_at = `أشار إلى هذه المسألة من إيداع %s`
issues.ref_issue_from = `<a href="%[2]s">أشار إلى هذه المسألة %[3]s</a> %[1]s`
issues.ref_pull_from = `<a href="%[2]s">أشار إلى هذا الطلب %[3]s</a> %[1]s`
issues.ref_closing_from = `<a href="%[2]s">أشار إلى طلب دمج %[3]s سيغلق هذه المسألة</a> %[1]s`
issues.ref_reopening_from = `<a href="%[2]s">أشار إلى طلب دمج %[3]s سيعيد فتح هذه المسألة</a> %[1]s`
issues.ref_closed_from = `<a href="%[3]s">أغلق هذه المسألة %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from = `<a href="%[3]s">أعاد فتح هذه المسألة %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reference_issue.body = المحتوى
@ -1386,6 +1412,22 @@ issue.action.ready_for_review = <b>@%[1]s</b> علّم هذا الطلب للس
issue_assigned.pull = @%[1]s عيّنك إلى طلب سحب %[2]s في مستودع %[3]s.
issue.action.review_dismissed = <b>@%[1]s</b> أستبعد آخر مراجعة من %[2]s لهذا الطلب للسحب.
password_change.subject = تم تغيير كلمة مرورك
password_change.text_1 = تم تغيير كلمة مرور حسابك للتو.
primary_mail_change.subject = تم تغيير البريد الأساسي الخاص بك
primary_mail_change.text_1 = تم تغيير البريد الإلكتروني الأساسي لحسابك إلى %[1]s. هذا يعني أن عنوان البريد الإلكتروني هذا لن يتلقى إشعارات البريد لحسابك بعد الآن.
totp_disabled.subject = تم تعطيل TOTP
totp_disabled.text_1 = تم تعطيل كلمة المرور لمرة واحدة المستندة إلى الوقت (TOTP) على حسابك للتو.
totp_disabled.no_2fa = لم تعد هناك طرق أُخرى للمصادقة الثنائية (2FA) قيد التهيئة عد الآن ، أي أنه لم يعد من الضروري تسجيل الدخول إلى حسابك باستخدام المصادقة الثنائية (2FA).
removed_security_key.subject = تمت إزالة مفتاح الأمان
removed_security_key.text_1 = تم إزالة مفتاح الأمان ”%[1] s“ للتو من حسابك.
removed_security_key.no_2fa = لم تعد هناك طرق أخرى للمصادقة الثنائية (2FA) قيد التهيئة بعد الآن، أي لم يعد من الضروري تسجيل الدخول إلى حسابك باستخدام المصادقة الثنائية (2FA).
account_security_caution.text_1 = إذا كان هذا أنت، فيمكنك تجاهل هذا البريد بأمان.
account_security_caution.text_2 = إذا لم تكن أنت، فهذا يعني أن حسابك مخترق. يرجى الاتصال بمسؤولي هذا الموقع.
totp_enrolled.subject = لقد قمت بتشيط TOTP كطريقة 2FA
totp_enrolled.text_1.no_webauthn = لقد قمت للتو بتمكين TOTP لحسابك. هذا يعني أنه بالنسبة لجميع عمليات تسجيل الدخول المستقبلية إلى حسابك، يجب عليك استخدام TOTP كطريقة للمصادقة الثنائية.
totp_enrolled.text_1.has_webauthn = لقد قمت للتو بتمكين TOTP لحسابك. هذا يعني أنه بالنسبة لجميع عمليات تسجيل الدخول المستقبلية إلى حسابك، يمكنك استخدام TOTP كطريقة للمصادقة الثنائية ، أو استخدام أي من مفاتيح الأمان الخاصة بك.
[error]
not_found = تعذر العثور على الهدف.
report_message = إن كنت متيقِّنًا أن هذه علة في فورجيو، رجاءً ابحث في <a href="%s" target="_blank">كودبيرج</a> أو افتح مسأله جديدة إذا لزم الأمر.
@ -1420,7 +1462,7 @@ joined_on = انضم في %s
user_bio = السيرة الذاتية
repositories = المستودعات
activity = النشاط العام
projects = مشاريع
projects = المشاريع
unfollow = إلغِ المتابعة
settings = إعدادات المستخدم
following_few = %d يتابع
@ -1428,7 +1470,7 @@ follow = تابع
followers_few = %d متابعين
form.name_reserved = اسم المستخدم "%s" محجوز.
email_visibility.limited = عنوان بريدك الإلكتروني ظاهر لكل المستخدمين المُستَوثَقين
code = البرمجية
code = الكود
overview = نظرة عامة
watched = المستودعات المشاهدة
disabled_public_activity = هذا المستخدم عطّل الظهور العام للنشاط.
@ -1438,6 +1480,18 @@ starred = المستودعات المميّزة بنجمة
form.name_chars_not_allowed = اسم المستخدم "%s" يحتوي على رموز غير صالحة.
form.name_pattern_not_allowed = النمط "s%" غير مسموح به في إسم المستخدم.
followers.title.one = متابِع
followers.title.few = متابعين
following.title.one = متابعة
following.title.few = متابعة
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 = هذا النشاط مرئي لك لأنك مسؤول، ولكن المستخدم يريد أن يظل خاصاً.
public_activity.visibility_hint.self_private_profile = نشاطك مرئي لك ولسُعاة المثيل فقط لأن ملفك الشخصي خاص. <a href="%s">تعديل الإعدادات</a>.
[auth]
change_unconfirmed_email_error = تعذر تغيير البريد الإلكتروني: %v
change_unconfirmed_email_summary = تغيير البريد الإلكتروني الذي يُرسل التفعيل له.
@ -1457,11 +1511,11 @@ active_your_account = فعّل حسابك
register_helper_msg = هل لديك حساب بالفعل؟ سجل الدخول!
manual_activation_only = تواصل مع مدير موقعك لإكمال التفعيل.
must_change_password = حدّث كلمة المرور الخاصة بك
send_reset_mail = أرسل رسالة استعادة حساب
send_reset_mail = أرسل بريد الاستعادة
resend_mail = اضغط هنا لإعادة إرسالة رسالة تفعيل حسابك
has_unconfirmed_mail = أهلا يا %s، لديك عنوان بريد إلكتروني غير مؤكَّد (<b>%s</b>). إن لم تستلم رسالة تأكيد أو تريد إرسال واحدة جديدة، فنرجو الضغط على الزر الذي بالأسفل.
email_not_associate = عنوان البريد هذا غير مرتبط بأي حساب.
reset_password = استعادة حساب
reset_password = استعادة الحساب
oauth_signin_tab = أربط بحساب موجود
invalid_password = كلمة المرور الخاصة بك لا تطابق كلمة المرور التي استخدمت لتسجيل الحساب.
oauth_signin_title = سجّل الدخول لتأذن للحساب المربوط
@ -1482,13 +1536,13 @@ reset_password_wrong_user = أنت مُسجل كـ %s، لكن رابط أعاد
openid_connect_title = اتصل بحساب موجود
confirmation_mail_sent_prompt = تم إرسال بريد تأكيد جديد إلى <b>%s</b>. يرجى التأكد من صندوق بريدك في خلال %s حتى تكتمل عملية التسجيل. إذا كان عنوان البريد خاطئ، يمكنك تسجيل الدخول وطلب بريد تأكيد جديد يُرسل إلى عنوان آخر.
scratch_code = رمز الخدش
invalid_code_forgot_password = رمز تأكيدك غير صحيح أو انتهى اضغط <a href="%s">هنا</a> للإعادة.
invalid_code_forgot_password = رمز تأكيدك غير صحيح أو انتهت صلاحيته. اضغط <a href="%s">هنا</a> للإعادة.
openid_register_title = أنشئ حسابًا جديدًا
verify = تحقق
twofa_scratch_used = لقد استخدمت رمز الخدش الخاص بك. لقد تم إعادة توجيهك إلى إعدادات المصادقة الثنائية حتى يمكنك إزالة تسجيل جهازك أو توليد رمز خدش جديد.
oauth_signup_submit = أكمل الحساب
oauth.signin.error = كان هناك خطأ في تجهيز طلب الإذن إذا استمر هذا الخطأ، يرجى الاتصال بالمدير.
invalid_code = رمز تأكيدك غير صحيح أو انتهى.
invalid_code = رمز تأكيدك غير صحيح أو انتهت صلاحيته.
oauth_signup_title = أكمل حساب جديد
resent_limit_prompt = لقد طلبت بالفعل بريداً إلكترونياً للتفعيل مؤخراً من فضلك انتظر 3 دقائق وحاول مرة أخرى.
reset_password_mail_sent_prompt = تم إرسال بريد تأكيد جديد إلى <b>%s</b>. يرجى التأكد من صندوق بريدك في خلال %s حتى تكتمل عملية استعادة الحساب.
@ -1513,6 +1567,14 @@ remember_me = تذكر هذا الجهاز
remember_me.compromised = رمز الاحتفاظ بتسجيل الدخول لم يعد صالحا، مما قد يعني اختراق الحساب. نرجو مراجعة حسابك لرؤية أي نشاط غير مألوف.
authorization_failed_desc = فشل التفويض لأننا اكتشفنا طلبًا غير صالح. يرجى الاتصال بمشرف التطبيق الذي حاولت ترخيصه.
hint_login = لديك حساب بالفعل؟ <a href="%s">سجّل الدخول الآن!</a>
hint_register = يلزمك حساب ؟ <a href="%s">سجِّل الآن.</a>
sign_up_button = سجِّل الآن.
unauthorized_credentials = بيانات الاعتماد غير صحيحة أو انتهت صلاحيتها. أعد محاولة تنفيذ الأمر أو راجع %s لمزيد من المعلومات
use_onetime_code = استخدم رمزًا لمرة واحدة
back_to_sign_in = العودة إلى تسجيل الدخول
sign_in_openid = المتابعة باستخدام OpenID
[packages]
rpm.repository.multiple_groups = هذه الحزمة متوفرة في مجموعات متعددة.
rpm.repository.architectures = بنيات
@ -1556,6 +1618,10 @@ number_of_contributions_in_the_last_12_months = %s مساهم في آخر 12 ش
contributions_zero = بلا مساهمات
more = أكثر
contributions_format = {contributions} مساهمة في {day} {month} {year}
contributions_one = المساهمة
contributions_few = المساهمات
[admin]
self_check.database_fix_mysql = لمستخدمين ميسكول/ماريا دي بي، يمكنك استخدام أمر "forgejo doctor convert" لإصلاح مشاكل التجمّع، أو يمكنك أيضاً إصلاح المشكلة عن طريق تعديل السيكول يدوياً.
self_check.database_collation_mismatch = توقع قاعدة البيانات لتستعمل تجميع: %s
@ -1706,7 +1772,7 @@ enterred_invalid_org_name = اسم المنظمة التي أدخلته خطأ.
lang_select_error = اختر لغة من القائمة.
alpha_dash_error = ` لا يجب أن يحتوي إلا على الحروف الإنجليزية والأرقام والشرطة ("-") والشرطة السفلية ("_").`
alpha_dash_dot_error = ` لا يجب أن يحتوي إلا على الحروف الإنجليزية والأرقام والشرطة ("-") والشرطة السفلية ("_") والنقطة (".").`
repo_name_been_taken = اسم المستودع مستعمل بالفعل.
repo_name_been_taken = اسم المستودع مستخدم بالفعل.
Email = البريد الإلكتروني
auth_failed = فشل الاستيثاق: %v
email_error = ` ليس عنوان بريد إلكتروني صالح.`
@ -1726,10 +1792,10 @@ still_has_org = "حسابك عضو في منظمة أو أكثر؛ غادرهم
repository_files_already_exist.adopt_or_delete = الملفات موجودة بالفعل لهذا المستودع. إما اعتمادها أو حذفها.
repository_files_already_exist.delete = الملفات موجودة بالفعل لهذا المستودع. يجب عليك حذفها.
repository_files_already_exist.adopt = الملفات موجودة بالفعل لهذا المستودع ويمكن اعتمادها فقط.
repository_files_already_exist = الملفات موجودة بالفعل لهذا المستودع. تواصل مع مدير النظام.
repository_files_already_exist = الملفات موجودة بالفعل لهذا المستودع. اتصل بمدير النظام.
TeamName = اسم الفريق
username_has_not_been_changed = لم يتم تغيير اسم المستخدم
username_change_not_local_user = المستخدمين غير المحليين غير مسموح لهم بتغيير أسماؤهم.
username_change_not_local_user = المستخدمين غير المحليين غير مسموح لهم بتغيير أسمائهم.
captcha_incorrect = الكابتشا خاطئة.
AdminEmail = عنوان البريد الإلكتروني للمدير
team_no_units_error = اسمح بالوصول إلى قسم واحد على الأقل في المستودعات.
@ -1757,6 +1823,24 @@ CommitChoice = إختيار الإداع
regex_pattern_error = ` نمط التعبير النمطي غير صالح: %s.`
username_error = ` يُمكنه أن يحتوي على حروف إنجليزية وأرقام وشرطة ("-") وشرطة سفلية ("_") و نقطة (".") فقط. ويمكنه ان يبدأ وينتهي بحرف او برقم.`
FullName = الاسم الكامل
Description = الوصف
Pronouns = الضمائر
Biography = النبذة
Website = موقع الويب
Location = الموقع
To = اسم الفرع
AccessToken = رمز الوصول
invalid_group_team_map_error = ` التعيين غير صالح: %s `
username_claiming_cooldown = لا يمكن المطالبة باسم المستخدم، لأن فترة تباطؤه لم تنتهِ بعد. يمكن المطالبة به عند %[1]s.
repository_force_private = وضع الخاص الإجباري مفعّل: لا يمكن تحويل المستودعات الخاصة إلى عامة.
visit_rate_limit = تناولت الزيارة عن بُعد الحد من معدلها.
email_domain_is_not_allowed = نطاق البريد الإلكتروني للمستخدم <b>%s</b> يتعارض مع قائمة النطاقات المسموحة ، أو الممنوعة. يرجى التأكد من إدخال عنوان البريد الإلكتروني بشكل صحيح.
unset_password = المستخدم المسجل لم يقم بتعيين كلمة مرور.
unsupported_login_type = نوع تسجيل الدخول غير مدعوم لحذف الحساب.
invalid_ssh_principal = أصل غير صالح: %s
required_prefix = المُدخل يجب أن يبدأ مع "%s"
[home]
filter = تصفيات أخرى
show_archived = مؤرشف
@ -1803,6 +1887,11 @@ relevant_repositories_tooltip = تم أخفاء المستودعات التي ه
relevant_repositories = يتم اظهار المستودعات المتعلقة فقط. <a href="%s">أظهر النتائج غير المصفاة</a>.
code_last_indexed_at = فُهرس آخر مرة %s
stars_one = %d نجمة
stars_few = %d نجوم
forks_one = %d نسخة
forks_few = %d نُسَخ
[actions]
variables.none = لا توجد متغيرات بعد.
variables.deletion = أزل المتغير
@ -1973,21 +2062,30 @@ component_failed_to_load = حدث خطأ غير متوقع.
[search]
org_kind = بحث في المنظمات...
org_kind = بحث في المنظمات
code_search_unavailable = البحث في الكود غير متوفر حاليًا. يرجى الاتصال بمدير الموقع.
search = ابحث...
search = البحث…
type_tooltip = نوع البحث
fuzzy = أجعد
fuzzy_tooltip = قم بتضمين النتائج التي تتطابق أيضًا مع مصطلح البحث بشكل وثيق
match = تتناسب
match_tooltip = قم بتضمين النتائج التي تطابق مصطلح البحث المحدد فقط
repo_kind = بحث في المستودعات...
user_kind = بحث عن المستخدمين...
team_kind = بحث عن الفرق ...
code_kind = بحث في الكود...
project_kind = البحث ضمن المشاريع...
branch_kind = البحث ضمن الفروع...
repo_kind = بحث في المستودعات
user_kind = بحث عن المستخدمين
team_kind = بحث عن الفرق
code_kind = بحث ضمن الكود…
project_kind = البحث ضمن المشاريع
branch_kind = البحث ضمن الفروع
no_results = لا توجد نتائج مطابقة.
issue_kind = البحث ضمن الأعطال...
pull_kind = البحث ضمن طلبات السحب...
issue_kind = البحث ضمن الأعطال
pull_kind = البحث ضمن طلبات السحب
keyword_search_unavailable = البحث من خلال الكلمات المفتاحية ليس متوفر حالياً. رجاءاً تواصل مع مشرف الموقع.
union = مطابقة عامة
union_tooltip = عرض النتائج التي تطابق أي من الكلمات المفتاحية المفصولة بمسافات
exact = مطابق
exact_tooltip = عرض النتائج التي تطابق مصطلح البحث بالضبط فقط
regexp = RegExp
regexp_tooltip = تعامل مع عبارة البحث على أنها تعبير نمطي
package_kind = البحث ضمن الحزم…
commit_kind = البحث ضمن الإيداعات…
runner_kind = البحث ضمن المشغِّلات…

View file

@ -142,6 +142,8 @@ webauthn_error = Неуспешно прочитане на вашия ключ
webauthn_unsupported_browser = Вашият браузър в момента не поддържа WebAuthn.
webauthn_error_duplicated = Ключът за сигурност не е разрешен за тази заявка. Моля, уверете се, че ключът не е вече регистриран.
tracked_time_summary = Обобщение на проследеното време въз основа на филтрите в списъка със задачи
[settings]
ui = Тема
delete_key = Премахване
@ -324,7 +326,7 @@ permissions_list = Разрешения:
edit_oauth2_application = Редактиране на OAuth2 приложение
remove_oauth2_application = Премахване на OAuth2 приложение
twofa_recovery_tip = Ако загубите устройството си, ще можете да използвате ключ за еднократно възстановяване, за да си върнете достъпа до акаунта.
visibility.private_tooltip = Видим само за членове на организации, в които участвате
visibility.private_tooltip = Видим само за участници в организации, в които участвате
quota.applies_to_user = Следните правила за квота се прилагат за вашия акаунт
quota.rule.no_limit = Неограничена
hints = Подсказки
@ -381,6 +383,20 @@ comment_type_group_lock = Състояние на заключване
can_not_add_email_activations_pending = Има чакаща активация, опитайте отново след няколко минути, ако искате да добавите нова ел. поща.
storage_overview = Преглед на съхранението
webauthn = Двуфакторно удостоверяване (Ключове за сигурност)
quota.sizes.all = Всички
quota.sizes.repos.all = Хранилища
quota.sizes.repos.public = Публични хранилища
quota.sizes.repos.private = Частни хранилища
quota.sizes.git.all = Git съдържание
quota.sizes.git.lfs = Git LFS
quota.sizes.assets.attachments.all = Прикачени файлове
quota.sizes.assets.attachments.issues = Прикачени файлове към задачи
quota.sizes.assets.attachments.releases = Прикачени файлове към издания
quota.sizes.assets.artifacts = Артефакти
quota.sizes.assets.packages.all = Пакети
quota.sizes.wiki = Уики
[packages]
container.labels.value = Стойност
alpine.repository.repositories = Хранилища
@ -439,6 +455,113 @@ arch.version.conflicts = В конфликт
alpine.repository.branches = Клонове
arch.pacman.repo.multi.item = Конфигурация за %s
desc = Управление на пакетите на хранилището.
alpine.registry = Настройте този регистър, като добавите URL адреса във вашия файл <code>/etc/apk/repositories</code>:
alpine.registry.key = Изтеглете публичния RSA ключ на регистъра в папката <code>/etc/apk/keys/</code>, за да проверите подписа на индекса:
alpine.registry.info = Изберете $branch и $repository от списъка по-долу.
alpine.install = За да инсталирате пакета, изпълнете следната команда:
arch.version.properties = Свойства на версията
arch.version.makedepends = Зависимости за изграждането
arch.version.checkdepends = Зависимости за проверката
chef.registry = Настройте този регистър във вашия файл <code>~/.chef/config.rb</code>:
chef.install = За да инсталирате пакета, изпълнете следната команда:
composer.registry = Настройте този регистър във вашия файл <code>~/.composer/config.json</code>:
composer.install = За да инсталирате пакета с Composer, изпълнете следната команда:
composer.dependencies = Зависимости
conan.details.repository = Хранилище
conan.registry = Настройте този регистър от командния ред:
conan.install = За да инсталирате пакета с Conan, изпълнете следната команда:
conda.registry = Настройте този регистър като Conda хранилище във вашия файл <code>.condarc</code>:
conda.install = За да инсталирате пакета с Conda, изпълнете следната команда:
container.pull = Издърпайте образа от командния ред:
container.multi_arch = ОС / Архитектура
container.layers = Слоеве на образа
cran.registry = Настройте този регистър във вашия файл <code>Rprofile.site</code>:
cran.install = За да инсталирате пакета, изпълнете следната команда:
debian.registry = Настройте този регистър от командния ред:
debian.registry.info = Изберете $distribution и $component от списъка по-долу.
debian.install = За да инсталирате пакета, изпълнете следната команда:
debian.repository = Информация за хранилището
debian.repository.distributions = Дистрибуции
debian.repository.components = Компоненти
debian.repository.architectures = Архитектури
helm.registry = Настройте този регистър от командния ред:
helm.install = За да инсталирате пакета, изпълнете следната команда:
maven.registry = Настройте този регистър във файла на вашия проект <code>pom.xml</code>:
maven.install = За да използвате пакета, включете следното в блока <code>dependencies</code> във файла <code>pom.xml</code>:
maven.install2 = Изпълнете през командния ред:
maven.download = За да изтеглите зависимостта, изпълнете през командния ред:
nuget.registry = Настройте този регистър от командния ред:
nuget.install = За да инсталирате пакета с NuGet, изпълнете следната команда:
nuget.dependency.framework = Целева платформа
npm.registry = Настройте този регистър във файла на вашия проект <code>.npmrc</code>:
npm.install = За да инсталирате пакета с npm, изпълнете следната команда:
npm.install2 = или го добавете във файла package.json:
npm.dependencies.optional = Опционални зависимости
npm.details.tag = Маркер
pub.install = За да инсталирате пакета с Dart, изпълнете следната команда:
pypi.requires = Изисква Python
pypi.install = За да инсталирате пакета с pip, изпълнете следната команда:
rpm.registry = Настройте този регистър от командния ред:
rpm.distros.redhat = на дистрибуции, базирани на RedHat
rpm.distros.suse = на дистрибуции, базирани на SUSE
rpm.install = За да инсталирате пакета, изпълнете следната команда:
rpm.repository = Информация за хранилището
rpm.repository.architectures = Архитектури
rpm.repository.multiple_groups = Този пакет е наличен в няколко групи.
alt.registry = Настройте този регистър от командния ред:
alt.registry.install = За да инсталирате пакета, изпълнете следната команда:
alt.install = Инсталиране на пакет
alt.setup = Добавете хранилище към списъка със свързани хранилища (изберете необходимата архитектура вместо „_arch_“):
alt.repository = Информация за хранилището
alt.repository.architectures = Архитектури
alt.repository.multiple_groups = Този пакет е наличен в няколко групи.
swift.registry = Настройте този регистър от командния ред:
swift.install = Добавете пакета във вашия файл <code>Package.swift</code>:
swift.install2 = и изпълнете следната команда:
vagrant.install = За да добавите Vagrant box, изпълнете следната команда:
settings.link = Свързване на този пакет с хранилище
settings.link.description = Ако свържете пакет с хранилище, пакетът се изброява в списъка с пакети на хранилището.
settings.link.select = Изберете хранилище
settings.link.button = Обновяване на връзката на хранилището
settings.link.success = Връзката на хранилището беше успешно обновена.
settings.link.error = Неуспешно обновяване на връзката на хранилището.
settings.delete.description = Изтриването на пакет е трайно и не може да бъде отменено.
settings.delete.notice = На път сте да изтриете %s (%s). Тази операция е необратима, сигурни ли сте?
owner.settings.cargo.title = Индекс на регистъра на Cargo
owner.settings.cargo.initialize = Инициализиране на индекс
owner.settings.cargo.initialize.description = Необходимо е специално Git хранилище за индекс, за да се използва регистърът на Cargo. Използването на тази опция ще (пре)създаде хранилището и ще го конфигурира автоматично.
owner.settings.cargo.initialize.error = Неуспешно инициализиране на индекса на Cargo: %v
owner.settings.cargo.initialize.success = Индексът на Cargo беше успешно създаден.
owner.settings.cargo.rebuild = Преизграждане на индекс
owner.settings.cargo.rebuild.description = Преизграждането може да бъде полезно, ако индексът не е синхронизиран със съхранените Cargo пакети.
owner.settings.cargo.rebuild.error = Неуспешно преизграждане на индекса на Cargo: %v
owner.settings.cargo.rebuild.success = Индексът на Cargo беше успешно преизграден.
owner.settings.cargo.rebuild.no_index = Не може да се преизгради, няма инициализиран индекс.
owner.settings.cleanuprules.title = Правила за почистване
owner.settings.cleanuprules.add = Добавяне на правило за почистване
owner.settings.cleanuprules.edit = Редактиране на правилото за почистване
owner.settings.cleanuprules.none = Все още няма правила за почистване.
owner.settings.cleanuprules.preview = Преглед на правило за почистване
owner.settings.cleanuprules.preview.overview = %d пакета са насрочени за премахване.
owner.settings.cleanuprules.preview.none = Правилото за почистване не съвпада с нито един пакет.
owner.settings.cleanuprules.enabled = Включено
owner.settings.cleanuprules.pattern_full_match = Прилагане на шаблона към пълното име на пакета
owner.settings.cleanuprules.keep.title = Версиите, които съответстват на тези правила, се запазват, дори ако съответстват на правило за премахване по-долу.
owner.settings.cleanuprules.keep.count = Запазване на най-новите
owner.settings.cleanuprules.keep.count.1 = 1 версия на пакет
owner.settings.cleanuprules.keep.count.n = %d версии на пакет
owner.settings.cleanuprules.keep.pattern = Запазване на версии, съответстващи на
owner.settings.cleanuprules.keep.pattern.container = Версията <code>latest</code> винаги се запазва за Container пакети.
owner.settings.cleanuprules.remove.title = Версиите, които съответстват на тези правила, се премахват, освен ако правило по-горе не казва да се запазят.
owner.settings.cleanuprules.remove.days = Премахване на версии, по-стари от
owner.settings.cleanuprules.remove.pattern = Премахване на версии, съответстващи на
owner.settings.cleanuprules.success.update = Правилото за почистване е обновено.
owner.settings.cleanuprules.success.delete = Правилото за почистване е изтрито.
owner.settings.chef.title = Регистър на Chef
owner.settings.chef.keypair = Генериране на двойка ключове
owner.settings.chef.keypair.description = Заявките, изпратени до регистъра на Chef, трябва да бъдат криптографски подписани като средство за удостоверяване. При генериране на двойка ключове, само публичният ключ се съхранява във Forgejo. Частният ключ ви се предоставя, за да се използва с knife. Генерирането на нова двойка ключове ще презапише предишната.
[tool]
hours = %d часа
now = сега
@ -749,7 +872,7 @@ settings.admin_settings = Администраторски настройки
issues.role.owner = Притежател
settings.transfer.title = Прехвърляне на притежанието
issues.author = Автор
issues.closed_at = `затвори тази задача <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at = `затвори тази задача %s`
settings.collaborator_deletion_desc = Премахването на сътрудник ще отнеме достъпа му до това хранилище. Продължаване?
commits.message = Съобщение
issues.due_date_not_set = Няма зададен краен срок.
@ -773,9 +896,9 @@ issues.filter_type.all_issues = Всички задачи
issues.filter_poster_no_select = Всички автори
issues.opened_by = отворена %[1]s от <a href="%[2]s">%[3]s</a>
issues.action_open = Отваряне
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>`
issues.reopened_at = `отвори наново тази задача <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at = `затвори тази заявка за сливане %s`
pulls.reopened_at = `отвори наново тази заявка за сливане %s`
issues.reopened_at = `отвори наново тази задача %s`
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>`
@ -940,9 +1063,9 @@ editor.no_changes_to_show = Няма промени за показване.
issues.choose.get_started = Първи стъпки
issues.change_milestone_at = `промени етапа от <b>%s</b> на <b>%s</b> %s`
issues.change_project_at = `промени проекта от <b>%s</b> на <b>%s</b> %s`
issues.self_assign_at = `си само-възложи това %s`
issues.self_assign_at = `си самовъзложи това %s`
issues.remove_assignee_at = `е премахнат като изпълнител от <b>%s</b> %s`
issues.remove_self_assignment = `се само-премахна като изпълнител %s`
issues.remove_self_assignment = `се самопремахна като изпълнител %s`
issues.add_assignee_at = `му бе възложено това от <b>%s</b> %s`
pulls.merged_by = от <a href="%[2]s">%[3]s</a> бе слята %[1]s
pulls.merged_by_fake = от %[2]s бе слята %[1]s
@ -1205,7 +1328,7 @@ issues.dependency.cancel = Отказ
issues.dependency.add_error_dep_exists = Зависимостта вече съществува.
issues.dependency.add_error_dep_not_exist = Зависимостта не съществува.
issues.remove_ref_at = `премахна препратката <b>%s</b> %s`
issues.ref_pull_from = `<a href="%[3]s">спомена тази заявка за сливане %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from = `<a href="%[2]s">спомена тази заявка за сливане %[3]s</a> %[1]s`
issues.dependency.pr_no_dependencies = Няма зададени зависимости.
issues.dependency.remove_info = Премахване на тази зависимост
issues.dependency.removed_dependency = `премахна зависимостта %s`
@ -1230,11 +1353,11 @@ issues.dependency.title = Зависимости
issues.dependency.issue_no_dependencies = Няма зададени зависимости.
issues.dependency.pr_close_blocked = Трябва да затворите всички задачи, блокиращи тази заявка за сливане, преди да можете да я слеете.
issues.dependency.pr_close_blocks = Тази заявка за сливане блокира затварянето на следните задачи
issues.ref_issue_from = `<a href="%[3]s">спомена тази задача %[4]s</a> <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 href="%[2]s">спомена тази задача %[3]s</a> %[1]s`
issues.commit_ref_at = `спомена тази задача в подаване %s`
issues.add_ref_at = `добави препратка <b>%s</b> %s`
pulls.merged_info_text = Клонът %s вече може да бъде изтрит.
pulls.commit_ref_at = `спомена тази заявка за сливане в подаване <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `спомена тази заявка за сливане в подаване %s`
issues.change_ref_at = `промени препратката от <b><strike>%s</strike></b> на <b>%s</b> %s`
diff.review.reject = Поискване на промени
diff.bin_not_shown = Двоичният файл не е показан.
@ -1272,7 +1395,7 @@ issues.review.show_resolved = Показване на решено
issues.review.hide_resolved = Скриване на решено
issues.review.resolve_conversation = Решаване на обсъждането
diff.comment.markdown_info = Поддържа се стилизиране с Маркдаун.
diff.file_suppressed = Разликите не са показани, защото са твърде много
diff.file_suppressed = Разликите във файла са потиснати, защото са твърде много
pulls.reject_count_n = %d поискани промени
settings.pulls.default_allow_edits_from_maintainers = Позволяване на редакции от поддържащите по подразбиране
fork_branch = Клон за клониране в разклонението
@ -1299,9 +1422,9 @@ 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="%[2]s">спомена тази задача в заявка за сливане %[3]s, която ще я затвори</a>, %[1]s`
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="%[2]s">спомена тази задача в заявка за сливане %[3]s, която ще я отвори наново </a>, %[1]s`
issues.draft_title = Чернова
pulls.reopen_to_merge = Моля, отворете наново тази заявка за сливане, за да извършите сливане.
pulls.cant_reopen_deleted_branch = Тази заявка за сливане не може да бъде отворена наново, защото клонът е изтрит.
@ -1347,7 +1470,7 @@ 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]`
ambiguous_character = `%[1]c [U+%04[1]X] може да бъде объркан със %[2]c [U+%04[2]X]`
invisible_runes_header = `Този файл съдържа невидими Уникод знаци`
issues.all_title = Общо
issues.new.assign_to_me = Възлагане на мен
@ -1446,7 +1569,7 @@ generated_from = генерирано от
clear_ref = `Изчистване на текущата препратка`
file_follow = Последване на символната връзка
commitstatus.failure = Неуспех
issues.filter_label_exclude = `Използвайте <code>alt</code> + <code>click/enter</code>, за да изключите етикети`
issues.filter_label_exclude = Използвайте <kbd>Alt</kbd> + <kbd>Click</kbd>, за да изключите етикети
migrate.migrating_failed = Мигрирането от <b>%s</b> е неуспешно.
migrate.migrating_issues = Мигриране на задачи
mirror_from = огледално на
@ -1576,6 +1699,178 @@ issues.force_push_compare = Сравняване
pulls.status_checking = Някои проверки са в очакване
pulls.nothing_to_compare = Тези клонове са равни. Не е нужно да създавате заявка за сливане.
rss.must_be_on_branch = Трябва да сте на клон, за да имате RSS емисия.
admin.manage_flags = Управление на флаговете
admin.enabled_flags = Флагове, включени за хранилището:
admin.update_flags = Обновяване на флаговете
admin.failed_to_replace_flags = Неуспешна замяна на флаговете на хранилището
admin.flags_replaced = Флаговете на хранилището са заменени
fork_to_different_account = Разклоняване в друг акаунт
mirror_interval = Интервал на огледалото (валидни единици за време са „h“, „m“, „s“). 0 за изключване на периодичната синхронизация. (Минимален интервал: %s)
mirror_interval_invalid = Интервалът на огледалото не е валиден.
mirror_use_ssh.text = Използване на SSH удостоверяване
mirror_use_ssh.helper = Forgejo ще създаде огледало на хранилището чрез Git през SSH и ще генерира двойка ключове за вас, когато изберете тази опция. Трябва да се уверите, че генерираният публичен ключ е упълномощен да изтласква към целевото хранилище. Не можете да използвате удостоверяване, базирано на парола, когато избирате това.
mirror_use_ssh.not_available = SSH удостоверяването не е налично.
mirror_denied_combination = Не може да се използва удостоверяване с публичен ключ и парола едновременно.
mirror_sync_on_commit = Синхронизиране при изтласкване на подавания
mirror_address_desc = Поставете всички необходими данни за удостоверяване в секцията „Упълномощаване“.
mirror_address_url_invalid = Предоставеният URL е невалиден. Трябва да екранирате правилно всички компоненти на URL адреса.
mirror_address_protocol_invalid = Предоставеният URL е невалиден. Само http(s):// или git:// адреси могат да се използват за огледални хранилища.
mirror_lfs = Съхранение на големи файлове (LFS)
mirror_password_help = Променете потребителското име, за да изтриете запазена парола.
unit_disabled = Администраторът на сайта е изключил тази секция на хранилището.
summary_card_alt = Карта с обобщение на хранилище %s
template.items = Елементи на шаблона
template.git_content = Git съдържание (стандартен клон)
template.git_hooks = Git куки
template.git_hooks_tooltip = В момента не можете да променяте или премахвате Git куки, след като са добавени. Изберете това само ако се доверявате на шаблонното хранилище.
template.one_item = Трябва да изберете поне един елемент от шаблона
template.invalid = Трябва да изберете шаблонно хранилище
migrate.cancel_migrating_title = Отказ от миграцията
migrate.cancel_migrating_confirm = Искате ли да откажете тази миграция?
invisible_runes_description = `Този файл съдържа невидими Уникод знаци, които са неразличими за хората, но могат да бъдат обработени по различен начин от компютър. Ако смятате, че това е умишлено, можете спокойно да пренебрегнете това предупреждение. Използвайте бутона „Екраниране“, за да ги разкриете.`
ambiguous_runes_header = `Този файл съдържа двусмислени Уникод знаци`
ambiguous_runes_description = `Този файл съдържа Уникод знаци, които могат да бъдат объркани с други знаци. Ако смятате, че това е умишлено, можете спокойно да пренебрегнете това предупреждение. Използвайте бутона „Екраниране“, за да ги разкриете.`
file_copy_permalink = Копиране на постоянна връзка
view_git_blame = Преглед на git blame
video_not_supported_in_browser = Вашият браузър не поддържа HTML5 тага „video“.
audio_not_supported_in_browser = Вашият браузър не поддържа HTML5 тага „audio“.
stored_lfs = Съхранено с Git LFS
commit_graph.select = Изберете клонове
editor.cannot_edit_lfs_files = LFS файлове не могат да се редактират в уеб интерфейса.
editor.filename_help = Добавете директория, като въведете името ѝ, последвано от наклонена черта („/“). Премахнете директория, като натиснете backspace в началото на полето за въвеждане.
editor.commit_signed_changes = Подаване на подписани промени
editor.require_signed_commit = Клонът изисква подписано подаване
editor.commit_email = Ел. поща на подаването
commits.desc = Разглеждане на историята на промените в програмния код.
commits.search.tooltip = Можете да добавите префикс към ключовите думи с „author:“, „committer:“, „after:“ или „before:“, напр. „revert author:Alice before:2019-01-13“.
commits.signed_by = Подписано от
commits.signed_by_untrusted_user = Подписано от недоверен потребител
commits.signed_by_untrusted_user_unmatched = Подписано от недоверен потребител, който не съвпада с подаващия
commits.ssh_key_fingerprint = Отпечатък на SSH ключ
commits.view_single_diff = Преглед на промените в този файл, въведени в това подаване
commit.revert = Връщане
commit.revert-header = Връщане: %s
commit.revert-content = Изберете клон, върху който да се върне:
issues.desc = Организирайте доклади за грешки, задачи и етапи.
issues.choose.ignore_invalid_templates = Невалидните шаблони са игнорирани
issues.choose.invalid_config = Конфигурацията на задачите съдържа грешки:
issues.filter_type.all_pull_requests = Всички заявки за сливане
issues.role.member_helper = Този потребител е участник в организацията, притежаваща това хранилище.
issues.lock.unknown_reason = Не може да се заключи задача с неизвестна причина.
issues.lock_duplicate = Задача не може да бъде заключена два пъти.
issues.unlock_error = Не може да се отключи задача, която не е заключена.
issues.lock.notice_1 = - Други потребители не могат да добавят нови коментари към тази задача.
issues.lock.notice_2 = - Вие и други сътрудници с достъп до това хранилище все още можете да оставяте коментари, които другите да виждат.
issues.lock.notice_3 = - Винаги можете да отключите тази задача отново в бъдеще.
issues.unlock.notice_1 = - Всеки ще може отново да коментира тази задача.
issues.unlock.notice_2 = - Винаги можете да заключите тази задача отново в бъдеще.
issues.lock.title = Заключване на обсъждането по тази задача.
issues.unlock.title = Отключване на обсъждането по тази задача.
issues.comment_on_locked = Не можете да коментирате заключена задача.
issues.delete.text = Наистина ли искате да изтриете тази задача? (Това ще премахне трайно цялото съдържание. Помислете дали вместо това да не я затворите, ако възнамерявате да я запазите архивирана)
issues.cancel_tracking_history = `отмени проследяването на времето %s`
issues.add_time_sum_to_small = Не е въведено време.
issues.due_date_form = гггг-мм-дд
issues.due_date_invalid = Крайният срок е невалиден или извън обхвата. Моля, използвайте формата „гггг-мм-дд“.
issues.dependency.no_permission_1 = Нямате разрешение да прочетете %d зависимост
issues.dependency.no_permission_n = Нямате разрешение да прочетете %d зависимости
issues.dependency.no_permission.can_remove = Нямате разрешение да прочетете тази зависимост, но можете да я премахнете
issues.dependency.issue_batch_close_blocked = Не могат да бъдат затворени групово избраните задачи, защото задача #%d все още има отворени зависимости
issues.dependency.blocked_by_short = Зависи от
issues.dependency.setting = Включване на зависимости за задачи и заявки за сливане
issues.dependency.add_error_same_issue = Не можете да направите задача зависима от самата нея.
issues.dependency.add_error_dep_issue_not_exist = Зависимата задача не съществува.
issues.dependency.add_error_cannot_create_circular = Не можете да създадете зависимост с две задачи, които се блокират взаимно.
issues.dependency.add_error_dep_not_same_repo = И двете задачи трябва да са в едно и също хранилище.
issues.review.self.rejection = Не можете да поискате промени в собствената си заявка за сливане.
issues.review.dismissed = отхвърли рецензията на %s %s
issues.review.content.empty = Трябва да оставите коментар, посочващ исканите промени.
issues.review.add_review_requests = поиска рецензии от %[1]s %[2]s
issues.review.remove_review_request = премахна заявката за рецензия за %[1]s %[2]s
issues.review.remove_review_requests = премахна заявките за рецензия за %[1]s %[2]s
issues.review.remove_review_request_self = отказа да рецензира %s
issues.review.pending.tooltip = Този коментар в момента не е видим за други потребители. За да изпратите изчакващите си коментари, изберете „%s“ -> „%s/%s/%s“ в горната част на страницата.
issues.review.outdated = Остарял
issues.review.outdated_description = Съдържанието е променено, след като е направен този коментар
issues.review.show_outdated = Показване на остарели
issues.review.hide_outdated = Скриване на остарели
issues.content_history.options = Опции
issues.blocked_by_user = Не можете да създавате задачи в това хранилище, защото сте блокирани от притежателя на хранилището.
comment.blocked_by_user = Коментирането не е възможно, защото сте блокирани от притежателя на хранилището или от автора.
issues.reopen.blocked_by_user = Не можете да отворите наново тази задача, защото сте блокирани от притежателя на хранилището или от автора на тази задача.
compare.compare_base = основа
compare.compare_head = сравняване
pulls.desc = Включване на заявки за сливане и рецензии на код.
pulls.view = Преглед на заявката за сливане
pulls.allow_edits_from_maintainers_desc = Потребители с право на запис в основния клон могат също да изтласкват към този клон
pulls.allow_edits_from_maintainers_err = Обновяването е неуспешно
pulls.has_changed_since_last_review = Променено след последната ви рецензия
pulls.switch_comparison_type = Превключване на типа сравнение
pulls.filter_branch = Филтриране на клон
pulls.review_only_possible_for_full_diff = Рецензирането е възможно само при преглед на пълните разлики
pulls.wrong_commit_id = ID на подаването трябва да бъде ID на подаване в целевия клон
pulls.blocked_by_user = Не можете да създадете заявка за сливане в това хранилище, защото сте блокирани от притежателя на хранилището.
pulls.no_merge_desc = Тази заявка за сливане не може да бъде слята, защото всички опции за сливане в хранилището са изключени.
pulls.no_merge_helper = Включете опциите за сливане в настройките на хранилището или слейте заявката за сливане ръчно.
pulls.no_merge_wip = Тази заявка за сливане не може да бъде слята, защото е отбелязана като в процес на работа.
pulls.squash_merge_pull_request = Създаване на сплескано подаване
pulls.merge_manually = Ръчно слята
pulls.merge_commit_id = ID на подаването със сливане
pulls.require_signed_wont_sign = Клонът изисква подписани подавания, но това сливане няма да бъде подписано
pulls.merge_conflict = Сливането е неуспешно: Възникна конфликт по време на сливането. Подсказка: Опитайте различна стратегия
pulls.merge_conflict_summary = Съобщение за грешка
pulls.rebase_conflict_summary = Съобщение за грешка
pulls.has_merged = Неуспешно: Заявката за сливане е слята, не можете да слеете отново или да промените целевия клон.
pulls.push_rejected = Изтласкването е неуспешно: Изтласкването е отхвърлено. Прегледайте Git куките за това хранилище.
pulls.push_rejected_no_message = Изтласкването е неуспешно: Изтласкването е отхвърлено, но няма отдалечено съобщение. Прегледайте Git куките за това хранилище
pulls.update_not_allowed = Нямате разрешение да обновявате клона
pulls.outdated_with_base_branch = Този клон е остарял спрямо основния клон
pulls.cmd_instruction_merge_warning = <b>Предупреждение:</b> Настройката „Автоматично откриване на ръчно сливане“ не е включена за това хранилище, ще трябва да отбележите тази заявка за сливане като ръчно слята след това.
pulls.editable_explanation = Тази заявка за сливане позволява редакции от поддържащите. Можете да допринесете директно към нея.
pulls.auto_merge_button_when_succeed = (Когато проверките са успешни)
pulls.auto_merge_when_succeed = Автоматично сливане, когато всички проверки са успешни
pulls.auto_merge_newly_scheduled = Заявката за сливане е насрочена за сливане, когато всички проверки са успешни.
pulls.auto_merge_has_pending_schedule = %[1]s насрочи тази заявка за сливане за автоматично сливане, когато всички проверки са успешни %[2]s.
pulls.auto_merge_cancel_schedule = Отмяна на автоматичното сливане
pulls.auto_merge_not_scheduled = Тази заявка за сливане не е насрочена за автоматично сливане.
pulls.auto_merge_canceled_schedule = Автоматичното сливане е отменено за тази заявка за сливане.
pulls.auto_merge_newly_scheduled_comment = `насрочи тази заявка за сливане за автоматично сливане, когато всички проверки са успешни %[1]s`
pulls.auto_merge_canceled_schedule_comment = `отмени автоматичното сливане на тази заявка за сливане, когато всички проверки са успешни %[1]s`
pulls.delete.title = Да се изтрие ли тази заявка за сливане?
pulls.delete.text = Наистина ли искате да изтриете тази заявка за сливане? (Това ще премахне трайно цялото съдържание. Помислете дали вместо това да не я затворите, ако възнамерявате да я запазите архивирана)
diff.data_not_available = Съдържанието на разликите не е налично
diff.bin = ДВОИЧЕН
diff.file_suppressed_line_too_long = Разликите във файла са потиснати, защото един или повече редове са твърде дълги
diff.too_many_files = Някои файлове не бяха показани, защото твърде много файлове имат промени в тези разлики
diff.show_more = Показване на още
diff.generated = генериран
diff.comment.add_line_comment = Добавяне на коментар към ред
diff.comment.add_review_comment = Добавяне на коментар
diff.review.self_reject = Авторите на заявки за сливане не могат да поискват промени в собствените си заявки
diff.review.self_approve = Авторите на заявки за сливане не могат да одобряват собствените си заявки
diff.image.side_by_side = Едно до друго
diff.image.swipe = Плъзгане
diff.image.overlay = Наслагване
diff.has_escaped = Този ред има скрити Уникод знаци
release.tag_name_protected = Името на маркера е защитено.
release.add_tag_msg = Използване на заглавието и съдържанието на изданието като съобщение на маркера.
release.hide_archive_links = Скриване на автоматично генерираните архиви
release.hide_archive_links_helper = Скрийте автоматично генерираните архиви с програмен код за това издание. Например, ако качвате свои собствени.
release.asset_external_url = Външен URL адрес
release.summary_card_alt = Карта с обобщение на издание със заглавие „%s“ в хранилище %s
branch.protected_deletion_failed = Клонът „%s“ е защитен. Не може да бъде изтрит.
branch.default_deletion_failed = Клонът „%s“ е стандартният клон. Не може да бъде изтрит.
branch.included_desc = Този клон е част от стандартния клон
branch.included = Включен
branch.warning_rename_default_branch = Преименувате стандартния клон.
topic.count_prompt = Не можете да изберете повече от 25 теми
find_file.no_matching = Не е намерен съвпадащ файл
error.csv.too_large = Не може да се визуализира този файл, защото е твърде голям.
error.csv.unexpected = Не може да се визуализира този файл, защото съдържа неочакван знак на ред %d и колона %d.
error.csv.invalid_field_count = Не може да се визуализира този файл, защото има грешен брой полета на ред %d.
error.broken_git_hook = Git куките на това хранилище изглеждат повредени. Моля, последвайте <a target="_blank" rel="noreferrer" href="%s">документацията</a>, за да ги поправите, след което изтласкайте подавания, за да обновите статуса.
[modal]
confirm = Потвърждаване
no = Не
@ -1663,18 +1958,18 @@ follow_blocked_user = Не можете да следвате тази орга
settings.delete_prompt = Организацията ще бъде премахната завинаги. Това <strong>НЕ МОЖЕ</strong> да бъде отменено!
settings.labels_desc = Добавете етикети, които могат да се използват за задачи за <strong>всички хранилища</strong> в тази организация.
teams.none_access = Без достъп
teams.members.none = Няма членове в този екип.
teams.members.none = Няма участници в този екип.
repo_updated = Обновено %s
teams.delete_team_success = Екипът е изтрит.
teams.search_repo_placeholder = Потърсете хранилище…
teams.delete_team_title = Изтриване на екипа
teams.add_team_member = Добавяне на член на екипа
teams.add_team_member = Добавяне на участник в екипа
teams.read_access_helper = Членовете могат да преглеждат и клонират хранилищата на екипа.
teams.invite.description = Моля, щракнете върху бутона по-долу, за да се присъедините към екипа.
teams.invite.title = Поканени сте да се присъедините към екип <strong>%s</strong> в организация <strong>%s</strong>.
team_permission_desc = Разрешение
members.public_helper = Да е скрит
teams.members = Членове на екипа
teams.members = Участници в екипа
teams.delete_team = Изтриване на екипа
members.owner = Притежател
members.member_role = Роля на участника:
@ -1685,6 +1980,38 @@ settings.delete_org_desc = Тази организация ще бъде изт
open_dashboard = Отваряне на таблото
settings.change_orgname_prompt = Бележка: Промяната на името на организацията ще промени и URL адреса на вашата организация и ще освободи старото име.
team_access_desc = Достъп до хранилище
team_unit_desc = Разрешаване на достъп до секции на хранилището
team_unit_disabled = (Изключено)
form.name_reserved = Името на организацията „%s“ е резервирано.
form.name_pattern_not_allowed = Шаблонът „%s“ не е разрешен в име на организация.
form.create_org_not_allowed = Нямате разрешение да създавате организация.
settings.update_setting_success = Настройките на организацията са обновени.
settings.change_orgname_redirect_prompt = Старото име ще се пренасочва, докато не бъде взето.
settings.change_orgname_redirect_prompt.with_cooldown.one = Старото име на организацията ще бъде достъпно за всички след период на изчакване от %[1]d ден. Все още можете да си върнете старото име по време на периода на изчакване.
settings.change_orgname_redirect_prompt.with_cooldown.few = Старото име на организацията ще бъде достъпно за всички след период на изчакване от %[1]d дни. Все още можете да си върнете старото име по време на периода на изчакване.
settings.update_avatar_success = Профилната снимка на организацията е обновена.
settings.hooks_desc = Добавете уеб-куки, които ще се задействат за <strong>всички хранилища</strong> в тази организация.
members.membership_visibility = Видимост на участничеството:
members.public = Видим
members.private = Скрит
members.invite_desc = Добавяне на нов участник към %s:
members.invite_now = Поканване сега
teams.admin_access = Администраторски достъп
teams.invite_team_member = Поканване в %s
teams.invite_team_member.list = Чакащи покани
teams.delete_team_desc = Изтриването на екип отнема достъпа до хранилището от неговите участници. Продължаване?
teams.remove_all_repos_desc = Това ще премахне всички хранилища от екипа.
teams.add_all_repos_title = Добавяне на всички хранилища
teams.add_all_repos_desc = Това ще добави всички хранилища на организацията към екипа.
teams.add_nonexistent_repo = Хранилището, което се опитвате да добавите, не съществува, моля, първо го създайте.
teams.add_duplicate_users = Потребителят вече е участник в екипа.
teams.repos.none = Няма хранилища, до които този екип да има достъп.
teams.specific_repositories = Конкретни хранилища
teams.specific_repositories_helper = Участниците ще имат достъп само до хранилища, изрично добавени към екипа. Избирането на това <strong>няма</strong> автоматично да премахне хранилища, вече добавени с <i>Всички хранилища</i>.
teams.all_repositories_helper = Екипът има достъп до всички хранилища. Избирането на това ще <strong>добави всички съществуващи</strong> хранилища към екипа.
teams.invite.by = Поканен от %s
[install]
admin_password = Парола
user = Потребителско име
@ -1978,14 +2305,14 @@ Pronouns = Местоимения
Biography = Биография
Website = Уебсайт
Location = Местоположение
cannot_add_org_to_team = Организация не може да бъде добавена като член на екип.
cannot_add_org_to_team = Организация не може да бъде добавена като участник в екип.
auth_failed = Неуспешно удостоверяване: %v
team_no_units_error = Разрешете достъп до поне една секция на хранилището.
password_uppercase_one = Поне един голям знак
CommitSummary = Обобщение на подаването
username_error = ` може да съдържа само буквено-цифрови знаци („0-9“, „a-z“, „A-Z“), тире („-“), долна черта („_“) и точка („.“). Не може да започва или завършва с не-буквено-цифрови знаци, като също така са забранени и последователни не-буквено-цифрови знаци.`
username_error_no_dots = ` може да съдържа само буквено-цифрови знаци („0-9“, „a-z“, „A-Z“), тире („-“) и долна черта („_“). Не може да започва или завършва с не-буквено-цифрови знаци, като също така са забранени и последователни не-буквено-цифрови знаци.`
duplicate_invite_to_team = Потребителят вече е поканен като член на екипа.
duplicate_invite_to_team = Потребителят вече е поканен като участник в екипа.
must_use_public_key = Ключът, който предоставихте, е частен ключ. Моля, не качвайте частния си ключ никъде. Вместо това използвайте публичния си ключ.
org_still_own_packages = Тази организация все още притежава един или повече пакети, първо ги изтрийте.
admin_cannot_delete_self = Не можете да изтриете себе си, когато сте администратор. Моля, първо премахнете администраторските си привилегии.
@ -2006,7 +2333,7 @@ enterred_invalid_repo_name = Името на хранилището, което
enterred_invalid_org_name = Името на организацията, което въведохте, е неправилно.
enterred_invalid_password = Паролата, която въведохте, е неправилна.
organization_leave_success = Успешно напуснахте организацията %s.
still_has_org = Вашият акаунт е член на една или повече организации, първо ги напуснете.
still_has_org = Вашият акаунт е участник в една или повече организации, първо ги напуснете.
org_still_own_repo = Тази организация все още притежава едно или повече хранилища, първо ги изтрийте или прехвърлете.
target_branch_not_exist = Целевият клон не съществува.
glob_pattern_error = ` glob шаблонът е невалиден: %s.`
@ -2017,6 +2344,18 @@ AdminEmail = Администраторски адрес за ел. поща
email_domain_is_not_allowed = Домейнът на адреса за ел. поща на потребителя <b>%s</b> е в конфликт с EMAIL_DOMAIN_ALLOWLIST или EMAIL_DOMAIN_BLOCKLIST. Уверете се, че сте въвели правилно адреса за ел. поща.
email_been_used = Адресът за ел. поща вече се използва.
NewBranchName = Име на новия клон
git_ref_name_error = ` трябва да е правилно форматирано име на Git препратка.`
regex_pattern_error = ` шаблонът на регулярния израз е невалиден: %s.`
repository_files_already_exist = Вече съществуват файлове за това хранилище. Свържете се със системния администратор.
repository_files_already_exist.delete = Вече съществуват файлове за това хранилище. Трябва да ги изтриете.
enterred_invalid_owner_name = Името на новия притежател не е валидно.
last_org_owner = Не можете да премахнете последния потребител от екипа на „притежателите“. Трябва да има поне един притежател за организация.
invalid_ssh_key = Не може да се потвърди вашият SSH ключ: %s
invalid_gpg_key = Не може да се потвърди вашият GPG ключ: %s
unable_verify_ssh_key = Не може да се потвърди SSH ключът, проверете го отново за грешки.
required_prefix = Въведеният текст трябва да започва с „%s“
[action]
close_issue = `затвори задача <a href="%[1]s">%[3]s#%[2]s</a>`
rename_repo = преименува хранилище от <code>%[1]s</code> на <a href="%[2]s">%[3]s</a>
@ -2045,6 +2384,12 @@ compare_branch = Сравняване
compare_commits_general = Сравняване на подавания
compare_commits = Сравнете %d подавания
transfer_repo = прехвърли хранилище <code>%s</code> към <a href="%s">%s</a>
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> от огледало
review_dismissed = `отхвърли рецензия от <b>%[4]s</b> за <a href="%[1]s">%[3]s#%[2]s</a>`
[auth]
tab_openid = OpenID
openid_connect_submit = Свързване
@ -2178,6 +2523,15 @@ variables.not_found = Променливата не е открита.
variables.id_not_exist = Променлива с идентификатор %d не съществува.
runners.owner_type = Тип
unit.desc = Управление на интегрирани CI/CD pipelines с Forgejo Actions.
status.unknown = Неизвестно
status.waiting = Изчаква се
status.running = Изпълнява се
status.success = Успешно
status.failure = Неуспешно
status.cancelled = Отменено
status.skipped = Пропуснато
[heatmap]
less = По-малко
number_of_contributions_in_the_last_12_months = %s приноса през последните 12 месеца
@ -2258,3 +2612,32 @@ eib = ЕиБ
[translation_meta]
test = окей
[repo.permissions]
code.read = <b>Четене:</b> Достъп и клониране на кода на хранилището.
code.write = <b>Писане:</b> Изтласкване към хранилището, създаване на клонове и маркери.
issues.read = <b>Четене:</b> Четене и създаване на задачи и коментари.
issues.write = <b>Писане:</b> Затваряне на задачи и управление на метаданни като етикети, етапи, изпълнители, крайни срокове и зависимости.
pulls.read = <b>Четене:</b> Четене и създаване на заявки за сливане.
pulls.write = <b>Писане:</b> Затваряне на заявки за сливане и управление на метаданни като етикети, етапи, изпълнители, крайни срокове и зависимости.
releases.read = <b>Четене:</b> Преглед и изтегляне на издания.
wiki.read = <b>Четене:</b> Четене на интегрираното уики и неговата история.
wiki.write = <b>Писане:</b> Създаване, обновяване и изтриване на страници в интегрираното уики.
projects.read = <b>Четене:</b> Достъп до проектните табла на хранилището.
projects.write = <b>Писане:</b> Създаване и редактиране на проекти и колони.
[gpg]
default_key = Подписано с ключ по подразбиране
error.extract_sign = Неуспешно извличане на подпис
error.generate_hash = Неуспешно генериране на хеш на подаването
error.no_committer_account = Няма акаунт, свързан с адреса за ел. поща на подаващия
error.no_gpg_keys_found = Не е намерен известен ключ за този подпис в базата данни
error.not_signed_commit = Не е подписано подаване
error.failed_retrieval_gpg_keys = Неуспешно извличане на ключ, свързан с акаунта на подаващия
error.probable_bad_signature = ВНИМАНИЕ! Въпреки че има ключ с това ID в базата данни, той не потвърждава това подаване! Това подаване е ПОДОЗРИТЕЛНО.
error.probable_bad_default_signature = ВНИМАНИЕ! Въпреки че ключът по подразбиране има това ID, той не потвърждава това подаване! Това подаване е ПОДОЗРИТЕЛНО.
[units]
unit = Елемент
error.no_unit_allowed_repo = Нямате разрешение за достъп до никоя секция на това хранилище.
error.unit_not_allowed = Нямате разрешение за достъп до тази секция на хранилището.

View file

@ -153,26 +153,26 @@ fuzzy = Difusa
search = Cerca...
type_tooltip = Tipus de cerca
fuzzy_tooltip = Inclou resultats que s'assemblen al terme de la cerca
repo_kind = Cerca repos...
user_kind = Cerca usuaris...
repo_kind = Cerca repos
user_kind = Cerca usuaris
code_search_unavailable = La cerca de codi no està disponible actualment. Si us plau concteu amb l'administrador del lloc.
code_search_by_git_grep = Els resultats actuals de la cerca de codi són proporcionats per "git grep". Podríen haver-hi millors resultats si l'administrador del lloc habilita l'indexador de codi.
package_kind = Cerca paquets...
project_kind = Cerca projectes...
branch_kind = Cerca branques...
commit_kind = Cerca commits...
runner_kind = Cerca executors...
package_kind = Cerca paquets
project_kind = Cerca projectes
branch_kind = Cerca branques
commit_kind = Cerca commits
runner_kind = Cerca executors
no_results = Cap resultat coincident trobat.
keyword_search_unavailable = La cerca per paraula clau no està disponible ara mateix. Si us plau contacteu amb l'administrador del lloc.
union = Paraules clau
union_tooltip = Inclou resultats que encaixen amb qualsevol paraula clau separada per espais
org_kind = Cerca organitzacions...
team_kind = Cerca teams...
code_kind = Cerca codi...
pull_kind = Cerca "pulls"...
org_kind = Cerca organitzacions
team_kind = Cerca teams
code_kind = Cerca codi
pull_kind = Cerca "pulls"
exact = Exacte
exact_tooltip = Inclou només resultats que són exactament el terme de cerca
issue_kind = Cerca problemes...
issue_kind = Cerca problemes
regexp = RegExp
regexp_tooltip = Interpreta el terme de cerca com una expressió regular

View file

@ -1063,7 +1063,7 @@ language.localization_project = Pomozte nám s překladem Forgejo do vašeho jaz
user_block_yourself = Nemůžete zablokovat sami sebe.
pronouns_custom_label = Vlastní zájmena
change_username_redirect_prompt.with_cooldown.few = Staré uživatelské jméno bude dostupné ostatním po %[1]d dnech. Do té doby budete moci své staré uživatelské jméno znovu získat.
change_username_redirect_prompt.with_cooldown.one = Staré uživatelské jméno bude dostupné ostatním po %[1]d dni. Do té doby budete moci své staré uživatelské jméno znovu získat.
change_username_redirect_prompt.with_cooldown.one = Staré uživatelské jméno bude dostupné ostatním po %[1]d dnu. Do té doby budete moci své staré uživatelské jméno znovu získat.
keep_pronouns_private = Zobrazovat zájmena pouze přihlášeným uživatelům
keep_pronouns_private.description = Toto nastavení skryje vaše zájmena před návštěvníky, kteří nejsou přihlášeni.
quota = Kvóta
@ -1556,7 +1556,7 @@ issues.label_templates.info=Zatím nebyly vytvořeny žádné štítky. Vytvořt
issues.label_templates.helper=Vyberte přednastavené značky
issues.label_templates.use=Použít přednastavené štítky
issues.label_templates.fail_to_load_file=Nepodařilo se načíst soubor šablony popisku „%s“: %v
issues.add_label=přidal/a %s štítek %s
issues.add_label=přidal/a štítek %s %s
issues.add_labels=přidal/a %s štítky %s
issues.remove_label=odstranil/a %s štítek %s
issues.remove_labels=odstranil/a %s štítky %s
@ -1579,7 +1579,7 @@ issues.remove_ref_at=`odstranil/a referenci <b>%s</b> %s`
issues.add_ref_at=`přidal/a referenci <b>%s</b> %s`
issues.delete_branch_at=`odstranil/a větev <b>%s</b> %s`
issues.filter_label=Štítek
issues.filter_label_exclude=`Chcete-li vyloučit štítky, použijte <code>alt</code> + <code>click/enter</code>`
issues.filter_label_exclude=Chcete-li vyloučit štítky, použijte <kbd>Alt</kbd> + <kbd>kliknutí</kbd>
issues.filter_label_no_select=Všechny štítky
issues.filter_label_select_no_label=Bez štítku
issues.filter_milestone=Milník
@ -1633,13 +1633,13 @@ issues.opened_by_fake=otevřeno %[1]s uživatelem %[2]s
issues.closed_by_fake=od %[2]s byl uzavřen %[1]s
issues.previous=Předchozí
issues.next=Další
issues.open_title=Otevřeno
issues.closed_title=Uzavřeno
issues.open_title=Otevřené
issues.closed_title=Uzavřené
issues.draft_title=Koncept
issues.num_comments_1=%d komentář
issues.num_comments=%d komentářů
issues.commented_at=`okomentoval/a <a href="#%s">%s</a>`
issues.delete_comment_confirm=Jste si jist, že chcete smazat tento komentář?
issues.delete_comment_confirm=Opravdu chcete smazat tento komentář?
issues.context.copy_link=Kopírovat odkaz
issues.context.quote_reply=Citovat odpověď
issues.context.reference_issue=Odkázat v novém problému
@ -1653,13 +1653,13 @@ issues.close_comment_issue=Zavřít s komentářem
issues.reopen_issue=Znovu otevřít
issues.reopen_comment_issue=Znovu otevřít s komentářem
issues.create_comment=Komentovat
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>`
issues.commit_ref_at=`odkázal/a na tento problém z revize <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from=`<a href="%[3]s">odkázal/a na tento problém %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">odkázal/a na tuto žádost o sloučení %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">odkazoval/a na tento problém ze žádosti o sloučení %[4]s, která jej uzavře</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">odkazoval/a na tento problém ze žádosti o sloučení %[4]s, která jej znovu otevře</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`uzavřel/a tento problém %s`
issues.reopened_at=`znovu otevřel/a tento problém %s`
issues.commit_ref_at=`odkázal/a na tento problém z revize %s`
issues.ref_issue_from=`<a href="%[2]s">odkázal/a na tento problém %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">odkázal/a na tuto žádost o sloučení %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">odkázal/a na tento problém ze žádosti o sloučení %[3]s, která jej uzavře</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">odkázal/a na tento problém ze žádosti o sloučení %[3]s, která jej znovu otevře</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">uzavřel/a tento problém %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">znovu otevřel/a tento problém %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`z %[1]s`
@ -1763,7 +1763,7 @@ issues.error_modifying_due_date=Změna termínu dokončení selhala.
issues.error_removing_due_date=Odstranění termínu dokončení selhalo.
issues.push_commit_1=přidal/a %d revizi %s
issues.push_commits_n=přidal/a %d revize %s
issues.force_push_codes=`vynucené nahrání %[1]s od <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> do <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`vynutil/a nahrání %[1]s od <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> do <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=Porovnat
issues.due_date_form=rrrr-mm-dd
issues.due_date_form_add=Přidat termín dokončení
@ -1813,7 +1813,7 @@ issues.review.approve=schválil/a tyto změny %s
issues.review.comment=posoudil/a %s
issues.review.dismissed=zamítl/a posouzení uživatele %s %s
issues.review.dismissed_label=Zamítnuto
issues.review.left_comment=zanechal komentář
issues.review.left_comment=zanechal/a komentář
issues.review.content.empty=Je potřeba zanechat poznámku s uvedením požadované změny (požadovaných změn).
issues.review.reject=požádal/a o změny %s
issues.review.wait=byl/a požádán/a o posouzení %s
@ -1966,8 +1966,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 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.closed_at=`uzavřel/a tuto žádost o sloučení %s`
pulls.reopened_at=`znovu otevřel/a tuto žádost o sloučení %s`
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
@ -2758,7 +2758,7 @@ settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning = Tuto ak
settings.new_owner_blocked_doer = Nový majitel vás zablokoval.
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/a na tuto žádost o sloučení z revize <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `odkázal/a na tuto žádost o sloučení z revize %s`
settings.wiki_rename_branch_main = Normalizovat název větve wiki
settings.wiki_rename_branch_main_desc = Přejmenovat větev interně používanou pro wiki na „%s“. Tato změna je trvalá a nelze ji vrátit.
pulls.fast_forward_only_merge_pull_request = Pouze zrychlené
@ -3058,7 +3058,7 @@ teams.invite.by=Pozvání od %s
teams.invite.description=Pro připojení k týmu klikněte na tlačítko níže.
follow_blocked_user = Tuto organizaci nemůžete sledovat, protože jste v ní zablokováni.
open_dashboard = Otevřít nástěnku
settings.change_orgname_redirect_prompt.with_cooldown.one = Starý název organizace bude dostupný ostatním po %[1]d dni. Do té doby budete moci staré jméno znovu získat.
settings.change_orgname_redirect_prompt.with_cooldown.one = Starý název organizace bude dostupný ostatním po %[1]d dnu. Do té doby budete moci staré jméno znovu získat.
settings.change_orgname_redirect_prompt.with_cooldown.few = Starý název organizace bude dostupný ostatním po %[1]d dnech. Do té doby budete moci starý název znovu získat.
[admin]

View file

@ -1,6 +1,3 @@
[common]
home = Hjem
dashboard = Instrumentpanel
@ -978,8 +975,8 @@ delete_with_all_comments = Din konto er yngre end %s. For at undgå spøgelsesko
delete_account_title = Slet brugerkonto
user_block_yourself = Du kan ikke blokere dig selv.
pronouns_custom_label = Brugerdefinerede stedord
change_username_redirect_prompt.with_cooldown.one = Det gamle brugernavn vil være tilgængeligt for alle efter en nedkølingsperiode på %[1]d dag, du kan stadig kræve det gamle brugernavn tilbage i nedkølingsperioden.
change_username_redirect_prompt.with_cooldown.few = Det gamle brugernavn vil være tilgængeligt for alle efter en nedkølingsperiode på %[1]d dage, du kan stadig kræve det gamle brugernavn tilbage i nedkølingsperioden.
change_username_redirect_prompt.with_cooldown.one = Det gamle brugernavn vil være tilgængeligt for alle efter en nedkølingsperiode på %[1]d dag, år. Du kan stadig kræve det gamle brugernavn tilbage i nedkølingsperioden.
change_username_redirect_prompt.with_cooldown.few = Det gamle brugernavn vil være tilgængeligt for alle efter en nedkølingsperiode på %[1]d dage, år. Du kan stadig kræve det gamle brugernavn tilbage i nedkølingsperioden.
keep_pronouns_private = Vis kun stedord til godkendte brugere
keep_pronouns_private.description = Dette vil skjule dine stedord for besøgende, der ikke er logget ind.
quota.applies_to_user = Følgende kvoteregler gælder for din konto
@ -1520,15 +1517,15 @@ issues.add_labels = tilføjede %s etiketterne %s
issues.add_remove_labels = tilføjede %s og fjernede %s etiketter %s
issues.add_milestone_at = `føjede dette til <b>%s</b> milepælen %s`
issues.add_project_at = `føjede dette til <b>%s</b>- projektet %s`
issues.ref_reopening_from = `<a href="%[3]s">henviste til dette problem fra en pull-anmodning %[4]s, der vil genåbne den</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from = `<a href="%[2]s">henviste til dette problem fra en pull-anmodning %[3]s, der vil genåbne det</a>, %[1]s`
issues.ref_closed_from = `<a href="%[3]s">lukkede dette problem %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>`
issues.ref_reopened_from = `<a href="%[3]s">genåbnede dette problem %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>`
issues.ref_from = `fra %[1]s`
issues.author = Forfatter
issues.commit_ref_at = `henviste til dette problem fra en commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from = `<a href="%[3]s">henviste til dette problem %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>`
issues.ref_pull_from = `<a href="%[3]s">henviste til denne pull-anmodning %[4]s</a> <a id="%[1]s" href="#%[1]s">%[ 2]s</a>`
issues.ref_closing_from = `<a href="%[3]s">henviste til dette problem fra en pull-anmodning %[4]s, der vil lukke det</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at = `henviste til dette problem fra en commit %s`
issues.ref_issue_from = `<a href="%[2]s">henviste til dette problem %[3]s</a> %[1]s`
issues.ref_pull_from = `<a href="%[2]s">henviste til denne pull-anmodning %[3]s</a> %[1]s`
issues.ref_closing_from = `<a href="%[2]s">henviste til dette problem fra en pull-anmodning %[3]s, der vil lukke det</a>, %[1]s`
issues.author.tooltip.issue = Denne bruger er forfatteren til dette problem.
issues.author.tooltip.pr = Denne bruger er forfatteren af denne pull-anmodning.
issues.role.owner = Ejer
@ -1564,8 +1561,8 @@ issues.reaction.alt_add = Tilføj %[1]s reaktion til kommentar.
issues.context.menu = Kommentar menu
issues.reopen_comment_issue = Genåbner med kommentar
issues.create_comment = Kommentar
issues.closed_at = `lukkede dette problem <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at = `genåbnede dette problem <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at = `lukkede dette problem %s`
issues.reopened_at = `genåbnede dette problem %s`
issues.remove_label = fjernede %s etiketten %s
issues.remove_labels = fjernede %s etiketterne %s
issues.change_project_at = `modificerede projektet fra <b>%s</b> til <b>%s</b> %s`
@ -1582,7 +1579,7 @@ issues.change_ref_at = `ændret reference fra <b><strike>%s</strike></b> til <b>
issues.remove_ref_at = `fjernet reference <b>%s</b> %s`
issues.add_ref_at = `tilføjet reference <b>%s</b> %s`
issues.delete_branch_at = `slettet gren <b>%s</b> %s`
issues.filter_label_exclude = `Brug <code>alt</code> + <code>klik/enter</code> for at ekskludere etiketter`
issues.filter_label_exclude = Brug <kbd>Alt</kbd> + <kbd>klik</kbd> for at ekskludere etiketter
issues.filter_milestone = Milepæl
issues.filter_milestone_all = Alle milepæle
issues.filter_milestone_none = Ingen milepæle
@ -1911,10 +1908,10 @@ pulls.editable_explanation = Denne pull-anmodning tillader redigeringer fra vedl
pulls.auto_merge_button_when_succeed = (Når kontroller lykkes)
pulls.status_checks_requested = Påkrævet
pulls.close = Luk pull anmodning
pulls.commit_ref_at = `henviste til denne pull-anmodning fra en commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `henviste til denne pull-anmodning fra en commit %s`
pulls.cmd_instruction_hint = Se instruktionerne på kommandolinjen
pulls.reopened_at = `genåbnede denne pull-anmodning <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at = `lukkede denne pull-anmodning <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at = `genåbnede denne pull-anmodning %s`
pulls.closed_at = `lukkede denne pull-anmodning %s`
pulls.cmd_instruction_checkout_desc = Fra dit projektdepot, tjek en ny gren og test ændringerne.
pulls.editable = Redigerbar
pulls.made_using_agit = AGit
@ -2833,8 +2830,8 @@ team_permission_desc = Tilladelse
members.member = Medlem
settings.change_orgname_prompt = Bemærk: Ændring af organisationens navn vil også ændre din organisations URL og frigøre det gamle navn.
settings.change_orgname_redirect_prompt = Det gamle navn vil omdirigere, indtil det gøres krav på.
settings.change_orgname_redirect_prompt.with_cooldown.one = Det gamle organisationsnavn vil være tilgængeligt for alle efter en nedkølingsperiode på %[1]d dag, du kan stadig kræve det gamle navn tilbage i nedkølingsperioden.
settings.change_orgname_redirect_prompt.with_cooldown.few = Det gamle organisationsnavn vil være tilgængeligt for alle efter en nedkølingsperiode på %[1]d dage, du kan stadig kræve det gamle navn tilbage i .
settings.change_orgname_redirect_prompt.with_cooldown.one = Det gamle organisationsnavn vil være tilgængeligt for alle efter en nedkølingsperiode på %[1]d dag, år. Du kan stadig kræve det gamle navn tilbage i nedkølingsperioden.
settings.change_orgname_redirect_prompt.with_cooldown.few = Det gamle organisationsnavn vil være tilgængeligt for alle efter en nedkølingsperiode på %[1]d dage, år. Du kan stadig kræve det gamle navn tilbage i.
settings.update_avatar_success = Organisationens avatar er blevet opdateret.
members.public_helper = Gør skjult
members.private = Skjult

View file

@ -251,12 +251,12 @@ db_schema_helper=Leer lassen, um den Datenbank-Standardwert („public“) zu ve
ssl_mode=SSL
path=Pfad
sqlite_helper=Dateipfad zur SQLite3-Datenbank.<br>Gib einen absoluten Pfad an, wenn Forgejo als Service gestartet wird.
reinstall_error=Du versuchst, in eine bereits existierende Forgejo Datenbank zu installieren
reinstall_error=Du versuchst, in eine bereits existierende Forgejo-Datenbank zu installieren
reinstall_confirm_message=Eine Neuinstallation mit einer bestehenden Forgejo-Datenbank kann mehrere Probleme verursachen. In den meisten Fällen solltest du deine vorhandene „app.ini“ verwenden, um Forgejo auszuführen. Wenn du weißt, was du tust, bestätige die folgenden Angaben:
reinstall_confirm_check_1=Die von der SECRET_KEY in app.ini verschlüsselten Daten können verloren gehen: Benutzer können sich unter Umständen nicht mit 2FA/OTP einloggen und Spiegel könnten nicht mehr richtig funktionieren. Mit der Ankreuzung dieses Kästchens bestätigst du, dass die aktuelle app.ini-Datei den korrekten SECRET_KEY enthält.
reinstall_confirm_check_2=Die Repositorys und Einstellungen müssen eventuell neu synchronisiert werden. Durch das Ankreuzen dieses Kästchens bestätigst du, dass du die Hooks für die Repositorys und die authorized_keys-Datei manuell neu synchronisierst. Du bestätigst, dass du sicherstellst, dass die Repository- und Spiegeleinstellungen korrekt sind.
reinstall_confirm_check_3=Du bestätigst, dass du absolut sicher bist, dass diese Forgejo mit der richtigen app.ini läuft, und du sicher bist, dass du neu installieren musst. Du bestätigst, dass du die oben genannten Risiken anerkennst.
err_empty_db_path=Der SQLite3 Datenbankpfad darf nicht leer sein.
err_empty_db_path=Der SQLite3-Datenbankpfad darf nicht leer sein.
no_admin_and_disable_registration=Du kannst Selbst-Registrierungen nicht deaktivieren, ohne ein Administratorkonto zu erstellen.
err_empty_admin_password=Das Administrator-Passwort darf nicht leer sein.
err_empty_admin_email=Die Administrator-E-Mail darf nicht leer sein.
@ -463,7 +463,7 @@ openid_register_title=Neues Konto einrichten
openid_register_desc=Die gewählte OpenID-URI ist unbekannt. Ordne sie hier einem neuen Account zu.
openid_signin_desc=Gib deine OpenID-URI ein, zum Beispiel alice.openid.example.org oder https://openid.example.org/alice.
disable_forgot_password_mail=Die Kontowiederherstellung ist deaktiviert, da keine E-Mail eingerichtet ist. Bitte kontaktiere den zuständigen Administrator.
disable_forgot_password_mail_admin=Die Kontowiederherstellung ist nur verfügbar, wenn eine E-Mail eingerichtet wurde. Bitte richte eine E-Mail Adresse ein, um die Kontowiederherstellung freizuschalten.
disable_forgot_password_mail_admin=Die Kontowiederherstellung ist nur verfügbar, wenn eine E-Mail eingerichtet wurde. Bitte richte eine E-Mail-Adresse ein, um die Kontowiederherstellung freizuschalten.
email_domain_blacklisted=Du kannst dich nicht mit deiner E-Mail-Adresse registrieren.
authorize_application=Anwendung autorisieren
authorize_redirect_notice=Du wirst zu %s weitergeleitet, wenn du diese Anwendung autorisierst.
@ -530,8 +530,8 @@ issue.action.merge=<b>@%[1]s</b> hat #%[2]d in %[3]s zusammengeführt.
issue.action.approve=<b>@%[1]s</b> hat diesen Pull-Request genehmigt.
issue.action.reject=<b>@%[1]s</b> hat Änderungen auf diesem Pull-Request angefordert.
issue.action.review=<b>@%[1]s</b> hat diesen Pull-Request kommentiert.
issue.action.review_dismissed=<b>@%[1]s</b> hat das letzte Review von %[2]s für diesen Pull-Request verworfen.
issue.action.ready_for_review=<b>@%[1]s</b> hat diesen Pull-Request zum Review freigegeben.
issue.action.review_dismissed=<b>@%[1]s</b> hat die letzte Sichtung von %[2]s für diesen Pull-Request verworfen.
issue.action.ready_for_review=<b>@%[1]s</b> hat diesen Pull-Request für die Sichtung freigegeben.
issue.action.new=<b>@%[1]s</b> hat #%[2]d geöffnet.
issue.in_tree_path=In %s:
@ -540,8 +540,8 @@ release.new.text=<b>@%[1]s</b> hat %[2]s in %[3]s released
release.title=Titel: %s
release.note=Anmerkung:
release.downloads=Downloads:
release.download.zip=Quellcode (ZIP Datei)
release.download.targz=Quellcode (TAR.GZ Datei)
release.download.zip=Quellcode (ZIP)
release.download.targz=Quellcode (TAR.GZ)
repo.transfer.subject_to=%s möchte „%s“ an %s übertragen
repo.transfer.subject_to_you=%s möchte dir „%s“ übertragen
@ -752,7 +752,7 @@ organization=Organisationen
uid=UID
webauthn=Hardware-Sicherheitsschlüssel
public_profile=Öffentliches Profil
public_profile=Öffentliches profil
biography_placeholder=Erzähle anderen ein wenig über dich selbst! (Markdown wird unterstützt)
location_placeholder=Teile deinen ungefähren Standort mit anderen
profile_desc=Über dich
@ -787,7 +787,7 @@ comment_type_group_time_tracking=Zeiterfassung
comment_type_group_deadline=Frist
comment_type_group_dependency=Abhängigkeit
comment_type_group_lock=Sperrstatus
comment_type_group_review_request=Angeforderte Reviews
comment_type_group_review_request=Angeforderte Sichtungen
comment_type_group_pull_request_push=Hinzugefügte Commits
comment_type_group_project=Projekt
comment_type_group_issue_ref=Issue-Referenz
@ -873,7 +873,7 @@ gpg_key_matched_identities_long=Die eingebetteten Identitäten in diesem Schlüs
gpg_key_verified=Verifizierter Schlüssel
gpg_key_verified_long=Der Schlüssel wurde mit einem Token verifiziert. Er kann verwendet werden, um Commits zu verifizieren, die mit irgendeiner für diesen Nutzer aktivierten E-Mail-Adresse und irgendeiner Identität dieses Schlüssels übereinstimmen.
gpg_key_verify=Verifizieren
gpg_invalid_token_signature=Der GPG-Key, die Signatur, und das Token stimmen nicht überein, oder das Token ist veraltet.
gpg_invalid_token_signature=Der GPG-Key, die Signatur und das Token stimmen nicht überein, oder das Token ist veraltet.
gpg_token_required=Du musst eine Signatur für das folgende Token angeben
gpg_token=Token
gpg_token_help=Du kannst eine Signatur wie folgt generieren:
@ -902,10 +902,10 @@ add_principal_success=Die SSH-Zertifikatsidentität „%s“ wurde hinzugefügt.
delete_key=Entfernen
ssh_key_deletion=SSH-Schlüssel entfernen
gpg_key_deletion=GPG-Schlüssel entfernen
ssh_principal_deletion=SSH-Zertifik-Identität entfernen
ssh_principal_deletion=SSH-Zertifikats-Principal entfernen
ssh_key_deletion_desc=Wenn du einen SSH-Key entfernst, hast du mit diesem Key keinen Zugriff mehr. Fortfahren?
gpg_key_deletion_desc=Wenn du einen GPG-Schlüssel entfernst, können damit unterschriebene Commits nicht mehr verifiziert werden. Fortfahren?
ssh_principal_deletion_desc=Das Entfernen einer SSH-Zertifikat-Identität entzieht den Zugriff auf dein Konto. Fortfahren?
ssh_principal_deletion_desc=Das Entfernen eines SSH-Zertifikats-Principals entzieht den Zugriff auf dein Konto. Fortfahren?
ssh_key_deletion_success=Der SSH-Schlüssel wurde entfernt.
gpg_key_deletion_success=Der GPG-Schlüssel wurde entfernt.
ssh_principal_deletion_success=Die Identität wurde entfernt.
@ -931,7 +931,7 @@ unbind_success=Das soziale Konto wurde erfolgreich entfernt.
manage_access_token=Zugriffstokens
generate_new_token=Neuen Token erzeugen
tokens_desc=Diese Tokens gewähren vollen Zugriff auf dein Konto via die Forgejo-API.
tokens_desc=Diese Tokens gewähren vollen Zugriff auf dein Konto mit der Forgejo-API.
token_name=Token-Name
generate_token=Token generieren
generate_token_success=Ein neuer Token wurde generiert. Kopiere diesen jetzt, da er nicht erneut angezeigt wird.
@ -970,8 +970,8 @@ save_application=Speichern
oauth2_client_id=Client-ID
oauth2_client_secret=Client-Geheimnis
oauth2_regenerate_secret=Geheimnis neu generieren
oauth2_regenerate_secret_hint=Secret verloren?
oauth2_client_secret_hint=Das Secret wird nach dem Verlassen oder Aktualisieren dieser Seite nicht mehr angezeigt. Bitte stelle sicher, dass du es gespeichert hast.
oauth2_regenerate_secret_hint=Geheimnis verloren?
oauth2_client_secret_hint=Das Geheimnis wird nach dem Verlassen oder Aktualisieren dieser Seite nicht mehr angezeigt. Bitte stelle sicher, dass du es gespeichert hast.
oauth2_application_edit=Bearbeiten
oauth2_application_create_description=OAuth2-Anwendungen geben deiner Drittanwendung Zugriff auf Benutzeraccounts dieser Forgejo-Instanz.
oauth2_application_remove_description=Das Entfernen einer OAuth2-Anwendung hat zur Folge, dass diese nicht mehr auf autorisierte Benutzeraccounts auf dieser Instanz zugreifen kann. Möchtest Du fortfahren?
@ -996,11 +996,11 @@ twofa_disable_desc=Wenn du die Zwei-Faktor-Authentifizierung deaktivierst, wird
regenerate_scratch_token_desc=Wenn du deinen Wiederherstellungsschlüssel verlegst oder es bereits benutzt hast, kannst du es hier zurücksetzen.
twofa_disabled=Zwei-Faktor-Authentifizierung wurde deaktiviert.
scan_this_image=Scanne diese Grafik mit deiner Authentifizierungs-App:
or_enter_secret=Oder gib das Secret ein: %s
or_enter_secret=Oder gib das Geheimnis ein: %s
then_enter_passcode=Und gib dann die angezeigte PIN der Anwendung ein:
passcode_invalid=Die PIN ist falsch. Probiere es erneut.
twofa_enrolled=Die Zwei-Faktor-Authentifizierung wurde für dein Konto aktiviert. Bewahre deinen einmalig verwendbaren Wiederherstellungsschlüssel (%s) an einem sicheren Ort auf, da er nicht wieder angezeigt werden wird.
twofa_failed_get_secret=Fehler beim Abrufen des Secrets.
twofa_failed_get_secret=Fehler beim Abrufen des Geheimnisses.
webauthn_desc=Sicherheitsschlüssel sind Geräte, die kryptografische Schlüssel beeinhalten. Diese können für die Zwei-Faktor-Authentifizierung verwendet werden. Der Sicherheitsschlüssel muss den Standard „<a rel="noreferrer" target="_blank" href="%s">WebAuthn</a>“ unterstützen.
webauthn_register_key=Sicherheitsschlüssel hinzufügen
@ -1185,9 +1185,9 @@ blame.ignore_revs=Revisionen in <a href="%s">.git-blame-ignore-revs</a> werden i
blame.ignore_revs.failed=Fehler beim Ignorieren der Revisionen in <a href="%s">.git-blame-ignore-revs</a>.
author_search_tooltip=Zeigt maximal 30 Benutzer
tree_path_not_found_commit=Pfad %[1]s existiert nicht in Commit%[2]s
tree_path_not_found_branch=Pfad %[1]s existiert nicht in Branch %[2]s
tree_path_not_found_tag=Pfad %[1]s existiert nicht in Tag %[2]s
tree_path_not_found_commit=Pfad %[1]s existiert nicht im Commit %[2]s
tree_path_not_found_branch=Pfad %[1]s existiert nicht im Branch %[2]s
tree_path_not_found_tag=Pfad %[1]s existiert nicht im Tag %[2]s
transfer.accept=Übertragung akzeptieren
transfer.accept_desc=Übertragung nach „%s“
@ -1248,7 +1248,7 @@ migrate.clone_local_path=oder ein lokaler Serverpfad
migrate.permission_denied=Du hast keine Berechtigung zum Importieren lokaler Repositorys.
migrate.permission_denied_blocked=Du kannst von keinen nicht erlaubten Hosts importieren. Bitte fragen deinen Administrator, die Einstellungen ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS zu überprüfen.
migrate.invalid_local_path=Der lokale Pfad ist ungültig. Er existiert nicht oder ist kein Verzeichnis.
migrate.invalid_lfs_endpoint=Ungültiger LFS Endpunkt.
migrate.invalid_lfs_endpoint=Der LFS-Endpunkt ist nicht gültig.
migrate.failed=Fehler bei der Migration: %v
migrate.migrate_items_options=Zugangs-Token wird benötigt, um zusätzliche Elemente zu migrieren
migrated_from=Migriert von <a href="%[1]s">%[2]s</a>
@ -1324,7 +1324,7 @@ commit=Commit
release=Release
releases=Releases
tag=Tag
released_this=hat released
released_this=hat releast
tagged_this=hat getaggt
file.title=%s an %s
file_raw=Originalformat
@ -1448,7 +1448,7 @@ commits.older=Älter
commits.newer=Neuer
commits.signed_by=Signiert von
commits.signed_by_untrusted_user=Signiert von nicht vertrauenswürdigen Benutzern
commits.signed_by_untrusted_user_unmatched=Signiert von nicht vertrauenswürdigen Benutzern, der nicht mit dem Committer übereinstimmt
commits.signed_by_untrusted_user_unmatched=Von einem nicht vertrauenswürdigen Benutzer, der nicht auf den Committer passt, signiert
commits.gpg_key_id=GPG-Schlüssel-ID
commits.ssh_key_fingerprint=SSH-Schlüssel-Fingerabdruck
commits.view_path=An diesem Punkt im Verlauf anzeigen
@ -1459,7 +1459,7 @@ commit.revert-header=Setze zurück: %s
commit.revert-content=Branch auswählen, der zurückgesetzt werden soll:
commit.cherry-pick=Cherry-Pick
commit.cherry-pick-header=Cherry-Picke: %s
commit.cherry-pick-content=Branch auswählen, auf dem Cherry-Picked werden soll:
commit.cherry-pick-content=Branch auswählen, zu dem das Ergebnis des Cherry-Picks angewendet werden soll:
commitstatus.error=Fehler
commitstatus.failure=Fehler
@ -1515,7 +1515,7 @@ issues.filter_assignees=Verantwortliche filtern
issues.filter_milestones=Meilenstein filtern
issues.filter_projects=Projekt filtern
issues.filter_labels=Label filtern
issues.filter_reviewers=Reviewer filtern
issues.filter_reviewers=Sichter filtern
issues.new=Neues Issue
issues.new.title_empty=Der Titel kann nicht leer sein
issues.new.labels=Labels
@ -1535,7 +1535,7 @@ issues.new.closed_milestone=Geschlossene Meilensteine
issues.new.assignees=Zuständige
issues.new.clear_assignees=Zuständige entfernen
issues.new.no_assignees=Niemand zuständig
issues.new.no_reviewers=Keine Reviewer
issues.new.no_reviewers=Keine Sichter
issues.choose.get_started=Los geht's
issues.choose.open_external_link=Öffnen
issues.choose.blank=Standard
@ -1577,7 +1577,7 @@ issues.remove_ref_at=`hat die Referenz <b>%s</b> %s entfernt`
issues.add_ref_at=`hat die Referenz <b>%s</b> %s hinzugefügt`
issues.delete_branch_at=`löschte den Branch <b>%s</b> %s`
issues.filter_label=Label
issues.filter_label_exclude=`<code>Alt</code> + <code>Klick/Enter</code> verwenden, um Labels auszuschließen`
issues.filter_label_exclude=`Verwende <kbd>Alt</kbd> + <kbd>Klick/Enter</kbd>, um Labels auszuschließen`
issues.filter_label_no_select=Alle Labels
issues.filter_label_select_no_label=Kein Label
issues.filter_milestone=Meilenstein
@ -1598,8 +1598,8 @@ issues.filter_type.all_issues=Alle Issues
issues.filter_type.assigned_to_you=Dir zugewiesen
issues.filter_type.created_by_you=Von dir erstellt
issues.filter_type.mentioning_you=Hat dich erwähnt
issues.filter_type.review_requested=Review angefordert
issues.filter_type.reviewed_by_you=Von dir gereviewt
issues.filter_type.review_requested=Sichtung angefordert
issues.filter_type.reviewed_by_you=Von dir gesichtet
issues.filter_sort=Sortieren
issues.filter_sort.latest=Neueste
issues.filter_sort.oldest=Älteste
@ -1621,8 +1621,8 @@ issues.action_milestone=Meilenstein
issues.action_milestone_no_select=Kein Meilenstein
issues.action_assignee=Zuständig
issues.action_assignee_no_select=Niemand zuständig
issues.action_check=Auswählen/Auswahl aufheben
issues.action_check_all=Alles auswählen/Auswahl aufheben
issues.action_check=Auswählen / Auswahl aufheben
issues.action_check_all=Alles auswählen / Auswahl aufheben
issues.opened_by=%[1]s von <a href="%[2]s">%[3]s</a> geöffnet
pulls.merged_by=von <a href="%[2]s">%[3]s</a> wurde %[1]s zusammengeführt
pulls.merged_by_fake=von %[2]s %[1]s zusammengeführt
@ -1651,13 +1651,13 @@ issues.close_comment_issue=Mit Kommentar schließen
issues.reopen_issue=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`
issues.commit_ref_at=`hat dieses Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> aus einem Commit referenziert`
issues.ref_issue_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">auf dieses Issue verwiesen %[4]s</a>`
issues.ref_pull_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">auf diesen Pull-Request verwiesen %[4]s</a>`
issues.ref_closing_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">in einem Pull-Request %[4]s auf dieses Issue verwiesen, welcher es schließen wird</a>`
issues.ref_reopening_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s"> in einem Pull-Request %[4]s auf dieses Issue verwiesen, welcher es erneut öffnen wird</a>`
issues.closed_at=`hat dieses Issue %s geschlossen`
issues.reopened_at=`hat dieses Issue %s wieder geöffnet`
issues.commit_ref_at=`hat dieses Issue %s aus einem Commit referenziert`
issues.ref_issue_from=`<a href="%[2]s">hat</a> %[1]s <a href="%[2]s">auf dieses Issue verwiesen %[3]s</a>`
issues.ref_pull_from=`<a href="%[2]s">referenzierte diesen Pull-Request %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">referenzierte dieses Issue aus einem Pull-Request %[3]s der es schließen wird</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">referenzierte dieses Issue aus einem Pull-Request %[3]s der es wieder öffnen wird</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">hat dieses Issue %[4]s geschlossen</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">hat dieses Issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet`
issues.ref_from=`von %[1]s`
@ -1673,12 +1673,12 @@ issues.role.first_time_contributor=Erstmaliger Mitwirkender
issues.role.first_time_contributor_helper=Dies ist der erste Beitrag dieses Benutzers zum Repository.
issues.role.contributor=Mitwirkender
issues.role.contributor_helper=Dieser Benutzer hat schon zuvor zu dem Repository beigetragen.
issues.re_request_review=Review erneut anfordern
issues.is_stale=Seit diesem Review gab es Änderungen an diesem PR
issues.remove_request_review=Review-Anfrage entfernen
issues.remove_request_review_block=Review-Anfrage kann nicht entfernt werden
issues.dismiss_review=Review verwerfen
issues.dismiss_review_warning=Bist du dir sicher, dass du dieses Review verwerfen willst?
issues.re_request_review=Sichtung erneut anfordern
issues.is_stale=Seit dieser Sichtung gab es Änderungen an diesem PR
issues.remove_request_review=Sichtungsanfrage entfernen
issues.remove_request_review_block=Sichtungsanfrage kann nicht entfernt werden
issues.dismiss_review=Sichtung verwerfen
issues.dismiss_review_warning=Bist du dir sicher, dass du diese Sichtung verwerfen willst?
issues.sign_in_require_desc=<a href="%s">Anmelden</a>, um an der Diskussion teilzunehmen.
issues.edit=Bearbeiten
issues.cancel=Abbrechen
@ -1809,20 +1809,20 @@ issues.dependency.add_error_dep_not_same_repo=Beide Issues müssen sich im selbe
issues.review.self.approval=Du kannst nicht dein eigenen Pull-Request genehmigen.
issues.review.self.rejection=Du kannst keine Änderungen an deinem eigenen Pull-Request anfragen.
issues.review.approve=hat die Änderungen %s genehmigt
issues.review.comment=hat %s gereviewt
issues.review.comment=hat %s gesichtet
issues.review.dismissed=verwarf %ss Review %s
issues.review.dismissed_label=Verworfen
issues.review.left_comment=hat einen Kommentar hinterlassen
issues.review.content.empty=Du musst einen Kommentar hinterlassen, der die gewünschte(n) Änderung(en) beschreibt.
issues.review.reject=hat %s Änderungen angefragt
issues.review.wait=wurde für ein Review %s angefragt
issues.review.add_review_request=hat ein Review von %[1]s %[2]s angefragt
issues.review.remove_review_request=hat die Aufforderung zum Review an %[1]s %[2]s entfernt
issues.review.remove_review_request_self=hat das Review verweigert %s
issues.review.wait=wurde für eine Sichtung von %s angefragt
issues.review.add_review_request=hat eine Sichtung von %[1]s %[2]s angefragt
issues.review.remove_review_request=hat die Sichtungsanfrage an %[1]s %[2]s entfernt
issues.review.remove_review_request_self=hat die Sichtung %s verweigert
issues.review.pending=Ausstehend
issues.review.pending.tooltip=Dieser Kommentar ist derzeit nicht für andere Benutzer sichtbar. Um deine ausstehenden Kommentare einzureichen, wähle „%s“ -> „%s/%s/%s“ oben auf der Seite.
issues.review.review=Review
issues.review.reviewers=Reviewer
issues.review.reviewers=Sichter
issues.review.outdated=Veraltet
issues.review.outdated_description=Der Inhalt hat sich geändert, seit dieser Kommentar abgegeben wurde
issues.review.option.show_outdated_comments=Veraltete Kommentare anzeigen
@ -1833,7 +1833,7 @@ issues.review.show_resolved=Erledigte anzeigen
issues.review.hide_resolved=Erledigte ausblenden
issues.review.resolve_conversation=Diskussion als „erledigt“ markieren
issues.review.un_resolve_conversation=Diskussion als „nicht erledigt“ markieren
issues.review.resolved_by=markierte diese Unterhaltung als gelöst
issues.review.resolved_by=markierte diese Unterhaltung als „erledigt“
issues.assignee.error=Aufgrund eines unerwarteten Fehlers konnten nicht alle Zuständigen hinzugefügt werden.
issues.reference_issue.body=Beschreibung
issues.content_history.deleted=gelöscht
@ -1847,7 +1847,7 @@ issues.reference_link=Referenz: %s
compare.compare_base=Basis
compare.compare_head=vergleichen
pulls.desc=Pull-Requests und Code-Reviews aktivieren.
pulls.desc=Pull-Requests und Code-Sichtungen aktivieren.
pulls.new=Neuer Pull-Request
pulls.view=Pull-Request ansehen
pulls.compare_changes=Neuer Pull-Request
@ -1856,7 +1856,7 @@ pulls.allow_edits_from_maintainers_desc=Nutzer mit Schreibzugriff auf den Basisb
pulls.allow_edits_from_maintainers_err=Aktualisieren fehlgeschlagen
pulls.compare_changes_desc=Wähle den Zielbranch, in das zusammengeführt werden soll, und den Quellbranch, von dem gepullt werden soll, aus.
pulls.has_viewed_file=Gesehen
pulls.has_changed_since_last_review=Seit deinem letzten Review geändert
pulls.has_changed_since_last_review=Seit deiner letzten Sichtung geändert
pulls.viewed_files_label=%[1]d / %[2]d Dateien betrachtet
pulls.expand_files=Alle Dateien ausklappen
pulls.collapse_files=Alle Dateien einklappen
@ -1867,11 +1867,11 @@ pulls.switch_head_and_base=Head und Base vertauschen
pulls.filter_branch=Branch filtern
pulls.no_results=Keine Ergebnisse verfügbar.
pulls.show_all_commits=Alle Commits anzeigen
pulls.show_changes_since_your_last_review=Zeige Änderungen seit deinem letzten Review
pulls.show_changes_since_your_last_review=Zeige Änderungen seit deiner letzten Sichtung
pulls.showing_only_single_commit=Nur Änderungen aus Commit %[1]s werden angezeigt
pulls.showing_specified_commit_range=Zeige nur die Änderungen zwischen %[1]s..%[2]s
pulls.select_commit_hold_shift_for_range=Commit auswählen. Halte Shift + klicke, um eine Reihe auszuwählen
pulls.review_only_possible_for_full_diff=Ein Review ist nur möglich, wenn das vollständige Diff angezeigt wird
pulls.review_only_possible_for_full_diff=Eine Sichtung ist nur möglich, wenn der vollständige Diff angezeigt wird
pulls.filter_changes_by_commit=Nach Commit filtern
pulls.nothing_to_compare=Diese Branches sind identisch. Es muss kein Pull-Request erstellt werden.
pulls.nothing_to_compare_and_allow_empty_pr=Diese Branches sind gleich. Der Pull-Request wird leer sein.
@ -1905,8 +1905,8 @@ pulls.required_status_check_failed=Einige erforderliche Prüfungen waren nicht e
pulls.required_status_check_missing=Einige erforderliche Prüfungen fehlen.
pulls.required_status_check_administrator=Als Administrator kannst du diesen Pull-Request weiterhin zusammenführen.
pulls.blocked_by_approvals=Dieser Pull-Request hat noch nicht genügend Genehmigungen. %d von %d Genehmigungen erteilt.
pulls.blocked_by_rejection=Dieser Pull-Request hat Änderungen, die von einem offiziellen Reviewer angefragt wurden.
pulls.blocked_by_official_review_requests=Dieser Pull-Request ist blockiert, weil ihm die Genehmigung von einem oder mehreren offiziellen Reviewern fehlt.
pulls.blocked_by_rejection=Dieser Pull-Request hat Änderungen, die von einem offiziellen Sichter angefragt wurden.
pulls.blocked_by_official_review_requests=Dieser Pull-Request ist blockiert, weil ihm die Genehmigung von einem oder mehreren offiziellen Sichtern fehlt.
pulls.blocked_by_outdated_branch=Dieser Pull-Request ist blockiert, da er veraltet ist.
pulls.blocked_by_changed_protected_files_1=Dieser Pull-Request ist blockiert, weil er eine geschützte Datei ändert:
pulls.blocked_by_changed_protected_files_n=Dieser Pull-Request ist blockiert, weil er geschützte Dateien ändert:
@ -1919,14 +1919,14 @@ pulls.approve_count_1=%d Genehmigung
pulls.approve_count_n=%d Genehmigungen
pulls.reject_count_1=%d Änderungsanfrage
pulls.reject_count_n=%d Änderungsanfragen
pulls.waiting_count_1=%d wartendes Review
pulls.waiting_count_n=%d wartende Reviews
pulls.waiting_count_1=%d wartende Sichtung
pulls.waiting_count_n=%d wartende Sichtungen
pulls.wrong_commit_id=die Commit-ID muss eine Commit-ID auf dem Zielbranch sein
pulls.no_merge_desc=Dieser Pull-Request kann nicht zusammengeführt werden, da alle Repository-Merge-Optionen deaktiviert sind.
pulls.no_merge_helper=Aktiviere Mergeoptionen in den Repositoryeinstellungen oder führe den Pull-Request manuell zusammen.
pulls.no_merge_wip=Dieser Pull-Request kann nicht zusammengeführt werden, da er als „Work in Progress“ (in Bearbeitung) markiert ist.
pulls.no_merge_not_ready=Dieser Pull-Request kann nicht zusammengeführt werden, überprüfe den Reviewstatus und die Statusprüfungen.
pulls.no_merge_not_ready=Dieser Pull-Request kann nicht zusammengeführt werden, überprüfe den Sichtungsstatus und die Statusprüfungen.
pulls.no_merge_access=Du bist nicht berechtigt, diesen Pull-Request zusammenzuführen.
pulls.merge_pull_request=Merge-Commit erstellen
pulls.rebase_merge_pull_request=Rebasen und dann fast-forwarden
@ -1962,8 +1962,8 @@ pulls.update_branch_success=Branch-Aktualisierung erfolgreich
pulls.update_not_allowed=Du hast keine Berechtigung, den Branch zu updaten
pulls.outdated_with_base_branch=Dieser Branch enthält nicht die neusten Commits des Basis-Branches
pulls.close=Pull-Request schließen
pulls.closed_at=`hat diesen Pull-Request <a id="%[1]s" href="#%[1]s">%[2]s</a> geschlossen`
pulls.reopened_at=`hat diesen Pull-Request <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet`
pulls.closed_at=`hat diesen Pull-Request %s geschlossen`
pulls.reopened_at=`hat diesen Pull-Request %s wieder geöffnet`
pulls.clear_merge_message=Merge-Nachricht löschen
pulls.clear_merge_message_hint=Das Löschen der Merge-Nachricht wird nur den Inhalt der Commit-Nachricht entfernen und generierte Git-Trailer wie „Co-Authored-By …“ erhalten.
@ -2202,7 +2202,7 @@ settings.tracker_issue_style.numeric=Numerisch
settings.tracker_issue_style.alphanumeric=Alphanumerisch
settings.tracker_issue_style.regexp=Regulärer Ausdruck
settings.tracker_issue_style.regexp_pattern=Regulärer Ausdruck
settings.tracker_issue_style.regexp_pattern_desc=Die erste gecapturte Gruppe wird statt <code>{index}</code> verwendet.
settings.tracker_issue_style.regexp_pattern_desc=Die erste gefundene Gruppe wird statt <code>{index}</code> verwendet.
settings.tracker_url_format_desc=Du kannst die Platzhalter <code>{user}</code>, <code>{repo}</code>, <code>{index}</code> für den Benutzernamen, den Namen des Repositorys und die Issue-Nummer verwenden.
settings.enable_timetracker=Zeiterfassung aktivieren
settings.allow_only_contributors_to_track_time=Nur Mitarbeitern erlauben, die Zeiterfassung zu nutzen
@ -2261,14 +2261,14 @@ settings.trust_model.collaborator=Mitarbeiter
settings.trust_model.collaborator.long=Mitarbeiter: Vertraue Signaturen von Mitarbeitern
settings.trust_model.collaborator.desc=Gültige Signaturen von Mitarbeitern dieses Projekts werden als „vertrauenswürdig“ markiert (egal, ob sie mit dem Committer übereinstimmen oder nicht). Andernfalls werden gültige Signaturen als „nicht vertrauenswürdig“ markiert, falls die Signatur zum Committer passt, ansonsten werden sie als „nicht übereinstimmend“ markiert.
settings.trust_model.committer=Committer
settings.trust_model.committer.long=Committer: Vertraue Signaturen, die zu Committern passen (Dies stimmt mit GitHub überein und zwingt signierte Commits von Forgejo dazu, Forgejo als Committer zu haben)
settings.trust_model.committer.long=Committer: Vertraue Signaturen, die zu Committern passen (dies stimmt mit GitHub überein und zwingt signierte Commits von Forgejo dazu, Forgejo als Committer zu haben)
settings.trust_model.committer.desc=Gültige Signaturen werden nur dann als „vertrauenswürdig“ gekennzeichnet, wenn sie mit ihrem Committer übereinstimmen. Ansonsten werden sie als „nicht übereinstimmend“ markiert. Das führt dazu, dass Forgejo auf signierten Commits, bei denen der echte Committer als „Co-authored-by:“ oder „Co-committed-by:“ in der Beschreibung eingetragen wurde, als Committer gilt. Der Forgejo-Standard-Key muss zu einem Benutzer in der Datenbank passen.
settings.trust_model.collaboratorcommitter=Mitarbeiter+Committer
settings.trust_model.collaboratorcommitter.long=Mitarbeiter+Committer: Signaturen der Mitarbeiter vertrauen die mit dem Committer übereinstimmen
settings.trust_model.collaboratorcommitter.desc=Gültige Signaturen von Mitarbeitern dieses Projekts werden als „vertrauenswürdig“ markiert, wenn sie mit dem Committer übereinstimmen. Andernfalls werden gültige Signaturen als „nicht vertrauenswürdig“ markiert, wenn die Signatur mit dem Committer übereinstimmt. Ansonsten werden sie als „nicht übereinstimmend“ markiert. Dies zwingt Forgejo, als Committer bei signierten Commits mit dem echten Committer als „Co-Authored-By:“ und „Co-Committed-By:“ im Commit zu markieren. Der Standard-Forgejo-Schlüssel muss mit einem Benutzer in der Datenbank übereinstimmen.
settings.wiki_delete=Wiki-Daten löschen
settings.wiki_delete_desc=Das Löschen von Wiki-Daten kann nicht rückgängig gemacht werden. Bitte sei vorsichtig.
settings.wiki_delete_notices_1= Dies löscht und deaktiviert das Wiki für %s.
settings.wiki_delete_notices_1= Dies wird das Repository-Wiki für %s dauerhaft löschen und deaktivieren.
settings.confirm_wiki_delete=Wiki-Daten löschen
settings.wiki_deletion_success=Repository-Wiki-Daten wurden gelöscht.
settings.delete=Dieses Repository löschen
@ -2327,7 +2327,7 @@ settings.add_webhook_desc=Forgejo sendet eine <code>POST</code>-Anfrage mit fest
settings.payload_url=Ziel-URL
settings.http_method=HTTP-Methode
settings.content_type=POST-Content-Type
settings.secret=Secret
settings.secret=Geheimnis
settings.slack_username=Benutzername
settings.slack_icon_url=Icon-URL
settings.slack_color=Farbe
@ -2374,12 +2374,12 @@ settings.event_pull_request_milestone=Meilensteine
settings.event_pull_request_milestone_desc=Meilenstein hinzugefügt, entfernt oder bearbeitet.
settings.event_pull_request_comment=Kommentare
settings.event_pull_request_comment_desc=Pull-Request-Kommentar angelegt, geändert oder gelöscht.
settings.event_pull_request_review=Reviews
settings.event_pull_request_review_desc=Pull-Request genehmigt, abgelehnt oder Review-Kommentare hinterlassen.
settings.event_pull_request_review=Sichtungen
settings.event_pull_request_review_desc=Pull-Request genehmigt, abgelehnt oder Sichtungskommentare hinterlassen.
settings.event_pull_request_sync=Synchronisiert
settings.event_pull_request_sync_desc=Branch automatisch mit Zielbranch aktualisiert.
settings.event_pull_request_review_request=Review-Anfragen
settings.event_pull_request_review_request_desc=Überprüfung des Pull-Requests angefragt oder die Anfrage entfernt.
settings.event_pull_request_review_request=Sichtungsanfragen
settings.event_pull_request_review_request_desc=Pull-Request-Sichtung angefragt oder Sichtungsanfrage entfernt.
settings.event_pull_request_approvals=Genehmigungen zum Pull-Request
settings.event_pull_request_merge=Pull-Request-Merge
settings.event_package=Paket
@ -2467,11 +2467,11 @@ settings.protect_status_check_matched=Übereinstimmung
settings.protect_invalid_status_check_pattern=Ungültiges Statusprüfungspattern: „%s“.
settings.protect_no_valid_status_check_patterns=Keine gültigen Statuscheck-Muster.
settings.protect_required_approvals=Erforderliche Genehmigungen
settings.protect_required_approvals_desc=Erlaube das Zusammenführen des Pull-Requests nur mit genügend positiven Reviews.
settings.protect_required_approvals_desc=Erlaube das Zusammenführen des Pull-Requests nur mit genügend positiven Sichtungen.
settings.protect_approvals_whitelist_enabled=Genehmigungen auf Benutzer oder Teams auf der Positivliste beschränken
settings.protect_approvals_whitelist_enabled_desc=Nur Reviews von Benutzern oder Teams auf der Positivliste zählen zu den erforderlichen Genehmigungen. Existiert keine Positivliste, so zählen Reviews von jedem mit Schreibzugriff zu den erforderlichen Genehmigungen.
settings.protect_approvals_whitelist_users=Nutzer, die reviewen dürfen
settings.protect_approvals_whitelist_teams=Teams, die reviewen dürfen
settings.protect_approvals_whitelist_enabled_desc=Nur Sichtungen von Benutzern oder Teams auf der Positivliste zählen zu den erforderlichen Genehmigungen. Existiert keine Positivliste, so zählen Sichtungen von jedem mit Schreibzugriff zu den erforderlichen Genehmigungen.
settings.protect_approvals_whitelist_users=Nutzer, die sichten dürfen
settings.protect_approvals_whitelist_teams=Teams, die sichten dürfen
settings.dismiss_stale_approvals=Entferne alte Genehmigungen
settings.dismiss_stale_approvals_desc=Wenn neue Commits gepusht werden, die den Inhalt des Pull-Requests ändern, werden alte Genehmigungen entfernt.
settings.require_signed_commits=Signierte Commits erforderlich
@ -2489,10 +2489,10 @@ settings.remove_protected_branch_success=Branchschutzregel „%s“ wurde entfer
settings.remove_protected_branch_failed=Entfernen der Branchschutzregel „%s“ fehlgeschlagen.
settings.protected_branch_deletion=Branch-Schutz löschen
settings.protected_branch_deletion_desc=Wenn du den Branch-Schutz deaktivierst, können alle Nutzer mit Schreibrechten auf den Branch pushen. Fortfahren?
settings.block_rejected_reviews=Zusammenführung bei abgelehnten Reviews blockieren
settings.block_rejected_reviews_desc=Merge ist nicht möglich, wenn Änderungen durch offizielle Reviewer angefragt werden, auch wenn genügend Genehmigungen existieren.
settings.block_on_official_review_requests=Merge bei offiziellen Review-Anfragen blockieren
settings.block_on_official_review_requests_desc=Merge ist nicht möglich, wenn offizielle Review-Anfrangen vorliegen, selbst wenn genügend Genehmigungen existieren.
settings.block_rejected_reviews=Zusammenführung bei abgelehnten Sichtungen blockieren
settings.block_rejected_reviews_desc=Merge ist nicht möglich, wenn Änderungen durch offizielle Sichter angefragt werden, auch wenn genügend Genehmigungen existieren.
settings.block_on_official_review_requests=Merge bei offiziellen Sichtungsanfragen blockieren
settings.block_on_official_review_requests_desc=Merge ist nicht möglich, wenn offizielle Sichtungsanfrangen vorliegen, selbst wenn genügend Genehmigungen existieren.
settings.block_outdated_branch=Merge blockieren, wenn der Pull-Request veraltet ist
settings.block_outdated_branch_desc=Merge ist nicht möglich, wenn der Head-Branch hinter dem Basis-Branch ist.
settings.default_branch_desc=Wähle einen Standardbranch für Pull-Requests und Code-Commits:
@ -2539,7 +2539,7 @@ settings.lfs_filelist=LFS-Dateien, die in diesem Repository gespeichert sind
settings.lfs_no_lfs_files=In diesem Repository sind keine LFS-Dateien gespeichert
settings.lfs_findcommits=Commits finden
settings.lfs_lfs_file_no_commits=Keine Commits für diese LFS-Datei gefunden
settings.lfs_noattribute=Dieser Pfad hat nicht das sperrbare Attribut im Standard-Branch
settings.lfs_noattribute=Dieser Pfad hat nicht das „lockable“-Attribut im Standard-Branch
settings.lfs_delete=LFS-Datei mit OID %s löschen
settings.lfs_delete_warning=Das Löschen einer LFS-Datei kann dazu führen, dass „Objekt existiert nicht“-Fehler beim Checkout auftreten. Bist du sicher?
settings.lfs_findpointerfiles=Pointer-Dateien finden
@ -2580,8 +2580,8 @@ diff.show_unified_view=Gesamtansicht
diff.whitespace_button=Leerzeichen
diff.whitespace_show_everything=Alle Änderungen anzeigen
diff.whitespace_ignore_all_whitespace=Ignoriere Leerzeichen beim Zeilen vergleichen
diff.whitespace_ignore_amount_changes=Ignoriere whitespace-Änderungen
diff.whitespace_ignore_at_eol=Ignoriere EOL-whitespace-Änderungen
diff.whitespace_ignore_amount_changes=Änderungen in der Anzahl der Leerzeichen und ähnlichen Zeichen ignorieren
diff.whitespace_ignore_at_eol=Änderungen an den Leerzeichen und ähnlichen Zeichen am Zeilenende ignorieren
diff.stats_desc=<strong> %d geänderte Dateien</strong> mit <strong>%d neuen</strong> und <strong>%d gelöschten</strong> Zeilen
diff.stats_desc_file=%d Änderungen: %d Ergänzungen und %d Löschungen
diff.bin=BIN
@ -2604,11 +2604,11 @@ diff.comment.placeholder=Kommentieren
diff.comment.markdown_info=Styling mit Markdown wird unterstützt.
diff.comment.add_single_comment=Einzelnen Kommentar hinzufügen
diff.comment.add_review_comment=Kommentar hinzufügen
diff.comment.start_review=Review starten
diff.comment.start_review=Sichtung starten
diff.comment.reply=Antworten
diff.review=Review abschließen
diff.review.header=Review einreichen
diff.review.placeholder=Kommentar zum Review
diff.review=Sichtung abschließen
diff.review.header=Sichtung einreichen
diff.review.placeholder=Kommentar zur Sichtung
diff.review.comment=Kommentieren
diff.review.approve=Genehmigen
diff.review.self_reject=Pull-Request-Autoren können keine Änderungen an ihren eigenen Pull-Request anfordern
@ -2656,7 +2656,7 @@ release.edit_release=Release aktualisieren
release.delete_release=Release löschen
release.delete_tag=Tag löschen
release.deletion=Release löschen
release.deletion_desc=Beim Entfernen wird ein Release nur von Forgejo gelöscht. Es betrifft weder den Git-Tag, noch den Inhalt des Repos oder seinen Änderungsverlauf. Fortfahren?
release.deletion_desc=Beim Entfernen wird ein Release nur von Forgejo gelöscht. Es betrifft weder den Git-Tag noch den Inhalt des Repos oder seinen Änderungsverlauf. Fortfahren?
release.deletion_success=Das Release wurde gelöscht.
release.deletion_tag_desc=Löscht dieses Tag aus dem Projektarchiv. Repository-Inhalt und Verlauf bleiben unverändert. Fortfahren?
release.deletion_tag_success=Der Tag wurde gelöscht.
@ -2666,7 +2666,7 @@ release.tag_name_protected=Der Tag-Name ist geschützt.
release.tag_already_exist=Dieser Tag-Name existiert bereits.
release.downloads=Downloads
release.download_count=Downloads: %s
release.add_tag_msg=Titel und Beschreibung des Releases als Tag Nachricht verwenden.
release.add_tag_msg=Titel und Beschreibung des Releases als Tag-Nachricht verwenden.
release.add_tag=Tag erstellen
release.releases_for=Releases für %s
release.tags_for=Tags für %s
@ -2766,8 +2766,8 @@ wiki.cancel = Abbrechen
settings.wiki_globally_editable = Allen erlauben, das Wiki zu bearbeiten
settings.protect_branch_name_pattern_desc = Geschützte Branch-Namens-Patterns. Siehe <a href="%s">die Dokumentation</a> für Pattern-Syntax. Beispiele: main, release/**
settings.ignore_stale_approvals = Abgestandene Genehmigungen ignorieren
settings.ignore_stale_approvals_desc = Genehmigungen, welche für ältere Commits gemacht wurden (abgestandene Reviews), nicht in die Gesamtzahl der Genehmigung des PRs mitzählen. Irrelevant, falls abgestandene Reviews bereits verworfen werden.
pulls.commit_ref_at = `hat sich auf diesen Pull-Request von einem Commit <a id="%[1]s" href="#%[1]s">%[2]s</a> bezogen`
settings.ignore_stale_approvals_desc = Genehmigungen, welche für ältere Commits gemacht wurden (abgestandene Sichtungen), nicht in die Gesamtzahl der Genehmigung des PRs mitzählen. Irrelevant, falls abgestandene Sichtungen bereits verworfen werden.
pulls.commit_ref_at = `referenzierte diesen Pull-Request aus einem Commit %s`
pulls.fast_forward_only_merge_pull_request = Nur Fast-forward
pulls.cmd_instruction_checkout_desc = Checke einen neuen Branch aus deinem Projekt-Repository aus und teste die Änderungen.
pulls.cmd_instruction_merge_title = Zusammenführen
@ -2782,7 +2782,7 @@ activity.navbar.contributors = Mitwirkende
contributors.contribution_type.deletions = Löschungen
contributors.contribution_type.additions = Einfügungen
contributors.contribution_type.filter_label = Art des Beitrags:
vendored = Vendored
vendored = Gevendort
activity.navbar.pulse = Puls
pulls.made_using_agit = AGit
settings.confirmation_string = Bestätigungsstring
@ -2795,7 +2795,7 @@ pulls.merged_title_desc_one = hat %[1]d Commit von <code>%[2]s</code> nach <code
pulls.title_desc_one = möchte %[1]d Commit von <code>%[2]s</code> nach <code id="%[4]s">%[3]s</code> zusammenführen
open_with_editor = Öffnen mit %s
commits.search_branch = Dieser Branch
pulls.ready_for_review = Bereit zum Review?
pulls.ready_for_review = Bereit zur Sichtung?
settings.rename_branch_failed_protected = Branch %s kann nicht umbenannt werden, weil er ein geschützter Branch ist.
editor.commit_id_not_matching = Die Datei wurde geändert, während du sie bearbeitet hast. Committe in einen neuen Branch, dann führe einen Merge durch.
editor.push_out_of_date = Der Push scheint veraltet zu sein.
@ -2824,7 +2824,7 @@ settings.sourcehut_builds.secrets_helper = Dem Job zugriff auf die Build-Geheimn
settings.web_hook_name_sourcehut_builds = SourceHut-Builds
settings.graphql_url = GraphQL-URL
settings.matrix.room_id_helper = Die Raum-ID kann über den Element-Webclient ermittelt werden: Raumeinstellungen > erweitert > interne Raum-ID. Beispielsweise %s.
settings.sourcehut_builds.access_token_helper = Zugangstoken, der die JOBS:RW-Freigabe hat. Generiere auf meta.sr.ht einen <a target="_blank" rel="noopener noreferrer" href="%s">builds.sr.ht-Token</a> oder einen <a target="_blank" rel="noopener noreferrer" href="%s">builds.sr.ht-Token mit Zugriff auf die Secrets</a>.
settings.sourcehut_builds.access_token_helper = Zugangstoken, der die JOBS:RW-Freigabe hat. Generiere auf meta.sr.ht einen <a target="_blank" rel="noopener noreferrer" href="%s">builds.sr.ht-Token</a> oder einen <a target="_blank" rel="noopener noreferrer" href="%s">builds.sr.ht-Token mit Zugriff auf die Geheimnisse</a>.
settings.matrix.access_token_helper = Es wird empfohlen, hierfür ein dediziertes Matrix-Konto anzulegen. Der Zugangstoken kann in einem Inkognito-Tab über den Element-Webclient geholt werden: Benutzermenü (oben links) > alle Einstellungen > Hilfe & Info > erweitert > Zugriffstoken (direkt unter der Heim-Server-URL). Schließe dann den Inkognito-Tab (Abmelden würde den Token ungültig machen).
release.hide_archive_links = Automatisch generierte Archive verstecken
release.hide_archive_links_helper = Verstecke automatisch generierte Quellcodearchive für diesen Release. Zum Beispiel, wenn du deine eigenen hochlädst.
@ -2873,9 +2873,9 @@ mirror_use_ssh.not_available = SSH-Authentifizierung ist nicht verfügbar.
issues.new.assign_to_me = Mir selbst zuweisen
issues.all_title = Alle
settings.discord_icon_url.exceeds_max_length = Die Icon-URL darf eine Länge von 2048 Zeichen nicht überschreiten
issues.review.add_review_requests = hat Reviews von %[1]s %[2]s angefragt
issues.review.remove_review_requests = hat Aufforderungen zum Review an %[1]s %[2]s entfernt
issues.review.add_remove_review_requests = hat Reviews von %[1]s angefragt und hat die Aufforderungen zum Review an %[2]s %[3]s entfernt
issues.review.add_review_requests = hat Sichtungen von %[1]s %[2]s angefragt
issues.review.remove_review_requests = hat die Sichtungsanfragen an %[1]s %[2]s entfernt
issues.review.add_remove_review_requests = hat Sichtungen von %[1]s angefragt und die Sichtungsanfragen an %[2]s %[3]s entfernt
pulls.delete_after_merge.head_branch.is_default = Der Head-Branch, den du löschen willst, ist der Standardbranch und kann nicht gelöscht werden.
pulls.delete_after_merge.head_branch.is_protected = Der Head-Branch, den du löschen willst, ist ein geschützter Branch und kann nicht gelöscht werden.
pulls.delete_after_merge.head_branch.insufficient_branch = Du hast keine Erlaubnis, den Head-Branch zu löschen.
@ -2883,9 +2883,9 @@ issues.filter_sort.relevance = Relevanz
diff.git-notes.add = Anmerkung hinzufügen
diff.git-notes.remove-header = Anmerkung entfernen
diff.git-notes.remove-body = Diese Anmerkung wird entfernt.
issues.num_reviews_one = %d Review
issues.num_reviews_one = %d Sichtung
issues.summary_card_alt = Zusammenfassung eines Issues mit dem Titel „%s“ im Repository %s
issues.num_reviews_few = %d Reviews
issues.num_reviews_few = %d Sichtungen
editor.add_tmpl.filename = Dateiname
settings.default_update_style_desc = Standard-Aktualisierungsart um Pull-Requests zu aktualisieren, die hinter dem Base-Branch sind.
new_advanced = Erweiterte Einstellungen
@ -2902,7 +2902,7 @@ issues.reaction.alt_add = Füge %[1]s Reaktion zum Kommentar hinzu.
issues.reaction.alt_remove = Entferne %[1]s Reaktion von diesem Kommentar.
summary_card_alt = Zusammenfassungskarte des Repositorys %s
release.summary_card_alt = Übersichtskarte eines Releases mit dem Titel „%s“ im Repository %s
archive.pull.noreview = Dieses Repository ist archiviert. Pull-Requests können nicht gereviewt werden.
archive.pull.noreview = Dieses Repository ist archiviert. Pull-Requests können nicht gesichtet werden.
editor.commit_email = Commit-E-Mail
commits.view_single_diff = Änderungen an dieser Datei, die in diesem Commit eingeführt wurden, betrachten
pulls.editable = Bearbeitbar
@ -2922,7 +2922,7 @@ settings.event_action_success_desc = Action-Run war erfolgreich.
settings.event_action_failure = Fehlschlag
settings.event_action_success = Erfolg
settings.event_header_action = Action-Run-Ereignisse
settings.event_action_recover_desc = Action-Run war erfolgreich, nachdem der letzte Action-Run im selben Arbeitsablauf fehlgeschlagen ist.
settings.event_action_recover_desc = Action-Run war erfolgreich, nachdem der letzte Action-Run im selben Workflow fehlgeschlagen ist.
settings.event_action_recover = Wiederherstellen
issues.filter_type.all_pull_requests = Alle Pull-Requests
@ -3061,8 +3061,8 @@ teams.invite.by=Von %s eingeladen
teams.invite.description=Bitte klicke auf die folgende Schaltfläche, um dem Team beizutreten.
follow_blocked_user = Du kannst dieser Organisation nicht folgen, weil diese Organisation dich blockiert hat.
open_dashboard = Übersicht öffnen
settings.change_orgname_redirect_prompt.with_cooldown.one = Der alte Organisationsname ist nach einer Abkühldauer von einem Tag wieder für alle verfügbar. Du kannst den alten Namen während dieser Abkühldauer erneut beanspruchen.
settings.change_orgname_redirect_prompt.with_cooldown.few = Der alte Organisationsname ist nach einer Abkühldauer von %[1]d Tagen wieder für alle verfügbar. Du kannst den alten Namen während dieser Abkühldauer erneut beanspruchen.
settings.change_orgname_redirect_prompt.with_cooldown.one = Der alte Organisationsname ist nach einer Schutzzeit von einem Tag wieder für alle verfügbar. Du kannst den alten Namen während dieser Schutzzeit erneut beanspruchen.
settings.change_orgname_redirect_prompt.with_cooldown.few = Der alte Organisationsname ist nach einer Schutzzeit von %[1]d Tagen wieder für alle verfügbar. Du kannst den alten Namen während dieser Schutzzeit erneut beanspruchen.
[admin]
dashboard=Übersicht
@ -3116,7 +3116,7 @@ dashboard.repo_health_check=Healthchecks für alle Repositorys ausführen
dashboard.check_repo_stats=Überprüfe alle Repository-Statistiken
dashboard.archive_cleanup=Alte Repository-Archive löschen
dashboard.deleted_branches_cleanup=Gelöschte Branches bereinigen
dashboard.update_migration_poster_id=Migration Poster-IDs updaten
dashboard.update_migration_poster_id=Migrations-Poster-IDs aktualisieren
dashboard.git_gc_repos=Garbage-Collection für alle Repositorys ausführen
dashboard.resync_all_sshkeys=Die Datei „.ssh/authorized_keys“ mit Forgejo-SSH-Schlüsseln aktualisieren.
dashboard.resync_all_sshprincipals=Aktualisiere die Datei „.ssh/authorized_principals“ mit Forgejo-SSH-Principals.
@ -3159,7 +3159,7 @@ dashboard.delete_old_actions=Alle alten Aktivitäten aus der Datenbank löschen
dashboard.delete_old_actions.started=Löschen aller alten Aktivitäten aus der Datenbank gestartet.
dashboard.update_checker=Update-Checker
dashboard.delete_old_system_notices=Alle alten Systemmeldungen aus der Datenbank löschen
dashboard.gc_lfs=Garbage-Collection für LFS Meta-Objekte ausführen
dashboard.gc_lfs=Garbage-Collection für LFS-Meta-Objekte ausführen
dashboard.stop_zombie_tasks=Zombie-Actions-Aufgaben stoppen
dashboard.stop_endless_tasks=Endlose Actions-Aufgaben stoppen
dashboard.cancel_abandoned_jobs=Aufgegebene Actions-Jobs abbrechen
@ -3335,7 +3335,7 @@ auths.pam_email_domain=PAM-E-Mail-Domain (optional)
auths.oauth2_provider=OAuth2-Anbieter
auths.oauth2_icon_url=Symbol-URL
auths.oauth2_clientID=Client-ID (Schlüssel)
auths.oauth2_clientSecret=Client-Secret
auths.oauth2_clientSecret=Client-Geheimnis
auths.openIdConnectAutoDiscoveryURL=OpenID-Connect-Auto-Discovery-URL
auths.oauth2_use_custom_url=Benutzerdefinierte URLs anstelle von Standard-URLs verwenden
auths.oauth2_tokenURL=Token-URL
@ -3343,14 +3343,14 @@ auths.oauth2_authURL=Authorisierungs-URL
auths.oauth2_profileURL=Profil-URL
auths.oauth2_emailURL=E-Mail-URL
auths.skip_local_two_fa=Lokale 2FA überspringen
auths.skip_local_two_fa_helper=Leer lassen bedeutet, dass lokale User die 2FA immer noch bestehen müssen, um sich anzumelden
auths.skip_local_two_fa_helper=Das Leerlassen bedeutet, dass lokale User die 2FA immer noch bestehen müssen, um sich anzumelden
auths.oauth2_tenant=Inhaber
auths.oauth2_scopes=Zusätzliche Bereiche
auths.oauth2_required_claim_name=Benötigter Claim-Name
auths.oauth2_required_claim_name_helper=Setze diesen Namen, damit Nutzer aus dieser Quelle sich nur anmelden dürfen, wenn sie einen Claim mit diesem Namen besitzen
auths.oauth2_required_claim_value=Benötigter Claim-Wert
auths.oauth2_required_claim_value_helper=Setze diesen Wert, damit Nutzer aus dieser Quelle sich nur anmelden dürfen, wenn sie einen Claim mit diesem Namen und Wert besitzen
auths.oauth2_group_claim_name=Claim-Name, der Gruppennamen für diese Quelle angibt. (Optional)
auths.oauth2_group_claim_name=Claim-Name, der Gruppennamen für diese Quelle angibt (optional).
auths.oauth2_admin_group=Gruppen-Claim-Wert für Administratoren (optional erfordert Claim-Namen oben).
auths.oauth2_restricted_group=Gruppen-Claim-Wert für eingeschränkte User. (Optional erfordert Claim-Namen oben)
auths.oauth2_map_group_to_team=Gruppen aus OAuth-Claims den Organisationsteams zuordnen (optional oben muss der Name des Claims angegeben werden).
@ -3395,7 +3395,7 @@ auths.still_in_used=Diese Authentifizierungsquelle wird noch verwendet. Bearbeit
auths.deletion_success=Die Authentifizierungsquelle „%s“ wurde gelöscht.
auths.login_source_exist=Die Authentifizierungsquelle „%s“ existiert bereits.
auths.login_source_of_type_exist=Eine Authentifizierungart dieses Typs existiert bereits.
auths.unable_to_initialize_openid=OpenID Connect Provider konnte nicht initialisiert werden: %s
auths.unable_to_initialize_openid=Provider für OpenID Connect konnte nicht initialisiert werden: %s
auths.invalid_openIdConnectAutoDiscoveryURL=Ungültige Auto-Discovery-URL (dies muss eine gültige URL sein, die mit http:// oder https:// beginnt)
config.server_config=Serverkonfiguration
@ -3526,7 +3526,7 @@ config.git_pull_timeout=Zeitlimit für Pull
config.git_gc_timeout=Zeitlimit für GC
config.log_config=Protokollierungs-Konfiguration
config.logger_name_fmt=Logger: %s
config.logger_name_fmt=Protokollierer: %s
config.disabled_logger=Deaktiviert
config.access_log_mode=Zugriffsprotokoll-Modus
config.access_log_template=Zugriffsprotokoll-Vorlage
@ -3650,7 +3650,7 @@ mirror_sync_delete=hat die Referenz des Spiegels <code>%[2]s</code> in <a href="
approve_pull_request=`hat <a href="%[1]s">%[3]s#%[2]s</a> genehmigt`
reject_pull_request=`schlug Änderungen für <a href="%[1]s">%[3]s#%[2]s</a> vor`
publish_release=`veröffentlichte Release <a href="%[2]s">%[4]s</a> in <a href="%[1]s">%[3]s</a>`
review_dismissed=`verwarf das Review von <b>%[4]s</b> in <a href="%[1]s">%[3]s#%[2]s</a>`
review_dismissed=`verwarf die Sichtung von <b>%[4]s</b> in <a href="%[1]s">%[3]s#%[2]s</a>`
review_dismissed_reason=Grund:
create_branch=legte den Branch <a href="%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a> an
starred_repo=favorisierte <a href="%[1]s">%[2]s</a>
@ -3765,9 +3765,9 @@ conda.registry=Richte diese Registry als Conda-Repository in deiner <code>.conda
conda.install=Um das Paket mit Conda zu installieren, führe den folgenden Befehl aus:
container.details.type=Abbildtyp
container.details.platform=Plattform
container.pull=Downloade das Container-Image aus der Kommandozeile:
container.pull=Lade das Container-Image von der Kommandozeile aus herunter:
container.digest=Prüfsumme
container.multi_arch=Betriebsystem / Architektur
container.multi_arch=Betriebsystem/Architektur
container.layers=Abbildebenen
container.labels=Labels
container.labels.key=Schlüssel
@ -3781,7 +3781,7 @@ debian.repository=Repository-Informationen
debian.repository.distributions=Distributionen
debian.repository.components=Komponenten
debian.repository.architectures=Architekturen
generic.download=Downloade das Paket aus der Kommandozeile:
generic.download=Lade das Paket mit der Kommandozeile herunter:
go.install=Installiere das Paket über die Kommandozeile:
helm.registry=Diese Paketverwaltung über die Kommandozeile einrichten:
helm.install=Nutze folgenden Befehl, um das Paket zu installieren:
@ -3813,10 +3813,10 @@ rubygems.install=Um das Paket mit gem zu installieren, führe den folgenden Befe
rubygems.install2=oder füg es zum Gemfile hinzu:
rubygems.dependencies.runtime=Laufzeitabhängigkeiten
rubygems.dependencies.development=Entwicklungsabhängigkeiten
rubygems.required.ruby=Benötigt Ruby Version
rubygems.required.rubygems=Benötigt RubyGem Version
rubygems.required.ruby=Benötigt Ruby-Version
rubygems.required.rubygems=Benötigt RubyGem-Version
swift.registry=Diese Registry über die Kommandozeile einrichten:
swift.install=Füge das Paket deiner <code>Package.swift</code> Datei hinzu:
swift.install=Füge das Paket deiner <code>Package.swift</code>-Datei hinzu:
swift.install2=und führe den folgenden Befehl aus:
vagrant.install=Um eine Vagrant-Box hinzuzufügen, führe den folgenden Befehl aus:
settings.link=Dieses Paket einem Repository zuweisen
@ -3892,19 +3892,19 @@ alt.repository.architectures = Architekturen
alt.repository.multiple_groups = Dieses Paket ist in verschiedenen Gruppen verfügbar.
[secrets]
secrets=Secrets
description=Secrets werden an bestimmte Aktionen weitergegeben und können nicht anderweitig ausgelesen werden.
none=Noch keine Secrets vorhanden.
creation=Secret hinzufügen
secrets=Geheimnisse
description=Geheimnisse werden an bestimmte Aktionen weitergegeben und können nicht anderweitig ausgelesen werden.
none=Noch keine Geheimnisse vorhanden.
creation=Geheimnis hinzufügen
creation.name_placeholder=Groß-/Kleinschreibung wird ignoriert, nur alphanumerische Zeichen oder Unterstriche, darf nicht mit GITEA_ oder GITHUB_ beginnen
creation.value_placeholder=Beliebigen Inhalt eingeben. Leerzeichen am Anfang und Ende werden weggelassen.
creation.success=Das Secret „%s“ wurde hinzugefügt.
creation.failed=Secret konnte nicht hinzugefügt werden.
deletion=Secret entfernen
deletion.description=Das Entfernen eines Secrets kann nicht rückgängig gemacht werden. Fortfahren?
deletion.success=Das Secret wurde entfernt.
deletion.failed=Secret konnte nicht entfernt werden.
management=Secrets verwalten
creation.success=Das Geheimnis „%s“ wurde hinzugefügt.
creation.failed=Geheimnis konnte nicht hinzugefügt werden.
deletion=Geheimnis entfernen
deletion.description=Das Entfernen eines Geheimnisses kann nicht rückgängig gemacht werden. Fortfahren?
deletion.success=Das Geheimnis wurde entfernt.
deletion.failed=Geheimnis konnte nicht entfernt werden.
management=Geheimnisse verwalten
[actions]
actions=Actions

View file

@ -1626,13 +1626,13 @@ issues.close_comment_issue=Αποστολή σχολίου και κλείσιμ
issues.reopen_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 href="%[3]s">αναφέρθηκε σε αυτό το ζήτημα %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">αναφέρθηκε σε αυτό το pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">ανέφερε αυτό το ζήτημα σε ένα pull request %[4]s που στοχεύει να κλείσει το ζήτημα</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">αναφέρθηκε σε αυτό το ζήτημα σε ένα pull request %[4]s που θα ξαναανοίξει αυτό το ζήτημα</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`αυτό το ζήτημα έκλεισε %s`
issues.reopened_at=`ξανά άνοιξε αυτό το ζήτημα %s`
issues.commit_ref_at=`αναφορά σε αυτό το ζήτημα από την παραπομπή %s`
issues.ref_issue_from=`<a href="%[2]s">αναφέρθηκε σε αυτό το ζήτημα %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">αναφέρθηκε σε αυτό το pull request %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">ανέφερε αυτό το ζήτημα σε ένα pull request %[3]s που στοχεύει να κλείσει το ζήτημα</a> %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">αναφέρθηκε σε αυτό το ζήτημα σε ένα pull request %[3]s που θα ξαναανοίξει αυτό το ζήτημα</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">έκλεισε αυτό το ζήτημα %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">άνοιξε ξανά αυτό το ζήτημα %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`από %[1]s`
@ -1939,8 +1939,8 @@ pulls.update_branch_success=Η ενημέρωση του κλάδου ήταν
pulls.update_not_allowed=Δεν επιτρέπεται να ενημερώσετε τον κλάδο
pulls.outdated_with_base_branch=Αυτός ο κλάδος δεν είναι ενημερωμένος με τον βασικό κλάδο
pulls.close=Κλείσιμο pull request
pulls.closed_at=`έκλεισε αυτό το pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`άνοιξε ξανά αυτό το pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at=`έκλεισε αυτό το pull request %s`
pulls.reopened_at=`άνοιξε ξανά αυτό το pull request %s`
pulls.cmd_instruction_hint=Προβολή οδηγιών γραμμής εντολών
pulls.cmd_instruction_checkout_title=Έλεγχος
pulls.cmd_instruction_checkout_desc=Από το repository του έργου σας, ελέγξτε έναν νέο κλάδο και δοκιμάστε τις αλλαγές.
@ -2720,7 +2720,7 @@ settings.new_owner_blocked_doer = Ο νέος κάτοχος του αποθετ
settings.enter_repo_name = Γράψτε το όνομα του κατόχου και του αποθετηρίου ακριβώς όπως το βλέπετε:
settings.confirmation_string = Κείμενο επιβεβαίωσης
settings.units.overview = Επισκόπηση
pulls.commit_ref_at = `ανέφερε το pull request στο commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `ανέφερε το pull request στο commit %s`
contributors.contribution_type.filter_label = Είδος συνεισφοράς:
settings.wiki_rename_branch_main_notices_1 = Αυτή η ενέργεια <strong>ΔΕΝ</strong> αναιρείται.
activity.navbar.contributors = Συνεισφέροντες
@ -3939,12 +3939,12 @@ submodule=Υπομονάδα
[search]
code_search_unavailable = Η αναζήτηση κώδικα δεν είναι επί του παρόντος διαθέσιμη. Παρακαλώ επικοινωνήστε με τον διαχειριστή σας.
keyword_search_unavailable = Η αναζήτηση με την χρήση λέξεων-κλειδιών δεν είναι επί του παρόντος διαθέσιμη. Παρακαλώ επικοινωνήστε με τον διαχειριστή σας.
runner_kind = Αναζήτηση runner...
runner_kind = Αναζήτηση runner
code_search_by_git_grep = Για την αναζήτηση κώδικα, χρησιμοποιείται η εντολή «git grep». Ίσως να παρουσιαστούν καλύτερα αποτελέσματα, αν ο διαχειριστής σας ενεργοποιήσει ένα ευρετήριο για αποθετήρια («Repository Indexer»).
package_kind = Αναζήτηση πακέτων…
project_kind = Αναζήτηση έργων...
project_kind = Αναζήτηση έργων
branch_kind = Αναζήτηση κλάδων…
commit_kind = Αναζήτηση commit...
commit_kind = Αναζήτηση commit
no_results = Δεν βρέθηκαν κατάλληλα αποτελέσματα.
search = Αναζήτηση…
type_tooltip = Είδος αναζήτησης
@ -3958,8 +3958,8 @@ org_kind = Αναζήτηση οργανισμών…
team_kind = Αναζήτηση ομαδών…
code_kind = Αναζήτηση κώδικα…
exact_tooltip = Να συμπεριληφθούν μόνο αποτελέσματα που ταιριάζουν με τον όρο αναζήτησης
issue_kind = Αναζήτηση ζητημάτων...
pull_kind = Αναζήτηση pull...
issue_kind = Αναζήτηση ζητημάτων
pull_kind = Αναζήτηση pull
exact = Ακριβής
milestone_kind = Αναζήτηση ορόσημων...
union = Ένωση

View file

@ -630,7 +630,7 @@ account = Konto
ssh_gpg_keys = SSH / GPG-ŝlosiloj
twofa_disable = Malaktivigi duoblan aŭtentikigon
twofa_enroll = Ŝalti duoblan aŭtentikigon
orgs = Mastrumi organizaĵojn
orgs = Organizaĵoj
blocked_users = Blokitaj uzantoj
profile = Profilo
ui = Haŭto
@ -686,7 +686,7 @@ verify_ssh_key_success = SSH-ŝlosilo «%s» jam konfirmiĝis.
edit_oauth2_application = Redakti OAuth2-programon
gpg_key_deletion = Forigi GPG-ŝlosilon
gpg_key_matched_identities = Akordaj identecoj:
manage_themes = Elekti implicitan haŭton
manage_themes = Defaŭlta temo
ssh_key_deletion = Forigi SSH-ŝlosilon
key_state_desc = Ĉi tiu ŝlosilo uziĝis dum la pasintaj 7 tagoj
valid_forever = Validos dumĉiame
@ -700,7 +700,7 @@ primary = Ĉefa
ssh_disabled = SSH malaktivigita
update_avatar_success = Via profilbildo konserviĝis.
keep_email_private = Kaŝi retpoŝtadreson
manage_openid = Mastrumi OpenID-adresojn
manage_openid = OpenID-adresoj
delete_current_avatar = Forigi nunan profilbildon
email_preference_set_success = Retpoŝta prefero konserviĝis sukcese.
permissions_access_all = Ĉiu (publika, privata, kaj limigita)
@ -884,9 +884,9 @@ 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...
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...
runner_kind = Serĉi rulantojn
pull_kind = Serĉi tirpetojn

View file

@ -740,7 +740,7 @@ avatar=Avatar
ssh_gpg_keys=Claves SSH / GPG
social=Redes sociales
applications=Aplicaciones
orgs=Administrar organizaciones
orgs=Organizaciones
repos=Repositorios
delete=Eliminar cuenta
twofa=Autenticación de dos factores (TOTP)
@ -1075,8 +1075,8 @@ keep_pronouns_private = Mostrar pronombres solo a personas autenticadas
storage_overview = Resumen del almacenamiento
quota.sizes.assets.artifacts = Artefactos
quota.sizes.assets.attachments.releases = Archivos adjuntos del lanzamiento
change_username_redirect_prompt.with_cooldown.few = El antiguo nombre de usuario estará disponible para todos después un periodo de tiempo de espera de %[1]d días, aún puedes reclamar el antiguo nombre de usuario durante el periodo de tiempo de espera.
change_username_redirect_prompt.with_cooldown.one = El antiguo nombre de usuario estará disponible para todos después un periodo de tiempo de espera de %[1]d día, aún puedes reclamar el antiguo nombre de usuario durante el periodo de tiempo de espera.
change_username_redirect_prompt.with_cooldown.few = El antiguo nombre de usuario estará disponible para todos después un periodo de tiempo de espera de %[1]d días. Aún puedes reclamar el antiguo nombre de usuario durante el periodo de tiempo de espera.
change_username_redirect_prompt.with_cooldown.one = El antiguo nombre de usuario estará disponible para todos después un periodo de tiempo de espera de %[1]d día. Aún puedes reclamar el antiguo nombre de usuario durante el periodo de tiempo de espera.
quota.rule.exceeded = Excedido
quota.rule.no_limit = Ilimitado
quota.sizes.assets.all = Activos
@ -1574,7 +1574,7 @@ issues.remove_ref_at=`eliminó la referencia <b>%s</b> %s`
issues.add_ref_at=`añadió la referencia <b>%s</b> %s`
issues.delete_branch_at=`eliminó la rama <b>%s</b> %s`
issues.filter_label=Etiqueta
issues.filter_label_exclude=`Usa <code>alt</code> + <code>clic/enter</code> para excluir etiquetas`
issues.filter_label_exclude=Usa <kbd>Alt</kbd> + <kbd>Click</kbd> para excluir etiquetas
issues.filter_label_no_select=Todas las etiquetas
issues.filter_label_select_no_label=Sin etiqueta
issues.filter_milestone=Hito
@ -1648,13 +1648,13 @@ issues.close_comment_issue=Cerrar con comentario
issues.reopen_issue=Reabrir
issues.reopen_comment_issue=Reabrir con comentario
issues.create_comment=Comentar
issues.closed_at=`cerró esta incidencia <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`reabrió esta incidencia <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`referenció esta incidencia en un commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from=`<a href="%[3]s">referenció esta incidencia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">referenció este pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">hizo referencia a esta incidencia desde un pull request %[4]s que lo cerrará</a> , <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">hizo referencia a esta incidencia desde un pull request %[4]s que lo reabrirá</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`cerró esta incidencia %s`
issues.reopened_at=`reabrió esta incidencia %s`
issues.commit_ref_at=`referenció esta incidencia en un commit %s`
issues.ref_issue_from=`<a href="%[2]s">referenció esta incidencia %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">referenció este pull request %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">hizo referencia a esta incidencia desde un pull request %[3]s que lo cerrará</a> , %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">hizo referencia a esta incidencia desde un pull request %[3]s que lo reabrirá</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">cerró esta incidencia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">reabrió esta incidencia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`de %[1]s`
@ -1959,8 +1959,8 @@ pulls.update_branch_success=La actualización de la rama ha finalizado correctam
pulls.update_not_allowed=No tiene permisos para actualizar esta rama
pulls.outdated_with_base_branch=Esta rama está desactualizada con la rama base
pulls.close=Cerrar pull request
pulls.closed_at=`cerró este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`reabrió este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at=`cerró este pull request %s`
pulls.reopened_at=`reabrió este pull request %s`
pulls.clear_merge_message=Borrar mensaje de fusión
pulls.clear_merge_message_hint=Limpiar el mensaje de fusión solo eliminará el contenido del mensaje de commit y mantendrá frases generadas como "Co-Autorizado por …".
@ -2789,7 +2789,7 @@ pulls.status_checks_hide_all = Ocultar todas las verificaciones
settings.federation_not_enabled = La federación no está habilitada en tu instancia.
wiki.search = Buscar en wiki
pulls.status_checks_show_all = Mostrar todas las verificaciones
pulls.commit_ref_at = `hizo referencia a este pull request desde un commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `hizo referencia a este pull request desde un commit %s`
pulls.cmd_instruction_merge_title = Fusionar
contributors.contribution_type.deletions = Eliminaciones
contributors.contribution_type.filter_label = Tipo de contribución:
@ -2888,6 +2888,9 @@ summary_card_alt = Tarjeta de resumen del repositorio %s
settings.pull_mirror_sync_quota_exceeded = Cuota excedida, no se empujan los cambios.
archive.nocomment = No es posible hacer comentarios porque el repositorio está archivado.
sync_fork.branch_behind_one = Esta rama esta %[1]d cambios detrás de %[2]s
sync_fork.branch_behind_few = Esta rama está %[1]d confirmaciones detrás de %[2]s
[graphs]
component_loading = Cargando %s…
component_loading_failed = No se pudo cargar %s

View file

@ -108,7 +108,7 @@ never = Mitte kunagi
unknown = Teadmata
rss_feed = RSS infovoog
confirm_delete_artifact = Kas oled kindel et soovite artefakti "%s" kustutada?
pin =
pin =
artifacts = Artefaktid
archived = Arhiveeritud
concept_system_global = Ülemaailmne
@ -145,25 +145,25 @@ fuzzy_tooltip = Lisage tulemused mis vastavad ka otsingu terminile
union = Märksõnad
exact = Täpne
exact_tooltip = Sisaldab ainult tulemusi mis vastavad täpsele otsingusõnale
repo_kind = Otsi hoidlad...
user_kind = Otsi kasutajaid...
org_kind = Otsi organisatsioone...
team_kind = Otsi meeskonnad...
code_kind = Otsi koodi...
repo_kind = Otsi hoidlad
user_kind = Otsi kasutajaid
org_kind = Otsi organisatsioone
team_kind = Otsi meeskonnad
code_kind = Otsi koodi
code_search_by_git_grep = Praeguse koodi otsingu tulemused annab "git grep". Paremaid tulemusi võib saada, kui saidi administraator lubab koodi indekseerija.
package_kind = Otsi pakette...
project_kind = Otsi projekte...
branch_kind = Otsi harusid...
commit_kind = Otsi kommiteid...
runner_kind = Otsi jooksjaid...
package_kind = Otsi pakette
project_kind = Otsi projekte
branch_kind = Otsi harusid
commit_kind = Otsi kommiteid
runner_kind = Otsi jooksjaid
no_results = Sobivaid tulemusi ei leitud.
issue_kind = Otsi probleeme...
issue_kind = Otsi probleeme
milestone_kind = Otsi verstapostid...
type_tooltip = Otsingu tüüp
code_search_unavailable = Koodide otsing ei ole praegu saadaval. Palun võtke ühendust saidi administraatoriga.
union_tooltip = Sisaldab tulemused mis vastavad mis tahes tühikutega eraldatud võtmesõnadele
keyword_search_unavailable = Otsing märksõna järgi ei ole praegu saadaval. Palun võtke ühendust saidi administraatoriga.
pull_kind = Otsi tõmbepäringuid...
pull_kind = Otsi tõmbepäringuid
[aria]
navbar = Navigatsiooniriba

View file

@ -608,7 +608,7 @@ avatar=آواتار
ssh_gpg_keys=کلید‌های SSH / GPG
social=حساب های اجتماعی
applications=برنامه‌ها
orgs=مدیریت سازمان‌ها
orgs=سازمان‌ها
repos=مخازن
delete=حذف حساب کاربری
twofa=احراز هویت دوگانه
@ -653,8 +653,8 @@ password_change_disabled=کاربران غیر محلی نمیتوانند گذ
emails=نشانی‌های ایمیل
manage_emails=مدیریت نشانی‌های ایمیل
manage_themes=تم پیش فرض را انتخاب کنید
manage_openid=مدیریت نشانی‌های OpenID
manage_themes=تم پیش فرض
manage_openid=آدرس‌های OpenID
theme_desc=این پوشته پیش فرض شما در سراسر سایت می باشد.
primary=اصلی
activated=فعال شده
@ -1250,13 +1250,13 @@ issues.close_comment_issue=ثبت دیدگاه و بستن
issues.reopen_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 href="%[3]s"> ارجاعات این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s"> ارجاعات این تقاضای ادغام %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s"> ارجاعات این تقاضای واکشی %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s"> تقاضای واکشی ارجاع شده %[4] که مسائله بازگشایی خواهد کرد</a> <a id="%[1]s" href="#%[1]s">%[2] </a>`
issues.closed_at=`%s این موضوع را بست`
issues.reopened_at=`%s این موضوع را دوباره باز کرد`
issues.commit_ref_at=`ارجاع این مسئله به کامیت %s`
issues.ref_issue_from=`<a href="%[2]s"> ارجاعات این مسائله %[3]</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s"> ارجاعات این تقاضای ادغام %[4]</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s"> ارجاعات این تقاضای واکشی %[4]</a> %[1]s`
issues.ref_reopening_from=`<a href="%[2]s"> تقاضای واکشی ارجاع شده %[3]sکه مسائله بازگشایی خواهد کرد</a> <a id="%[1]s" href="#%[1]s">%[2] </a>`
issues.ref_closed_from=`<a href="%[3]s"> بسته شده این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s"> بازگشایی این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`از %[1]`
@ -1493,8 +1493,8 @@ pulls.update_branch_rebase=بروزآوری شاخه با بازسازی مجد
pulls.update_branch_success=شاخه به موفقیت بروز شد
pulls.update_not_allowed=شما اجازه بروزرسانی شاخه را ندارید
pulls.outdated_with_base_branch=این شاخه با شاخه پایه منسوخ شده است
pulls.closed_at=`این درخواست pull بسته شده <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`این درخواست pull را بازگشایی کرد <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at=`این درخواست pull بسته شده %s`
pulls.reopened_at=`این درخواست pull را بازگشایی کرد %s`
@ -2766,23 +2766,23 @@ search = جستجو...
fuzzy = درهم
fuzzy_tooltip = پیامدهایی را درج کنید که دقیقا با عبارت جستجو همخوانی داشته باشند
regexp = عبارات باقاعده
pull_kind = جستجو واکشی‌ها...
pull_kind = جستجو واکشی‌ها
no_results = نتیجه درخوری یافت نشد.
runner_kind = جستجو دونده‌ها...
runner_kind = جستجو دونده‌ها
keyword_search_unavailable = جستجو کلیدواژه اکنون در درسترس نیست. لطفا با مدیر سایت در میان بگذارید.
repo_kind = جستجو مخازن...
repo_kind = جستجو مخازن
regexp_tooltip = اصطلاح جستجو شده را با عبارات باقاعده تفسیر کن
user_kind = جستجو کاربران...
org_kind = جستجو سازمان‌ها...
team_kind = جستجو گروه‌ها...
package_kind = جستجو بسته‌ها...
project_kind = جستجو پروژه‌ها...
user_kind = جستجو کاربران
org_kind = جستجو سازمان‌ها
team_kind = جستجو گروه‌ها
package_kind = جستجو بسته‌ها
project_kind = جستجو پروژه‌ها
code_search_unavailable = جستجوی کد اکنون در دسترس نیست. لطفا با مدیر سایت درمیان بگذارید.
code_kind = جستجو کدها...
code_kind = جستجو کدها
union = بهم پیوستگی
union_tooltip = نتایجی را در بر بگیر که با هر یک از کلیدواژه‌های جدا شده از فضای‌خالی مطابقت دارد
branch_kind = جستجو شاخه‌ها...
commit_kind = جستجو سپرده‌ها...
issue_kind = جستجو مشکلات...
branch_kind = جستجو شاخه‌ها
commit_kind = جستجو سپرده‌ها
issue_kind = جستجو مشکلات
exact = مو به مو
exact_tooltip = نتایجی را در بر بگیر که مو به مو با اصطلاح جستجو شده یکی باشد

View file

@ -669,6 +669,13 @@ username_claiming_cooldown = Käyttäjänimeä ei voi ottaa käyttöön, koska s
email_domain_is_not_allowed = Käyttäjän sähköpostiosoitteen <b>%s</b> verkkotunnus on ristiriidassa EMAIL_DOMAIN_ALLOWLIST:in tai EMAIL_DOMAIN_BLOCKLIST:in kanssa. Varmista, että olen asettanut sähköpostiosoitteen oikein.
invalid_group_team_map_error = ` kuvaus ei ole kelvollinen: %s`
visit_rate_limit = Etävierailujen pyyntörajoitukset.
2fa_auth_required = Etävierailu vaati kaksivaiheisen todennuksen.
unset_password = Kirjautuneen käyttäjän salasanaa ei ole asetettu.
unsupported_login_type = Tällä kirjautumistavalla ei voi poistaa tunnusta.
invalid_ssh_principal = Väärä toimija: %s
[user]
change_avatar=Vaihda profiilikuvasi…
repositories=Tietovarastot
@ -1038,6 +1045,9 @@ then_enter_passcode = Kirjoita sovelluksessa näkyvä pääsykoodi:
gpg_key_matched_identities_long = Tähän avaimeen upotetut identiteetit vastaavat tämän käyttäjän seuraavia aktivoituja sähköpostiosoitteita. Kommitit, jotka vastaavat näitä sähköpostiosoitteita, voidaan vahvistaa tällä avaimella.
twofa_failed_get_secret = Salaisuuden saaminen epäonnistui.
uid = UID
hidden_comment_types.ref_tooltip = Kommentit missä tähän ongelmaan viitattiin toisesta ongelmasta/kommitista/…
[repo]
owner=Omistaja
owner_helper=Jotkin organisaatiot eivät välttämättä näy pudotusvalikossa, koska tietovarastojen enimmäismäärää on rajoitettu.
@ -1293,9 +1303,9 @@ issues.close_comment_issue=Kommentoi ja sulje
issues.reopen_issue=Avaa uudelleen
issues.reopen_comment_issue=Kommentoi ja avaa uudelleen
issues.create_comment=Kommentoi
issues.closed_at=`sulki tämän ongelman <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`uudelleenavasi tämän ongelman <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`viittasi tähän ongelmaan kommitissa <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`sulki tämän ongelman %s`
issues.reopened_at=`uudelleenavasi tämän ongelman %s`
issues.commit_ref_at=`viittasi tähän ongelmaan kommitissa %s`
issues.author=Tekijä
issues.role.owner=Omistaja
issues.role.member=Jäsen
@ -2185,7 +2195,7 @@ settings.confirmation_string = Vahvistusteksti
settings.delete_notices_2 = - Tämä toiminto poistaa pysyvästi tietovaraston <strong>%s</strong> mukaan lukien koodin, ongelmat, kommentit, wikidatan ja avustaja-asetukset.
issues.filter_assginee_no_select = Kaikki käsittelijät
issues.new.assign_to_me = Osoita itselle
pulls.closed_at = `sulki tämän vetopyynnön <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at = `sulki tämän vetopyynnön %s`
tree_path_not_found_branch = Polkua %[1]s ei ole olemassa haarassa %[2]s
transfer.no_permission_to_reject = Sinulla ei ole oikeutta hylätä tätä siirtoa.
generate_repo = Luo tietovarasto
@ -2199,8 +2209,8 @@ issues.new.no_reviewers = Ei katselmoijia
issues.add_label = lisäsi nimilapun %s %s
issues.due_date_added = lisäsi eräpäivän %s %s
issues.review.add_review_request = pyysi katselmointia käyttäjältä %[1]s %[2]s
issues.ref_pull_from = `<a href="%[3]s">viittasi tähän vetopyyntöön %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `viittasi tähän vetopyyntöön kommitista <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from = `<a href="%[2]s">viittasi tähän vetopyyntöön %[3]s</a> %[1]s`
pulls.commit_ref_at = `viittasi tähän vetopyyntöön kommitista %s`
issues.review.comment = katselmoi %s
issues.add_labels = lisäsi nimilaput %s %s
issues.review.add_review_requests = pyysi katselmointeja käyttäjiltä %[1]s %[2]s
@ -2255,14 +2265,14 @@ pulls.cmd_instruction_merge_warning = <b>Varoitus:</b> Asetusta ”Tunnista manu
pulls.cmd_instruction_merge_desc = Yhdistä muutokset ja päivitä Forgejossa.
pulls.cannot_auto_merge_desc = Tätä vetopyyntöä ei voida yhdistää automaattisesti ristiriitojen vuoksi.
adopt_preexisting_success = Omaksuttu tiedostot ja luotu tietovarasto lähteestä %s
issues.comment_manually_pull_merged_at = manuaalisesti yhdistetty kommitti %[1]s %[2]s tietovarastoon %[3]s
issues.comment_manually_pull_merged_at = manuaalisesti yhdisti kommitin %[1]s %[2]s tietovarastoon %[3]s
pulls.cmd_instruction_merge_title = Yhdistä
pulls.has_merged = Epäonnistui: vetopyyntö on yhdistetty, joten et voi yhdistää uudelleen tai muuttaa kohdehaaraa.
pulls.cmd_instruction_checkout_title = Uloskuittaus
pulls.cmd_instruction_checkout_desc = Kuittaa ulos uusi haara projektitietovarastostasi ja testaa muutokset.
pulls.clear_merge_message_hint = Yhdistämisviestin tyhjentäminen poistaa vain kommittiviestin sisällön ja säilyttää luodut git-trailerit, kuten "Co-Authored-By…".
settings.protect_check_status_contexts_desc = Vaadi tilatarkistusten läpäisy ennen yhdistämistä. Kun käytössä, kommitit on ensin työnnettävä toiseen haaraan ja sitten yhdistettävä tai työnnettävä suoraan tätä sääntöä vastaavaan haaraan tilantarkistuksen jälkeen. Jos konteksteja ei löydy, viimeisen kommitin on oltava onnistunut kontekstista riippumatta.
issues.comment_pull_merged_at = yhdistetty kommitti %[1]s %[2]s tietovarastoon %[3]s
issues.comment_pull_merged_at = yhdisti kommitin %[1]s %[2]s haaraan %[3]s
settings.pulls.enable_autodetect_manual_merge = Ota Tunnista manuaalinen yhdistäminen automaattisesti -asetus käyttöön (Huomaa: joissakin erityistapauksissa voi esiintyä virhearviointeja)
pulls.no_merge_desc = Tätä vetopyyntöä ei voida yhdistää, koska kaikki tietovaraston yhdistämisvaihtoehdot ovat poistettu käytöstä.
pulls.no_merge_not_ready = Tämä vetopyyntö ei ole valmis yhdistettäväksi. Tarkista katselmoinnin tila ja tilantarkistukset.
@ -2381,7 +2391,7 @@ wiki.page_name_desc = Kirjoita tämän wikisivun nimi. Joitain erikoisnimiä ova
pulls.blocked_by_changed_protected_files_1 = Tämä vetopyyntö sisältää suojatun tiedoston ja on siksi estetty:
pulls.status_checks_warning = Jotkin tarkistukset raportoivat varoituksia
pulls.status_checks_error = Jotkin tarkistukset raportoivat virheitä
pulls.reopened_at = `avasi uudelleen tämän vetopyynnön <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at = `avasi uudelleen tämän vetopyynnön %s`
pulls.auto_merge_when_succeed = Yhdistä automaatisesti kun kaikki tarkistukset onnistuvat
signing.wont_sign.error = Tapahtui virhe tarkistaessa voiko kommitin allekirjoittaa.
signing.wont_sign.twofa = Sinulla tulee olla kaksivaiheinen todennus käytössä, jotta kommitit voi allekirjoittaa.

View file

@ -365,7 +365,7 @@ table_modal.label.columns = Mga Column
link_modal.header = Magdagdag ng link
link_modal.url = Url
link_modal.description = Deskripsyon
link_modal.paste_reminder = Pahiwatig: Kapag may URL sa clipboard, maari mong direktang i-paste sa editor para gumawa ng link.
link_modal.paste_reminder = Pahiwatig: Kapag may URL sa clipboard, maaari mong direktang i-paste sa editor para gumawa ng link.
[filter]
string.asc = A - Z
@ -432,7 +432,7 @@ openid_connect_desc = Ang piniling OpenID URI ay hindi alam. Iugnay iyan sa bago
invalid_code = Ang iyong confirmation code ay hindi wasto o nag-expire na.
oauth_signin_title = Mag-sign in para pahintulutan ang naka-link na account
invalid_code_forgot_password = Ang iyong confirmation code ay hindi wasto o nag-expire na. Mag-click <a href="%s">dito</a> para magsimula ng bagong session.
confirmation_mail_sent_prompt = Ang isang bagong email na pang-kumpirma ay ipinadala sa <b>%s</b>. Para kumpletuhin ang proseso ng pagrehistro, pakisuri ang iyong inbox at sundan ang ibinigay na link sa loob ng %s. Kung mali ang email, maari kang mag-log in, at humingi ng isa pang email pang-kumpirma na ipapadala sa ibang address.
confirmation_mail_sent_prompt = Ang isang bagong email na pang-kumpirma ay ipinadala sa <b>%s</b>. Para kumpletuhin ang proseso ng pagrehistro, pakisuri ang iyong inbox at sundan ang ibinigay na link sa loob ng %s. Kung mali ang email, maaari kang mag-log in, at humingi ng isa pang email pang-kumpirma na ipapadala sa ibang address.
invalid_password = Ang iyong password ay hindi tugma sa password na ginamit para gawin ang account.
twofa_scratch_used = Ginamit mo na ang scratch code. Na-redirect ka sa two-factor settings page para tanggalin ang device enrollment o mag-generate ng bagong scratch code.
manual_activation_only = Makipag-ugnayan sa tagapangangasiwa ng site para kumpletuhin ang pagrehistro.
@ -484,7 +484,7 @@ admin.new_user.text = Mangyaring <a href="%s">mag-click dito</a> para ipamahala
register_notify = Maligayang Pagdating sa %s
register_notify.title = %[1]s, maligayang pagdating sa %[2]s
register_notify.text_1 = ito ang iyong registration confirmation email para sa %s!
register_notify.text_2 = Maari kang mag-sign in sa iyong account gamit ng iyong username: %s
register_notify.text_2 = Maaari kang mag-sign in sa iyong account gamit ng iyong username: %s
reset_password = I-recover ang iyong account
reset_password.title = %s, nagkaroon kami ng hiling para i-recover ang iyong account
reset_password.text = Kung ikaw ito, paki-click ang sumusunod na link para i-recover ang iyong account sa loob ng <b>%s</b>:
@ -535,7 +535,7 @@ totp_disabled.text_1 = Ngayon lang na-disable ang Time-based one-time password (
totp_disabled.no_2fa = Wala nang mga ibang paraan ng 2FA ang naka-configure, nangangahulugan na hindi na kailangang mag-log in sa iyong account gamit ang 2FA.
removed_security_key.subject = May tinanggal na security key
removed_security_key.text_1 = Tinanggal ngayon lang ang security key na "%[1]s" sa iyong account.
account_security_caution.text_1 = Kung ikaw ito, maari mong ligtas na huwag pansinin ang mail na ito.
account_security_caution.text_1 = Kung ikaw ito, maaari mong ligtas na huwag pansinin ang mail na ito.
account_security_caution.text_2 = Kung hindi ito ikaw, nakompromiso ang iyong account. Mangyaring makipag-ugnayan sa mga tagapangasiwa ng site na ito.
totp_enrolled.subject = Nag-activate ka ng TOTP bilang paraan ng 2FA
totp_enrolled.text_1.has_webauthn = Na-enable mo lang ang TOTP para sa iyong account. Nangangahulugan ito na para sa lahat ng mga hinaharap na pag-login sa iyong account, kailangan mong gumamit ng TOTP bilang paraan ng 2FA o gamitin ang iyong mga security key.
@ -644,7 +644,7 @@ AccessToken = Token ng pag-access
Biography = Byograpya
Location = Lokasyon
visit_rate_limit = Natugunan ang limitasyon sa rate ng malayuang pagbisita.
username_claiming_cooldown = Hindi ma-claim ang username na ito, dahil hindi pa tapos ang panahon ng cooldown. Maari itong i-claim sa %[1]s.
username_claiming_cooldown = Hindi ma-claim ang username na ito, dahil hindi pa tapos ang panahon ng cooldown. Maaari itong i-claim sa %[1]s.
email_domain_is_not_allowed = Sumasalungat ang domain ng email address ng user <b>%s</b> sa EMAIL_DOMAIN_ALLOWLIST o EMAIL_DOMAIN_BLOCKLIST. Siguraduhing natakda mo ang email address nang tama.
[user]
@ -685,7 +685,7 @@ followers.title.few = Mga tagasunod
following.title.one = Sinusundan
followers.title.one = Tagasunod
public_activity.visibility_hint.self_public = Nakikita ng lahat ang iyong aktibidad, maliban sa mga interaksyon sa pribadong espasyo. <a href="%s">I-configure</a>.
public_activity.visibility_hint.admin_public = Nakikita ng lahat ang aktibidad na ito, ngunit bilang tagapangasiwa maari mo ring makita ang mga interaksyon sa mga pribadong espasyo.
public_activity.visibility_hint.admin_public = Nakikita ng lahat ang aktibidad na ito, ngunit bilang tagapangasiwa maaari mo ring makita ang mga interaksyon sa mga pribadong espasyo.
public_activity.visibility_hint.self_private = Nakikita mo lang at mga tagapangasiwa ng instansya ang iyong aktibidad. <a href="%s">I-configure</a>.
public_activity.visibility_hint.admin_private = Nakikita mo ang aktibidad na ito dahil isa kang tagapangasiwa, ngunit gusto ng user na panatilihin itong pribado.
public_activity.visibility_hint.self_private_profile = Ikaw lang at ang mga tagapangasiwa ng instansya ang makakakita ng iyong aktibidad dahil pribado ang iyong profile. <a href="%s">I-configure</a>.
@ -699,7 +699,7 @@ security = Seguridad
avatar = Avatar
ssh_gpg_keys = Mga SSH / GPG key
applications = Mga Aplikasyon
orgs = Ipamahala ang mga organisasyon
orgs = Mga organisasyon
repos = Mga Repositoryo
delete = Burahin ang account
twofa = Authentikasyong two-factor (TOTP)
@ -707,7 +707,7 @@ account_link = Mga naka-link na account
uid = UID
webauthn = Authentikasyong two-factor (Mga security key)
blocked_users = Mga hinarang na user
public_profile = Pampublikong Profile
public_profile = Pampublikong profile
location_placeholder = Ibahagi ang iyong tinatayang lokasyon sa iba
password_username_disabled = Ang mga di-lokal na gumagamit ay hindi pinapayagan na baguhin ang kanilang username. Mangyaring makipag-ugnayan sa iyong tagapangasiwa ng site para sa higit pang mga detalye.
full_name = Buong pangalan
@ -842,7 +842,7 @@ gpg_key_verify = I-verify
gpg_invalid_token_signature = Ang ibinigay na GPG key, signature, at token ay hindi tumutugma o luma.
gpg_token_required = Kailangan mong magbigay ng signature para sa token sa ibaba
gpg_token = Token
gpg_token_help = Maari kang mag-generate ng signature gamit ng:
gpg_token_help = Maaari kang mag-generate ng signature gamit ng:
gpg_token_signature = Naka-armor na GPG signature
key_signature_gpg_placeholder = Nagsisimula sa "-----BEGIN PGP SIGNATURE-----"
verify_gpg_key_success = Na-verify na ang GPG key na "%s".
@ -851,7 +851,7 @@ ssh_key_verify = I-verify
ssh_invalid_token_signature = Ang ibinigay na SSH key, signature, o token ay hindi tumutugma o luma.
ssh_token_required = Kailangan mong magbigay ng signature para sa token sa ibaba
ssh_token = Token
ssh_token_help = Maari kang mag-generate ng signature gamit ng:
ssh_token_help = Maaari kang mag-generate ng signature gamit ng:
ssh_token_signature = Naka-armor na SSH signature
key_signature_ssh_placeholder = Nagsisimula sa "-----BEGIN SSH SIGNATURE-----"
verify_ssh_key_success = Na-verify na ang SSH key na "%s".
@ -912,10 +912,10 @@ create_oauth2_application_success = Matagumpay kang gumawa ang bagong OAuth2 app
oauth2_confidential_client = Kumpidensyal na kliyente. Piliin para sa mga app na pinapatilihing kumpidensyal ang sikreto, tulad ng mga web app. Huwag piliin para sa mga web app kasama ang mga desktop at mobile app.
twofa_desc = Para protektahin ang iyong account laban sa pagnanakaw ng password, pwede mo gamitin ang iyong smartphone o ibang device para sa pagtanggap ng time-based one-time password ("TOTP").
twofa_scratch_token_regenerated = Ang iyong isang-beses na paggamit na recovery key ngayon ay %s. Ilagay ito sa ligtas na lugar, dahil hindi na ito ipapakita muli.
regenerate_scratch_token_desc = Kapag nawala mo ang iyong recovery key o ginamit mo na oara mag-sign in, maari mong i-reset dito.
regenerate_scratch_token_desc = Kapag nawala mo ang iyong recovery key o ginamit mo na oara mag-sign in, maaari mong i-reset dito.
twofa_disable_desc = Ang pag-disable ng authentikasyong two-factor ay gagawing hindi gaanong ligtas ang iyong account. Magpatuloy?
twofa_enrolled = Matagumpay na na-enroll ang iyong account. Ilagay ang iyong isang-beses na paggamit na recovery key (%s) sa isang ligtas na lugar, dahil hindi na ito ipapakita muli.
webauthn_desc = Ang mga security key ay isang hardware device na naglalaman ng mga cryptographic key. Maari silang gamitin para sa authentikasyong two-factor. Ang mga security key ay dapat suportahan ang <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a> na standard.
webauthn_desc = Ang mga security key ay isang hardware device na naglalaman ng mga cryptographic key. Maaari silang gamitin para sa authentikasyong two-factor. Ang mga security key ay dapat suportahan ang <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a> na standard.
remove_oauth2_application = Tanggalin ang OAuth2 Application
remove_oauth2_application_desc = Ang pagtanggal ng OAuth2 application ay babawiin ang access sa lahat ng mga naka-sign na access token. Magpatuloy?
remove_oauth2_application_success = Binura na ang application.
@ -931,13 +931,13 @@ oauth2_regenerate_secret = I-regenerate ang sikreto
oauth2_regenerate_secret_hint = Nawala mo ang iyong sikreto?
oauth2_client_secret_hint = Ang sikreto ay hindi ipapakita muli pagkatapos umalis ka o i-refresh ang page na ito. Mangyaring siguraduhin na na-save mo iyan.
oauth2_application_edit = I-edit
twofa_recovery_tip = Kapag mawala mo ang iyong device, maari kang gumamit ng isang isang-beses na paggamit na recovery key para makakuha muli ng access sa iyong account.
twofa_recovery_tip = Kapag mawala mo ang iyong device, maaari kang gumamit ng isang isang-beses na paggamit na recovery key para makakuha muli ng access sa iyong account.
twofa_is_enrolled = Ang iyong account ay kasalukuyang <strong>naka-enroll</strong> sa autentikasyong two-factor.
twofa_not_enrolled = Kasalukuyang hindi naka-enroll ang iyong account sa authentikasyong two-factor.
twofa_disable = I-disable ang authentikasyong two-factor
twofa_scratch_token_regenerate = I-regenerate ang isang-beses na paggamit na recovery key
twofa_enroll = Mag-enroll sa authentikasyong two-factor
twofa_disable_note = Maari mong i-disable ang authentikasyong two-factor kapag kinakailangan.
twofa_disable_note = Maaari mong i-disable ang authentikasyong two-factor kapag kinakailangan.
twofa_disabled = Na-disable na ang authentikasyong two-factor.
scan_this_image = I-scan ang image na ito gamit ng iyong aplikasyong pang-authentikasyon:
or_enter_secret = O ilagay ang sikreto: %s
@ -1005,8 +1005,8 @@ language.description = Mase-save ang wika sa iyong account at gagamitin bilang d
language.localization_project = Tulungan kaming isalin ang Forgejo sa iyong wika! <a href="%s">Matuto pa</a>.
pronouns_custom_label = Mga pasadyang pronoun
user_block_yourself = Hindi mo maaaring harangan ang sarili mo.
change_username_redirect_prompt.with_cooldown.one = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
change_username_redirect_prompt.with_cooldown.few = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
change_username_redirect_prompt.with_cooldown.one = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
change_username_redirect_prompt.with_cooldown.few = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
keep_pronouns_private = Ipakita lang ang mga panghalip sa mga naka-authenticate na user
keep_pronouns_private.description = Itatago nito ang iyong mga panghalip mula sa mga bisita na hindi naka-log in.
quota.applies_to_user = Nag-aapply ang mga sumusunod na panuntunan ng quota sa iyong account
@ -1071,7 +1071,7 @@ readme_helper_desc = Ito ang lugar kung saan makakasulat ka ng kumpletong deskri
trust_model_helper_collaborator_committer = Katulong+Committer: I-trust ang mga signature batay sa mga katulong na tumutugma sa committer
mirror_interval = Interval ng mirror (ang mga wastong unit ng oras ay "h", "m", "s"). 0 para i-disable ang periodic sync. (Pinakamababang interval: %s)
transfer.reject_desc = Kanselahin ang pag-transfer mula sa "%s"
mirror_lfs_endpoint_desc = Ang sync ay susubukang gamitin ang clone url upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maari ka rin tumukoy ng isang custom na endpoint kapag ang LFS data ng repositoryo ay nilalagay sa ibang lugar.
mirror_lfs_endpoint_desc = Ang sync ay susubukang gamitin ang clone url upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maaari ka rin tumukoy ng isang custom na endpoint kapag ang LFS data ng repositoryo ay nilalagay sa ibang lugar.
adopt_search = Ilagay ang username para maghanap ng mga unadopted na repositoryo… (iwanang walang laman para hanapin lahat)
object_format = Format ng object
readme_helper = Pumili ng README file template
@ -1164,8 +1164,8 @@ tree_path_not_found_commit = Hindi umiiral ang path na %[1]s sa commit %[2]s
tree_path_not_found_branch = Hindi umiiral ang daanang %[1]s sa branch %[2]s
migrate_items_pullrequests = Mga hiling sa paghila
archive.pull.nocomment = Naka-archive ang repositoryong ito. Hindi ka makakakomento sa mga pull request.
archive.title = Naka-archive ang repositoryong ito. Maari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado ito, tulad ng pagtulak at paggawa ng mga isyu, pull request o mga komento.
archive.title_date = Naka-archive ang repositoryo na ito noong %s. Maari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado nito, tulad ng pagtulak o paggawa ng mga bagong isyu, mga pull request, o komento.
archive.title = Naka-archive ang repositoryong ito. Maaari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado ito, tulad ng pagtulak at paggawa ng mga isyu, pull request o mga komento.
archive.title_date = Naka-archive ang repositoryo na ito noong %s. Maaari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado nito, tulad ng pagtulak o paggawa ng mga bagong isyu, mga pull request, o komento.
pulls = Mga hiling sa paghila
activity.merged_prs_count_n = Mga naisamang hiling sa paghila
wiki.last_updated = Huling binago %s
@ -1183,7 +1183,7 @@ issues.action_open = Buksan
issues.closed_title = Sarado
issues.reopen_issue = Buksang muli
pulls.merged = Naisama na
pulls.merged_info_text = Maari nang burahin ang branch %s.
pulls.merged_info_text = Maaari nang burahin ang branch %s.
milestones.update_ago = Binago %s
activity.closed_issue_label = Sarado
activity.merged_prs_label = Naisama
@ -1205,7 +1205,7 @@ migrate.clone_address_desc = Ang HTTP(S) o Git "clone" URL ng umiiral na reposit
need_auth = Awtorisasyon
migrate.github_token_desc = Maaari kang maglagay ng isa o higit pang mga token na hinihiwalay ng kuwit dito upang gawing mas-mabilis ang pagmigrate dahil sa rate limit ng GitHub API. BABALA: Ang pagabuso ng feature na ito ay maaaring maglabag sa patakaran ng tagapagbigay ng serbisyo at maaaring magdulot ng pag-block ng account.
template.invalid = Kailangang pumili ng kahit isang template na repositoryo
migrate_options_lfs_endpoint.description = Susubukan ng migration na gamitin ang iyong Git remote upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maari mong magtiyak ng custom na endpoint kapag ang LFS data ng repositoryo ay nakalagay sa ibang lugar.
migrate_options_lfs_endpoint.description = Susubukan ng migration na gamitin ang iyong Git remote upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maaari mong magtiyak ng custom na endpoint kapag ang LFS data ng repositoryo ay nakalagay sa ibang lugar.
blame.ignore_revs.failed = Nabigong hindi pansinin ang mga rebisyon sa <a href="%s">.git-blame-ignore-revs</a>.
tree_path_not_found_tag = Hindi umiiral ang path na %[1]s sa tag %[2]s
form.reach_limit_of_creation_n = Naabot na ng may-ari ang limitasyon na %d mga repositoryo.
@ -1471,10 +1471,10 @@ activity.new_issue_label = Nabuksan
activity.merged_prs_count_1 = Naisamang hiling sa paghila
activity.opened_prs_count_1 = Inimungkahing hiling sa paghila
activity.opened_prs_label = Inimungkahi
pulls.reopened_at = `nabuksang muli ang hiling sa paghatak na <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at = `binuksan muli ang hiling sa paghila %s`
issues.opened_by_fake = binuksan ang %[1]s ni/ng %[2]s
pulls.reopen_failed.base_branch = Hindi mabuksang muli ang hiling sa paghatak na ito dahil hindi na umiiral ang base branch.
issues.reopened_at = `binuksang muli ang isyung ito <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at = `binuksang muli ang isyung ito %s`
pulls.reopen_failed.head_branch = Hindi mabubuksan muli ang hiling sa paghila, dahil hindi na umiiral ang head branch.
settings.event_pull_request_desc = Binuksan, sinara, muling binuksan, o binago ang hiling sa paghatak.
activity.opened_prs_count_n = Mga inimungkahing hiling sa paghila
@ -1500,7 +1500,7 @@ issues.content_history.created = ginawa
editor.patching = Pina-patch:
editor.fail_to_apply_patch = Hindi malapat ang patch na "%s"
settings.danger_zone = Mapanganib na lugar
issues.closed_at = `isinara ang isyung ito <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at = `isinara ang isyung ito %s`
settings.collaboration.admin = Tagapangasiwa
settings.admin_settings = Mga setting ng tagapangasiwa
issues.start_tracking_history = `sinimulan ang trabaho %s`
@ -1627,7 +1627,7 @@ projects.column.edit_title = Pangalan
projects.column.new_title = Pangalan
projects.card_type.desc = Mga preview ng card
commits.desc = I-browse ang history ng pagbabago ng source code.
commits.search.tooltip = Maari kang mag-prefix ng mga keyword gamit ang "author:", "committer:", "after:", o "before:", hal. "revert author:Nijika before:2022-10-09".
commits.search.tooltip = Maaari kang mag-prefix ng mga keyword gamit ang "author:", "committer:", "after:", o "before:", hal. "revert author:Nijika before:2022-10-09".
issues.force_push_codes = `puwersahang itinulak ang %[1]s mula <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> sa <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.push_commit_1 = idinagdag ang %d commit %s
issues.push_commits_n = idinagdag ang %d mga commit %s
@ -1707,7 +1707,7 @@ issues.action_milestone = Milestone
issues.action_milestone_no_select = Walang milestone
issues.delete_branch_at = `binura ang branch na <b>%s</b> %s`
issues.filter_label = Label
issues.filter_label_exclude = `Gamitin ang <code>alt</code> + <code>click/enter</code> para hindi isama ang mga label`
issues.filter_label_exclude = `Gamitin ang <kbd>Alt</kbd> + <kbd>Click</kbd> para hindi isama ang mga label`
issues.filter_label_no_select = Lahat ng mga label
issues.filter_milestone_closed = Mga nakasarang milestone
issues.filter_assignee = Mangangasiwa
@ -1771,7 +1771,7 @@ issues.lock = I-lock ang usapan
issues.unlock = I-unlock ang usapan
issues.unlock_comment = na-unlock ang usapang ito %s
issues.unlock.notice_1 = - Makakakomento muli ang lahat ng mga tao sa isyung ito.
issues.unlock.notice_2 = - Maari mong i-lock muli ang isyung ito sa hinaharap.
issues.unlock.notice_2 = - Maaari mong i-lock muli ang isyung ito sa hinaharap.
issues.comment_on_locked = Hindi ka makakakomento sa naka-lock na isyu.
issues.closed_by_fake = ni/ng %[2]s ay isinara %[1]s
issues.comment_manually_pull_merged_at = manwal na isinama ang commit %[1]s sa %[2]s %[3]s
@ -1787,10 +1787,10 @@ issues.label_archive_tooltip = Ang mga naka-archive na label ay hindi isasama bi
issues.is_stale = May mga pagbabago sa PR na ito mula sa pagsuri na ito
issues.role.first_time_contributor = Unang-beses na contributor
issues.lock.notice_1 = - Hindi makakadagdag ng mga bagong komento ang mga ibang user sa isyu na ito.
issues.lock.notice_3 = - Maari mong i-unlock muli ang isyung ito sa hinaharap.
issues.lock.notice_3 = - Maaari mong i-unlock muli ang isyung ito sa hinaharap.
issues.label_deletion_desc = Ang pagbura ng label ay tatanggalin ito sa lahat ng mga isyu. Magpatuloy?
issues.commit_ref_at = `isinangguni ang isyu na ito mula sa commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from = `<a href="%[3]s">isinangguni ang isyu na ito sa %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at = `isinangguni ang isyu na ito mula sa commit %s`
issues.ref_issue_from = `<a href="%[2]s">isinangguni ang isyu na ito sa %[3]s</a> %[1]s`
issues.num_participants_one = %d kasali
issues.attachment.download = `I-click para i-download ang "%s" `
issues.num_participants_few = %d mga kasali
@ -1815,10 +1815,10 @@ issues.sign_in_require_desc = <a href="%s">Mag-sign in</a> upang sumali sa usapa
issues.num_comments = %d mga komento
issues.role.contributor_helper = Nakaraang nag-commit ang user na ito sa repositoryo na ito.
issues.comment_pull_merged_at = isinama ang commit %[1]s sa %[2]s %[3]s
pulls.commit_ref_at = `isinangguni ang hiling sa paghila mula sa isang commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `isinangguni ang hiling sa paghila mula sa isang commit %s`
wiki.last_commit_info = Binago ni %s ang pahinang ito %s
issues.content_history.edited = binago
issues.ref_pull_from = `<a href="%[3]s">isinangguni ang hiling sa paghila na ito %[4]s </a><a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from = `<a href="%[2]s">isinangguni ang hiling sa paghila na ito %[3]s</a> %[1]s`
pulls.merged_title_desc_few = isinali ang %[1]d mga commit mula sa <code>%[2]s</code> patungong <code>%[3]s</code> %[4]s
settings.org_not_allowed_to_be_collaborator = Hindi maaaring idagdag ang mga organisasyon bilang tagatulong.
settings.add_collaborator_success = Naidagdag ang tagatulong.
@ -1828,7 +1828,7 @@ pulls.create = Gumawa ng hiling sa paghila
issues.dependency.pr_close_blocked = Kailangan mong isara ang lahat ng mga isyu na humaharang sa hiling sa paghila na ito bago mo ito isama.
pulls.delete.title = Burahin ang hiling sa paghila na ito?
issues.dependency.pr_closing_blockedby = Hinarang ng mga sumusunod na isyu mula sa pagsara ng hiling sa paghila na ito
pulls.closed_at = `isinara ang hiling sa paghila na <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at = `isinara ang hiling sa paghila na ito %s`
pulls.close = Isara ang hiling sa paghila
pulls.cmd_instruction_hint = Tingnan ang mga panuto para sa command line
project = Mga proyekto
@ -1836,8 +1836,8 @@ issues.content_history.deleted = binura
pulls.no_results = Walang mga nahanap na resulta.
pulls.closed = Sarado ang hiling sa paghila
pulls.is_closed = Naisara na ang hiling sa paghila.
issues.ref_closing_from = `<a href="%[3]s">nagsangguni ang isyu mula sa hiling sa paghila %[4]s na magsasara sa isyu</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from = `<a href="%[3]s">nagsangguni ang isyu na ito mula sa hiling sa paghila %[4]s na muling bubukas</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from = `<a href="%[2]s">nagsangguni ang isyu mula sa hiling sa paghila %[3]s na magsasara sa isyu</a>, %[1]s`
issues.ref_reopening_from = `<a href="%[2]s">nagsangguni ang isyu na ito mula sa hiling sa paghila %[3]s na muling bubukas nito</a>, %[1]s`
issues.ref_closed_from = `<a href="%[3]s">isinara ang isyung ito %[4]s</a><a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.review.wait = hiniling sa pagsuri %s
issues.review.reject = hinihiling ang mga pagbago %s
@ -2015,14 +2015,14 @@ wiki.cancel = Kanselahin
settings.collaboration.undefined = Hindi Natukoy
settings.federation_settings = Mga Setting ng Federation
settings = Mga Setting
settings.desc = Ang mga setting ang lugar kung saan maari mong ipamahala ang mga setting para sa repositoryo
settings.desc = Ang mga setting ang lugar kung saan maaari mong ipamahala ang mga setting para sa repositoryo
pulls.collapse_files = I-collapse ang lahat ng mga file
pulls.add_prefix = Magdagdag ng <strong>%s</strong> na prefix
pulls.still_in_progress = Ginagawa pa?
activity.title.prs_1 = %d hiling sa paghila
activity.active_issues_count_n = <strong>%d</strong> mga aktibong isyu
pulls.required_status_check_missing = Nawawala ang ilang mga kinakailangang pagsusuri.
pulls.required_status_check_administrator = Bilang tagapangasiwa, maari mo pa ring isama ang hiling sa paghila na ito.
pulls.required_status_check_administrator = Bilang tagapangasiwa, maaari mo pa ring isama ang hiling sa paghila na ito.
pulls.blocked_by_approvals = Wala pang sapat na pag-apruba ang hiling sa paghila na ito. %d ng %d na pag-apruba ang ibinigay.
settings.options = Repositoryo
wiki.back_to_wiki = Bumalik sa pahina ng wiki
@ -2110,7 +2110,7 @@ settings.actions_desc = I-enable ang mga kasamang CI/CD pipeline gamit ang Forge
settings.admin_indexer_commit_sha = Huling na-index na commit
settings.admin_indexer_unindexed = Hindi naka-index
settings.transfer_notices_3 = - Kung pribado ang repositoryo at ilipat sa isang indibidwal na user, ang aksyon na ito ay sinisigurado na ang user ay may pahintulot na basahin (at palitan ang mga pahintulot kung kailangan).
settings.convert_desc = Maari mong i-convert ang repositoryo na ito sa regular na repositoryo. Hindi ito mababawi.
settings.convert_desc = Maaari mong i-convert ang repositoryo na ito sa regular na repositoryo. Hindi ito mababawi.
settings.transfer.button = Ilipat ang pagmamay-ari
settings.signing_settings = Mga setting sa pagpapatunay ng pag-sign
settings.admin_enable_close_issues_via_commit_in_any_branch = Isara ang isyu sa pamamagitan ng commit na ginawa sa hindi default na branch
@ -2137,7 +2137,7 @@ settings.deploy_key_deletion = Tanggalin ang deploy key
settings.protect_enable_push = I-enable ang pagtulak
settings.discord_icon_url.exceeds_max_length = Kailangang bababa o equal sa 2048 characters ang URL ng icon
settings.protected_branch.save_rule = I-save ang rule
settings.mirror_settings.docs.can_still_use = Bagama't na hindi ka makakabago ng mga umiiral na mirror o gumawa ng bago, maari mo pa rin gamitin ang iyong umiiral na mirror.
settings.mirror_settings.docs.can_still_use = Bagama't na hindi ka makakabago ng mga umiiral na mirror o gumawa ng bago, maaari mo pa rin gamitin ang iyong umiiral na mirror.
settings.slack_color = Kulay
settings.discord_icon_url = URL ng icon
settings.convert_fork_confirm = I-convert ang repositoryo
@ -2254,7 +2254,7 @@ settings.pulls.allow_rebase_update = I-enable ang pag-update ng hiling sa paghil
settings.admin_enable_health_check = I-enable ang pagsusuri ng kalusugan ng repositoryo (git fsck)
settings.new_owner_has_same_repo = Ang bagong may-ari ay may repositoryo na may katulad na pangalan. Mangyaring pumili ng ibang pangalan.
settings.convert = I-convert sa regular na repositoryo
settings.convert_fork_desc = Maari mong i-convert ang fork na ito bilang regular na repositoryo. Hindi ito mababawi.
settings.convert_fork_desc = Maaari mong i-convert ang fork na ito bilang regular na repositoryo. Hindi ito mababawi.
settings.convert_fork_notices_1 = Ang operasyon na ito ay ico-convert ang fork bilang regular na repositoryo at hindi mababawi.
settings.transfer_abort_invalid = Hindi mo makakansela ang isang hindi umiiral na paglipat ng repositoryo.
settings.transfer_quota_exceeded = Ang bagong may-ari (%s) ay lumalagpas sa quota. Hindi nailipat ang repositoryo.
@ -2290,8 +2290,8 @@ settings.webhook.headers = Mga header
settings.webhook.payload = Nilalaman
settings.webhook.body = Katawan
settings.webhook.replay.description = I-replay ang webhook na ito.
settings.webhook.delivery.success = May nadagdag na event sa delivery queue. Maari magtagal ng ilang segundo bago makita sa delivery history.
settings.githooks_desc = Pinapagana ng Git ang mga Git hook. Maari mong baguhin ang mga hook file sa ibaba para mag-set up ng mga custom na operasyon.
settings.webhook.delivery.success = May nadagdag na event sa delivery queue. Maaari magtagal ng ilang segundo bago makita sa delivery history.
settings.githooks_desc = Pinapagana ng Git ang mga Git hook. Maaari mong baguhin ang mga hook file sa ibaba para mag-set up ng mga custom na operasyon.
settings.githook_name = Pangalan ng hook
settings.githook_content = Nilalaman ng hook
settings.update_githook = I-update ang hook
@ -2362,7 +2362,7 @@ settings.mirror_settings.docs.pull_mirror_instructions = Para mag-set up ng pull
milestones.invalid_due_date_format = Kailangang "yyyy-mm-dd" na format ang takdang petsa.
signing.wont_sign.nokey = Walang key ang instansya na ito para i-sign ang commit na ito.
activity.title.releases_1 = %d paglabas
settings.mirror_settings.docs.more_information_if_disabled = Maari kang matuto pa tungkol sa mga push at pull na mirror dito:
settings.mirror_settings.docs.more_information_if_disabled = Maaari kang matuto pa tungkol sa mga push at pull na mirror dito:
settings.branches.switch_default_branch = Magpalit ng default branch
settings.convert_notices_1 = Ang operasyon na ito ay ico-covert ang mirror sa regular na repositoryo at hindi mababawi.
settings.convert_fork_succeed = Na-convert na ang fork sa regular na repositoryo.
@ -2732,7 +2732,7 @@ settings.protect_protected_file_patterns = Mga pattern ng nakaprotektang file (h
settings.update_protect_branch_success = Binago na ang branch protection rule na "%s".
settings.remove_protected_branch_success = Tinanggal ang branch protection rule na "%s".
settings.tags.protection.pattern = Pattern ng tag
settings.tags.protection.pattern.description = Maari kang gumamit ng iisang pangalan o glob pattern o regular expression para magtugma ng maraming tag. Magbasa pa sa <a target="_blank" rel="noopener" href="%s">guide ng mga nakaprotektang tag</a>.
settings.tags.protection.pattern.description = Maaari kang gumamit ng iisang pangalan o glob pattern o regular expression para magtugma ng maraming tag. Magbasa pa sa <a target="_blank" rel="noopener" href="%s">guide ng mga nakaprotektang tag</a>.
settings.thread_id = ID ng thread
settings.matrix.room_id = ID ng room
diff.has_escaped = May mga nakatagong Unicode character ang linya na ito
@ -2746,7 +2746,7 @@ diff.bin = BIN
settings.default_update_style_desc = Ang default na istilio na gagamitin sa pag-update ng mga hiling sa paghila na nalilipas sa base branch.
pulls.sign_in_require = <a href="%s">Mag-sign in</a> para gumawa ng bagong hiling sa paghila.
new_from_template = Gumamit ng template
new_from_template_description = Maari kang pumili ng umiiral na repository template sa instansya na ito at i-apply ang mga setting nito.
new_from_template_description = Maaari kang pumili ng umiiral na repository template sa instansya na ito at i-apply ang mga setting nito.
new_advanced = Mga advanced na setting
new_advanced_expand = I-click para i-expand
auto_init_description = Simulan ang kasaysayan ng Git gamit ang README at opsyonal na magdagdag ng mga lisensya at .gitignore na file.
@ -2780,6 +2780,7 @@ settings.event_action_recover = I-recover
settings.event_action_success = Matagumpay
settings.event_action_success_desc = Matagumpay na natapos ang Action Run.
settings.event_action_recover_desc = Matagumpay na natapos ang Action Run pagkatapos na nabigo ang huling Action Run sa katulad na workflow.
issues.filter_type.all_pull_requests = Lahat ng mga hiling sa paghila
[search]
commit_kind = Maghanap ng mga commit…
@ -3205,7 +3206,7 @@ self_check.database_collation_mismatch = Inaasahan ang database na gamitin ang c
auths.oauth2_admin_group = Group claim value para sa mga tagapangasiwa. (Opsyonal - kinakailangan ang claim name sa itaas)
auths.tip.facebook = Magrehistro ng bagong application sa %s at idagdag ang produktong "Facebook Login"
users.restricted.description = Payagan lamang ang interaksyon sa mga repositoryo at organisasyon kung saan ang user ay dinagdag bilang tagatulong. Iniiwasan nito ang pag-access sa publikong repositoryo sa instansya na ito.
users.local_import.description = Payagan ang pag-import ng mga repositoryo mula sa local file system ng user. Maari itong maging isyu sa seguridad.
users.local_import.description = Payagan ang pag-import ng mga repositoryo mula sa local file system ng user. Maaari itong maging isyu sa seguridad.
emails.delete = Burahin ang Email
emails.deletion_success = Binura na ang email address.
auths.oauth2_required_claim_value = Kinakailangan na claim value
@ -3450,8 +3451,8 @@ teams.owners_permission_desc = Ang mga owner ay may punong access sa <strong>lah
teams.add_nonexistent_repo = Hindi pa umiiral ang repositoryo na sinusubukan mong idagdag. Mangyaring gawin iyan muna.
teams.all_repositories = Lahat ng mga repositoryo
teams.all_repositories_helper = Ang koponan ay may access sa lahat ng mga repositoryo. Ang pagpili nito ay <strong>idadagdag ang lahat ng mga umiiral</strong> na repositoryo sa koponan.
settings.change_orgname_redirect_prompt.with_cooldown.few = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang pangalan sa panahon ng cooldown.
settings.change_orgname_redirect_prompt.with_cooldown.one = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang pangalan ng panahon ng cooldown.
settings.change_orgname_redirect_prompt.with_cooldown.few = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang pangalan sa panahon ng cooldown.
settings.change_orgname_redirect_prompt.with_cooldown.one = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang pangalan ng panahon ng cooldown.
[packages]

View file

@ -1062,8 +1062,8 @@ language.localization_project = Aidez-nous à traduire Forgejo dans votre langue
language.description = Cette langue sera enregistrée dans votre compte et utilisée comme langue par défaut après votre connexion.
user_block_yourself = Vous ne pouvez pas vous bloquer vous même.
pronouns_custom_label = Pronoms personnalisés
change_username_redirect_prompt.with_cooldown.one = L'ancien pseudonyme sera disponible pour n'importe qui après une période d'%[1]d jour, vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période.
change_username_redirect_prompt.with_cooldown.few = L'ancien pseudonyme sera disponible pour n'importe qui après une période de %[1]d jours, vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période.
change_username_redirect_prompt.with_cooldown.one = L'ancien pseudonyme sera disponible pour n'importe qui après une période d'%[1]d jour. Vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période.
change_username_redirect_prompt.with_cooldown.few = L'ancien pseudonyme sera disponible pour n'importe qui après une période de %[1]d jours. Vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période.
quota.rule.exceeded = Dépassé
regenerate_token = Régénérer
access_token_regeneration = Régénérer le token d'accès
@ -1579,7 +1579,7 @@ issues.remove_ref_at=`a supprimé la référence <b>%s</b> %s.`
issues.add_ref_at=`a ajouté la référence <b>%s</b> %s.`
issues.delete_branch_at=`a supprimé la branche <b>%s</b> %s.`
issues.filter_label=Label
issues.filter_label_exclude=`Utilisez <code>Alt</code> + <code>Clic/entrée</code> pour exclure les labels.`
issues.filter_label_exclude=`Utilisez <kbd>Alt</kbd> + <kbd>Click</kbd> pour exclure les étiquettes.`
issues.filter_label_no_select=Toutes les labels
issues.filter_label_select_no_label=Aucun label
issues.filter_milestone=Jalon
@ -1653,13 +1653,13 @@ issues.close_comment_issue=Fermer avec le commentaire
issues.reopen_issue=Rouvrir
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 rouvert ce ticket <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
issues.commit_ref_at=`a référencé ce ticket depuis une révision <a id="%[1]s" href="#%[1]s"> %[2]s</a>.`
issues.ref_issue_from=`<a href="%[3]s">a fait référence à %[4]s</a> ce ticket <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
issues.ref_pull_from=`<a href="%[3]s">a fait référence</a> à cette demande d'ajout %[4]s <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
issues.ref_closing_from=`<a href="%[3]s">a fait référence</a> à une demande d'ajout %[4]s qui clora ce ticket, <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
issues.ref_reopening_from=`<a href="%[3]s">a référencé une pull request %[4]s qui va ré-ouvrir ce ticket</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`a fermé ce ticket %s`
issues.reopened_at=`a rouvert ce ticket %s`
issues.commit_ref_at=`a référencé ce ticket depuis une révision %s`
issues.ref_issue_from=`<a href="%[2]s">a fait référence à ce ticket %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">a fait référence à cette demande d'ajout %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">a fait référence à une demande d'ajout %[3]s qui clora ce ticket</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">a référencé ce ticket dans une pull request %[3]s qui va ré-ouvrir ce ticket</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">a fermé ce ticket %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">a rouvert</a> ce ticket %[4]s <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
issues.ref_from=`de %[1]s`
@ -1967,8 +1967,8 @@ pulls.update_branch_success=La mise à jour de la branche a réussi
pulls.update_not_allowed=Vous n'êtes pas autorisé à mettre à jour la branche
pulls.outdated_with_base_branch=Cette branche est désynchronisée avec la branche de base
pulls.close=Fermer la demande dajout
pulls.closed_at=`a fermé cette demande d'ajout <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
pulls.reopened_at=`a rouvert cette demande d'ajout <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
pulls.closed_at=`a fermé cette demande d'ajout %s`
pulls.reopened_at=`a rouvert cette demande d'ajout %s`
pulls.cmd_instruction_hint=Voir les instructions en ligne de commande
pulls.cmd_instruction_checkout_title=Basculer
pulls.cmd_instruction_checkout_desc=Depuis votre dépôt, basculer sur une nouvelle branche et tester des modifications.
@ -2762,7 +2762,7 @@ issues.blocked_by_user = Vous ne pouvez pas créer de tickets sur ce dépôt car
pulls.blocked_by_user = Vous ne pouvez pas créer une pull request sur ce dépôt car vous êtes bloqué par son propriétaire.
wiki.cancel = Annuler
settings.wiki_globally_editable = Permettre l'édition du wiki a tout le monde
pulls.commit_ref_at = `a référencé cette pull request depuis le commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `a référencé cette pull request depuis un commit %s`
settings.new_owner_blocked_doer = Le nouveau propriétaire vous a bloqué.
settings.enter_repo_name = Confirmez en entrant le propriétaire et le nom du dépôt exactement comme affiché :
settings.wiki_rename_branch_main = Normalise le nom de la branche du Wiki
@ -3058,8 +3058,8 @@ teams.invite.by=Invité par %s
teams.invite.description=Veuillez cliquer sur le bouton ci-dessous pour rejoindre léquipe.
follow_blocked_user = Vous ne pouvez pas suivre cette organisation car elle vous a bloqué.
open_dashboard = Ouvrir le tableau de bord
settings.change_orgname_redirect_prompt.with_cooldown.few = L'ancien nom d'organisation sera disponible pour n'importe qui après une période de %[1]d jours, vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période.
settings.change_orgname_redirect_prompt.with_cooldown.one = L'ancien nom d'organisation sera disponible pour n'importe qui après une période d'%[1]d jour, vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période.
settings.change_orgname_redirect_prompt.with_cooldown.few = L'ancien nom d'organisation sera disponible pour n'importe qui après une période de %[1]d jours. Vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période.
settings.change_orgname_redirect_prompt.with_cooldown.one = L'ancien nom d'organisation sera disponible pour n'importe qui après une période d'%[1]d jour. Vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période.
[admin]
dashboard=Tableau de bord
@ -4091,4 +4091,4 @@ issues.write = <b>Écrire :</b> Fermer des tickets et gérer les métadonnées t
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 difficile 100 % de complétion. :-)
test = Ceci est une chaîne de test. Elle n'est pas affichée dans Forgejo même 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 difficile 100 % de complétion. :-)

View file

@ -132,20 +132,20 @@ fuzzy = Doiléir
fuzzy_tooltip = Cuir san áireamh torthaí a mheaitseálann an téarma cuardaigh go dlúth freisin
exact = Beacht
exact_tooltip = Ní chuir san áireamh ach torthaí a mheaitseálann leis an téarma
repo_kind = Cuardaigh stórtha...
user_kind = Cuardaigh úsáideoirí...
org_kind = Cuardaigh eagraíochtaí...
team_kind = Cuardaigh foirne...
code_kind = Cód cuardaigh...
repo_kind = Cuardaigh stórtha
user_kind = Cuardaigh úsáideoirí
org_kind = Cuardaigh eagraíochtaí
team_kind = Cuardaigh foirne
code_kind = Cód cuardaigh
code_search_unavailable = Níl cuardach cód ar fáil faoi láthair. Déan teagmháil le riarthóir an láithreáin.
package_kind = Cuardaigh pacáistí...
project_kind = Cuardaigh tionscadail...
branch_kind = Cuardaigh brainsí...
commit_kind = Cuardaigh tiomáintí...
runner_kind = Cuardaigh reathaithe...
package_kind = Cuardaigh pacáistí
project_kind = Cuardaigh tionscadail
branch_kind = Cuardaigh brainsí
commit_kind = Cuardaigh tiomáintí
runner_kind = Cuardaigh reathaithe
no_results = Níl aon torthaí meaitseála le fáil.
issue_kind = Saincheisteanna cuardaigh...
pull_kind = Cuardaigh iarratais tarraingthe...
issue_kind = Saincheisteanna cuardaigh
pull_kind = Cuardaigh iarratais tarraingthe
keyword_search_unavailable = Níl cuardach de réir eochairfhocal ar fáil faoi láthair. Déan teagmháil le riarthóir an láithreáin.
[aria]
@ -507,12 +507,12 @@ avatar = Abhatár
ssh_gpg_keys = Eochracha SSH/GPG
applications = Iarratais
repos = Stórais
delete = Scrios Cuntas
delete = Scrios cuntas
twofa = Fíordheimhniú Dhá Fachtóir (TOTP)
organization = Eagraíochtaí
uid = UID
webauthn = Fíordheimhniú Dhá-Fachtóir (Eochracha Slándála)
public_profile = Próifíl Phoiblí
public_profile = Próifíl phoiblí
location_placeholder = Comhroinn do shuíomh thart le daoine eile
full_name = Ainm Iomlán
website = Láithreán Gréasáin
@ -1219,11 +1219,11 @@ issues.close_comment_issue = Dún le trácht
issues.reopen_issue = Athoscail
issues.reopen_comment_issue = Athoscail le trácht
issues.create_comment = Trácht
issues.closed_at = `dhún an cheist seo <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at = `athoscail an t-eagrán seo <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at = `rinne tagairt don cheist seo ó ghealltanas <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from = `<a href="%[3]s">rinne dagairt don cheist seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from = `<a href="%[3]s">rinne dagairt don iarratas tarraingthe seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[ 2]s</a>`
issues.closed_at = `dhún an cheist seo %s`
issues.reopened_at = `athoscail an t-eagrán seo %s`
issues.commit_ref_at = `rinne tagairt don cheist seo ó ghealltanas %s`
issues.ref_issue_from = `<a href="%[2]s">rinne dagairt don cheist seo %[3]s</a> %[1]s`
issues.ref_pull_from = `<a href="%[2]s">rinne dagairt don iarratas tarraingthe seo %[3]s</a> %[1]s`
issues.ref_closed_from = `<a href="%[3]s">dhún an cheist seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from = `<a href="%[3]s">d'athoscail an eagrán seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from = `ó %[1]s`
@ -1456,8 +1456,8 @@ pulls.update_branch_success = Bhí nuashonrú brainse rathúil
pulls.update_not_allowed = Ní cheadaítear duit brainse a nuashonrú
pulls.outdated_with_base_branch = Tá an brainse seo as dáta leis an mbunbhrainse
pulls.close = Dún Iarratas Tarraing
pulls.closed_at = `dhún an t-iarratas tarraingthe seo <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at = `athoscail an t-iarratas tarraingthe seo <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at = `dhún an t-iarratas tarraingthe seo %s`
pulls.reopened_at = `athoscail an t-iarratas tarraingthe seo %s`
pulls.cmd_instruction_checkout_title = Seiceáil
pulls.cmd_instruction_checkout_desc = Ó stór tionscadail, seiceáil brainse nua agus déan tástáil ar na hathruithe.
pulls.cmd_instruction_merge_title = Cumaisc

View file

@ -196,29 +196,29 @@ link_modal.paste_reminder = Consello: Coa URL no portapapeis, podes pegala direc
[search]
search = Buscar...
type_tooltip = Tipo de procura
repo_kind = Buscar repositorios...
user_kind = Buscar usuarios...
repo_kind = Buscar repositorios
user_kind = Buscar usuarios
regexp = RegExp
regexp_tooltip = Interpretar o termo da procura como expresión regular
org_kind = Procurar organizacións...
team_kind = Procurar equipos...
code_kind = Procurar código...
org_kind = Procurar organizacións
team_kind = Procurar equipos
code_kind = Procurar código
code_search_unavailable = A procura de código non está dispoñible neste momento. Por favor contacte coa persoa responsable da administración da páxina.
package_kind = Buscar paquetes...
package_kind = Buscar paquetes
fuzzy = Difusa
fuzzy_tooltip = Incluír resultados que tamén coincidan estreitamente co termo da procura
union = Palabras clave
union_tooltip = Incluír resultados correspondentes a calquera dal palabras clave separadas por espazos en branco
exact = Exacta
exact_tooltip = Incluír só resultados correspondentes ao termo exacto da procura
issue_kind = Procurar incidencias...
project_kind = Buscar proxectos...
branch_kind = Buscar ramas...
issue_kind = Procurar incidencias
project_kind = Buscar proxectos
branch_kind = Buscar ramas
no_results = Non se atoparon resultados coincidentes.
keyword_search_unavailable = A busca por palabra clave non está dispoñible actualmente. Póñase en contacto co administrador do sitio.
commit_kind = Buscar achegas...
runner_kind = Buscar executores...
pull_kind = Buscar pulls...
commit_kind = Buscar achegas
runner_kind = Buscar executores
pull_kind = Buscar pulls
[startpage]
platform = Multiplataforma

View file

@ -1,6 +1,3 @@
[common]
webauthn_error_unable_to_process = שרת זה נכשל בעיבוד בקשתך.
help = עזרה
@ -150,24 +147,24 @@ union = מילות מפתח
exact = מדויק
exact_tooltip = תוצאות יתאימו במדויק לתוכן תיבת החיפוש
regexp = רג'קס
user_kind = חיפוש אנשים...
code_kind = חיפוש קוד...
team_kind = חיפוש צוותים...
user_kind = חיפוש אנשים
code_kind = חיפוש קוד
team_kind = חיפוש צוותים
no_results = לא נמצאו תוצאות.
union_tooltip = תוצאות יכללו לפחות מילת מפתח אחת; אפשר להפריד מילות מפתח עם רווחים
org_kind = חיפוש ארגונים...
package_kind = חיפוש חבילות...
project_kind = חיפוש פרוייקטים...
branch_kind = חיפוש ענפים...
commit_kind = חיפוש קומיטים...
issue_kind = חיפוש סוגיות...
org_kind = חיפוש ארגונים
package_kind = חיפוש חבילות
project_kind = חיפוש פרוייקטים
branch_kind = חיפוש ענפים
commit_kind = חיפוש קומיטים
issue_kind = חיפוש סוגיות
fuzzy_tooltip = תוצאות יתאימו לתוכן תיבת החיפוש בקירוב; מומלץ כנגד שגיאות כתיב
repo_kind = חיפוש קרפיפים...
repo_kind = חיפוש קרפיפים
code_search_by_git_grep = תוצאות החיפוש יוצרו על ידי "git grep"; יכול להיות שיתקבלו תוצאות טובות יותר אם מנהלי המערכת יפעילו את המפתחן.
runner_kind = חיפוש מריצים...
runner_kind = חיפוש מריצים
keyword_search_unavailable = חיפוש מילות מפתח לא זמין. נא לדווח למנהלי המערכת.
code_search_unavailable = חיפוש קוד לא זמין. נא לדווח למנהלי המערכת.
pull_kind = חיפוש בקשות מיזוג...
pull_kind = חיפוש בקשות מיזוג
[heatmap]
number_of_contributions_in_the_last_12_months = % תרומות ב־12 החודשים האחרונים
@ -385,6 +382,9 @@ account_activated = חשבונך הופעל
resent_limit_prompt = כבר ביקשת מייל אימות בשלושת הדקות האחרונות. נא לחכות ולנסות שוב.
has_unconfirmed_mail = שלום %s, חשבונך משויך לכתובת אימייל לא מאומתת (<b>%s</b>). אם לא קיבלת הודעת אימות באימייל, או שאתה צריך חדשה, נא ללחוץ על הכפתור למטה.
confirmation_mail_sent_prompt = אימייל אימות חדש נשלח ל־<b>%s</b>. יש לבדוק את תיבת הדואר וללחוץ על הלינק תוך %s על מנת להשלים את רישום החשבון. אם כתובת המייל שגוייה, אפשר להיכנס לחשבון ולבקש דוא"ל אימות לכתובת אחרת.
reset_password_mail_sent_prompt = אימייל אימות חדש נשלח ל־<b>%s</b>. יש לבדוק את תיבת הדואר וללחוץ על הלינק תוך %s על מנת להשלים את רישום החשבון.
[settings]
key_content = תוכן
principal_content = תוכן
@ -469,7 +469,7 @@ uploaded_avatar_not_a_image = הקובץ שהועלה לא תמונה.
[repo]
new_advanced = הגדרות מתקדמות
new_advanced_expand =
new_advanced_expand =
owner = בעלים
repo_name = שם הקרפיף
repo_name_helper = שמות קרפיפים טובים הם זכירים, קצרים וייחודיים.
@ -662,6 +662,10 @@ issues.label_archive = לארכיון
issues.label_archived_filter = הצגת תוויות מהארכיון
issues.label_archive_tooltip = תוויות בארכיון לא מוצעות בחיפוש על־בסיס תווית כברירת מחדל.
issues.deleted_milestone = נמחק
issues.deleted_project = נמחק
issues.self_assign_at = `שייךה עצמית %s`
[translation_meta]
test = ואהבת לרעך כמוך

View file

@ -330,7 +330,7 @@ code_no_results=Nincs találat a keresési kifejezésedre.
code_last_indexed_at=Utoljára indexelve: %s
[auth]
create_new_account=Regisztráció
create_new_account=Fiók regisztrálása
register_helper_msg=Van már felhasználói fiókja? Jelentkezzen be!
social_register_helper_msg=Van már felhasználói fiókja? Csatlakoztassa most!
disable_register_prompt=Regisztráció le van tiltva. Kérjük, lépjen kapcsolatba az oldal adminisztrátorával.
@ -532,8 +532,8 @@ password_change_disabled=A nem helyi felhasználók nem frissíthetik jelszavuka
emails=E-mail címek
manage_emails=E-mail címek kezelése
manage_themes=Válassza ki az alapértelmezett témát
manage_openid=OpenID címek kezelése
manage_themes=Alapértelmezett téma
manage_openid=OpenID címek
theme_desc=Ez lesz az alapértelmezett téma az oldalon.
primary=Elsődleges
activated=Aktivált
@ -932,7 +932,7 @@ issues.close_comment_issue=Hozzászólás és lezárás
issues.reopen_issue=Újranyitás
issues.reopen_comment_issue=Hozzászólás és újranyitás
issues.create_comment=Hozzászólás
issues.commit_ref_at=`hivatkozott erre a hibajegyre egy commit-ból <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`hivatkozott erre a hibajegyre egy commit-ból %s`
issues.role.owner=Tulajdonos
issues.role.member=Tag
issues.re_request_review=Véleményezés újrakérése
@ -1779,14 +1779,14 @@ directory = Könyvtár
[search]
search = Keresés...
type_tooltip = Keresés típusa
code_kind = Kód keresése...
code_kind = Kód keresése
code_search_unavailable = A kódban való keresés jelenleg nem elérhető. Kérem vegye fel a kapcsolatot az oldal adminisztrátorával.
package_kind = Csomagok keresése...
project_kind = Projektek keresése...
user_kind = Felhasználók keresése...
repo_kind = Tárak keresése...
org_kind = Szervezetek keresése...
team_kind = Csapatok keresése...
package_kind = Csomagok keresése
project_kind = Projektek keresése
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
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...
@ -1794,8 +1794,8 @@ 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...
branch_kind = Ágak keresése
no_results = Nincsenek megfelelő találatok.
issue_kind = Hibajegyek keresése...
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

@ -206,9 +206,9 @@ email_title = Pengaturan email
smtp_from = Kirim Email Sebagai
[home]
uname_holder=Nama Pengguna atau Alamat Surel
uname_holder=Nama pengguna atau alamat surel
password_holder=Kata Sandi
switch_dashboard_context=Alihkan Dasbor Konteks
switch_dashboard_context=Alihkan dasbor konteks
my_repos=Repositori
show_more_repos=Tampilkan repositori lainnya…
collaborative_repos=Repositori Kolaboratif
@ -236,7 +236,7 @@ org_no_results=Tidak ada organisasi yang cocok ditemukan.
code_no_results=Tidak ada kode sumber yang cocok dengan istilah yang anda cari.
[auth]
create_new_account=Daftar Akun
create_new_account=Daftar akun
register_helper_msg=Sudah memiliki akun? Masuk sekarang!
social_register_helper_msg=Sudah memiliki akun? Hubungkan sekarang!
disable_register_prompt=Maaf, pendaftaran telah dinonaktifkan. Silakan hubungi administrator situs.
@ -269,11 +269,11 @@ twofa_passcode_incorrect=Kata sandi Anda salah. Jika Anda salah tempatkan perang
twofa_scratch_token_incorrect=Kode coretan anda tidak tepat.
login_userpass=Masuk
tab_openid=OpenID
oauth_signup_tab=Daftar Akun Baru
oauth_signup_submit=Akun Lengkap
oauth_signin_tab=Tautkan ke Akun yang Tersedia
oauth_signin_title=Masuk untuk Izinkan Akun Tertaut
oauth_signin_submit=Taut Akun
oauth_signup_tab=Daftar akun baru
oauth_signup_submit=Akun lengkap
oauth_signin_tab=Tautkan ke akun yang tersedia
oauth_signin_title=Masuk untuk izinkan akun tertaut
oauth_signin_submit=Taut akun
openid_connect_submit=Sambungkan
openid_connect_title=Sambungkan ke akun yang sudah ada
openid_connect_desc=OpenID URI yang dipilih tak dikenal. Asosiasikan dengan akun baru disini.
@ -398,14 +398,14 @@ avatar=Avatar
ssh_gpg_keys=Kunci SSH / GPG
social=Akun Sosial
applications=Aplikasi
orgs=Kelola organisasi
orgs=Organisasi
repos=Repositori
delete=Hapus Akun
delete=Hapus akun
twofa=Otentikasi Dua-Faktor
account_link=Akun Tertaut
organization=Organisasi
public_profile=Profil Publik
public_profile=Profil publik
password_username_disabled=Pengguna non-lokal tidak diizinkan untuk mengubah nama pengguna mereka. Silakan hubungi administrator sistem anda untuk lebih lanjut.
full_name=Nama Lengkap
website=Situs Web
@ -438,8 +438,8 @@ password_change_disabled=Pengguna non-lokal tidak dapat mengganti kata sandi mer
emails=Alamat Surel
manage_emails=Kelola Alamat Surel
manage_themes=Pilih tema default
manage_openid=Kelola alamat OpenID
manage_themes=Tema default
manage_openid=Alamat OpenID
theme_desc=Ini akan menjadi tema asal Anda pada keseluruhan situs.
primary=Utama
activated=Diaktifkan
@ -796,7 +796,7 @@ issues.close_comment_issue=Komentar dan Tutup
issues.reopen_issue=Buka kembali
issues.reopen_comment_issue=Komentar dan Buka Kembali
issues.create_comment=Komentar
issues.commit_ref_at=`merujuk masalah dari komit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`merujuk masalah dari komit %s`
issues.role.owner=Pemilik
issues.role.member=Anggota
issues.sign_in_require_desc=<a href="%s">Masuk</a> untuk bergabung dengan percakapan ini.
@ -1484,10 +1484,10 @@ search = Cari...
type_tooltip = Tipe pencarian
fuzzy_tooltip = Termasuk juga hasil yang mendekati kata pencarian
exact_tooltip = Hanya menampilkan hasil yang cocok dengan istilah pencarian
repo_kind = Cari repo...
user_kind = Telusuri pengguna...
org_kind = Cari organisasi...
team_kind = Cari tim...
code_kind = Cari kode...
repo_kind = Cari repo
user_kind = Telusuri pengguna
org_kind = Cari organisasi
team_kind = Cari tim
code_kind = Cari kode
code_search_unavailable = Pencarian kode saat ini tidak tersedia. Silahkan hubungi administrator.
branch_kind = Cari cabang...
branch_kind = Cari cabang

View file

@ -223,7 +223,7 @@ default_keep_email_private.description=Fela sjálfgefið netföng nýrra notenda
no_reply_address_helper=Lén fyrir notendur með falið netfang. Til dæmis notandanafnið „joe“ verður skráð í Git sem „joe@noreply.example.org“ ef falið tölvupóstlén er stillt á „noreply.example.org“.
[home]
uname_holder=Notandanafn eða Netfang
uname_holder=Notandanafn eða netfang
password_holder=Lykilorð
my_repos=Hugbúnaðarsöfn
show_more_repos=Sýna fleiri hugbúnaðarsöfn…
@ -255,7 +255,7 @@ org_no_results=Engar samsvarandi stofnanir fundust.
code_no_results=Enginn samsvarandi frumkóði fannst eftur þínum leitarorðum.
[auth]
create_new_account=Skrá Notanda
create_new_account=Skrá notanda
register_helper_msg=Ertu nú þegar með notanda? Skráðu þig inn núna!
social_register_helper_msg=Ertu nú þegar með reikning? Tengdu hann núna!
manual_activation_only=Hafðu samband við stjórnanda vefsvæðisins til að ljúka virkjun.
@ -276,13 +276,13 @@ verify=Staðfesta
scratch_code=Skrapkóði
use_scratch_code=Nota skrapkóða
twofa_scratch_token_incorrect=Skrapkóði þinn er rangur.
login_userpass=Skrá Inn
login_userpass=Skrá inn
tab_openid=OpenID
oauth_signup_tab=Skrá Nýjan Notanda
oauth_signup_title=Klára Nýjum Notanda
oauth_signup_submit=Klára Notanda
oauth_signin_tab=Tengja Núverandi Reikning
oauth_signin_submit=Tengja Notanda
oauth_signup_tab=Skrá nýjan notanda
oauth_signup_title=Klára nýjum notanda
oauth_signup_submit=Klára notanda
oauth_signin_tab=Tengja núverandi reikning
oauth_signin_submit=Tengja notanda
openid_connect_submit=Tengjast
openid_register_title=Skrá nýjan notanda
disable_forgot_password_mail=Endurheimting reiknings er óvirk vegna þess að enginn tölvupóstur er uppsettur. Vinsamlegast hafðu samband við síðustjórann þinn.
@ -434,15 +434,15 @@ avatar=Notandamynd
ssh_gpg_keys=SSH og GPG Lyklar
social=Félagsreikningar
applications=Forrit
orgs=Stjórna Stofnunum
orgs=Stofnanir
repos=Hugbúnaðarsöfn
delete=Eyða Reikningi
delete=Eyða reikningi
twofa=Tvíþætt Auðkenning
account_link=Tengdir Reikningar
organization=Stofnanir
webauthn=Öryggislyklar
public_profile=Opinber Notandasíða
public_profile=Opinber notandasíða
password_username_disabled=Notendum utan staðarins er ekki heimilt að breyta notendanafni sínu. Vinsamlegast hafðu samband við síðustjórann þinn til að fá frekari upplýsingar.
full_name=Fullt Nafn
website=Vefsíða
@ -805,8 +805,8 @@ issues.close_comment_issue=Senda ummæli og Loka
issues.reopen_issue=Enduropna
issues.reopen_comment_issue=Senda ummæli og Enduropna
issues.create_comment=Senda Ummæli
issues.closed_at=`lokaði þessu vandamáli <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`enduropnaði þetta vandamál <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`lokaði þessu vandamáli %s`
issues.reopened_at=`enduropnaði þetta vandamál %s`
issues.ref_reopened_from=`<a href="%[3]s">enduropnaði þetta vandamál %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.author=Höfundur
issues.role.owner=Eigandi

View file

@ -54,7 +54,7 @@ mirror=Mirror
new_repo=Nuovo repository
new_migrate=Nuova migrazione
new_mirror=Nuovo mirror
new_fork=Nuova derivazione
new_fork=Nuova biforcazione
new_org=Nuova organizzazione
new_project=Nuovo progetto
manage_org=Gestisci le organizzazioni
@ -143,12 +143,12 @@ confirm_delete_selected = Confermare l'eliminazione di tutti gli elementi selezi
sign_in_with_provider = Accedi con %s
new_project_column = Nuova colonna
toggle_menu = Mostra/Nascondi menu
filter.not_fork = Non fork
filter.not_fork = Non biforcazioni
filter = Filtro
filter.clear = Rimuovi filtri
filter.is_archived = Archiviato
filter.not_archived = Non archiviato
filter.is_fork = Da fork
filter.is_fork = Biforcazioni
filter.is_mirror = Mirror
filter.not_mirror = Non mirror
filter.is_template = Modelli
@ -209,6 +209,7 @@ table_modal.label.columns = Colonne
link_modal.header = Aggiungi collegamento
link_modal.url = Url
link_modal.description = Descrizione
link_modal.paste_reminder = Suggerimento: se hai già copiato un URL negli appunti, puoi incollarlo direttamente nelleditor per creare un collegamento.
[filter]
string.asc = A - Z
@ -232,6 +233,7 @@ lightweight_desc=Forgejo ha requisiti minimi bassi e può funzionare su un econo
license=Open Source
license_desc=Ottieni <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>! Partecipa per <a target="_blank" rel="noopener noreferrer" href="%[2]s">contribuire</a> a rendere questo progetto ancora più bello. Non aver paura di diventare collaborante!
install_desc = Semplicemente <a target="_blank" rel="noopener noreferrer" href="%[1]s">avvia l'eseguibile</a> per la tua piattaforma, distribuiscilo con <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, oppure scarica il <a target="_blank" rel="noopener noreferrer" href="%[3]s">pacchetto</a>.
platform_desc = È stato verificato che Forgejo è pienamente compatibile con sistemi operativi liberi, come Linux e FreeBSD, nonché con diverse architetture CPU. Scegli liberamente la piattaforma che preferisci!
[install]
install=Installazione
@ -396,12 +398,12 @@ go_to = Vai a
search.type.tooltip = Tipo di ricerca
search.fuzzy.tooltip = Includi anche i risultati che corrispondono parzialmente ai termini di ricerca
code_search_results = Risultati di ricerca per "%s"
relevant_repositories_tooltip = I repositori derivati o che non hanno argomento, icona, né descrizione sono nascosti.
relevant_repositories_tooltip = I repositori che sono biforcazioni o che non hanno argomento, icona, né descrizione sono nascosti.
relevant_repositories = Sono visibili solo i repositori pertinenti, <a href="%s">mostra risultati non filtrati</a>.
search.match.tooltip = Includi solo risultati che combaciano perfettamente con i termini di ricerca
stars_few = %d stelle
forks_one = %d fork
forks_few = %d fork
forks_one = %d biforcazioni
forks_few = %d biforcazioni
stars_one = %d stella
[auth]
@ -421,7 +423,7 @@ allow_password_change=Richiede all'utente di cambiare la password (scelta consig
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
prohibit_login=L'account è sospeso
resent_limit_prompt=Hai già richiesto un'e-mail d'attivazione recentemente. Si prega di attenere 3 minuti e poi riprovare.
has_unconfirmed_mail=Ciao %s, hai un indirizzo di posta elettronica non confermato (<b>%s</b>). Se non hai ricevuto una e-mail di conferma o vuoi riceverla nuovamente, fare clic sul pulsante qui sotto.
resend_mail=Clicca qui per inviare nuovamente l'e-mail di attivazione
@ -485,6 +487,8 @@ 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.
unauthorized_credentials = Le credenziali non sono corrette o sono scadute. Controlla il comando o vedi %s per maggiori informazioni
use_onetime_code = Usa un codice monouso
[mail]
view_it_on=Visualizza su %s
@ -680,6 +684,8 @@ Location = Posizione
AccessToken = Token di accesso
FullName = Nome e cognome
To = Nome del ramo
email_domain_is_not_allowed = Il dominio dell'indirizzo email dell'utente <b>%s</b> è in conflitto con EMAIL_DOMAIN_ALLOWLIST o EMAIL_DOMAIN_BLOCKLIST. Assicurati di aver inserito correttamente l'indirizzo email.
username_claiming_cooldown = Il nome utente non può essere assegnato, poiché il periodo di attesa non è ancora terminato. Sarà disponibile il %[1]s.
[user]
@ -723,6 +729,7 @@ followers.title.one = Seguace
followers.title.few = Seguaci
following.title.one = Seguito
following.title.few = Osservato
public_activity.visibility_hint.self_private_profile = Poiché il tuo profilo è privato, la tua attività è visibile solo a te e agli amministratori dell'istanza. <a href="%s">Configura</a>.
[settings]
@ -735,7 +742,7 @@ avatar=Avatar
ssh_gpg_keys=Chiavi SSH / GPG
social=Account Sociali
applications=Applicazioni
orgs=Gestisci le organizzazioni
orgs=Organizzazioni
repos=Repositori
delete=Elimina account
twofa=Verifica in due passaggi
@ -796,8 +803,8 @@ password_change_disabled=Gli utenti non locali non possono cambiare la loro pass
emails=Indirizzi email
manage_emails=Gestisci indirizzi email
manage_themes=Seleziona il tema predefinito
manage_openid=Gestisci gli indirizzi OpenID
manage_themes=Tema predefinito
manage_openid=Indirizzi OpenID
theme_desc=Questo sarà il tuo tema di predefinito in tutto il sito.
primary=Primario
activated=Attivato
@ -1045,7 +1052,7 @@ added_on = Aggiunto su %s
additional_repo_units_hint = Suggerisci l'attivazione di unità aggiuntive nel repositorio
update_hints = Aggiorna suggerimenti
update_hints_success = I suggerimenti sono stati aggiornati.
additional_repo_units_hint_description = Mostra un pulsante "Aggiungi più sezioni..." per i repositori che non hanno tutte le sezioni disponibili aggiunte.
additional_repo_units_hint_description = Visualizza un suggerimento “Abilita altro” per i repositori che non hanno tutte le unità disponibili abilitate.
hints = Suggerimenti
pronouns = Pronomi
pronouns_custom = Personalizzato
@ -1053,6 +1060,34 @@ 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>.
quota.sizes.assets.attachments.all = Allegati
quota.rule.no_limit = Illimitato
quota.sizes.assets.attachments.releases = Allegati del rilascio
quota.rule.exceeded = Superato
regenerate_token = Rigenera
access_token_regeneration = Rigenera il token d'accesso
access_token_regeneration_desc = Rigenerare un token comporterà la revoca dell'accesso al tuo account per tutte le applicazioni che lo utilizzano. Questa operazione è irreversibile. Vuoi procedere?
regenerate_token_success = Il token è stato rigenerato. Le applicazioni che lo utilizzano non hanno più accesso alla tua utenza e devono essere aggiornate con il nuovo token.
user_block_yourself = Non puoi bloccare te stesso.
quota.applies_to_user = Le seguenti regole di quota si applicano al tuo account
quota.applies_to_org = Le seguenti regole di quota si applicano a questa organizzazione
quota.rule.exceeded.helper = La dimensione totale degli oggetti per questa regola ha superato la quota.
quota.sizes.all = Tutti
quota.sizes.repos.all = Repositori
quota.sizes.repos.public = Repositori pubblici
quota.sizes.repos.private = Repositori privati
quota.sizes.git.all = Contenuto git
quota.sizes.git.lfs = Git LFS
quota.sizes.assets.all = Risorse
quota.sizes.assets.attachments.issues = Allegati della segnalazione
quota.sizes.assets.artifacts = Artefatti
quota.sizes.assets.packages.all = Pacchetti
quota.sizes.wiki = Wiki
keep_pronouns_private = Mostra i pronomi solo agli utenti che hanno effettuato il login
keep_pronouns_private.description = Questa impostazione nasconderà i tuoi pronomi agli utenti non ancora autenticati.
storage_overview = Panoramica spazio di archiviazione
quota = Quota
change_username_redirect_prompt.with_cooldown.one = Il vecchio nome utente sarà disponibile per tutti dopo un periodo di protezione di %\[1]d giorni. Durante questo periodo di attesa potrai comunque tornare al vecchio nome utente.
[repo]
owner=Proprietario
@ -1067,10 +1102,10 @@ template_description=I modelli di repositori consentono allɜ utenti di generare
visibility=Visibilità
visibility_description=Solo il proprietario o i membri dell'organizzazione se hanno diritti, saranno in grado di vederlo.
visibility_helper_forced=L'amministratorə del sito impone che i nuovi repositori siano privati.
visibility_fork_helper=(Questa modifica influenzerà la visibilità di tutti i fork.)
visibility_fork_helper=(Questa modifica influenzerà la visibilità di tutte le biforcazioni.)
clone_helper=Hai bisogno di aiuto per la clonazione? Visita <a target="_blank" rel="noopener noreferrer" href="%s">Help</a>.
fork_repo=Deriva repositorio
fork_from=Deriva da
fork_from=Biforcazione di
already_forked=Hai già fatto il fork di %s
fork_to_different_account=Fai Fork a un account diverso
fork_visibility_helper=La visibilità di un repositorio derivato non può essere modificata.
@ -1514,13 +1549,13 @@ issues.close_comment_issue=Commenta e chiudi
issues.reopen_issue=Riapri
issues.reopen_comment_issue=Commenta e riapri
issues.create_comment=Commento
issues.closed_at=`ha chiuso questa segnalazione <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.closed_at=`ha chiuso questa segnalazione %s`
issues.reopened_at=`ha riaperto questa segnalazione %s`
issues.commit_ref_at=`ha fatto riferimento a questa segnalazione dal commit %s`
issues.ref_issue_from=`<a href="%[2]s">ha fatto riferimento a questa segnalazione %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">ha fatto riferimento a questa richiesta di modifica %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[3]s che la chiuderà</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[3]s che la riaprirà</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">chiuso questa segnalazione %[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`
@ -1718,7 +1753,7 @@ pulls.cannot_merge_work_in_progress=Questa richiesta di modifica è contrassegna
pulls.still_in_progress=Ancora in corso?
pulls.add_prefix=Aggiungi prefisso <strong>%s</strong>
pulls.remove_prefix=Rimuovi il prefisso <strong>%s</strong>
pulls.data_broken=Questa richiesta di modifica è rovinata a causa di informazioni mancanti riguardo la derivazione.
pulls.data_broken=Questa richiesta di modifica non è valida a causa di informazioni mancanti sulla biforcazione.
pulls.files_conflicted=Questa richiesta di modifica va in conflitto con il ramo di destinazione.
pulls.is_checking=Verifica dei conflitti di fusione in corso. Riprova tra qualche istante.
pulls.is_ancestor=Questo ramo è già incluso nel ramo di destinazione. Non c'è nulla da fondere.
@ -1776,8 +1811,8 @@ pulls.update_branch_rebase=Aggiorna il ramo per cambio base
pulls.update_branch_success=Ramo aggiornato con successo
pulls.update_not_allowed=Non ti è permesso aggiornare il ramo
pulls.outdated_with_base_branch=Questo ramo non è aggiornato con il ramo di base
pulls.closed_at=`ha chiuso questa richiesta di modifica <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`ha riaperto questa richiesta di modifica <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at=`ha chiuso questa richiesta di modifica %s`
pulls.reopened_at=`ha riaperto questa richiesta di modifica %s`
pulls.auto_merge_button_when_succeed=(Quando i controlli sono superati)
pulls.auto_merge_when_succeed=Unione automatica quando tutti i controlli sono superati
@ -2100,7 +2135,7 @@ settings.event_create_desc=Ramo o etichetta creati.
settings.event_delete=Elimina
settings.event_delete_desc=Ramo o etichetta eliminati.
settings.event_fork=Deriva
settings.event_fork_desc=Repository derivato.
settings.event_fork_desc=Creata una biforcazione del repositorio.
settings.event_wiki=Wiki
settings.event_release=Release
settings.event_release_desc=Release pubblicata, aggiornata o rimossa in una repository.
@ -2137,7 +2172,7 @@ settings.event_pull_request_sync_desc=Pull request sincronizzata.
settings.event_package=Pacchetto
settings.event_package_desc=Pacchetto creato o eliminato in un repository.
settings.branch_filter=Filtro rami
settings.branch_filter_desc=Whitelist dei rami per gli eventi di spinta, creazione dei rami e cancellazione dei rami, specificati come modello globo. Se vuoto o <code>*</code>, gli eventi per tutti i rami sono segnalati. Vedi la documentazione <a href="%[1]s">%[2]s</a> per la sintassi. Esempi: <code>master</code>, <code>{master,release*}</code>.
settings.branch_filter_desc=Filtro, scritto come pattern glob, da applicare ai rami per gli eventi di tipo immissione, creazione di rami e rimozione di rami. Se vuoto o <code>*</code>, vengono considerati tutti gli eventi di tutti i rami. Maggiori dettagli sulla sintassi presso <a href="%[1]s">%[2]s</a>. Esempi: <code>master</code>, <code>{master,release*}</code>.
settings.active=Attivo
settings.active_helper=Le informazioni sugli eventi innescati saranno inviate a questo URL del webhook.
settings.add_hook_success=Il webhook è stato aggiunto.
@ -2167,8 +2202,8 @@ settings.web_hook_name_packagist=Packagist
settings.packagist_username=Nome utente Packagist
settings.packagist_api_token=API token
settings.packagist_package_url=Url pacchetto pacchetti
settings.deploy_keys=Dispiega chiavi
settings.add_deploy_key=Aggiungi chiave di dispiego
settings.deploy_keys=Chiavi di distribuzione
settings.add_deploy_key=Aggiungi chiave di distribuzione
settings.deploy_key_desc=Le deploy key possiedono l'accesso solamente alla lettura di un repository.
settings.is_writable=Abilita accesso scrittura
settings.is_writable_info=Permetti a questa deploy key di <strong>pushare</strong> nella repository.
@ -2177,7 +2212,7 @@ settings.title=Titolo
settings.deploy_key_content=Contenuto
settings.key_been_used=Una deploy key con contenuto identico è già in uso.
settings.key_name_used=Esiste già una deploy key con questo nome.
settings.deploy_key_deletion=Rimuovi chiave di dispiego
settings.deploy_key_deletion=Rimuovi chiave di distribuzione
settings.deploy_key_deletion_desc=Rimuovere una chiave di distribuzione ne revocherà l'accesso a questo repository. Continuare?
settings.deploy_key_deletion_success=La chiave di distribuzione è stata rimossa.
settings.branches=Rami
@ -2620,7 +2655,7 @@ issues.filter_type.reviewed_by_you = Revisionati da te
projects.edit_success = Il progetto "%s" è stato aggiornato.
issues.keyword_search_unavailable = La ricerca per parola chiave non è attualmente disponibile. Contatta l'amministratore del sito.
issues.role.collaborator_helper = Quest*utente è statə invitatə a collaborare al progetto.
pulls.commit_ref_at = `ha fatto riferimento a questa richiesta di modifica da un commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `ha fatto riferimento a questa richiesta di modifica da un commit %s`
settings.thread_id = ID della discussione
release.title = Titolo del rilascio
visibility_helper = Rendi il repositorio privato
@ -2660,7 +2695,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à della repository
settings.units.units = Sezioni del repositorio
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.
@ -2732,7 +2767,7 @@ pulls.merged_title_desc_one = ha fuso %[1]d commit da <code>%[2]s</code> in <cod
settings.event_pull_request_approvals = Approvazioni della richiesta di modifica
settings.event_pull_request_merge = Fusione della richiesta di modifica
settings.authorization_header = Intestazione dell'autorizzazione
settings.add_key_success = La chiave di dispiego "%s" è stata aggiunta.
settings.add_key_success = La chiave di distribuzione "%s" è stata aggiunta.
settings.protected_branch.save_rule = Salva regola
settings.protected_branch.delete_rule = Elimina regola
settings.protect_invalid_status_check_pattern = Sequenza per il controllo dello stato non valida: "%s".
@ -2810,6 +2845,79 @@ wiki.search = Cerca nel wiki
wiki.no_search_results = Nessun risultato
mirror_use_ssh.helper = Selezionando quest'opzione, Forgejo replicherà il repositorio tramite Git con SSH e creerà un paio di chiavi per te. Assicurati che la chiave pubblica generata sia autorizzata per l'immissione nel repositorio di destinazione. Non puoi usare l'autorizzazione tramite password se selezioni quest'opzione.
archive.pull.noreview = Il repositorio è archiviato. Non puoi revisionare le richieste di modifica.
settings.event_action_failure = Fallimento
release.asset_external_url = URL esterno
release.add_external_asset = Aggiungi risorsa esterna
pulls.delete_after_merge.head_branch.insufficient_branch = Non hai i permessi per eliminare il ramo genitore.
settings.mirror_settings.push_mirror.copy_public_key = Copia chiave pubblica
issues.context.menu = Menu commenti
activity.published_tag_label = Etichetta
settings.event_header_action = Eventi di esecuzione delle azioni
settings.event_action_failure_desc = L'esecuzione dell'azione è terminata con un fallimento.
settings.event_action_recover_desc = L'esecuzione dell'azione ha avuto successo dopo che l'ultima esecuzione dell'azione nello stesso flusso di lavoro è fallita.
mirror_use_ssh.text = Utilizza SSH per l'autenticazione
mirror_use_ssh.not_available = L'autenticazione tramite SSH non è disponibile.
archive.nocomment = Non è possibile commentare perché il repositorio è archiviato.
settings.event_action_recover = Recupera
issues.all_title = Tutti
issues.review.add_remove_review_requests = aggiunte richieste di revisione da %\[1]s e rimosse richieste di revisione da %\[2]s %\[3]s
commits.view_single_diff = Visualizza le modifiche apportate a questo file in questo commit
issues.new.assign_to_me = Assegna a me
issues.reaction.alt_few = %[1] ha reagito %[2]s.
pulls.delete_after_merge.head_branch.is_protected = Il ramo head che desideri eliminare è protetto e non può essere eliminato.
issues.filter_type.all_pull_requests = Tutte le richieste di modifica
migrate.repo_desc_helper = Lascia vuoto per importare una descrizione esistente
settings.discord_icon_url.exceeds_max_length = L'URL dell'icona non deve essere più lungo di 2048 caratteri
issues.review.add_review_requests = richiesto revisioni da %[1]s %[2]s
diff.git-notes.add = Aggiunti nota
release.type_external_asset = Risorsa esterna
issues.reopen.blocked_by_user = Non puoi riaprire questa segnalazione perché sei bloccato dal proprietario del repositorio o dallautore di questa segnalazione.
pulls.editable_explanation = Questa richiesta di modifica consente modifiche da parte dei manutentori. Puoi contribuire direttamente.
activity.published_prerelease_label = Pre-rilascio
settings.pull_mirror_sync_quota_exceeded = Quota superata, non è possibile unire le modifiche.
settings.default_update_style_desc = Stile di aggiornamento predefinito utilizzato per aggiornare le richieste di modifica che sono indietro rispetto al ramo di base.
release.asset_name = Nome della risorsa
settings.transfer_quota_exceeded = Il nuovo proprietario (%s) è sopra la sua quota. Il repositorio non è stato trasferito.
release.summary_card_alt = Scheda riepilogativa di un rilascio con titolo "%s" nel repositorio %s
issues.filter_no_results = Nessun risultato
issues.filter_no_results_placeholder = Prova a modificare i filtri di ricerca.
auto_init_description = Inizializza la cronologia Git con un README e, opzionalmente, aggiungi i file di licenza e .gitignore.
sync_fork.button = Sincronizza
pulls.editable = Modificabile
pulls.sign_in_require = <a href="%s">Accedi</a> per creare una richiesta di modifica.
settings.mirror_settings.push_mirror.none_ssh = Nessuno
sync_fork.branch_behind_one = Questo ramo è indietro di %[1]d commit rispetto a %[2]s
sync_fork.branch_behind_few = Questo ramo è indietro di %[1]d commit rispetto a %[2]s
no_eol.text = Nessun fine linea
no_eol.tooltip = Questo file non contiene un carattere di fine linea finale.
milestones.filter_sort.name = Nome
settings.protect_new_rule = Crea una nuova regola di protezione dei rami
editor.commit_email = E-mail di commit
mirror_public_key = Chiave SSH pubblica
mirror_denied_combination = Non è possibile utilizzare contemporaneamente l'autenticazione tramite chiave pubblica e password.
release.type_attachment = Allegato
release.invalid_external_url = URL esterno invalido: "%s"
new_from_template = Utilizza un modello
new_from_template_description = Puoi selezionare un modello di repositorio esistente su questa istanza e applicare le sue impostazioni.
new_advanced = Impostazioni avanzate
new_advanced_expand = Clicca per espandere
summary_card_alt = Scheda riepilogativa del repository %s
issues.filter_sort.relevance = Rilevanza
issues.num_reviews_one = %d revisioni
issues.num_reviews_few = %d revisioni
issues.reaction.add = Aggiungi reazione
issues.reaction.alt_many = %[1] e altri %[2]d hanno reagito %[3]s.
issues.reaction.alt_remove = Rimuovi la reazione %[1]s dal commento.
issues.reaction.alt_add = Aggiungi la reazione %[1]s al commento.
issues.review.remove_review_requests = rimosso richieste di revisione per %\[1]s %\[2]s
comment.blocked_by_user = Non è possibile commentare perché sei stato bloccato dal proprietario del repositorio o dall'autore.
issues.summary_card_alt = Scheda riepilogativa di una segnalazione intitolata "%s" nel repositorio %s
pulls.delete_after_merge.head_branch.is_default = Il ramo head che desideri eliminare è il ramo predefinito e non può essere eliminato.
settings.event_action_success = Successo
settings.event_action_success_desc = L'esecuzione dell'azione è andata a buon fine.
diff.git-notes.remove-header = Rimuovi nota
diff.git-notes.remove-body = Questa nota verrà rimossa.
activity.commit = Attività di commit
[graphs]
contributors.what = contribuzioni
@ -2839,7 +2947,7 @@ team_name_helper=I nomi dei team devono essere brevi e semplici da ricordare.
team_desc_helper=Descrivi lo scopo o il ruolo del team.
team_access_desc=Accesso al repository
team_permission_desc=Autorizzazione
team_unit_desc=Consenti l'accesso a sezioni di progetto
team_unit_desc=Consenti l'accesso alle sezioni del repositorio
team_unit_disabled=(Disabilitato)
form.create_org_not_allowed=Non disponi dell'autorizzazione per creare un organizzazione.
@ -3493,6 +3601,12 @@ config.cache_test_slow = Successo nel controllo della cache, ma la risposta è l
config.app_slogan = Slogan dell'istanza
auths.default_domain_name = Nome di dominio predefinito utilizzato per l'indirizzo e-mail
users.restricted.description = Permetti di interagire solo con i repositori e le organizzazioni in cui l'utente è aggiuntə come collaborante. Ciò evita l'accesso ai repositori pubblici di quest'istanza.
emails.deletion_success = L'indirizzo e-mail è stato eliminato.
monitor.duration = Durata (s)
emails.delete_desc = Confermare leliminazione di questo indirizzo email?
emails.delete_primary_email_error = Non puoi eliminare la e-mail primaria.
emails.delete = Elimina e-mail
users.organization_creation.description = Abilita la creazione di nuove organizzazioni.
[action]
@ -3737,6 +3851,31 @@ owner.settings.cargo.initialize.success = L'indice di Cargo è stato creato corr
owner.settings.cargo.rebuild.no_index = Impossibile ricostruire, nessun indice è inizializzato.
owner.settings.cargo.rebuild.description = La ricostruzione può essere utile se l'indice non è sincronizzato con i pacchetti Cargo conservati.
npm.dependencies.bundle = Dipendenze raggruppate
arch.version.groups = Gruppo
arch.version.conflicts = Va in conflitto con
arch.version.depends = Dipende da
arch.version.makedepends = Dipendenze di build
arch.version.checkdepends = Dipendenze di controllo
arch.version.replaces = Sostituisce
arch.version.optdepends = Dipende opzionalmente da
arch.version.backup = Backup
search_in_external_registry = Cerca in %s
arch.version.provides = Fornisce
arch.pacman.conf = Aggiungi il server con la relativa distribuzione e architettura a <code>/etc/pacman.conf</code>:
alt.setup = Aggiungi il repositorio alla lista dei repositori in rete (seleziona l'architettura necessaria al posto di "_arch_"):
container.images.title = Immagini
arch.version.properties = Proprietà della versione
alt.registry.install = Per installare il pacchetto, esegui il comando seguente:
alt.install = Installa pacchetto
alt.registry = Configura questo registro dalla riga di comando:
arch.pacman.helper.gpg = Aggiungi il certificato a pacman:
arch.pacman.repo.multi = %s ha la stessa versione in diverse distribuzioni.
arch.pacman.repo.multi.item = Configurazione per %s
arch.pacman.sync = Sincronizza il paccketto con pacman:
arch.version.description = Descrizione
alt.repository = Informazioni del repositorio
alt.repository.architectures = Architetture
alt.repository.multiple_groups = Questo pacchetto è disponibile per più gruppi.
[secrets]
secrets = Segreti
@ -3834,7 +3973,7 @@ runs.empty_commit_message = (messaggio di commit vuoto)
runs.no_runs = Il flusso di lavoro non è stato ancora eseguito.
variables.creation.success = La variabile "%s" è stata aggiunta.
variables.description = Le variabili saranno passate a determinate azioni e non possono essere lette altrimenti.
need_approval_desc = È necessaria l'approvazione per eseguire flussi di lavoro per richieste di modifica da derivazioni.
need_approval_desc = È necessaria l'approvazione per eseguire flussi di lavoro per richieste di modifica da biforcazioni.
runs.no_workflows.documentation = Per ulteriori informazioni sulle Forgejo Actions vedi <a target="_blank" rel="noopener noreferrer" href="%s">la documentazione</a>.
runs.no_workflows.quick_start = Non sai come iniziare con le Forgejo Actions? Vedi <a target="_blank" rel="noopener noreferrer" href="%s">la guida rapida</a>.
runners.delete_runner_notice = Se un'attività è in esecuzione su questo esecutore sarà terminata ed etichettata fallito. Potrebbe rompere flussi di lavoro di costruzione.
@ -3848,6 +3987,8 @@ workflow.dispatch.invalid_input_type = Tipo ingresso "%s" non valido.
workflow.dispatch.warn_input_limit = Visualizzati solo i primi %d ingressi.
runs.no_job = Il flusso di lavoro deve contenere almeno un incarico
workflow.dispatch.use_from = Usa flusso di lavoro da
variables.not_found = Non è stato possibile trovare la variabile.
runs.expire_log_message = I log sono stati eliminati in quanto troppo vecchi.
@ -3856,6 +3997,7 @@ workflow.dispatch.use_from = Usa flusso di lavoro da
type-3.display_name = Progetto dell'organizzazione
type-1.display_name = Progetto individuale
type-2.display_name = Progetto
deleted.display_name = Progetto eliminato
[git.filemode]
symbolic_link=Link Simbolico
@ -3872,30 +4014,31 @@ type_tooltip = Tipo ricerca
search = Cerca…
fuzzy = Approssimativa
match = Precisa
org_kind = Cerca organizzazioni...
package_kind = Ricerca pacchetti...
org_kind = Cerca organizzazioni
package_kind = Ricerca pacchetti
code_search_unavailable = La ricerca del codice non è attualmente disponibile. Contatta l'amministratorə del sito.
code_kind = Cerca nel codice...
team_kind = Cerca team...
code_kind = Cerca nel codice
team_kind = Cerca team
code_search_by_git_grep = I risultati della ricerca del codice sono forniti da "git grep". Potrebbero esserci risultati migliori se l'amministratore del sito avesse abilitato l'indicizzatore del codice.
project_kind = Ricerca progetti...
commit_kind = Ricerca commit...
branch_kind = Ricerca rami...
project_kind = Ricerca progetti
commit_kind = Ricerca commit
branch_kind = Ricerca rami
no_results = Non è stato trovato alcun risultato.
keyword_search_unavailable = La ricerca per parole chiave non è attualmente disponibile. Contatta l'amministratore del sito.
runner_kind = Ricerca esecutori...
runner_kind = Ricerca esecutori
match_tooltip = Includi solo risultati che corrispondono precisamente al termine di ricerca
fuzzy_tooltip = Includi anche risultati che corrispondono approssimativamente al termine di ricerca
user_kind = Cerca utenti...
repo_kind = Cerca repo...
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 = Cerca richieste...
issue_kind = Cerca segnalazioni
pull_kind = Cerca richieste
exact = Esatto
milestone_kind = Ricerca tappe...
regexp_tooltip = Interpreta i termini di ricerca come un'espressione regolare
regexp = Espressione Regolare
union_tooltip = Include i risultati che combaciano con una qualsiasi delle parole chiave separata da spazi
union = Parole chiavi
[munits.data]
gib = GiB
@ -3914,4 +4057,16 @@ filepreview.line = Linea %[1]d in %[2]s
[repo.permissions]
issues.write = <b>Scrittura:</b> Chiudere segnalazioni e gestire metadati come etichette, traguardi, assegnatarɜ, scadenze e dipendenze.
pulls.write = <b>Scrittura:</b> Chiudere richieste di modifica e gestire metadati come etichette, traguardi, assegnatarɜ, scadenze e dipendenze.
pulls.write = <b>Scrittura:</b> Chiudere richieste di modifica e gestire metadati come etichette, traguardi, assegnatarɜ, scadenze e dipendenze.
releases.write = <b>Scrittura:</b> Può pubblicare, modificare ed eliminare rilasci e le risorse ad essi allegate.
code.write = <b>Scrittura:</b> Può aggiungere commit al repositorio, creare rami ed etichette.
wiki.read = <b>Lettura:</b> Può leggere la wiki integrata e la sua cronologia.
releases.read = <b>Lettura:</b> Può visualizzare e scaricare i rilasci.
projects.read = <b>Lettura:</b> Può accedere alle board di progetto del repositorio.
code.read = <b>Lettura:</b> Può accedere e clonare il codice del repositorio.
wiki.write = <b>Scrittura:</b> Può creare, aggiornare ed eliminare pagine nella wiki integrata.
issues.read = <b>Lettura:</b> Può leggere e creare segnalazioni e commenti.
pulls.read = <b>Lettura:</b> Può leggere e creare richieste di modifica.
[translation_meta]
test = daje Roma

View file

@ -250,7 +250,7 @@ err_empty_db_path=SQLite3のデータベースパスを空にすることはで
no_admin_and_disable_registration=管理者アカウントを作成せずに、セルフ登録を無効にすることはできません。
err_empty_admin_password=管理者パスワードは空にできません。
err_empty_admin_email=管理者のメールアドレスは空にできません。
err_admin_name_is_reserved=管理者のユーザー名が不正です。予約済みのユーザー名です
err_admin_name_is_reserved=管理者のユーザー名が不正です。予約済みのユーザー名です
err_admin_name_pattern_not_allowed=管理者のユーザー名が不正です。 予約済みのパターンにマッチしています
err_admin_name_is_invalid=管理者のユーザー名が不正です
@ -1048,6 +1048,8 @@ keep_activity_private.description = <a href="%s">公開アクティビティ</a>
language.description = この言語はアカウントに保存され、ログイン後にデフォルトとして使用されます。
language.localization_project = Forgejo をあなたの言語に翻訳するのを手伝ってください。<a href="%s">詳細はこちら</a>。
quota = クオータ
[repo]
new_repo_helper=リポジトリには、プロジェクトのすべてのファイルとリビジョン履歴が入ります。 すでにほかの場所でホストしていますか? <a href="%s">リポジトリを移行</a> もどうぞ。
owner=オーナー
@ -1610,13 +1612,13 @@ issues.close_comment_issue=コメントしてクローズ
issues.reopen_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 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 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.closed_at=`がイシューをクローズ %s`
issues.reopened_at=`がイシューを再オープン %s`
issues.commit_ref_at=`がコミットでこのイシューを参照 %s`
issues.ref_issue_from=`<a href="%[2]s">が%[3]s、このイシューを参照</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">が%[3]s、このプルリクエストを参照</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">が%[3]s、プルリクエストがこのイシューをクローズするよう参照</a> %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">が%[3]s、プルリクエストがこのイシューを再オープンするよう参照</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">が%[4]s、このイシューをクローズ</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">が%[4]s、このイシューを再オープン</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=` %[1]s にて`
@ -1923,8 +1925,8 @@ pulls.update_branch_success=ブランチの更新が成功しました
pulls.update_not_allowed=ブランチを更新する権限がありません
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.closed_at=`がプルリクエストをクローズ %s`
pulls.reopened_at=`がプルリクエストを再オープン %s`
pulls.cmd_instruction_hint=コマンドラインの手順を表示
pulls.cmd_instruction_checkout_title=チェックアウト
pulls.cmd_instruction_checkout_desc=プロジェクトリポジトリから新しいブランチをチェックアウトし、変更内容をテストします。
@ -2721,7 +2723,7 @@ settings.wiki_rename_branch_main = wikiのブランチ名を正規化する
settings.wiki_rename_branch_main_desc = wikiによって内部的に使われているブランチ名を "%s" に変更します。これは恒久的で元に戻すことはできません。
contributors.contribution_type.additions = 追加
vendored = vendor済み
pulls.commit_ref_at = `このプルリクエストを言及するコミット <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `このプルリクエストを言及するコミット %s`
pulls.fast_forward_only_merge_pull_request = Fast-forwardのみ
admin.manage_flags = フラグ管理
admin.update_flags = フラグを更新
@ -3903,20 +3905,20 @@ submodule=サブモジュール
[search]
search = 検索...
type_tooltip = 検索タイプ
org_kind = 組織の検索...
code_kind = コードの検索...
org_kind = 組織を検索…
code_kind = コードを検索…
fuzzy = あいまい
repo_kind = リポジトリの検索...
repo_kind = リポジトリを検索…
code_search_unavailable = コード検索は現在利用できません。サイト管理者にお問い合わせください。
branch_kind = ブランチの検索...
commit_kind = コミットの検索...
user_kind = ユーザーの検索...
team_kind = チームの検索...
branch_kind = ブランチを検索…
commit_kind = コミットを検索…
user_kind = ユーザーを検索…
team_kind = チームを検索…
code_search_by_git_grep = 現在のコード検索結果は「git grep」によって提供されます。サイト管理者がコード インデクサーを有効にすると、より良い結果が得られる可能性があります。
package_kind = パッケージの検索...
project_kind = プロジェクトの検索...
package_kind = パッケージを検索…
project_kind = プロジェクトを検索…
keyword_search_unavailable = キーワードによる検索は現在ご利用いただけません。サイト管理者にお問い合わせください。
runner_kind = ランナーの検索...
runner_kind = ランナーを検索…
no_results = 一致する結果が見つかりませんでした。
fuzzy_tooltip = 入力された語句に近いものも結果に含める
match = 一致
@ -3924,8 +3926,8 @@ match_tooltip = 検索語句に厳密に一致するもののみ結果に含め
milestone_kind = マイルストーンを検索...
union_tooltip = 空白で区切られたキーワードのいずれかに一致する結果を含める
exact_tooltip = 検索語句と完全に一致する結果のみを含める
issue_kind = イシューを検索...
pull_kind = プルを検索...
issue_kind = イシューを検索
pull_kind = プルを検索
exact = 完全一致
regexp_tooltip = 検索語句を正規表現として解釈する
regexp = 正規表現

View file

@ -2,4 +2,12 @@
[common]
home = zdani
home = zdani
dashboard = jitypalna
explore = sisku
help = se sidju
logo = se'isni
sign_in = co'a nerkla
sign_in_with_provider = co'a nerka sepi'o la .%s.
sign_out = co'a cliva
sign_up = co'a gumri

View file

@ -384,7 +384,7 @@ allow_password_change=사용자에게 비밀번호 변경을 요청 (권장됨)
reset_password_mail_sent_prompt=확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 비밀번호 찾기 절차를 완료하십시오.
active_your_account=계정 활성화
account_activated=계정이 활성화 되었습니다
prohibit_login =
prohibit_login =
resent_limit_prompt=활성화를 위한 이메일을 이미 전송했습니다. 3분 내로 이메일을 받지 못한 경우 재시도해주세요.
has_unconfirmed_mail=안녕하세요 %s, 이메일 주소(<b>%s</b>)가 확인되지 않았습니다. 확인 메일을 받으시지 못하겼거나 새로운 확인 메일이 필요하다면, 아래 버튼을 클릭해 재발송하실 수 있습니다.
resend_mail=여기를 눌러 확인 메일 재전송
@ -588,8 +588,8 @@ password_change_disabled=로컬 유저가 아닌 경우 Forgejo 웹 인터페이
emails=이메일 주소
manage_emails=이메일 주소 관리
manage_themes=기본 테마 선택
manage_openid=OpenID 주소 관리
manage_themes=기본 테마
manage_openid=OpenID 주소
theme_desc=이 테마가 사이트 전체 기본 테마가 됩니다.
primary=대표
activated=활성화됨
@ -943,7 +943,7 @@ issues.close_comment_issue=클로즈 및 코멘트
issues.reopen_issue=다시 열기
issues.reopen_comment_issue=다시 오픈 및 코멘트
issues.create_comment=코멘트
issues.commit_ref_at=` 커밋 <a id="%[1]s" href="#%[1]s">%[2]s</a>에서 이 이슈 언급`
issues.commit_ref_at=` 커밋 %s에서 이 이슈 언급`
issues.role.owner=소유자
issues.role.member=멤버
issues.sign_in_require_desc=<a href="%s">로그인</a>하여 이 대화에 참여하세요.
@ -1378,7 +1378,7 @@ issues.closed_by_fake = %[2]s님이 %[1]s에 닫음
issues.new.closed_projects = 닫힌 프로젝트
pulls.merged_by_fake = %[2]s님이 %[1]s 병합함
issues.closed_by = <a href="%[2]s">%[3]s</a>님이 %[1]s에 닫음
issues.closed_at = `<a id="%[1]s" href="#%[1]s">%[2]s</a>`에 이 이슈를 닫음
issues.closed_at = `%s`에 이 이슈를 닫음
issues.filter_milestone_closed = 닫힌 마일스톤
issues.opened_by_fake = %[2]s님이 %[1]s에 열음
issues.filter_project_none = 프로젝트 없음
@ -1900,9 +1900,9 @@ runs.commit=커밋
[search]
code_search_by_git_grep = 현재 코드 검색 결과는 "git grep"에 의해 제공됩니다.관리자가 코드 인덱서를 활성화하면 더 나은 결과가 제공될 수 있습니다.
branch_kind = 브랜치 검색...
branch_kind = 브랜치 검색
keyword_search_unavailable = 지금은 키워드로 검색이 지원되지 않습니다. 사이트 관리자에게 문의하십시오.
commit_kind = 커밋 검색...
commit_kind = 커밋 검색
no_results = 일치하는 결과를 찾을 수 없습니다.
search = 검색…
type_tooltip = 검색 타입
@ -1910,11 +1910,11 @@ fuzzy_tooltip = 검색어와 밀접하게 일치하는 결과도 포함
repo_kind = 저장소 검색…
user_kind = 사용자 검색…
org_kind = 조직 검색…
team_kind = 팀 검색...
code_kind = 코드 검색...
team_kind = 팀 검색
code_kind = 코드 검색
code_search_unavailable = 코드 검색은 현재 허용되지 않았습니다. 사이트 관리자와 연락하세요.
package_kind = 패키지 검색...
project_kind = 프로젝트 검색...
package_kind = 패키지 검색
project_kind = 프로젝트 검색
exact_tooltip = 검색어와 정확하게 일치하는 결과만 포함
issue_kind = 이슈 검색…
pull_kind = 풀 검색…

View file

@ -149,24 +149,24 @@ 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...
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ų...
repo_kind = Ieškoti saugyklų
code_search_unavailable = Kodų paieška šiuo metu nepasiekiama. Kreipkis į svetainės administratorių.
org_kind = Ieškoti organizacijų...
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ų...
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ų...
issue_kind = Ieškoti problemų
branch_kind = Ieškoti šakų
milestone_kind = Ieškoti gairių...
pull_kind = Ieškoti sujungimų...
pull_kind = Ieškoti sujungimų
keyword_search_unavailable = Ieškoti pagal raktažodį šiuo metu nepasiekiamas. Susisiekite su svetainės administratoriumi.
regexp = Reguliarusis reiškinys
regexp_tooltip = Interpretuoti paieškos terminą kaip reguliariąją reiškinį

View file

@ -1577,7 +1577,7 @@ issues.remove_ref_at=`noņēma atsauci no <b>%s</b> %s`
issues.add_ref_at=`pievienoja atsauci uz <b>%s</b> %s`
issues.delete_branch_at=`izdzēsa zaru <b>%s</b> %s`
issues.filter_label=Iezīme
issues.filter_label_exclude=`Jāizmanto <code>alt</code> + <code>klikšķis/Enter</code>, lai neiekļautu iezīmes`
issues.filter_label_exclude=Jāizmanto <kbd>Alt</kbd> + <kbd>klikšķis</kbd>, lai neiekļautu iezīmes
issues.filter_label_no_select=Visas iezīmes
issues.filter_label_select_no_label=Bez iezīmes
issues.filter_milestone=Atskaites punkts
@ -1651,13 +1651,13 @@ issues.close_comment_issue=Aizvērt ar piebildi
issues.reopen_issue=Atvērt atkārtoti
issues.reopen_comment_issue=Atkārtoti atvērt ar piebildi
issues.create_comment=Pievienot piebildi
issues.closed_at=`aizvēra šo pieteikumu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`atkārtoti atvēra šo pieteikumu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`atsaucās uz šo pieteikumu iesūtījumā <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from=`<a href="%[3]s">atsaucās uz šo pieteikumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">atsaucās uz šo izmaiņu pieprasījumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[4]s, kas aizvērs to</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[4]s, kas atkārtoti atvērs to</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`aizvēra šo pieteikumu %s`
issues.reopened_at=`atkārtoti atvēra šo pieteikumu %s`
issues.commit_ref_at=`atsaucās uz šo pieteikumu iesūtījumā %s`
issues.ref_issue_from=`<a href="%[2]s">atsaucās uz šo pieteikumu %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">atsaucās uz šo izmaiņu pieprasījumu %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[3]s, kas aizvērs to</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[3]s, kas atkārtoti atvērs to</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">aizvēra pieteikumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">atkārtoti atvēra pieteikumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`no %[1]s`
@ -1964,8 +1964,8 @@ pulls.update_branch_success=Zara atjaunināšana bija sekmīga
pulls.update_not_allowed=Nav ļauts atjaunināt zaru
pulls.outdated_with_base_branch=Šis zars ir novecojis salīdzinājumā ar pamata zaru
pulls.close=Aizvērt izmaiņu pieprasījumu
pulls.closed_at=`aizvēra šo izmaiņu pieprasījumu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`atkārtoti atvēra šo izmaiņu pieprasījumu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at=`aizvēra šo izmaiņu pieprasījumu %s`
pulls.reopened_at=`atkārtoti atvēra šo izmaiņu pieprasījumu %s`
pulls.cmd_instruction_hint=Apskatīt komandrindas izmantošanas norādes
pulls.cmd_instruction_checkout_title=Paņemt
pulls.cmd_instruction_checkout_desc=Projekta glabātavā jāizveido jauns zars un jāpārbauda izmaiņas.
@ -2826,7 +2826,7 @@ issues.author.tooltip.pr = Šis lietotājs ir šī izmaiņu pieprasījuma izveid
pulls.edit.already_changed = Neizdevās saglabāt izmaiņu pieprasījuma izmaiņas. Izskatās, ka saturu jau ir mainījis kāds cits lietotājs. Lūgums atsvaidzināt lapu un mēģināt labot vēlreiz, lai izvairītos no izmaiņu pārrakstīšanas
pulls.blocked_by_user = Tu nevari izveidot izmaiņu pieprasījumu šajā glabātavā, jo tās īpašnieks ir Tevi liedzis.
issues.all_title = Visi
pulls.commit_ref_at = ` atsaucāš uz šo izmaiņu pieprasījumu iesūtījumā <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = ` atsaucās uz šo izmaiņu pieprasījumu iesūtījumā %s`
issues.num_participants_one = %d dalībnieks
pulls.title_desc_one = vēlas iekļaut %[1]d iesūtījumu no <code>%[2]s</code> <code id="%[4]s">%[3]s</code>
issues.archived_label_description = (Arhivēts) %s

View file

@ -356,7 +356,7 @@ avatar=അവതാര്‍
ssh_gpg_keys=SSH / GPG കീകള്‍
social=സോഷ്യൽ അക്കൗണ്ടുകൾ
applications=അപ്ലിക്കേഷനുകൾ
orgs=സംഘടനകളെ നിയന്ത്രിക്കുക
orgs=സംഘടനക
repos=കലവറകള്‍
delete=അക്കൗണ്ട് ഇല്ലാതാക്കുക
twofa=ഇരട്ട ഘടക പ്രാമാണീകരണം
@ -400,8 +400,8 @@ password_change_disabled=പ്രാദേശിക ഇതര ഉപയോക
emails=ഇ-മെയില്‍ വിലാസങ്ങള്‍
manage_emails=ഇമെയിൽ വിലാസങ്ങൾ നിയന്ത്രിക്കുക
manage_themes=സ്ഥിരസ്ഥിതി പ്രമേയം തിരഞ്ഞെടുക്കുക
manage_openid=ഓപ്പൺഐഡി വിലാസങ്ങൾ നിയന്ത്രിക്കുക
manage_themes=ഡിഫോൾട്ട് തീം
manage_openid=OpenID വിലാസങ്ങൾ
email_desc=അറിയിപ്പുകൾക്കും മറ്റ് പ്രവർത്തനങ്ങൾക്കുമായി നിങ്ങളുടെ പ്രാഥമിക ഇമെയിൽ വിലാസം ഉപയോഗിക്കും.
theme_desc=സൈറ്റിലുടനീളം ഇത് നിങ്ങളുടെ സ്ഥിരസ്ഥിതി പ്രമേയം ആയിരിക്കും.
primary=പ്രാഥമികം

View file

@ -60,7 +60,7 @@ rerun = Kjør på nytt
rerun_all = Kjør alle jobber på nytt
save = Lagre
cancel = Avbryt
forks = Forks
forks = Kopier
milestones = Milepæler
ok = OK
test = Test
@ -134,14 +134,44 @@ webauthn_error_timeout = Et tidsavbrudd oppsto før nøkkelen din kunne leses. V
new_fork = Ny fork av repository
collaborative = Samarbeidende
tracked_time_summary = Oppsummering av sporet tid basert på problemfiltre
pull_requests = Pull requests
issues = Saker
copy_branch = Kopier branch navn
error404 = Siden du forsøker å nå <strong>eksisterer ikke</strong>, <strong>er blitt fjernet</strong> eller <strong>du har ikke tilgang til å se den</strong>.
error413 = Du har brukt opp kvoten din.
unpin = Løsne
filter.is_fork = Forks
filter.not_fork = Ikke forks
[search]
search = Søk...
search = Søk
type_tooltip = Søketype
fuzzy = Fuzzy
union = Union
regexp = RegExp
exact = Nøyaktig
fuzzy_tooltip = Inkluder resultater som også stemmer godt overens med søketermen
union_tooltip = Inkluder resultater som samsvarer med ett eller flere av nøkkelordene adskilt med mellomrom
exact_tooltip = Inkluder kun resultater som samsvarer nøyaktig med søkeordet
regexp_tooltip = Tolk søkeordet som et regulæruttrykk
repo_kind = Søk i repositorer…
user_kind = Søk i brukere…
org_kind = Søk i organisasjoner…
team_kind = Søk i teams…
code_kind = Søk i kode…
code_search_unavailable = Kodesøk er ikke tilgjengelig. Kontakt administratoren.
package_kind = Søk i pakker…
project_kind = Søk i prosjekter…
branch_kind = Søk i brancher…
commit_kind = Søk i commits…
runner_kind = Søk i runners…
no_results = Ingen treff funnet.
issue_kind = Søk i saker…
pull_kind = Søk i pulls…
keyword_search_unavailable = Søk etter nøkkelord er for øyeblikket ikke tilgjengelig. Kontakt administratoren.
[auth]
verify = Bekreft
sign_up_button = Opprett konto nå.
@ -152,4 +182,88 @@ oauth_signup_title = Fullfør ny konto
oauth_signup_submit = Fullfør konto
[home]
uname_holder = Brukernavn eller e-postadresse
uname_holder = Brukernavn eller e-postadresse
[aria]
navbar = Navigasjonslinje
footer = Bunntekst
footer.software = Om dette programmet
footer.links = Linker
[heatmap]
number_of_contributions_in_the_last_12_months = %s bidrag de siste 12 månedene
contributions_zero = Ingen bidrag
contributions_format = {contributions} den {day} {month} {year}
contributions_one = bidrag
contributions_few = bidrag
less = Mindre
more = Mer
[editor]
buttons.heading.tooltip = Legg til overskrift
buttons.bold.tooltip = Legg til uthevet tekst
buttons.italic.tooltip = Legg til kursiv text
buttons.quote.tooltip = Siter tekst
buttons.code.tooltip = Legg til kode
buttons.link.tooltip = Legg til link
buttons.list.unordered.tooltip = Legg til punktliste
buttons.list.ordered.tooltip = Legg til nummerert liste
buttons.list.task.tooltip = Legg til liste over saker
buttons.mention.tooltip = Nevn en bruker eller team
buttons.ref.tooltip = Referanse til en sak eller pull request
buttons.switch_to_legacy.tooltip = Bruk den gamle editoren istedenfor
buttons.enable_monospace_font = Aktiver monospace font
buttons.disable_monospace_font = Deaktiver monospace font
buttons.indent.tooltip = Grupper elementene med et nivå
buttons.unindent.tooltip = Pakk ut elementene med et nivå
buttons.new_table.tooltip = Legg til tabell
table_modal.header = Legg til tabell
table_modal.placeholder.header = Overskrift
table_modal.placeholder.content = Innhold
table_modal.label.rows = Rader
table_modal.label.columns = Kolonner
link_modal.header = Legg til en link
link_modal.url = Url
link_modal.description = Beskrivelse
link_modal.paste_reminder = Tips: Når du har en URL i utklippstavlen kan du lime den direkte inn i editoren for å lage en lenke.
[filter]
string.asc = A - Z
string.desc = Z - A
[error]
occurred = En feil oppstod
report_message = Hvis du mener dette er en feil i Forgejo kan du søke på <a href="%s" target="_blank">Codeberg</a> eller åpne en ny sak.
not_found = Kunne ikke finne målet.
network_error = Nettverks feil
server_internal = Intern server feil
[startpage]
app_desc = En enkel Git-tjeneste du kan drifte selv
install = Enkel å installere
install_desc = Du kan enkelt <a target="_blank" rel="noopener noreferrer" href="%[1]s">kjøre programfilen</a> for din platform, bruke <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, eller hente den som en <a target="_blank" rel="noopener noreferrer" href="%[3]s">ferdig pakke</a>.
platform = Plattformuavhengig
platform_desc = Forgejo fungerer på frie operativsystemer som Linux og FreeBSD, og støtter flere CPU-arkitekturer. Velg den plattformen du foretrekker!
lightweight = Lettvekt
lightweight_desc = Forgejo krever lite ressurser og kan kjøres på en rimelig Raspberry Pi. Spar strøm og miljøet!
license = Åpen kildekode
license_desc = Last ned <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>! Bli med ved å <a target="_blank" rel="noopener noreferrer" href="%[2]s">bidra</a> for å gjøre prosjektet enda bedre. Ikke vær redd for å bli en bidragsyter!
[install]
install = Installasjon
title = Førstegangsoppsett
docker_helper = Dersom du bruker Forgejo med Docker, anbefales det å lese <a target="_blank" rel="noopener noreferrer" href="%s">dokumentasjonen</a> før du gjør endringer i konfigurasjonen.
require_db_desc = Forgejo krever MySQL, PostgreSQL, SQLite3 eller TiDB (MySQL protokoll).
db_title = Database innstillinger
db_type = Database type
host = Server
user = Brukernavn
password = Passord
db_name = Database navn
db_schema = Skjema
db_schema_helper = La stå tomt for databasens standardverdi ("public").
ssl_mode = SSL
path = Sti
sqlite_helper = Sti til SQLite3-databasen.<br>Bruk absolutt filsti dersom Forgejo kjøres som en tjeneste.
reinstall_error = Du prøver å installere i en eksisterende Forgejo-database
reinstall_confirm_message = Å installere på nytt med en eksisterende Forgejo-database kan føre til problemer. I de fleste tilfeller bør du bruke din eksisterende "app.ini" for å kjøre Forgejo. Hvis du vet hva du gjør, og vil fortsette, bekreft følgende:

View file

@ -568,7 +568,7 @@ organization = Vereenigungen
uid = UID
webauthn = Twee-Faktooren-Anmellen (Sekerheids-Slötels)
blocked_users = Blockeert Brukers
public_profile = Publikes Profil
public_profile = Publikes profil
location_placeholder = Deel waar du umslags büst mit Annerns
pronouns = Pronomens
pronouns_custom = Eegene
@ -1347,7 +1347,7 @@ issues.change_title_at = `hett %[3]s de Titel vun <b><strike>%[1]s</strike></b>
issues.change_ref_at = `hett %[3]s de Nömen vun <b><strike>%[1]s</strike></b> to <b>%[2]s</b> ännert`
issues.delete_branch_at = `hett %[2]s de Twieg <b>%[1]s</b> lösket`
issues.filter_label = Vermark
issues.filter_label_exclude = `Bruuk <code>Alt</code>+<code>Klick/Enter</code>, um Vermarkens uttosluten`
issues.filter_label_exclude = Bruuk <kbd>Alt</kbd> + <kbd>Klick</kbd>, um Vermarkens uttosluten
issues.filter_label_no_select = All Vermarkens
issues.filter_label_select_no_label = Keen Vermark
issues.filter_milestone = Marksteen
@ -1434,12 +1434,12 @@ issues.comment_pull_merged_at = hett Kommitteren %[1]s in %[2]s %[3]s tosamenfö
issues.close_comment_issue = Mit Kommentaar dichtmaken
issues.reopen_comment_issue = Mit Kommentaar weer opmaken
issues.create_comment = Kommenteren
issues.reopened_at = `hett deeses Gefall <a id="%[1]s" href="#%[1]s">%[2]s</a> weer opmaakt`
issues.reopened_at = `hett deeses Gefall %s weer opmaakt`
issues.comment_manually_pull_merged_at = hett Kommitteren %[1]s in %[2]s %[3]s vun Hand tosamenföhrt
issues.reopen_issue = Weer opmaken
issues.closed_at = `hett deeses Gefall <a id="%[1]s" href="#%[1]s">%[2]s</a> dichtmaakt`
issues.commit_ref_at = `hett deeses Gefall <a id="%[1]s" href="#%[1]s">%[2]s</a> vun eenem Kommitteren benöömt`
issues.ref_closing_from = `<a href="%[3]s">hett deeses Gefall</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s"> vun eenem Haalvörslag, wat t %[4]s dichtmaken word, benöömt</a>`
issues.closed_at = `hett deeses Gefall %s dichtmaakt`
issues.commit_ref_at = `hett deeses Gefall %s vun eenem Kommitteren benöömt`
issues.ref_closing_from = `<a href="%[2]s">hett deeses Gefall</a> %[1]s <a href="%[2]s"> vun eenem Haalvörslag, wat t %[3]s dichtmaken word, benöömt</a>`
issues.ref_closed_from = `<a href="%[3]s">hett deeses Gefall %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">dichtmaakt</a>`
issues.ref_reopened_from = `<a href="%[3]s">hett deeses Gefall %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">weer opmaakt</a>`
issues.ref_from = `vun %[1]s`
@ -1477,12 +1477,12 @@ issues.label.filter_sort.reverse_alphabetically = Umdreiht na de Alphabeet
issues.label.filter_sort.by_size = Lüttste Grött
issues.num_participants_one = %d Mitmaker
issues.num_participants_few = %d Mitmakers
issues.ref_pull_from = `<a href="%[3]s">hett deesen Haalvörslag %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">benöömt</a>`
issues.ref_pull_from = `<a href="%[2]s">hett deesen Haalvörslag %[3]s</a> %[1]s <a href="%[2]s">benöömt</a>`
issues.label_title = Naam
issues.label_archived_filter = Archiveert Vermarkens wiesen
issues.archived_label_description = (Archiveert) %s
issues.ref_issue_from = `<a href="%[3]s">hett deeses Gefall %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">benöömt</a>`
issues.ref_reopening_from = `<a href="%[3]s">hett deeses Gefall vun eenem Haalvörslag, wat t %[4]s weer opmaken word,</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">benöömt</a>`
issues.ref_issue_from = `<a href="%[2]s">hett deeses Gefall %[3]s</a> %[1]s benöömt`
issues.ref_reopening_from = `<a href="%[2]s">hett deeses Gefall vun eenem Haalvörslag, wat t %[3]s weer opmaken word,</a> %[1]s <a href="%[2]s">benöömt</a>`
issues.author.tooltip.issue = Deeser Bruker is de Autor vun deesem Gefall.
issues.role.member_helper = Deeser Bruker is een Liddmaat vun de Vereenigung, wat de Eegner vun deesem Repositorium is.
issues.role.collaborator_helper = Deeser Bruuker is inladen worden, in deesem Repositorium mittoarbeiden.
@ -1552,7 +1552,7 @@ issues.dependency.pr_close_blocks = Deeser Haalvörslag blockeert dat Dichtmaken
issues.dependency.issue_batch_close_blocked = Kann de utköört Gefallens nich all tosamen dichtmaken, denn Gefall #%d hett noch open Ofhangens
issues.dependency.pr_close_blocked = Du muttst all Gefallens, wat deesen Haalvörslag blockeren, dichtmaken, ehr du dat hier tosamenföhren kannst.
issues.dependency.blocks_short = Blockeert
issues.dependency.blocked_by_short = Hang of vun
issues.dependency.blocked_by_short = Hangt of vun
issues.dependency.remove_header = Ofhangen wegdoon
issues.dependency.setting = Ofhangens för Gefallens un Haalvörslagen anknipsen
issues.dependency.add_error_same_issue = Du kannst een Gefall nich vun sik sülvst ofhangen laten.
@ -1740,8 +1740,8 @@ pulls.status_checks_show_all = All Överprüfens wiesen
pulls.update_branch_rebase = Twieg mit Umbaseren vernejen
pulls.outdated_with_base_branch = De Twieg is tegen de Grund-Twieg verollt
pulls.close = Haalvörslag dichtmaken
pulls.closed_at = `hett deesen Haalvörslag <a id="%[1]s" href="#%[1]s">%[2]s</a> dichtmaakt`
pulls.reopened_at = `hett deesen Haalvörslag <a id="%[1]s" href="#%[1]s">%[2]s</a> weer opmaakt`
pulls.closed_at = `hett deesen Haalvörslag %s dichtmaakt`
pulls.reopened_at = `hett deesen Haalvörslag %s weer opmaakt`
pulls.cmd_instruction_hint = Wies Oorderreeg-Instruksjes
pulls.cmd_instruction_checkout_title = Utchecken
pulls.cmd_instruction_merge_title = Tosamenföhren
@ -1771,7 +1771,7 @@ milestones.deletion = Marksteen lösken
pulls.has_merged = Fehlslagen: De Haalvörslag is tosamenföhrt worden, du kannst nich noch eenmaal tosamenföhren of de Enn-Twieg ännern.
pulls.unrelated_histories = Tosamenföhren fehlslagen: De Tosamenföhrens-Kopp un -Grund hebben keene gemeensame Histoorje. Wenk: Versöök eene anner Tosamenföhrens-Aard
pulls.update_not_allowed = Du düürst deesen Twieg nich vernejen
pulls.commit_ref_at = `hett deesen Haalvörslag <a id="%[1]s" href="#%[1]s">%[2]s</a> vun eenem Kommitteren benöömt`
pulls.commit_ref_at = `hett deesen Haalvörslag %s vun eenem Kommitteren benöömt`
pulls.auto_merge_newly_scheduled = De Haalvörslag weer sett, sik tosamentoföhren, wenn all Överprüfens kumpleet sünd.
milestones.clear = Leeg maken
pulls.push_rejected_no_message = Schuven fehlslagen: Dat Schuven is sünner feerne Naricht oflehnt worden. Bidde överprüüf de Git-Hakens för deeses Repositorium

View file

@ -559,7 +559,7 @@ team_invite.text_2 = Klik alstublieft op de volgende link om aan het team deel t
admin.new_user.text = <a href="%s">Klik hier</a> om deze gebruiker te beheren vanuit het beheerderspaneel.
password_change.subject = Uw wachtwoord is gewijzigd
password_change.text_1 = Het wachtwoord voor je account is zojuist gewijzigd.
reset_password.text_1 =
reset_password.text_1 =
totp_disabled.subject = TOTP is uitgeschakeld
primary_mail_change.subject = Uw primaire e-mail is gewijzigd
totp_disabled.no_2fa = Er zijn geen andere 2FA methodes meer geconfigureerd, wat betekent dat het niet langer nodig is om in te loggen op uw account met 2FA.
@ -1495,7 +1495,7 @@ issues.remove_ref_at=`heeft referentie <b>%s</b> verwijderd %s`
issues.add_ref_at=`heeft referentie <b>%s</b> toegevoegd %s`
issues.delete_branch_at=`heeft %[2]s de branch <b>%[1]s</b> verwijderd.`
issues.filter_label=Label
issues.filter_label_exclude=Gebruik <code>alt</code> + <code>klik/voer</code> in om labels uit te sluiten
issues.filter_label_exclude=Gebruik <kbd>alt</kbd> + <kbd>klik</kbd> om labels uit te sluiten
issues.filter_label_no_select=Alle labels
issues.filter_milestone=Mijlpaal
issues.filter_project=Project
@ -1554,13 +1554,13 @@ issues.close_comment_issue=Sluit met commentaar
issues.reopen_issue=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>`
issues.commit_ref_at=`verwees naar dit probleem vanuit commit <a id="%[1]s" href="#%[1]s"> %[2]s'</a>`
issues.ref_issue_from=`<a href="%[3]s">refereerde aan dit issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">refereerde aan deze pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">verwees naar deze issue van een pull request %[4]s dat het zal sluiten</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">verwees naar een pull request %[4]s dat dit issue heropent</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> `
issues.closed_at=`heeft deze issue gesloten %s`
issues.reopened_at=`heropende deze issue %s`
issues.commit_ref_at=`verwees naar dit probleem vanuit commit %s`
issues.ref_issue_from=`<a href="%[2]s">refereerde aan dit issue %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">refereerde aan deze pull request %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">verwees naar deze issue van een pull request %[3]s dat het zal sluiten</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">verwees naar een pull request %[3]s dat dit issue heropent</a> %[1]s `
issues.ref_closed_from=`<a href="%[3]s">sloot dit issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">heropende dit issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`van %[1]s`
@ -1815,8 +1815,8 @@ pulls.update_branch_rebase=Update branch via herbaseren
pulls.update_branch_success=Branch update is geslaagd
pulls.update_not_allowed=Je hebt geen toestemming om branch bij te werken
pulls.outdated_with_base_branch=Deze branch is verouderd met de basis branch
pulls.closed_at=`heeft deze pull request gesloten <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`heropende deze pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at=`heeft deze pull request gesloten %s`
pulls.reopened_at=`heropende deze pull request %s`
pulls.auto_merge_button_when_succeed=(Bij geslaagde controles)
pulls.auto_merge_when_succeed=Automatisch samenvoegen wanneer alle controles gelukt zijn
@ -2627,7 +2627,7 @@ projects.column.set_default_desc = Stel deze kolom in als standaard voor ongecat
issues.action_check = Aanvinken/uitvinken
issues.dependency.issue_batch_close_blocked = Het is niet mogelijk om de issues die u gekozen heeft in bulk te sluiten, omdat issue #%d nog open afhankelijkheden heeft
pulls.review_only_possible_for_full_diff = Beoordeling is alleen mogelijk bij het bekijken van de volledige diff
pulls.commit_ref_at = `heeft naar deze pull request verwezen vanuit een commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `heeft naar deze pull request verwezen vanuit een commit %s`
pulls.cmd_instruction_hint = Bekijk opdrachtregelinstructies
pulls.cmd_instruction_checkout_desc = Vanuit uw project repository, schakel over naar een nieuwe branch en test de veranderingen.
pulls.showing_specified_commit_range = Alleen veranderingen weergeven tussen %[1]s..%[2]s
@ -2915,6 +2915,15 @@ sync_fork.branch_behind_few = Deze branch is %[1]d commits achter %[2]s
issues.filter_type.all_pull_requests = Alle pull requests
settings.event_header_action = Actie run evenementen
settings.event_action_failure = Mislukking
settings.event_action_failure_desc = Action run is mislukt.
settings.event_action_recover = Herstel
settings.event_action_recover_desc = Action run is geslaagd nadat de laatste action run in dezelfde workflow is mislukt.
settings.event_action_success = Succes
settings.event_action_success_desc = Action run is geslaagd.
[graphs]
component_loading_info = Dit kan even duren…
component_failed_to_load = Er is een onverwachte fout opgetreden.

View file

@ -1043,8 +1043,8 @@ language.title = Domyślny język
language.localization_project = Pomóż nam przetłumaczyć Forgejo na twój język! <a href="%s">Dowiedz się więcej</a>.
update_hints = Zaktualizuj wskazówki
update_hints_success = Wskazówki zostały zaktualizowane.
change_username_redirect_prompt.with_cooldown.one = Stara nazwa użytkownika będzie dostępna dla każdego po okresie ochronnym wynoszącym %[1]d dzień, nadal możesz uzyskać z powrotem starą nazwę użytkownika podczas okresu ochronnego.
change_username_redirect_prompt.with_cooldown.few = Stara nazwa użytkownika będzie dostępna dla każdego po okresie ochronnym wynoszącym %[1]d dni, nadal możesz uzyskać z powrotem starą nazwę użytkownika podczas okresu ochronnego.
change_username_redirect_prompt.with_cooldown.one = Stara nazwa użytkownika będzie dostępna dla każdego po okresie ochronnym wynoszącym %[1]d dzień. Nadal możesz uzyskać z powrotem starą nazwę użytkownika podczas okresu ochronnego.
change_username_redirect_prompt.with_cooldown.few = Stara nazwa użytkownika będzie dostępna dla każdego po okresie ochronnym wynoszącym %[1]d dni. Nadal możesz uzyskać z powrotem starą nazwę użytkownika podczas okresu ochronnego.
language.description = Ten język zostanie zapisany na twoim koncie i będzie używany jako domyślny po zalogowaniu.
hidden_comment_types_description = Rodzaje komentarzy zaznaczone tutaj nie będą wyświetlały się na stronach zgłoszeń. Zaznaczenie "Etykieta" na przykład usunie wszystkie komentarze "<użytkownik> dodał/usunął <etykieta>".
principal_desc = Te podmioty certyfikatu SSH będą powiązane z twoim kontem i pozwolą na pełen dostęp do twoich repozytoriów.
@ -1460,13 +1460,13 @@ issues.close_comment_issue=Zamknij z komentarzem
issues.reopen_issue=Otwórz ponownie
issues.reopen_comment_issue=Otwórz ponownie z komentarzem
issues.create_comment=Skomentuj
issues.closed_at=`zamknął(-ęła) to zgłoszenie <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`otworzył(-a) ponownie to zgłoszenie <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`wspomniał(-a) to zgłoszenie z commita <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from=`<a href="%[3]s">odwołał(-a) się do tego zgłoszenia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">odwołał(-a) się do tego Pull Requesta %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">odwołał(-a) się do pull requesta %[4]s, który zamknie to zgłoszenie</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">odwołał(-a) się z pull requesta %[4]s, który otworzy na nowo to zgłoszenie</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`zamknął(-ęła) to zgłoszenie %s`
issues.reopened_at=`otworzył(-a) ponownie to zgłoszenie %s`
issues.commit_ref_at=`wspomniał(-a) to zgłoszenie z commita %s`
issues.ref_issue_from=`<a href="%[2]s">odwołał(-a) się do tego zgłoszenia %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">odwołał(-a) się do tego Pull Requesta %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">odwołał(-a) się do pull requesta %[3]s, który zamknie to zgłoszenie</a> %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">odwołał(-a) się z pull requesta %[3]s, który otworzy na nowo to zgłoszenie</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">zamknął(-ęła) to zgłoszenie %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">ponownie otworzył(-a) to zgłoszenie %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`z %[1]s`
@ -1679,8 +1679,8 @@ pulls.update_branch_rebase=Aktualizuj branch przez rebase
pulls.update_branch_success=Aktualizacja gałęzi powiodła się
pulls.update_not_allowed=Nie masz uprawnień do aktualizacji gałęzi
pulls.outdated_with_base_branch=Ta gałąź jest przestarzała w stosunku do gałęzi bazowej
pulls.closed_at=`zamknął(-ęła) ten pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`otworzył(-a) ponownie ten Pull Request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at=`zamknął(-ęła) ten pull request %s`
pulls.reopened_at=`otworzył(-a) ponownie ten Pull Request %s`
@ -2643,7 +2643,7 @@ pulls.closed = Pull request zamknięty
pulls.blocked_by_outdated_branch = Ten pull request jest zablokowany ponieważ jest przedawniony.
pulls.blocked_by_changed_protected_files_1 = Ten pull request jest zablokowany ponieważ wprowadza zmiany do chronionego pliku:
pulls.push_rejected_no_message = Wypchnięcie nie powiodło się: Wypchnięcie zostało odrzucone, ale nie otrzymano zdalnej wiadomości. Sprawdź hooki Git dla tego repozytorium.=
pulls.commit_ref_at = `odniósł się do tego pull requesta z commita <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `odniósł się do tego pull requesta z commita %s`
pulls.cmd_instruction_checkout_desc = Ze swojego repozytorium projektu, utwórz nową gałąź i przetestuj zmiany.
pulls.clear_merge_message_hint = Wyczyszczenie wiadomości scalenia usunie tylko treść wiadomości commitu pozostawiając wygenerowane przez git dopiski takie jak "Co-Authored-By ...".
pulls.delete_after_merge.head_branch.insufficient_branch = Nie masz uprawnień by usunąć head gałęzi.
@ -3951,29 +3951,29 @@ normal_file = Zwykły plik
search = Wyszukaj...
type_tooltip = Typ wyszukiwania
fuzzy = Przybliżone
package_kind = Wyszukaj pakiety...
package_kind = Wyszukaj pakiety
fuzzy_tooltip = Uwzględnij wyniki, które są bliskie wyszukiwanemu hasłu
match = Dopasuj
match_tooltip = Uwzględniaj tylko wyniki pasujące do wyszukiwanego hasła
repo_kind = Wyszukaj repozytoria...
user_kind = Wyszukaj użytkownilków...
repo_kind = Wyszukaj repozytoria
user_kind = Wyszukaj użytkownilków
code_search_unavailable = Wyszukiwanie kodu jest obecnie niedostępne. Skontakuj sie z administratorem strony.
no_results = Nie znaleziono pasujących wyników.
org_kind = Wyszukaj organizacje...
team_kind = Wyszukaj zespoły...
code_kind = Wyszukaj kod...
org_kind = Wyszukaj organizacje
team_kind = Wyszukaj zespoły
code_kind = Wyszukaj kod
code_search_by_git_grep = Obecne wyniki wyszukiwania kodu są dostarczane przez "git grep". Wyniki mogą być lepsze, jeśli administrator witryny włączy indeksator kodu.
project_kind = Wyszukaj projekty...
branch_kind = Wyszukaj gałęzie...
commit_kind = Wyszukaj commity...
runner_kind = Wyszukaj runnery...
project_kind = Wyszukaj projekty
branch_kind = Wyszukaj gałęzie
commit_kind = Wyszukaj commity
runner_kind = Wyszukaj runnery
keyword_search_unavailable = Wyszukiwanie według słów kluczowych jest obecnie niedostępne. Skontaktuj się z administratorem strony.
milestone_kind = Wyszukaj kamienie milowe...
union_tooltip = Uwzględnia wyniki pasujące do dowolnego słowa kluczowego rozdzielonego białymi znakami
exact = Dokładne
exact_tooltip = Uwzględniaj tylko wyniki pasujące do wyszukiwanego hasła
issue_kind = Wyszukaj zgłoszenia...
pull_kind = Wyszukaj pull requesty...
issue_kind = Wyszukaj zgłoszenia
pull_kind = Wyszukaj pull requesty
union = Unia
regexp = RegExp
regexp_tooltip = Interpretuj wyszukiwane hasło jako wyrażenie regularne

View file

@ -1063,8 +1063,8 @@ language.localization_project = Ajude-nos a traduzir Forgejo para o seu idioma!
language.description = Essa língua será salva em sua conta e será usada como padrão após você iniciar a sessão.
user_block_yourself = Você não pode se bloquear.
pronouns_custom_label = Pronomes personalizados
change_username_redirect_prompt.with_cooldown.one = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de espera de %[1]d dia, você ainda pode recuperar o nome de usuário antigo durante este período de espera.
change_username_redirect_prompt.with_cooldown.few = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de espera de %[1]d dias, você ainda pode recuperar o nome de usuário antigo durante este período de espera.
change_username_redirect_prompt.with_cooldown.one = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia. Você ainda pode recuperar o nome de usuário antigo durante este período de proteção.
change_username_redirect_prompt.with_cooldown.few = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dias. Você ainda pode recuperar o nome de usuário antigo durante este período de proteção.
quota.applies_to_user = As seguintes regras de cota se aplicam à sua conta
quota.rule.exceeded.helper = O tamanho total de objetos para esta regra excedeu a cota.
keep_pronouns_private = Mostrar pronomes apenas para usuários autenticados
@ -1278,7 +1278,7 @@ star_guest_user=Entre para adicionar este repositório aos favoritos.
unwatch=Deixar de observar
watch=Observar
unstar=Retirar dos favoritos
star=Juntar aos favoritos
star=Adicionar aos favoritos
fork=Fork
download_archive=Baixar repositório
more_operations=Mais operações
@ -1568,7 +1568,7 @@ issues.remove_ref_at=`removeu a referência <b>%s</b> %s`
issues.add_ref_at=`adicionou a referência <b>%s</b> %s`
issues.delete_branch_at=`excluiu branch <b>%s</b> %s`
issues.filter_label=Etiqueta
issues.filter_label_exclude=`Use <code>alt</code> + <code>clique/enter</code> para excluir etiquetas`
issues.filter_label_exclude=Use <kbd>Alt</kbd> + <kbd>Clique</kbd> para excluir etiquetas
issues.filter_label_no_select=Todas as etiquetas
issues.filter_label_select_no_label=Sem etiqueta
issues.filter_milestone=Marco
@ -1642,13 +1642,13 @@ issues.close_comment_issue=Comentar e fechar
issues.reopen_issue=Reabrir
issues.reopen_comment_issue=Comentar e reabrir
issues.create_comment=Comentar
issues.closed_at=`fechou esta issue <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`reabriu esta issue <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`citou esta issue em um commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from=`<a href="%[3]s">referenciado esta issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">referenciado este pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">referenciado esta issue de um pull request %[4]s que a fechará</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">referenciado esta issue de um pull request %[4]s que a reabrirá</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`fechou esta issue %s`
issues.reopened_at=`reabriu esta issue %s`
issues.commit_ref_at=`citou esta issue de um commit %s`
issues.ref_issue_from=`<a href="%[2]s">citou esta issue %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">citou este pull request %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">citou esta issue de um pull request %[3]s que a fechará</a> %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">citou esta issue de um pull request %[3]s que a reabrirá</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">fechou esta issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">reabriu esta issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`de %[1]s`
@ -1934,7 +1934,7 @@ pulls.status_checks_success=Todas as verificações foram bem sucedidas
pulls.status_checks_warning=Algumas verificações reportaram avisos
pulls.status_checks_failure=Algumas verificações falharam
pulls.status_checks_error=Algumas verificações reportaram erros
pulls.status_checks_requested=Obrigatário
pulls.status_checks_requested=Obrigatório
pulls.status_checks_details=Detalhes
pulls.update_branch=Atualizar branch por merge
pulls.update_branch_rebase=Atualizar branch por rebase
@ -1942,8 +1942,8 @@ pulls.update_branch_success=Atualização do branch foi bem-sucedida
pulls.update_not_allowed=Você não tem permissão para atualizar o branch
pulls.outdated_with_base_branch=Este branch está desatualizado com o branch base
pulls.close=Fechar pull request
pulls.closed_at=`fechou este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`reabriu este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at=`fechou este pull request %s`
pulls.reopened_at=`reabriu este pull request %s`
pulls.clear_merge_message=Limpar mensagem do merge
pulls.clear_merge_message_hint=Limpar a mensagem de merge só irá remover o conteúdo da mensagem de commit e manter trailers git gerados, como "Co-Authored-By …".
@ -2719,7 +2719,7 @@ issues.label_archive_tooltip = Etiquetas arquivadas não serão exibidas nas sug
activity.navbar.pulse = Recente
settings.units.overview = Geral
settings.units.add_more = Habilitar mais
pulls.commit_ref_at = `referenciou este pedido de mesclagem no commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `citou este pull request de um commit %s`
pulls.cmd_instruction_merge_title = Mesclar
settings.units.units = Unidades
vendored = Externo
@ -2803,7 +2803,7 @@ mirror_use_ssh.helper = Forgejo irá espelhar o repositório via Git através de
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.
mirror_use_ssh.not_available = A autenticação via 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.
@ -2817,7 +2817,7 @@ 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.
subscribe.pull.guest.tooltip = Inicie a sessão 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.
@ -2920,6 +2920,7 @@ settings.event_action_recover = Recuperar
settings.event_action_recover_desc = A execução da Action teve sucesso após a última execução no mesmo workflow ter falhado.
settings.event_action_success = Sucesso
settings.event_action_success_desc = A execução da Action foi bem sucedida.
issues.filter_type.all_pull_requests = Todos os pull requests
[graphs]
component_loading = Carregando %s…
@ -3056,8 +3057,8 @@ open_dashboard = Abrir painel
settings.change_orgname_prompt = Obs.: Alterar o nome de uma organização resultará na alteração do URL dela e disponibilizará o nome antigo para uso.
follow_blocked_user = Não foi possível seguir esta organização porque ela bloqueou-o(a).
form.name_pattern_not_allowed = O padrão "%s" não é permitido no nome de uma organização.
settings.change_orgname_redirect_prompt.with_cooldown.one = O nome de organização antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia, você ainda pode recuperar o nome antigo durante este período de proteção.
settings.change_orgname_redirect_prompt.with_cooldown.few = O nome de organização antigo ficará disponível para qualquer pessoa após um período de espera de %[1]d dia, você ainda pode recuperar o nome antigo durante este período de espera.
settings.change_orgname_redirect_prompt.with_cooldown.one = O nome de organização antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia. Você ainda pode recuperar o nome antigo durante este período de proteção.
settings.change_orgname_redirect_prompt.with_cooldown.few = O nome de organização antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia. Você ainda pode recuperar o nome antigo durante este período de proteção.
[admin]
dashboard=Painel
@ -3899,7 +3900,7 @@ deletion=Excluir segredo
deletion.description=A exclusão de um segredo é permanente e não pode ser desfeita. Continuar?
deletion.success=O segredo foi excluído.
deletion.failed=Falha ao excluir segredo.
management=Gerenciar segredos
management=Gerenciamento de segredos
[actions]
actions=Ações
@ -3908,12 +3909,12 @@ unit.desc=Gerenciar pipelines integradas de CI/CD com Forgejo Actions.
status.unknown=Desconhecido
status.waiting=Aguardando
status.running=Rodando
status.running=Executando
status.success=Sucesso
status.failure=Falha
status.cancelled=Cancelado
status.skipped=Ignorado
status.blocked=Bloqueado
status.cancelled=Cancelada
status.skipped=Ignorada
status.blocked=Bloqueada
runners=Runners
runners.runner_manage_panel=Gerenciar runners

View file

@ -1063,8 +1063,8 @@ language.description = Este idioma vai ser guardado na sua conta e ser usado com
language.localization_project = Ajude-nos a traduzir o Forgejo para o seu idioma! <a href="%s">Ler mais</a>.
pronouns_custom_label = Pronomes personalizados
user_block_yourself = Não se pode bloquear a si próprio.
change_username_redirect_prompt.with_cooldown.one = O nome de utilizador antigo estará disponível para todos após um período de espera de %[1]d dia, podendo ainda reivindicar o nome de utilizador antigo durante o período de espera.
change_username_redirect_prompt.with_cooldown.few = O nome de utilizador antigo ficará disponível para todos após um período de espera de %[1]d dias, podendo ainda reivindicar o nome de utilizador antigo durante o período de espera.
change_username_redirect_prompt.with_cooldown.one = O nome de utilizador antigo estará disponível para todos após um período de espera de %[1]d dia. Pode ainda reivindicar o nome de utilizador antigo durante o período de espera.
change_username_redirect_prompt.with_cooldown.few = O nome de utilizador antigo ficará disponível para todos após um período de espera de %[1]d dias. Pode ainda reivindicar o nome de utilizador antigo durante o período de espera.
quota.applies_to_user = As seguintes regras de quotas aplicam-se à sua conta
quota.sizes.assets.artifacts = Artefactos
quota.rule.exceeded.helper = O tamanho total dos objectos para esta regra excedeu a quota.
@ -1583,7 +1583,7 @@ issues.remove_ref_at=`removeu a referência <b>%s</b> %s`
issues.add_ref_at=`adicionou a referência <b>%s</b> %s`
issues.delete_branch_at=`eliminou o ramo <b>%s</b> %s`
issues.filter_label=Rótulo
issues.filter_label_exclude=`Use <code>alt</code> + <code>clique/enter</code> para excluir rótulos`
issues.filter_label_exclude=Use <kbd>Alt</kbd> + <kbd>Clique</kbd> para excluir rótulos
issues.filter_label_no_select=Todos os rótulos
issues.filter_label_select_no_label=Sem rótulo
issues.filter_milestone=Etapa
@ -1657,13 +1657,13 @@ issues.close_comment_issue=Fechar com comentário
issues.reopen_issue=Reabrir
issues.reopen_comment_issue=Reabrir com comentário
issues.create_comment=Comentar
issues.closed_at=`encerrou esta questão <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`reabriu esta questão <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`referenciou esta questão num cometimento <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from=`<a href="%[3]s">referiu esta questão %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">referiu este pedido de integração %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">referiu esta questão a partir de um pedido de integração %[4]s que a fechará</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">referiu esta questão a partir de um pedido de integração %[4]s que a reabrirá</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`encerrou esta questão %s`
issues.reopened_at=`reabriu esta questão %s`
issues.commit_ref_at=`referenciou esta questão num cometimento %s`
issues.ref_issue_from=`<a href="%[2]s">referiu esta questão %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">referiu este pedido de integração %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">referiu esta questão a partir de um pedido de integração %[3]s que a fechará</a> %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">referiu esta questão a partir de um pedido de integração %[3]s que a reabrirá</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">encerrou esta questão %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">reabriu esta questão %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`de %[1]s`
@ -1972,8 +1972,8 @@ pulls.update_branch_success=A sincronização do ramo foi bem sucedida
pulls.update_not_allowed=Não tem autorização para sincronizar o ramo
pulls.outdated_with_base_branch=Este ramo é obsoleto em relação ao ramo base
pulls.close=Encerrar pedido de integração
pulls.closed_at=`fechou este pedido de integração <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`reabriu este pedido de integração <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.closed_at=`fechou este pedido de integração %s`
pulls.reopened_at=`reabriu este pedido de integração %s`
pulls.cmd_instruction_hint=Ver instruções para a linha de comandos
pulls.cmd_instruction_checkout_title=Conferir
pulls.cmd_instruction_checkout_desc=No seu repositório, irá criar um novo ramo para que possa testar as modificações.
@ -2785,7 +2785,7 @@ settings.wiki_rename_branch_main_desc = Renomear o ramo usado internamente pelo
settings.add_collaborator_blocked_our = Não foi possível adicionar o/a colaborador/a porque o/a proprietário/a do repositório bloqueou-os.
settings.add_webhook.invalid_path = A localização não pode conter "." ou ".." ou ficar em branco. Não pode começar ou terminar com uma barra.
settings.graphql_url = URL do GraphQL
pulls.commit_ref_at = `referiu este pedido de integração a partir de um cometimento <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `referiu este pedido de integração a partir de um cometimento %s`
settings.confirm_wiki_branch_rename = Renomear o ramo do wiki
settings.wiki_branch_rename_success = O nome do ramo do wiki do repositório foi normalizado com sucesso.
settings.wiki_branch_rename_failure = Falhou a normalização do nome do ramo do wiki do repositório.
@ -2923,6 +2923,8 @@ settings.event_action_recover_desc = A execução de ação foi bem sucedida dep
settings.event_action_success = Sucesso
settings.event_action_success_desc = A Execução de ação foi bem sucedida.
issues.filter_type.all_pull_requests = Todos os pedidos de integração
[graphs]
component_loading=A carregar %s…
component_loading_failed=Não foi possível carregar %s
@ -3057,8 +3059,8 @@ teams.invite.by=Convidado(a) por %s
teams.invite.description=Clique no botão abaixo para se juntar à equipa.
follow_blocked_user = Não pode seguir esta organização porque esta organização bloqueou-o/a.
open_dashboard = Abrir painel de controlo
settings.change_orgname_redirect_prompt.with_cooldown.one = O nome antigo da organização estará disponível para todos após um período de espera de %[1]d dia, podendo ainda reivindicar o nome antigo durante o período de espera.
settings.change_orgname_redirect_prompt.with_cooldown.few = O nome antigo da organização estará disponível para todos após um período de espera de %[1]d dias, podendo ainda reivindicar o nome antigo durante o período de espera.
settings.change_orgname_redirect_prompt.with_cooldown.one = O nome antigo da organização estará disponível para todos após um período de espera de %[1]d dia. Pode ainda reivindicar o nome antigo durante o período de espera.
settings.change_orgname_redirect_prompt.with_cooldown.few = O nome antigo da organização estará disponível para todos após um período de espera de %[1]d dias. Pode ainda reivindicar o nome antigo durante o período de espera.
[admin]
dashboard=Painel de controlo

View file

@ -1,6 +1,3 @@
[common]
return_to_forgejo = Înapoi la Forgejo
explore = Explorează
@ -223,12 +220,12 @@ invalid_db_setting = Setările pentru bază de date sunt invalide: %v
no_reply_address = Domeniu pentru adrese de email ascunse
[search]
user_kind = Caută utilizatori...
team_kind = Caută echipe...
code_kind = Caută cod...
project_kind = Caută proiecte...
package_kind = Caută pachete...
org_kind = Caută organizații...
user_kind = Caută utilizatori
team_kind = Caută echipe
code_kind = Caută cod
project_kind = Caută proiecte
package_kind = Caută pachete
org_kind = Caută organizații
code_search_unavailable = Căutarea de cod nu este disponibilă momentan. Te rog contactează administratorul site-ului.
keyword_search_unavailable = Căutarea după cuvânt cheie nu este disponibilă momentan. Te rog contactează administratorul site-ului.
no_results = Nu a fost găsit niciun rezultat corespunzător.

View file

@ -1063,7 +1063,7 @@ language.description = Выбранный язык будет сохранён
language.localization_project = Помогите с переводом Forgejo на свой язык! <a href="%s">Подробнее</a>.
user_block_yourself = Нельзя заблокировать себя.
pronouns_custom_label = Другие местоимения
change_username_redirect_prompt.with_cooldown.one = Прежнее имя будет доступно для использования другим пользователям после истечения защиты в %[1]d день. Вы сможете вернуть его себе во время срока защиты.
change_username_redirect_prompt.with_cooldown.one = Прежнее имя будет доступно для использования другим пользователям после истечения простоя в %[1]d день. Вы сможете вернуть его себе во время срока простоя.
change_username_redirect_prompt.with_cooldown.few = Прежнее имя будет доступно для использования другим пользователям после истечения защиты в %[1]d дней. Вы сможете вернуть его себе во время срока защиты.
keep_pronouns_private = Показывать местоимения только зарегистрированным пользователям
keep_pronouns_private.description = Местоимения будут скрыты от пользователей, не имеющих учётных записей на сервере.
@ -1563,7 +1563,7 @@ issues.remove_ref_at=`убрана ссылка на <b>%s</b> %s`
issues.add_ref_at=`добавлена ссылка на <b>%s</b> %s`
issues.delete_branch_at=`удалена ветвь <b>%s</b> %s`
issues.filter_label=Метки
issues.filter_label_exclude=`Исключайте метки с помощью <code>alt</code> + <code>лкм/enter</code>`
issues.filter_label_exclude=Исключайте метки с помощью <kbd>Alt</kbd> + <kbd>ЛКМ</kbd>
issues.filter_label_no_select=Любые метки
issues.filter_label_select_no_label=Без меток
issues.filter_milestone=Этап
@ -1637,13 +1637,13 @@ issues.close_comment_issue=Закрыть комментарием
issues.reopen_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 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 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.closed_at=`задача была закрыта %s`
issues.reopened_at=`задача была открыта снова %s`
issues.commit_ref_at=`упоминание этой задачи в коммите %s`
issues.ref_issue_from=`<a href="%[2]s">упоминание этой задачи %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">упомянул этот запрос на слияние %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">упомянул эту задачу в запросе на слияние %[3]s, который закроет её</a> %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">упомянул эту задачу в запросе на слияние %[3]s, который переоткроет эту задачу</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">закрыл этот запрос %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">задача была открыта снова %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`из %[1]s`
@ -1943,8 +1943,8 @@ pulls.update_branch_success=Ветвь успешно обновлена
pulls.update_not_allowed=Недостаточно прав для обновления ветви
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.closed_at=`закрыл этот запрос на слияние %s`
pulls.reopened_at=`переоткрыл этот запрос на слияние %s`
pulls.cmd_instruction_hint=Показать инструкции для командной строки
pulls.cmd_instruction_merge_title=Слейте изменения
pulls.cmd_instruction_merge_desc=Слейте изменения и отправьте их обратно.
@ -2772,7 +2772,7 @@ settings.ignore_stale_approvals = Игнорировать устаревшие
contributors.contribution_type.additions = Добавления
contributors.contribution_type.deletions = Удаления
contributors.contribution_type.filter_label = Вид деятельности:
pulls.commit_ref_at = `упоминание этого запроса слияния в коммите <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `сослался на этот запрос слияния в коммите %s`
settings.thread_id = ИД обсуждения
pulls.made_using_agit = AGit
activity.navbar.contributors = Соавторы

View file

@ -482,7 +482,7 @@ avatar=අවතාර්
ssh_gpg_keys=SSH/ජීපීජී යතුරු
social=සමාජ ගිණුම්
applications=යෙදුම්
orgs=සංවිධාන කළමනාකරණය
orgs=සංවිධාන
repos=කෝෂ්ඨ
delete=ගිණුම මකන්න
twofa=ද්වි-සාධක සත්යාපනය
@ -527,8 +527,8 @@ password_change_disabled=දේශීය නොවන පරිශීලකය
emails=වි-තැපැල් ලිපින
manage_emails=වි-තැපැල් ලිපින කළමනාකරණය
manage_themes=පෙරනිමි තේමාව තෝරන්න
manage_openid=OpenID ලිපිනයන් කළමනාකරණය කරන්න
manage_themes=පෙරනිමි තේමාව
manage_openid=OpenID ලිපින
theme_desc=මෙම වෙබ් අඩවිය හරහා ඔබගේ පෙරනිමි තේමාව වනු ඇත.
primary=ප්රාථමික
activated=සක්රිය
@ -1100,12 +1100,12 @@ issues.close_comment_issue=අදහස් දක්වා වසන්න
issues.reopen_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.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 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.closed_at=`මෙම ගැටළුව වසා %s`
issues.reopened_at=`මෙම ගැටළුව නැවත විවෘත කරන ලදි %s`
issues.ref_issue_from=`<a href="%[2]s">මෙම නිකුතුව %[3]s හි</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">මෙම අදින්න ඉල්ලීම%[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">මෙම ගැටළුව වසා දමනු ඇත%[3]s මෙම ගැටළුව</a> %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">මෙම ගැටළුව නැවත විවෘත කරනු ඇත%[3]s මෙම ගැටළුව</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>නැවත විවෘත කරන ලදි`
issues.ref_from=`හිම%[1]s`
@ -1342,8 +1342,8 @@ pulls.update_branch_rebase=රිබේස් මගින් ශාඛාව
pulls.update_branch_success=ශාඛා යාවත්කාලීන කිරීම සාර්ථක විය
pulls.update_not_allowed=ශාඛාව යාවත්කාලීන කිරීමට ඔබට අවසර නැත
pulls.outdated_with_base_branch=මෙම ශාඛාව මූලික ශාඛාව සමඟ දිවයයි
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.closed_at=`මෙම අදින්න ඉල්ලීම වසා %s`
pulls.reopened_at=`මෙම අදින්න ඉල්ලීම නැවත විවෘත කරන ලදි %s`

View file

@ -597,7 +597,7 @@ avatar=Avatar
ssh_gpg_keys=SSH / GPG kľúče
social=Sociálne účty
applications=Aplikácie
orgs=Spravovať organizácie
orgs=Organizácie
repos=Repozitáre
delete=Zmazať účet
twofa=Dvojfaktorové overenie
@ -656,8 +656,8 @@ password_change_disabled=Externe overovaní používatelia nemôžu aktualizova
emails=E-mailové adresy
manage_emails=Správa e-mailových adries
manage_themes=Nastavenie predvolenej témy
manage_openid=Správa OpenID adries
manage_themes=Predvolená téma
manage_openid=Adresy OpenID
theme_desc=Toto bude vaša predvolená téma vzhľadu naprieč stránkou.
primary=Primárny
activated=Aktivovaný

View file

@ -133,7 +133,7 @@ reinstall_confirm_check_3 = Potrjujete, da ste popolnoma prepričani, da se ta p
require_db_desc = Forgejo zahteva MySQL, PostgreSQL, SQLite3 ali TiDB (protokol MySQL).
password_algorithm_helper = Nastavite algoritem za stiskanje gesla. Algoritmi imajo različne zahteve in moč. Algoritem argon2 je precej varen, vendar porabi veliko pomnilnika in je lahko neprimeren za majhne sisteme.
reinstall_confirm_message = Ponovna namestitev z obstoječo zbirko podatkov Forgejo lahko povzroči več težav. V večini primerov morate za zagon programa Forgejo uporabiti obstoječi "app.ini". Če veste, kaj počnete, potrdite naslednje:
err_admin_name_is_reserved = Administrator Uporabniško ime je neveljavno, uporabniško ime je rezervirano
err_admin_name_is_reserved = Administrator uporabniško ime je neveljavno, uporabniško ime je rezervirano
disable_gravatar.description = Onemogočite vire avatarjev Gravatar in avatarje tretjih oseb. Uporabi se privzeti avatar, razen če uporabnik lokalno naloži avatar.
install = Namestitev
title = Začetna nastavitev
@ -367,7 +367,7 @@ delete = Brisanje računa
uploaded_avatar_is_too_big = Velikost naložene datoteke (%d KiB) presega največjo velikost (%d KiB).
webauthn = Dvofaktorsko preverjanje pristnosti (varnostni ključi)
change_username_redirect_prompt = Staro uporabniško ime bo preusmerjeno, dokler ga nekdo ne prevzame.
orgs = Upravljanje organizacij
orgs = Organizacije
public_profile = Javni profil
gpg_key_verified_long = Ključ je bil preverjen z žetonom in ga je mogoče uporabiti za preverjanje zavez, ki ustrezajo vsem aktiviranim e-poštnim naslovom tega uporabnika, poleg vseh ujemajočih se identitet za ta ključ.
@ -495,14 +495,14 @@ tab_openid = Odprta identiteta
[home]
show_both_archived_unarchived = Prikazovanje arhiviranih in nearhiviranih
switch_dashboard_context = Kontekst stikala Nadzorna plošča
switch_dashboard_context = Kontekst stikala nadzorna plošča
search_repos = Poiščite skladišče…
filter_by_team_repositories = Filtriranje po skupinskih skladiščih
show_archived = Arhivirano
collaborative_repos = Sodelovalni repozitoriji
my_mirrors = Moja ogledala
show_only_public = Prikazovanje samo javnih
uname_holder = Uporabniško ime ali E-poštovni naslov
uname_holder = Uporabniško ime ali e-poštni naslov
password_holder = Geslo
my_repos = Repozitoriji
show_more_repos = Prikaži več skladišč…

View file

@ -326,7 +326,7 @@ issues.no_content=Још нема садржаја.
issues.close_issue=Затвори
issues.reopen_issue=Поново отвори
issues.create_comment=Коментирај
issues.commit_ref_at=`поменуо овај задатак у комит <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`поменуо овај задатак у комит %s`
issues.poster=Аутор
issues.collaborator=Коаутор
issues.owner=Власник

View file

@ -918,7 +918,7 @@ migrate.migrate_items_options=Åtkomsttoken krävs för att migrera ytterligare
migrated_from=Migrerad från <a href="%[1]s">%[2]s</a>
migrated_from_fake=Migrerad från %[1]s
migrate.migrate=Migrera från %s
migrate.migrating=Migrerar från <b>%s</b> ...
migrate.migrating=Migrerar från <b>%s</b>
migrate.migrating_failed=Migrering från <b>%s</b> misslyckades.
migrate.migrating_issues=Migrerar ärenden
@ -1157,13 +1157,13 @@ issues.close_comment_issue=Stäng med kommentar
issues.reopen_issue=Återöppna
issues.reopen_comment_issue=Öppna igen med kommentar
issues.create_comment=Kommentera
issues.closed_at=`stängde ärendet <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`återöppnade detta ärende <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`refererade till detta ärende från en incheckning <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from=`<a href="%[3]s">refererade till detta ärende %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">refererade till denna pull-förfrågan %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">hänvisade till detta ärende från en pull-förfrågan %[4]s som kommer att stänga det</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">hänvisade till detta ärende från en pull-förfrågan %[4]s som kommer att öppna ärendet på nytt</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`stängde ärendet %s`
issues.reopened_at=`återöppnade detta ärende %s`
issues.commit_ref_at=`refererade till detta ärende från en incheckning %s`
issues.ref_issue_from=`<a href="%[2]s">refererade till detta ärende %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">refererade till denna pull-förfrågan %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">hänvisade till detta ärende från en pull-förfrågan %[3]s som kommer att stänga det</a> %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">hänvisade till detta ärende från en pull-förfrågan %[3]s som kommer att öppna ärendet på nytt</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">stängde detta ärende %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">öpnnade detta ärende igen %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`från %[1]s`
@ -2324,17 +2324,17 @@ exact = Exakt
exact_tooltip = Inkludera bara resultat som exakt matchar söktermen
repo_kind = Sök repon…
user_kind = Sök användare…
code_kind = Sök kod...
package_kind = Sök paket...
runner_kind = Sök exekutorer...
branch_kind = Sök grenar...
commit_kind = Sök commiter...
project_kind = Sök projekt...
code_kind = Sök kod
package_kind = Sök paket
runner_kind = Sök exekutorer
branch_kind = Sök grenar
commit_kind = Sök commiter
project_kind = Sök projekt
search = Sök…
type_tooltip = Söktyp
team_kind = Sök lag...
team_kind = Sök team…
org_kind = Sök organisationer…
issue_kind = Sök ärenden...
issue_kind = Sök ärenden
regexp_tooltip = Tolka söktermen som ett reguljärt uttryck
code_search_unavailable = Kodsökning är för närvarande inte tillgänglig. Vänligen kontakta webbplatsadministratören.
fuzzy_tooltip = Inkludera resultat som är närliggande till söktermen

View file

@ -163,8 +163,8 @@ new_repo.link = Yeni depo
new_org.link = Yeni organizasyon
error413 = Kotanızı doldurdunuz.
toggle_menu = Menüyü aç-kapa
new_migrate.title = Yeni geçiş
new_migrate.link = Yeni geçiş
new_migrate.title = Yeni göç
new_migrate.link = Yeni göç
copy_path = Dizini kopyala
confirm_delete_artifact = "%s" adlı öğeyi silmek istediğinizden emin misiniz?
@ -179,8 +179,10 @@ number_of_contributions_in_the_last_12_months=son 12 ayda %s katkı
contributions_zero=Katkı yapılmamış
less=Daha az
more=Daha Fazla
contributions_one = katılım
contributions_few = katılımlar
contributions_one = katkı
contributions_few = katkı
contributions_format = {day} {month} {year} tarihinde {contributions} katkı
[editor]
buttons.heading.tooltip=Başlık ekle
@ -204,6 +206,13 @@ table_modal.placeholder.content = İçerik
table_modal.label.rows = Satırlar
table_modal.label.columns = Sütunlar
buttons.indent.tooltip = Bir seviye girinti artır
buttons.unindent.tooltip = Bir seviye girinti azalt
link_modal.header = Bağlantı ekle
link_modal.url = Url
link_modal.description = ıklama
link_modal.paste_reminder = İpucu: Panonuzdaki bir URL'yi doğrudan düzenleyiciye yapıştırarak bir bağlantı oluşturabilirsiniz.
[filter]
string.asc=A - Z
string.desc=Z - A
@ -227,6 +236,8 @@ lightweight_desc=Forgejo'nın minimal gereksinimleri çok düşüktür ve ucuz b
license=ık Kaynak
license_desc=Gidin ve <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>'yı edinin! Bu projeyi daha da iyi yapmak için <a target="_blank" rel="noopener noreferrer" href="%[2]s">katkıda bulunarak</a> bize katılın. Katkıda bulunmaktan çekinmeyin!
platform_desc = Forgejo'nun Linux ve FreeBSD gibi özgür işletim sistemlerinde ve farklı CPU mimarilerinde çalıştığı doğrulandı. Sevdiğinizi seçin!
[install]
install=Kurulum
title=Başlangıç Yapılandırması
@ -252,9 +263,9 @@ err_empty_db_path=SQLite3 veritabanı dosya yolu boş olamaz.
no_admin_and_disable_registration=Bir yönetici hesabı oluşturmadan kullanıcı kaydını kapatamazsınız.
err_empty_admin_password=Yönetici parolası boş olamaz.
err_empty_admin_email=Yönetici e-postası boş olamaz.
err_admin_name_is_reserved=Yönetici Kullanıcı Adı geçersiz, bu kullanıcı adı rezerv edilen bir kelimedir
err_admin_name_is_reserved=Yönetici kullanıcı adı geçersiz, bu kullanıcı adı rezerv edilen bir kelimedir
err_admin_name_pattern_not_allowed=Yönetici kullanıcı adı geçersiz, kullanıcı adı ayrılmış bir desenle eşleşiyor
err_admin_name_is_invalid=Yönetici Kullanıcı Adı geçersiz
err_admin_name_is_invalid=Yönetici kullanıcı adı geçersiz
general_title=Genel ayarlar
app_name=Site Başlığı
@ -345,6 +356,8 @@ allow_dots_in_usernames = Kullanıcı isimlerinde noktaya izin ver. Var olan kul
smtp_from_invalid = `"E-posta Olarak Gönder" adresi geçersiz`
config_location_hint = Bu yapılandırma seçenekleri şuraya kaydedilecek:
[home]
uname_holder=Kullanıcı adı veya e-posta adresi
password_holder=Parola
@ -478,6 +491,8 @@ sign_in_openid = OpenID ile giriş yap
hint_login = Mevcut hesabın var mı? <a href="%s">Hemen giriş yap!</a>
use_onetime_code = Tek kullanımlık kod kullan
change_unconfirmed_email = Kayıt sırasında yanlış e-posta adresi verdiyseniz, aşağıdan değiştirebilirsiniz; yeni adresinize bir onay mesajı gönderilecektir.
[mail]
view_it_on=%s üzerinde görüntüle
reply=veya doğrudan bu e-postayı yanıtlayın
@ -722,16 +737,16 @@ avatar=Avatar
ssh_gpg_keys=SSH / GPG Anahtarları
social=Sosyal Medya Hesapları
applications=Uygulamalar
orgs=Organizasyonları Yönet
orgs=Kuruluşlar
repos=Depolar
delete=Hesabı Sil
twofa=İki Aşamalı Doğrulama
delete=Hesabı sil
twofa=İki aşamalı doğrulama
account_link=Bağlı Hesaplar
organization=Organizasyonlar
uid=UID
webauthn=Güvenlik Anahtarları
public_profile=Herkese ık Profil
public_profile=Herkese ık profil
biography_placeholder=Bize kendiniz hakkında birşeyler söyleyin! (Markdown kullanabilirsiniz)
location_placeholder=Yaklaşık konumunuzu başkalarıyla paylaşın
profile_desc=Profilinizin başkalarına nasıl gösterildiğini yönetin. Ana e-posta adresiniz bildirimler, parola kurtarma ve web tabanlı Git işlemleri için kullanılacaktır.
@ -796,8 +811,8 @@ password_change_disabled=Yerel olmayan kullanıcılar parolalarını Forgejo web
emails=E-Posta Adresleri
manage_emails=E-posta Adreslerini Yönet
manage_themes=Varsayılan temayı seç
manage_openid=OpenID Adreslerini Yönet
manage_themes=Varsayılan tema
manage_openid=OpenID adresleri
email_desc=Ana e-posta adresiniz bildirimler, parola kurtarma ve gizlenmemişse eğer web tabanlı Git işlemleri için kullanılacaktır.
theme_desc=Bu, sitedeki varsayılan temanız olacak.
primary=Birincil
@ -1166,7 +1181,7 @@ form.name_reserved=Depo adı "%s" rezerve edilmiş.
form.name_pattern_not_allowed=Depo adında "%s" deseni kullanılamaz.
need_auth=Yetkilendirme
migrate_options=Göç Seçenekleri
migrate_options=Göç seçenekleri
migrate_service=Göç Hizmeti
migrate_options_mirror_helper=Bu depo bir yansı olacaktır
migrate_options_lfs=LFS dosyalarını taşı
@ -1174,7 +1189,7 @@ migrate_options_lfs_endpoint.label=LFS Uç Noktası
migrate_options_lfs_endpoint.description=Taşıma, <a target="_blank" rel="noopener noreferrer" href="%s"> LFS sunucusunu belirlemek</a> için Git uzak sunucusunu kullanmaya çalışacak. Eğer LFS veri deposu başka yerdeyse özel bir uç nokta da belirtebilirsiniz.
migrate_options_lfs_endpoint.description.local=Yerel bir sunucu yolu da destekleniyor.
migrate_options_lfs_endpoint.placeholder=Boş bırakılırsa, uç nokta klon URL'sinden türetilecektir
migrate_items=Göç Öğeleri
migrate_items=Göç öğeleri
migrate_items_wiki=Wiki
migrate_items_milestones=Kilometre Taşları
migrate_items_labels=Etiketler
@ -1215,7 +1230,7 @@ migrate.migrating_labels=Etiketleri Taşıma
migrate.migrating_releases=Sürümleri Taşıma
migrate.migrating_issues=Konuları Taşıma
migrate.migrating_pulls=Değişiklik İsteklerini Taşıma
migrate.cancel_migrating_title=Göçü İptal Et
migrate.cancel_migrating_title=Göçü iptal et
migrate.cancel_migrating_confirm=Bu göçü iptal etmek istiyor musunuz?
mirror_from=şunun yansıması
@ -1252,7 +1267,7 @@ find_tag=Etiketi bul
branches=Dal
tags=Etiket
issues=Konular
pulls=Değişiklik İstekleri
pulls=Değişiklik istekleri
project_board=Projeler
packages=Paketler
actions=İşlemler
@ -1443,7 +1458,7 @@ projects.column.set_default=Varsayılanı Ayarla
projects.column.set_default_desc=Bu sütunu kategorize edilmemiş konular ve değişiklik istekleri için varsayılan olarak ayarlayın
projects.column.unset_default=Varsayılanları Geri Al
projects.column.unset_default_desc=Bu sütunu varsayılan olarak geri al
projects.column.delete=Sutün Sil
projects.column.delete=Sütunu sil
projects.column.deletion_desc=Bir proje sütununun silinmesi, ilgili tüm konuları 'Kategorize edilmemiş'e taşır. Devam edilsin mi?
projects.column.color=Renk
projects.open=
@ -1594,13 +1609,13 @@ issues.close_comment_issue=Yorum Yap ve Kapat
issues.reopen_issue=Yeniden aç
issues.reopen_comment_issue=Yorum Yap ve Yeniden Aç
issues.create_comment=Yorum yap
issues.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> konusunu kapattı`
issues.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> konusunu yeniden açtı`
issues.commit_ref_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> işlemesinde bu konuyu işaret etti`
issues.ref_issue_from=`<a href="%[3]s">bu konuya referansta bulundu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">bu değişiklik isteğine referansta bulundu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">bir değişiklik isteğine referansta bulundu %[4]s bu konu kapatılacak </a><a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">bir değişiklik isteğine referansta bulundu %[4]s bu konu yeniden açılacak</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.closed_at=`%s konusunu kapattı`
issues.reopened_at=%s sorununu yeniden açtı
issues.commit_ref_at=`%s işlemesinde bu konuyu işaret etti`
issues.ref_issue_from=`<a href="%[2]s">bu konuya referansta bulundu %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">bu değişiklik isteğine referansta bulundu %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">bir değişiklik isteğine referansta bulundu %[3]s bu konu kapatılacak </a>%[1]s`
issues.ref_reopening_from=`<a href="%[2]s">bir değişiklik isteğine referansta bulundu %[3]s bu konu yeniden açılacak</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">bu konuyu kapat%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">konuyu yeniden aç%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`%[1]s'den`
@ -1647,7 +1662,7 @@ issues.label.filter_sort.alphabetically=Alfabetik
issues.label.filter_sort.reverse_alphabetically=Ters alfabetik
issues.label.filter_sort.by_size=En küçük boyut
issues.label.filter_sort.reverse_by_size=En büyük boyut
issues.num_participants_few=%d Katılımcı
issues.num_participants_few=%d katılımcı
issues.attachment.open_tab=`Yeni bir sekmede "%s" görmek için tıkla`
issues.attachment.download=`"%s" indirmek için tıkla`
issues.subscribe=Abone Ol
@ -1907,8 +1922,8 @@ pulls.update_branch_success=Dal güncellemesi başarıyla gerçekleştirildi
pulls.update_not_allowed=Dalı güncelleme izniniz yok
pulls.outdated_with_base_branch=Bu dal, temel dal ile güncel değil
pulls.close=Değişiklik İsteğini Kapat
pulls.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> değişiklik isteğini kapattı`
pulls.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> değişiklik isteğini yeniden açtı`
pulls.closed_at=`%s değişiklik isteğini kapattı`
pulls.reopened_at=`%s değişiklik isteğini yeniden açtı`
pulls.cmd_instruction_hint=`Komut satırı talimatlarını görüntüleyin.`
pulls.cmd_instruction_checkout_title=Çekme
pulls.cmd_instruction_checkout_desc=Proje deponuzdan yeni bir dalı çekin ve değişiklikleri test edin.
@ -1984,7 +1999,7 @@ ext_wiki=Harici Vikiye Erişim
ext_wiki.desc=Harici bir wiki'ye bağlantı.
wiki=Wiki
wiki.welcome=Wiki'ye Hoşgeldiniz.
wiki.welcome=Viki'ye Hoş geldiniz.
wiki.welcome_desc=Wiki, katkıcılarla belge yazmanıza ve paylaşmanıza olanak tanır.
wiki.desc=Katkıcılarla belgeler yazın ve paylaşın.
wiki.create_first_page=İlk sayfayı oluştur
@ -2140,15 +2155,15 @@ settings.use_external_wiki=Harici Wiki Kullan
settings.external_wiki_url=Harici Wiki bağlantısı
settings.external_wiki_url_error=Harici wiki URL'si geçerli bir URL değil.
settings.external_wiki_url_desc=Ziyaretçiler, wiki sekmesine tıklandığında harici wiki URL'sine yönlendirilir.
settings.issues_desc=Depo Konu İzleyicisini Etkinleştir
settings.use_internal_issue_tracker=Yerleşik Konu İzleyici Kullan
settings.use_external_issue_tracker=Harici Konu İzleyici Kullan
settings.external_tracker_url=Harici Konu İzleyici URLsi
settings.issues_desc=Depo sorun izleyicisini etkinleştir
settings.use_internal_issue_tracker=Yerleşik sorun izleyici kullan
settings.use_external_issue_tracker=Harici sorun izleyici kullan
settings.external_tracker_url=Harici sorun izleyici URL'si
settings.external_tracker_url_error=Harici konu izleyici URL'si geçerli bir URL değil.
settings.external_tracker_url_desc=Ziyaretçiler, konular sekmesine tıkladığında harici konu izleyici URL'sine yönlendirilir.
settings.tracker_url_format=Harici Konu İzleyici URL Biçimi
settings.tracker_url_format=Harici sorun izleyici URL Biçimi
settings.tracker_url_format_error=Harici konu izleyici URL biçimi geçerli bir URL değil.
settings.tracker_issue_style=Harici Konu İzleyici Numara Biçimi
settings.tracker_issue_style=Harici sorun izleyici Numara Biçimi
settings.tracker_issue_style.numeric=Sayısal
settings.tracker_issue_style.alphanumeric=Alfanumerik
settings.tracker_issue_style.regexp=Düzenli ifade
@ -2158,13 +2173,13 @@ settings.tracker_url_format_desc=Kullanıcı adı, depo adı ve yayın dizini i
settings.enable_timetracker=Zaman Takibini Etkinleştir
settings.allow_only_contributors_to_track_time=Sadece Katkıcılar İçin Zaman Takibine İzin Ver
settings.pulls_desc=Değişiklik İsteklerini Etkinleştir
settings.pulls.ignore_whitespace=Çakışmalar için Boşlukları Gözardı Et
settings.pulls.ignore_whitespace=Çakışmalar için boşlukları gözardı et
settings.pulls.enable_autodetect_manual_merge=Kendiliğinden algılamalı elle birleştirmeyi etkinleştir (Not: Bazı özel durumlarda yanlış kararlar olabilir)
settings.pulls.allow_rebase_update=Değişiklik isteği dalının yeniden yapılandırmayla güncellenmesine izin ver
settings.pulls.default_delete_branch_after_merge=Varsayılan olarak birleştirmeden sonra değişiklik isteği dalını sil
settings.pulls.default_allow_edits_from_maintainers=Bakımcıların düzenlemelerine izin ver
settings.releases_desc=Depo Sürümlerini Etkinleştir
settings.packages_desc=Depo paket kütüğünü etkinleştir
settings.packages_desc=Depo paket kayıt defterini etkinleştir
settings.projects_desc=Depo Projelerini Etkinleştir
settings.actions_desc=Depo İşlemlerini Etkinleştir
settings.admin_settings=Yönetici Ayarları
@ -2188,7 +2203,7 @@ settings.convert_fork_desc=Bu çatalı normal bir depoya dönüştürebilirsiniz
settings.convert_fork_notices_1=Bu işlem çatalı normal bir depoya dönüştürür ve geri alınamaz.
settings.convert_fork_confirm=Depoyu Dönüştür
settings.convert_fork_succeed=Çatal normal bir depoya dönüştürüldü.
settings.transfer.title=Sahipliği Aktar
settings.transfer.title=Sahipliği aktar
settings.transfer.rejected=Depo aktarımı reddedildi.
settings.transfer.success=Depo aktarımı başarıyla tamamlandı.
settings.transfer_abort=Aktarımı iptal et
@ -2448,7 +2463,7 @@ settings.block_on_official_review_requests_desc=Yeterli onay olsa bile, resmi in
settings.block_outdated_branch=Değişiklik isteği güncel değilse birleştirmeyi engelle
settings.block_outdated_branch_desc=Baş dal taban dalın arkasındayken birleştirme mümkün olmayacaktır.
settings.default_branch_desc=Değişiklik istekleri ve kod işlemeleri için varsayılan bir depo dalı seçin:
settings.merge_style_desc=Biçimleri Birleştir
settings.merge_style_desc=Birleştirme biçemleri
settings.default_merge_style_desc=Değişiklik istekleri için varsayılan birleştirme tarzı:
settings.choose_branch=Bir dal seç…
settings.no_protected_branch=Korumalı dal yok.
@ -2701,7 +2716,7 @@ settings.new_owner_blocked_doer = Yeni sahip sizi engelledi.
open_with_editor = %s ile aç
object_format = Nesne Biçimi
mirror_sync = eşitlendi
mirror_sync = eşitlenme:
stars = Yıldızlar
desc.sha256 = SHA256
vendored = Sağlanmış
@ -2722,6 +2737,26 @@ settings.ignore_stale_approvals = Eskimiş onayları yoksay
settings.ignore_stale_approvals_desc = Daha eski işlemelere (eski incelemelere) yapılmış olan onayları, Dİ'nin kaç onayı olduğunu belirlerken sayma. Eskimiş incelemeler atıldıysa bu ilgisizdir.
error.broken_git_hook = Bu deponun Git İstemcileri bozuk gibi gözüküyor. Onarmak için lütfen <a target="_blank" rel="noreferrer" href="%s">belgelere</a> bakın, daha sonra durumu yenilemek için bazı işlemeler itin.
mirror_public_key = Ortak SSH anahtarı
mirror_use_ssh.text = SSH yetkilendirme kullan
mirror_use_ssh.helper = Forgejo, bu seçeneği seçtiğinizde deponuzu SSH üzerinden Git üzerinden yansıtacak ve sizin için bir anahtar çifti oluşturacaktır. Oluşturulan ortak anahtarın hedef depoya gönderilmek üzere yetkilendirildiğinden emin olmalısınız. Bunu seçerken parola tabanlı yetkilendirme kullanamazsınız.
mirror_use_ssh.not_available = SSH yetkilendirme kullanılamıyor.
mirror_denied_combination = Ortak anahtar ve parola tabanlı kimlik doğrulama birlikte kullanılamaz.
n_commit_few = %s gönderi
n_branch_one = %s dal
n_branch_few = %s dal
n_tag_few = %s etiket
commits.browse_further = Daha fazlasına göz at
commits.renamed_from = %s adından yeniden adlandırıldı
issues.filter_no_results = Sonuç yok
issues.filter_no_results_placeholder = Arama filtrelerini değiştirmeyi deneyin.
issues.num_participants_one = %d katılımcı
settings.units.units = Birimler
settings.units.add_more = Daha fazlasını etkinleştir
settings.wiki_globally_editable = Vikiyi herkesin düzenlemesine izin ver
settings.default_update_style_desc = Temel dalın ardındaki çekme isteklerini güncellemek için kullanılan varsayılan güncelleme stili.
settings.wiki_rename_branch_main = Viki dal adını normalleştir
[graphs]
component_loading = %s yükleniyor...
component_loading_failed = %s yüklenemedi
@ -2736,7 +2771,7 @@ org_name_holder=Organizasyon Adı
org_full_name_holder=Organizasyon Tam Adı
org_name_helper=Organizasyon adları kısa ve hatırlanabilir olmalıdır.
create_org=Organizasyon Oluştur
repo_updated=Güncellendi %s
repo_updated=%s güncellendi
members=Üyeler
teams=Takımlar
code=Kod
@ -2792,7 +2827,7 @@ members.membership_visibility=Üyelik Görünürlüğü:
members.public=Görünür
members.public_helper=gizle
members.private=Gizlenmiş
members.private_helper=görünür yap
members.private_helper=Görünür yap
members.member_role=Üye Rolü:
members.owner=Sahibi
members.member=Üye
@ -3311,7 +3346,7 @@ config.git_max_diff_lines=Maksimum Değişiklik Satırı (tek bir dosya için)
config.git_max_diff_line_characters=Maksimum Değişiklik Karakteri (tek bir satır için)
config.git_max_diff_files=Maksimum Değişiklik Dosyaları (gösterilecek)
config.git_gc_args=GC Argümanları
config.git_migrate_timeout=Göç İşlemi Zaman Aşımı
config.git_migrate_timeout=Göç işlemi zaman aşımı
config.git_mirror_timeout=Yansı Güncelleme Zaman Aşımı
config.git_clone_timeout=Klonlama İşlemi Zaman Aşımı
config.git_pull_timeout=Çekme İşlemi Zaman Aşımı
@ -3363,7 +3398,7 @@ monitor.queue.settings.maxnumberworkers=En fazla çalışan Sayısı
monitor.queue.settings.maxnumberworkers.placeholder=Şu anda %[1]d
monitor.queue.settings.maxnumberworkers.error=En fazla çalışan sayısı bir sayı olmalıdır
monitor.queue.settings.submit=Ayarları Güncelle
monitor.queue.settings.changed=Ayarlar Güncellendi
monitor.queue.settings.changed=Ayarlar güncellendi
monitor.queue.settings.remove_all_items=Tümünü kaldır
monitor.queue.settings.remove_all_items_done=Kuyruktaki tüm öğeler kaldırıldı.
@ -3771,23 +3806,23 @@ submodule=Alt modül
[search]
project_kind = Projeleri ara...
project_kind = Projeleri ara
org_kind = Organizasyonları ara…
team_kind = Takımları ara…
search = Ara…
code_kind = Kod ara…
type_tooltip = Arama türü
repo_kind = Depoları ara...
repo_kind = Depoları ara
user_kind = Kullanıcıları ara…
milestone_kind = Kilometre taşlarını ara...
branch_kind = Dalları ara...
package_kind = Paketleri ara...
commit_kind = Katkıları ara...
runner_kind = Çalıştırıcıları ara...
branch_kind = Dalları ara
package_kind = Paketleri ara
commit_kind = Katkıları ara
runner_kind = Çalıştırıcıları ara
no_results = Eşleşen sonuç bulunamadı.
code_search_unavailable = Kod araması şu anda kullanıma açık değildir. Lütfen site yöneticisi ile iletişime geçin.
issue_kind = Sorunları ara...
pull_kind = Birleştirme isteklerini ara...
issue_kind = Sorunları ara
pull_kind = Birleştirme isteklerini ara
code_search_by_git_grep = Anlık kod araması sonuçları "git grep" komutu tarafından sağlanmaktadır. Site yöneticisinin kod endekslemesini açması durumunda daha iyi sonuçlar verilmesi mümkün olabilir.
keyword_search_unavailable = Anahtar kelime ile arama şu anda kullanıma açık değildir. Lütfen site yöneticisi ile iletişime geçin.
fuzzy_tooltip = Arama terimine yakın olan eşleşmeleri dahil et
@ -3795,3 +3830,15 @@ union_tooltip = Boşlukla ayrılmış anahtar kelime eşleşmelerini dahil et
exact_tooltip = Sadece arama terimiyle tam uyuşan sonuçları dahit et.
fuzzy = Bulanık
exact = Tam
union = Anahtar sözcük
regexp = Düzenliİfade
regexp_tooltip = Arama terimini düzenli ifade olarak yorumla
[munits.data]
b = B
kib = KiB
mib = MiB
gib = GiB
tib = TiB
pib = PiB
eib = EiB

View file

@ -29,7 +29,7 @@ password=Пароль
access_token=Токен доступу
re_type=Підтвердження пароля
captcha=CAPTCHA
twofa=Двофакторна авторизація
twofa=Двофакторна автентифікація
twofa_scratch=Двофакторний одноразовий пароль
passcode=Код доступу
@ -112,7 +112,7 @@ webauthn_error_unknown = Сталася невідома помилка. Буд
webauthn_error_unable_to_process = Сервер не зміг обробити запит.
webauthn_error_duplicated = Запит із наданим ключем безпеки відхилено. Впевніться, що цього ключа ще не зареєстровано.
webauthn_error_empty = Ключ слід якось назвати.
new_project_column = Нова колонка
new_project_column = Новий стовпчик
retry = Повторити
rerun = Перезапустити
rerun_all = Перезапустити всі завдання
@ -149,7 +149,7 @@ filter.not_archived = Не архівовано
filter.public = Загальнодоступні
filter.private = Приватні
more_items = Більше пунктів
remove_label_str = Видалити об'єкт «%s»
remove_label_str = Видалити елемент «%s»
new_repo.title = Новий репозиторій
new_migrate.title = Нова міграція
new_org.title = Нова організація
@ -195,13 +195,13 @@ buttons.list.task.tooltip = Додати список завдань
buttons.heading.tooltip = Додати заголовок
buttons.switch_to_legacy.tooltip = Використовувати застарілий редактор замість поточного
buttons.disable_monospace_font = Вимкнути моноширинний шрифт
buttons.indent.tooltip = Вкласти предмет на один рівень
buttons.unindent.tooltip = Викласти об'єкт на один рівень
buttons.indent.tooltip = Вкласти елемент на один рівень
buttons.unindent.tooltip = Викласти елемент на один рівень
buttons.mention.tooltip = Згадати користувача чи команду
buttons.ref.tooltip = Послатись на задачу чи на запит на злиття
buttons.ref.tooltip = Послатися на задачу чи на запит на злиття
buttons.enable_monospace_font = Увімкнути моноширинний шрифт
buttons.new_table.tooltip = Додати таблицю
table_modal.label.columns = Стовпці
table_modal.label.columns = Стовпчики
table_modal.header = Додати таблицю
table_modal.placeholder.header = Заголовок
table_modal.placeholder.content = Вміст
@ -343,13 +343,13 @@ 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 є досить безпечним, проте споживає багато памʼяті та є недоречним для малих систем.
password_algorithm_helper = Установіть алгоритм хешування паролів. Алгоритми мають різні вимоги і стійкість. Алгоритм argon2 є досить безпечним, проте споживає багато памʼяті та є недоречним для малих систем.
app_slogan = Гасло екземпляра
app_slogan_helper = Уведіть гасло вашого екземпляра тут. Залиште порожнім, аби вимкнути.
run_user_helper = Імʼя користувача операційної системи, від якого запущено Forgejo. Зауважте, що цей користувач повинен мати доступ до кореневої теки репозиторію.
smtp_from_invalid = Адреса з «Відправляти email від імені» недійсна
allow_dots_in_usernames = Дозволити користувачам використовувати крапки у своїх іменах. Не впливає на облікові записи, що вже існують.
invalid_password_algorithm = Недійсний варіант алгоритму хешування паролів
allow_dots_in_usernames = Дозволити використання крапки в іменах користувачів. Не впливає на облікові записи, що вже існують.
invalid_password_algorithm = Недійсний алгоритм хешування паролів
enable_update_checker_helper_forgejo = Наявність нових версій Forgejo періодично перевірятиметься через перевірку запису TXT DNS на release.forgejo.org.
[home]
@ -392,7 +392,7 @@ user_no_results=Відповідних користувачів не знайд
org_no_results=Відповідних організацій не знайдено.
code_no_results=Відповідний пошуковому запитанню код не знайдено.
code_last_indexed_at=Останні індексовані %s
relevant_repositories = Відображаються лише релевантні репозиторії, <a href="%s">переглянути результати без фільтру</a>.
relevant_repositories = Показано лише релевантні репозиторії, <a href="%s">переглянути результати без фільтру</a>.
relevant_repositories_tooltip = Приховано форки, а також репозиторії без теми, значка й опису.
go_to = Перейти до
stars_one = %d зірка
@ -469,7 +469,7 @@ invalid_code_forgot_password = Ваш код підтвердження неді
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.
openid_signin_desc = Уведіть свій OpenID URI. Наприклад: alice.openid.example.org чи https://openid.example.org/alice.
invalid_password = Ваш пароль не відповідає тому, що був заданий при створенні облікового запису.
hint_login = Вже маєте обліковий запис? <a href="%s">Увійдіть зараз!</a>
hint_register = Потрібен обліковий запис? <a href="%s">Зареєструйтеся зараз.</a>
@ -694,7 +694,7 @@ disabled_public_activity=Цей користувач вимкнув публіч
joined_on = Реєстрація %s
email_visibility.private = Ваш email видно лише вам і адміністраторам
email_visibility.limited = Вашу е-пошту видно всім авторизованим
settings = Користувацькі параметри
settings = Користувацькі налаштування
block_user.detail_3 = Ви не зможете додати один одного в якості співавтора репозиторію.
show_on_map = Показати це місце на мапі
block_user.detail_2 = Цей користувач не зможе взаємодіяти з репозиторіями, власником яких є ви, а також із задачами та коментарями, які ви створили.
@ -734,7 +734,7 @@ applications=Додатки
orgs=Організації
repos=Репозиторії
delete=Видалити обліковий запис
twofa=Двофакторна авторизація (TOTP)
twofa=Двофакторна автентифікація (TOTP)
account_link=Прив'язані облікові записи
organization=Організації
@ -813,9 +813,9 @@ manage_ssh_keys=Керування ключами SSH
manage_ssh_principals=Управління SSH сертифікатами користувачів
manage_gpg_keys=Керування ключами GPG
add_key=Додати ключ
ssh_desc=Ці відкриті ключі SSH повʼязані з вашим обліковим записом. Відповідні приватні ключі дозволяють отримати повний доступ до ваших репозиторіїв. Підтверджені ключі можна використати для підтвердження комітів Git, підписані з SSH.
ssh_desc=Ці відкриті ключі SSH повʼязані з вашим обліковим записом. Відповідні приватні ключі дозволяють отримати повний доступ до ваших репозиторіїв. Підтверджені ключі можна використати для підтвердження комітів Git, підписаних із SSH.
principal_desc=Ці настройки SSH сертифікатів вказані у вашому обліковому записі та надають повний доступ до ваших репозиторіїв.
gpg_desc=Ці публічні ключі GPG пов'язані з вашим обліковим записом. Тримайте свої приватні ключі в безпеці, оскільки вони дозволяють здійснювати перевірку комітів.
gpg_desc=Ці публічні ключі GPG пов'язані з вашим обліковим записом і використовуються для підтвердження комітів. Тримайте свої приватні ключі в безпеці, оскільки вони дозволяють підписувати коміти вашим особистим підписом.
ssh_helper=<strong>Потрібна допомога?</strong> Дивіться гід на GitHub з <a href="%s"> генерації ключів SSH</a> або виправлення <a href="%s">типових неполадок SSH</a>.
gpg_helper=<strong> Потрібна допомога? </strong> Перегляньте посібник GitHub <a href="%s"> про GPG </a>.
add_new_key=Додати SSH ключ
@ -893,7 +893,7 @@ manage_oauth2_applications=Керування програмами OAuth2
edit_oauth2_application=Редагувати програму OAuth2
oauth2_applications_desc=Програми OAuth2 дають можливість вашим стороннім програмам надійно аутентифікувати користувачів у цьому екземплярі Forgejo.
remove_oauth2_application=Видалити програму OAuth2
remove_oauth2_application_desc=Видалення програми OAuth2 скасовує доступ до всіх підписаних маркерів доступу. Продовжити?
remove_oauth2_application_desc=Видалення програми OAuth2 скасує доступ до всіх підписаних токенів доступу. Продовжити?
remove_oauth2_application_success=Програму видалено.
create_oauth2_application=Створити новий додаток OAuth2
create_oauth2_application_button=Створити програму
@ -1077,6 +1077,9 @@ regenerate_token = Згенерувати знову
access_token_regeneration = Згенерувати новий токен доступу
quota.sizes.assets.all = Ресурси
access_token_regeneration_desc = Регенерація токена скасує доступ програм, які використовують цей токен, до вашого облікового запису. Це незворотна дія. Продовжити?
regenerate_token_success = Токен згенеровано наново. Програми, які його використовують, більше не мають доступу до вашого облікового запису; ви повинні відновити доступ за допомогою нового токена.
[repo]
owner=Власник
owner_helper=Деякі організації можуть не відображатися у випадаючому списку через максимальну кількість репозиторііїв.
@ -1143,7 +1146,7 @@ forks=Форки
reactions_more=додати %d більше
unit_disabled=Адміністратор сайту вимкнув цей розділ репозиторію.
language_other=Інші
adopt_search=Введіть ім'я користувач_ки для пошуку неприйнятих репозиторіїв… (залиште порожнім, щоб знайти всі)
adopt_search=Уведіть ім'я користувач_ки для пошуку неприйнятих репозиторіїв… (залиште порожнім, щоб знайти всі)
adopt_preexisting_label=Прийняті файли
adopt_preexisting=Прийняти вже існуючі файли
adopt_preexisting_content=Створити репозиторій з %s
@ -1168,7 +1171,7 @@ desc.archived=Архівний
template.items=Елементи шаблону
template.git_content=Вміст Git (типова гілка)
template.git_hooks=Перехоплювачі Git
template.git_hooks=Git-хуки
template.webhooks=Webhook'и
template.topics=Теми
template.avatar=Аватар
@ -1276,7 +1279,7 @@ file_raw=Неформатований
file_history=Історія
file_view_source=Переглянути вихідний код
file_view_rendered=Переглянути відрендерено
file_view_raw=Перегляд Raw
file_view_raw=Переглянути неформатований
file_permalink=Постійне посилання
file_too_large=Цей файл завеликий щоб бути показаним.
@ -1285,7 +1288,7 @@ video_not_supported_in_browser=Ваш браузер не підтримує т
audio_not_supported_in_browser=Ваш браузер не підтримує тег HTML5 «audio».
stored_lfs=Збережено з Git LFS
symbolic_link=Символічне посилання
commit_graph=Графік комітів
commit_graph=Граф комітів
commit_graph.select=Виберіть гілки
commit_graph.hide_pr_refs=Приховати запити на злиття
commit_graph.monochrome=Монохром
@ -1402,9 +1405,9 @@ issues.new.open_projects=Відкриті проєкти
issues.new.closed_projects=Закриті проєкти
issues.new.no_items=Немає елементів
issues.new.milestone=Етап
issues.new.no_milestone=Етап відсутній
issues.new.no_milestone=Немає етапу
issues.new.clear_milestone=Очистити етап
issues.new.open_milestone=Активні етапи
issues.new.open_milestone=Відкриті етапи
issues.new.closed_milestone=Закриті етапи
issues.new.assignees=Виконавці
issues.new.clear_assignees=Прибрати виконавців
@ -1447,7 +1450,7 @@ issues.remove_ref_at=`видалив посилання <b>%s</b> %s`
issues.add_ref_at=`додав посилання <b>%s</b> %s`
issues.delete_branch_at=`видалена гілка <b>%s</b> %s`
issues.filter_label=Мітка
issues.filter_label_exclude=`Використовуйте <code>Alt</code> + <code>клік/Enter</code> для виключення міток`
issues.filter_label_exclude=Використовуйте <kbd>Alt</kbd> + <kbd>клік</kbd> для виключення міток
issues.filter_label_no_select=Всі мітки
issues.filter_milestone=Етап
issues.filter_project=Проєкт
@ -1496,17 +1499,17 @@ issues.context.quote_reply=Цитувати відповідь
issues.context.reference_issue=Послатися в новій задачі
issues.context.edit=Редагувати
issues.context.delete=Видалити
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 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 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.closed_at=`закриває цю задачу %s`
issues.reopened_at=`повторно відкриває цю задачу %s`
issues.commit_ref_at=`посилається на цю задачу в коміті %s`
issues.ref_issue_from=`<a href="%[2]s">посилається на цю задачу %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">посилається на цей запит на злиття %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[2]s">посилається в запиті на злиття %[3]s, який закриє цю задачу</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[2]s">посилається в запиті на злиття %[3]s, який повторно відкриє цю задачу</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">закрив цю задачу %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">повторно відкрито цю задачу %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`із %[1]s`
@ -1707,7 +1710,7 @@ pulls.reject_count_1=%d запит на зміну
pulls.reject_count_n=%d запити на зміну
pulls.waiting_count_1=очікується %d рецензія
pulls.waiting_count_n=очікується %d рецензії(й)
pulls.wrong_commit_id=ID коміта повинен бути ID коміта в цільовій гілці
pulls.wrong_commit_id=ID коміту повинен бути ID коміту в цільовій гілці
pulls.no_merge_desc=Цей запити на злиття неможливо злити, оскільки всі параметри об'єднання репозиторія вимкнено.
pulls.no_merge_helper=Увімкніть параметри злиття в налаштуваннях репозиторія або злийте запити на злиття вручну.
@ -1725,7 +1728,7 @@ pulls.require_signed_wont_sign=Гілка вимагає підписаних к
pulls.invalid_merge_option=Цей параметр злиття не можна використовувати для цього Pull Request'а.
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 та base злиття не мають спільної історії. Підказка: спробуйте іншу стратегію
pulls.merge_out_of_date=Не вдалося об'єднати: base було оновлено, поки відбувалося об'єднання. Підказка: спробуйте знову.
@ -1743,8 +1746,8 @@ pulls.update_branch_rebase=Оновити гілку перебазування
pulls.update_branch_success=Оновлення гілки пройшло успішно
pulls.update_not_allowed=Ви не можете оновити гілку
pulls.outdated_with_base_branch=Ця гілка застаріла відносно базової гілки
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.closed_at=`закриває цей запит на злиття %s`
pulls.reopened_at=`повторно відкриває цей запит на злиття %s`
@ -1799,7 +1802,7 @@ wiki.delete_page_button=Видалити сторінку
wiki.page_already_exists=Вікі-сторінка з таким самим ім'ям вже існує.
wiki.pages=Сторінки
wiki.last_updated=Останні оновлення %s
wiki.page_name_desc=Введіть назву вікі-сторінки. Деякі зі спеціальних імен: «Home», «_Sidebar» та «_Footer».
wiki.page_name_desc=Уведіть назву вікі-сторінки. Деякі зі спеціальних імен: «Home», «_Sidebar» та «_Footer».
activity=Активність
activity.period.filter_label=Період:
@ -1844,7 +1847,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 автор
@ -1886,17 +1889,17 @@ settings.collaboration.read=Читати
settings.collaboration.owner=Власник
settings.collaboration.undefined=Не визначено
settings.hooks=Веб-хуки
settings.githooks=Git хуки
settings.basic_settings=Базові налаштування
settings.githooks=Git-хуки
settings.basic_settings=Основні налаштування
settings.mirror_settings=Налаштування дзеркала
settings.mirror_settings.mirrored_repository=Віддзеркалений репозиторій
settings.mirror_settings.direction=Напрямок
settings.mirror_settings.direction.pull=Pull
settings.mirror_settings.direction.push=Push
settings.mirror_settings.last_update=Останнє оновлення
settings.mirror_settings.push_mirror.none=Не налаштовано дзеркало push
settings.mirror_settings.push_mirror.none=Push-дзеркала не налаштовано
settings.mirror_settings.push_mirror.remote_url=URL віддаленого репозиторію Git
settings.mirror_settings.push_mirror.add=Додати Push дзеркало
settings.mirror_settings.push_mirror.add=Додати push-дзеркало
settings.sync_mirror=Синхронізувати зараз
settings.site=Веб-сайт
@ -1927,9 +1930,9 @@ settings.pulls_desc=Увімкнути запити на злиття в реп
settings.pulls.ignore_whitespace=Ігнорувати пробіл у конфліктах
settings.pulls.enable_autodetect_manual_merge=Увімкнути автовизначення ручного злиття (Примітка: у деяких особливий випадках можуть виникнуть помилки)
settings.pulls.default_delete_branch_after_merge=Видаляти гілку запиту злиття, коли його прийнято
settings.projects_desc=Увімкнути проєкти у репозиторії
settings.projects_desc=Увімкнути проєкти в репозиторії
settings.admin_settings=Налаштування адміністратора
settings.admin_enable_health_check=Включити перевірки працездатності репозиторію (git fsck)
settings.admin_enable_health_check=Увімкнути перевірки стану репозиторію (git fsck)
settings.admin_enable_close_issues_via_commit_in_any_branch=Закрити задачу за допомогою коміта, зробленого не в головній гілці
settings.danger_zone=Небезпечна зона
settings.new_owner_has_same_repo=Новий власник вже має репозиторій з такою назвою. Будь ласка, виберіть інше ім'я.
@ -2055,12 +2058,12 @@ settings.event_issue_assign=Призначення
settings.event_issue_assign_desc=Задачу призначено або скасовано.
settings.event_issue_label=Мітки
settings.event_issue_label_desc=Додавання або видалення міток задач.
settings.event_issue_milestone=Задача з етапом
settings.event_issue_milestone=Етапи
settings.event_issue_milestone_desc=Етап призначено, видалено або змінено.
settings.event_issue_comment=Коментарі
settings.event_issue_comment_desc=Коментар задачі створено, видалено чи відредаговано.
settings.event_header_pull_request=Події запиту на злиття
settings.event_pull_request=Запити до злиття
settings.event_pull_request=Зміна
settings.event_pull_request_desc=Запит до злиття відкрито, закрито, перевідкрито або відредаговано.
settings.event_pull_request_assign=Призначення
settings.event_pull_request_assign_desc=Запит про злиття призначено або скасовано.
@ -2075,7 +2078,7 @@ settings.event_pull_request_review_desc=Запит на злиття схвал
settings.event_pull_request_sync=Синхронізовано
settings.event_pull_request_sync_desc=Гілку автоматично оновлено цільовою гілкою.
settings.branch_filter=Фільтр гілок
settings.branch_filter_desc=Білий список гілок для push, створення гілок та видалення гілок, визначається як шаблон glob. Якщо він порожній або містить <code>*</code>, то реєструються події для всіх гілок. Дивіться синтаксис у документації на <a href="%[1]s">%[2]s</a>. Наприклад: <code>master</code>, <code>{master,release*}</code>.
settings.branch_filter_desc=Білий список гілок для push, створення гілок та видалення гілок, визначається як шаблон glob. Якщо він порожній або містить <code>*</code>, то реєструються події для всіх гілок. Дивіться синтаксис у документації <a href="%[1]s">%[2]s</a>. Приклади: <code>master</code>, <code>{master,release*}</code>.
settings.active=Активний
settings.active_helper=Інформацію про викликані події буде надіслано за цією веб-хук URL-адресою.
settings.add_hook_success=Веб-хук було додано.
@ -2154,7 +2157,7 @@ settings.edit_protected_branch=Редагувати
settings.protected_branch_required_approvals_min=Число необхідних схвалень не може бути від'ємним.
settings.tags=Теги
settings.tags.protection=Захист тегу
settings.tags.protection.pattern=Шаблон тега
settings.tags.protection.pattern=Шаблон тегів
settings.tags.protection.allowed=Дозволено
settings.tags.protection.allowed.users=Дозволені користувачі
settings.tags.protection.allowed.teams=Дозволені команди
@ -2263,7 +2266,7 @@ release.detail=Деталі релізу
release.tags=Теги
release.new_release=Новий випуск
release.draft=Чернетка
release.prerelease=Пре-реліз
release.prerelease=Попередній випуск
release.stable=Стабільний
release.compare=Порівняти
release.edit=Редагувати
@ -2275,15 +2278,15 @@ release.edit_subheader=Публікація релізів допоможе ва
release.tag_name=Назва тегу
release.target=Ціль
release.tag_helper=Виберіть існуючий тег або створіть новий.
release.prerelease_desc=Позначити як пре-реліз
release.prerelease_desc=Позначити як попередній випуск
release.prerelease_helper=Позначте цей випуск непридатним для ПРОД використання.
release.cancel=Відмінити
release.publish=Опублікувати реліз
release.publish=Опублікувати випуск
release.save_draft=Зберегти чернетку
release.edit_release=Оновити реліз
release.delete_release=Видалити реліз
release.edit_release=Оновити випуск
release.delete_release=Видалити випуск
release.delete_tag=Видалити тег
release.deletion=Видалити реліз
release.deletion=Видалити випуск
release.deletion_success=Реліз, було видалено.
release.deletion_tag_desc=Буде видалено цей тег із репозиторію. Вміст репозиторія та історія залишаться незмінними. Продовжити?
release.deletion_tag_success=Тег видалено.
@ -2341,7 +2344,7 @@ issues.author = Автор
issues.author_helper = Цей користувач - автор.
issues.close = Закрити задачу
issues.role.owner_helper = Цей користувач є власником цього репозиторію.
settings.mirror_settings.docs.more_information_if_disabled = Докладніше про push та pull дзеркала можна дізнатися тут:
settings.mirror_settings.docs.more_information_if_disabled = Докладніше про push- та pull-дзеркала можна дізнатися тут:
issues.comment.blocked_by_user = Ви не можете коментувати цю задачу, оскільки вас заблокував власник репозиторію або автор цієї задачі.
editor.add_file = Додати файл
from_comment = (коментар)
@ -2429,7 +2432,7 @@ pulls.is_ancestor = Цю гілку вже включено в цільову г
pulls.has_merged = Помилка: запит на злиття вже об'єднано, неможливо об'єднати знову чи змінити цільову гілку.
pulls.head_out_of_date = Не вдалося об'єднати: head було оновлено, поки відбувалося об'єднання. Підказка: спробуйте знову.
no_eol.tooltip = У цьому файлі відсутній символ закінчення рядка (EOL) у кінці.
settings.trust_model.committer.desc = Допустимі підписи будуть позначатися як «довірені», тільки якщо вони відповідають автору коміта, в іншому випадку вони позначатимуться як «невідповідні». Це змусить Forgejo бути автором підписаних комітів, а фактичного автора зазначати в трейлерах «Co-authored-by» і «Co-committed-by» в описі коміта. Типовий ключ Forgejo повинен відповідати користувачу в базі даних.
settings.trust_model.committer.desc = Допустимі підписи будуть позначатися як «довірені», тільки якщо вони відповідають авторові коміту, в іншому випадку вони позначатимуться як «невідповідні». Це змусить Forgejo бути автором підписаних комітів, а фактичного автора зазначати в трейлерах «Co-authored-by» і «Co-committed-by» в описі коміту. Типовий ключ Forgejo повинен відповідати користувачу в базі даних.
pulls.clear_merge_message_hint = Очищення повідомлення про об'єднання видалить лише вміст повідомлення коміту і збереже згенеровані git-трейлери, такі як «Co-Authored-By…».
branch.delete_branch_has_new_commits = Гілку «%s» не можна видалити, оскільки після об'єднання було додано нові коміти.
settings.graphql_url = Посилання GraphQL
@ -2446,7 +2449,7 @@ settings.event_package = Пакунок
settings.event_package_desc = Пакунок у репозиторії створено або видалено.
settings.new_owner_blocked_doer = Новий власник заблокував вас.
settings.transfer_quota_exceeded = Новий власник (%s) перевищив квоту. Репозиторій не передано.
release.title_empty = Заголовок не може бути порожнім.
release.title_empty = Назва не може бути порожньою.
issues.role.member_helper = Цей користувач є членом організації, що володіє цим репозиторієм.
wiki.page_content = Вміст сторінки
wiki.page_title = Заголовок сторінки
@ -2485,7 +2488,7 @@ signing.will_sign = Коміт буде підписано ключем «%s».
signing.wont_sign.error = Під час перевірки можливості підписати коміт сталася помилка.
commits.search_branch = У цій гілці
ext_wiki = Зовнішня вікі
pulls.commit_ref_at = `посилається на цей запит на злиття в коміті <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `посилається на цей запит на злиття в коміті %s`
pulls.cmd_instruction_hint = Переглянути інструкції для командного рядка
issues.max_pinned = Неможливо закріпити більше задач
issues.unpin_comment = відкріпив %s
@ -2512,7 +2515,7 @@ projects.column.set_default = Установити за замовчування
settings.federation_following_repos = URL-адреси відстежуваних репозиторіїв. Через «;», без пробілів.
settings.federation_not_enabled = Федерацію вимкнено у вашому екземплярі.
settings.federation_settings = Налаштування федерації
signing.wont_sign.nokey = Цей екземпляр не має ключа для підписання цього коміта.
signing.wont_sign.nokey = Цей екземпляр не має ключа для підписання цього коміту.
settings.federation_apapiurl = URL федерації цього репозиторію. Скопіюйте її та вставте в налаштування федерації іншого репозиторію як URL-адресу відстежуваного репозиторію.
fork_branch = Гілка, яку буде клоновано у форк
already_forked = Ви вже створили форк %s
@ -2530,7 +2533,7 @@ settings.add_web_hook_desc = Інтегрувати <a target="_blank" rel="nore
settings.event_wiki_desc = Вікі-сторінку створено, перейменовано, відредаговано або видалено.
settings.mirror_settings.push_mirror.copy_public_key = Копіювати публічний ключ
editor.add_tmpl.filename = назва файлу
settings.unarchive.button = Розархівувати репозиторій
settings.unarchive.button = Розархівувати
object_format = Формат об'єкта
settings.archive.mirrors_unavailable = Дзеркала недоступні в архівованих репозиторіях.
pulls.sign_in_require = <a href="%s">Увійдіть</a>, щоб створити новий запит на злиття.
@ -2541,8 +2544,8 @@ auto_init_description = Почніть історію Git з README і за ба
new_from_template_description = Можете вибрати наявний шаблон репозиторію на цьому екземплярі і застосувати його налаштування.
form.string_too_long = Довжина введеного рядка більша за %d символів.
form.name_reserved = Назву репозиторію «%s» зарезервовано.
form.name_pattern_not_allowed = Шаблон «%s» не допускається у назві репозиторію.
settings.wiki_rename_branch_main_desc = Перейменувати внутрішню гілку, яка використовується у вікі, на «%s». Ця зміна є остаточною і її неможливо скасувати.
form.name_pattern_not_allowed = Вираз «%s» не може бути частиною назви репозиторію.
settings.wiki_rename_branch_main_desc = Перейменувати внутрішню гілку, яка використовується для вікі, на «%s». Ця зміна є остаточною і її неможливо скасувати.
wiki.reserved_page = Назву вікі-сторінки «%s» зарезервовано.
stars = Зірки
mirror_public_key = Відкритий SSH-ключ
@ -2552,7 +2555,7 @@ activity.navbar.pulse = Пульс
open_with_editor = Відкрити в %s
commits.view_single_diff = Переглянути зміни до цього файлу, внесені у цьому коміті
pulls.editable = Редаговане
pulls.editable_explanation = Цей запит на злиття дозволяє редагування від розробників. Ви можете зробити свій внесок безпосередньо до нього.
pulls.editable_explanation = Цей запит на злиття дозволено редагувати супроводжувачам. Ви можете зробити свій внесок безпосередньо до нього.
admin.failed_to_replace_flags = Не вдалося замінити прапорці репозиторія
admin.enabled_flags = Для репозиторія ввімкнено прапорці:
admin.flags_replaced = Прапорці репозиторія замінено
@ -2670,6 +2673,163 @@ commitstatus.success = Успіх
commitstatus.failure = Збій
issues.filter_type.all_pull_requests = Усі запити на злиття
summary_card_alt = Підсумкова картка репозиторію %s
migrate_options_lfs_endpoint.placeholder = Якщо залишити порожнім, то кінцеву точку буде визначено з URL-адреси клону
migrate.invalid_local_path = Локальний шлях недійсний. Він не існує або не є каталогом.
subscribe.issue.guest.tooltip = Увійдіть, щоб підписатися на цю задачу.
subscribe.pull.guest.tooltip = Увійдіть, щоб підписатися на цей запит на злиття.
cite_this_repo = Послатися на цей репозиторій
broken_message = Неможливо прочитати дані Git, що лежать в основі цього репозиторію. Зверніться до адміністратора цього екземпляра або видаліть репозиторій.
invisible_runes_header = `Цей файл містить невидимі символи Юнікоду`
invisible_runes_description = `Цей файл містить невидимі символи Юнікоду, які людині неможливо розрізнити, але які по-різному обробляються комп'ютером. Якщо так зроблено навмисно, можете ігнорувати це попередження. Щоб показати ці символи, скористайтеся кнопкою «Escape».`
ambiguous_runes_header = `Цей файл містить неоднозначні символи Юнікоду`
ambiguous_runes_description = `Цей файл містить символи Юнікоду, які легко сплутати з іншими символами. Якщо так зроблено навмисно, можете ігнорувати це попередження. Щоб показати ці символи, скористайтеся кнопкою «Escape».`
invisible_runes_line = `У цьому рядку є невидимі символи Юнікоду`
ambiguous_runes_line = `У цьому рядку є неоднозначні символи Юнікоду`
ambiguous_character = `%[1]c [U+%04[1]X] можна сплутати з %[2]c [U+%04[2]X]`
escape_control_characters = Escape
unescape_control_characters = Unescape
no_eol.text = Без EOL
editor.filename_is_invalid = Хибна назва файлу: «%s».
editor.directory_is_a_file = Назва каталогу «%s» уже використовується в цьому репозиторії як назва файлу.
editor.filename_is_a_directory = Назва файлу «%s» уже використовується в цьому репозиторії як назва каталогу.
issues.choose.invalid_config = У конфігурації задачі є помилки:
issues.summary_card_alt = Підсумкова картка задачі «%s» в репозиторії %s
settings.sourcehut_builds.secrets_helper = Надати завданню доступ до секретів збірки (потрібен дозвіл SECRETS:RO)
settings.remove_protected_branch_failed = Не вдалося видалити правило захисту гілок «%s».
release.summary_card_alt = Підсумкова картка випуску «%s» в репозиторії %s
view_git_blame = Переглянути git blame
vendored = Сторонній
editor.file_editing_no_longer_exists = Файл «%s», який ви редагуєте, більше не існує у цьому репозиторії.
editor.file_deleting_no_longer_exists = Файл «%s», який ви видаляєте, більше не існує у цьому репозиторії.
editor.file_already_exists = Файл із назвою «%s» вже є у цьому репозиторії.
editor.push_rejected_no_message = Зміну відхилено сервером без повідомлення. Будь ласка, перевірте Git-хуки.
editor.push_rejected = Зміну відхилено сервером. Будь ласка, перевірте Git-хуки.
editor.unable_to_upload_files = Не вдалося завантажити файли в «%s» через помилку: %v
editor.upload_files_to_dir = Завантажити файли в «%s»
editor.cannot_commit_to_protected_branch = Неможливо здійснити коміт до захищеної гілки «%s».
commits.renamed_from = Перейменовано з %s
commits.ssh_key_fingerprint = Відбиток ключа SSH
commits.view_path = Переглянути на цьому етапі історії
issues.filter_sort.relevance = За відповідністю
issues.action_check = Поставити/зняти позначку
issues.action_check_all = Поставити/зняти позначку з усіх елементів
issues.closed_by = від <a href="%[2]s">%[3]s</a> закрито %[1]s
issues.closed_by_fake = від %[2]s закрито %[1]s
issues.label_archived_filter = Показати архівовані мітки
pulls.allow_edits_from_maintainers_err = Не вдалося оновити
pulls.has_viewed_file = Переглянуто
pulls.viewed_files_label = %[1]d з %[2]d файлів переглянуто
pulls.status_checks_hide_all = Приховати всі перевірки
milestones.new_subheader = Етапи допомагають організувати задачі та відстежувати прогрес їх виконання.
milestones.filter_sort.name = За назвою
wiki.delete_page_notice_1 = Видалення вікі-сторінки «%s» неможливо скасувати. Продовжити?
activity.published_prerelease_label = Пре-реліз
settings.mirror_settings.docs.doc_link_pull_section = розділ документації «Отримання з віддаленого репозиторію».
settings.mirror_settings.docs.pulling_remote_title = Отримання з віддаленого репозиторію
settings.mirror_settings.push_mirror.edit_sync_time = Змінити інтервал синхронізації дзеркала
settings.mirror_settings.push_mirror.none_ssh = Немає
settings.pull_mirror_sync_in_progress = Триває отримання змін з віддаленого репозиторію %s.
settings.pull_mirror_sync_quota_exceeded = Перевищено квоту, отримання змін неможливе.
settings.push_mirror_sync_in_progress = Триває надсилання змін до віддаленого репозиторію %s.
settings.pulls.allow_rebase_update = Увімкнути оновлення гілки запиту на злиття за допомогою перебазування
settings.releases_desc = Увімкнути випуски в репозиторії
settings.admin_code_indexer = Індексатор коду
settings.admin_stats_indexer = Індексатор статистики коду
settings.admin_indexer_commit_sha = Останній індексований коміт
settings.admin_indexer_unindexed = Не індексовано
settings.enter_repo_name = Уведіть ім'я власника і назву репозиторію, як показано:
settings.wiki_rename_branch_main = Нормалізувати назву вікі-гілки
settings.wiki_rename_branch_main_notices_1 = Цю операцію <strong>НЕМОЖЛИВО</strong> скасувати.
settings.wiki_rename_branch_main_notices_2 = Внутрішню вікі-гілку репозиторію %s буде назавжди перейменовано. Існуючі перевірки потрібно буде оновити.
settings.wiki_branch_rename_success = Назву вікі-гілки репозиторію успішно нормалізовано.
settings.wiki_branch_rename_failure = Не вдалося нормалізувати назву вікі-гілки репозиторію.
settings.add_webhook.invalid_path = Шлях не повинен містити частини «.» або «..» і не повинен бути порожнім. Він не може починатися або закінчуватися косою рискою.
settings.discord_icon_url.exceeds_max_length = URL-адреса значка не може бути довшою, ніж 2048 символи
settings.web_hook_name_telegram = Telegram
settings.sourcehut_builds.manifest_path = Шлях до маніфесту збірки
settings.sourcehut_builds.visibility = Видимість завдань
settings.sourcehut_builds.access_token_helper = Токен доступу, який має дозвіл JOBS:RW. Згенеруйте <a target="_blank" rel="noopener noreferrer" href="%s">токен builds.sr.ht</a> або <a target="_blank" rel="noopener noreferrer" href="%s">токен builds.sr.ht з доступом до секретів</a> на meta.sr.ht.
settings.protect_status_check_patterns_desc = Уведіть шаблони, щоб вказати, які перевірки стану повинні пройти гілки, перш ніж їх буде об'єднано у гілку, що відповідає цьому правилу. Кожен рядок визначає шаблон. Шаблони не можуть бути порожніми.
settings.protect_invalid_status_check_pattern = Недійсний шаблон перевірки стану: «%s».
settings.protect_no_valid_status_check_patterns = Немає дійсних шаблонів перевірки стану.
settings.protect_patterns = Шаблони
settings.protected_branch_duplicate_rule_name = Для цього набору гілок уже є правило
settings.thread_id = Thread ID
settings.matrix.access_token_helper = Рекомендується створити окремий обліковий запис Matrix. Токен доступу можна отримати у вебклієнті Element (у приватній/інкогніто вкладці): User menu (вгорі ліворуч) > All settings > Help & About > Advanced > Access Token (під URL-адресою Homeserver). Закрийте приватну вкладку (вихід із системи зробить токен недійсним).
settings.matrix.room_id_helper = ID кімнати можна отримати у вебклієнті Element: Room Settings > Advanced > Internal room ID. Приклад: %s.
settings.unarchive.header = Розархівувати цей репозиторій
settings.unarchive.text = Розархівування репозиторію відновить можливість надсилати до нього коміти і виконувати push, а також створювати задачі і запити на злиття.
settings.unarchive.success = Репозиторій успішно розархівовано.
settings.unarchive.error = Сталася помилка при спробі розархівувати репозиторій. Докладнішу інформацію див. у журналі.
diff.git-notes.remove-body = Цю примітку буде видалено.
diff.has_escaped = У цьому рядку є приховані символи Юнікоду
diff.show_file_tree = Показати дерево файлів
diff.hide_file_tree = Приховати дерево файлів
tag.ahead.target = до %s після цього тегу
release.title = Назва випуску
release.deletion_desc = Видалення випуску видаляє його лише з Forgejo. При цьому тег Git, вміст репозиторію чи його історію не буде змінено. Продовжити?
release.hide_archive_links = Приховати автоматично генеровані архіви
release.hide_archive_links_helper = Приховати для цього випуску архіви вихідного коду, що генеруються автоматично. Наприклад, якщо ви завантажуєте свої архіви.
release.system_generated = Це вкладення згенеровано автоматично.
branch.delete_desc = Видалення гілки є остаточним. Хоча видалена гілка може існувати ще деякий час до того, як її буде видалено, цю дію НЕМОЖЛИВО скасувати в більшості випадків. Продовжити?
branch.branch_name_conflict = Назва гілки «%s» конфліктує з наявною гілкою «%s».
branch.tag_collision = Неможливо створити гілку «%s», оскільки у репозиторії вже є тег із такою назвою.
blame.ignore_revs = Зміни в <a href="%s">.git-blame-ignore-revs</a> ігноруються. Натисніть <a href="%s">тут, щоб обійти це</a> і переглянути авторство у звичайному вигляді.
blame.ignore_revs.failed = Не вдалося проігнорувати зміни в <a href="%s">.git-blame-ignore-revs</a>.
template.git_hooks_tooltip = Наразі ви не можете змінювати або видаляти додані Git-хуки. Вибирайте лише якщо ви довіряєте репозиторію шаблону.
migrate.github_token_desc = Ви можете ввести тут один або кілька токенів через кому, щоб пришвидшити міграцію в обхід обмеження частоти звернень до API GitHub. ОБЕРЕЖНО: зловживання цією функцією може порушити політику постачальника послуг і призвести до блокування облікового запису.
migrate.github.description = Перенесіть дані з github.com або сервера GitHub Enterprise.
migrate.cancel_migrating_confirm = Бажаєте скасувати перенесення?
editor.new_branch_name = Укажіть назву нової гілки для цього коміту
projects.column.edit = Редагувати стовпчик
projects.column.new_submit = Створити стовпчик
projects.column.new = Новий стовпчик
projects.column.set_default_desc = Призначити цей стовпчик за замовчуванням для задач і запитів на злиття без категорії
projects.column.delete = Видалити стовпчик
projects.column.deletion_desc = Видалення стовпчика проєкту призведе до переміщення всіх пов'язаних із ним задач до стовпчика за замовчуванням. Продовжити?
issues.edit.already_changed = Не вдається зберегти зміни. Схоже, що хтось інший уже змінив вміст задачі. Оновіть сторінку і спробуйте відредагувати ще раз, щоб уникнути перезапису чужих змін
issues.label_templates.fail_to_load_file = Не вдалося завантажити файл шаблону міток «%s»: %v
issues.reaction.add = Додати реакцію
issues.reaction.alt_many = %[1]s і ще %[2]d реагують %[3]s.
issues.reaction.alt_remove = Прибрати реакцію %[1] з коментаря.
issues.reaction.alt_add = Додати реакцію %[1]s до коментаря.
issues.archived_label_description = (Архівна) %s
issues.delete.text = Ви дійсно хочете видалити цю задачу? (Весь її вміст буде остаточно видалено. Можливо, варто її закрити і зберегти в архіві)
pulls.edit.already_changed = Не вдається зберегти зміни. Схоже, що хтось інший уже змінив вміст запиту на злиття. Оновіть сторінку і спробуйте відредагувати ще раз, щоб уникнути перезапису чужих змін
pulls.allow_edits_from_maintainers = Дозволити редагування від супроводжувачів
pulls.showing_only_single_commit = Показано тільки зміни коміту %[1]s
pulls.showing_specified_commit_range = Показано тільки зміни між %[1]s..%[2]s
pulls.blocked_by_approvals = Цей запит на злиття ще не має достатньої кількості схвалень. Отримано %d з %d схвалень.
pulls.blocked_by_rejection = Цей запит на злиття містить зміни, запропоновані офіційним рецензентом.
pulls.blocked_by_official_review_requests = Цей запит на злиття заблоковано, оскільки йому бракує схвалення від одного або кількох офіційних рецензентів.
pulls.blocked_by_outdated_branch = Цей запит на злиття заблоковано, оскільки він застарів.
pulls.blocked_by_changed_protected_files_1 = Цей запит на злиття заблоковано, оскільки він змінює захищений файл:
pulls.blocked_by_changed_protected_files_n = Цей запит на злиття заблоковано, оскільки він змінює захищені файли:
pulls.auto_merge_newly_scheduled = Заплановано об'єднати запит на злиття після успішного завершення всіх перевірок.
pulls.auto_merge_has_pending_schedule = %[1]s планує автоматично об'єднати цей запит на злиття після успішного завершення всіх перевірок %[2]s.
pulls.auto_merge_newly_scheduled_comment = `планує автоматично об'єднати цей запит на злиття після успішного завершення всіх перевірок %[1]s`
pulls.auto_merge_canceled_schedule_comment = `скасовує автоматичне об'єднання цього запиту на злиття після успішного завершення всіх перевірок %[1]s`
pulls.delete.text = Ви дійсно хочете видалити цей запит на злиття? (Весь його вміст буде остаточно видалено. Можливо, варто його закрити і зберегти в архіві)
comments.edit.already_changed = Не вдається зберегти зміни. Схоже, що хтось інший уже змінив вміст коментаря. Оновіть сторінку і спробуйте відредагувати ще раз, щоб уникнути перезапису чужих змін
signing.wont_sign.pubkey = Коміт не буде підписано, оскільки у вас немає публічного ключа, пов'язаного з вашим обліковим записом.
signing.wont_sign.twofa = Щоб підписувати коміти, у вас повинна бути ввімкнена двофакторна автентифікація.
signing.wont_sign.parentsigned = Цей коміт не буде підписано, оскільки не підписано батьківський коміт.
signing.wont_sign.basesigned = Злиття не буде підписано, оскільки не підписано базовий коміт.
signing.wont_sign.headsigned = Злиття не буде підписано, оскільки не підписано головний коміт.
signing.wont_sign.commitssigned = Злиття не буде підписано, оскільки всі пов'язані з ним коміти не підписані.
signing.wont_sign.approved = Злиття не буде підписано, оскільки запит на злиття не схвалено.
settings.mirror_settings.docs = Налаштуйте свій репозиторій на автоматичну синхронізацію комітів, тегів і гілок з іншим репозиторієм.
settings.mirror_settings.docs.disabled_pull_mirror.instructions = Налаштуйте свій проєкт на автоматичне надсилання комітів, тегів і гілок до іншого репозиторію. Pull-дзеркала вимкнено адміністратором сайту.
settings.mirror_settings.docs.disabled_push_mirror.instructions = Налаштуйте свій проєкт на автоматичне отримання комітів, тегів і гілок з іншого репозиторію.
settings.mirror_settings.docs.disabled_push_mirror.info = Push-дзеркала вимкнено адміністратором сайту.
settings.pulls.default_allow_edits_from_maintainers = За замовчуванням дозволити редагування від супроводжувачів
settings.authorization_header = Заголовок авторизації
settings.authorization_header_desc = За наявності буде включено як заголовок авторизації для запитів. Приклади: %s.
settings.ignore_stale_approvals = Ігнорувати застарілі схвалення
[graphs]
contributors.what = внески
component_loading_info = Це може зайняти деякий час…
@ -2799,6 +2959,9 @@ teams.write_access = Запис
teams.invite.by = Вас запрошує %s
teams.invite_team_member.list = Запрошення в очікуванні
form.name_pattern_not_allowed = Вираз «%s» не може бути частиною назви організації.
teams.add_nonexistent_repo = Репозиторій, який ви намагаєтеся додати, не існує. Спочатку створіть його.
[admin]
dashboard=Панель управління
users=Облікові записи користувачів
@ -2847,7 +3010,7 @@ dashboard.update_migration_poster_id=Оновити мігровані ID авт
dashboard.git_gc_repos=Виконати очистку сміття для всіх репозиторіїв
dashboard.resync_all_sshkeys=Оновити файл «.ssh/authorized_keys» з SSH-ключами Forgejo.
dashboard.resync_all_sshprincipals=Оновити файл «.ssh/authorized_principals» з SSH даними користувача Forgejo.
dashboard.resync_all_hooks=Пересинхронізувати перед-прийнятні, оновлюючі та пост-прийнятні хуки в усіх репозиторіях
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 таблицю
@ -2906,11 +3069,11 @@ users.edit_account=Редагувати обліковий запис
users.max_repo_creation=Максимальна кількість репозиторіїв
users.max_repo_creation_desc=(Введіть -1, щоб використовувати глобальний ліміт за замовчуванням.)
users.is_activated=Обліковий запис користувача увімкнено
users.prohibit_login=Вимкнути вхід
users.prohibit_login=Заблокований обліковий запис
users.is_admin=Обліковий запис адміністратора
users.is_restricted=Обмежений
users.allow_git_hook=Може створювати Git хуки
users.allow_git_hook_tooltip=Git хуки виконуються від імені користувача OS сервісу Forgejo і мають однаковий рівень доступу до хоста. Як результат, користувачі з доступом до Git-хуків можуть отримати доступ і змінювати всі репозиторії Forgejo, а також базу даних, що використовуються в Forgejo. Отже, вони також здатні отримати права адміністратора Forgejo.
users.allow_git_hook=Може створювати Git-хуки
users.allow_git_hook_tooltip=Git-хуки виконуються від імені користувача ОС, від якого запущено Forgejo, і мають той самий рівень доступу до хоста. Таким чином, користувачі зі спеціальними правами Git-хуків можуть отримати доступ і змінювати всі репозиторії Forgejo, а також базу даних Forgejo. Вони також здатні отримати права адміністратора Forgejo.
users.allow_import_local=Може імпортувати локальні репозиторії
users.allow_create_organization=Може створювати організації
users.update_profile=Оновити обліковий запис
@ -3051,7 +3214,7 @@ auths.sspi_default_language_helper=Типова мова для користув
auths.tips=Поради
auths.tips.oauth2.general=Автентифікація OAuth2
auths.tip.oauth2_provider=Постачальник OAuth2
auths.tip.bitbucket=Створіть OAuth URI на сторінці %s
auths.tip.bitbucket=Зареєструйте нового споживача OAuth на %s і додайте дозвіл «Обліковий запис» — «Читання»
auths.tip.nextcloud=`Зареєструйте нового споживача OAuth у вашому екземплярі за допомогою наступного меню "Налаштування -> Безпека -> клієнт OAuth 2.0"`
auths.tip.dropbox=Створіть новий додаток на %s
auths.tip.facebook=Зареєструйте новий додаток на %s і додайте модуль «Facebook Login»
@ -3059,12 +3222,12 @@ auths.tip.github=Зареєструйте новий додаток OAuth на %
auths.tip.gitlab=Додайте новий додаток на https://gitlab.com/profile/applications
auths.tip.google_plus=Отримайте облікові дані клієнта OAuth2 в консолі Google API на сторінці %s
auths.tip.openid_connect=Використовуйте OpenID Connect Discovery URL (<server>/.well-known/openid-configuration) для автоматичної настройки входу OAuth
auths.tip.twitter=Перейдіть на %s, створіть програму і переконайтеся, що включена опція «Дозволити цю програму для входу в систему за допомогою Twitter»
auths.tip.twitter=Перейдіть на %s, створіть програму і переконайтеся, що ввімкнено опцію «Дозволити використання цієї програми для входу через Twitter»
auths.tip.discord=Зареєструйте новий додаток на %s
auths.tip.yandex=Створіть новий додаток на %s. У розділі «Yandex.Passport API» виберіть такі дозволи: «Доступ до адреси електронної пошти», «Доступ до аватара» і «Доступ до імені користувача, імені та прізвища, статі»
auths.tip.mastodon=Введіть URL спеціального екземпляра для екземпляра mastodon, який ви хочете автентифікувати за допомогою (або використовувати за замовчуванням)
auths.edit=Редагувати джерело автентифікації
auths.activated=Це джерело авторизації активоване
auths.activated=Це джерело автентифікація активоване
auths.update_success=Параметри аутентифікації оновлені.
auths.update=Оновити джерело автентифікації
auths.delete=Видалити джерело автентифікації
@ -3090,7 +3253,7 @@ config.repo_root_path=Шлях до кореня репозиторію
config.lfs_root_path=Кореневий шлях LFS
config.log_file_root_path=Шлях до лог файлу
config.script_type=Тип скрипта
config.reverse_auth_user=Ім'я користувача для авторизації на reverse proxy
config.reverse_auth_user=Користувач для авторизації на зворотному проксі
config.ssh_config=Конфігурація SSH
config.ssh_enabled=Увімкнено
@ -3193,7 +3356,7 @@ config.git_gc_timeout=Тайм-аут операції збирача смітт
config.log_config=Конфігурація журналу
config.disabled_logger=Вимкнено
config.access_log_mode=Режим доступу до журналу
config.access_log_mode=Режим журналювання доступу
config.xorm_log_sql=Журнал SQL
@ -3250,13 +3413,13 @@ packages.package_manage_panel = Керування пакунками
packages.published = Опубліковано
notices.operations = Дії
packages.cleanup = Очистити недійсні дані
packages.cleanup.success = Успішно очищено недійсні дані
packages.cleanup.success = Недійсні дані успішно очищено
users.still_own_packages = Цей користувач досі володіє одним чи більше пакунками, спочатку видаліть ці пакунки.
users.purge_help = Примусово видалити користувача і будь-які репозиторії, організації та пакунки, якими він володіє. Всі коментарі та задачі, створені цим користувачем, також будуть видалені.
dashboard.cleanup_packages = Очистити непридатні пакунки
monitor.last_execution_result = Результат
repos.lfs_size = Розмір LFS
config.allow_dots_in_usernames = Дозволити використання крапки в іменах користувачів. Не впливає на існуючі облікові записи.
config.allow_dots_in_usernames = Дозволити використання крапки в іменах користувачів. Не впливає на облікові записи, що вже існують.
config.mailer_enable_helo = Увімкнути HELO
users.organization_creation.description = Дозволити створення нових організацій.
users.cannot_delete_self = Ви не можете видалити себе
@ -3305,8 +3468,29 @@ dashboard.cron.cancelled = Cron: %[1]s скасовано: %[3]s
defaulthooks.desc = Вебхуки автоматично сповіщають HTTP-сервер POST-запитами, коли в Forgejo відбуваються певні події. Вказані тут вебхуки є типовими і будуть скопійовані до всіх нових репозиторіїв. Докладніше — в <a target="_blank" rel="noopener" href="%s">посібнику з вебхуків</a>.
assets = Ресурси коду
auths.invalid_openIdConnectAutoDiscoveryURL = Неправильна URL-адреса автоматичного виявлення (повинна бути дійсна URL-адреса, що починається з http:// або https://)
settings = Налаштування адміністратора
dashboard.cancel_abandoned_jobs = Скасувати покинуті завдання дій
dashboard.start_schedule_tasks = Запустити заплановані завдання дій
config.logger_name_fmt = Журнал: %s
config.access_log_template = Шаблон журналу доступу
config.set_setting_failed = Не вдалося встановити параметр %s
monitor.download_diagnosis_report = Завантажити діагностичний звіт
dashboard.update_checker = Перевірка оновлень
auths.map_group_to_team_removal = Видаляти користувачів із синхронізованих команд, якщо користувачі не належать до відповідної групи LDAP
auths.enable_ldap_groups = Увімкнути групи LDAP
auths.oauth2_map_group_to_team_removal = Видаляти користувачів із синхронізованих команд, якщо користувачі не належать до відповідної групи.
config.mailer_smtp_addr = Адреса SMTP
auths.new_success = Метод автентифікації «%s» додано.
auths.unable_to_initialize_openid = Не вдалося ініціалізувати постачальника OpenID Connect: %s
config.cache_test = Перевірити кеш
config.cache_test_failed = Не вдалося перевірити кеш: %v.
config.cache_test_slow = Перевірку кешу завершено успішно, але відповідь повільна: %s.
config.cache_test_succeeded = Перевірку кешу завершено успішно, відповідь отримано через %s.
[action]
create_repo=створив(ла) репозиторій <a href="%s">%s</a>
rename_repo=репозиторій перейменовано з <code>%[1]s</code> на <a href="%[2]s">%[3]s</a>
@ -3409,7 +3593,7 @@ settings.delete.notice = Ви збираєтеся видалити %s (%s). Ц
details.author = Автор
title = Пакунки
arch.version.backup = Резервне копіювання
arch.version.conflicts = Суперечки
arch.version.conflicts = Конфлікти
arch.version.replaces = Заміни
arch.version.provides = Надає
arch.version.groups = Група
@ -3526,6 +3710,16 @@ npm.registry = Налаштуйте цей реєстр у файлі <code>.npm
chef.registry = Налаштуйте цей реєстр у файлі <code>~/.chef/config.rb</code>:
owner.settings.chef.keypair.description = Запити до реєстру Chef повинні бути криптографічно підписані як засіб автентифікації. При генерації пари ключів на Forgejo зберігається тільки публічний ключ. Приватний ключ надається вам для використання команд knife. Генерація нової пари ключів замінить попередню.
nuget.dependency.framework = Цільовий фреймворк
owner.settings.cleanuprules.preview.overview = Заплановано видалити %d пакунків.
arch.pacman.repo.multi = %s має одну й ту саму версію в різних дистрибутивах.
maven.install2 = Запустити з командного рядка:
maven.download = Щоб завантажити залежність, запустіть із командного рядка:
npm.dependencies.bundle = Пакетні залежності
npm.dependencies.peer = Однорангові залежності
owner.settings.cleanuprules.pattern_full_match = Застосувати шаблон до повної назви пакунка
[secrets]
deletion = Видалити секрет
creation.success = Секрет «%s» додано.
@ -3578,7 +3772,7 @@ variables.management = Керування змінними
variables.id_not_exist = Змінної з ідентифікатором %d не існує.
variables.edit = Редагувати змінну
runs.expire_log_message = Журнали очищено, тому що вони були занадто старі.
runs.empty_commit_message = (порожнє повідомлення коміта)
runs.empty_commit_message = (порожнє повідомлення коміту)
runners.status.unspecified = Невідомо
runs.status_no_select = Усі стани
runs.status = Стан
@ -3632,6 +3826,11 @@ runners.status.idle = Простоює
runs.invalid_workflow_helper = Недійсний файл конфігурації робочого потоку. Будь ласка, перевірте файл конфігурації: %s
runs.no_job_without_needs = Робочий потік повинен містити принаймні одне завдання без залежностей.
runs.no_job = Робочий потік повинен містити принаймні одне завдання
workflow.dispatch.use_from = Використати робочий потік із
[projects]
type-3.display_name = Проєкт організації
type-2.display_name = Проєкт репозиторію
@ -3640,7 +3839,7 @@ deleted.display_name = Видалений проєкт
[git.filemode]
symbolic_link=Символічне посилання
directory = Тека
directory = Каталог
submodule = Підмодуль
normal_file = Звичайний файл
executable_file = Виконуваний файл
@ -3697,6 +3896,8 @@ issues.read = <b>Читати:</b> дивитись і створювати за
wiki.read = <b>Читати:</b> переглядати вбудовану вікі та її історію.
actions.write = <b>Писати:</b> вручну запускати, перезапускати, скасовувати або схвалювати конвеєри CI/CD в очікуванні.
projects.write = <b>Писати:</b> створювати проєкти і стовпчики та редагувати їх.
[munits.data]
pib = ПіБ
eib = ЕіБ

View file

@ -70,7 +70,7 @@ your_starred=点赞
your_settings=设置
all=所有
sources=来源
sources=原创
mirrors=镜像
collaborative=协作
forks=派生
@ -171,7 +171,7 @@ copy_path = 复制路径
[aria]
navbar=导航栏
footer=页脚
footer.software=关于软件
footer.software=关于软件
footer.links=链接
[heatmap]
@ -1062,8 +1062,8 @@ language.description = 此语言将保存到您的账号中,并在您登录后
language.localization_project = 帮助我们将 Forgejo 翻译成您的语言!<a href="%s">了解更多</a>。
user_block_yourself = 您不能屏蔽自己。
pronouns_custom_label = 自定义代词
change_username_redirect_prompt.with_cooldown.one = 的用户名将在%[1]d天的保护期后对所有人可用您仍可以在此期间重新认领旧的用户名。
change_username_redirect_prompt.with_cooldown.few = 用户名将在%[1]d天的保护期后对所有人可用您仍可以在此期间重新认领旧用户名。
change_username_redirect_prompt.with_cooldown.one = 用户名将在 %[1]d 天的保护期后对所有人可用。您仍可以在此期间重新认领旧用户名。
change_username_redirect_prompt.with_cooldown.few = 用户名将在 %[1]d 天的保护期后对所有人可用,您仍可以在此期间重新认领旧用户名。
keep_pronouns_private = 仅向已认证用户显示代词
keep_pronouns_private.description = 这将对未登录的访问者隐藏您的代词。
quota = 配额
@ -1581,7 +1581,7 @@ issues.remove_ref_at=`删除了引用 <b>%s</b> %s`
issues.add_ref_at=`添加了引用 <b>%s</b> %s`
issues.delete_branch_at=`于 %[2]s 删除了分支 <b>%[1]s</b>`
issues.filter_label=标签筛选
issues.filter_label_exclude=`使用 <code>alt</code> + <code>鼠标左键 / 回车</code> 排除标签`
issues.filter_label_exclude=使用 <kbd>Alt</kbd> + <kbd>单击</kbd> 排除标签
issues.filter_label_no_select=所有标签
issues.filter_label_select_no_label=无标签
issues.filter_milestone=里程碑筛选
@ -1655,13 +1655,13 @@ issues.close_comment_issue=评论并关闭
issues.reopen_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 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.closed_at=`于 %s 关闭了此议题`
issues.reopened_at=`于 %s 重新打开了此议题`
issues.commit_ref_at=`于 %s 从提交中引用了此议题`
issues.ref_issue_from=`<a href="%[2]s">引用了此议题 %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">引用了此合并请求 %[3]s</a> %[1]s`
issues.ref_closing_from=`于 %[1]s <a href="%[2]s">从合并请求 %[3]s 引用了此议题,将关闭此议题</a>`
issues.ref_reopening_from=`于 %[1]s <a href="%[2]s">从合并请求 %[3]s 引用了此议题,将重新打开此议题</a> `
issues.ref_closed_from=`<a href="%[3]s">关闭了这个议题 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">重新打开这个议题 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`来自 %[1]s`
@ -1969,8 +1969,8 @@ pulls.update_branch_success=分支更新成功
pulls.update_not_allowed=您无权更新分支
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.closed_at=`于 %s 关闭了此合并请求 `
pulls.reopened_at=`于 %s 重新打开此合并请求`
pulls.cmd_instruction_hint=查看命令行说明
pulls.cmd_instruction_checkout_title=检出
pulls.cmd_instruction_checkout_desc=从你的仓库中检出一个新的分支并测试变更。
@ -2770,7 +2770,7 @@ settings.wiki_rename_branch_main = 标准化百科分支名称
settings.wiki_rename_branch_main_notices_1 = 此操作<strong>无法</strong>撤消。
settings.wiki_branch_rename_success = 百科仓库的分支名称已成功规范化。
settings.confirm_wiki_branch_rename = 重命名百科分支
pulls.commit_ref_at = `在提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 中引用了此合并请求`
pulls.commit_ref_at = `于 %s 从提交中引用了此合并请求`
settings.wiki_rename_branch_main_notices_2 = 这将永久重命名 %s 的仓库百科的内部分支。现存的检出方式需要更新。
settings.wiki_branch_rename_failure = 无法标准化仓库百科的分支名称。
settings.add_collaborator_blocked_our = 因仓库所有者已将其拉黑,不能添加该用户为协作者。
@ -2922,6 +2922,7 @@ settings.event_action_success = 成功
settings.event_action_success_desc = Action运行以成功结束。
settings.event_action_failure_desc = Action运行以失败结束。
settings.event_header_action = Action运行事件
issues.filter_type.all_pull_requests = 所有合并请求
[graphs]
component_loading=正在加载 %s…
@ -3057,8 +3058,8 @@ teams.invite.by=邀请人 %s
teams.invite.description=请点击下面的按钮加入团队。
follow_blocked_user = 你无法关注此组织,因为此组织已屏蔽你。
open_dashboard = 打开仪表盘
settings.change_orgname_redirect_prompt.with_cooldown.one = 组织名将在%[1]d天的保护期后对所有人可用您仍可以在此期间重新认领旧的名字
settings.change_orgname_redirect_prompt.with_cooldown.few = 组织名将在%[1]d天的保护期后对所有人可用您仍可以在此期间重新认领旧名
settings.change_orgname_redirect_prompt.with_cooldown.one = 组织名将在 %[1]d 天的保护期后对所有人可用,您仍可以在此期间重新认领旧名称
settings.change_orgname_redirect_prompt.with_cooldown.few = 组织名将在 %[1]d 天的保护期后对所有人可用,您仍可以在此期间重新认领旧名
[admin]
dashboard=管理面板

View file

@ -574,7 +574,7 @@ issues.delete_comment_confirm=您確定要刪除該條評論嗎?
issues.context.edit=編輯
issues.reopen_issue=重新開啟
issues.create_comment=評論
issues.commit_ref_at=`在代碼提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 中引用了該問題`
issues.commit_ref_at=`在代碼提交 %s 中引用了該問題`
issues.role.owner=管理員
issues.role.member=普通成員
issues.sign_in_require_desc=<a href="%s"> 登入</a> 才能加入這對話。

View file

@ -1062,7 +1062,7 @@ language.localization_project = 幫助我們翻譯 Forgejo 至您的語言!<a
language.description = 這個語言會被儲存至您的帳號,並被用作您登入後的預設語言。
user_block_yourself = 你不能封鎖自己。
pronouns_custom_label = 自訂代名詞
change_username_redirect_prompt.with_cooldown.one = 舊的使用者名稱將在 %[1]d 天的冷卻期後對所有人開放你仍然可以在冷卻期內重新獲得舊的使用者名稱。
change_username_redirect_prompt.with_cooldown.one = 舊的使用者名稱將在 %[1]d 天的冷卻期後對所有人開放你仍然可以在冷卻期內重新獲得舊的使用者名稱。
change_username_redirect_prompt.with_cooldown.few = 舊的使用者名稱將在 %[1]d 天的冷卻期後對所有人開放,你仍然可以在冷卻期內重新獲得舊的使用者名稱。
keep_activity_private.description = 你的<a href="%s">公開活動</a>只有你和站點管理員可見。
quota.rule.exceeded = 已超出
@ -1604,13 +1604,13 @@ issues.close_comment_issue=留言並關閉
issues.reopen_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 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 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.closed_at=`關閉了這個問題 %s`
issues.reopened_at=`重新開放了這個問題 %s`
issues.commit_ref_at=`在提交中關聯了這個問題 %s`
issues.ref_issue_from=`<a href="%[2]s">關聯了這個問題 %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[2]s">關聯了這個合併請求 %[3]s</a> %[1]s`
issues.ref_closing_from=<a href="%[2]s">從將關閉此問題的拉取請求 %[3]s 中提及了此問題</a>%[1]s
issues.ref_reopening_from=<a href="%[2]s">從將重新開啟此問題的拉取請求 %[3]s 中提及了此問題</a>%[1]s
issues.ref_closed_from=`<a href="%[3]s">關閉了這個問題 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">重新開放了這個問題 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`自 %[1]s`
@ -1879,8 +1879,8 @@ pulls.update_branch_success=分支更新成功
pulls.update_not_allowed=您無權更新分支
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.closed_at=`關閉了這個合併請求 %s`
pulls.reopened_at=`重新開放了這個合併請求 %s`
pulls.clear_merge_message=清除合併訊息
pulls.clear_merge_message_hint=清除合併訊息將僅移除提交訊息內容,留下產生的 git 結尾如「Co-Authored-By …」。
@ -2634,7 +2634,7 @@ commits.search_branch = 此分支
commits.browse_further = 進一步瀏覽
commits.renamed_from = 自 %s 重新命名
issues.filter_milestone_none = 沒有里程碑
issues.num_comments_1 = %s 則留言
issues.num_comments_1 = %d 則留言
issues.no_content = 沒有提供敘述。
settings.new_owner_blocked_doer = 新的所有者已封鎖您。
new_repo_helper = 一個儲存庫包含專案的所有檔案和它們的修訂歷史。在別處已經有儲存庫了嗎?<a href="%s">遷移儲存庫</a>。
@ -2693,7 +2693,7 @@ signing.wont_sign.never = 永不簽署提交。
editor.push_out_of_date = 該推送似乎過期了。
issues.cancel_tracking_history = `已取消時間追蹤 %s`
issues.due_date_not_writer = 您需要有寫入這個儲存庫的權限才能更新其問題的到期日。
pulls.commit_ref_at = `在提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 引用了這個合併請求`
pulls.commit_ref_at = `在提交 %s 引用了這個合併請求`
pulls.cmd_instruction_checkout_desc = 從您的專案儲存庫中,建立並切換到一個新分支以測試這些變更。
pulls.cmd_instruction_merge_title = 合併
pulls.ready_for_review = 可以開始審閱了嗎?

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